Перейти к содержанию
    

2 ШД от 16-разрядного таймера (OCR1A & OCR1B)

Народ, может кто занимался таким управлением: 2 ШД от выводов OC1x. Есть задача управлять двумя ШД независимо, т.е. по сути 2 канала. Реально на макете работает от TC0 в режиме СТС: формируются импульсы STEP для разгона и выхода на рабочую частоту вращения ШД.

Заране благодарен за любые советы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ, может кто занимался таким управлением: 2 ШД от выводов OC1x. Есть задача управлять двумя ШД независимо, т.е. по сути 2 канала. Реально на макете работает от TC0 в режиме СТС: формируются импульсы STEP для разгона и выхода на рабочую частоту вращения ШД.

Заране благодарен за любые советы.

 

Скажите пожалуйста, частота вращения ваших ШД определяется частотой меандра или его скважностью? Если скажностью, то такая задача может быть решена, т.к. на одном таймере можно приготовить несколько меандров с различной скважностью. А если частотой, то дело гиблое - на одном том же таймере две частоты не создашь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

конечно частотой, а иначе скважность как будет отражаться на скорости?...

 

Видимо придется для одного ШД использовать ТС1 (для более плавного разгона до максимально возможной скорости), а для второго ШД- ТС0/2. Собственно, тему можно дальше не продолжать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

с выводов OCR1A и OCR1B разные частоты не снять никак. но и два таймера не обязательно использовать, можно и один, если добавить дополнительные счетные регистры и формировать сигналы step по значениям этих регистров

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

придется для одного ШД использовать ТС1 (для более плавного разгона до максимально возможной скорости)

Если это действительно шаговые двигатели, а не синхронник какой - зачем там разгон? Как скажешь - он и шагнет, разгоняться не надо. Ты точно знаешь, что делаешь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если это действительно шаговые двигатели, а не синхронник какой - зачем там разгон? Как скажешь - он и шагнет, разгоняться не надо. Ты точно знаешь, что делаешь?

Ну вот бывают такие, что без разгона шаги теряют.

Производитель об этом пишет целый трактат в документации - с таблицами шагов, необходимыми токами (когда режим установится, ток в обмотках можно снизить)...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какая частота следования импульсов по сравнению с тактовой частотой? Если она достаточно мала, то можно просто загружать новые значения в регистры OCR в соответствующих прерываниях, таймер пусть считает без ограничения периода, и настроить ножку на переключение по событию совпадения. Т.е. код в прерывании для, например, канала А будет просто OCR1A+=HalfPeriodChanA, где HalfPeriodChanA - глобальная переменная, хранящая количество циклов таймера для половины периода меандра.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...