Главная - Источники света
Отладочные платы avr. Ручное изготовление печатной платы

Универсальная отладочная плата FastAVR для начинающих в программировании МК ATMEL разработана на основе анализа около десятка подобных конструкций. Плата представляет собой разумный компромисс между избыточной функциональностью большинства из них или слишком примитивных возможностей других. Имея некоторый опыт в работе с разными микропроцессорными системами, ниже я буду комментировать свои мысли,- как был задуман тот или иной узел платы. Соглашаться с ними или нет - ваше дело, но может быть частично они будут полезны осваивающим AVR в дальнейшем...

В основу конструкции легли разработки и аппноуты Микроэлектроники (http://www.mikroe.com/ru/). Но платы EasyAVR (да и не только) содержат слишком много компонентов, которые привлекают пестротой и качеством изготовления новичков в микропроцессорной технике, на самом деле половина из них становится ненужной после удачной компиляции 5-6 примеров программ и получения опыта. Посудите сами- зачем вам на плате куча светодиодов и кнопок подключенных на каждый порт? Все это актуально пока вы не научитесь управлять пинами порта и помигать индикаторами, а это произойдет весьма быстро;-) На этот случай на плате имеются 4 светодиода и переключатель, для начала вполне достаточно...

Итак, возможности отладочной платы:

  • основной набор периферии для поддержки ATmega: RS-232 конвертер, бипер, SPI EEPROM, LCD и LED-индикаторы, встроенный тактовый генератор + кварц, клавиатура PS-2, ADC тестер, логические тестеры;
  • возможность повторения в домашних условиях, односторонняя печатная плата оптимизированная под лазерно-утюжную технологию, небольшие размеры;
  • применение всех компонентов только в DIP корпусах- позволяет легко заменять их в процессе экспериментов либо запрограммировать сам процессор для других схем (например для JTAG);
  • полная функциональная достаточность для создания несложных прототипов устройств и их отладка;
  • разъем стандартного SPI программатора STK-200 с селективной подачей питания на программатор, возможность внешнего подключения JTAG;
  • возможность включения платы в режиме JTAG ICE простой перекоммутацией;
  • возможность независимой коммутации набортной периферии в любых сочетаниях благодаря линейной технологии расположения всех портов МК;
  • возможность легкого подключения любой внешней периферии и использования на 100% ресурсов ATmega в DIP-40, все порты поразрядно доступны, более того - вся внутренняя периферия платы позволяет использовать ее для внешних устройств (например тактовый генератор или LED индикаторы;

Все это не требует доработок платы или пайки. Т.о. на начальном этапе освоения МК возможностей FastAVR вполне достаточно. Тот, кто задумает двигаться дальше, уже после создания собственного ПО сможет самостоятельно решить, что ему нужно конкретно и делать прототип конструкции с собственным набором периферии. Еще раз повторяюсь- плата создана для начала изучения МК AVR, более никаких целей не преследовалось. Появление самой документации связано с интересом, который проявляют многие начинающие осваивать данный тип контроллеров или еще думают с чего начать. А начинать нужно естественно с тест-платы;-)

МК AVR- самодостаточные контроллеры, однако процессор это еще не вся система. "Кубики" обслуживающие его или управляемые им, сами по себе можно рассматривать как отдельные блоки будущих конструкций. Объединив их на основной плате все вместе можно комбинируя получить нужные результаты. Сначала плата задумывалась на основе ATmega8, т.к. он дешев и имеет практически все возможности AVR. Однако, вняв советам, я решил не экономить и поставить максимально доступный в DIP-корпусе микроконтроллер- ATmega16 либо 32. Цоколевка обоих МК идентична. Себестоимость такого решения сторицей окупается количеством портов ввода-вывода, к которым можно подключиться хотя бы на время отладки. Совместимость снизу-вверх для всех поколений AVR позволяет производить написание и отладку программ используя более мощный чип, а затем произвести компиляцию для целевого кристалла. Достаточный ресурс флеша позволяет не "зацикливаться" на ограниченности в возможностях перепрограммирования Меги, тем более что можно достаточно поупражнявшись, отправить доживать МК в рабочую конструкцию, прошив его в последний раз (JTAG ICE тому первый претендент)

Для изготовления платы потребуется немного недефицитного компьютерного "хлама", которого хватает в кладовках любого электронщика. Большинство компонентов применено от старых либо отказавших материнских плат IBM PC либо околокомпьютерной техники, в последнее время железо такого рода все больше приходит в негодность и выбрасывается либо валяется без применения. Т.к. с SMD мелочевкой практически ничего сделать не получается (отсортировать проблема, да и время...), я распаиваю такие девайсы целиком либо строительным феном, либо на электроплитке.

Основное описание FastAVR ниже по блочно:

Питание. Встроенный стабилизатор на 78(М)05 позволяет запитывать плату от широко распространенных адаптеров 9-12В взятых от другой аппаратуры, которые обычно простаивают. В обычном включении этого достаточно (Мега-16/32 + LCD + RS232 + TXO), при использовании набортного 7-ми сегментного LED, либо сильно прожорливой внешней периферии (сложного программатора) стабилизатор уже очень горячий. Подключение внешнего стабилизированного напряжения +5В возможно через pin-3 X1 (применен разъем от кулеров матплат). Предварительно необходимо отключить джамперы JP1-JP2 группы VCC_SEL. Х1 такого типа выбран по нескольким причинам, основная- почти всегда приходится делать переходник для питания платы от разных адаптеров что есть в наличии либо лабораторного БП. Проходные ферритовые дроссели (балун) FB1,FB2 фильтруют импульсные помехи и ВЧ наводки. На диодах VD1,VD2 выполнена защита от "переплюсовки". В нескольких местах платы установлены джамперы VCC_EXT и GND_EXT. Через них достаточно просто при подключении периферии снимать питающее напряжение и общую "землю".

Внешняя память реализована на стандартной I2C EEPROM 24cXXX. Хотя сам AVR содержит собственную энергонезависимую память, однако во многих конструкциях внешний чип может быть предпочтительней из-за объема либо ресурса. Схема включения стандартная, адрес кристалла 0x01.

Линейные LED индикаторы состояния портов HL2-HL5 выполнены на 4-х дискретных светодиодах. Для начала экспериментов с AVR этого достаточно, большее их количество считаю не оправданным и скорее украшательством. Светодиоды включаются при записи в порт лог."1", т.о. состояние порта отображается без инверсии сигнала, что удобно и наглядно.

Подключение к плате индикатора LCD сделано через 2 разъема, возможно использовать как 8-ми битный так и 4-х битный режим. Первый из них - 34-х пиновый Х2 (от 3,5" дисковода) позволяет использовать стандартные перепрессованные шлейфы от дисководов нужной длинны, соответственно на самом индикаторе лучше распаять штыревую джамперную линейку (пин-блок), это позволяет быстро менять разные индикаторы без боязни перепутать выводы. Подключение к портам авра осуществляется через пин-блок Х10, т.о. помимо самого режима подключения LCD можно гибко выбрать выводы МК. Такая конструкция позволяет легко адаптироваться к свободным портам контроллера, даже "набрать" их по-одному из разных групп портов, что бывает необходимо при соответствии конкретному отлаживаемому прототипу или вновь конструируемая печатная плата получается от этого удобнее в разводке.


Во многих случаях применение ЖК-индикатора может быть не оправдано по цене, габаритам либо надежности. Например, в простейшем зарядном устройстве или таймере вполне может потрудиться и 2-х разрядный LED индикатор. Имеющиеся у меня в наличии сдвоенные 7-сегментные индикаторы распространенного типа с высотой знака 14мм оказались как с общим анодом, так и с общим катодом (списанные кассовые аппараты и системные блоки 486 компьютеров). Пришлось применить 2-х тактные ключи на VT1-VT4 для подключения индикаторов любого типа и соответственно панельку под сам индикатор, чтобы в дальнейшем не ломать голову со схемотехникой.

Все подключение периферии к портам ATmega, как отмечалось ранее, выполнены через линейные пин-блоки X3-X6. В основном на отлаживаемых платах я наблюдал применение разъемов типа IDC-10 (2х5). Единственное их преимущество в этом случае- наличие "ключа", дабы не попутать местами шлейф при подключении. На этом достоинства такого способа кончаются и начинаются недостатки- даже визуально неудобно работать с 8-ми разрядными портами, т.к. выводы не расположены в ряд, невозможно кроме шлейфа ничем подключить встроенную периферию. Применение пин-блоков дает прямо противоположный результат, кроме того- через стандартную перемычку-джампер легко контролировать любые сигналы сверху, например логическим пробником или осциллографом, не нужно тыкаться и считать по ножкам порта боясь случайно "коротнуть" выводы. Прибавьте сюда максимальную дешевизну и многоразовость данного соединения, ведь гораздо проще заменить шлейф или джампер, чем разъем впаянный с плату. Тем более, что сейчас в продаже даже в нашей глубинке можно найти вот такие ответные части разъемов (либо использовать от старых системных блоков), что позволяет легко и быстро комбинировать соединители (рис):


Для звука применен распространенный бипер сопротивлением около 80 Ом от матплат. Сигнал не очень громкий, но достаточный для контроля (R23 и так выбран на пределе). Отдельный ключ я не стал ставить, желающие могут распаять его на местах для макетирования, обозначенных как TEMP. Небольшой совет - работая со звуком, не забывайте в конце процедуры генерации сигнала ставить команду, сбрасывающую в лог."0" вывод PD7, иначе после прекращения генерации там может остаться "1" и ток через динамик будет продолжать идти, что не есть good хотя бы по соображениям общего потребления AVR-а.

На 4-х разрядном DIP-переключателе SW4 собран задатчик логических сигналов для портов. Здесь ситуация с количеством аналогична LED светодиодам. Т.к. входы авров имеют внутренние подключаемые pool-up сопротивления, то соответственно "подтяжки" к питанию ставить нет нужды. На резисторах R18-R21 собрана защита от ошибок случайного включения портов МК на вывод. В ревизии платы 1.03 и выше дип-переключатель при отсутствии может быть заменен джамперами. Недавно мне понадобилось быстро сделать из платы JTAG ICE. В связи с чем в rev 1.4 введена резисторная матрица RN1, которая позволяет аппаратно формировать лигическую "1" на нескольких входах контроллера. Если вам это не нужно - можно не устанавливать RN1.

Тактирование МК выбирается пин-группой CL_SEL и может осуществляться от внешнего кварцевого резонатора Z1 (устанавливаются только JP37, JP38), интегрального кварцевого генератора G1 (16МГц), либо с делителя на:2 и:4. Т.о. помимо кварца можно тактировать процессор частотами 16, 8, 4 МГц. Можно легко прикинуть быстродействие отлаживаемой программы, либо получить стандартную тактовую частоту при запаянном спец. кварце. В-принципе при отсутствии TXO на данную частоту можно применить любой другой генератор до 16МГц. Генератор также может пригодиться вам при "поднятии" МК из-за неправильно прошитых фьюзов микроконтроллера, в этом случае частота тактирования не играет роли.

Преобразователь уровней последовательного интерфейса RS-232 для UART - неизменный атрибут большинства систем на AVR. Здесь не нужно "изобретать велосипед", достаточно стандартной MAX232. Задействованы только сигналы RX-TX, что вполне достаточно для большинства применений. Практически можно подключить CTS-RTS для аппаратного управления потоком без переделки платы, гибкими проводами на JP31-JP32 со стороны дорожек. В схеме проверены м/сх Maxim MAX232, TI MAX232 и SIPEX SP3232- ставьте любые совместимые по цоколевке аналоги.

Внешняя матричная клавиатура может быть выполнена на отдельной плате и подключаться шлейфами к МК (я решил применить из манипуляторов "мышь", как правило 2 микрика там всегда исправны). На самой отладочной плате установлен двойной блок разъемов PS-2. Стандартная клавиатура IBM PC подключается без аппаратных доработок, естественно при соответствующей программной поддержке со стороны AVR. Второй разъем свободен, используйте на свое усмотрение. Как правило клавиатура - весьма специфичная вещь, зависящая от отлаживаемого прототипа, поэтому после некоторых раздумий я решил не ставить даже простейшие кнопки на плате. Свои варианты плат выложу после разводки и их испытаний.

Индикатор HL7 установлен для экспериментов со встроенным аппаратным ШИМ-контроллером.

Разъем для внутрисхемного последовательного программирования X7 сделан в соответствии STK-200. Питание на программатор можно селективно выбирать через JP43. В моем случае используется простейший программатор от PonyProg на буфере 74ALS(LS,F)244 с подключением через LPT. Все проверялось на Core2Duo + i965чипсете под управлением XP SP2, никаких проблем не возникло. Программатор запитывается через разъем с отладочной платы и удобен в работе, т.к. буферы в нормальном режиме "уходят" в Z-состояние и абсолютно не мешают в работе FastAVR. Подключение адаптера JTAG для внутрисхемного программирования и отладки в реал-тайм также возможно без доработки платы через соответствующий линейный пин-блок порта C.

Осталось упомянуть еще несколько нужных элементов:

Цепь внешнего Reset, которая у AVR достаточно простая. Ее можно отключать через JP42, хотя эксплуатация совместно с программатором нисколько не мешает. Вход сброса может быть перепрограммирован через фьюз как стандартный порт ввода-вывода и использован для периферии, однако нужно помнить что в этом случае уже невозможно повторно запрограммировать кристалл через X7 .

Переменный резистор R27, включенный потенциометром - задатчик напряжения для опытов со встроенным АЦП, выход с него может быть подан на любой из аналоговых входов МК. Небольшое замечание - обратите внимание, если вы не устанавливаете этот резистор по каким либо причинам- обязательно поставьте перемычку (на рис. пунктиром) для нормального прохождения общей шины GND!

Немного о самой печатной плате и конструкции. Как уже отмечалось, плата односторонняя. Мной пока проверены 2 экземпляра, изготовленные по лазерно-утюжной технологии (одна при печати на фотобумаге от струйников, другая на основе от самоклейки), т.о. при желании все должно получаться;-) Если задумаете фотоспособом- прекрасно! Джамперные линейки разведены с учетом "запретных зон" и применения стандартных 16-ти пиновых шлейфов (планки от GAME-PORT) даже при подключении одним крайним рядом. При отсутствии ферритовых дросселей (я применяю от старых 286 матплат или горелых мониторов) можно смело ставить перемычки. Рекомендую сразу под все чипы поставить панели дабы потом не курочить плату. Не забудьте 2 перемычки с ключей на индикатор HL6.

А вот так выглядит интерфейс для проверялки ТТЛ/КМОП логики, по мере возможностей я постараюсь рассказать, что из этого получилось.

Плата отладочная является достаточно полезным инструментом при разработке различных электронных устройств. Но можно ли создать её своими руками? Или же следует рассчитывать только на промышленные аналоги? Какие особенности есть у этого устройства? Об этом мы сегодня и поговорим.

Общая информация

Когда говорят об этой теме, то чаще всего понимается отладочная плата для Atmega8 или иного подобного микроконтроллера, в основе которого лежит 8-ми или 16-битный принцип работы. Но мир идёт вперёд. Наступает пора 32-битных микроконтроллеров. В связи с этим мы рассмотрим то, что может быть доступно нам уже сейчас. Особое внимание следует уделить отладочной плате STM32, хотя в рамках статьи рассматриваются всё же AVR. Но сначала представим общую картину.

Появление 32-битных микроконтроллеров позволило значительно расширить объем задач, которые они могли выполнить. Но необходимо оптимизировать принимаемые решения и создаваемую технику. Хотя и старым образцам будет уделено внимание, ведь не отметить их универсальность и добротность просто нельзя.

Что же собой представляет STM32?

Конечно, наибольший интерес в рамках статьи представляет плата отладочная. Но чтобы разобраться в дополнительном моменте, давайте рассмотрим основной. Допустим, у нас есть STM32F103C8T6. Отладочная плата представляет собой конструкцию с микроконтроллером, что строится на ядре ARM Cortex-M3. Оно обладает значительным количеством преимуществ, главное из которых - универсальность. Кстати, сейчас Cortex-M3 является полноценным индустриальным стандартом. Плата отладочная представляет собой поверхность, на которой могут взаимодействовать все ножки STM32, обеспечивая выполнение имеющихся задач.

Приступаем к подготовке

Итак, нам нужна плата отладочная. Какие у неё должны быть параметры? Купить её или сделать самостоятельно? Каков у неё должен быть размер? Вот с последнего вопроса мы и начнём. Первоначально необходимо подобрать такое устройство, чтобы все механизмы и составляющие элементы могли успешно разместиться на нем. В большинстве случаев достаточно, чтобы отладочная плата для AVR имела стороны в пятнадцать сантиметров. Такой размер подходит благодаря компактности и возможностям прибора.

Прежде чем приступать к изготовлению или покупке платы, необходимо первоначально составить её схему. Для этого можно разложить элементы на бумаге и провести линии соединения между ними. Если всё получилось без проблем - отлично, значит, можно приступать к практическим действиям. Тогда нужно просто разместить и припаять все требуемые элементы, и всё - плата готова. Так это выглядит вкратце. А сейчас давайте рассмотрим все более детально.

Планирование

Необходимость применения отладочных плат рано или поздно настигает каждого радиолюбителя. Это своеобразная отладка на уровне железа. При желании можно купить готовую плату на любой вкус. Но ведь нас интересует подробный разбор данной темы? Поэтому мы рассмотрим, как создаётся отладочная плата своими руками.

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

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

Плата питания

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

Плата микроконтроллера

А вот и самое интересное. Вполне возможно, что отладочные платы для микроконтроллеров и вспомогательных элементов - это сложнейшие составляющие. Ведь они являются «мозгами» технических устройств. Для успешного старта в сфере отладочных плат начинать со сложных 32-битных контроллеров нежелательно. Можно начать с чего-то попроще. Например, с ветерана мехатронных разработок ATmega8. Чтобы не усложнять ситуацию дополнительно, можно обойтись построением односторонней печати.

А что делать, если требования выходят за эти рамки? Использовать двухстороннюю печать? Как вариант - да. Но если превышение возможностей незначительно, то часто можно обойтись без монтажных перемычек. Лучше вынести разъемы портов и цепи подтяжки на отдельных миниатюрных платочках. Такой подход позволит облегчить разводку платы микроконтроллера. Но это только общая теория. Давайте же поговорим о реализации на практике.

Ручное изготовление печатной платы

Первоначально нам необходима бумага, на которой будет нарисована разводка для печатной платы. Желательно, чтобы она была тонкой. Это важно для достижения точного сверления отверстий. Чтобы не возникло никаких неожиданностей, бумагу можно приклеить к картону с помощью клея. Далее следует вырезать приклеенный рисунок. Что ж, шаблон для сверления уже готов. Подбираем заготовку фольгированного стеклотекстолита необходимого размера. Прикладываем бумажно-картонный шаблон и обрисовываем его по периметру карандашом или маркером. Затем стеклотекстолит режем по нанесённым нами линиям, используя ножницы по металлу, или же пилим ножовкой. Склеиваем части с помощью клея.

Кстати, небольшой совет: не нужно мазать всю поверхность, достаточно оставить по капле клея в каждом из четырех углов. Если нет желания ждать - используйте «Момент». Он позволит продолжить работу через несколько секунд.

Сверлим отверстия

Для этой цели наилучшим образом подойдёт специальный мини-станок. Но можно воспользоваться и ручным инструментарием. Для подавляющего большинства целей с лихвой хватает сверла с диаметром 0,8 мм. Следует отметить, что качественная плата может не получиться с первого раза из-за сложности работы и необходимости иметь твердую руку. Если подобные действия будут осуществляться впервые (а так, вероятнее всего, и будет), то можно только посоветовать морально подготовиться к тому, что будут поломаны сверла. После выполнения всего спектра работ, чтобы убедится в их качестве, посмотрите на просвет. Если будут заметны определённые дефекты, их необходимо оперативно устранить.

Наносим топографический рисунок

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

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

Переносим рисунок с бумаги на стеклотекстолит

Это самый ответственный этап. Необходимо бумагу (той стороной, где рисунок) приложить к стеклотекстолиту и прижать с большим усилием. Затем разогреваем полученный «бутерброд» в духовой печи до температуры в 200 градусов. Ждём, пока плата охладится до комнатного значения. После этого остаётся отодрать бумагу - и рисунок останется на печатной плате. Это может показаться довольно сложным, особенно с температурой. Специально для таких сомневающихся людей некоторые умельцы предлагают использовать электроутюг. Но здесь следует сделать одно важное предупреждение: результат получается нестабильный. Конечно, можно попробовать попрактиковаться день-второй, и, возможно, будет не хуже, чем в случае с печью. Но всё же существует проблема сложности обеспечения одновременного нагрева поверхности по всей печатной плате до одной температуры. Поэтому рисунок таким способом переносится не полностью.

Наиболее значительные проблемы доставляют пробелы, которые возникают при таком создании. Для безопасности во время «приготовления» печатной платы в духовке её можно дополнительно с разных сторон укрыть листами из металла толщиной в пять-шесть миллиметров. Это делается во избежание негативной деформации во время термической обработки платы.

Заключение

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

Обычно еще до сборки окончательного варианта устройства, происходит его отладка. Отлавливаются баги в программе, подбираются номиналы деталей итд. Для удобства применяют отладочные платы. На отладочной плате как правило размещаются различные кнопки, индикаторы, преобразователи интерфейсов да и еще куча всего. Тут многое зависит от потребностей разработчика. Кому-то потребуется Ethernet с USB, а кому-то и обычного RS-232 с несколькими светодиодами да парой кнопок за глаза. Это уже вторая версия моей отладочной платы. Первая была неплохой, но все же в ней было небольшое количество мелочей которые я не учел. В этой отладочной плате я старался учесть все то в чем чаще всего возникает потребность у разработчика устройств на микроконтроллерах AVR.

Что есть на этой плате

  • 8 светодиодов с токоограничивающими резисторами. Делать больше восьми штук смысла нет, и меньше тоже т.к. их сразу при помощи одного восьмижильного шлейфа соединить с портом контроллера. Очень удобно на мой взгляд
  • Линейный стабилизатор обеспечивающий плату 5-ю вольтами. Стоит на радиаторе на всякий пожарный. Греется ощутимо.
  • DC-DC преобразователь на 3.3 вольта. Некоторые микросхемы питаются от 3.3 вольт, именно для них этот стабилизатор и предназначен. Кстати от этого напряжения может быть запитана сразу вся плата, нужно только перекинуть перемычку в нужное положение.
  • Преобразователь RS-232 <-> TTL . В комментариях не нуждается. Почему не USB? Просто тупо закончились порты:-)
  • Генератор на 74HC00 . На всякий пожарный если вдруг криво прошились фьюзы. Редкое явление у меня, но на всякий случай решил добавить. Генерит меандр частотой около 2 мГц.
  • R-2R ЦАП. Вещь одноразовая т.е. поиграл и забросил. Развел на плате чисто по приколу т.к. оставалось пустое место.
  • Пара N-канальных мосфетов . Мало-ли, вдруг придётся управлять чем то мощным. Например каким-нибудь движком. Поэтому пусть будут.
  • 4 резисторных делителя. Необходимы для сопряжения 3.3 вольтовой логики с 5-ти вольтовой.
  • ZIF панелька. Благодаря ей можно без труда устанавливать любой контроллер в дип корпусе. От восьминогой тини до 40-ка ногой меги.
  • Светодиодный семисегментный четырёхразрядный индикатор. К каждому сегменту прикручен токоограничевающий резистор, все сегменты соединены между собой.
  • 28-и контактная панелька. Воткнуть второй контроллер или еще чего. Может пригодится.
  • 8 кнопок с управляемой подтяжкой. Без кнопок ни куда. Основное средство ввода данных в микроконтроллер. Подтяжка может отключаться индивидуально для каждой кнопки при помощи группы переключателей. Подтягиваться кнопки могут как к плюсу питания так и к минусу.
  • Бипер с транзисторным ключом. Иногда нужно пропищать.
  • Переменный резистор. Иногда нужен для отладки программ работающих с АЦП
  • Обвязка для I2C. Два обычных резистора на 4.7к. Могут отключаться/подключаться перемычками.
  • Источник опорного напряжения на TL431 выдает пять вольт. Перемычкой подключается к контроллеру.
  • Две интегрирующих цепочки для отладки ШИМ.
  • Разъем для отладки проектов с программным интерфейсом USB . Кроме самого разъема еще имеется необходимая обвзяка.
  • Разъём для подключения SD карты памяти .

