Показать сообщение отдельно
Старый 29.01.2017, 05:57   #1
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Как заставить шаговый двигатель шагать

Булка, помоги. Подключил шаговый двигатель к AVR. Подаю в цикле по очереди напряжение на каждую из четырёх катушек (блок питания 12V 2A), но шагает как-то не очень уверенно. Может нужно подавать сигнал как-то хитрее? Например, питать по две соседних катушки одновременно, таким образом получится восемь состояний, а не четыре. Заодно предложите варианты, куда его можно применить, чтобы зря не валялся.



Ах да, почему тема в С++? Ну потому что раздела для электронщиков нет. Но зато у меня есть для вас КОД:

int main(void) {
  
  
PORTC &= ~((<< 0) | (<< 1) | (<< 2) | (<< 3));
  
DDRC |= ((<< 0) | (<< 1) | (<< 2) | (<< 3));
  
  while (
1) {
    
PORTC &= ~(<< 0);
    
PORTC |= (<< 1);
    
_delay_ms(10);
    
PORTC &= ~(<< 1);
    
PORTC |= (<< 2);
    
_delay_ms(10);
    
PORTC &= ~(<< 2);
    
PORTC |= (<< 3);
    
_delay_ms(10);
    
PORTC &= ~(<< 3);
    
PORTC |= (<< 0);
    
_delay_ms(10);
  }
  

А ещё, подскажите, какая у подобных двигателей предельная скорость?
(Offline)
 
Ответить с цитированием