Главная » Микроконтроллеры
Призовой фонд
на март 2017 г.
1. UNI-T UT-39C
Паяльник
2. Тестер компонентов LCR-T4
Паяльник
3. 100 руб.
От пользователей

Набор для разработки на основе микроконтроллера PIC18F4520

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

mc189-1.jpgДанный набор плат разрабатывался как пособие для желающих попробовать себя в разработке программ и устройств на основе микроконтроллера PIC18F4520 фирмы Microchip. Стоит упомянуть, что основной идеей стало создание простого набора плат, собранного из доступного в продаже набора микросхем, легкого в повторении и дальнейшем усовершенствовании. Мне, как студенту, эта плата помогла в изучении особенностей программирования микроконтроллеров семейства PIC18 и, надеюсь, послужит мне помощником в дипломном проекте.

Проект содержит 5 основных модулей: 

  •  Материнская плата- центральная плата с микроконтроллером, узлом прерываний и разъемами.
  •  Плата SPI-интерфейса- плата для изучения особенности передачи данных по интерфейсу SPI.
  •  Плата I²C-интерфейса- плата для изучения особенности передачи данных по интерфейсу I²C.
  •  Плата связи с ПК- плата для использования возможностей USART Модуля MCU и связи с компьютером.
  •  LCD-Модуль- стандартный модуль знакосинтезирующего ЖКИ на основе HD44780 или подобном.

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

 Материнская плата 

Schematics.png   

Материнская плата содержит 33 порта ввода-вывода . Порт В(выводы 33-40) могут быть программно подключены через подтягивающие сопротивления на + питания, таким образом формируется их высокое состояние в случае подключения в качестве входов. Выводы 6-7 подключены к внешнему кварцу 20МГц. Значение конденсаторов С5-С6 зависит от конкретного кварца, рекомендуемое значение лежит в пределах 15-25пФ. На практике я установил конденсаторы с разным значением емкости для гарантирования старта осциллятора(Первое время упорно не хотел запускаться). Однозначно рекомендуется ознакомиться с документацией на ваш конкретный кварц. В крайнем случае можно запуститься с внутренней тактовой цепочки микроконтроллера. На порт Е пин 2, для вывода звука, есть возможность подключить "пищалку". Отдельно реализована возможность использования 3 внешних прерываний int1-int3. На плате установлено 16 стандартных светодиодов диаметром 5 мм. для индикации состояний портов и создания простейших световых эффектов. Для изучения основ управления по ИК установлен ИК-приемник TSOP 17-36, хотя подойдут и другие. Отдельно стоит сказать про обвязку R1, D1-D2, C4 , R5, R8, R10. Данное решение необходимо для внутрисхемного программирования через разъем ICSP. Питание осуществляется от стабилизированного источника питания 12В. На практике я взял компьютерный блок питания АТ.

Плата SPI- интерфейса

Микроконтроллер содержит модуль синхронного последовательного интерфейса MCCP и может работать в двух программно предустановленных режимах SPI-/I²C для обмена данными с периферией в полудуплексном режиме.

Schematics2.png

Проект содержит возможность подключения платы интерфейса SPI. В этом режиме необходимо программно настроить соответствующим образом контакты RC3-RC5 микроконтроллера, настроить модуль для работы в режиме SPI и соединить центральную плату с платой модуля SPI через разъем SPI-Input. Кроме того, необходим еще один вывод микроконтроллера, настроенный на выход для формирования сигнала CS(Chip Select), необходимого микросхемам периферии. Модуль SPI содержит две микросхемы расширения по 16 бит каждая, работающих как на выход, так и на вход. Обе микросхемы включены фактично параллельно, поэтому, выбор микросхемы , для которой предназначены данные, производится адресно(А0-А2). Особенности адресации данных микросхем детально описаны в даташите. Микросхема IC2 может быть напрямую подключена к преобразователю бинарного кода в децимальный с дальнейшим выводом на четырехзначный дисплей, сформированный из двух двузначных светодиодных индикаторов с общим катодом.

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

Плата I²C-интерфейса

Schematics4.png

В случае необходимости можно настроить модуль MCCP в режиме I²C и подключить соответствующий модуль через разъем I²C-Input к соответствующим разъемам на центральной плате. Для этого необходимы контакты RC3, RC4 программно настроенные для передачи такта и приема-передачи данных от периферийных микросхем. Модульная плата I²C содержит 2 8-битных драйвера-преобразователя последовательного интерфейса в параллельный, один из которых подключен к 8 светодиодам размера 5мм через токоограничительные сопротивления. Возможно подключение к микросхемам памяти ЕЕПРОМ, часам реального времени, сенсору температуры и АЦП. Выбор соответствующего модуля производится адресно. Особенности адресации каждой из микросхем детально описаны в даташитах. Частично, адресация реализована аппаратно через подключение выводов микросхем (А0-А3). Аппаратная реализация адресов описана на рис.4.

рис.4

Плата связи с ПК

Schematics3.png

Данный модуль может быть использован для обмена данными через модуль USART микроконтроллера. Для этого необходимо настроить микроконтроллер и соответствующие выводы RC6-RC7 соединить с разъемом JP16. Питание микросхем производится от центральной платы а не порта USB компьютера. Светодиоды 19-20 сигнализируют о передаче , приеме данных. Микросхема FT232RL крепится поверхностным монтажом на плату. Драйвера для Win7x64 установились без проблем. Для ХР проблем быть тоже не должно. Переключатели 17-18 позволяют выбрать между микросхемами COM и USB порта.

Отдельно реализована клавиатура размером 4х4 кнопки для реализации всевозможных циферблатов.(По сути, оставалось место на плате- почему не использовать?!:))

 LCD-Модуль

DSCF3082.jpg

Для реализации возможности вывода на экран символов был использован индикатор PVC200403P фирмы PICVUE. Это индикатор совместимый со стандартом HD44780 с подсветкой желтого цвета размером 20 знаков- 4 строки, хотя, можно использовать и другой. Данный дисплей содержит 8 битную шину данных для приема-передачи, 3 битную шину управления для формирования сигналов enable, register-select, read/write. Дополнительно необходимо выделить питание платы и питание подсветки. Подсветка и сам дисплей питаются от источника 5В. Подсветку нельзя подключать напрямую к портам микроконтроллера. Ток потребления подсветки превышает допустимый ток нагрузки микроконтроллера. На практике я реализовал подключение через 4 битный режим передачи данных и сэкономил на входе read/write, при этом потеряв возможность опроса "флага занятости" дисплея.

Программирование по ICSP

ICSP Модуль микроконтроллера позволяет программировать микросхему внутрисхемно, без мучений с панельками и пайкой. Для этого на плате был выведен соответствующий разъем. На практике прошивку микроконтроллера я проводил через программатор GQ-4X со специально изготовленным переходником(Рис.7).

ICSP_Programmierung.jpg

Печатная плата

В целях экономии все пять плат выполнены на заготовке размером А4 из двустороннего стеклотекстолита. Дорожки разведены в Eagle с настройками и правилами для моей фрезеровочной машины(Фрезеровало сутки!!!). Микросхемы установлены в панельки для быстрой замены(надеюсь вам не понадобится), кроме микросхем поверхностного монтажа. Микросхема стабилизатора 7805 припаяна "за хвост" через термопроводящую прокладку к плате(Пока этого хватало для охлаждения).

плата

Плата после фрезеровки

DSCF3088(1).jpg

Post scriptum

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

Контакты

Ваши пожелания и/или предложения отправляйте по адресу maiierok@t-online.de. Также могу помочь исходниками к некоторым примерам(смотри видео-примеры) использования вышеизложенной платы.

Видео-примеры применения

Ссылки на тех-документацию

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

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
Материнская плата
U1 МК PIC 8-бит
PIC18F4520
1 Поиск в FivelВ блокнот
IC1 Линейный регулятор
LM7805
1 7805TVПоиск в FivelВ блокнот
IR1 ИК-сенсорTSOP1736TB11 Поиск в FivelВ блокнот
D1, D2 Выпрямительный диод
1N4148
2 Поиск в FivelВ блокнот
LED1-LED16 Светодиод16 ЗелёныеПоиск в FivelВ блокнот
C1 Электролитический конденсатор?1 Поиск в FivelВ блокнот
C2, C8 Электролитический конденсатор470 мкФ2 Поиск в FivelВ блокнот
C3, C7 Конденсатор0.1 мкФ2 Поиск в FivelВ блокнот
C4 Электролитический конденсатор10 мкФ1 Поиск в FivelВ блокнот
C5, C6 Конденсатор15-25 пФ2 Поиск в FivelВ блокнот
C9 Электролитический конденсатор?1 Поиск в FivelВ блокнот
C10 Конденсатор?1 Поиск в FivelВ блокнот
R1, R5, R8, R10 Резистор
10 кОм
4 Поиск в FivelВ блокнот
R2-R4, R6, R7, R9, R11-R19, R21 Резистор
330 Ом
16 Поиск в FivelВ блокнот
R20, R22, R23 Резистор
270 Ом
3 Поиск в FivelВ блокнот
R69-R71 Резистор
4.7 кОм
3 Поиск в FivelВ блокнот
Q1 Кварц20 МГц1 Поиск в FivelВ блокнот
SG1 ПьезоизлучательF/CM12P1 Поиск в FivelВ блокнот
S1 Переключатель2 контактные группы1 Выключатель питанияПоиск в FivelВ блокнот
S2, INT1-INT3 Кнопказамыкающая4 Поиск в FivelВ блокнот
JP1, JP3 РазъёмPLS-32 Поиск в FivelВ блокнот
JP2, JP19 РазъёмPLS-22 Поиск в FivelВ блокнот
JP4 РазъёмPLS-61 Поиск в FivelВ блокнот
JP5-JP8 РазъёмPLS-84 Поиск в FivelВ блокнот
JP9, JP11, JP12 РазъёмPLS-13 Поиск в FivelВ блокнот
Плата SPI-интерфейса
IC2, IC3 МикросхемаMCP23S172 Поиск в FivelВ блокнот
IC4-IC7 Микросхема74LS48N4 Поиск в FivelВ блокнот
IC8, IC9 Драйвер электродвигателей
L293
2 L293DПоиск в FivelВ блокнот
R24-R51 Резистор
300 Ом
28 Поиск в FivelВ блокнот
R74 Резистор?1 Поиск в FivelВ блокнот
LED17DIG1, LED17DIG2, LED18DIG1, LED18DIG2 7-сегментный LED-индикаторDC56-11GWA4 Общий катодПоиск в FivelВ блокнот
JP13-JP15 РазъёмPLD-163 Поиск в FivelВ блокнот
KEYBOARD_INPUT, SPI_INPUT РазъёмPLS-82 Поиск в FivelВ блокнот
MOTOR-1, MOTOR2 РазъёмPLS-61 Поиск в FivelВ блокнот
Плата I²C-интерфейса
IC12, IC13 ИС I2C интерфейса
PCF8574
2 SERIAL TO PARALLELПоиск в FivelВ блокнот
IC14 Часы реального времени (RTC)
PCF8583P
1 clock & calendarПоиск в FivelВ блокнот
EEPROMIC$1 МикросхемаPCF8582C-2P/031 I2C EEPROMПоиск в FivelВ блокнот
Temperature Sensor Датчик температуры
LM75A
1 LM75AD - TEMPERATURE SENSORПоиск в FivelВ блокнот
ADU_DAUG$1 МикросхемаPCF8591P1 ANALOD TO DIGITALПоиск в FivelВ блокнот
LED21-28 Светодиод8 Поиск в FivelВ блокнот
R72, R73 Резистор
4.7 кОм
2 Поиск в FivelВ блокнот
R57-R64 Резистор
330 Ом
8 Поиск в FivelВ блокнот
R65-R68 Переменный резистор?4 Поиск в FivelВ блокнот
Q2 Кварц32768 Гц1 Поиск в FivelВ блокнот
INT4, INT5, INT?, PTC, OS, OSC, AOUT РазъёмPLS-17 Поиск в FivelВ блокнот
KEYBOARD РазъёмPLS-81 Поиск в FivelВ блокнот
I2C-INPUT РазъёмPLS-41 Поиск в FivelВ блокнот
Плата связи с ПК
IC10 МикросхемаFT232RL1 USB UARTПоиск в FivelВ блокнот
IC11G$1 ИС RS-232 интерфейса
MAX232
1 Поиск в FivelВ блокнот
LED19, LED20 Светодиод2 Поиск в FivelВ блокнот
C11 Конденсатор?1 Поиск в FivelВ блокнот
C12-C15 Конденсатор100 нФ4 Поиск в FivelВ блокнот
R52, R53 Резистор
27 Ом
2 Поиск в FivelВ блокнот
R54 Резистор?1 Поиск в FivelВ блокнот
R55, R56 Резистор
330 Ом
2 Поиск в FivelВ блокнот
X1 РазъёмMINI-USB-32005-3011 Mini-USB на платуПоиск в FivelВ блокнот
X2 РазъёмDRB-9F1 RS-232 на платуПоиск в FivelВ блокнот
JP16 РазъёмPLS-41 UART-интерфейсПоиск в FivelВ блокнот
JP17, JP18 РазъёмPLS-32 Поиск в FivelВ блокнот
TASTATUR1 РазъёмPLS-81 К клавиатуреПоиск в FivelВ блокнот
Модуль клавиатуры
Клавиатураматрица 4x41 Поиск в FivelВ блокнот
РазъёмPLS-81 Поиск в FivelВ блокнот
LCD-Модуль
LCD-дисплейPVC200403P1 HD44780, 20x4Поиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

Оригинал статьи

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 Участие в конкурсе 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (0) | Я собрал (0) | Подписаться

Статью еще никто не комментировал. Вы можете стать первым.
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Паяльник с регулировкой температуры Мультиметр Mastech MS8268
вверх