AVR отладочный конструктор.

Эмбеддерством я «случайно заразился» благодаря моему увлечению авиасимуляторами. Первым собранным мною микроконтроллерным устройством был контроллер для самодельного джойстика. Спаять и прошить его было не сложно, так как особых знаний это не требовало. И возможно, на этом мое эмбеддерство и закончилось бы, но людьми движут желания. Со временем я пожелал изменить конфигурацию моего изделия и без модификации прошивки было уже не обойтись. Вот с этого все и началось. Совершенствуя свой джойстик я постепенно накапливал необходимые знания по AVR контроллерам и на определенном этапе понял, что это не так уж сложно и чертовки интересно. После родилось несколько замечательных идей, для реализации которых потребовался уже более капитальный подход. Одним из результатов такого подхода является отладочный конструктор, которому и посвящена эта статья.

Необходимость использования отладочных плат рано или поздно настигает каждого эмбеддера. Как бы не был хорош Протеус, но все нюансы реальных схем ему не повторить. Поэтому отладка в «железе» вполне обоснованная мера. Найти подходящую готовую плату не проблема, но все же я пошел по пути самостоятельной сборки подобного устройства. Кроме платы хотелось получить еще опыт разработки и сборки.

Сеть полна информацией о различных реализациях отладочных плат. Существует очень много готовых промышленных решений. Любительских хотя и меньше, но они не менее интересны. Анализируя каждое найденное мною решение, я пытался выделить из них все то, что было бы легко повторить. Вероятно, самым насыщенным источником информации для меня послужили отладочные платы и аксессуары от MikroElektronika  (http://www.mikroe.com). На сайте этого производителя есть возможность скачать описание и схему для каждого производимого ими отладочного компонента. Эти схемы мне очень помогли. Также мне очень понравилась их концепция применения плат аксессуаров (http://www.mikroe.com/eng/categories/view/11/accessory-boards). Так формировалось видение того, что хочу получить в результате.

 

Как не странно, но первое с чего я начал было основание для отладочного конструктора. Его необходимость мне навеяли найденные в сети фото переплетенных проводами и разбросанных по столу плат. Я предположил, что если закрепить на общем основании хотя бы часть плат, то это поможет избежать возможные замыкания в результате случайного касания плат друг об друга. Для себя я вывел стандарт на размеры плат и с учетом этого просверлил в основании серию отверстий. Это позволяет мне с помощью винтов и стоек с резьбой надежно крепить несколько плат, уменьшая тем самым творческий бардак.

Следующий шаг — плата питания. Я предполагал, что источники напряжения питания моего отладочного стенда могут быть различными, и поэтому была реализована плата, задача которой получать на вход либо постоянное, либо переменное напряжение то 7 до 18 вольт, а на выходе выдавать стабилизированные 5 вольт. Клемники и разъемы были использованы для различных способов подключения к плате. Схема платы проста и основана на стабилизаторе 7805. На случай легких перегревов стабилизатора предусмотрел небольшой радиатор.

Плата контроллера. Возможно самый сложный этап работ. Я тщательно выбирал контроллер, который бы позволил мне выполнить успешный старт в эмбеддерстве. По параметрам цена-доступность-возможности победу одержала ATmega8. Именно благодаря ей я и реализовал первую плату контроллера под корпус DIP28. Чтобы не усложнять плату двухсторонней печатью и не увеличивать количество монтажных перемычек, я разъемы портов вместе с цепями подтяжки выполнил на отдельных платках. Это очень мне облегчило разводку платы контроллера и для плат под другие типы корпусов я опять применю этот же подход. Распиновка разъемов портов аналогична той, что используется в платах от MikroElektronika, т.е. при желании я смогу использовать их аксессуары. Эти разъемы имеют 10 выводов (8 линий порта, питание, земля). Цепь подтяжки позволяет подтягивать выводы порта как к земле, так и к питанию. Часть схемы платы обеспечивает различные режимы работы тактового генератора. Возможно подключение кварцевого резонатора на оба вывода XTAL, либо только на один вывод XTAL от отдельного генератора на инверторах, либо без внешнего кварца, тогда выводы XTAL используются уже как выводы порта B. Каждый из этих режимов настраивается подключением платы резонатора в соответствующий разъем и комбинацией перемычек. Также схемой предусмотрены различные способы подачи опорного напряжения на АЦП контроллера. Разъем подключения для SPI-программатора имеет стандартную распиновку. Групповой джампер позволяет коммутировать SPI-выводы контроллера с разъемом порта. Порой это необходимо, если подключенная к порту схема мешает программированию. На плате присутствует выключатель и индикатор питания.

Набор платок с кварцевыми резонаторами. Я выбрал самые типовые частоты и на каждую из них собрал подобную платку. Для соблюдения помехозащищенности платка двухсторонняя. Верхний слой соединен с землей и работает как экран. Корпуса кварцев припаяны к этому слою и тоже работают как экран. Разводка учитывает только одно правило — максимум земли. В плане есть изготовление такой же платки, но с разъемом под кварц.

Соединительные провода. По типу разъемов они делятся на три вида: питание, UART, порты ввода-вывода. Принятый мною стандарт разъемов и их распиновка будет поддерживаться во всех платах конструктора.

Первая плата-аксессуар. Светодиодный индикатор состояния порта. Вот и сбылась мечта идиота, теперь можно светодиодиком помигать. Даже не одним.

Далее была клавиатура на 8 кнопок. Логичный ход работ. Хотелось быстро освоить не только элементарный вывод, но и элементарный ввод данных в контроллер. Переключателем выбираются активные кнопки. Джампером можно определить уровень для нажатой кнопки, либо 0, либо 1.

Матричная клавиатура на 16 кнопок. Ее я делал «за компанию» с 8-ми кнопочной. На тот момент в ней острой необходимости не было, но рано или поздно она потребовалась бы.

Звуковая плата. На ней я разместил сразу две пищалки: с генератором и без. Выбор нужной выполняется джампером. Переключателем выбирается вывод порта. Универсальное решение, т.к. можно генерацию звука выполнять контроллером, а можно не «париться» и пикать активной пищалкой.

Далее очень захотелось «подружить» контроллер с ПК. Следующей была плата преобразователя UART — RS232. Схема типовая, на преобразователе уровней от фирмы MAXIM — MAX232CPE. Подключение контроллера к COM-порту очень расширяет круг прикладных задач.

Так как RS232 постепенно исчезает уступая место USB, то вполне логичным было изготовление платы преобразователя UART — USB. Схема также типовая, на микросхеме FT232RL.

Еще один простой адаптер я собрал, чтобы реализовать на контроллере полноценное USB устройство. Существует свободная библиотека V-USB, которая позволяет программно обеспечить USB-интерфейс для контроллеров без аппаратной поддержки USB. Хотя эта библиотека реализует только низкоскоростной режим USB, но и этого вполне достаточно для многих прикладных задач. Адаптер выполняет приведение уровней ТТЛ к уровням USB. Схема адаптера соответствует одной из рекомендуемых для V-USB.

Символьный LCD индикатор. Нет смысла комментировать необходимость данного аксессуара. Частота использования подобного индикатора в микроконтроллерных схемах говорит сама за себя.

Следующий аксессуар — плата реле. Эта плата решает задачи управления нагрузкой. В моих перспективных проектах это будет очень востребовано. Состояние каждого реле также показывается светодиодом.

Часы реального времени. Аксессуар собран на основе микросхемы DS1307. Обмен данными ведется по шине I2C. Эта шина очень популярна и сборка данной платы стимулировала меня к изучению протокола I2C. Кроме тривиальных часов с календарем, применить этот узел можно в схемах работающих в привязке ко времени или дате. Плата разведена в соответствии с требованиями по помехозащищенности для соблюдения точности хода часов.

Датчик температуры. Я использовал цифровой датчик DS18B20. Отличный стимул для изучения еще одной популярной шины — 1-Wire.

ИК-приемник. Дистанционный контроль своих устройств — это очень распространенное требование среди эмбеддеров. ИК-управление самый доступный механизм.

Аналоговая часть считывателя RFID 125 кГц. Эта плата появилась в результате реализации одного из моих проектов. На ее основе я изучал и отрабатывал механизмы радиочастотной идентификации.

 

Если к одному порту необходимо подключить несколько плат аксессуаров, то для этого применяется плата расширения порта. Кроме двух стандартных разъемов эта плата имеет два штыревых разъема для произвольных подключений.

Плата расширения порта

Подключение платы расширения порта

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

Расширенная клавиатура 8х1

 

На сегодняшний момент это вся комплектация моего конструктора. Но даже это позволяет успешно вести разработку многих интересных устройств. Развитие конструктора на этом не завершится. У меня готов список аксессуаров, которые следует еще дособрать: графический LCD индикатор, сенсорная панель, цифровой потенциометр, флеш-карта, Ethernet-адаптер, платы под другие модели контроллеров.

 

Мой способ реализации конструктора кому-то может показаться избыточным . Изготовление целой кучи плат требует больше времени и сил, чем изготовление одной большой отладочной платы, которая включала бы в себя всю вышеперечисленную периферию. Но подобное разделение помогло мне не увязнуть в процессе разработки и сборки конструктора. Реализуя небольшие по трудоемкости части, я на каждом шаге получал результат, который позволял мне далее продвинуться в изучении контроллеров и это очень стимулировало. Возможно, только благодаря такому итерационному подходу, мне, начинающему ембеддеру, удалось получить хороший опыт, знания и …….. отладочный конструктор для AVR.

На этом пока все ….

Архив с разводкой плат в Sprint Layout 5 

Запись опубликована в рубрике Микроконтроллерный конструктор. Добавьте в закладки постоянную ссылку.

60 комментариев: AVR отладочный конструктор.

  1. servio говорит:

    Hi Julio.
    I can help you to design RFID device, but I am not the expert of the MicroChip controllers. My RFID reader is based on Atmel ATmega8.
    It would be better if you tell more about your RFID project. Maybe I can help you to write the firmware for your device.

  2. Владимир говорит:

    А где бы найти принципиальные схемы…?? и что за микросхема на плате микроконтроллера?

  3. servio говорит:

    Принципиальных схем нет. Все части конструктора очень простые и я при его сборке обходился без схем, а после уже переключился на другие задачи и так и не нашел время на рисование схем. Это конечно моя большая недоработка, но для повторения моего конструктора можно обойтись и без схем. В файлах разводки плат, которые прилагаются архивом к статье, для каждого компонента на плате указан комментарий. Если открыть любой из файлов в sPrint Layout и навести мышью на компонент, то всплывет хинт с этим комментарием. В комментарии я определял либо номинал, либо марку компонента, либо кратко описывал его назначение. По этим комментариям можно легко восстановить всю схему.
    Что касается микросхемы на плате контроллера, то это 74HC04. Эта микросхема реализует внешний кварцевый генератор. Контроллер можно тактовать внутренним генератором, тогда 9 и 10 выводы можно настроить как порты ввода-вывода. Но внутренний генератор не очень стабильный и не для каждой схемы его можно использовать. В таких случаях используют кварцевый резонатор, который подключают к выводам 9 и 10 контроллера, либо если хотят сэкономить один из этих выводов под порт ввода-вывода, то кварц подключают к внешнему генератору сигнал с которого подают только на 9 вывод контроллера. Вот именно для такого случая я и добавил в схему контроллерной платы 74HC04. Палата позволяет реализовать любой из трех способов тактирования контроллера.

  4. Алексей говорит:

    Оооочень благодарен за это дело, простота и модульность) то что искал)
    а не монструозные платы формата А4 =) для начинающего любителя для поиграться по моему идеально.
    такой вопрос, основная плата и платы портов как раз травятся. Единственно что смущает это соединение плат порта к основе, просто штырьки, без пайки, без клемников, стабильный ли контакт?

  5. Алексей говорит:

    Извиняюсь, прочел предыдущие коменты, нашел ответ)

  6. Иван говорит:

    Просто чудная статья. Я думаю, что если совместить представленные фото и комментарии на схемах, начинающему радиолюбителю (даже такому полному нулю ак я) запросто удастся восстановить схему… И сама идея модульности просто прекрасна. Шаг за шагом легкими движениями руки появляются новые возможности… Все просто… И плата расширения порта… на одной плате все не реализуешь, да и случись что, не будешь ведь всю плату А3 менять, а так, маленькую легко отремонтировал и всё… Спасибо большое. Сам хотел бы попробовать аналогичное на atmega2560… хоть и впервые смотрю на микросхемы… а сейчас смотрю и думаю, платка на 2560 — это всего лишь еще одна деталька конструктора, к которому подойдут все эти схемы. Это просто чудно. каждая деталька делается легко, а в результате такие возможности…

  7. Гузель говорит:

    Заявка
    Прошу выставить счет с указанием сроков поставки

    № п/п Наименование товара Ед.измер. Кол-во
    1 Спектрофотометр КФК-3-01 315-990нм Шт 1
    2 Микроскоп стереоскопический МБС-10 Шт 6
    3 Брусковая штриховая мера IV по ГОСТ 12069 многозначная (класс точности 5) Шт 1
    4 Набор гирь (1мг-5кг) цилиндрической формы с головкой класса точности F1 Набор 1
    5 Калибратор универсальный Н4-101 Шт 1
    6 Измеритель модуляции вычислительный СК3-45 со сменным блоком Я4С-103 Шт 1
    7 Микроскоп стереоскопический МСП-1 вариант 23 Шт 1
    8 Весы лабораторные фирмы «AND» DL-3000 Шт 2
    9 Отладочная плата 1508ПЛ8Т Шт 4

    Технические характеристики:

    Спектрофотометр КФК-3-01 315-990нм
    Спектральный диапазон, нм от 315 до 990
    Спектральный интервал, выделяемый монохроматором фотометра не более 5 нм
    Пределы измерения:
    коэффициента пропускания, % 0,1 — 100 оптической плотности 0-3
    Предел допускаемого значения основной абсолютной погрешности фотометра при измерении коэффициента пропускания, %(абс.) 0,5
    Предел допускаемой основной абсолютной погрешности установки длины волны, не более, нм 3
    Диспергирующий элемент дифракционная решетка вогнутая, R 250 мм
    Источник излучения лампа галогенная КМГ 12-10
    Приемник излучения фотодиод ФД 288Д
    Индикация результатов измерения и рабочей длины волны цифро-буквенный ЖКИ / монитор ПЭВМ, принтер
    Питание фотометра от сети переменного тока напряжением (220±22) В, частотой (50±1) Гц
    Потребляемая мощность при напряжении (220 ± 4,4) В, 50 Гц, Вт не более 40
    Габаритные размеры, мм 500x360x165
    Масса, кг 14
    Микроскоп стереоскопический МБС-10
    Увеличение, 4.6 — 100.8
    Поле зрения, мм 39.0 — 2.4
    Рабочее расстояние, мм 95
    Источник света (лампа), PH8-20-1
    Габариты, мм 265 x 160 x 478
    Вес, кг 8
    Брусковая штриховая мера IV по ГОСТ 12069 многозначная (класс точности 5)
    Цена деления первой шкалы, мм 0,1
    Погрешность для шкалы, мкм 20+30L
    Длина шкалы, мм 1000.
    Набор гирь (1мг-5кг) цилиндрической формы с головкой класса точности F1 (по ГОСТOIML RIII-I-2009)
    Двенадцать видов калибровочных и эталонных наборов гирь различной комплектации классов точности Е1, Е2, F1, F2, M1 и номинальной массой от 1 мг до 5 кг. Гири, которые входят в состав наборов, обладают теми же характеристиками, что и отдельные гири соответствующих классов точности.
    Калибратор универсальный Н4-101
    • воспроизведение напряжения постоянного тока от 50 мкВ до 1000 В
    — диапазоны 200 мВ; 2; 20; 200; 1000 В
    — погрешность 0.02 – 0.05 %
    • воспроизведение напряжения переменного тока синусоидальной формы от 1 мВ до 750 В
    — диапазоны 200 мВ; 2; 20; 200; 750 В
    — погрешность 0.15 – 0.2 %
    — диапазон частот 40 — 2500 Гц
    • воспроизведение силы постоянного тока от 0,05 мкА до 50 А
    — диапазоны 200 мкА; 2; 20; 200 мА; 2,50 А
    — погрешность 0.03 – 0.15 %
    • воспроизведение силы переменного тока синусоидальной формы от 10 мкА до 50 А
    — диапазоны 2; 20; 200 мА; 2; 50 А
    — погрешность 0.15 – 0.2 %
    — диапазон частот 40 — 2500 Гц
    • интерфейс RS-232
    • диапазон рабочих температур от + 5ºС до + 40ºС
    • габариты 184,5х465х540,5 мм
    • масса 20 кг
    • питание ~230 В
    • свидетельство о поверке на эталон.

    Измеритель модуляции вычислительный СК3-45 со сменным блоком Я4С-103
    Диапазон несущих частот 0,1 – 1000 МГц
    Диапазон несущих частот с блоком ВЧ Я4С-103 0,1 — 10000 МГц
    Пределы измерения
    — коэффициента AM — 0,1 – 100 %
    — девиации частоты — 1-106 Гц
    — коэффициента гармоник огибающей — 1-10 %
    — модулирующей частоты — 0,02-200 кГц
    Пределы основной погрешности измерения:
    — коэффициента AM — ±2 %
    — девиации частоты — ±2 %
    — напряжения входного сигнала — ±(2-3) дБ
    — коэффициента гармоник огибающей — ±10 %
    Диапазон измерений напряжения входного сигнала в диапазоне частот
    от 0,1 до 1000 МГц 0,1 – 1 В
    Пределы допускаемой относительной погрешности измерений входного напряжения — ±2 дБ
    Потребляемая мощность — 120 В·А
    Габаритные размеры СК3-45 — 490х175х480 мм
    Масса прибора СК3-45 — 17,5 кг
    Свидетельство о поверке на эталон (1 разряда).

    Микроскоп стереоскопический МСП-1 вариант 23
    Увеличение с дополнительным объективом 0,5х*, крат 5 — 45 (10 — 90)*
    Панкратическийzoom-объектив, крат 1,0 ч 4,5
    Широкопольные окуляры с диоптрийным механизмом, крат/мм10х/20, 20х/12, 10х/20 со шкалой

    Весы лабораторные фирмы «AND» DL-3000
    Модель DL-3000 НПВ, г 3200 НмПВ, г 0,5
    Дискретность, г 0,01
    Класс точности высокий — II (ГОСТ 24104-01)
    Тип калибровки ручная
    Гиря для калибровки 3кг — E2
    Количество диапазонов взвешивания 1
    Дополнительные единицы измерения веса унция, фунт, фунт-унция, тройская унция, гран, карат,
    пеннивейт, мом, мессгал, тайл, тола
    Пылевлагозащита IP54 (модели DL)
    Диапазон выборки массы тары, г от 0 до НПВ
    Время взвешивания, с, не более 1
    Интерфейс RS-232
    Тип дисплея вакуумно-флуоресцентный
    Источник электрического питания от сети 220 В, 50 Гц через сетевой адаптер
    Потребляемая мощность, Вт, не более 11
    Рабочая температура от +5 до +40°C,
    ОВВ ниже 85%
    Диаметр платформы, мм 150
    Габаритные размеры (ДхШхВ), мм 193х262,5х84,5 (без учета высоты бокса)
    Масса весов, кгок. 2,5
    Гарантия 5 лет
    Средний срок службы 8 лет
    Производитель A&D Co. LTD, Япония

    Отладочная плата 1508ПЛ8Т
    Два канала ЦВС с независимой регулировкой частоты, фазы, амплитуды и смещения;
    Возможность совместного использования каналов для синтеза квадратурных сигналов;
    Тактовая частота до 1 ГГц;
    Приемник дифференциального тактового сигнала частотой до 4 ГГц;
    Управляемый делитель тактовой частоты;
    Два 10-бит ЦАП 1 ГГц;
    Виды модуляции: ЛЧМ, ФМ, АМ, ЧМ, QAM;
    Кусочно-линейная коррекция параметров сигнала в режиме ЛЧМ (коррекция sin(x)/x и др.);
    64 профиля для быстрого ( Гауссова фильтрация параметров модуляции);
    Быстродействующий компаратор (200 МГц);
    48-бит аккумулятор частоты (используется при формировании ЛЧМ);
    48-бит аккумулятор фазы;
    16-бит начальная фаза;
    13-бит умножитель амплитуды; 12-бит смещение выхода;
    15-бит таблица синусов;
    Возможность рандомизации фазы и амплитуды;
    Последовательный и параллельный интерфейсы управления;
    Линк-совместимый интерфейс данных;
    Интерфейс синхронизации нескольких микросхем;
    Напряжение питания: 1.8/3.3 В;
    Потребляемая мощность менее 1 Вт;
    Корпус: LQFP100 (14×14 мм).

    Требуется поставка оборудования указанной модели и не допускается поставка эквивалентного оборудования.
    Предлагаемое к поставке оборудование должно быть новым (т.е. оборудованием, которое не было в употреблении, не подвергалось ремонту, в том числе восстановлению, замене составных частей, восстановлению потребительских свойств, не было собрано из восстановленных узлов и агрегатов), из серийного выпуска предприятия-изготовителя, срок изготовления оборудования не ранее 2016г. и свободным от прав третьих лиц.
    Поставщик осуществляет гарантии на поставляемое оборудование со сроком не менее 18 месяцев с момента подписания товарной накладной форме N ТОРГ-12.
    Оборудование должно соответствовать требованиям Российских и международных стандартов по безопасности и иметь в России обязательную сертификацию.
    Поставщик должен обеспечить возможность послегарантийного обслуживания по дополнительному договору с сервисным центром.
    Оборудование поз.1, 3, 4, 5, 6, 8 должно быть внесено в Госреестр, иметь методику поверки и свидетельство о поверке.
    Поставщик осуществляет поставку в течение 40 рабочих дней после заключения договора.
    Поставщик представляет следующую документацию:
    — паспорт на оборудование;
    — руководство по эксплуатации и техническому обслуживанию на русском языке (в том числе и в электронном виде);
    — гарантийный талон;
    — сертификат качества;
    — свидетельство о первичной поверке (заводское) по поз.1, 3, 4, 8;
    — методику поверки (на русском языке) по поз.1, 3, 4, 5, 6, 8;
    — свидетельство о поверке на эталон по поз.5, 6.

    С уважением,
    Директор ООО СК «Континент» ______________ Яковлев А.А

  8. Аноним говорит:

    Что это за КОНТИНЕНТ?
    что это было?

  9. VideoPortal говорит:

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

  10. Logingood говорит:

    Перезалейте архив с платами……..а то ссылка мертвая……..

Добавить комментарий

Ваш e-mail не будет опубликован.