понедельник, 22 октября 2012 г.

Pololu USB AVR Programmer

Одна из важных задач при разработке устройств на базе Arduino своими руками - как запрограммировать (прошить) bootloader (загрузчик) в микроконтроллер.
Один из вариантов использовать LPT порт компьютера и пять проводов.
Но LPT порт отсутствует на многих современных компьютерах, к тому же программное обеспечение для прошивки через этот порт нестабильно работает на быстрых процессорах. 
Для решения этой задачи можно воспользоваться недорогим программатором от Pololu Robotics and Electronics

Рис.1 Pololu USB AVR Programmer


Это устройство представляет собой программатор для микроконтроллеров AVR, которое эмулирует STK500 на виртуальном последовательном порту, что делает его совместимым со стандартным программным обеспечением AVR.
Две дополнительные функции очень полезны при создании и отладке проектов: последовательный порт (TTL-уровень) для связи и двухканальный осциллограф (SLO-Scope) для мониторинга сигналов и уровней напряжения.
Программатор предназначен для контроллеров AVR, которые могут быть запрограммированы через AVR ISP интерфейс.
В программаторе предусмотрена возможность обновления прошивки, что позволяет расширять список программируемых микроконтроллеров.
Программатор питается от шины питания USB (5 В), и предназначен для программирования микроконтроллеры AVR, которые работают от напряжения близкого к 5 В (в программаторе не предусмотрено питание программируемого микроконтроллера).
Работоспособность программатора был протестирован под Windows XP, Windows Vista, Windows 7 и Linux и ограниченная поддержка под Mac OS X.

Дополнительные возможности (бонусы):

Последовательный порт (TTL)
Программатор Pololu AVR USB может использоваться и как адаптер USB/serial, но обладает более широкими возможностями. Программатор устанавливается как два виртуальных СОМ-порта: один для связи с софтом для программирования и один для универсального адаптера USB/serial. Это означает, что вы можете переключаться между программированием AVR и отладкой через последовательный порт TTL без необходимости открывать и закрывать программу. В дополнение к линиям последовательных передачи (TX) и приема (RX), программатор позволяет использовать каналы А и В как последовательные линии квитирования. Утилита конфигурирования программатора позволяет вам самостоятельно определить один или оба канала использовать как линию квитирования. Программатор также дает доступ к 5 В шине питания USB через VBUS-контакт.


Двухканальный осциллограф SLO-scope
В этом режиме устройство совместно с приложением для Windows SLO-Scope от Pololu, может также выступать в качестве двухканального осциллографа (SLO-Scope), путем использования каналов А и В в качестве аналоговых входов по напряжению. 
SLO-Scope может измерять напряжение в диапазоне от 0 до 5 В (ограничено максимальным напряжением шины USB), или выше, в случае использования внешнего делителя напряжения. Поддерживается два режима дискретизации: 10 кГц выборка из двух 8-разрядных аналоговых входов или 20 кГц выборка из одного 7-разрядного входного аналогового и одного цифрового входа. Эта функция позволяет отлаживать схемы и прошивки. (Обратите внимание, что SLO-Scope является весьма ограниченным и не предназначен в качестве замены реальному осциллографу или хорошему мультиметру, имеющим гораздо большее полное входное сопротивление, более высокое разрешение, диапазон и частоту дискретизации.)


пятница, 19 октября 2012 г.

Модуль для подключения аналоговых и дискретных датчиков на базе Arduino своими руками

Для начала экспериментов c платформой Arduino можно приобрести готовую плату, список поддерживаемых плат можно посмотреть на официальном сайте.
Но есть и другой путь, конечно если не пугает слово паяльник и технология домашнего изготовления плат методом лазерного принтера и утюга (ЛУТ).
Для экспериментов необязательно копировать всю плату и соблюдать габаритные размеры, которые важны только при использования стандартных плат расширения функционала - шилдов (Shields).
Для экспериментов с подключение к компьютеру аналоговых или дискретных датчиков можно собрать простую схему, приведенную на рис. 1. 
Схема разрабатывалась для тестирования источника опорного напряжения (ИОН) интегрированного в микроконтроллер и внешнего MCP1525, производства Microchip.

Рис. 1 Принципиальная схема модуля