Почти все детали SMD. вот так выглядит обратная сторона платы:

Правда флюс не до конца смыт. Да и пофигу устал я его отмывать. На плату не впаян переменный резистор и часовой кварц. Они куда то загадочным образом потерялись во время сборки платы.

Питание платы
Плата может питаться от внешнего источника питания выдающего напряжение примерно 12 вольт. Конечно можно и больше но линейный стабилизатор будет греться сильней. 5 вольт так же можно получить от программатора, jtag отладчика и порта USB. Если требуется питание 3.3 вольта то может быть задействован DC-DC преобразователь. Выбор нужного источника осуществляется спец перемычкой.

Разъёмы на плате
Разъемы jtag и isp — мои собственные и скорее всего не совместимы с другими отладчиками и программаторами. Но я думаю не составит труда переделать их как вам нужно.

Схема и печатка
Косяков в разводке пока замечено не было. Но это не значит что их нет! Поэтому лучше всё еще раз проверить. Схема данной платы не составлялась по одной простой причине что состоит она из независимых друг от друга кирпичиков (DC-DC преобразователь, преобразователь уровней итд) схемы которых можно найти у меня на сайте да и в инете вообще. да и тем более все номиналы подписаны на самой печатке. Если на выходных смогу победить лень, то нарисую:-)

