I am trying to build a board from scratch, I think I did everything correctly with the connections and declarations, but when it comes to launching the command
The motor runs when I do not use the uart connection, but I am interested in using it in uart mode
MANUAL_STEPPER STEPPER=my_stepper MOVE=10 SPEED=5
it gives me an error…
I will continue looking for information but for now I will leave this here
If you go through the discussion last week regarding how to connect the UART of the TMC2209, you’ll see that only one wire is required to communicate with the chip or TWO wires if there is a 1k resistor between them.
Looking at the images above, your wiring doesn’t follow either of those schemes - I’m not surprised as you left the conversation with a statement that gave me feeling that you didn’t understand what had been discussed.
Can I suggest that you comment out the “tx_pin:” line of your printer.cfg and go with one wire connected to pin 4 (“TX”) on the TMC2209 module. You might also want to add “uart_address: 0” to the “[tmc2209 manual_stepper my_stepper]” statement in your printer.cfg.
All your “MS#” pins (these are pins 2 & 3 of the TMC2209 module) should NOT BE DRIVEN in any way. They have internal pull downs and will give you the default UART address 0. Now, I don’t know what is the stepper module carrier board you’re using, but I would suggest that you start with the two switches “off”.
Your graphic drawing of your circuit is basically illegible and I can’t find the stepper module carrier that you are using with a simple Google search. Could you provide a higher resolution drawing where all the labeling is legible along with a link to the board’s information and schematic?
That’s great news you seem to be communicating with the chip.
I couldn’t find any schematics for the Maecoom expansion board you’re using - it also seems to go by the name “RepRap A4988 Expansion Board” and the last time anybody referenced it was in 2017. If things are talking and moving then I guess you have it set up right.
Now, as for the only moves once but if you go negative, I think that has to do with your endstop. I don’t know what the RP2040 reads as a pulled up pin but I believe it may be fooled into believing that the endstop is active so it will only go in one direction.
Try removing the “!” in front of the “pgio10” in your “dir_pin:” line in printer.cfg to see what happens - I think in this case the motor will only move in the other direction. If that happens then Put a “^” character in fron of the “!gpio6” in your “endstop_pin;” line.
Let’s see what happens here.
Again, great news that you can write/read the TMC2209 and you can move the motor.
Being declared as a manual motor it does not need an endstop, the problem with this is that the minimum and maximum position options are not available either… so I don’t know how to declare the maximum distance it can travel… I think what is What happens is that when you give MOVE a value it takes that as the maximum and the first time it moves but after that it will no longer move more than that, and it can only go back…
that is to say, you can only use this command once
In that case, you’re going to have to first set up your RP2040 board and Maecoom as a secondary controller to your printer (connected to the host using USB).
Next, you should do a Google search on “Klipper Belt Printer” and see what other people have done, like:
It is not the same since my delta does not print at 45% like this example, that is why I need to add one more motor for the Belt and move it indefinitely.
but the example is appreciated
The MANUAL_STEPPER MOVE=<pos> command does not take a distance - it takes an absolute position. So, if you want to move it a 100mm (MANUAL_STEPPER STEPPER=my_stepper MOVE=100 SPEED=50) and then move it another 100mm you would issue MANUAL_STEPPER STEPPER=my_stepper MOVE=200 SPEED=50).