My Seeeduino XIAO is driving a stepper motor using TMC2209 in step-direction mode.
The power arrangements are:
- External power supply of 12V feeds, through protection serial diode, the TMC2209 VM inputs and an on-board DC/DC converter that generates 5V.
- The 5V feeds the Seeeduino, TMC2209 and some other components
- The Seeduino generates 3.3V, that feeds some pull-up resistors with less than 10mA.
- All the power sources are DC coupled and havew common ground.
- The Seeeduino may also be connected to a PC through USB port for debugging.
- Both the 5V and the 3.3V lines are filtered with electrolytic capacitors.
- Edit: The strapping pins (D0, D8, D9) are connected to pull-up resistors.
I tested the various voltages:
- With the 12V source on and USB connected
- With the 12V source on and USB disconnected
- With the 12V source off and USB connected
I measured the voltages related to the external 12V return line and related to the Seeeduino GND pin. In all the cases all on-board voltages were within the tolerances (3.2V, 5.1V).
I downloaded the application - the motor cycled quitely to the correct direction, as expected. I noticed thet the 12V PSU may be on or off - the motor keep turning. I measured VM and found that when I switch the 12V off the VM drops to 4.9V. I am learning from this that the DC/DC feeds back the USB voltage. The protection diode protects the circuit from driving the external input line so I am OK with it.
However:
- If I disconnect the USB the motor stops. The application will run again only if I close the IDE, disconnect the USB, shut down the 12V supply, then run the IDE, connect the USB, then compiles the sketch, upload it to the Seeduino and run it.
- Furthermore, it looks like the Seeeduino doesn’t keep the sketch.
Did anyone meet such phenomena? Since I experienced unsolved issues also with the ESP32 studio I reconsider using the Seeed products.
Regards
Yona