Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Удаленная работа
Помощь проекту

Луноход с микроконтроллерным управлением

Описываемое устройство было разработано для демонстрации возможностей программно-аппаратных комплексов управления движущимися объектами. В качестве объекта была взята детская игрушка "луноход" с проводным дистанционным управлением, приводимая в движение двумя электродвигателями постоянного тока и позволяющая управлять каждым из них в отдельности. С включением питания модель начинает двигаться вперед. Одновременно включаются смонтированные в ней передатчик и приемник импульсного И К излучения. Движение продолжается до тех пор, пока интенсивность отраженного ИК сигнала не превысит установленного порога, что свидетельствует о наличии препятствия на пути. Как только это случится, модель разворачивается до тех пор, пока отраженный сигнал не станет ниже этого порога, после чего продолжает движение вперед и т. д.

Принципиальная схема программно-аппаратного комплекса управления моделью "лунохода" изображена на рисунке. Его основа - экономичный восьмибитный КМОП микроконтроллер (МК) AT90S2313 (DD1), построенный с использованием расширенной RISC-архитектуры AVR. Тактовую частоту задает кварцевый резонатор ZQ1 на частоту 5 МГц (она может быть и любой другой, вплоть до 10 МГц). Цепь из резистора R13 и конденсатора С12 служит для сброса МК в момент включения питания. Разъемный соединитель Х1 введен для быстрого соединения и разъединения МК и остальной части устройства, а также для подключения МК к компьютеру с целью обновления программы или диагностики работы.
 


Кроме микроконтроллера, устройство содержит импульсный передатчик ИК излучения (VT4, VD2), приемник отраженного препятствием излучения, состоящий из фотодиода VD1, двухкаскадного усилителя (VT1, VT2) и синхронного детектора (VT3), и четыре электронных ключа (1VT1 - 1VT3, ..., 4VT1 - 4VT3). Питается устройство от батареи, состоящей из четырех Ni-Cd аккумуляторов типоразмера С емкостью 1500 мА·ч, устанавливаемых в предусмотренный в модели отсек. Напряжение питания микроконтроллера и приемника ИК излучения поддерживается неизменным микросхемным стабилизатором напряжения DA1.

В процессе работы с выхода порта PD0 на базу транзистора VT4 поступают импульсы с частотой следования около 1220 Гц. В результате он периодически открывается, и включенный в его коллекторную цепь свето-диод VD2 создает в направлении движения модели пульсирующее с указанной частотой ИК излучение. Резистор R7 ограничивает ток через эмиттерный переход транзистора и защищает выход порта МК от повреждений при пробое этого перехода. Максимальный ток через све-тодиод ограничивает резистор R9.

Отраженное препятствием ИК излучение воспринимается фотодиодом VD1, включенным параллельно резистору R2, через который осуществляется ООС по постоянному току, охватывающая двухкаскадный усилитель на транзисторах VT1, VT2. Импульсы напряжения с коллектора транзистора VT2 поступают на синхронный детектор, выполненный на полевом транзисторе VT3. Его применение обусловлено тем, что во время работы локатора на резисторе R3 создаются не только колебания частотой около 1220 Гц, но и пульсации частотой 100 Гц от ламп накаливания, а также случайные помехи как в видимом, так и в ИК диапазонах спектра. Уровень этих помех нередко соизмерим с уровнем отраженного препятствием ИК излучения, и если не принять специальных мер, это может привести к обнаружению ложного препятствия. Для предотвращения подобных ошибок и использован синхронный детектор. Его вход (затвор транзистора VT3) подсоединен к тому же порту (DO), что и вход передатчика, поэтому синхронно с вспышками светодиода VD2 открывается транзистор VT3, который подключает выход усилителя на транзисторах VT1, VT2 к одному из входов компаратора МК (PB0/AIN0). Образцовое напряжение на его другом входе устанавливают подстроенным резистором R12, регулируя тем самым чувствительность устройства к отраженному сигналу.

Работой электродвигателей модели МК управляет с помощью электронных ключей S1 - S4. Рассмотрим работу одного из них, например, первого (остальные действуют аналогично). При напряжении на входе менее 0,6 В (лог. 0) транзисторы 1VT1 и 1VT3 закрыты, a 1VT2 открыт, поэтому напряжение на выходе и соединенном с ним выводе двигателя М1 близко к напряжению батареи питания GB1. Подача на вход ключа уровня лог. 1 вызывает открывание транзистора 1VT1, из-за чего 1VT2 закрывается, а 1VT3 открывается и напряжение на выходе становится близким к 0. Резистор 1R1 ограничивает ток, потребляемый ключом от выхода МК, значением около 3 мА, что значительно меньше допустимого выходного тока (20 мА при уровне лог. 0 и 10 мА при уровне лог. 1). Сопротивление резистора 1R2 подобрано таким образом, чтобы, с одной стороны, обеспечить достаточный выходной ток ключа, когда открыт 1VT2, а с другой - чтобы ток через открытый транзистор 1VT1 не был слишком большим.

Поскольку примененные в модели электродвигатели потребляют очень большой ток (около 600 мА) и создают интенсивные импульсные помехи, их пришлось заменить более экономичными и создающими меньше помех двигателями ДПБ-902. Возможно использование и других коллекторных электродвигателей от магнитофонов и магнитол.

Для управления электронными ключами используются четыре старших разряда порта В: РВ7, РВ6, РВ5 и РВ4. Работой ИК передатчика управляет младший разряд порта D - PD0, два младших разряда порта В (PB0 и PB1) настроены и используются соответственно как прямой и инверсный входы аналогового компаратора.



