Site Loader

Делаем 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.

    0. К сожалению, он не был совместим с моим MacBookPro. Я смог запустить его на другом компьютере, но он также купил дополнительный шнур для подключения контактов ICSP.
    Я уверен, что это работает со многими вещами, просто в данный момент это не сработало для моих нужд.

    Введение в микроконтроллеры

    Автор: Dinesh Kumar Wickramasinghe

    Введение

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

    Я начал изучать программирование микроконтроллеров на знаменитых микроконтроллерах семейства PIC. Через какое-то время я услышал об Arduino, а затем обнаружил, что Arduino — очень простая в освоении платформа. Но я по-прежнему люблю экспериментировать с микроконтроллерами PIC и получаю от этого настоящее удовольствие.

    Типичный компьютер имеет процессор, память и порты ввода/вывода для подключения внешних устройств. Микроконтроллер имеет то же самое. Мы также называем микроконтроллер блоком микроконтроллера (MCU)

    9.0002 Зачем использовать микроконтроллеры?

    Микроконтроллеры в основном используются во встроенных системах. Вы можете использовать микроконтроллеры от простой электронной схемы до крупных проектов промышленной автоматизации, а также проектов робототехники. Вы можете создавать прошивки для микроконтроллеров, используя такие языки программирования, как 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. Это тоже похожее ПО.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *