I am trying to control 3 bipolar stepper motors (2.1VDC, 1A/phase, 2.1Ω but 2.5Ω measured with a cheap multimeter) using driver boards I had on hand - Stepper 2 Click (A4988 IC) and a 12V, 6.67A, 80W power supply. Arduino Due supplies logic voltage to the driver board (3.3V) and controls logic inputs. Code for testing the whole thing is simple - LOW on EN and DIR pins. Change LOW to HIGH every 40miliseconds on ST pin. The SL and RST pins shorted together. Longer delays on the ST pulses were causing the stepper to whine loudly and not move at all (never kept it going for more than a couple seconds that way).
So far I tried running one motor at the time and managed to burn the driver board - it worked fine for about 4 seconds before stopping. The A4988 IC heated up quickly, no external damage was visible, the power diode became dim, the logic voltage dropped from 3.3V to <2V and it heats up quickly when powered with logic voltage only (considering it broken).
Driver board rated voltage is 8-35V and the rated current is ±2A. It does not have a manual way of limiting current, as far as I understand. I measured the current going from the board to the motor coil at some point and it was roughly 1A. I have checked the wiring between the driver board and the motor (for testing, these are connected with M-F crimped terminal contacts) and besides, it ran fine for these few seconds, so reversed phases are unlikely.
After a bit of research, I came across potential issues with my setup:
Disclaimer: I am fairly new to electronics and it's not my scientific background - more of a new hobby, so I lack advanced equipment.
Code:
int directionpin = 2;
int steppin = 3;
int enablepin = 4;
void setup() {
Serial.begin(9600);
Serial.println("Setup");
pinMode(directionpin, OUTPUT);
pinMode(steppin, OUTPUT);
pinMode(enablepin, OUTPUT);
digitalWrite(enablepin, LOW);
}
void loop() {
digitalWrite(directionpin, LOW);
for (byte i = 0; i < 100; i++) {
digitalWrite(steppin, LOW);
delay(20);
digitalWrite(steppin, HIGH);
delay(20);
Serial.println("Step!");
}
Serial.println("100 steps");
}
So far I tried running one motor at the time and managed to burn the driver board - it worked fine for about 4 seconds before stopping. The A4988 IC heated up quickly, no external damage was visible, the power diode became dim, the logic voltage dropped from 3.3V to <2V and it heats up quickly when powered with logic voltage only (considering it broken).
Driver board rated voltage is 8-35V and the rated current is ±2A. It does not have a manual way of limiting current, as far as I understand. I measured the current going from the board to the motor coil at some point and it was roughly 1A. I have checked the wiring between the driver board and the motor (for testing, these are connected with M-F crimped terminal contacts) and besides, it ran fine for these few seconds, so reversed phases are unlikely.
After a bit of research, I came across potential issues with my setup:
- Did not have any capacitors on the 12V input to the driver board (I could salvage 2x 25V/220uF electrolytic or 2x 102/2kV or 1x 630V/273J ceramic from a scrap board).
- Did not have neutral wires connected together for a reference.
- Did not have a heatsink on the IC chip (did not see manufacturer advise that at any point).
- My understanding of current requirements for stepper motors is borked.
Disclaimer: I am fairly new to electronics and it's not my scientific background - more of a new hobby, so I lack advanced equipment.