Sammy C21 and servo control
-
@joergs5 Yes, I've come to that conclusion also. But I need to understand why it's not working correctly right now before I make any further changes.
The board is simply a Duet adaptation of the Klipper based ERCF Easy brd (multifilament filament feeder) and there they are using a Seeeduino XIAO which has as I understand it a SAMD18G. They are feeding this micro servo 3.3V signal and it seems to work reliably.
My board has a separate 5V voltage converter.
Now, the main culprit here seems to be my pullup for the driver UARTs (4K7 to 3.3V) and when that's used the servo signal isn't working anymore. I've added a 100nF decoupler but that doesn't help. If I add another pullup to the servo signal line then it works, but jittery.
Unfortunately the TMC2209 step sticks has a 10K pulldown on the UART pin.
-
@gixxerfast I am confused what you are using and at which pins.
Especially "Unfortunately the TMC2209 step sticks has a 10K pulldown on the UART pin." => do you use the uart pins of the ERCF??I would check that
- all ground are connected, so the signal is well defined
- the jittery line doesn't have other signals on the line
- current is enough
- no flow back from 5V to 3.3V
The L7805 in the schema is 5 V. => the servo connector is 5V in the schema. Did you use this connection J1 ?
-
@joergs5 said in Sammy C21 and servo control:
@gixxerfast I am confused what you are using and at which pins.
Especially "Unfortunately the TMC2209 step sticks has a 10K pulldown on the UART pin." => do you use the uart pins of the ERCF??I would check that
- all ground are connected, so the signal is well defined
- the jittery line doesn't have other signals on the line
- current is enough
- no flow back from 5V to 3.3V
Yes, I use UART to communicate with the "smart drivers" TMC2209. That connects from TX (PA22) & RX (PA20) of the SAMC21G to pin 14 on the BTT TMC2209 step stick. There they have added a 20K pulldown instead of what Duet uses a pullup. So I got the advice from DC42 to try a 4.7K pullup to counter the effect of that.
My board uses a LMP78 1.5A 5V that's used to power the Sammy C21 and to power out to the Servo
-
@gixxerfast said in Sammy C21 and servo control:
The board is simply a Duet adaptation of the Klipper based ERCF Easy brd (multifilament filament feeder) and there they are using a Seeeduino XIAO which has as I understand it a SAMD18G. They are feeding this micro servo 3.3V signal and it seems to work reliably.
My statement was about this sentence. I think the ERCF is using 5 V for the servo and this is the reason why it works:
The SERVO gets 5V from DCDC-5V L7805, and the signal from the Seeeduino.
-
@gixxerfast said in Sammy C21 and servo control:
My board uses a LMP78 1.5A 5V that's used to power the Sammy C21 and to power out to the Servo
This is what I don't understand: where is the servo connected and how is it related to the UART of the TMC2209?
-
@joergs5 Which is what I wrote above :
My board uses a LMP78 1.5A 5V that's used to power the Sammy C21 and to power out to the Servo
The signal comes form the Sammy.
-
@joergs5 said in Sammy C21 and servo control:
and how is it related to the UART of the TMC2209?
This is the main question. They should not be related IMO, but they are. The need to pull upp the signal for the driver UART somehow disturbs the Servo signal from PA04.
Now when I have removed the pulldown on the step stick and also then the pullup on the UART line, the Servo can be controlled nicely. However I still don't understand how this is related to each other.
-
@gixxerfast one possibility how they could be related is that the current in total is too high. (And if it's too high, there is also a risk for damage). Can you measure the currents?
-
@joergs5 No I can't. I have simulated it in ltspice, but that's a very simplified model, and there the currents are very low. Though I don't know how the TMC2209 behaves.
I should have about 250mA to play with and I'm thinking that if the Seeeduino XIAO can handle it, then the Sammy C21 should also. The Seeeduino 3.3V LDO can only deliver a max of 200mA and then it has to power the SAMD18G as well.
-
@gixxerfast I just checked how much the SG90 draws, in stall maximum 0.7 A *), so in total with the other components maybe 1.5 A is not enough.
*) according to https://protosupplies.com/product/servo-motor-micro-mg90s/
-
@joergs5 No I don't think so, it should be quite enough. It's not like I'm stalling the Servo yet anyway.
I'll just leave it for a while again.
-
@gixxerfast good luck, I hope you find the reason. I have the Sammy-C21 also, but have to install the firmware first.