Проекты

 

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

Макетная плата предназначена для отладки программ, написанных для микропроцессоров фирмы Microchip типа PIC16F627, PIC16F628 и PIC16F84, кроме этого она подойдет для всех микроконтроллеров фирмы Microchip, имеющих корпус DIP и 18 ног на борту.

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

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

 

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

·        Наиболее распространенные макетные платы фирмы WISHER – позволяют производить быстрый монтаж довольно сложных устройств используя проволочные перемычки (джамперы). Комплект поставки включает в себя клемники для подачи питания на плату и проволочные перемычки. Довольно хорошее решение, но и ему присущи недостатки: цена – например самая простая макетная плата WB-102+J стоит 190 руб., более оптимальная для макетирования несложных устройств WB-104-3+J  стоит 380 руб. по прайсу фирмы «Платан»; низкая надежность контактов – особенно это проявляется после того как пытаешься получить контакт в гнезде в котором до этого побывал относительно толстый проводник (например от сопротивления МЛТ-2); присутствует паразитная емкость между параллельными рядами контактов.

·        Разработки радиолюбителей – [1] – интересная разработка для PIC16F877, но она предназначена скорее для изучения этого микроконтроллера, чем для разработки своих конструкций, т.к. выводы микроконтроллера жестко распределены для выполнения определенных функций: индикация, ввод/вывод данных, звуковая индикация и т.п.. Вторая конструкция [2] – предназначена для изучения PIC16F84, обладает тем же недостатком, что и первая конструкция, но для первоначального освоения этих микроконтроллеров они очень хорошо подходят.

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

·        Простые макетные платы представлены на сайте [4] для микроконтроллеров PIC16F84, PIC16F873, PIC16F874. Цена от 16$ до 20$. Содержат стабилизатор на 5 В, кварцевый резонатор, разъемы для подключения к портам, цепи сброса. Основной минус, а может быть и плюс – это их простота.

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

 

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

 

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

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

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

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

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

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

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

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

 

Проанализируем расположение выводов распространенных микропроцессоров серии PIC16F62x и PIC16F84, как наиболее часто применяемых в радиолюбительской практике, и представим их в виде таблицы 1.


№ вывода DIP

PIC16F62x

PIC16F84

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

1

RA2/AN2/Vref1

RA2

Двунаправленная линия ввода/вывода (в PIC16F62x аналоговый вход компаратора, выход источника опорного напряжения)

2

RA3/AN3/CPM1

RA3

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

3

RA4/TOCKI/CPM2

RA4/RTCC

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

4

RA5/-MCLR/THV

-MCLR

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

5

GND

GND

Общий провод

6

RB0/INT

RB0

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

7

RB1/RX/DT

RB1

Двунаправленная линия порта ввода/вывода, (в PIC16F62x вход приемника USART, линия данных в синхронном режиме)

8

RB2/TX/CK

RB2

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

9

RB3/CCP1

RB3

Двунаправленная линия порта ввода/вывода, (в PIC16F62x вывод модуля ССР)

10

RB4/PGM

RB4

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

11

RB5

RB5

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

12

RB6/T1OSO/T1CKI

RB6

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

13

RB7/T1OSI

RB7

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

14

VDD

VDD

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

15

RA6/OSC2/CLKOUT

OSC2/CLKOUT

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

16

RA7/OSC1/CLKIN

OSC1/CLKIN

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

17

RA0/AN0

RA0

Двунаправленная линия порта ввода/вывода (в PIC16F62x аналоговый вход компаратора)

18

RA1/AN1

RA1

Двунаправленная линия порта ввода/вывода (в PIC16F62x аналоговый вход компаратора)

 


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

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

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

·        RA5 – RA7 – просто отводы, они будет использоваться при специальном конфигурировании микропроцессора, у PIC16F84 эти выводы используются по прямому назначению, т.е. они не могут быть портами ввода/вывода.

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

 

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

Принципиальная электрическая схема макетной платы

Питание на макетную плату можно подавать двумя способами: если имеется стабилизированный источник + 5 В, то питание подается на вторую сверху клемму (джампер J1 не должен быть подключен, это исключает возможность повреждения схемы от неправильной подачи питания), в этом случае не используется стабилизатор на + 5 В; второй способ – если имеется нестабилизированный источник постоянного тока от 10 до 20 В, в этом случае + источника подается на первую сверху клемму, далее он стабилизируется микросхемой D2 типа 7805 или аналогичной, если есть необходимость подавать + 5 В на внешнюю схему, то необходимо установить джампер J1. Обвязка микроконтроллера D3 стандартная, согласно документации фирмы Microchip DS40300b, сопротивление R7 должно быть меньше 40 кОм, емкость конденсатора С9 0,1 мкф. Джампер J4 включает схему сброса, когда вывод 4 MCLR сконфигурирован как цепь сброса, если этот джампер не установлен, то этот вывод можно использовать как цифровой порт ввода/вывода. При внутрисхемном программировании (ICSP) этот джампер не должен быть установлен, чтобы не влиять на работу программатора. Кнопка SA1 «Reset» сбрасывает микроконтроллер.

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

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

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

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

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


Режим

Частота

С10, С11

Примечание

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

ХТ

455 кГц

22 – 100 пф

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

2 МГц

15 – 68 пф

4 МГц

15 – 68 пф

HS

8 МГц

10 – 68 пф

16 МГц

10 – 22 пф

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

LP

32 кГц

68 – 150 пф

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

200 кГц

15 – 30 пф

XT

100 кГц

68 – 150 пф

2 МГц

15 – 30 пф

4 МГц

15 – 30 пф

HS

8 МГц

15- 30 пф

10 МГц

15- 30 пф

20 МГц

15- 30 пф


Если будет использоваться встроенный генератор микроконтроллера, то можно использовать выводы RA6, RA7 как цифровые для ввода/вывода, кроме указания необходимой конфигурации в микроконтроллере необходимо также убрать джамперы J5, J6 для отключения резонатора (при использовании микроконтроллеров серии PIC16F62x).

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

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

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

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


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

Емкость

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

Max232

1,0

Max232A

0,1

Max220

0,1

Max243

0,1

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

Для использования RS-232 нужно замкнуть джамперы J2 и J3, тем самым микросхема D1 подключается к USART микроконтроллера D3. Выводы RB1 и RB2 будут использоваться как порты универсального синхронно – асинхронного приемопередатчика. Напоминаю, что USART есть только у микроконтроллеров семейства PIC16F62x, у PIC16F84 его нет, поэтому если необходима связь по RS-232, придется реализовать USART программно.

Микропроцессор D3 устанавливается в панельку. В качестве D3 можно использовать: PIC16F84, PIC16F627, PIC16F628 и другие, имеющих 18 ног и такую же раскладку по питанию и портам ввода/вывода.

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

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

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

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

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

Для записи данных надо указать число и нажать на кнопку «Записать в порт А» или «Записать в порт В». Для того чтобы прочитать из порта надо выбрать «Прием данных» и нажать кнопку «Принять данные из порта А» или «Принять данные из порта В».

Индикатор «Tx» показывает, что сейчас идет передача данных в микроконтроллер, а индикатор «Rx» - о приеме.


LEX_X

 


1. Программа на Delphi для проверки работоспособности платы и микроконтроллера

2. Программа для микроконтроллера

3. Печатная плата в формате SprintLayout

4. Принципиальная электрическая плата в формате Splan


Литература:

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

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

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

4.     Сайт Brian's PIC resource page - http://www3.mistral.co.uk/brian.clewer/index.htm - представлены промышленные отладочные платы для PIC16F84, PIC16F873, PIC16F874.

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


Hosted by uCoz