Как видно из схемы, для включения, например, электродвигателя М1 необходимо открыть один из ключей S1, S2 и закрыть другой. Если открыть или закрыть оба ключа, напряжения на их выходах окажутся одинаковыми, поэтому напряжение на электродвигателе будет равно 0. Если открыть ключ S1 и закрыть S2, левый (по схеме) вывод двигателя будет соединен с плюсом батареи питания, а правый - с ее минусом, и он начнет вращаться в одну сторону. Если же, наоборот, открыть S2 и закрыть S1, полярность подключения двигателя изменится на обратную и он начнет вращаться в противоположную сторону. Программное включение осуществляется записью в порт В констант, указанных в табл. 1.



Программное управление передатчиком ИК излучения производится записью некоторого числа в порт D МК. Если младший бит этого числа равен 0, свето-диод VD2 погашен, а если он равен 1 - включен. Последовательная смена значений этого бита приводит к возникновению впереди модели пульсирующего уровня освещенности в ИК части спектра. Уровень отраженного излучения фиксируется фотодатчиком, и при его возрастании делается предположение о наличии впереди препятствия.

Особенность программы в том, что алгоритм управления размещен в обработчике таймера МК. Обусловлено это тем, что переключать излучающий светодиод необходимо с некоторой постоянной частотой, и для упрощения программы алгоритм управления помещен там же. После подачи сигнала сброса в момент включения питания МК начинает выполнять программу с отметки Start. В этой части программы производится начальная инициализация стека, регистров, портов ввода/вывода В и D, аналогового компаратора, восьмиразрядного таймера, устанавливаются частота следования импульсов на таймер, равная СК/8 (СК - тактовая частота, равная 5 МГц), и обработчик прерывания по переполнению таймера.

Поскольку переполнение таймера происходит каждый раз после поступления 256 (28) импульсов, обработчик прерывания вызывается 2441 раз в секунду. В результате излучающий светодиод переключается с частотой примерно 1221 Гц. Анализ же принятого отраженного сигнала производится один раз за 20 циклов таймера, т. е. с частотой 122 Гц.

Алгоритм управления работает следующим образом. Регистр r24 используется как счетчик с диапазоном значений от 0 до 240. При каждой проверке, если есть препятствие и значение счетчика меньше 240, оно увеличивается на 1, а если препятствия нет, уменьшается на такую же величину, пока не станет равным 0. Далее при значении счетчика от 0 до 16 выдается команда на движение вперед, от 17 до 31 - на остановку, а от 32 до 240 - на разворот. Такой алгоритм позволяет избежать ложных срабатываний и повышает вероятность полного объезда препятствия (разворот модели продолжается некоторое время и после его пропадания).

На регистре r27 организован счетчик разворотов, по которому каждый второй разворот делается в противоположную предыдущему сторону, а на регистре r18 - счетчик алгоритма управления электродвигателями. Он последовательно принимает значения от 0 до 3 с каждым вызовом прерывания. При О выключается правый двигатель, а при 2 - левый. Таким образом, снижается ток, потребляемый от батареи питания, благодаря чему возрастает время автономной работы модели от одной зарядки аккумуляторов до другой.

Коды программы в виде hex-файла приведены в табл. 2.

Полный текст программы на языке ассемблера можно скачать по этой ссылке.




Налаживание устройства несложно. Вначале, отключив микроконтроллер разъединением частей разъема Х1, устанавливают на место батарею питания и, замкнув контакты выключателя Q1, измеряют напряжение на выходе стабилизатора DA1. Затем, подключив осциллограф к стоку транзистора VT3 и освещая фотодиод каким-либо источником ИК излучения (например, пультом дистанционного управления телевизором или видеомагнитофоном), убеждаются в работоспособности фотоприемника.

Остальные узлы при использовании исправных деталей и отсутствии ошибок в монтаже в налаживании не нуждаются. В завершение подсоединяют МК (при отключенном питании) и проверяют работоспособность устройства в целом. Чувствительность фотоприемника при необходимости регулируют подстроечным резистором R12. 

Автор: П.Чечет, г.Василевичи Гомельской обл., Белоруссия


C этой схемой также часто просматривают:

Регулятор громкости с электронным управлением
Диодный переключатель телевизионных кабелей с управлением ИК-лучами
Транзисторный активный коммутатор ТВ кабелей с управлением по ИК-каналу
Лабораторный блок питания с управлением на микроконтроллере
Умывальник с бесконтактным управлением на PIC16F84A
Двухканальный контроллер светодиодных ламп-вспышек
Сигнализаторы на мигающем светодиоде
Сетевой индикатор включения на двухцветном светодиоде
Светодиодный пробник p-n переходов

Главные категории

Arduino


Аудио


В Вашу мастерскую


Видео


Для автомобиля


Для дома и быта


Для начинающих


Зарядные устройства


Измерительные приборы


Источники питания


Компьютер


Медицина и здоровье


Микроконтроллеры


Музыкантам


Опасные, но интересные конструкции


Охранные устройства


Программаторы


Радио и связь


Радиоуправление моделями


Световые эффекты


Связь по проводам и не только...


Телевидение


Телефония


Узлы цифровой электроники


Фототехника


Шпионская техника



Реклама на KAZUS.RU


Последние поступления

Подключение энкодера к микроконтроллеру PIC

Счётчик людей в помещении, управляющий освещением

Велокомпьютер на микроконтроллере PIC16F628A

Устройство ввода-вывода на микроконтроллера

Два термометра на PIC16F628A и DS18B20

Светодиодные часы с циферблатом

Двоичные часы

Два вывода микроконтроллера PIC управляют шестью светодиодами

Цифровой программируемый таймер на микроконтроллере PIC16F628A

Устройство рисования в воздухе на ATtiny2313



© 2003—2024 «KAZUS.RU - Электронный портал»