Для изготовления платы понадобятся:

Индикация

Разъёмы и панельки

Наименование Количество шт.
SCZP-40 ZIF-панелька с нулевым усилием 1
SCS-28 Панелька под микросхему DIP-28 1
104B-TAA0-R Держатель для SD/MMC карты 1
USBB-1J Розетка USB на плату угловая тип B 1
DRB-9MA Разъем D-SUB 9 контактов, вилка на плату угловая 1
Разъем питания 7-0088 на плату, 5.5 x 2.5 мм 1
Штыри PLS. Продаются сразу в виде ряда штырей. Их надо разламывать и запаивать. Ломать их легко. Я насчитал 324 штырька. Лучше взять с запасом штук 350. 324

Микросхемы

Кнопки и переключатели

Резисторы SMD 1206

Наименование Количество шт.
220 Ом 19
68 Ом 2
0 Ом 20
1 Ом 3
4.7 кОм 3
10 кОм 6
2.2 кОм 3
100 Ом 4
820 Ом 1
1 кОм 11
2 кОм 11
1.5 кОм 5
3.3 кОм 1
Прикупил я себе платку для моделирования работы станка с ЧПУ. Планировал делать на контроллере ATmega128A, но в итоге перешел по некоторым причинам на STM32F103C8. Но платка-то все же пришла. Надо ее замучить. Самое главное то что я заказывал ее с определенными но... Нужно чтобы был МК ATmega128A с полным выводом всех ног. Также присутствовал COM-порт, кнопочки, светодиоды для индикации. Отсюда пал выбор на BK-AVR128. Купил я ее .
Фотка сего девайса.

