Делаем PICDuinaNano своими руками / Хабр
Небольшой проект, в котором реализована маленькая и простоя плата для изучения микроконтроллеров PIC18, выполненная по образу и подобию Arduino Nano.
Фото готовой платыОбращаю ваше внимание – плата со средой разработки Arduino к счастью не совместима!
Предыстория
После очередного посещения выставки Expo-electronica узнал о новом веянии в микроконтроллерах фирмы Microchip, а именно о появлении новых периферийных устройств, независимых от ядра. Много информации получил от официального дистрибутора ООО «Гамма Инжиниринг», в том числе и в печатном виде. У них же закупал микроконтроллеры и программатор, некоторые МК предоставили бесплатно в виде образцов по заявке. Контору не рекламирую, и отношения к ней не имею. Подробнее об этом можно почитать здесь.
Много всего нового и интересного, что захотелось опробовать и протестировать. Именно для изучения новых возможностей решил сделать такую плату.
Второе что представляло для меня интерес – работа с разными модулями от Arduino и не только — это прежде всего дисплеи, ЦАП и GPS модули. Хотелось протестировать некоторые идеи до того, как реализовывать в железе. Например, часто нужно понять, хватит ли вообще скорости МК для реализации той или иной задумки. Сразу оговорюсь – сама идея железа для Arduino – мне нравиться, если нужно прототипирование, а вот среда разработки от Arduino – «вселенское зло» IMHO. Ну и название как-то само собой образовалось. А вот с появление среды разработки MPLAB IDE X и системой MCC – разработка для PIC стала намного быстрее и приятнее. Очень доступно об этом здесь.
Задача
Итак, задача получилось такой: сделать малогабаритную плату с современным PIC18 имеющем на борту независимую от ядра периферию. Плата должна вставляться в стандартную контактную макетную плату. На бору иметь преобразователь USB-UART. Плата должна работать с двумя напряжениями на выбор – 5В и 3.3В. Внешнее подключение программатора-отладчика совместимого со средой MPLAB IDE X а именно PIC Kit 4. Вывод МК на предельную скорость – 64МГц от кварцевого генератора.
Решение
Выбор пал на МК PIC18F57Q43 как на самый «откормленный» в семействе, с удобным и не габаритным корпусом TQFP-48/7x7x1. Вместо него можно смело применить PIC18F55Q43 или PIC18F56Q43 в том же корпусе, разница будет только в объеме памяти. Подробнее.
Схема на рисунке.
Схема электрическая принципиальнаяПитание 5 вольт берётся от USB шины ПК – не стоит забывать, что грузить больше 500мА нельзя, но этого более чем достаточно. На плате установлен стабилизатор на 3.3 вольта AMS1117-3.3. Выбор питания обеспечивается установкой перемычки на разъеме XP4.
Тактирование МК от кварцевого резонатора на 16МГц, так что с помощью PLL в МК можно поднять тактовую частоту до 64МГц. Ну а при необходимости – можно и от внутреннего генератора в широком диапазоне частот работать.
Преобразование USB-UART выполнено на микросхеме PL2303SA — маленькая, дешевая, проверенная. Микросхема ADUM1201 использована не по назначению, а как преобразователь уровней для UART. С одной стороны, она питается напряжением 5В от USB, а с другой тем же напряжением что и микроконтроллер. Подключение к ПК через разъем microUSB.
Программирование осуществляется с помощью разъема XP3 к которому подключается программатор отладчик PICkit 4.
Ну а, чтобы было не скучно (для любителей написать «Hello, World»), да и для отладки полезно бывает – к порту RC5 МК через резистор подключен светодиод.
Реализация
Все это устройство смонтировано на двухсторонней плате размером 53х20мм. Платы за недорого сделал в Китае в известной конторе.
Схема и топология сделана в САПР DipTrace.
Плата — верхПлата — низ
Остаётся добавить, что в плату можно впаять любой PIC16 или PIC18 в таком же корпусе, нужно конечно проверить назначение основных выводов – питания, программирования и тактирования, но в пиках проблем с этим не наблюдается. Вот список возможных МК:
PIC18F57Q43
PIC18F57Q83
PIC18F57Q84
PIC18F57K42
PIC18F56Q43
PIC18F56Q84
PIC18F56Q83
PIC18F56Q71
PIC18F56K42
PIC18F55Q43
PIC18F55K42
PIC16F15386
PIC16F19186
PIC16F15385
PIC16F19185
К статье прилагается архив с материалами, а именно:
Файлы схемы и платы в формате САПР
Схема и перечень элементов в формате PDF
Архив гербер-файлов для заказа плат
Datasheet на PIC18F27/47/57Q43
Файлы проекта для MPLAB IDE X – просто мигаем светодиодом на плате.
Надеюсь статья оказалась интересной и полезной. так же надеюсь что статься поможет в изучении PIC-ов на практике.
Буду рад комментариям.
Программатор pic в категории «Электрооборудование»
USB программатор K150 ICSP для PIC-контроллеров mo
Доставка по Украине
642.70 грн
494.88 грн
Купить
Mooch
USB программатор K150 ICSP для PIC-контроллеров MLN
На складе в г. Киев
Доставка по Украине
543 грн
434 грн
Купить
M-Line Shop
USB программатор K150 ICSP для PIC-контроллеров
Доставка по Украине
385 — 645 грн
от 12 продавцов
729 грн
474 грн
Купить
Euromagazua
Програматор PIC K150 з кабелем
На складе
Доставка по Украине
451 грн
Купить
Інтернет-магазин «Мікроампер»
PICkit2 USB Программатор PIC контроллеров, микросхем памяти EEPROM и ключей KeeLOQ
На складе в г. Полтава
Доставка по Украине
по 775.2 грн
от 2 продавцов
775.20 грн
Купить
IT Electronics
PICKIT2 PICKIT3 адаптер программатора PIC K150
Доставка по Украине
102 грн
Купить
aikonss
Программатор Pic контроллеров
Доставка по Украине
420 грн
Купить
Doctor Smarts
USB программатор для PIC микроконтроллеров, K150, ICSP разъем, программатор для пик контроллеров, 5В
На складе
Доставка по Украине
638 грн
389 грн
Купить
Магазин ДОМ КОМФОРТА
USB программатор K150 ICSP для PIC-контроллеров
На складе
Доставка по Украине
385 — 462 грн
от 14 продавцов
385 грн
Купить
АльтМаркет — интернет магазин
USB программатор K150 ICSP для PIC-контроллеров
На складе в г. Ровно
Доставка по Украине
385 грн
Купить
Магазин «Freedelivery»
USB программатор K150 ICSP для PIC-контроллеров
На складе в г. Ровно
Доставка по Украине
по 385 грн
от 4 продавцов
385 грн
Купить
KRONS интернет- магазин
PIC K150 ICSP USB программатор
На складе в г. Полтава
Доставка по Украине
402.80 грн
Купить
IT Electronics
PICkit2 USB Программатор PIC контроллеров, микросхем памяти EEPROM и ключей KeeLOQ
Доставка по Украине
по 775.2 грн
от 2 продавцов
775.20 грн
Купить
РезиStore
PIC K150 ICSP USB программатор
Доставка из г. Полтава
403.60 грн
Купить
Интернет магазин «E-To4Ka»
Радиоконструктор RadioKit K221 (программатор PIC)
На складе в г. Днепр
Доставка по Украине
400 грн
Купить
Компонент магазин
Смотрите также
PIC K150 ICSP USB программатор
Доставка по Украине
по 405 грн
от 2 продавцов
405 грн
Купить
РезиStore
Программатор PIC K150 + ICSP интерфейс USB-кабель
На складе в г. Ровно
Доставка по Украине
385 грн
Купить
Double-Shop
USB программатор K150 ICSP для PIC-контроллеров PIC USB ICSP L4 Поддержка микроконтроллеров
Доставка по Украине
630 грн
Купить
Интернет-магазин «Smart-company»
USB программатор K150 ICSP для PIC-контроллеров
Доставка по Украине
504 грн
Купить
Интернет-магазин «Smart-company»
USB программатор K150 ICSP для PIC-контроллеров 5 В
Доставка по Украине
535 — 684 грн
от 2 продавцов
546 грн
535 грн
Купить
ІНТЕРНЕТ-МАГАЗИН «ЗАКУПИСЬ»
USB программатор K150 ICSP для PIC-контроллеров, 102815
На складе в г. Ровно
Доставка по Украине
385 грн
Купить
Интернет магазин » Горячий Стиль «
USB программатор K150 ICSP для PIC-контроллеров
Доставка из г. Ровно
385 грн
Купить
Интернет-магазин «ТЕХНО ФАБРИКА»
USB программатор K150 ICSP для PIC-контроллеров
Доставка по Украине
385 грн
Купить
Интернет-магазин «Дрібниці»
USB программатор K150 ICSP для PIC-контроллеров
Доставка по Украине
537 грн
Купить
ІНТЕРНЕТ-МАГАЗИН «Доставлено «
Arduino LCD1602 I2C AVR PIC модуль
Доставка из г. Полтава
39.80 грн
Купить
Интернет магазин «E-To4Ka»
Программатор USB PIC K150 SCM
На складе в г. Киев
Доставка по Украине
448 грн
Купить
Langeron
USB-программатор K150 ICSP для PIC-контроллеров
Доставка по Украине
771 грн
642 грн
Купить
Promsnab
Программатор PIC K-150 ICSP
Доставка по Украине
502.98 грн
Купить
Программатор Ch441A 24 25 FLASH EEPROM с прищепкой SOP8 SOIC8 и 1.8V адаптер
На складе в г. Харьков
Доставка по Украине
380 грн/комплект
Купить
Интернет-магазин «RTI-AUTO»
MPLAB-совместимый мини-USB программатор PIC — PGM-09667
Этот продукт имеет ограничения на доставку, поэтому он может иметь ограниченные варианты доставки или не может быть отправлен в следующие страны:
- Дом
- Категории товаров
- ПОС
- MPLAB-совместимый программатор Mini USB PIC
Пенсионер ПГМ-09667 1
Примечание: Снятый с производства продукт
Этот продукт был изъят из нашего каталога и больше не продается. Эта страница доступна для тех, кто ищет спецификации и просто любопытных.
Избранное Любимый 0
Пенсионер ПГМ-09667
1
Примечание: Снятый с производства продукт
Этот продукт был изъят из нашего каталога и больше не продается. Эта страница доступна для тех, кто ищет спецификации и просто любопытных.
- Описание
- Функции
- Документы
Этот программатор PIC от Cana Kit представляет собой профессиональный компактный USB-программатор PIC с 20-контактным разъемом ZIF (Zero Insertion Force) для простого программирования PIC. PIC Programmer на 100% совместим с MPLAB IDE от Microchip и интерфейсом PICkit 2 и может программировать все популярные микроконтроллеры PIC 5V , включая PIC16F84A, PIC16F628, PIC18F458 и PIC16F877.
Этот программатор PIC использует порт USB для питания и подключения к компьютеру, в отличие от традиционного последовательного порта, что устраняет необходимость в отдельном источнике питания. Программатор PIC предлагает внутрисхемное программирование через стандартный 6-контактный разъем ICSP, а также встроенный 20-контактный разъем ZIF для простого программирования любого PIC до 20 контактов прямо на программаторе. PIC с большим количеством контактов также можно запрограммировать, но через заголовок соединения ICSP.
Отдельное программное обеспечение для программирования Windows, полностью поддерживаемое Microchip, доступно для загрузки. Прошивка USB PIC Programmer также полностью обновляется по мере выпуска новых устройств, а обновления прошивки можно легко загрузить с официального сайта Microchip.
Список поддерживаемых карт PIC можно найти здесь.
- USB-соединение (кабель НЕ входит в комплект)
- Не требует источника питания
- 100% совместимость с Microchip MPLAB IDE
- Автономное программное обеспечение для программирования Windows доступно для загрузки.
- 20-контактный разъем ZIF для простого программирования и снятия
- Поддерживает широкий спектр микроконтроллеров PIC от 8-контактных до 20-контактных
- Разъем ICSP для программирования любого PIC (от 8 до 40 контактов)
- Руководство по эксплуатации
MPLAB-совместимый мини-USB программатор PIC Справка и ресурсы по продукту
- Необходимые навыки
Основной навык:
ПрограммированиеЕсли для платы требуется код или каким-либо образом взаимодействует, вам нужно знать, как программировать или взаимодействовать с ней. Навык программирования связан с общением и кодом.
3 Программирование
Уровень навыков: Компетентный — Цепочка инструментов для программирования немного сложнее, и примеры могут быть не предоставлены вам явно. Вы должны будете иметь фундаментальные знания в области программирования и должны будете предоставить свой собственный код. Возможно, вам потребуется изменить существующие библиотеки или код для работы с вашим конкретным оборудованием. Сенсорные и аппаратные интерфейсы будут SPI или I2C.
Основной навык:
Электрические прототипыЕсли для этого требуется питание, вам нужно знать, сколько, что делают все контакты и как их подключить. Возможно, вам придется обращаться к таблицам данных, схемам и знать все тонкости электроники.
1 Электрическое прототипирование
Просмотреть все уровни навыков
- Комментарии 7
- Отзывы 1 1
3 из 5
На основании 1 оценок:
Сейчас просматриваются все отзывы клиентов.
Показаны результаты со звездным рейтингом.
Хороший инструмент для программистов, но некоторые проблемы
от пользователя #847319 проверенный покупатель
Я купил это, чтобы прошить прошивку обратно на мою бета-версию GoGo Board 5.
Я уверен, что это работает со многими вещами, просто в данный момент это не сработало для моих нужд.
Введение в микроконтроллеры
Автор: Dinesh Kumar Wickramasinghe
Введение
Привет, друзья, я пишу этот набор сообщений в блоге для тех, кто желает изучать программирование микроконтроллеров семейства PIC с самого начала. На самом деле, я давно планировал написать эти посты в блоге, но все пошло не так, как планировалось. Каким-то образом я мог найти время, чтобы написать. Таким образом, этот набор руководств предназначен для тех, кто хочет изучать программирование микроконтроллеров с самого начала.
Я начал изучать программирование микроконтроллеров на знаменитых микроконтроллерах семейства PIC. Через какое-то время я услышал об Arduino, а затем обнаружил, что Arduino — очень простая в освоении платформа. Но я по-прежнему люблю экспериментировать с микроконтроллерами PIC и получаю от этого настоящее удовольствие.
Типичный компьютер имеет процессор, память и порты ввода/вывода для подключения внешних устройств. Микроконтроллер имеет то же самое. Мы также называем микроконтроллер блоком микроконтроллера (MCU)
Микроконтроллеры в основном используются во встроенных системах. Вы можете использовать микроконтроллеры от простой электронной схемы до крупных проектов промышленной автоматизации, а также проектов робототехники. Вы можете создавать прошивки для микроконтроллеров, используя такие языки программирования, как C, C++, и вы можете легко обновлять свою прошивку. Вы можете подключить множество устройств, таких как датчики, мороты, реле, к микроконтроллерам.
Разница между микроконтроллером и микропроцессором
Вы знаете, что микропроцессор не может работать в одиночку. Ему требуется память и т. Д. При сборке ПК вам необходимо приобрести процессор, карты оперативной памяти, а также материнскую плату, чтобы все это соответствовало.
По сравнению с мощностью ПК микроконтроллер имеет ограниченную вычислительную мощность и ограниченный объем памяти. Да, вы не можете играть в Crysis на микроконтроллере: P
Известные производители микроконтроллеров
Хорошо известными производителями микроконтроллеров являются Microchip, Atmel, ARM, Texas Instruments, Intel
Вы знаете, что известная платформа Arduino UNO основана на микроконтроллере ATmega328, который производится ATmel.
В этой серии руководств я буду использовать микроконтроллеры семейства PIC производства Microchip.
Какой микроконтроллер мне выбрать в моем проекте?
Это полностью зависит от требований вашего проекта. Мы поговорим об этом позже.
Об этой серии руководств
В этой серии руководств я буду использовать микроконтроллеры PIC16F84A и PIC16F877A. Почему я выбрал их, потому что эти микроконтроллеры просты в освоении, дешевы и просты в программировании.
В качестве языка программирования я в основном буду использовать язык MikroC от Microelectronica.
Какое аппаратное и программное обеспечение мне нужно?
При использовании платформы Arduino вам потребуется только плата Arduino и кабель USB (кроме датчиков, двигателей и т. д.)
Но при работе с микроконтроллерами PIC вам понадобится несколько вещей. Но не волнуйтесь, вы можете построить их самостоятельно. При желании их тоже можно купить.
Вот оборудование, которое вам нужно (я дам вам более подробную информацию позже в этом посте)
- Микроконтроллеры PIC16F84A / PIC16F877A (Первые несколько уроков основаны только на PIC16F84A)
- Программатор микроконтроллеров (можно купить или собрать самому, я покажу как)
- Простая проектная плата микроконтроллера (ее также можно купить или собрать самостоятельно)
- Светодиоды, датчики, моторы и т. д. (не волнуйтесь сейчас, мы будем двигаться шаг за шагом)
Вот необходимое вам программное обеспечение (более подробно я дам вам позже в этом посте)
- Компилятор MikroElektronika MikroC
- Программатор (MicroBurn или ICProg)
Давайте создадим свой собственный программатор микроконтроллера
Вам нужно что-то под названием Программатор, чтобы загрузить вашу прошивку (вашу скомпилированную версию исходного кода) на ваш микроконтроллер. Таким образом, программатор — это интерфейс для подключения микроконтроллера к вашему ПК или ноутбуку. Ниже версия программатора называется программатором JDM. Его очень просто и легко построить. Единственным недостатком здесь является то, что программатор JDM подключается к ПК через последовательный порт. Большинство современных ПК и ноутбуков не имеют последовательных портов. Но есть решение. Подождите секунду, я объясню вам позже.
Вот схема JDM-программатора для PIC16F84A.
Вот схема JDM-программатора для PIC16F877A.
Вам не нужно создавать два программатора. Вы можете видеть, что компоненты одинаковы на обеих схемах. Просто создайте одну и добавьте две базы ИС для обоих типов микроконтроллеров. Аккуратно подключите соответствующие контакты основания ИС. Это можно понять, если внимательно проверить обе схемы. Обратите внимание, что вы можете запрограммировать только один микроконтроллер одновременно.
Вот мой программатор JDM. Он имеет два интерфейса для подключения как PIC16F84A, так и PIC16F877A. Я построил это год назад и до сих пор работает нормально.
А вот еще одна версия программатора JDM, которую я собрал (Mini JDM). Он может программировать только микроконтроллер PIC16F84A.
Как видите, оба программатора имеют нормальные базы ИС, но гораздо лучше использовать сокет ZIP.
Я знаю, что у большинства из вас нет последовательного порта на вашем ПК или ноутбуке, поэтому вам нужно использовать USB-программатор. Немного сложно создать собственную версию USB-программатора. Так что лучший способ — купить. Вы можете купить Программатор К150. K150 дешев и поддерживает многие типы микроконтроллеров PIC.
Вы также найдете программаторы семейства PICKit с более продвинутыми функциями отладки.
Давайте создадим простую отладочную плату для микроконтроллера
После того, как вы загрузите свою прошивку в микроконтроллер с помощью любого из упомянутых выше программаторов, вам понадобится отладочная плата для ее тестирования. Вы можете построить свой собственный. Вот схемы отладочных плат микроконтроллеров PIC16F84A и PIC16F877A.
Схема для PIC16F84A
Вот изображение моей макетной платы для PIC16F84A
Схема для PIC16F877A
Вот изображение моей отладочной платы для PIC16F877A
На обеих отладочных платах я использовал кварц 4 МГц. Также стабилизатор напряжения 7805 для подачи стабильных 5В на микроконтроллер.
Я также использовал женские разъемы для всех портов микроконтроллера. Так что я могу легко подключить датчики, светодиоды к микроконтроллеру для своих экспериментов. Вы также можете добавить несколько разъемов «мама» к контактам +5 В и заземления.
Вы также можете купить макетную плату, как на картинке ниже. Это для микроконтроллера PIC16F877A. Я не смог найти ни одной коммерческой версии отладочных плат для микроконтроллера PIC16F84A.
Информация о загрузке программного обеспечения
В этой серии руководств мы будем использовать язык MikroElektronika MikroC. Вы можете скачать MikroElektronika MikroC IDE по ссылке ниже.
Скачать MikroElektronika MikroC IDE
Вы также можете загрузить последнюю версию с официальной страницы MikroElektronika.
Если вы планируете использовать программатор JDM, вы можете использовать программное обеспечение IcProg для загрузки скомпилированного кода в микроконтроллер.
Скачать IC Prog
Если вы используете программатор К150, то вы должны использовать MicroBurn. Это тоже похожее ПО.