Телеком/VoIP блог
Tamkovich.com: Телеком/VoIP блог
Современные технологии: Asterisk, SIP, Kamailio, Linux, Cisco, Linksys
- Home
- Об Авторе
Рубрики
- Android
- Asterisk
- ITSP
- Linux
- Desktop
- Безопасность
- Документация
- Железо
- Cisco
- Книги
- Мониторинг
- Программирование
- Путешествия
- Разное
- Роботы
- Сделай сам
Метки
- Регистрация
- Войти
- Лента записей
- Лента комментариев
- WordPress.org
Комментарии
- rius (2020-08-12 13:04): К примеру, тут http://vbp.maxnet.ru/files и https://www.thingiverse.com/ri us/designs или связаться со мной —.
Dmitry (2019-04-30 19:08): В статье описано только то, что сделать для попадания сообщений о флуде в лог, но ведь нужно еще fail2ban на эти.
Синхронист (2019-04-26 20:08): А где можно скачать готовые файлы для заливки в ЧПУ?
Александр (2018-02-12 11:18): TDA5145 — это очень плохая микросхема сама по себе, и тем более, когда её пытаются использовать для моторчиков.
Маэстро (2017-04-27 06:41): это не просто телек а чюдо ! шедевр технологий ! и сама фирма ( но если SONY теперь или на будущие начнет халтурить и.
Джон Смит (2017-01-14 11:25): Здравствуйте, много лет прошло с написания этой статьи, но и по сей день она не потеряла актуальности, спасибо Вам.
Simplew (2016-09-02 18:52): > А если нужно провести 10 тысяч регистраций в 4 потока, какие нужны опции? xml под это дело есть, а вот опции.
techbird (2016-06-28 22:20): как вариант,залогиниться(root) по ssh к своему серверу набрать echo ’12 2 * * * root find /http/image/cache.
Alexey (2016-06-10 19:41): Тут кто то еще этим занимается? Сейчас пытаюсь разобраться с данной темой но чет на такие подводные камни натыкаюсь(
Den (2016-05-31 01:25): http://youtu.be/qIqfAQV-hCU тут самый простой способ пуска движка hdd от батарейки на простом мк
Устройство управления шаговым двигателем на базе ПЛИС Altera
17 апреля, 2011 by rius
В продолжение темы управления электромоторами, начатой в статье Управление мотором жесткого диска — сегодня мы поговорим о другой разновидности электромоторов — о шаговых двигателях. Сперва немного общих сведений о шаговых двигателях.
К достоинствам шаговых двигателей можно отнести:
- угол поворота ротора определяется числом импульсов, которые поданы на двигатель
- двигатель обеспечивает полный момент в режиме остановки (если обмотки запитаны)
- прецизионное позиционирование и повторяемость. Хорошие шаговые двигатели имеют точность 3-5% от величины шага. Эта ошибка не накапливается от шага к шагу
возможность быстрого старта/остановки/реверсирования - высокая надежность, связанная с отсутствием щеток, срок службы шагового двигателя фактически определяется сроком службы подшипников
- однозначная зависимость положения от входных импульсов обеспечивает позиционирование без обратной связи
- возможность получения очень низких скоростей вращения для нагрузки, присоединенной непосредственно к валу двигателя без промежуточного редуктора
- может быть перекрыт довольно большой диапазон скоростей, скорость пропорциональна частоте входных импульсов
К недостаткам шаговых двигателей можно отнести:
- возможна потеря контроля положения ввиду работы без обратной связи
- потребление энергии не уменьшается даже без нагрузки
- затруднена работа на высоких скоростях
- невысокая удельная мощность
- относительно сложная схема управления
Биполярные и униполярные шаговые двигатели
В зависимости от конфигурации обмоток двигатели делятся на биполярные и униполярные. Биполярный двигатель имеет одну обмотку в каждой фазе, которая для изменения направления магнитного поля переполюсовывается драйвером. Для такого типа двигателя требуется мостовой драйвер, или полумостовой с двуполярным питанием. Всего биполярный двигатель имеет две обмотки и, соответственно, четыре вывода (рис.1а).
Рис. 1. Биполярный двигатель (а), униполярный (б) и четырехобмоточный (в).
Униполярный двигатель также имеет одну обмотку в каждой фазе, но от середины обмотки сделан отвод. Это позволяет изменять направление магнитного поля, создаваемого обмоткой, простым переключением половинок обмотки. При этом существенно упрощается схема драйвера. Драйвер должен иметь только 4 простых ключа. Таким образом, в униполярном двигателе используется другой способ изменения направления магнитного поля. Средние выводы обмоток могут быть объединены внутри двигателя, поэтому такой двигатель может иметь 5 или 6 выводов (рис. 1б). Иногда униполярные двигатели имеют раздельные 4 обмотки, по этой причине их ошибочно называют 4-х фазными двигателями. Каждая обмотка имеет отдельные выводы, поэтому всего выводов 8 (рис. 1в). При соответствующем соединении обмоток такой двигатель можно использовать как униполярный или как биполярный. Униполярный двигатель с двумя обмотками и отводами тоже можно использовать в биполярном режиме, если отводы оставить не подключенными. В любом случае ток обмоток следует выбирать так, чтобы не превысить максимальной рассеиваемой мощности.
Преимущества биполярных шаговых двигателей
Если сравнивать между собой биполярный и униполярный двигатели, то биполярный имеет более высокую удельную мощность. При одних и тех же размерах биполярные двигатели обеспечивают больший момент. Момент, создаваемый шаговым двигателем, пропорционален величине магнитного поля, создаваемого обмотками статора. Путь для повышения магнитного поля – это увеличение тока или числа витков обмоток. Естественным ограничением при повышении тока обмоток является опасность насыщения железного сердечника. Однако на практике это ограничение действует редко. Гораздо более существенным является ограничение по нагреву двигателя вследствии омических потерь в обмотках. Как раз этот факт и демонстрирует одно из преимуществ биполярных двигателей. В униполярном двигателе в каждый момент времени используется лишь половина обмоток. Другая половина просто занимает место в окне сердечника, что вынуждает делать обмотки проводом меньшего диаметра. В то же время в биполярном двигателе всегда работают все обмотки, т.е. их использование оптимально. В таком двигателе сечение отдельных обмоток вдвое больше, а омическое сопротивление – соответственно вдвое меньше. Это позволяет увеличить ток в корень из двух раз при тех же потерях, что дает выигрыш в моменте примерно 40%. Если же повышенного момента не требуется, униполярный двигатель позволяет уменьшить габариты или просто работать с меньшими потерями. На практике все же часто применяют униполярные двигатели, так как они требуют значительно более простых схем управления обмотками. Это важно, если драйверы выполнены на дискретных компонентах. В настоящее время существуют специализированные микросхемы драйверов для биполярных двигателей, с использованием которых драйвер получается не сложнее, чем для униполярного двигателя. Например, это микросхемы L293E, L298N или L6202 фирмы SGS-Thomson, PBL3770, PBL3774 фирмы Ericsson, NJM3717, NJM3770, NJM3774 фирмы JRC, A3957 фирмы Allegro, LMD18T245 фирмы National Semiconductor. В моей работе была использована микросхема KР1128КТ4, которая является отечественным аналогом микросхемы L293D.
Способы управления шаговым двигателем и соответствующие временные диаграммы
Существует несколько способов управления фазами шагового двигателя.
Первый способ обеспечивается попеременной коммутации фаз, при этом они не перекрываются, в один момент времени включена только одна фаза (рис 2а). Этот способ называют ”one phase on” full step или wave drive mode. Точки равновесия ротора для каждого шага совпадают с «естественными» точками равновесия ротора у незапитанного двигателя. Недостатком этого способа управления является то, что для биполярного двигателя в один и тот же момент времени иcпользуется 50% обмоток, а для униполярного – только 25%. Это означает, что в таком режиме не может быть получен полный момент.
Рис. 2. Различные способы управления фазами шагового двигателя.
Второй способ — управление фазами с перекрытием: две фазы включены в одно и то же время. Его называют ”two-phase-on” full step или просто full step mode. При этом способе управления ротор фиксируется в промежуточных позициях между полюсами статора (рис. 2б) и обеспечивается примерно на 40% больший момент, чем в случае одной включенной фазы. Этот способ управления обеспечивает такой же угол шага, как и первый способ, но положение точек равновесия ротора смещено на пол-шага.
Третий способ является комбинацией первых двух и называется полушаговым режимом, ”one and two-phase-on” half step или просто half step mode, когда двигатель делает шаг в половину основного. Этот метод управления достаточно распространен, так как двигатель с меньшим шагом стоит дороже и очень заманчиво получить от 100-шагового двигателя 200 шагов на оборот. Каждый второй шаг запитана лишь одна фаза, а в остальных случаях запитаны две (рис. 2в). В результате угловое перемещение ротора составляет половину угла шага для первых двух способов управления. Кроме уменьшения размера шага этот способ управления позволяет частично избавиться от явления резонанса. Полушаговый режим обычно не позволяет получить полный момент, хотя наиболее совершенные драйверы реализуют модифицированный полушаговый режим, в котором двигатель обеспечивает практически полный момент, при этом рассеиваемая мощность не превышает номинальной.
Еще один способ управления называется микрошаговым режимом или micro stepping mode. При этом способе управления ток в фазах нужно менять небольшими шагами, обеспечивая таким образом дробление половинного шага на еще меньшие микрошаги. Когда одновременно включены две фазы, но их токи не равны, то положение равновесия ротора будет лежать не в середине шага, а в другом месте, определяемом соотношением токов фаз. Меняя это соотношение, можно обеспечить некоторое количество микрошагов внутри одного шага. Вместе с тем, для реализации микрошагового режима требуются значительно более сложные драйверы, позволяющие задавать ток в обмотках с необходимой дискретностью. Полушаговый режим является частным случаем микрошагового режима, но он не требует формирования ступенчатого тока питания катушек, поэтому часто реализуется.
Моей задачей была реализация полношагового и полушагового режимов. Полушаговый режим запустить так и не удалось. Я склонен думать, что виноват двигатель: он был взят из старого трехдюймового дисковода. Это был единственный двигатель из 4 штук, который вообще удалось запустить.
Драйвер шагового двигателя.
Спроектированный мной драйвер шагового двигателя состоит из счетчика и генератора битовых последовательностей.
Рис. 3. Счетчик
Счетчик, используемый в моей работе имеет 16 разрядов, и является суммирующим. Существует возможность сбросить его значение в 0 с помощью сигнала RESET, однако в моей работе данная возможность не используется. Из шины выходных проводов мне нужен 16-й провод, соответствующий старшему разряду, сигнал которого имеет минимальную частоту. Назначение счетчика – поделить поступающую тактовую частоту 25 Мгц со встроенного тактового генератора. Значение полученной в результате деления частоты определяется разрядностью счетчика, и в данном случае она равна 381 Гц, что соответствует делению базовой частоты 25 МГц на число 216=65536. Они реализованы следующим образом на языке AHDL:
Если необходимо получить частоту, отличную от 381 Гц, то можно использовать на входе генератора битовых последовательностей вместо используемого в текущей конфигурации провода Result15 другой провод из шины Result. Например, если вывести провод Result13, то частота на входе генератора увеличится в 4 раза и станет равной 25000000 / 214 = 1524 Гц. Однако, таким образом нельзя получить частоту меньше 381 Гц. Для этого надо изменить размерность массива D-триггеров счетчика в строке:
VARIABLE count[15..0]: DFF;
Например, так можно сделать размерность массива триггеров равной 20
VARIABLE count[19..0]: DFF;
Тогда с провода Result19 можно получить частоту 25000000 / 220 = 24 Гц.
Генератор битовых последовательностей.
Генератор битовых последовательностей представляет собой автомат Мура, для которого сигнал на выходе зависит от текущего состояния автомата и входных сигналов.
Рис. 4. Генератор последовательностей
Автомат имеет 8 состояний. Зависимость значения на выходе от состояния приведено в таблице: