2016-04-22 2 views
0

Я пытаюсь генерировать импульс от Arduino до шагового двигателя 5-го шага. Водителю нужен только импульс, чтобы заставить шаговый двигатель работать. Моя проблема, когда я использую код, как этотКак остановить pwm после генерации нескольких импульсов в Arduino?

for(int i=0; i <= 125; i++) 
{ 
    //analogWrite(13,125); 
    digitalWrite(13, HIGH); 
    delayMicroseconds(300); 
    digitalWrite(13, LOW); 
    delayMicroseconds(300); 
} 
digitalWrite(13,LOW); 
delay(3000); 

Шагового двигатель может работать отлично, но после более чем 10 вращения, угла двигателя не вернулся на прежнее место. Можем ли мы использовать pwm в Arduino? Итак, после создания 5000 импульсов с использованием pwm, мы остановили pwm?

+0

вы можете сделать его более понятным? – Ccr

+0

хорошо, я купил драйвер шагового двигателя, выход от водителя был cw + dan cw-, шаговый двигатель будет двигаться, если мы дали импульс от водителя, 1 импульс (1 максимум и 1 низкий) заставит шаговый двигатель двигаться на 0,72 degre , так что если я хочу переместить этот шаговый, нам понадобится 125 импульсов , когда я генерирую импульс, используя код выше, шаговый двигатель не двигался на 90 градусов, (была ошибка 1 или 2 степени) –

ответ

0

попробовать этот код:

#include <TimerOne.h> 
const byte CLOCKOUT = 11; 
volatile byte counter=0; 

void setup() { 
    Timer1.initialize(15);   //Every 15 microseconds change the state of the pin in the wave function giving a period of 30 microseconds 
    Timer1.attachInterrupt(Onda); 
    pinMode (CLOCKOUT, OUTPUT); 
    digitalWrite(CLOCKOUT,HIGH); 
} 
void loop() { 
    if (counter>=6000){    //With 6000 changes you should achieve the amount of pulses you need 
     Timer1.stop();    //Here I create the dead time, which must be in HIGH 
     PORTB = B00001000; 
     counter=0; 
     delayMicroseconds(50); 
     Timer1.resume(); 
    } 
} 
void Onda(){ 
    PORTB ^= B00001000; //Change pin status 
    counter+=1; 
} 

я просто не могу не устранить дрожание. Если вы нашли решение, дайте мне знать

Смежные вопросы