Болл С.Р. Аналоговые интерфейсы микроконтроллеров (2007) (1264220), страница 46
Текст из файла (страница 46)
Двига- Входы ШИМ от ыикроконтрошшра Прерывания таймера Рас. 7.37. Система с пятифазиым шаговым двигателем 250 ° Глава 7. Двигатели Управляющие входы отыикроконтроллера Тактовая поспелова тел ыюсть ШИМ Выходные биты фаты СкоРааь шагового двигателя (зависиг от показаний таймера] К одной Фазе двигателя 5-фазный шаговый двигатель 7.б. Реальное применение нгагового двигателя ° 251 тель в этом случае должен продолжить вращение, но координаты остановки не смогут быть определены, о чем система должна сообщить оператору. ° Двигатель должен плавно разгоняться при старте, поскольку шаговый двигатель может заклинить, если сразу приложить к нему полный ток.
° Управление вращением двигателя не должно начаться до тех пор, пока не установится необходимое напряжение питания на двигателе. При пропадании напряжения питания управление должно отключиться до тех пор, пока питающее напряжение не восстановится снова. Эта функция обеспечивается подачей на один из входов микроконтроллера напряжения питания двигателя через делитель. Микроконтроллер не даст команды на старт, пока напряжение питания двигателя отсутствует. ° Наконец, другой таймер генерирует ннайм-аупь (6щеоцг) каждые 5 мс для подавления дребезга. Этот таймер не генерирует прерываний.
Он служит для обеспечения гарантии того, что прерывания частоты шагов обслуживаются немедленно, в то время как выход ШИМ держит транзисторы в выключенном состоянии. Если бы таймер подавления дребезга генерировал прерывание, программа могла бы исполнить программу обработки этого прерывания во время прерывания частоты шагов, что могло бы задержать обработку последнего. Состояние двигателя определяется тем, какую функцию двигатель выполняет: ° Остановлен. ° Разгоняется до определенной скорости.
° Замедляется до полной остановки. ° Вращается с постоянной скоростью. ° Доходит до требуемой позиции остановки. ° Перегрузка по току (ошибка, требует отключения). ° Отсутствие напряжения. Встроенное ПО обеспечивает обратную связь и обслуживание необходимых функций. Рассмотрим упрощенные алгоритмы некоторых функций.
Алгоритм работы легли обратной связи Если установлен флаг прерывания, обновить текущую скорость и ток. Если сработал таймер на 5 мс, провести подавление дребезга. Если зарегистрирован импульс датчика позиции, сбросить его. 252 ° Глава 2 Двигатели Обновить состояние двигателя. Если ШИМ работает, включить АЦП. Если А/Ц преобразование завершено, установить ток двигателя. Если счетчик двигателя пропустил один оборот, зафиксировать ошибочную ситуацию. Алгорнтм управления скоростью н током Если двигатель разгоняется, тогда уменьшить значение таймера скорости. увеличить рабочий цикл ШИМ.
Если значение таймера скорости равно конечной максимальной величине, изменить функцию двигателя на движение с постоянной скоростью. Если двигатель останавливается, то увеличить значение таймера скорости. уменьшить рабочий цикл ШИМ. Если значение таймера скорости равно минимально возможной величине, изменить функцию движения двигателя на торможение и отключение ШИМ. Алгоритм обновления состояннядннгнтеля Если напряжение питания двигателя отсутствует, и двигатель не потребляет чрезмерный ток, установить состояние двигателя, как «Вад Уо!где», Если напряжение питания двигателя присутствует и состояние двигателя = «Вад Уо11айе», то установить функцию управления двигателем «торможение», Если дверка открывается, в то время как двигатель вращается с постоянной скоростью, и нет ошибки датчика позиции, установить функцию управления двигателем «поиск позиции остановки».
Если дверка открывается в то время, когда двигатель вращается с постоянной скоростью, и есть ошибка датчика позиции, установить функцию управления двигателем «торможение». Если дверка открывается, в то время как происходит поиск позиции остановки, и счетчик позиции отсчитывает замедление, установить функцию управления двигателем «торможение»« Если дверка закрывается, и двигатель остановлен, запустить ШИМ и изменить состояние двигателя на «ускорение».
Алгоритм антндребезге ключа й)еЬоипсе) Если сигнал блокирования показывает, что дверка закрыта, а датчик на двери показывает, что она открыта, увеличить число счетчика антидребезга 1 и очистить счетчик антидребезга 2. 7.6. Реальное применение шагового двигашеля ° 253 Если число счетчика антидребезга 1 равно величине антидребезга, изменить состояние дверки на «закрытое». Если сигнал блокирования показывает, что дверка открыта, а датчик на двери показывает, что дверка закрыта, увеличить число счетчика антидребезга 2 и очистить счетчик антидребезга !.
Если число счетчика антидребезга 2 равно величине антидребезга, изменить состояние дверки на «открытое». Алгоритм управлениятокомдангателя Если ток двигателя превышает заданный предел, отключить ШИМ, установить состояние двигателя «превышение тока», выдать сообщение об ошибке. Алгоритм управления процедурой прерывания Сформировать следующий шаг управления транзисторами (с использованием таблицы). Установить флаг индикации того, что прерывание случилось. Увеличить число счетчика позиции. В алгоритме обработки прерывания используется таблица. В таблице записаны биты для верхнего и нижнего транзисторов; 1 открывает транзистор, 0 закрывает транзистор.
Каждая строка в таблице содержит значения, необходимые для осуществления следующего шага шагового двигателя. Преимущество такого подхода — в скорости чередующегося обновления фаз двигателя. Микроконтроллер имеет также выводы для отладки программы, например, бит порта, который устанавливается при старте и сбрасывается при окончании работы. Другой бит порта устанавливается при старте подпрограммы обработки прерывания 11Ж) и сбрасывается при выходе из подпрограммы. Поскольку большая часть битов порта уже задействована в устройстве, биты отладки установлены на выводы, применяемые для программирования микроконтроллера.
глава 8 Электромагнитные помехи Электромагнитные помехи могут вызвать серьезные проблемы в работе устройспга. Все электромагнитные помехи грубо можно подразделить на две группы: помехи, создаваемые самим устройством и помехи извне, влияющие на работу устройства. Первый тип помех, собственно, и носит название ломаки (шГегУегепсе), а второй — наводни (зцзсерббййу). Естественно, помехи от одного прибора могут создать наводки для другого и наоборот.
Если расположить телевизор довольно близко к работающему компьютеру, вероятно, можно будет увидеть на экране телевизора «снег», создаваемый помехами от переключения цифровых сигналов компьютера. В данной главе не заостряется внимание на помехах, создаваемых оборудованием. Детально будут рассмотрены наводки и методы борьбы с ними. 8.1. Связь по земле Термин «электромагнитные ломехи» обычно вызывает в воображении картину воздействия высокочастотных сигналов на чувствительные электрические цепи. Однако сбои в работе электронных схем могут быть вызваны даже сигналами промышленной частоты.
Классический пример паразитной связи по земле, когда два разных тока стекают в землю прибора, и сила тока от одного блока гораздо больше, чем от другого. На Рис. 8.1 показана микропроцессорная система, соединенная с внешней системой датчиков. Земля микропроцессора соединяется через источник питания с землей прибора. Система датчиков также соединяется с землей прибора, но по другой цепи. Допустим, земля датчиков соединена с землей аппарата, питающегося от сети, например кондиционера. Теоретически, по земле кондиционера ток не проходит, однако на практике значение протекаюшего тока может отличаться от нуля. Когда кондиционер работает, напряжение на цепи заземления датчиков отличается от напряжения на цепи заземления микропроцессора.
В результате возникает ток, текущий по цепям заземления датчиков. Такая связь по 8.1. Связь яо земле ° 255 земле может привести к серьезным ошибкам в измерениях или даже к выходу нз строя электроники. Слишком большая разность потенциалов между землями может даже привести к возгоранию. Однажды я наблюдал, как «сгорел» драйвер при включении кондиционера. Возникший электромагнитный импульс создал между землями напряжение в несколько вольт, приведшее к выходу электронных схем из строя.
1го в(ас~ Защитное заземление цепи 1 Защитное заземление цепи 2 Рне. 8.1. Связь по земле В приведенном примере ток земли, по всей видимости, был переменным. Однако подобная ситуация случается и прн коммутации больших постоянных токов. Примером может служить цепь соединения через интерфейс ВВ-232 двух компьютеров, подключенных к разным розеткам. Соединение разных земель, создающее связь по земле, не должно быть сигнальной землей интерфейса. Так экранированный кабель может создать нежелательную петлю, если экран соединяется с шасси обеих систем. Если вы разрабатываете систему, отдельные компоненты которой питаются от разных линий питания (например, 208-В трехфазный двигатель, управляемый от 110 В компьютера), можно предусмотреть соединение с помощью Ег)тегпек Хотя для данной системы не требуются большие скорости передачи данных, но применяемая в Е1Ьепзе( трансформаторная развязка, аналогичная другим андам развязок (оптроны, реле), устранит нежелательную связь по земле.