Что в ней интересного. Давайте все по порядку. Собственно сам МК расположен по середине и имеет четыре двухрядных гребенки с шагом 2,54мм. То есть можно подключиться к любой ноге МК.

Как видно из фотографии все сделано очень удобно. Кварц расположенный справа не впаян намертво, а сидит на цанговой панельке, так что можно поставить любой. Снизу под контроллером расположился светодиод D9, подключенный к РВ4 катодом. Правее светодиода расположена микросхема ULN2003.

Вот ее схема включения.

Вот тут я не много не понимаю, зачем 9 ногу соединили с VCC. Вот схема ULN2003.

Если посмотреть то можно увидеть что к этой ноге подключены диоды катодами. Их предусмотрели для гашения самоиндукции когда микросхема управляет реле. Теперь давайте представим что мы подключили 12 вольтную реле и решили ее подтянуть. Один конец катушки повесили на +12в, а второй на вывод ULN2003. Подали на вход 1 и реле подтянулось. А теперь отпустили реле. При постоянке сопротивление катушки равно сопротивлению проводника. Так как у нас 9 ножка соединяет все катоды диодов, а аноды соединены с портами, то через катушку потечет ток к аноду диодов и пройдя через него прямиком на +5в USB. Я думаю USB порту такой расклад не понравится. Поэтому больше 5 вольт нагрузку лучше не вешать. Еще правее ULN2003 расположена кнопка сброса МК. Привязана к ресету. Правее кнопки ресета распологается лес из кнопок. Эта матричная клавиатура 4Х4 и 4 свободных кнопок привязанных к земле.

Вот схема.

Как оказалось здесь тоже не все гладко. Отсутствие диодов может повлечь к КЗ при нажатии двух кнопок одновременно. По уму она должна выглядеть вот так.

Это правда не мой рисунок так что не обессудьте. Поехали дальше по плате. В правом нижнем углу располагаются два 10-ти пиновых разъема. Один(сверху) JTAG, а второй(снизу) ISP. Предназначены для программирования и отладки МК. Проверял оба, работают. Правда у меня AVR JTAG ICE оооочень медленный. Так что пользуюсь только AVRASP v2.0 USB без внутрисхемной отладки.

Теперь двигаемся наверх. Тут все красиво. По классической даташитовской схеме прикручена микросхема DS1302(часы реального времени).

Здесь ничего лишнего. Микросхема часов, часовой кварц и батарейка. Вот схема.

Выше этажом расположился 8-и разрядный 7-и сегментный индикатор с общим анодом. Управлять этим индикатором помогают два буфера 74HC573. Один буфер отвечает за сегменты цифры, а вторая за разряд. Вот они все вместе.

Если посмотреть на фотографию, то можно увидеть три микросхемы. U4 отвечает за сегменты цифры, U5 отвечает за разряды, а третья U6 включает линейку светодиодов на той же шине что и разряды индикатора. Светодиоды подключены с общим анодом.

