РЛН-Электро (Отладочная плата)
Дисклеймлер: Не смотря на повсеместное использование контроллеров STM32, 8-разрядные контроллеры AVR все еще в строю и прочно держат свою нишу встраиваемых устройств малой и средней производительности.
UPD: 02 марта 2022г. Информация написана в 2012 году, что-то могло устареть. Но плата используется мной до сих пор.
Вступление
Разрабатывая тот или иной контроллер автоматики, мне постоянно требуются два инструмента для работы — меня любимая МенюОС, с помощью которой я создаю нужный мне пользовательский интерфейс настройки, и, собственно. контроллер с кнопками и дисплеем, на котором все это дело приходится отлаживать. Добавляем сюда пару интерфейсов вроде RS-232 и RS-485, подключаем датчик тока (позиционный электропривод — наше все) и прикручиваем Ethernet — толку от SCADA-систем без Ethernet мало… Не забываем о том, что пайка мало того, что дело вредное, паяльника под рукой может не оказаться… Смешав все в кучу, получаем вот такую вот интересную отладочную плату. По образованию я инженер-электрик, отсюда и название — Отладочная плата электрика
Отладочная плата RLN Electro предназначена для отладки и прототипирования управляющих прошивок на базе микроконтроллеров AVR.
При ее создании, я руководствовался следующими критериями:
- Никаких лишних соединений и проводов. Все выводы жестко завязаны на свои функции, причем ноги распределены таким образом, чтобы минимизировать потери полезных функций и увеличить выгоду от сочетания «процессор — дочернее устройство». Именно поэтому, к примеру, Энкодер оказался подключен к входам PCINT. Недостаток такого подхода — отсутствие гибкости — компенсируется надежностью и компактностью решения.
- Удобство компоновки органов управления — необходимо все распределить так, чтобы после подключения проводов к разъемам шлейфы не перекрывали их.
- Максимальное число интерфейсов. В первом приближении работа не завершена, однако наличие на данной плате Ethernet и USB на порядок увеличивает число возможных применений данной платы.
- Функциональный метод сборки, который позволяет устанавливать текущий функционал платы простой распайкой только необходимых компонентов на плате — в виду компактности последней становится возможным устанавливать ее в конечную систему управления — это снимает требование разработки специальной платы и повышает скорость разработки.
Рассмотрим все возможности данной платы:
Процессор:
В качестве процессора был выбран самый мощный контроллер серии 8-bit AVR – микроконтроллер Atmega640/1280/2560 в корпусе TQFP-100. Полную информацию по процессору можно узнать из датащита: ATmega1280.pdf, однако приведем самые основные его характеристики:
- 64/128/256 Кбайт Flash для хранения прошивки;
- 8Кбайт ОЗУ;
- 4Кбайт EEPROM для хранения данных;
- до 20МГц тактовой частоты процессора (сменный кварцевый резонатор);
- 2 8-разрядных таймера/счетчика и 4 8-разрядных канала ШИМ;
- 4 16-разрядных таймера/счетчика и 12 16-разрядных канала ШИМ;
- 16 каналов 10-разрядного АЦП, из них 8 каналов полностью доступны пользователю, а к 4 каналам подключены потенциометры. Оставшиеся 4 канала выведены на разъем JTAG с неотключаемыми (в рабочей версии платы) резисторами подтяжки;
- 86 линий ввода/вывода, из которых пользователю непосредственно доступно 49 выводов;
Органы управления и контроля:
- Плата снабжена 4-разрядным 7-сегментным светодиодным индикатором с параллельным интерфейсом и разъемом для подключения символьного ЖКИ по 4-разрядному интерфейсу.
- Помимо этого, присутствуют 5 кнопок, подключенных к выводам PG0-PG4. Данные кнопки хорошо подходят для навигации по меню системы МенюОС.
Для прокручивания длинных списков, установки различных числовых значений и просто для регулирования параметров в рабочем режиме имеется Энкодер. Он подключен к выводам PJ5 И PJ6, с функцией вызова прерывания PCINT1_vect. Это дает возможность вести подсчет импульсов в фоновом режиме, с помощью обработчика прерывания.
- 4 Потенциометра позволяются задавать то или иное значение на одном из 4 входов АЦП(ADC0 -ADC4). В бета-версии подключение потенциометров инвертированное — минимальное значение на входе АЦП возвращается при повороте ручки потенциометра вправо до упора.
Выводы вход/выход:
- Практически все свободные выводы микроконтроллера подключены к штырьковым разъемам IDC-10. При этом, три порта микроконтроллера — PORTD, PORTL и PORTK — выведены полностью и продублированы винтовыми зажимами для удобства подключения.
- Для максимального удобства все разъемы подписаны и для каждого на плате располагается таблица выводов. В финальной версии для разъемов PORTGB и PORTE — будет введена аналогичная разъемам PORTD, PORTK, PORTL схема подключения — выводам PIN0-PIN7 соответствуют выводы 1-8 разъема, 9 вывод — +5В питания, 10 вывод — общий провод.
- Точек подключения питания 5В и Общего провода только винтовых — по 6 точек. По три точки каждого уровня слева и справа на плате.
Интерфейсы:
На плате присутствуют следующие интерфейсы:
- RS-232 на базе микросхемы преобразователя MAX232. Данный преобразователь при помощи джамперов подключается к порту UART2 контроллера.
- RS-485 на базе микросхемы ADM3485. Данный преобразователь жестко подключен к синхронному порту UART1.
- USB с разъемом формата B для подключения платы в качестве дочернего устройства. Преобразователь собран на базе микросхемы FT232RL. Особенностью этой микросхемы и разводки является то, что она может выступать программатором. Для этого на плате предусмотрен 4-контактный разъем для подключения к контроллеру и программирования в т. н. Режим bit-bang.
- Аналоговый датчик тока на базе эффекта Холла с гальванической развязкой. Подключается к входу ADC8 АЦП контроллера. В данный момент устанавливается датчик на номинальный ток 5А постоянного и переменного тока.
Из разъемов программирования на плате имеются:
- 6-контактный и 10-контактный разъемы программирования ISP для подключения старых и новых версий программаторов.
- 10-контактный разъем программирования и отладки при помощи JTAG
Ethernet
Данная плата оборудована Ethernet контроллером W5100 для организации связи с сетью Интернет. Данная микросхема обладает аппаратным TCP-стеком что экономит вычислительные ресурсы контроллера. Схемотехника Ethernet-контроллера аналогична применяемой на Ethernet-shield для Arduino и практически совместима с ним. Отличие от стандартной библиотеки в номере ноги с функцией SS — в Arduino он подключен к ноге PB4, в данной плате к ноге PB0. Сделано это для высвобождения ноги с функцией ШИМ.
Гальваническая развязка:
- В качестве выходов с гальванической развязкой используются 6 миниатюрных реле с 1 переключающейся группой контактов.
- В качестве гальванически развязанных входов предполагалось использовать 4 входа на оптопарах, однако при разработке были применены микросхемы, отсутствующие в необходимом миниатюрном корпусе и в бета-версии не установлены. В промышленной версии данные входы будут присутствовать. Подключаются они ко входам PJ0-PJ3, с функцией PCINT.
И небольшой темный обзор на данную плату
Документация
- https://github.com/radiolok/rln_electro - репозиторий проекта.