Журнал Радио 12 номер 2002 год. МИКРОПРОЦЕССОРНАЯ ТЕХНИКА

Журнал Радио 12 номер 2002 год. МИКРОПРОЦЕССОРНАЯ ТЕХНИКА МИКРОКОНТРОЛЛЕР УПРАВЛЯЕТ "ВЕЗДЕХОДОМ" Н. ОСТРОУХОВ, г. Сургут Тюменской обл.  Широкие функциональные возможности, относительная простота программирования и невысокая стоимость сделали однокристальные микроконтроллеры привлекательными для радиолюбительского творчества. Предлагаемое устройство было разработано как наглядное пособие для радиотехнического кружка, чтобы облегчить юным радиолюбителям изучение микроконтроллеров и сделать это изучение наглядным, живым и занимательным.
Основой изделия стала крупная электромеханическая игрушка — гусеничный космический вездеход, приводимый в движение двумя электродвигателями. Управляет его работой доступный отечественный микроконтроллер КР1878ВЕ1. Программа предусматривает ряд последовательных действий, обеспечивающих автоматическое наведение машины на источник света и сближение с ним. Все действия сопровождаются соответствующими голосовыми сообщениями, записанными в память уже знакомых читателям специализированных микросхем Chipcorder компании Win bond Electronics.

Работает описываемое ниже устройство следующим образом. После включения питания дважды мигает контрольный светодиод, сигнализируя о нормальной работе микроконтроллера. Затем в течение 20 с машина рассказывает, для чего и кем она создана, а также о том, что управляет ею однокристальный микроконтроллер КР1878ВЕ1. Далее она сообщает о своей задаче — найти источник света и сблизиться с ним, после чего определяет уровень освещенности в направлении перед собой, выполняет поворот направо приблизительно на 10°, еще раз измеряет освещенность. Если после поворота вправо она стала меньше, следует поворот налево на те же 10°, если же увеличилась, то делается еще один поворот вправо, снова измеряется освещенность и т. д. Иными словами, машина поворачивается в сторону роста освещенности до тех пор, пока он не прекратится (при этом немного проскакивая направление на максимум освещенности), затем делает один поворот в обратную сторону. В результате определяется направление на первый найденный максимум освещенности. После этого машина начинает сближение с целью — движется в ее сторону в течение определенного времени. Далее эта последовательность действий выполняется заданное число раз. Все действия комментируются голосовыми сообщениями. После выполнения последнего шага программы машина сообщает о том, что программа выполнена. (Поворот машины на 10° определяется временем работы соответствующего электродвигателя и скоростью движения гусеницы электромеханической игрушки, которую использовал автор).

Принципиальная схема управляющей части устройства изображена на рис. 1. Ее основа — микроконтроллер DD1 КР1878ВЕ1 [1—3]. Схема включения — типовая. Тактовую частоту задает кварцевый резонатор ZG1. Светодиод HL1 служит для индикации того, что микроконтроллер нормально запустился и программа работает.


Увеличить

Источником сигнала служит фотодиод VD2. С помощью ОУ DA2.1 его фото-ток преобразуется в напряжение. Резистор R13 и конденсатор С9 образуют фильтр нижних частот. Повторитель на ОУ DA2.2 обеспечивает его согласование с входом АЦП DA4. Образцовое напряжение создается с помощью интегрального стабилитрона DA6 и токо-ограничивающего резистора R34. Резистор R12 подбирают для конкретного экземпляра фотодиода VD2 таким образом, чтобы при освещенности, близкой к максимальной, напряжение на входе АЦП не превышало образцового, равного 2,5 В.

В устройстве применен 10-раз рядный АЦП TLC1549CP с последовательным интерфейсом. Это позволяет микроконтроллеру управлять АЦП и получать от него данные, используя всего три линии для передачи сигналов. Временная диаграмма работы АЦП показа-на на рис. 2. После подачи сигнала CS на выходе данных DATA появляется старший разряд результата предыдущего преобразования. Чтобы получить следующий разряд, нужно подать импульс на вход I/O CLOCK АЦП. По его спаду на выходе DATA появляется следующий разряд и т. д. Одновременно по спаду третьего импульса на входе I/O CLOCK начинается выборка входногоаналогового сигнала с входа IN АЦП. По спаду десятого импульса на входе I/O CLOCK заканчивается выдача результата предыдущего преобразования и начинается новое преобразование. На вход CS надо подать высокий уровень. Через 21 мкс или более можно подавать сигнал CS и считывать результат преобразования. Общий алгоритм таков: сначала "вытолкнуть" из АЦП ненужные 10 бит предыдущего преобразования, затем выждать не менее 21 мкс, после чего считать результат текущего преобразования.