Левее светодиодов расположены два однорядных разъема и три переменных резистора.

Резистор VR1 прикручен к PF0(ADC0) как не трудно догадаться он нужен для работы с АЦП. VR2 для регулировки контраста LCD 16x2. VR3 для регулировки контраста LCD 128x64. Сами разъемы для этих дисплее расположены над резисторами.

Но здесь опять возник один нюанс. Чем думали когда трассировали плату? Если установить дисплей 16х2 от Винстара, то дисплей своим корпусом закроет все резисторы. Как собственно регулировать контраст? А если работаешь с АЦП, хочется выводить данные на дисплей. Установил и опять же как крутить резистор АЦП? В общем это самый большой косяк этой платы. В дальнейшем буду городить шлейф. Теперь поехали в нижний левый угол.

Так, что тут у нас. Слева на право. Колодка дающая живительную энергию от USB, ИК датчик и DS18B20(который не входит в комплект, мол покупай сам. Ну и хрен с ними у меня их куча). ИК датчик работает на ура, проверял. Выводил коды от ТВ пульта на логический анализатор. Вестч))) Датчик температуры он и в Африке датчик температуры, работает, тоже проверял. Идем выше.

Специально сделал фотку в таком ракурсе. Как видно за разъемом DB-9 торчит микросхема MAX232. С ее помощью реализован "полный" COM порт))) То есть RxD, TxD и GND.