Чертеж печатной платы модуля приведен на рис. 2. 
При использовании интегрированного ИОН, DA1 и конденсаторы C5 и C7 устанавливать необязательно.

Рис. 2 Чертеж печатной платы модуля.

В качестве микроконтроллера, для несложных экспериметов, достаточно микроконтроллера ATMEGA8.
Подключить модуль к компьютеру можно при помощи простого преобразователя RS-232 <-> UART (рис. 3), схема и описание которого расположены по ссылке, или использовать стандартный USBSerial.

Рис. 3 Адаптер RS232 <-> UART


Данная конструкция имеет низкую себестоимость и может с успехом использоваться в автоматике и системах мониторинга для подключения различных датчиков.



  

среда, 29 августа 2012 г.

Arduino - платформа с открытым исходным кодом

Современную электронику сложно представить без микроконтроллеров, которые стали неотъемлемой частью многих электронных узлов.
Низкая стоимость и широкие возможности позволяют их применять в различных сферах, вытесняя там где это возможно, аналоговые узлы и устройства на жесткой логике.
Для устройств хобби-класса можно с успехом использовать широко распространенную платформу Arduino.
Arduino - платформа с открытым исходным кодом для разработки прототипов  электронных устройств на основе гибких, простых в использовании оборудования и программного обеспечения.  
Платформой с успехом пользуются непрофессиональные  пользователи (художники, дизайнеры, любители и все, кто заинтересован в создании интерактивных объектов или систем управления и мониторинга.
Arduino позволяет измерять параметры окружающей среды, получая входные данные от различных датчиков и может управлять освещением, двигателями, и другими устройствами. 
Микроконтроллер, установленный на плате, программируется с использованием специально разработанной и постоянно развивающейся среды разработки. 
Среда позволяет писать код и загружать его в плату ввода/вывода и работает под Windows, Mac OS X и Linux.
Среда написана на Java, использует AVR-GCC и другое программное обеспечение с открытым исходным кодом.
Arduino проекты могут быть автономными или могут обмениваться информацией с программным обеспечением, работающим на компьютере (например, Flash, Processing, MaxMSP).
Как и всякая другая платформа она имеет свои преимущества и недостатки, но простота использования и наличие огромного количества готового исходного кода, делает ее несомненным лидером среди подобных платформ.
Скачать среду разработки с http://arduino.cc/en/Main/Software, на данный момент доступна версия [1.0.1] (90 Мб). Установка в Windows в извлечении из архива и добавление ярлыка на рабочий стол (при желании).
Для экспериментов можно приобрести готовую плату, список поддерживаемых плат можно посмотреть на официально сайте http://arduino.cc/en/Main/Hardware ).

понедельник, 27 августа 2012 г.

Наладка модуля BM250F


В одной из публикаций была рассмотрена доработка модуля для более устойчивой работы, но если устройство не работает или работает неустойчиво, значит требуется его доработка напильником. :)

Наладку нужно начинать с тестирования состояния установленных электродов и изменения сопротивления между ними в процессе работы.
В процессе работы котла, на его стенках и электродах образуется накипь, которая в какой-то степени является проводником электрического тока.

Измерение сопротивления напрямую тестером вряд ли прояснит картину, но можно провести измерения напряжения воспользовавшись схемой рис. 1

Рис. 1 Принципиальная схема модуля для тестирования электродов

Электроды подключаем к контакту X1 и Х2, третий электрод общий подключаем к общему проводу (GND).
Далее подаем питание  (3 - 5) В на выводы VDD и GND и проводим измерения в точка VDD, Х1, X2:
1. Электроды и емкость сухие (! желательно, но необязательно).
2. Электроды погружены в воду (емкость заполнена).
3. Вода слита (емкость между электродами мокрая).
4. Электроды погружены в воду рабочей температуры.
5. Между электродами пар. (!!! обязательно)


В первом случае напряжение в точках X1 и X2 будет около половины напряжения питания.
По изменению напряжения в других режимах можно судить о возможности применения данного устройства для каждого конкретного случая.

Номиналы сопротивлений указаны ориентировочные, они могут иметь другие номиналы в диапазоне (10 - 510) кОм.



вторник, 21 августа 2012 г.

Модернизация устройства управлением насоса BM250F


