Алгоритм шагового двигателя по прерыванию от таймера

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем Sr4, 20 дек 2016.

  1. Sr4

    Sr4 Нуб

    Помогите пожалуйста написать алгоритм для шагового двигателя по прерыванию от таймера. Спасибо.
     
  2. mcureenab

    mcureenab Гуру

    Что должно случиться по прерыванию?
     
  3. Sr4

    Sr4 Нуб

    Определить скорость шагового двигателя
     
  4. ostrov

    ostrov Гуру

    Тоже не понял задачи. Как можно определить скорость шагового двигателя? Может вы путаете шаговый двигатель с энкодером?
     
  5. Sr4

    Sr4 Нуб

    Шг работать должен по прерыванию, прерывание будет осуществляться от встроенного таймера. Скорость коммутации обмоток определяет скорость движения (блоков). Скорость коммутации обмоток определяется по времени, который будет задаваться встроенного таймера. С помощью клавиатуры будет задаваться скорость движения (блоков). Значение от таймера берется из Буфера, в этот буфер значение подается с помощью клавиатуры
     
  6. ostrov

    ostrov Гуру

    Ну так задается наверное, а не определяется.
     
  7. Sr4

    Sr4 Нуб

    Да, это я не так выразился
     
  8. Sr4

    Sr4 Нуб

    У двигателя 4 обмотки
     
  9. vvr

    vvr Инженерище

    вообще то всегда задают скорость шаговика)))
     
  10. Onkel

    Onkel Гуру

    тут на днях делал похожую штуку

    выставляете таймер 2 в setup

    // Here we set up the Timer2 BEGIN
    ASSR=0x00;
    TCCR2A=0x00;
    TCCR2B=0x06;
    TCNT2=0x55;
    OCR2A=0x00;
    OCR2B=0x00;

    // Here we set up the Timer2 END


    после loop(){}
    пишете программу передрыга ног шаговика

    ISR(TIMER2_OVF_vect) { // Interuption Sub Routine
    // тут собственно сам ногодрыг и пишите по всем ногам
    TCNT2=0; //

    }

    при установках ресета как у меня получается один дрыг в 4 мс.