Напряжение питания электродвигателей М1 и М2 подается через ключи, выполненные на транзисторах VT1 и VT2. При появлении на выходах микроконтроллера РА2 и РАЗ напряжения высокого уровня транзисторы VT1 и VT2 открываются и электродвигатели начинают работать вращая гусеницы. В таком варианте изделие может двигаться вперед и поворачиваться притормаживанием одной из гусениц. Если же необходимо обеспечить движение задним ходом или поворот противовращением гусениц, то транзисторов должно быть восемь и дополнительно необходима микросхема-перекодировщик с трех линий (в этом случае используется и порт РА4) на восемь ключей. Такой коммутатор был собран и опробован автором, однако на практике оказалось, что без заднего хода можно обойтись, а устройство управления электродвигателями при этом существенно упрощается.

Остальные узлы устройства предназначены для озвучивания изделия, и их исключение никак не скажется на работе управляющей части. Микросхемы DA3 и DA5 серии ISD1400 [4—6] отличаются от описанной в [7] серии ISD4004 меньшей длительностью записи (20 с) и более простым интерфейсом, не требующим микропроцессорного управления. Включение микросхем DA3 и DA5 соответствует описанному в документации по их использованию. При налаживании в первую из них записывают все короткие голосовые сообщения, а во вторую — одно длинное.

Сдвиговый регистр DD2 служит для накопления в нем восьмиразрядного адреса, с которого начинается запись нужной фразы. Перед началом поиска источника света через выход РВ2 микроконтроллер подает на DA5 сигнал начала воспроизведения, и она воспроизводит единственное длинное сообщение. Во время процесса наведения и сближения с целью микроконтроллер выдает через DD2 на адресные входы DA3 адрес начала нужной фразы, после чего через выход РВЗ подается сигнал начала воспроизведения фразы. Сообщения усиливаются усилителем мощности, выполненным на микросхеме DA1. Громкость регулируют подстроеч-ным резистором R1. После выполнения заданного числа шагов наведения и сближения с источником света модель останавливается.

Выводы РАО и РВ4 (точки А и В) зарезервированы для подключения двух кнопок с замыкающими контактами (вторые выводы кнопок соединяют с общим проводом устройства). Внутри микроконтроллера к этим выводам программно подключены резисторы, соединенные с шиной питания +5 В. При замыкании контактов кнопок напряжение на соответствующем выводе падает до 0. Если запрограммировать режим прерывания по спаду напряжения на этих входах и добавить подпрограммы обработки прерывания, можно будет "научить" машину реагировать на препятствия.

Коды программы, которую необходимо занести в память микроконтроллера, приведены в табл. 1. Исходные тексты программ для вариантов устройства с озвучиванием и без него, а также программы транслятор, программатор и принципиальную схему простого программатора из [3] желающие найдут на ftp-сервере редакции в Интернете по адресу .


Увеличить

Устройство питается от источника напряжением 5 В по проводам, потребляя при движении вперед (работают оба двигателя) ток около 0,5 А (зависит от примененных двигателей). Следует учесть, что в момент трогания потребляемый ток значительно больше. У автора он получался, по крайней мере, более 1,2 А на один двигатель, и в цепи питания возникала помеха, вызывавшая перезапуск микроконтроллера. Ее удалось устранить, включив последовательно с электродвигателями резисторы R2 и R3.