Компания Мастер Кит выпускает много интересных и полезных устройств.
Среди них их "устройство управления насосом" BM250F, принципиальная схема приведена на рис. 1.
Принцип работы модуля довольно подробно "разжеван", но ..
На одном форуме появилось сообщение о том, что устройство прекрасно работает в холодной воде, но если его уставить в котел, то при нагреве воды устройство работать отказывается.
Давайте попробуем разобраться в чем отличие между горячей и холодной водой в котле. А отличие очевидное - при нагреве воды выделяется пар.
А что такое пар, та же вода только "меньшей концентрации" в котором тоже находятся соли, пропускающие электрический ток. :)
То есть между электродами, даже если они и не погружены  в воду, все равно находятся пары воды, через которые в какой-то мере протекает электрический ток.
Теперь давайте посмотрим на схему (рис. 1).
Согласно описанию, необходимым условием для включения насоса должны быть закрыты транзисторы T1 и T2.

Рис. 1 Принципиальная схема BM250F
Включение Т2 вполне корректно, а вот включение транзистора Т1 неправильное и изменении условий эксплуатации повлияло на работу устройства.
Дело в том, что база транзистора Т1 при отсутствии воды висит в воздухе и напряжения смещения проходящего через пары воды достаточно, чтобы удерживать транзистор в открытом состоянии.
То есть BM250F "считает" что нижний электрод еще в воде.
Ну и резонный вопрос: "Что делать?"
Все очень просто, нужно еще добавить в схему всего один резистор R2_2 (рис. 2), номиналом аналогичным номиналу R4.
"Подтяжка" базы транзистора T1 обеспечит удержание перехода "база-эмиттер" в закрытом состоянии, соответственно будет закрыт переход "коллектор-эмиттер" и работоспособность устройства будет восстановлена.

Рис. 2 Доработка входной цепи BM250F

Для более устойчивой работы устройства можно экспериментально подобрать сопротивление резисторов R2_2 и R4.
Хочется отметить, что подобные ошибки часто встречаются и в профессиональной схемотехнике.

воскресенье, 19 августа 2012 г.

Расчет гасящего резистора для светодиода

При подключении светодиода (рис. 1) необходимо обеспечить напряжение, не превышающее максимально допустимое значение для используемого типа и ограничить ток через него.
Рис. 1 Принципиальная схема подключения светодиода
С напряжением проще, если источник питания выдает большее напряжение, добавляем стабилизатор, например LM78L05.
Можно конечно схему  на транзисторе и стабилитроне (рис. 2) собрать, но для стандартного решения вряд ли это будет целесообразно.
Рис. 2 Принципиальная схема стабилизатора


А вот для ограничения тока нужно рассчитать гасящий (токоограничивающий) резистор.

Проще всего это сделать в два приема, сначала теоретически, потом практически.  :)
Дело в том, что падение напряжения на переходе светодиода может отличаться даже у одинакового типа элементов, поэтому для изначального расчета целесообразно принять несколько заниженное значение (Uled = 1В).
Далее по закону Ома рассчитаем сопротивление R = (Uvdd - Uled) / I 
Округляем полученный результат до значения резистора, который есть в наличии и собираем схему. Подключаем источник питания, измеряем параметры и при необходимости корректируем значение резистора.

воскресенье, 12 августа 2012 г.

Простой индикатор уровня воды


Для определения уровня воды в непрозрачных резервуарах или дистанционно можно собрать простую схему (рис. 1). Принцип действия этой схемы использует свойство воды проводить электрический ток, за счет растворенных в ней солей.
Схема позволяет определять четыре уровня, но может быть легко модернизирована до требуемого количества датчиков. В качестве датчиков можно использовать, например, электроды изготовленный из проволоки или пластин из нержавеющей стали.



Рис. 1 Принципиальная схема индикатора уровня воды.
Входная цепь представляет собой делитель в верхнем плече каждого из каналов которого включены токоограничивающие резисторы (R1 - R4), а в нижнем резисторы, подтягивающие базы транзисторов к общему проводу питания. При отсутствии между электродами воды транзистор закрыт и соответствующий светодиод погашен.
Как только между электродами появляется вода, на базе транзистора появится потенциал, который откроет транзистор управляющий светодиодом.
В качестве транзисторов можно использовать любые маломощные n-p-n транзисторы. Схема тестировалась с использованием транзисторов BC847 и КТ315.