Но самое интересное это левый разъем PC/2. Да, к нему можно подключить клаву. Но...

Если внимательно посмотреть на схему подключения, то можно увидеть что тут проектанты немного подумали. А именно, PD2 - RxD1, PD3 - TxD1. Так что если нужен еще один UART, то вот вам и разъем. Так же на фотографии виднеется микруха EEPROM на шине I2C(причем висит на аппаратном I2C) AT24C02. И пищалка для пищания. Ну и на по следок, чем все это барахло питается.

Верхний разъем это USB, нижний для подачи строго 5 вольт. Кнопка справа включает питание. Так же питаться плата может от программатора.

Как видите здесь опять косяк. Ни тебе защиты USB от КЗ, ни тебе стабилизатора по питанию из вне(хотя бы LM7805 поставили).
Резюме:
Плата собрана добротно, все припаяно нормально. Для тестов вполне подходит так как имеет на борту практически всю периферию начиная от ИК сенсора, заканчивая дисплеями для вывода информации. Для использования людям которые никогда МК в живую не видели не рекомендую по выше описанным косякам. Да и если фьюзы напортачить, то можно загнать МК. Если человек уже понимает как весь этот огород работает, то вполне неплохая платка. Все же 1,2т рубликов против 6т за STK500 я думаю неплохо. Если у кого-нибудь возникнут вопросы по плате, пишите отвечу.
На сегодня все.


саня 26.09.14

Привет. Купил такую же плату, но компашка не читабельна. Можешь выложить архив с содержимым компакт диска?

Алексей 27.09.14

А там по моему ничего интересного нет. Все на китайском, даже документация на Мегу. Я сейчас не дома. В воскресение приеду домой, поищу и если найду, то скину.

Алексей 28.09.14

К сожалению я диск потерял.

Pomidor 13.04.15 16:48

Алексей, не могли бы вы написать мне на мыло? Есть пара вопросов по этой плате, в частности нужна стандартная программа которая была зашита в МК китайцами (там где при включении на 7-сегментники выводится время, начиная с 12-00), которую я по ошибке стер. Заранее благодарю. [email protected]

Марат 15.05.16 00:19

Алексей, а как у вас работает ISP, если вывод MOSI трассирован на 2ю ногу МК, а вывод MISO на 3?

АНОНИМ 15.05.16 00:47

Извиняюсь, на ночь глядя спутал с внутренним SPI. Что-то у меня не читается/стирается/пишется (

Алексей 15.05.16 12:54

Что значит не читается/стирается/пишется? Как это выражается? Сигнатуру МК программатор может считать? Может соединительный шлейф с обрывом?

Марат 15.05.16 13:52

Все нормально) у меня с железом проблемы, на компе Убунту стоит, программатор PG1 (видимо надо распиновку проверить), а утром на нетбуке с USBasp под XP первым делом прошивку сохранил)

Плата отладочная является достаточно полезным инструментом при разработке различных электронных устройств. Но можно ли создать её своими руками? Или же следует рассчитывать только на промышленные аналоги? Какие особенности есть у этого устройства? Об этом мы сегодня и поговорим.

Общая информация

Когда говорят об этой теме, то чаще всего понимается отладочная плата для Atmega8 или иного подобного микроконтроллера, в основе которого лежит 8-ми или 16-битный принцип работы. Но мир идёт вперёд. Наступает пора 32-битных микроконтроллеров. В связи с этим мы рассмотрим то, что может быть доступно нам уже сейчас. Особое внимание следует уделить отладочной плате STM32, хотя в рамках статьи рассматриваются всё же AVR. Но сначала представим общую картину.

Появление 32-битных микроконтроллеров позволило значительно расширить объем задач, которые они могли выполнить. Но необходимо оптимизировать принимаемые решения и создаваемую технику. Хотя и старым образцам будет уделено внимание, ведь не отметить их универсальность и добротность просто нельзя.

Что же собой представляет STM32?

Конечно, наибольший интерес в рамках статьи представляет плата отладочная. Но чтобы разобраться в дополнительном моменте, давайте рассмотрим основной. Допустим, у нас есть STM32F103C8T6. Отладочная плата представляет собой конструкцию с микроконтроллером, что строится на ядре ARM Cortex-M3. Оно обладает значительным количеством преимуществ, главное из которых - универсальность. Кстати, сейчас Cortex-M3 является полноценным индустриальным стандартом. Плата отладочная представляет собой поверхность, на которой могут взаимодействовать все ножки STM32, обеспечивая выполнение имеющихся задач.

Приступаем к подготовке

Итак, нам нужна плата отладочная. Какие у неё должны быть параметры? Купить её или сделать самостоятельно? Каков у неё должен быть размер? Вот с последнего вопроса мы и начнём. Первоначально необходимо подобрать такое устройство, чтобы все механизмы и составляющие элементы могли успешно разместиться на нем. В большинстве случаев достаточно, чтобы отладочная плата для AVR имела стороны в пятнадцать сантиметров. Такой размер подходит благодаря компактности и возможностям прибора.

