I was able to get very quiet operation driving this motor:
with the TMC2100 driver in StealthChop mode. The problem is when I startup or shut it down, I sometimes fry the chip.
Here is my connection:
Do you see anything wrong with my connection? Should there be a capacitor between VM and GND? Should there be pull down resistors connecting the CFG1-3 pins to GND?
Based on my learning so far, I was told that:
VM should be much higher than the rated voltage of the motor in order to ensure quiet operation, due to the way the driver works. Something to do with "clipping" the sinusoid. I have a 9V battery shown but I think in my original trial I used a 18V source.
One should not disconnect the motor from the motor pins when the motor is spinning.
One should not disconnect VM when the motor is spinning. (due to back emf that'll damage IC)
You need to pull EN to VIO which will disable the driver completely. Even with no STEP/DIR signal applied, the driver is still providing standby current.
VIO must be high while EN is high.
I wasn't using the EN pin during my trial, which is probably why I fried the chip. I just want some guidance on the proper way to start up and shut down this setup without frying the chip. Obviously, just putting a switch between the battery to the Arduino or the driver is not going to cut it.
I do prefer to power the motor and the Arduino from a single power source.
Thanks
I measured the 5V from the Arduino relative to GND, and only got like 3.8 V. Not sure if this is due to the fact I didn't measure it at the pins, but at the end of 2 wires connected to the pins...
Does the digital output of the Arduino on all pins have the same voltage as the 5V?
I missed the 9 volt battery. Is it possibly a PP3 fire alarm battery? If it is, just put it back into the fire alarm.
You might try using 6 x AAA cells.
Can you give a link to your TMC2100 breakout Board?
Usually the 5V pin of the Board is an output, because the TMC2100 doesn't need a 5V input. It creates its logic voltage from VM internally. If so, you must not connect the Arduino 5V pin to the TMC2100 5V pin because both are outputs ( you power the Arduino from Vin ).
Here's an updated drawing of my proposed connection. I might go with a different battery. But I added a capacitor between VM and GND. I also added a switch to a pin on the Arduino (D4). The idea is that when I want to shut it off, I toggle the switch to flip D4, then the Arduino will write HIGH to EN, which will disable the motor and put it into free spin. Then, after a sec or two when the motor is stopped, I can then disconnect the power source to both the Arduino and the motor.
I feel that extra switch is necessary because if you turn off the power to either to the Arduino or the board (VM) or both while the motor is still spinning, the back emf will damage things.
That should be OK. Vio is not connected to the 5V output of the TMC. The capacitor as close as possible to VM/Gnd is mandatory ( a power switch must not switch off the capacitor/driver connection ). Do you still have problems with your circuit?
Switching off the power completely isn't a problem. But if the connection between the driver and the motor is not solid and there may be unsafe contacts, the driver can be destroyed.
I haven't tested the circuit yet as I want to make sure it's done properly before I fry anymore chips.
In my drawing, I have the 5v from the Arduino hooked up to VIO. But I have D1 from the Arduino going to EN.
Does the voltage at EN need to be exactly equal to VIO when pulled HIGH? In other words, do I need to connect EN to 5v pin of the Arduino (or VIO itself) when I want to set EN high (via switch and pull up resistors)?