Отладочные платы для микроконтроллеров pic своими руками. Схемы и материалы

Настройка Bluetooth 04.12.2019
Настройка Bluetooth

Макетная плата для микропроцессоров PIC16F62х и PIC16F84

Макетная плата предназначена для отладки программ, написанных для микропроцессоров фирмы Microchip типа PIC 16 F 627, PIC 16 F 628 и PIC 16 F 84, кроме этого она подойдет для всех микроконтроллеров фирмы Microchip, имеющих корпус DIP и 18 ног на борту .

Когда я только начинал заниматься разработкой устройств на микроконтроллерах фирмы Microchip , мне часто приходилось собирать их стандартную обвязку: цепь сброса микроконтроллера MCLR , цепь питания, цепь подключения внешнего кварцевого резонатора или RC - цепочки. Иногда нужно было связать микроконтроллер с компьютером - приходилось делать преобразователь уровней RS -232 - TTL . И все это приходилось собирать при разработке каждого нового устройства заново. Перед тем как начать писать основную программу, приходится писать тестовую, предназначенную для проверки работоспособности микроконтроллера на собранной макетной плате, чтобы быть уверенным в том, что микроконтроллер исправен и правильно работает только что собранная основная часть схемы.

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

· Универсальная макетная плата сделанная на основе фольгированого гетинакса или стеклотекстолита - она предназначена для отладки любых радиоэлектронных устройств. Довольно универсальная плата, но вместе с тем она обладает рядом существенных недостатков: цена - самая дешевая стоит не меньше 100 руб. - возможно кого-то эта цена устраивает, но я считаю что эти деньги можно использовать более продуктивно, хотя это мое личное мнение; очень часто при длительном использовании отваливаются проводники - в следствии перегрева паяльником или от времени; разводка проводников не всегда оптимальна и часто вносит дополнительные помехи в работу устройства; для соединения между собой элементов используется пайка. Я считаю что оптимальное ее использование - сборка отлаженных устройств, которые настроены, но нет времени или желания разрабатывать печатную плату.

· Разработки радиолюбителей - - интересная разработка для PIC 16 F 877, но она предназначена скорее для изучения этого микроконтроллера, чем для разработки своих конструкций, т.к. выводы микроконтроллера жестко распределены для выполнения определенных функций: индикация, ввод/вывод данных, звуковая индикация и т.п.. Вторая конструкция - предназначена для изучения PIC 16 F 84, обладает тем же недостатком, что и первая конструкция, но для первоначального освоения этих микроконтроллеров они очень хорошо подходят.

· Интересные макетные платы представлены на сайте «Мега-Электроника» - PIC - IO , PIC - MT , PIC - PG 4 D -628. Дополнительной информации по их устройству автору не удалось получить. Могу только сказать, что цена их высока - начинается от 702 руб. за PIC - PG 4 D -628 и заканчивая 1091 руб. за PIC - MT .

· Простые макетные платы представлены на сайте для микроконтроллеров PIC 16 F 84, PIC 16 F 873, PIC 16 F 874. Цена от 16$ до 20$. Содержат стабилизатор на 5 В, кварцевый резонатор, разъемы для подключения к портам, цепи сброса. Основной минус, а может быть и плюс - это их простота.

· Робототехнический сайт «Железный Феликс» - представлена интересная система SimmStick - макетная плата состоит из кросс платы от старых разъемов для установки модулей памяти типа SIMM . На них подано питание, сигналы от периферийных разъемов. Схема собираетсяна отдельной макетной плате в виде SIMM модуля и вставляется в разъем SIMM . Основные недостатки - маленькая плата для макетирования, необходимость применять паяльник для сборки.

После анализа элементов, необходимых для работы микропроцессора, макетная плата должна обладать следующими элементами:

· схема формирования напряжения питания + 5 В;

· цепь сброса MCLR и обязательно кнопка сброса;

· цепь подключения резонатора;

· схема связи с компьютером при помощи RS -232;

· цепь подтягивания портов к + 5 В или земле;

· внутрисхемное программирование на плате (т.е. без извлечения микропроцессора из платы, что значительно повышает ресурс панельки для установки микросхемы);

· наличие разъемов и одиночных разъемных соединителей для подключения к портам;

· простота реализации и настройки.

Проанализируем расположение выводов распространенных микропроцессоров серии PIC 16 F 62 x и PIC 16 F 84, как наиболее часто применяемых в радиолюбительской практике, и представим их в виде таблицы 1.

№ вывода DIP

PIC16F62x

PIC16F84

Описание вывода

RA2/AN2/Vref1

(в PIC 16 F 62 x аналоговый вход компаратора, выход источника опорного напряжения)

RA3/AN3/CPM1

Двунаправленная линия ввода/вывода (в PIC 16 F 62 x аналоговый вход компаратора, выход компаратора)

RA4/TOCKI/CPM2

RA4/RTCC

Двунаправленная линия ввода/вывода (в PIC 16 F 62 x может использоваться как TOCKI , выход компаратора)

RA5/-MCLR/THV

MCLR

