Ребят... Уже из сил выбился... Подскажите, где я дэбил? Спойлер: Код Код (C++): int firstCoilMinus = 6; // 6 пин, минус первой катушки, так же плюс второй int secondCoilMinus = 7; //7 пни, минус второй катушки, плюс третьей int thirdCoilMinus = 8; // 8 пин, минус третьей катушки, плюс первой int firstCoilPlus = 9; // 9 пин, плюс первой катушки, минус третьей int secondCoilPlus = 10; // 10 пин, плюс второй катушки, минус первой int thirdCoilPlus = 11; //11 пин, плюс третьей катушки, минус второй int indicationLedPin = 13; // 13 пин, светодиод-индикатор int revolutionSpeed = 1; // коэффициент скорости int delayTime = 500; // время задержки int delayTimeSkvazhnost = 0; void setup() { pinMode(indicationLedPin, OUTPUT); // говорим контроллеры, то все пины работаю в качестве ВЫХОДА pinMode(firstCoilMinus, OUTPUT); pinMode(firstCoilPlus, OUTPUT); pinMode(secondCoilMinus, OUTPUT); pinMode(secondCoilPlus, OUTPUT); pinMode(thirdCoilMinus, OUTPUT); pinMode(thirdCoilPlus, OUTPUT); } // функция открытия транзистора на вход первой катушки, и открытия транзистора на выход первой катушки void firstCoilFunction () { digitalWrite(firstCoilMinus, LOW); digitalWrite(secondCoilPlus, LOW); digitalWrite(thirdCoilMinus, LOW); digitalWrite(thirdCoilPlus, LOW); digitalWrite(firstCoilPlus, HIGH); digitalWrite(secondCoilMinus, HIGH); delay(delayTime / revolutionSpeed); } // функция открытия транзистора на вход второй катушки, и открытия транзистора на выход второй катушки void secondCoilFunction () { digitalWrite(firstCoilPlus, LOW); digitalWrite(firstCoilMinus, LOW); digitalWrite(secondCoilMinus, LOW); digitalWrite(thirdCoilPlus, LOW); digitalWrite(secondCoilPlus, HIGH); digitalWrite(thirdCoilMinus, HIGH); delay(delayTime / revolutionSpeed); } // функция открытия транзистора на вход третьей катушки, и открытия транзистора на выход третьей катушки void thirdCoilFunction () { digitalWrite(firstCoilPlus, LOW); digitalWrite(secondCoilPlus, LOW); digitalWrite(secondCoilMinus, LOW); digitalWrite(thirdCoilMinus, LOW); digitalWrite(thirdCoilPlus, HIGH); digitalWrite(firstCoilMinus, HIGH); delay(delayTime / revolutionSpeed); } void allStop () { digitalWrite(firstCoilMinus, LOW); digitalWrite(firstCoilPlus, LOW); digitalWrite(secondCoilMinus, LOW); digitalWrite(secondCoilPlus, LOW); digitalWrite(thirdCoilMinus, LOW); digitalWrite(thirdCoilPlus, LOW); delay(delayTimeSkvazhnost); } //запуск основного цикла и вызов по очереди 1, 2 и 3 функции void loop() { firstCoilFunction (); allStop (); secondCoilFunction (); allStop (); thirdCoilFunction (); allStop (); } Транзисторы IRFZ44N. Фото конструкции тут: http://prntscr.com/8vvcjl http://prntscr.com/8vvcpv Схема включения самая простая: http://sub.chipdoc.ru/im/doc/micros/avr/avr495/fig4_1.gif Ребят, я уже не могу... Где косяк? Почему моторчик не крутится нормально? Ощущения, что его постоянно тормозит что-то. Светодиоды подключил в параллель транзисторам, чтобы видеть как все работает, так там вообще какое-то хаотичное еле заметное мигание... Где я шланг, о Великие?
а вон у вас осиллограф на заднем плане - им нельзя воспользоваться? включите медленную скорость, типа шаг за несколько секунд, и посмотрите что за чем следует, можно и без осциллографа.
Благодарю за ответ! Снял видео, чтобы не быть голословным. https://dropmefiles.com/xSaGC Самое интересное, что по отдельности каскады работают правильно! Транзисторы проверял, все целые. Даже менял несколько раз, ибо много их у меня. Осцилограф подключил, но у меня только 1 щуп..( Решение на поверхности где-то... Чего-то ведь простого не понимаю....
а вы подключите светодиоды ( с ограничителем ясное дело, 470 или около ом) в параллель обмоткам, может даже попарно, встречно и с медленным шагом посмотрите.