Прежде чем приступать к изготовлению или покупке платы, необходимо первоначально составить её схему. Для этого можно разложить элементы на бумаге и провести линии соединения между ними. Если всё получилось без проблем - отлично, значит, можно приступать к практическим действиям. Тогда нужно просто разместить и припаять все требуемые элементы, и всё - плата готова. Так это выглядит вкратце. А сейчас давайте рассмотрим все более детально.

Планирование

Необходимость применения отладочных плат рано или поздно настигает каждого радиолюбителя. Это своеобразная отладка на уровне железа. При желании можно купить готовую плату на любой вкус. Но ведь нас интересует подробный разбор данной темы? Поэтому мы рассмотрим, как создаётся отладочная плата своими руками.

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

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

Плата питания

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

Плата микроконтроллера

А вот и самое интересное. Вполне возможно, что отладочные платы для микроконтроллеров и вспомогательных элементов - это сложнейшие составляющие. Ведь они являются «мозгами» технических устройств. Для успешного старта в сфере отладочных плат начинать со сложных 32-битных контроллеров нежелательно. Можно начать с чего-то попроще. Например, с ветерана мехатронных разработок ATmega8. Чтобы не усложнять ситуацию дополнительно, можно обойтись построением односторонней печати.

А что делать, если требования выходят за эти рамки? Использовать двухстороннюю печать? Как вариант - да. Но если превышение возможностей незначительно, то часто можно обойтись без монтажных перемычек. Лучше вынести разъемы портов и цепи подтяжки на отдельных миниатюрных платочках. Такой подход позволит облегчить разводку платы микроконтроллера. Но это только общая теория. Давайте же поговорим о реализации на практике.

Ручное изготовление печатной платы

Первоначально нам необходима бумага, на которой будет нарисована разводка для печатной платы. Желательно, чтобы она была тонкой. Это важно для достижения точного сверления отверстий. Чтобы не возникло никаких неожиданностей, бумагу можно приклеить к картону с помощью клея. Далее следует вырезать приклеенный рисунок. Что ж, шаблон для сверления уже готов. Подбираем заготовку фольгированного стеклотекстолита необходимого размера. Прикладываем бумажно-картонный шаблон и обрисовываем его по периметру карандашом или маркером. Затем стеклотекстолит режем по нанесённым нами линиям, используя ножницы по металлу, или же пилим ножовкой. Склеиваем части с помощью клея.

Кстати, небольшой совет: не нужно мазать всю поверхность, достаточно оставить по капле клея в каждом из четырех углов. Если нет желания ждать - используйте «Момент». Он позволит продолжить работу через несколько секунд.

Сверлим отверстия

Для этой цели наилучшим образом подойдёт специальный мини-станок. Но можно воспользоваться и ручным инструментарием. Для подавляющего большинства целей с лихвой хватает сверла с диаметром 0,8 мм. Следует отметить, что качественная плата может не получиться с первого раза из-за сложности работы и необходимости иметь твердую руку. Если подобные действия будут осуществляться впервые (а так, вероятнее всего, и будет), то можно только посоветовать морально подготовиться к тому, что будут поломаны сверла. После выполнения всего спектра работ, чтобы убедится в их качестве, посмотрите на просвет. Если будут заметны определённые дефекты, их необходимо оперативно устранить.

Наносим топографический рисунок

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

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

Переносим рисунок с бумаги на стеклотекстолит

Это самый ответственный этап. Необходимо бумагу (той стороной, где рисунок) приложить к стеклотекстолиту и прижать с большим усилием. Затем разогреваем полученный «бутерброд» в духовой печи до температуры в 200 градусов. Ждём, пока плата охладится до комнатного значения. После этого остаётся отодрать бумагу - и рисунок останется на печатной плате. Это может показаться довольно сложным, особенно с температурой. Специально для таких сомневающихся людей некоторые умельцы предлагают использовать электроутюг. Но здесь следует сделать одно важное предупреждение: результат получается нестабильный. Конечно, можно попробовать попрактиковаться день-второй, и, возможно, будет не хуже, чем в случае с печью. Но всё же существует проблема сложности обеспечения одновременного нагрева поверхности по всей печатной плате до одной температуры. Поэтому рисунок таким способом переносится не полностью.

Наиболее значительные проблемы доставляют пробелы, которые возникают при таком создании. Для безопасности во время «приготовления» печатной платы в духовке её можно дополнительно с разных сторон укрыть листами из металла толщиной в пять-шесть миллиметров. Это делается во избежание негативной деформации во время термической обработки платы.

Заключение

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

 


Читайте:



Тортилья - что это за блюдо мексиканской кухни и как его правильного готовить в домашних условиях с фото

Тортилья - что это за блюдо мексиканской кухни и как его правильного готовить в домашних условиях с фото

Добавить к муке соль, влить растопленное остывшее сливочное масло, получившуюся массу перетереть руками, чтобы получилась крошка. Затем замесить...

Тортилья пшеничная Рецепт тортильи в домашних условиях

Тортилья пшеничная Рецепт тортильи в домашних условиях

Пшеничные лепешки (или бурритос, такос, фахитас) с начинкой - отличная закуска или сытный перекус по-мексикански. В качестве начинки используют...

Калорийность 1 эклера с заварным кремом

Калорийность 1 эклера с заварным кремом

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

Танцевать с женщиной во сне

Танцевать с женщиной во сне

по соннику ЛоффаТанцы дают человеку мощную психологическую и духовную разрядку. Во многих примитивных культурах танец относится к священным...

feed-image RSS