воскресенье, 12 июля 2015 г.

Дальномер на Arduino

Изготовить дальномер можно имея плату Arduino UNO (можно заказать по этой ссылке) (или любое другое Arduino), датчик HC-SR04 (можно заказать по этой ссылке) (ультразвуковой датчик расстояния), провода и компьютер с USB портом для подключения Arduino, записи в него скетча и вывода на монитор расстояния.
Схема подключения:
Рисунок 1 - Ультразвуковой дальномер на ардуино

Соединять датчик с Ардуино можно любым доступным способом так чтобы образовались токопроводящие пути от вывода Vcc датчика до вывода 5V Ардуино, от Trig датчика до 12 вывода Ардуино, от Echo датчика до 11 вывода Ардуино и от Gnd датчика до GND Ардуино. Вместо выводов 11 и 12 можно использовать любые другие выводы общего назначения но для использования примера NewPing нужно использовать именно 11 и 12 и соединить так как показано на рисунке 1.

Для использования HC-SR04 также понадобиться библиотека NewPing в которой имеется пример скетча для измерения расстояния с использованием датчика HC-SR04. После скачивания библиотеки её необходимо разархивировать и поместить в папку "libraries" которая находится в папке "arduino-nightly" (в которой находиться среда разработки Arduino). После того как NewPing перемещена её можно открыть и там будет папка с примерами "examples" в этой папке будет пример "NewPingExample" открыв этот пример и загрузив скетч в Arduino получаем готовый ультразвуковой дальномер. Если загрузка скетча прошла успешно то увидеть результаты измерения датчика можно открыв вкладку "Инструменты" и выбрав "Монитор последовательного порта" или нажав сочетание клавиш Ctrl+Shift+M.
Если выводятся непонятные символы то в левом нижнем углу открывшегося окна монитора последовательного порта нужно открыть окно и в выпадающем списке выбрать скорость ту что прописана в скетче т.е. 115200 бод.
Если расстояние от датчика до какого либо предмета (в направлении от лицевой стороны этого датчика где находятся две цилиндрические штуки) больше 200 см то в окне будет выводиться 0 или ещё какая нибудь ерунда. Датчик может мерить расстояние до 400 см. При желании скетч можно переделать и определять большее расстояние.

КАРТА БЛОГА (содержание)

суббота, 4 июля 2015 г.

Радиоуправляемая машинка своими руками.

Изготовление электроники радиоуправляемой машинки можно значительно упростить если использовать микросхемы радиотрансиверы. Одной из таких микросхем является MRF49XA работающая с небольшим количеством обвязки (кварцевый резонатор и несколько конденсаторов). Данная микросхема может работать с радиоволнами с частотой 915МГц, при такой частоте можно использовать небольшую антенну без согласования что тоже упрощает изготовление электроники. Т.к. множество элементов для приёма, передачи и других функций содержится в одной микросхеме в SMD корпусе то систему радиоуправления можно сделать очень небольшой что хорошо подходит для небольших радиоуправляемых моделей. Для взаимодействия с MRF49XA можно использовать микроконтроллер. Обмен информацией между MRF49XA и микроконтроллером осуществляется через интерфейс SPI и некоторое количество дополнительных линий. Т.к. по SPI осуществляется синхронная передача то частота передачи может сильно меняться, быть небольшой и это не будет мешать передаче данных. Передача по SPI просто реализуется программно поэтому можно использовать микроконтроллеры без аппаратного SPI например ATtiny2313. Схема передатчика м.б. например такой:
Рисунок 1 - Передатчик

Конденсаторы C2 и C3 необходимо как можно ближе расположить к микросхеме DD2, конденсатор C3 нужен для нормальной инициализации радиотрансивера MRF49XA в момент подачи питания. Кварцевый резонатор ZQ1 д.б. на 10 МГц (в крайнем случае м.б. на 9 или 11). Петлевая антенна (в виде прямоугольника) вытравливается на плате точно по размерам из документации Antenna Selection Guide for the Si4020 and Si4320 ISM Band FSK Transmitter/Receiver Chipset (страница 8 рисунок (Fig) 2.1 (на момент написания статьи)). Схема приёмника м.б. например такой:
Рисунок 2 - Приёмник

Антенна, кварцевый резонатор и конденсаторы д.б. такими же как и в передатчике и располагаться также. Для усиления сигналов с микроконтроллера и управления двигателями может использоваться драйвер например L293D. С таким приёмником можно например сделать машинку с двумя двигателями один из которых будет крутить колёса с правой стороны а другой с левой, тогда поворот будет осуществляться тогда когда колёса крутятся в разные стороны или колёса с одной стороны крутятся а с другой стоят. Можно сделать машинку с двигателем двигающим её вперёд/назад и рулевой системой для поворотов. Для рулевой системы для поворотов можно использовать миниатюрный актуатор с шаговым двигателем для дисководов. Для управления таким двигателем можно сделать отдельное небольшое устройство:
Рисунок 3 - Контроллер шагового двигателя с драйвером.

Для того чтобы крутить шаговый двигатель в одну сторону подаётся низкое напряжение на input1 для того чтобы крутить в другую низкое напряжение подаётся на input2. соединить устройства можно например так:
Рисунок 4 - Пример соединения

Проекты с исходными кодами для приёмника, передатчика и контроллера шагового двигателя находятся по ссылке: https://yadi.sk/d/bTpG8B2xhfcBi. ATtiny2313 можно программировать прямо в плате через программатор stk200 и среду WinAVR, для PIC16F84 лучше сделать панельку в которую он будет вставляться после программирования JDM программатором (или другим) и программу IC-prog (или другую).
Тест драйв, рекомендации по изготовлению и некоторые другие смотрите в видео:

Ссылки с полезной информацией на используемые сайты:
Возня с MRF49XAmicrochip MRF49XA.

Заказать микросхемы MRF49XA 10шт.(меньше не нашёл), attiny2313 корпус SOP20 (большой smd с 20ю выводами) 5шт, l293d sop20 5шт.

КАРТА БЛОГА (содержание)