Большинство деталей устройства смонтированы на макетной плате размерами 125x65 мм (рис. 3). Для микросхем DA3 и DA5 на ней установлены 28-гнезд-ные розетки, а для DD1 — 18-гнездная. Все резисторы — МЩ оксидные конденсаторы — К50-35 или аналогичные зарубежного производства, остальные — КМ. Фотодиод VD2 можно взять практически любой. Опробованы были три фотодиода разных типов, и со всеми получен хороший результат. Сопротивление резистора R12 при этом изменялось от 47 до 820 кОм. Если в качестве источника света будет использоваться лампа накаливания, желательно применить ИК фотодиод, в этом случае меньше будет влиять солнечное освещение. Вместо интегрального стабилитрона LM385Z-2,5 (DA6) допустимо использовать КС133А, уменьшив сопротивление резистора R34 до 330 Ом. Замена транзисторов КТ863А (VT1, VT2) нежелательна (они были выбраны по двум параметрам: высокому коэффициенту передачи тока базы и малому напряжению насыщения эмиттер-коллектор).

На время записи голосовых сообщений микроконтроллер DD1 извлекают из панели, микросхему DA3 устанавливают на место DA5, записывают в нее нужные фразы, затем ее возвращают на свое место, a DA5 — на свое и записывают длинное сообщение. По завершении всех операций устанавливают на место и микроконтроллер.

Сообщения в микросхему, установленную на месте DA5, записывают следующим образом. До первой записи с помощью переключателя SA1 на входах АО—А7 устанавливают адрес 00h (все контакты SA1 в замкнутом положении). Это будет адрес начала первого звукового фрагмента в памяти микросхемы. Затем нажимают и удерживают в течение всего времени записи нужной фразы кнопку SB2 ("REC"). После отпускания кнопки запись прекращается, а в памяти микросхемы в конце звукового фрагмента автоматически записывается код конца фрагмента.

К сожалению, точно определить адрес конца невозможно. Поэтому с помощью SA1 устанавливают адрес, примерно соответствующий концу фрагмента с "недобором". Это можно сделать исходя из времени, требуемого для записи фрагмента, и таблицы соответствия адресов и времени записи (в сокращенном виде — см. табл. 2). Для ISD1420 изменение адреса на 01h соответствует временному отрезку 0,125 с. Короткие сообщения вроде "Цель обнаружена" длятся около 1,5 с. После установки адреса кратковременно нажимают кнопку воспроизведения SB1 ("PLAT). Если введенный адрес оказался меньше адреса конца фрагмента, то будет слышен кусочек из конца фрагмента, а светодиод HL2 коротко вспыхнет в конце. Если же адрес был больше, то относительно долго будет тишина, а потом вспышка светодиода HL2, означающая, что воспроизведение дошло до конца памяти микросхемы. Таким способом определяют адрес конца сообщения. Адрес, следующий после конца предыдущего сообщения, станет адресом начала следующего. Все адреса, с которых начинаются сообщения, следует тщательно записать, поскольку их нужно будет внести в программу вместо тех, что получились у автора и соответствуют длительности произнесенных им фраз.

Если громкость речевых сообщений окажется недостаточной, можно увеличить сопротивление резистора R1 или применить другой усилитель с дифференциальным входом. Емкость конденсатора С6 допустимо уменьшить до 0,1 мкФ, это ускорит запуск микроконтроллера. В модуле управления электродвигателями может понадобиться уменьшить сопротивление резисторов R4 и R5 до 270 Ом.

ЛИТЕРАТУРА
1. КР1878ВЕ1 — 8-разрядный RISC-микроконтроллер. — ОАО Ангстрем.
2. (описание КР1878ВЕ1, программы транслятора, программатора и др.).
3. Богомолов Д. Частотомер на микроконтроллере. — Радио, 2000, ╧ 10, с. 4 — 6.
4. .
5. — описание микросхем серии ISD1420 (файлы 1400_1 .pdf— 1400_3.pdf).
6. — описание различных аспектов применения микросхем серии ISD1420 и подобных ей (файл apin10.pdf — примеры схем, apin03.pdf — таблица соответствия времени и адреса, apin04.pdf — часто задаваемые вопросы, apin05.pdf — о том, как работает микросхема, apin06.pdf — о применении микросхем и совместной работе с LM386, apin07.pdf — об адресации).
7. Шитиков A. ISD4004-16M — однокристальная система записи/воспроизведения речи. — Радио. 2002, ╧ 2, с. 19 — 21; ╧ 3, с. 15, 16.

Вернуться к содержанию журнала "Радио" 12 номер 2002 год







Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.