Сигнал сброса микроконтроллера (в PIC 16 F 62 x вход напряжения программирования, вход цифрового сигнала)

Общий провод

RB0/INT

Двунаправленная линия порта ввода/вывода, вход внешнего прерывания

RB1/RX/DT

(в PIC 16 F 62 x вход приемника USART , линия данных в синхронном режиме)

RB2/TX/CK

Двунаправленная линия порта ввода/вывода, (в PIC 16 F 62 x выход передатчика USART , линия тактового сигнала в синхронном режиме)

RB3/CCP1

Двунаправленная линия порта ввода/вывода, (в PIC 16 F 62 x вывод модуля ССР)

RB4/PGM

Двунаправленная линия порта ввода/вывода, (в PIC 16 F 62 x вход для низковольтного программирования)

RB6/T1OSO/T1CKI

Двунаправленная линия порта ввода/вывода (в PIC 16 F 62 x выход генератора таймера 1, вход синхронизации при программировании)

RB7/T1OSI

Двунаправленная линия порта ввода/вывода (в PIC 16 F 62 x вход генератора таймера 1, вход/выход данных при программировании)

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

RA6/OSC2/CLKOUT

OSC2/CLKOUT

Выход генератора для подключения кварцевого резонатора (в PIC 16 F 62 x

RA7/OSC1/CLKIN

OSC1/CLKIN

Вход генератора для подключения кварцевого резонатора (в PIC 16 F 62 x двунаправленная линия ввода/вывода)

RA0/AN0

Двунаправленная линия порта ввода/вывода (в PIC 16 F 62 x

RA1/AN1

Двунаправленная линия порта ввода/вывода (в PIC 16 F 62 x аналоговый вход компаратора)

Раскладка выводов у этих двух типов микропроцессоров одинакова, отличие заключается только в том, что PIC 16 F 62 x более насыщен функциональными возможностями: наличие USART , несколько типов тактовых генераторов, модуль аналоговых компараторов, 3 таймера, модуль захват/сравнение/ШИМ. Таким образом при разработке макетной платы нужно ориентироваться на микропроцессоры семейства PIC 16 F 62 x .

Определимся с имеющимися портами:

· RA 0 - RA 4- сделаем возможность подключения вывода порта к + 5 В или к общему проводу.

· RA 5 - RA 7 - просто отводы, они будет использоваться при специальном конфигурировании микропроцессора, у PIC 16 F 84 эти выводы используются по прямому назначению, т.е. они не могут быть портами ввода/вывода.

· RB 0 - RB7 - сделаем возможность подключения вывода порта к + 5 В или к общему проводу, кроме этого выводы RB 1 и RB 2 через джампер подключим к преобразователю уровней RS -232 - TTL .

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

Питание на макетную плату можно подавать двумя способами: если имеется стабилизированный источник + 5 В, то питание подается на вторую сверху клемму (джампер J 1 не должен быть подключен, это исключает возможность повреждения схемы от неправильной подачи питания), в этом случае не используется стабилизатор на + 5 В; второй способ - если имеется нестабилизированный источник постоянного тока от 10 до 20 В, в этом случае + источника подается на первую сверху клемму, далее он стабилизируется микросхемой D 2 типа 7805 или аналогичной, если есть необходимость подавать + 5 В на внешнюю схему, то необходимо установить джампер J 1. Обвязка микроконтроллера D 3 стандартная, согласно документации фирмы Microchip DS 40300 b , сопротивление R 7 должно быть меньше 40 кОм, емкость конденсатора С9 0,1 мкф. Джампер J 4 включает схему сброса, когда вывод 4 MCLR сконфигурирован как цепь сброса, если этот джампер не установлен, то этот вывод можно использовать как цифровой порт ввода/вывода. При внутрисхемном программировании (ICSP ) этот джампер не должен быть установлен, чтобы не влиять на работу программатора. Кнопка SA 1 « Reset » сбрасывает микроконтроллер.

Для подключения резонатора используются джамперы J 5, J 6. Резонатор ZQ 1 выбирается с параллельным резонансом, т.к. при использовании резонатора с последовательным резонансом можно получить частоту не соответствующую той, что указано на нем. Частота и тип кварцевого резонатора выбирается в зависимости от создаваемого устройства и подразделяется на несколько типов:

· LP - низкочастотный резонатор,

· ХТ - обычный резонатор,

· HS - высокочастотный резонатор.

От типа резонатора зависит емкость конденсаторов С10 и С11, она определяется согласно таблице 2.

Примечание

Керамический резонатор ZQ 1

Кварцевый резонатор ZQ 1

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

Если будет использоваться встроенный генератор микроконтроллера, то можно использовать выводы RA 6, RA 7 как цифровые для ввода/вывода, кроме указания необходимой конфигурации в микроконтроллере необходимо также убрать джамперы J 5, J 6 для отключения резонатора (при использовании микроконтроллеров серии PIC 16 F 62 x ).

Подключение любого вывода порта к + 5 В осуществляется при помощи джампера J + 5 В, к общему проводу - J gnd .

Подключиться к вывод любого порта можно либо при помощи специального разъема Х1 « PORTA » или Х3 « PORTB », либо к специальному лепестку от разъема типа РПММ1 - 66Г3 - В.

Для внутрисхемного программирования используется разъем Х2 « ICSP ». Ножки1 и 2 подают питание от программатора, ножка 3 - напряжение от 12,5 до 14 В для перевода микроконтроллера в режим программирования, ножка 4 - тактовые импульсы, ножка 5 - данные.

Для связи с компьютером используется разъем XS 1 « RS -232», он подключается к микросхеме преобразователя уровней RS -232 - TTL D 1 типа Max 232 или аналогичной. Емкость конденсаторов С1 - С4, С6 определяется по документации той микросхемы, которую вы собираетесь использовать, для Max 232 емкость этих конденсаторов составляет 1 мкф. Для наиболее распространенных микросхем преобразователей уровня RS -232 - TTL и значений емкости конденсаторов С1 - С4, С6 привожу таблицу 3.

Тип микросхемы

Емкость

С1 - С4, С6, мкф

Max232

Max232A

Max220

Max243

Это далеко не полный список возможных замен, при необходимости можно использовать функциональный аналог Max 232 других фирм - производителей, например Analog Device .

Для использования RS -232 нужно замкнуть джамперы J 2 и J 3, тем самым микросхема D 1 подключается к USART микроконтроллера D 3. Выводы RB 1 и RB 2 будут использоваться как порты универсального синхронно - асинхронного приемопередатчика. Напоминаю, что USART есть только у микроконтроллеров семейства PIC 16 F 62 x , у PIC 16 F 84 его нет, поэтому если необходима связь по RS -232, придется реализовать USART программно.

Микропроцессор D 3 устанавливается в панельку. В качестве D 3 можно использовать: PIC 16 F 84, PIC16F627, PIC 16 F 628 и другие, имеющих 18 ног и такую же раскладку по питанию и портам ввода/вывода.

Настройку устройства необходимо начать с подачи постоянного напряжения питания примерно 10 - 25 В. При исправных элементах на выходе микросхемы D 2 будет + 5 В, это напряжение проверяется на 14 ноге микроконтроллера D 3. При включенном джампере J 4 на выводе 4 будет около 5 В, при нажатии кнопки SA 1 « Reset » - ноль. Далее поочередно подключаем джамперы J + 5 В к каждому выводу PORT А и PORT В и проверяем наличие + 5 В на специальном лепестке, разъемах Х1, Х2, Х3 и соответствующих ногах микроконтроллера. То же самое проделываем и с джампером J gnd .

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

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

Проверка осуществляется при помощи специальной тестовой программы Test , написанной на Delphi . Для начала настраиваем нужный COM - порт компьютера, нажав на кнопку «Настройка COM порта». Выбираем нужный порт, скорость « Baud rate », « Data bits » и « Stop bits » оставляем по умолчанию, т.к. они связаны со скоростью работы микроконтроллера и частотой его резонатора (в данном случае частота резонатора равна 4 МГц). Далее нажимаем на кнопку «Открыть порт» - тем самым программа открыла указанный в программе COM - порт, хочу заметить, что работать с указанным портом программа будет единолично, т.е. другая программа не получит доступ к этому порту до тех пор, пока эта программа не освободит его. Кстати, все программы, использующие внешние COM - порты захватывают их в единоличное использование. Поэтому, если при открытии порта возникла ошибка, то первым делом определите чтобы другие программы не использовали выбранный порт.

Далее настраиваем нужный порт либо на прием, либо на передачу, выбрав в пункте «Настройка порта» - «Передача данных» длянастройки соответствующего порта на выход, т.е. в него можно будет отправить данные и они будут на соответствующих ногах микроконтроллера, стоит сказать что на RB 1, RB 2 установка и прием данных невозможны - они используются для связи с компьютером. Для приема данных с порта надо выбрать пункт «Прием данных». Если ноги порта не будут подключены к + 5 В или земле, то на выходе результат будет неизвестен.

Для записи данных надо указать число и нажать на кнопку «Записать в порт А» или «Записать в порт В». Для того чтобы прочитать из порта надо выбрать «Прием данных» и нажать кнопку «Принять данные из порта А» или «Принять данные из порта В». А. Киселев, Ю. Мартышевский, Макетная плата для освоения PIC микроконтроллеров фирмы Microchip , журнал «Схемотехника» 2003г., №12 стр. 35.

2. В. Федоров, Стенд для изучения основ работы с микроконтроллерами Microchip , журнал «Схемотехника», 2004г., №9, стр. 37.

3. Сайт фирмы «Мега - Электроника» - www. megachip. ru - представлено много интересных макетных и отладочных плат для разных типов микроконтроллеров. 84, PIC 16 F 873, PIC 16 F 874.

5. Робототехнический сайт «Железный Феликс» - http://www.ironfelix.ru/ - много информации по разработке роботов, есть информация по макетным платам.

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

Одним из современных отладочных наборов является PIC32 USB Starter Kit II , предназначенный фирмой Microchip для ознакомления с возможностями 32-разрядных микропроцессоров серии PIC32 . Особенностью предлагаемой платы является наличие разъемов интерфейса USB . Кроме данного набора Microchip предлагает также простой PIC32 Starter Kit или оснащенный сетевым интерфейсом PIC32 Ethernet Starter Kit.

PIC32 Starter Kit II

Первые впечатления, вызываемые PIC32 Starter Kit II оказываются самыми положительными и к сожалению не совсем обоснованными. Набор поставляется в пластиковом кейсе, аналогичном футляру видеокассет. Внутри находятся два кабеля, диск с ПО, карточка отзыва и непосредственно сама отладочная плата, упакованная в антистатический пакет. Первое что бросается в глаза – маленькие размеры платы. На фотографиях она выглядит как-то более габаритной. Отличием набора от других подобных следует назвать кабели. Оба представляют собой стандартные USB-кабели, но один содержит ответный разъем miniUSB тип A, а второй miniUSB – тип B. Конечно, подобные кабели найти сейчас не сложно, но, тем не менее, их наличие порадовало.

Отладочная плата PIC32 Starter Kit II

Отладочная плата PIC32 Starter Kit II предназначена для изучения и разработки устройств на микроконтроллерах PIC32, построенных по архитектуре MIPS . Особенностью платы является возможность ее использования как базового устройства USB. Центральным элементом платы стал микроконтроллер PIC32MX795F512L. Данная микросхема, выполненная в 100 выводном корпусе, является наиболее солидным устройством во всей линейке PIC32. Она содержит 512кБ флэш-памяти, 128кБ ОЗУ, 16 10-ти битных АЦП, 7 таймеров, в том числе 2 32-разрядных, 6 портов UART, 5 портов SPI, 5 портов I2C, 2 порта CAN, порты Ethernet и USB. Работает микроконтроллер на частотах вплоть до 80МГц. При этом на плате разведен кристалл только на 8 МГц.

Кроме микроконтроллера PIC32 Starter Kit II содержит три пользовательских светодиода разных цветов и три миниатюрных кнопки. Для реализации всех функций также установлены обычный и компактный разъемы USB, типа A. на плате имеется место для установки кварцевого резонатора на 32768Гц.

Отладчик

Кроме целевой части PIC32 Starter Kit II содержит и отладчик/программатор, разведенный на обратной стороне платы. Его основу составляет контроллер PIC32MX440F512H. В предыдущих версиях использовался PIC18F4550, возможно со стандартной прошивкой PICKit2. Также на плате установлена вся необходимая обвязка, включая два светодиода Power и Debug. Связь с отладчиком возможна через разъем miniUSB тип B. Такое решение часто встречается во многих подобных платах, например STM32 Discovery .

Недостатки

Более пристальное изучение платы привело к уменьшению уровня положительных впечатлений. Главным разочарованием оказался разъем периферийных портов. Также как и на других подобных платах, все линии ввода/вывода доступны на отдельном разъеме. Разработчики из Microchip решили установить компактный разъем поверхностного монтажа Hirose FX10A-120P/12-sv1(71), чем полностью перечеркнули возможность использования платы в качестве центрального устройства в различных разработках. Установить ответную часть данного разъема в любительских условиях весьма сложно. Можно использовать промежуточную плату PIC32 I/O Expansion Board, да только стоит она дороже, чем сам набор.

Второе разочарование постигло при установке программного обеспечения. С входящего в комплект диска, оно никак не хотело переносится на ПК. Выдавало непонятную ошибку. В итоге после скачивания последней версии MPLAB, все примеры были найдены в одной из его папок. Подобные ошибки стали чем-то вроде визитной карточки Microchip. На многих форумах описываются разнообразные глюки и методы их устранения. Это особенно неприятно в связи с отсутствием большого количества глюков в старых версиях ПО.

PIC32 Starter Kit II – набор неплохого качества, подходящий фанатам Microchip. Позволяет ознакомиться с работой самого мощного микроконтроллера серии PIC32, что в принципе для начала работы и не требуется. Практическое использование данной платы без дополнительных затрат затруднительно.

You have no rights to post comments

Имеет 14 КБайт Flash-памяти и 1 КБайт RAM, и возможно это первый 18-выводный 8-битный микроконтроллер с таким количеством Flash и RAM. C целью изучения возможностей и проведения экспериментов на базе микроконтроллера PIC16F1847 или PIC16F1827 было решено разработать собственную отладочную плату.

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

  • коннектор ICSP для внутрисхемного программирования микроконтроллера посредством программатора PICkit3;
  • интегрированный регулятор напряжения +5 В;
  • 2-х строчный символьный ЖК индикатор на базе контроллера HD44780 ;
  • восемь светодиодов, позволяющих отслеживать состояние выходных линий;
  • шесть кнопок, для возможности ввода данных;
  • потенциометр, обеспечивающий аналоговый ввод;
  • конвертер сигналов интерфейса RS232;
  • внешняя EEPROM с последовательным интерфейсом I2C ();
  • расширитель портов ввода/вывода (MCP23008);
  • четырехканальный операционный усилитель () для усиления и нормирования аналоговых сигналов;
  • цифровые потенциометры (DS1868);
  • усилитель с программируемым коэффициентом усиления ();
  • датчик температуры (TC74A0);
  • область для макетирования.

Расположение указанных элементов на плате показано на рисунке ниже. Компоненты установлены на макетную плату с размерами 18 см × 12.8 см.


Расположение компонентов на плате

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

Питание платы возможно от 9 В батареи, питание микроконтроллера и периферии осуществляется от регулятора напряжения .

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

Как вы видите, на схеме изображена перемычка для вывода RA5/MCLR микроконтроллера, который может использоваться как вывод сброса или как линия ввода/вывода. Для тактирования микроконтроллера может использоваться внешний керамический резонатор, для установки которого имеется 3-выводный слот. При использовании внутреннего осциллятора микроконтроллера, выводы RA6 и RA7 также могут использоваться как линии ввода/вывода.

На плате установлено 3 устройства производства компании Microchip с интерфейсом I2C: MCP23008 (8-битный расширитель портов), TC74 (датчик температуры) и 24LC512 (EEPROM). Адресные выводы MCP23008 и 24LC512 подключены к общему проводу (GND). Датчик температуры TC74 не имеет адресных выводов. На рисунке ниже показано включение трех I2C устройств на плате с их соответствующими адресами.

Подобным образом, на схеме ниже, обозначено подключение интерфейса UART, четырехканального операционного усилителя MCP604, цифрового потенциометра DS1868 и усилителя с программируемым коэффициентом усиления MCP6S92. Преобразование уровней интерфейса UART ТТЛ-RS232 осуществляет микросхема в стандартном включении. Все рабочие выводы также разведены на разъемы для возможности коммутирования.

Оставшиеся узлы платы - регулятор напряжения +5 В, кнопки, светодиоды и ЖК индикатор, схема включения изображена ниже. Диод 1N4008 предназначен для защиты от переполюсовки питания. Выводы управления и данных ЖК индикатора подключены к 6-выводному разъему. Массив из 8 кнопок также подключен к разъему, активный уровень кнопок - низкий.

Дополнительный материал: расположение выводов основных компонентов платы

Статья адресована тем, кто знаком с электроникой и, может быть, с микроконтроллерами, но, так как и Я, не работал с конкретным видом микроконтроллеров. В ней я хочу изложить свой опыт освоения PIC-контроллера PIC16 F877 A . В основе изучения создание несложной схемы «Отладочной платы», как универсального электронного устройства, сравнимого с ПЛК для АСУ. В том смысле, что одно и то же устройство, по необходимости, становится различным изделием, в зависимости от программы. Рассмотрим создание нескольких устройств и освоение приемов программирования. В дальнейшем «Отладочную плату» можно будет использовать для создания многих иных проектов. В статье будут рассмотрены вопросы:

  1. Программирование с использованием бесплатно предоставляемых производителем MicroCHIP программных средств MPLAB- X IDE и компилятора XC8 .
  2. Освоение программирования портов ввода-вывода, 7-ми сегментных индикаторов, таймеров, прерываний, ADC- преобразователя.

«Отладочные платы», как изделие, появились по инициативе производителей электронной продукции, в частности - микроконтроллеров. Они позволяют быстро и легко осваивать использование продукции. Кроме того – они с успехом могут заменять «макетные платы», изготовление которых является неотъемлемой составной частью проектирования любого электронного устройства. Однако, пока микроконтроллер малоизвестен, производители, в рекламных целях, всячески снижают стоимость «отладочных плат», иногда даже присылают в подарок всем желающим. Но, как только приходит популярность, стоимость такой продукции становится «не по карману» многим желающим. Достаточно взглянуть на цены серий популярных отладочных комплектов: ARDUINO, EasyPIC, NUCLEO, DISCOVERY. При этом стоимость основного компонента – микроконтроллера сравнительно невысока. Для примера, стоимость PIC16 F877 A находится в районе 5$. Цель данной статьи – показать как создать свою недорогую и оптимальную, без излишеств, отладочную плату. Монтажная схема и печатная плата не рассматривается в виду нецелесообразности определенного вида конструкции. Наиболее приемлемым можно считать вариант монтажа на «универсальной печатной плате». Например такой.

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

Полная принципиальная схема показана на рисунке №1. Для более детального рассмотрения используйте ссылки на ресурсы.

Рисунок №1

Подробнее рассмотрим принципиальную схему. В основе устройства микроконтроллер PIC16F877A. Синхронизация тактирования работы производится кварцем 14 МГц, подключенного стандартно согласно документации к выводам 13 и 14. К портам А и B подключены выходные индикаторные светодиоды. К этим выводам (параллельно резистор-светодиод) можно подключить выходные ключи для увеличения нагрузочной способности. Ключи могут быть любого типа – от транзисторно-релейных – до оптопарно–симисторных. Поэтому на принципиальной схеме они не указаны (все-таки «отладочная» плата). Одним из лучших вариантов можно считать «твердотельное реле типа SSR-10DA или SSR-25DA». К портам D, C и E подключены семисегментные индикаторы типа KW2-561AGA с общими анодами, которые можно заменить величайшим количеством аналогов сдвоенных, четверных или одинарных индикаторов с общим анодом, управляемых отдельным подключением анодов. Аноды подключаются через ключи pnp- транзисторов. Также подключены 7 кнопок без фиксации. А, В и С – отдельно к порту С. Использованы дополнительные подтягивающие резисторы 15-24 ком. Использовать внутренние не рекомендую – некоторые экземпляры микроконтроллеров не вытягивают входы, как следствие – ложные срабатывания, особенно в условиях дополнительных помех. Еще четыре кнопки – 1-4 подключены к портам индикатора таким образом, что бы их состояние можно было бы определять одновременно со сканированием анодов индикаторов через единственный порт ввода – RD6. Тем самым экономится три ввода, в сравнении с отдельным подключением. На схеме так же отображен разъем для внутрисхемного программирования ICSP. Вывод MCLR/VPP подключен к +5В через диод, чтобы после программирования, при подаче напряжения питания, микроконтроллер переходил в рабочий режим. Следует помнить, так же, что, программатор должен «отпускать» выводы программирования PGD & PGC. Некоторые самодельные программаторы этого не делают, вследствие упрощения схемы. Имеются несколько незадействованных выводов, которые, при необходимости, можно подключить в схему для наращивания вводов-выводов.

Для начала программирования необходимо скачать и установить

Таким же образом ищем XC8 Compilers . Так же скачиваем и стандартно устанавливаем в систему на компьютер.

Запустим среду программирования MPLAB X IDE . В меню выбираем «Создать новый проект ». Выбираем «Стандартный проект» (см.рис) затем – «тип микроконтроллера»-PIC16F877A.

После этого MPLABX предлагает выбрать тип программатора. В данном случае принципиального значения в выборе нет. Можно выбрать Simulator или PICKit. HEX-файл прошивки будет сгенерирован в любом случае. Следующий шаг – выбор компилятора. Выбираем XC8 – компилятор СИ, который был предварительно скачан (free-версия) и установлен. В следующем примере используем MPASM-компилятор, поставляемый бесплатно со всеми MPLAB. Заключительный шаг создания проекта – Выбор имени проекта («AUTOMATIC_LIGHTING_EFFECTS» ) и папки расположения проекта. Нажатие кнопки Finish заканчивает создание проекта. Теперь в проект необходимо добавить исходный файл программы. Нажимаем правую кнопку на разделе исходные файлы проекта. Затем New ->main.c даем имя файлу, жмем Finish.

Рассмотрим программу, превращающую «универсальное электронное устройство», каковым, несомненно и является отладочная плата, в устройство определенного назначения. Одной из программ-прошивок, достаточно разнообразно использующей многие возможности аппаратного устройства платы, может быть программа «Автомат Световых Эффектов » . Ее исходный текст приведен ниже. По сообщениям MPLAB-X программа использует до 24% памяти программ и до 17% памяти данных. Ещё она использует 96 байт EEPROM, что так же является далеко не полным использованием. Т.е. у микроконтроллера остается еще масса ресурсов для развития программы.

Рассмотрим основные модули программы. В начале программы указана конфигурация работы микроконтроллера (то что в avr называют fuses). Слово конфигурации записывается в скомпелированную прошивку, благодаря чему отпадает необходимость ручной настройки программатора. Для этого в данном компиляторе существуют директивы # pragma config

#pragma config FOSC = XT // Oscillator Selection bits (XT oscillator) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled) #pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled) #pragma config BOREN = OFF // Brown-out Reset Enable bit (BOR disabled) #pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit // (RB3 is digital I/O, HV on MCLR must be used for programming) #pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off) #pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control) #pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)

В данной конфигурации выбран источник тактирования XT-кварц 4 Мгц, отключены WDT,BOR,LVP и защита памяти. В данном примере эти опции не нужны.

Благодаря использованию EEPROM программа запоминает какая «световая картина» была запущена на «Автомат Световых Эффектов » перед выключением.

... Number_PRG = EEPROM_READ(ADR_Num_Prg); ... EEPROM_WRITE(ADR_Num_Prg,Control_Number_PRG); ...

Еще в EEPROM запрограммировано семь различных «световых картин» и знакогенератор для семисегментного индикатора.

void Load_EEPROM_DATA(void) { /*--- Segments Simbols ABCDEFGH ---*/ /* 0x2100 -- 0 1 2 3 4 5 6 7 */ __EEPROM_DATA(0b00000011, 0b10011111, 0b00100101, 0b00001101, 0b10011001, 0b01001001, 0b01000001, 0b00011111); ... /*------ Sveto-Programms --- Start_ADR_Programms = 0x2120 -----*/ /* 0x2120 -- 1-1/9 1-2/10 1-3/11 1-4/12 1-5/13 1-6/14 1-7/15 1-8/16 */ __EEPROM_DATA(0b11111011, 0b11111101, 0b11111110, 0b01111111, 0b10111111, 0b11011111, 0b11101111, 0b11110111); ... }

Благодаря использованию EEPROM размер программы значительно компактнее, нежели все коды-сочетания пришлось бы программировать прямо в программе. Впрочем, PIC-контроллеры имеют возможность использовать свободную Flesh-память программ, даже если нет EEPROM. В данной программе для работы с EEPROM используются стандартные макросы XC8 – компилятора. Для загрузки знакогенератора - __EEPROM_DATA(8байт) . Это «не исполняемый» макрос. Он обеспечивает загрузку данных не вовремя выполнения программы микроконтроллера, а во время программирования прошивки. Но в исходном тексте программы он обязательно должен вызываться в теле main(). EEPROM_READ(ADR) и EEPROM_WRITE(ADR,байт) - макросы выполняющие обмен данных во время выполнения программы микроконтроллера.

Кнопки A и С – функционируют как установка номера световой картины. При этом номер 8 – режим АВТО, в котором все программы повторяются по очереди. Кнопка В – реверс. А кнопка №1 – СТОП, №2 – быстрое включение АВТО, №3 – резервная, №4 – запуск после нажатия СТОП. Используемые порты ввода-вывода инициируются в теле функции Init_Ports() . Названия всех определений регистров и битов находятся в файле pic16f877a.h компилятора, где их и можно посмотреть. А включать этот файл в тело программы – не обязательно. MPLAB- X сама указывает компилятору какой микроконтроллер был выбран на этапе создания проекта. О том как создавать проекты – смотрите далее. Функция Init_TMR0() настраивает таймер на работу по прерываниям. Благодаря чему обеспечивается запланированное свечение индикаторов и опрос кнопок.

/* processing interrupts */ void interrupt Handler_Interrupt(void) { if(INTCONbits.TMR0IF) {...} if(PIR1bits.ADIF) { ADC_Value = ADRESH<<8; ADC_Value += ADRESL; ADC_Delay = 100; PIR1bits.ADIF = 0; /* clear interrupt flag ADC */ } }

Так же в обработчике прерываний обрабатываются прерывания ADC – преобразователя. Показания которого, определяемые переменным резистором R1 схемы, используются как задатчики темпа работы «Автомат Световых Эффектов ». Собственно, это и есть все модули программы, рассмотренные вкратце. При внимательном рассмотрении исходного текста программы легко и быстро можно понять как запрограммировать ту или иную функцию микроконтроллера с помощью компилятора XC8-Free edition.

В следующем примере программы для « PIC16 F877 A - Отладочная плата», рассмотрим устройство «ЧАСЫ/ТАЙМЕР-ТЕРМОРЕГУЛЯТОР» .

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
MCU МК PIC 8-бит

PIC16F877

1 В блокнот
VT1-VT5 Биполярный транзистор

КТ361Б

1 В блокнот
VD1-VD5 Выпрямительный диод

1N4001

5 В блокнот
VD6-VD14 Светодиод BL-B2139 9 В блокнот
C1, C2 Конденсатор 15 пФ 2 В блокнот
C3 Электролитический конденсатор 220мкФ 25В 1 В блокнот
R1 Переменный резистор 4.7 кОм 1 В блокнот
R2-R5 Резистор

15 кОм

4 В блокнот
R6-R13 Резистор

200 Ом

8

Это устройство предназначено в первую очередь для изученuя основ микроконтроллерной техники u получения практических навыков программирования u отладки программ для широко распространённых микроконтроллеров среднего семейства фирмы Microchip PIC16F84A, PlC16F628А и может быть использовано в лабораторных и исследовательских целях. Прu подключении внешних периферийных устройств оно может служить макетом разрабатываемой микроконтроллерной системы, позволяя отлаживать программы во взаимодействии с реальными источниками сигналов и исполнительными устройствами.

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

Для микроконтроллеров рассматриваемого семейства сегодня выпускают достаточно много промышленных программаторов, в том числе PicProg, Uniprog, EXTRA-PIC, PICkit-2.

Имеется и большой ассортимент пригодных для повторения программаторов любительской разработки. А вот разнообразие отладочных плат значительно скромнее: отечественные ЛОК-2, ЛОК-4 , зарубежные PIC-Easy , PIC-PG4 , PIC-MT-USB , LAB-X1 и др. Эти платы, однако, сложны по конструкции и слишком дороги для простого радиолюбителя.

Предлагаемая простая отладочная плата «PIC-ЛАБ» предназначена для отладки программ для таких широко распространённых микроконтроллеров, как PIC16F84A и PIC16F628A, в лабораторных и домашних условиях. Схема платы приведена на рис. 1.

Для микроконтроллера DD2 с отлаживаемой программой предусмотрена панель DIP-18, что позволяет легко заменять его. Кроме микроконтроллеров указанных на схеме типов в панель можно устанавливать и другие 18-выводные, имеющие аналогичное назначение выводов, например PIC16F648.

Все линии порта А установленного на плату микроконтроллера выведены на разъём XS2, а порта В — на разъём XS3. Сюда подключают необходимые при отладке внешние устройства. На плате имеются восемь единичных светодиодов HL2—HL9 и семиэлементный светодиодный индикатор HG1. С помощью блоков DIP-выключателей SA2—SA5 их можно подключить к порту В микроконтроллера через ограничивающие ток резисторы R8—R15.

Включают светодиоды HL2—HL9 записью лог. 1 в соответствующие разряды регистра PORTB микроконтроллера. Поскольку индикатор SA15-11EWA (HG1) с общим анодом, его элементы включают записью лог.0 в соответствующие разряды того же регистра. Если заменить индикатор аналогичным, но с общим катодом, например, SC15-11EWA, то его выводы 1 и 5 необходимо отключить от плюсового провода питания и соединить с общим проводом, как показано на схеме крестом и штриховой линией. Тогда элементы индикатора будут включаться, как и светодиоды HL2—HL9, записью единиц в разряды регистра PORTB.

DIP-выключателями блока SA1 к линиям RA0—RA3 порта А микроконтроллера при необходимости могут быть подключены кнопки SB1—SB4. При чтении регистра PORTA нажатым кнопкам соответствуют нули в соответствующих разрядах, не нажатым — единицы.

На плате предусмотрены также подключённый к выводам тактового генератора микроконтроллера кварцевый резонатор ZQ1, управляемый звуковой генератор на микросхеме DD1 с пьезоизлучателем НА1, коммутатор на транзисторе VT1 для управления нагрузкой, подключаемой к контактной колодке ХТ1. Работу звукового генератора разрешают записью лог. 1 в разряд RB7 регистра PORTB микроконтроллера. При этом должны быть замкнуты контакты 1—12 и 3—10 блока выключателей SA5. Громкость звукового сигнала можно увеличить, отключив один из выводов излучателя звука от общего провода и соединив его с выходом элемента DD1.3, как показано на схеме штриховой линией. Если вместо контактов 1 — 12 замкнуть контакты 2—11, то разряд RB7 станет управлять состоянием транзистора VT1.

Состояния выключателей блоков SA1—SA5, необходимые для организации работы отладочной платы «РIC-ЛАБ» в перечисленных ниже режимах, указаны в таблице (. — контакты замкнуты, о — контакты разомкнуты).

Режим 1 — индикация состояния всех линий порта В микроконтроллера восемью светодиодами HL2—HL9.
Режим 1.1 — светодиодная индикация состояния только семи линий порта В (RBO—RB6), выход RB7 управляет генератором звуковой частоты с пьезоизлучателем звука НА1.
Режим 1.2 — то же, что режим 1.1, но выход РВ7 управляет не звуковым генератором, а транзистором VT1.
Режим 2 — к линиям RB0—RB6 подключены катоды семиэлементного индикатора HG1.
Режим 2.1 — то же, что 1.1, но вместо светодиодов HL2—HL8 к линиям RB0—RB6 подключены катоды семиэлементного индикатора HG1.
Режим 2.2 — то же, что 1.2, но вместо светодиодов HL2—HL8 к линиям RB0—RB6 подключены катоды семиэлементного индикатора HG1.
Режим 3 — к портам микроконтроллера подключены только внешние устройства (через разъёмы XS2 и XS3).
Режим 3.1 — к порту А микроконтроллера через разъём XS2 подключены внешние устройства, порт В используется, как в режиме 1 или 2.
Режим 3.2 — к порту В микроконтроллера через разъём XS3 подключены внешние устройства, выводы RAO—RA3 порта А соединены с кнопками SB1 — SB4.

Детали и конструкция отладочной платы

Все детали устройства смонтированы на односторонней печатной плате из фольгированного стеклотекстолита толщиной 1,5мм (рис. 2). Расположение на ней элементов показано на рис. 3. Плата рассчитана на установку постоянных резисторов С2-23-0.25 (R19) и 02-23-0,125. Конденсаторы С1, С2 — плёночные К73-17, а СЗ, 04 — керамические КТ-2 или К10-7В. Блоки выключателей SA1— SA4 — SWD1-4, SA5 — SWD1-6, кнопка SB5 — PSM1-1-0. Гнездо питания XS1 — DS-225, разъёмы XS2 и XS3 — однорядные цанговые панели соответственно SCSL-7 и SCSL-9, колодка XT 1 — DG301-5.0-03P. При необходимости к ней можно подключить динамическую головку 0,5ГД-30 или другую нагрузку сопротивлением не менее 16 Ом.

Вместо транзистора КТ829Б можно использовать другой той же серии. Семиэлементный индикатор с общим анодом SA15-11EWA заменяется A-1501R. Об установке индикатора с общим катодом было рассказано выше. Одну из проволочных перемычек на плате в этом случае следует перенести в положение, показанное на рис. 3 штриховой линией. Светодиоды L-816Н можно заменить на КИПМ15М10-К4-П5, а пьезоизлучательКР1-32101_— на ЗП-1.

Отладочная плата »PIC-ЛАБ» пригодна для использования в качестве средства обучения, при выполнении лабораторных экспериментов, а также для макетирования и отладки программ практических разработок на базе микроконтроллеров. Питать её можно от любого стабилизированного источника напряжения +5 В, в том числе от сетевого адаптера, способного отдавать ток не менее 200 мА.

Рекомендуем почитать

Наверх