Подскажите пожалуйста . почему горят ULN 2003 ? Ситуация такая . Подключаю ШД: к этому драйверу , далее 5 вольт от компьютерного блока питания или от зарядника для телефона , ну и к ардуинке UNO-R3 .Сам двигатель подключаю по вот этой схеме: Долго работать ULN работать не может , сильно греется и даже горит. А когда подаю 12вольт с неснятым джампером 10секунд и всё. если же джампер снятый то как буд-то нет питание на плате и двигатель молчит, ставишь джампер 10сек и микруху надо менять. И непонятно для чего этот джамп нужен. А 12вольт подаю для усиления крутящего момента и большей скорости. Скеч такой : Код (Text): #define IN1 8 #define IN2 9 #define IN3 10 #define IN4 11 int Steps = 0; boolean Direction = true; unsigned long last_time; unsigned long currentMillis ; int steps_left=4095; long time; void setup() { Serial.begin(115200); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); // delay(1000); } void loop() { while(steps_left>0){ currentMillis = micros(); if(currentMillis-last_time>=1000){ stepper(1); time=time+micros()-last_time; last_time=micros(); steps_left--; } } Serial.println(time); Serial.println("Wait...!"); delay(2000); Direction=!Direction; steps_left=4095; } void stepper(int xw){ for (int x=0;x<xw;x++){ switch(Steps){ case 0: digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); break; case 1: digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, HIGH); digitalWrite(IN4, HIGH); break; case 2: digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); break; case 3: digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); break; case 4: digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); break; case 5: digitalWrite(IN1, HIGH); digitalWrite(IN2, HIGH); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); break; case 6: digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); break; case 7: digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); break; default: digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); break; } SetDirection(); } } void SetDirection(){ if(Direction==1){ Steps++;} if(Direction==0){ Steps--; } if(Steps>7){Steps=0;} if(Steps<0){Steps=7; } } Подскажите, что я делаю не правильно ?или где ошибаюсь.
для начала почитайте даташит на улн и шаговик - какой ток кушает двигатель и какой ток может пропустить улн
Step motors EM-61. Шаговый двигатель Stepper NO T3913 Seiko Epson Кол-во выводов: 6, шаг: 1,8 гр, сопротивление: 2,8Ом. длина вала: 9мм, размер,ШхВхГ: 61,5x59x57мм,
Ну вот, при 12V один только номинальный ток 4.3A, не говоря уже о пиковом, а ULN2003 может выдать всего 500mA на выход и не более 2.5A спустить в землю. Это предельные параметры, эксплуатировать при которых микросхему уже небезопасно. Вы на бедную ULN-ку повесили неподъемного слона, естественно она под ним будет дохнуть.