Устройства на pic контроллерах своими руками: Самый простой программатор для pic. Самодельный программатор для PIC-контроллеров

Содержание

Самый простой программатор для pic. Самодельный программатор для PIC-контроллеров

Вот есть микроконтроллер, есть написанная программа. Что ещё нужно? Программатор! Ведь без помощи аппаратуры, которая сможет записать последовательностью сигналов процесс, который хочет реализовать человек, сложно будет что-то сделать. А как здорово сделать программатор своими руками!

Также здесь вы найдете описание программаторов и из другого семейства — АВР, но исключительно в сравнительных целях. Приступим к статье, где рассказывается, как сделать программатор-flash своими руками.

Для чего необходим программатор

Так как статья пишется в том числе и для читателей, не слишком осведомленных в этом вопросе, то необходимо взять во внимание и такой пункт. Программатор — это специальное устройство, которое посредством получаемых от компьютера сигналов программирует микроконтроллер, который будет управлять схемой. Качественное устройство является очень важным, ведь в таком случае можно будет быть уверенным в том, что МК не выйдет из строя, или, что важнее, из строя не выйдет компьютер. Есть небольшое уточнение: программатор для PIC своими руками делают только те, у кого есть микроконтроллеры этого семейства. Другие из-за другой архитектуры могут не работать. Но можно попробовать своими силами усовершенствовать представленные схемы и собрать программатор AVR своими руками.

Платные против самодельных

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

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

Драйвера

Первоначально следует подобрать программное обеспечение. В зависимости от схемы программатор может быть заточен или под один микроконтроллер, или под большое их количество. Тот, что будет далее рассматриваться, рассчитан примерно на 98 программаторов от 12-го до 18-го семейств. Для тех, кому понравится вариант сборки, следует уточнить, что в качестве драйверного программного обеспечения использовалась программа IC-PROG. Можете попробовать работать и с другой, но уже на свой страх и риск. Это информация для тех, кто хочет создать программатор для AVR своими руками. Далее будет указано, для каких семейств микроконтроллеров РІС он рассчитан. Если есть желание сделать программатор AVR своими руками или какой-то другой тип МК, то вы всегда можете попытаться.

Схема программатора

Вот тут уже можно попробовать сделать программатор для PIC своими руками. В качестве гнезда необходимо использовать разъем DB9. Можно сделать и USB-программатор своими руками, но для него понадобятся дополнительные элементы схемы, которые усложнят и без того довольно сложную плату. Также внимательно рассмотрите рисунок с различными прямоугольниками (чтобы знать, какие части за что отвечают). Выводы должны подключатся именно туда, куда нужно, иначе микроконтроллер превратится в небольшой кусочек пластика и железа, который можно поставить на стеночку как напоминание о былых ошибках. Процесс сборки и использования программатора таков:

  1. Собрать сам программатор так, как написано на схемах. Просмотреть на наличие некачественной пайки, а также потенциальных мест замыкания. Программатор рассчитан на работу с напряжением 15-18В, больше категорически не рекомендуется.
  2. Подготовьте среду управления прошивкой (выше было упоминание одной программы, с которой программатор точно работает).

Процесс прошивки микроконтроллера

Процесс прошивки микроконтроллера данными можно считать продолжением предыдущего списка:

  1. Произвести необходимые для работы программы настройки.
  2. Установить микроконтроллер в программатор так, как отмечено на схеме. Лучше лишний раз убедиться, что всё так, как должно быть, чем ехать за новым МК.
  3. Подключить питание.
  4. Запустить выбранное программное обеспечения (для этого программатора ещё раз посоветуем IC-Prog).
  5. В выпадающем меню вверху справа выбрать, какой именно микроконтроллер следует прошить.
  6. Подготовленный файл выбрать для программирования. Для этого перейдите по пути «Файл» — «Открыть файл». Смотрите, не перепутайте с «Открыть файл данных», это совсем другое, прошить микроконтроллер с помощью второй кнопки не получится.
  7. Нажать на кнопку «Начать программировать микросхему». Примерное время, через которое она будет запрограммирована — до 2 минут. Прерывать процесс программирования нельзя, это чревато выведением из строя микроконтроллера.
  8. И в качестве небольшого контроля нажмите на кнопку «Сравнить микросхему с буфером».

Не очень сложно, но эта последовательность действий позволяет получить качественный программатор, своими руками сделанный, для различных типов микроконтроллеров РІС.

Какие микроконтроллеры поддерживаются и могут быть прошиты программным обеспечением

Как уже выше упоминалось, этот программатор может работать как минимум с 98 моделями. Как можно заметить по схематическим рисункам и платам, он рассчитан на те МК, что имеют 8, 14, 18, 28 и 40 выводов. Этого должно хватить для самых различных экспериментов и построения самых разных механизмов, которые только можно сделать в пределах скромного бюджета среднестатистического гражданина. Можно выразить уверенность, что сделанный программатор своими руками сможет удовлетворить самых требовательных радиолюбителей — при условии, что он будет сделан качественно.

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

Схема позволяет программировать микроконтроллеры и память EEPROM I2C.

Список поддерживаемых микроконтроллеров, при условии совместного использования с утилитой IC-PROG v1.05D:

Микроконтроллеры фирмы Microchip: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, PIC16C433, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C711, PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774, PIC16C781*, PIC16C782*, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877, PIC16F877A, PIC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8720*

Примечание: микроконтроллеры, которые отмечены звездочкой (*) необходимо подключить к программатору через ICSP разъем.

Последовательная память EEPROM I2C (IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, AT24C512.


Установите микросхему в панельку, строго соблюдая положение ключа. Подключите шнур, включите питание. Запустите программу IC-PROG. В выпадающем списке выберите ваш микроконтроллер PIC.

Если у вас нет прошивки — сделайте ее: для этого откройте стандартную программу «Блокнот» или любой другой редактор; вставьте в документ текст прошивки; сохраните под любым именем с расширение *.txt или *.hex.

Затем в утилите в IC-PROG Файл >> Открыть файл >> найти наш файл с прошивкой. Окно «Программного кода» должно заполнится разными кодами.

В окне IC-PROG нажимаем «Программировать микросхему» при этом загорается красный светодиод на схеме устройства. Программирование длится около 30 секунд. Для проверки выбираем — Сравнить микросхему с буфером.

Альтернативный вариант схемы программатора EXTRA-PIC из с готовой печатной платой в Sprint Layout вы можете открыть по зеленой ссылке выше.

Микроконтроллеры PIC заслужили славу благодаря своей неприхотливости и качеству работы, а также универсальности в использовании. Но что может дать микроконтроллер без возможности записывать новые программы на него? Без программатора это не больше чем кусочек удивительного по форме исполнения железа. Сам программатор PIC может быть двух типов: или самодельный, или заводской.

Различие заводского и самодельного программаторов

В первую очередь отличаются они надежностью и функциональностью, которую предоставляют владельцам микроконтроллеров. Так, если делается самодельный, то он, как правило, рассчитывается только на одну модель PIC-микроконтроллера, тогда как программатор от Microchip предоставляет возможность работы с различными типами, модификациями и моделями микроконтроллеров.

Заводской программатор от Microchip

Самый известный и популярный — простой программатор PIC, который использует множество людей и известный для многих под названием PICkit 2. Его популярность объясняется явными и неявными достоинствами. Явные достоинства, которые имеет этот USB программатор для PIC, можно перечислять долго, среди них: относительно небольшая стоимость, простота эксплуатации и универсальность относительно всего семейства микроконтроллеров, начиная от 6-выводных и заканчивая 20-выводными.

Использование программатора от Microchip

По его использованию можно найти много обучающих уроков, которые помогут разобраться с всевозможными аспектами использования. Если рассматривать не только программатор PIC, купленный «с рук», а приобретенный у официального представителя, то можно ещё подметить качество поддержки, предоставляемое вместе с ним. Так, в дополнение идут обучающие материалы по использованию, лицензионные среды разработки, а также демонстрационная плата, которая предназначена для работы с маловыводными микроконтроллерами. Кроме всего этого, присутствуют утилиты, которые сделают работу с механизмом более приятной, помогут отслеживать процесс программирования и отладки работы микроконтроллера. Также поставляется утилита для стимулирования работы МК.

Другие программаторы

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

Программаторы, собранные вручную

А теперь, пожалуй, самое интересное — программаторы PIC-контроллеров, которые собираются вручную. Этим вариантом пользуются те, у кого нет денег или просто нет желания их тратить. В случае покупки у официального представителя можно рассчитывать на то, что если устройство окажется некачественным, то его можно вернуть и получить новое взамен. А при покупке «с рук» или с помощью досок объявлений в случае некачественной пайки или механических повреждений рассчитывать на возмещение расходов и получение качественного программатора не приходится. А теперь перейдём к собранной вручную электронике.

Программатор PIC может быть рассчитан на определённые модели или быть универсальным (для всех или почти всех моделей). Собираются они на микросхемах, которые смогут преобразовать сигналы с порта RS-232 в сигнал, который позволит программировать МК. Нужно помнить, что, когда собираешь данную кем-то конструкцию, программатор PIC, схема и результат должны подходить один к одному. Даже небольшие отклонения нежелательны. Это замечание относится к новичкам в электронике, люди с опытом и практикой могут улучшить практически любую схему, если есть куда улучшать.

Отдельно стоит молвить слово и про программный комплекс, которым обеспечивают USB-программатор для PIC, своими рукамисобранный. Дело в том, что собрать сам программатор по одной из множества схем, представленных в мировой сети, — мало. Необходимо ещё и программное обеспечение, которое позволит компьютеру с его помощью прошить микроконтроллер. В качестве такового довольно часто используются Icprog, WinPic800 и много других программ. Если сам автор схемы программатора не указал ПО, с которым его творение сможет выполнять свою работу, то придется методом перебора узнавать самому. Это же относится и к тем, кто собирает свои собственные схемы. Можно и самому написать программу для МК, но это уже настоящий высший пилотаж.

Универсальные программаторы, которые подойдут не только к РІС

Если человек увлекается программированием микроконтроллеров, то вряд ли он постоянно будет пользоваться только одним типом. Для тех, кто не желает покупать отдельно программаторы для различных типов микроконтроллеров, от различных производителей, были разработаны универсальные устройства, которые смогут запрограммировать МК нескольких компаний. Так как компаний, выпускающих их, довольно много, то стоит избрать пару и рассказать про программаторы для них. Выбор пал на гигантов рынка микроконтроллеров: PIC и AVR.

Универсальный программатор PIC и AVR — это аппаратура, особенность которой заключается в её универсальности и возможности изменять работу благодаря программе, не внося изменений в аппаратную составляющую.

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

  1. Значительные аппаратные ограничения по количеству программируемых микросхем, что позволит программировать не одну, а сразу несколько единиц электроники.
  2. Возможность программирования микроконтроллеров и схем, в основе которых лежат различные технологии (NVRAM, NAND Flash и другие).
  3. Относительно небольшое время программирования. В зависимости от модели программатора и сложности программируемого кода может понадобиться от 20 до 400 секунд.

Особенности практического использования

Отдельно стоит затронуть тему практического использования. Как правило, программаторы подключаются к портам USB, но есть и такие вариации, что работают с помощью тех же проводов, что и винчестер. И для их использования придется снимать крышку компьютера, перебирать провода, да и сам процесс подключения не очень-то и удобный. Но второй тип является более универсальным и мощным, благодаря ему скорость прошивки больше, нежели при подключении через USB. Использование второго варианта не всегда представляется таким удобным и комфортным решением, как с USB, ведь до его использования необходимо проделать ряд операций: достать корпус, открыть его, найти необходимый провод. Про возможные проблемы от перегревания или скачков напряжения при работе с заводскими моделями можно не волноваться, так как у них, как правило, есть специальная защита.

Работа с микроконтроллерами

Что же необходимо для работы всех программаторов с микроконтроллерами? Дело в том, что, хотя сами программаторы и являются самостоятельными схемами, они передают сигналы компьютера в определённой последовательности. И задача относительно того, как компьютеру объяснить, что именно необходимо послать, решается программным обеспечением для программатора.

В свободном доступе находится довольно много различных программ, которые нацелены на работу с программаторами, как самодельными, так и заводскими. Но если он изготавливается малоизвестным предприятием, был сделан по схеме другого любителя электроники или самим человеком, читающим эти строки, то программного обеспечения можно и не найти. В таком случае можно использовать перебор всех доступных утилит для программирования, и если ни одна не подошла (при уверенности, что программатор качественно работает), то необходимо или взять/сделать другой программатор PIC, или написать собственную программу, что является весьма высоким пилотажем.

Возможные проблемы

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

Хотя можно попробовать найти возможные причины сбоев:

  1. Некачественная пайка элементов программатора.
  2. Отсутствие драйверов для работы с устройством.
  3. Повреждения внутри программатора или проводов внутри компьютера/USB.

Эксперименты с микроконтроллерами

Итак, всё есть. Как же начать работу с техникой, как начать прошивать микроконтроллер программатором?

  1. Подключить внешнее питание, присоединить всю аппаратуру.
  2. Первоначально необходима среда, с помощью которой всё будет делаться.
  3. Создать необходимый проект, выбрать конфигурацию микроконтроллера.
  4. Подготовить файл, в котором находится весь необходимый код.
  5. Подключиться к программатору.
  6. Когда всё готово, можно уже прошивать микроконтроллер.

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

Хочется отдельно написать обращение к тем, кто только начинает пользоваться программаторами. Помните, что, какими бы элементарными ни казались некоторые шаги, всегда необходимо их придерживаться, чтобы техника нормально и адекватно могла работать и выполнять поставленные вами задачи. Успехов в электронике!

USB программатор PIC контроллеров — 3.8 out of 5 based on 11 votes

Фотогорафии программатора предоставленны Ансаганом Хасеновым

В данной статье рассматриваются практические аспекты сборки несложного USB программатора PIC микроконтроллеров, который имеет оригинальное название GTP-USB (Grabador TodoPic-USB). Существует старшая модель этого программатора GTP-USB plus который поддерживает и AVR микроконтроллеры, но предлагается за деньги. Однозначных сведений по схемам и прошивкам к GTP-USB plus обнаружить не удалось. Если у вас есть информация по GTP-USB plus, прошу связаться со мной.

Итак, GTP-USB. Данный программатор собран на микроконтроллере PIC18F2550. GTP-USB нельзя рекомендовать начинающим, т.к. для сборки требуется прошить PIC18F2550 и для этого требуется программатор. Замкнутый круг, но не настолько замкнутый, чтобы это стало препятствием для сборки.

Из оригинальной схемы GTP-USB исключены элементы индикации для упрощения рисунка печатной платы. Основной индикатор — это монитор вашего компьютера, на котором из программы WinPic800 версий 3.55G или 3.55B вы можете наблюдать за процессом программирования.

Облегченная схема GTP-USB.

Сигнальные линии Vpp1 и Vpp2 определены под микроконтроллеры в корпусах с различным количеством выводов. Линия Vpp/ICSP определена для внутрисхемного программирования. Остальные линии типовые.

Программатор собран на односторонней печатной плате .

Адаптер можно безболезненно подключать к любому другому программатору PIC-микроконтроллеров, что, безусловно, удобно.

После сборки производим первое включение. По факту первого подключения GTP-USB к ПК появляется сообщение

Затем следует традиционный запрос на установку драйвера. Драйвер расположен в управляющей программе WinPic800 по примерному пути \WinPic800 3.55G\GTP-USB\Driver GTP-USB\.


Соглашаемся с предупреждениями и продолжаем установку.

Обращаю внимание. Данная схема программатора и прошивка к нему проверены на практике и работают с управляющей программой WinPic800 версий 3.55G и 3.55B. Более старшие версии, например, 3.63C не работают с этим программатором. Производим настройку управляющей программы: в меню Settings — Hardware (Установки — Оборудование) выбираем GTP-USB-#0 или GTP-USB-#F1 и нажимаем Apply (Применить).

Нажимаем на панели кнопку и производим тест оборудования. В результате успешного тестирования появляется сообщение (см. ниже), которое не может нас не радовать.

Данный программатор отлично работал со следующими контроллерами (из того что было в наличии): PIC12F675, PIC16F84A, PIC16F628A, PIC16F874A, PIC16F876A, PIC18F252. Тест контроллеров, запись и чтение данных — выполнены успешно. Скорость работы впечатляет. Чтение 1-2 сек. Запись 3-5 сек. Глюков не замечено. Часть зашитых МК протестировано в железе — работает.


Однажды я решил собрать несложный LC-метр на pic16f628a и естественно его надо было чем-то прошить. Раньше у меня был компьютер с физическим com-портом, но сейчас в моём распоряжении только usb и плата pci-lpt-2com. Для начала я собрал простой JDM программатор, но как оказалось ни с платой pci-lpt-com, ни с usb-com переходником он работать не захотел (низкое напряжение сигналов RS-232). Тогда я бросился искать usb программаторы pic, но там, как оказалось всё ограничено использованием дорогих pic18f2550/4550, которых у меня естественно не было, да и жалко такие дорогие МК использовать, если на пиках я очень редко что-то делаю (предпочитаю авр-ы, их прошить проблем не составляет, они намного дешевле, да и программы писать мне кажется, на них проще). Долго копавшись на просторах интернета в одной из множества статей про программатор EXTRA-PIC и его всевозможные варианты один из авторов написал, что extrapic работает с любыми com-портами и даже переходником usb-com.

В схеме данного программатора используется преобразователь логических уровней max232.

Я подумал, если использовать usb адаптер, то будет очень глупо делать два раза преобразование уровней usb в usart TTL, TTL в RS232, RS232 обратно в TTL, если можно просто взять TTL сигналы порта RS232 из микросхемы usb-usart преобразователя.

Так и сделал. Взял микросхему Ch440G (в которой есть все 8 сигналов com-порта) и подключил её вместо max232. И вот что получилось.

В моей схеме есть перемычка jp1, которой нет в экстрапике, её я поставил потому что, не знал, как себя поведёт вывод TX на ТТЛ уровне, поэтому сделал возможность его инвертировать на оставшемся свободном элементе И-НЕ и не прогадал, как оказалось, напрямую на выводе TX логическая единица, и поэтому на выводе VPP при включении присутствует 12 вольт, а при программировании ничего не будет (хотя можно инвертировать TX программно).

После сборки платы пришло время испытаний. И тут настало главное разочарование. Программатор определился сразу (программой ic-prog) и заработал, но очень медленно! В принципе — ожидаемо. Тогда в настройках com порта я выставил максимальную скорость (128 килобод) начал испытания всех найденных программ для JDM. В итоге, самой быстрой оказалась PicPgm. Мой pic16f628a прошивался полностью (hex, eeprom и config) плюс верификация где-то 4-6 минут (причём чтение идёт медленнее записи). IcProg тоже работает, но медленнее. Ошибок про программировании не возникло. Также я попробовал прошить eeprom 24с08, результат тот же — всё шьёт, но очень медленно.

Выводы: программатор достаточно простой, в нём нет дорогостоящих деталей (Ch440 — 0.3-0.5$ , к1533ла3 можно вообще найти среди радиохлама), работает на любом компьютере, ноутбуке (и даже можно использовать планшеты на windows 8/10). Минусы: он очень медленный. Также он требует внешнее питание для сигнала VPP. В итоге, как мне показалось, для нечастой прошивки пиков — это несложный для повторения и недорогой вариант для тех, у кого нет под рукой древнего компьютера с нужными портами.

Вот фото готового девайса:

Как поётся в песне «я его слепила из того, что было». Набор деталей самый разнообразный: и smd, и DIP.

Для тех, кто рискнёт повторить схему, в качестве usb-uart конвертера подойдёт почти любой (ft232, pl2303, cp2101 и др), вместо к1533ла3 подойдёт к555, думаю даже к155 серия или зарубежный аналог 74als00, возможно даже будет работать с логическими НЕ элементами типа к1533лн1. Прилагаю свою печатную плату, но разводка там под те элементы, что были в наличии, каждый может перерисовать под себя.

Список радиоэлементов
ОбозначениеТипНоминалКоличествоПримечаниеМагазинМой блокнот
IC1МикросхемаCh440G1В блокнот
IC2МикросхемаК1533ЛА31В блокнот
VR1Линейный регулятор

LM7812

1В блокнот
VR2Линейный регулятор

LM7805

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

КТ502Е

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

КТ3102Е

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

1N4148

2В блокнот
C1, C2, C5-C7Конденсатор100 нФ5В блокнот
C3, C4Конденсатор22 пФ2В блокнот
HL1-HL4СветодиодЛюбой4В блокнот
R1, R3, R4Резистор

1 кОм

3

Программатор pic-контроллеров Extra-pic своими руками

Довольно большую популярность в интернете набирают схемы с использованием микроконтроллеров. Микроконтроллер – это такая специальная микросхема, которая, по сути своей, является маленьким компьютером, со своими портами ввода-вывода, памятью. Благодаря микроконтроллером можно создавать весьма функциональные схемы с минимумом пассивных компонентов, например, электронные часы, плееры, различные светодиодные эффекты, устройства автоматизации.

Для того, чтобы микросхема начала исполнять какие-либо функции, нужно её прошить, т.е. загрузить в её память код прошивки. Сделать это можно с помощью специального устройства, называемого программатором. Программатор связывает компьютер, на котором находится файл прошивки с прошиваемым микроконтроллером. Стоит упомянуть, что существуют микроконтроллеры семейства AVR, например такие, как Atmega8, Attiny13, и серии pic, например PIC12F675, PIC16F676. Pic-серия принадлежит компании Microchip, а AVR компании Atmel, поэтому способы прошивки pic и AVR отличаются. В этой статье рассмотрим процесс создания программатора Extra-pic, с помощью которого можно прошить микроконтроллер серии pic.
К достоинствам именно этого программатора можно отнести простоту его схемы, надёжность работы, универсальность, ведь поддерживает он все распространённые микроконтроллеры. На компьютере поддерживается также самыми распространёнными программами для прошивки, такими как Ic-prog, WinPic800, PonyProg, PICPgm.

Схема программатора



Она содержит в себе две микросхемы, импортную MAX232 и отечественную КР1533ЛА3, которую можно заменить на КР155ЛА3. Два транзистора, КТ502, который можно заменить на КТ345, КТ3107 или любой другой маломощный PNP транзистор. КТ3102 также можно менять, например, на BC457, КТ315. Зелёный светодиод служит индикатором наличия питания, красный загорается во время процесса прошивки микроконтроллера. Диод 1N4007 служит для защиты схемы от подачи напряжения неправильной полярности.

Материалы



Список необходимых для сборки программатора деталей:
  • Стабилизатор 78L05 – 2 шт.
  • Стабилизатор 78L12 – 1 шт.
  • Светодиод на 3 в. зелёный – 1 шт.
  • Светодиод на 3 в. красный – 1 шт.
  • Диод 1N4007 – 1 шт.
  • Диод 1N4148 – 2 шт.
  • Резистор 0,125 Вт 4,7 кОм – 2 шт.
  • Резистор 0,125 Вт 1 кОм – 6 шт.
  • Конденсатор 10 мкФ 16В – 4 шт.
  • Конденсатор 220 мкФ 25В – 1 шт.
  • Конденсатор 100 нФ – 3 шт.
  • Транзистор КТ3102 – 1 шт.
  • Транзистор КТ502 – 1 шт.
  • Микросхема MAX232 – 1 шт.
  • Микросхема КР1533ЛА3 – 1 шт.
  • Разъём питания – 1 шт
  • Разъём COM порта «мама» — 1 шт.
  • Панелька DIP40 – 1 шт.
  • Панелька DIP8 – 2 шт.
  • Панелька DIP14 – 1 шт.
  • Панелька DIP16 – 1 шт.
  • Панелька DIP18 – 1 шт.
  • Панелька DIP28 – 1 шт.

Кроме того, необходим паяльник и умение им пользоваться.

Изготовление печатной платы


Программатор собирается на печатной плате размерами 100х70 мм. Печатная плата выполняется методом ЛУТ, файл к статье прилагается. Отзеркаливать изображение перед печатью не нужно.

Скачать плату:

Сборка программатора


Первым делом на печатную плату впаиваются перемычки, затем резисторы, диоды. В последнюю очередь нужно впаять панельки и разъёмы питания и СОМ порта.


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

Разъём СОМ порта (он называется DB-9) имеет два штырька, которые должны «втыкаться» в плату. Чтобы не сверлить под них лишние отверстия на плате, можно открутить два винтика под бокам разъёма, при этом штырьки отпадут, как и металлическая окантовка разъёма.

После впайки всех деталей плату нужно отмыть от флюса, прозвонить соседние контакты, нет ли замыканий. Убедиться в том, что в панельках нет микросхем (вынуть нужно в том числе и МАХ232, и КР1533ЛА3), подключить питание. Проверить, присутствует ли напряжение 5 вольт на выходах стабилизаторов. Если всё хорошо, можно устанавливать микросхемы МАХ232 и КР1533ЛА3, программатор готов к работе. Напряжение питания схемы 15-24 вольта.


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

Устройства на микроконтроллере PIC12F629 Сборник схем прошивок — УСТРОЙСТВА НА МК — radio-bes

Если у вас вдруг возникло желание приобщиться к великому таинству программирования микроконтроллеров или даже создать свою собственную так называемую «Embedded system», но:
  1. вы не знаете, с чего начать
  2. у вас нет паяльника, программатора, коробки с радиодеталями и умения все это совместить
  3. вам лень отрываться от кресла и компьютера

то эта статья точно для вас.

Ни для кого не секрет, что современное программное обеспечение очень облегчило нелегкую жизнь инженера. Имеются тысячи программ для автоматизированного проектирования электронных схем, для моделирования их работы, в том числе и для микроконтроллерных систем. Одна из таких САПР — Proteus VSM, разработнанная компанией Labcenter Electronics(требуйте бесплатную ознакомительную версию).

Итак, для изучения микроконтроллеров нам потребуются:

  1. желание
  2. компьютер с установленным Proteus
  3. свободное время


Для того, чтобы постичь все секреты микроконтроллера, начинать изучение лучше с прочтения документации (для микроконтроллеров PIC документацию можно скачать на сайте производителя ), а программировать начать не на С, Pascal или даже Basic, а на старом добром ассемблере, что позволит понять, как же эта железяка на самом деле работает.
Что можно в первую очередь отметить в микроконтроллере семейства PIC16 с точки зрения программиста:
  1. раздельные память программ (14 бит) и память данных (8 бит)
  2. всего 35 инструкций
  3. большинство инструкций (кроме инструкций перехода и проверки условий) выполняется за 1 машинный цикл (4 такта тактового генератора)
  4. один явно выраженный регистр общего назначения – аккумулятор
  5. обращение к любой ячейке оперативной памяти как к регистру (так называемые регистровые файлы)
  6. порты ввода-вывода
  7. наличие прерываний
  8. аппаратные таймеры

Создадим простое устройство на простом микроконтроллере PIC16F84A. Для этого в Proteus найдем этот микроконтроллер в библиотеке элементов, добавим в проект и разместим его на рабочем листе.

Далее создадим файл с исходным кодом и откроем его во встроенном редакторе.

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

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

LIST p=16F84a
include "P16F84A.INC"
;---------------------------------
CBLOCK 0x0C
W_TEMP ;0x0C
STATUS_TEMP ;0x0D
FLAGS ;0x0E
COUNTER ;0x0F
ENDC
;---------------------------------
TF EQU 0x00 ;Task flag
ORG 0x00
goto START
ORG 0x04
;---------------------------------
INT movwf W_TEMP ;save W
swapf STATUS, W
movwf STATUS_TEMP ;save STATUS
btfss INTCON, T0IF
goto ENDISR
bcf INTCON, T0IF ;clear flag
bsf FLAGS, TF
ENDISR swapf STATUS_TEMP, W
movwf STATUS ;recover STATUS
swapf W_TEMP, F
swapf W_TEMP, W ;recover W
retfie
;---------------------------------
START clrf PORTA
clrf PORTB
bsf STATUS, RP0 ;Bank1
clrf TRISB ;PortB Output
movlw b'11010111'
movwf OPTION_REG ;Set Option_REG
bcf STATUS, RP0 ;Bank0
clrf TMR0
bsf INTCON, T0IE ;Enable Timer0 interrupt
bsf INTCON, GIE ;Enable interrupts
movlw 0x3D
movwf COUNTER
;---------------------------------
MAIN btfss FLAGS, TF
goto MAIN ;If TF = 0
call OUTPUT
bcf FLAGS, TF ;Clear TF
goto MAIN
;---------------------------------
OUTPUT decfsz COUNTER, F
goto NOT0
movlw 0x3C
movwf COUNTER
NOT0 movf COUNTER, W
call TAB
movwf PORTB
return
;---------------------------------
TAB addwf PCL, F
nop
retlw b'00100001' ;1
retlw b'00000001' ;2
retlw b'00100001' ;3
retlw b'00000001' ;4
retlw b'00100001' ;5
retlw b'00000001' ;6
retlw b'00100001' ;7
retlw b'00000001' ;8
retlw b'00100001' ;9
retlw b'00000001' ;10
retlw b'00100001' ;11
retlw b'00100001' ;12
retlw b'00100001' ;13
retlw b'00100001' ;14
retlw b'00100001' ;15
retlw b'00100001' ;16
retlw b'00100001' ;17
retlw b'00100001' ;18
retlw b'00100001' ;19
retlw b'00100001' ;20
retlw b'00010010' ;21
retlw b'00010010' ;22
retlw b'00010010' ;23
retlw b'00010010' ;24
retlw b'00010010' ;25
retlw b'00010010' ;26
retlw b'00010010' ;27
retlw b'00010010' ;28
retlw b'00010010' ;29
retlw b'00010010' ;30
retlw b'00010010' ;31
retlw b'00010010' ;32
retlw b'00010010' ;33
retlw b'00010010' ;34
retlw b'00010010' ;35
retlw b'00010010' ;36
retlw b'00010010' ;37
retlw b'00010010' ;38
retlw b'00010010' ;39
retlw b'00010010' ;40
retlw b'00001100' ;41
retlw b'00001000' ;42
retlw b'00001100' ;43
retlw b'00001000' ;44
retlw b'00001100' ;45
retlw b'00001000' ;46
retlw b'00001100' ;47
retlw b'00001000' ;48
retlw b'00001100' ;49
retlw b'00001000' ;50
retlw b'00001100' ;51
retlw b'00001100' ;52
retlw b'00001100' ;53
retlw b'00001100' ;54
retlw b'00001100' ;55
retlw b'00001100' ;56
retlw b'00001100' ;57
retlw b'00001100' ;58
retlw b'00001100' ;59
retlw b'00001100' ;60
;---------------------------------
END

Данная программа при всей своей простоте содержит почти все элементы, присущие и более сложным программам.
Рассмотрим структуру подробнее.

Комментарием считается строка или ее часть начинающаяся с символа «;».

Строка «LIST p=16F84a» представляет собой директиву ассемблера, предназначенную для изменения параметров компиляции и определяет тип используемого микроконтроллера (16F84a).

Директива include «P16F84A.INC», как программисты уже наверное догадались, подключает к исходному файлу файл, определяющий параметры и набор регистров специального назначения для конкретного микроконтроллера.

С помощью директивы:
CBLOCK 0x0C
W_TEMP
STATUS_TEMP
FLAGS
COUNTER
ENDC

мы размещаем в памяти данных несколько констант, начиная с адреса 0x0С, так что обратившись, например, к FLAGS, мы получим доступ к ячейке оперативной памяти с адресом 0x0E. Эти константы понадобятся нам в дальнейшем.

Директива EQU в строке «TF EQU 0x00» определяет константу TF равную числу 0x00.

Директива ORG предназначена для размещения программы по определенным адресам в памяти данных.

Исторически сложилось и закрепилось в архитектуре микроконтроллеров PIC, что по адресу 0x0000 расположен вектор сброса, а по адресу 0x0004 – вектор прерывания (то есть при сбросе, который происходит при включении контроллера с помощью специальной схемы, выполнение программы начнется с адреса 0x0000, а при возникновении прерывания произойдет переход на адрес 0x0004).
Таким образом, по адресу 0x0000 мы располагаем команду безусловного перехода на начало основной программы «goto START», а по адресу 0x0004 у нас будет подпрограмма обработки прерываний (метка INT).
Часть программы, начинающаяся с метки START, предназначена для инициализации начальных параметров, и выполняется только один раз при старте микроконтроллера. Часть программы, начинающаяся с метки MAIN, организует бесконечный цикл выполнения программы с помощью команды безусловного перехода «goto MAIN».
Программа должна заканчиваться директивой END.

Инициализация

Команда «clrf» предназначена для обнуления содержимого регистра. Командами

clrf PORTA
clrf PORTB

мы обнулим содержимое регистров, связанных с портами ввода-вывода PortA и PortB. Это необходимо, поскольку при сбросе микроконтроллера они могут получить случайные значения.
Команда «bsf» предназначена для установки определенного бита в байте регистра. Таким образом при выполнении:

bsf STATUS, RP0

в регистре STATUS бит RP0 примет значение 1. Регистр STATUS кроме того, что содержит флаги результатов арифметических операций (ноль, возникновение переноса), также отвечает за выбор банка памяти при прямой адресации. Микроконтроллер PIC16F84A содержит 2 банка памяти (начинающихся с адресов 0x00 и 0x80), специальные регистры расположены как в первом, так и во втором банке. Установив бит RP0, мы сможем обращаться ко второму банку памяти.

Во втором банке памяти нас интересует регистр TRISB, определяющий, какие выводы порта PortB являются входами, а какие выходами. Установкой с помощью команды «clrf TRISB» всех битов регистра TRISB в 0, определяем все выводы PortB как выходы.

Команда «bcf» сбрасывает определенный бит в регистре, таким образом с помощью команды

bcf STATUS, RP0

мы опять можем обращаться к банку первому банку памяти.

Теперь необходимо изменить значение регистров:

  • OPTION_REG, с помощью которого можно сконфигурировать таймер Timer0
  • INTCON, определяющий, какие прерывания разрешены в системе.

Команда «movlw b’11010111’» загружает в аккумулятор W число, с помощью которого мы устанавливаем источник для тактирования таймера от внутреннего генератора, подключаем предделитель к таймеру а также устанавливаем коэффициент предделителя (подробности смотрите в документации). Командой «movwf OPTION_REG» мы отправляем число из аккумулятора в специальный регистр OPTION_REG.

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

Для разрешения прерывания от таймера в специальном регистре INTCON необходимо установить бит T0IE, а для глобального разрешения прерываний, необходимо установить бит GIE, что и делают команды:

bsf INTCON, T0IE
bsf INTCON, GIE

Также на этапе инициализации устанавливается счетчик циклов для основной программы:

movlw 0x3D
movwf COUNTER

В результате выполнения этих двух инструкций в ячейку памяти, обозначенную как регистр COUNTER (адрес 0x0F) будет помещено число 0x3D.

На этом инициализация заканчивается и начинается основной цикл программы.

Основной цикл

В основном цикле проверяется состояние флага задания TF (бит 0x00) в регистре FLAGS (по адресу 0x0E). Если флаг установлен (значение 1) выполняется подпрограмма OUTPUT. после выполнения подпрограммы флаг задания сбрасывается (значение 0).

Проверка значения бита в регистре осуществляется с помощью команды «btfss FLAGS, TF». Команда тестирует бит в регистре, если бит установлен в «1», то следующая инструкция не выполняется, а следующие 2 цикла выполняется команда «nop» («нет операции»). Если бит имеет значение «0» то выполняется следующая по порядку инстукция.

Поскольку следующая инструкция является командой безусловного перехода на метку MAIN, то при сброшенном флаге задания TF продолжается бесконечный основной цикл программы. При установленном флаге задания выполняется команда вызова подпрограммы «call OUTPUT», таким образом текущее значение счетчика команд (PC – «Program counter») помещается в стек, и происходит переход на подпрограмму с меткой OUTPUT.

Возврат из подпрограммы происходит при выполнении инструкции «return», при этом значение адреса из вершины стека помещается в счетчик команд. Стек имеет 8 уровней, таким образом, возможна вложенность (то есть вызов одной из другой) до 8 подпрограмм (в том числе и подпрограмма обработки прерываний).
После возврата из подпрограммы флаг задания сбрасывается уже знакомой нам командой «bcf».

Подпрограмма обработки прерываний

При переполнении регистра таймера происходит переход на вектор прерывания по адресу 0x0004 и запрещаются все прерывания (автоматически сбрасывается бит GIE в регистре INTCON). Подпрограмма обработки прерывания прежде всего должна обеспечивать сохранение содержимого аккумулятора W и регистра STATUS при перед началом обработки прерывания, и восстанавливать значения W и STATUS по окончании обработки. Это необходимо для предотвращения их случайной модификации в подпрограмме обработки прерывания.

Содержимое аккумулятора просто помещается в заранее выделенную ячейку памяти командой «movwf W_TEMP».
Регистр STATUS может изменять свое значение при выполнении ряда инструкций, поэтому применяется маленькая хитрость. Содержимое регистра помещается в аккумулятор с перестановкой нибблов (полубайтов) командой «swapf STATUS, W», а оттуда помещается в заранее выделенную ячейку памяти командой «movwf STATUS_TEMP».

Восстановление содержимого W и STATUS в конце подпрограммы происходит в обратном порядке. Содержимое ячейки памяти, хранящей содержимое регистра STATUS помещается в аккумулятор с перестановкой нибблов командой «swapf STATUS_TEMP, W», и из аккумулятора переносится непосредственно в регистр STATUS командой «movwf STATUS». Для предотвращения случайной модификации регистра STATUS при помещении неизвестного заранее значения из временной ячейки памяти в аккумулятор, восстановление аккумулятора осуществляется двумя командами с перестановкой нибблов:

swapf W_TEMP, F
swapf W_TEMP, W

Такое применение команды «swapf» объясняется тем, что она не оказывает влияния на флаги в регистре STATUS.

Сам обработчик прерывания проверяет что вызвало прерывание (т.к. возможны несколько источников прерывания, если они будут разрешены) путем проверки соответствующих битов регистра INTCON. Поскольку у нас разрешено только одно прерывание, можно было бы не делать такой проверки, но тем не менее проверим бит T0IF (устанавливается при возникновении прерывания от таймера):

btfss INTCON, T0IF
goto ENDISR
bcf INTCON, T0IF
bsf FLAGS, TF

Если бит не установлен, то произойдет переход к инструкциям восстановления содержимого W и STATUS на метку ENDISR. Если бит установлен то мы его сбросим вручную командой «bcf INTCON, T0IF» и установим флаг задания командой «bsf FLAGS, TF». Далее выполнятся инструкции восстановления содержимого W и STATUS.
Выход из подпрограммы обработки прерываний происходит при выполнении инструкции «retfie». Содержимое счетчика команд восстанавливается из стека, а прерывания автоматически разрешаются путем установки бита GIE регистра INTCON в «1».

Подпрограмма OUTPUT

В данной подпрограмме выполняются все «полезные» действия, по которым мы можем судить о функционировании микроконтроллерного устройства. Нам необходимо получить на выходе вот такую функцию:

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

Подпрограмма содержит инструкции:

OUTPUT decfsz COUNTER, F
goto NOT0
movlw 0x3C
movwf COUNTER
NOT0 movf COUNTER, W
call TAB
movwf PORTB
return

Инструкция «decfsz» предназначена для организации циклов. Она декрементирует содержимое регистра COUNTER, в случае если результат не равен нулю, выполняется следующая по порядку инструкция (переходим на метку NOT0), иначе в течение 2 циклов выполняется пустая инструкция «nop», а затем в регистр COUNTER помещается начальное значение 0x3C (заметьте, т.к. декремент регистра осуществляется до использования значения этого регистра в программе, при инициализации мы задали значение на 1 большее).

Значение регистра COUNTER помещается в аккумулятор W, после чего осуществляется чтение из таблицы путем вызова подпрограммы инструкцией «call TAB». При возврате из таблицы в W содержится необходимое нам значение состояния выходов. Это значение записывается в регистр PORTB, чем осуществляется вывод сигналов из микроконтроллера. Далее происходит возврат из подпрограммы командой «return».

Таблица значений

Таблица содержит несколько сервисных инструкций и, собственно, сами 60 требующихся нам значений:
TAB addwf PCL, F
nop
retlw b'00100001' ;1
retlw b'00000001' ;2
………
retlw b'00001100' ;60

Принцип чтения из таблицы в следующем. При вызове таблицы мы поместили в W значение – номер «ячейки» таблицы. В подпрограмме происходит сложение младшего байта счетчика команд PCL и значения из W инструкцией «addwf PCL, F». Таким образом в памяти программ произойдет переход к инструкции с адресом PCL+W. В диапазоне адресов, которые могут получиться в результате, находятся непосредственно «ячейки» таблицы в виде инструкций «retlw» (например «retlw b’00100001’»), которые вызывают возврат из подпрограммы с занесением своего аргумента в W.

Таким образом, в результате возврата из таблицы, мы имеем в W требуемое значение.

Инструкция «nop» применена для выравнивания значений в таблице, т.к. таблица не вызывается при W=0.
Следует отметить необходимость контроля содержимого аккумулятора W при вызове таблиц, чтобы не произошел переход за границы программы.

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

Средства программирования PIC-контроллеров / Хабр

Введение

PIC-контроллеры остаются популярными в тех случаях, когда требуется создать недорогую компактную систему с низким энергопотреблением, не предъявляющую высоких требований по ее управлению. Эти контроллеры позволяют заменить аппаратную логику гибкими программными средствами, которые взаимодействуют с внешними устройствами через хорошие порты.

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

Компания Microchip распространяет MPLAB — бесплатную интегрированную среду редактирования и отладки программ, которая записывает бинарные файлы в микроконтроллеры PIC через программаторы.

Взаимодействие MPLAB и Matlab/Simulink позволяет разрабатывать программы для PIC-контроллеров в среде Simulink — графического моделирования и анализа динамических систем. В этой работе рассматриваются средства программирования PIC контроллеров: MPLAB, Matlab/Simulink и программатор PIC-KIT3 в следующих разделах.

• Характеристики миниатюрного PIC контроллера PIC12F629
• Интегрированная среда разработки MPLAB IDE
• Подключение Matlab/Simulink к MPLAB
• Подключение программатора PIC-KIT3

Характеристики миниатюрного PIC-контроллера

Семейство РIС12ххх содержит контроллеры в миниатюрном 8–выводном корпусе со встроенным тактовым генератором. Контроллеры имеют RISC–архитектуру и обеспечивают выполнение большинства команд процессора за один машинный цикл.

Для примера, ниже даны характеристики недорогого компактного 8-разрядного контроллера PIC12F629 с многофункциональными портами, малым потреблением и широким диапазоном питания [1].

• Архитектура: RISC
• Напряжение питания VDD: от 2,0В до 5,5В (< 6,5В)
• Потребление:
— <1,0 мА @ 5,5В, 4МГц
— 20 мкА (тип) @ 32 кГц, 2,0В
— <1,0 мкА (тип) в режиме SLEEP@2,0В
• Рассеиваемая мощность: 0,8Вт
• Многофункциональные каналы ввода/вывода: 6/5
• Максимальный выходной ток портов GPIO: 125мА
• Ток через программируемые внутренние подтягивающие резисторы портов: ≥50 (250) ≤400 мкА @ 5,0В
• Разрядность контроллера: 8
• Тактовая частота от внешнего генератора: 20 МГц
Длительность машинного цикла: 200 нс
• Тактовая частота от внутреннего RC генератора: 4 МГц ±1%
Длительность машинного цикла: 1мкс
• FLASH память программ: 1К
Число циклов стирание/запись: ≥1000
• ОЗУ память данных: 64
• EEPROM память данных: 128
Число циклов стирание/запись: ≥10K (-40оС ≤TA≤ +125 оС)
• Аппаратные регистры специального назначения: 16
• Список команд: 35 инструкций, все команды выполняются за один машинный цикл,
кроме команд перехода, выполняемых за 2 цикла
• Аппаратный стек: 8 уровней
• Таймер/счетчик ТМR0: 8-разрядный с предделителем
• Таймер/счетчик ТМR1: 16-разрядный с предделителем

Дополнительные особенности:


• Сброс по включению питания (POR)
• Таймер сброса (PWRTтаймер ожидания запуска генератора (OST
• Сброс по снижению напряжения питания (BOD)
• Сторожевой таймер WDT
• Мультиплексируемый вывод -MCLR
• Система прерываний по изменению уровня сигнала на входах
• Индивидуально программируемые для каждого входа подтягивающие резисторы
• Программируемая защита входа
• Режим пониженного энергопотребления SLEEP
• Выбор режима работы тактового генератора
• Внутрисхемное программирование ICSP с использованием двух выводов
• Четыре пользовательские ID ячейки

Предельная рабочая температура для Е исполнения (расширенный диапазон) от -40оС до +125 оС;

Температура хранения от -65оС до +150 оС.

КМОП технология контроллера обеспечивает полностью статический режим работы, при котором остановка тактового генератора не приводит к потере логических состояний внутренних узлов.
Микроконтроллер PIC12F629 имеет 6-разрядный порт ввода/вывода GPIO. Один вывод GP3 порта GPIO работает только на вход, остальные выводы можно сконфигурировать для работы как на вход так и на выход. Каждый вывод GPIO имеет индивидуальный бит разрешения прерываний по изменению уровня сигнала на входах и бит включения внутреннего подтягивающего резистора.

Интегрированная среда разработки MPLAB IDE

MPLAB IDE — бесплатная интегрированная среда разработки ПО для микроконтроллеров PIC включает средства для создания, редактирования, отладки, трансляции и компоновки программ, записи машинного кода в микроконтроллеры через программаторы.

Загрузка MPLAB IDE

Бесплатные версии MPLAB (включая MPLAB 8.92) хранятся на сайте компании Microchip в разделе «DOWNLOAD ARCHIVE».

Создание проекта

Пример создания проекта программ PIC контроллера в среде MPLAB включает следующие шаги [2].

1. Вызов менеджера проекта.

2. Выбор типа PIC микроконтроллера.

3. Выбор компилятора, например, Microchip MPASM для ассемблера.

4. Выбор пути к каталогу проекта (клавиша Browse…) и ввод имени проекта.

5. Подключение файлов к проекту в окне Project Wizard → Step Four можно не выполнять. Это можно сделать позднее, внутри активного проекта. Клавиша Next открывает следующее окно.

6. Завершение создания проекта (клавиша Finish).

В результате создания проекта FirstPrMPLAB интерфейс MPLAB принимает вид, показанный на Рис. 1.


Рис. 1. Интерфейс среды MPLAB v8.92 и шаблон проекта.

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

Создание программы в MPLAB можно выполнить в следующей последовательности.

1. Открыть редактор программ: меню → File → New. Изначально программе присвоено имя Untitled.

2. Набрать или скопировать программу, например, на ассемблере.

3. Сохранить программу под другим именем (меню → File → Save As), например, FirstPrMPLAB.asm.


Рис. 2. Пример простейшей программы (на ассемблере) вывода сигналов через порты контроллера GP0, GP1, GP2, GP4, GP5 на максимальной частоте.

Запись ‘1’ в разряде регистра TRISIO переводит соответствующий выходной буфер в 3-е состояние, в этом случае порт GP может работать только на вход. Установка нуля в TRISIO настраивает работу порта GP на выход.

Примечание. По спецификации PIC12F629 порт GP3 микроконтроллера работает только на вход (соответствующий бит регистра TRISIO не сбрасывается – всегда находится в ‘1’).

Регистры TRISIO и GPIO находятся в разных банках области памяти. Переключение банков выполняется 5-м битом регистра STATUS.

Любая программа на ассемблере начинается директивой org и заканчивается директивой end. Переход goto Metka обеспечивает циклическое выполнение программы.

В программе (Рис. 2) используются следующие обозначения.

Директива LIST — назначение типа контроллера
Директива __CONFIG — установка значений битов конфигурации контроллера
Директива equ — присвоение числового значения
Директива org 0 — начало выполнения программы с адреса 0
Команда bsf — устанавливает бит указанного регистра в 1
Команда bсf — сбрасывает бит указанного регистра в 0
Команда movlw — записывает константу в регистр W
Команда movwf — копирует содержимое регистра W в указанный регистр
Команда goto — обеспечивает переход без условия на строку с меткой
Директива end — конец программы

Установка требуемой конфигурации микроконтроллера

Конфигурация микроконтроллера PIC12F629 зависит от настроек слова конфигурации (2007h), которые можно задать в программе через директиву __CONFIG.

Непосредственно или через окно MPLAB: меню → Configure → Configuration Bits:

Где:

Бит 2-0 — FOSC2:FOSC0. Выбор тактового генератора
111 — Внешний RC генератор. Подключается к выводу GP5. GP4 работает как CLKOUT
110 — Внешний RC генератор. Подключается к выводу GP5. GP4 работает как ввод/вывод
101 — Внутренний RC генератор 4МГц. GP5 работает как ввод/вывод. GP4 — как CLKOUT
100 — Внутренний RC генератор 4МГц. GP5 и GP4 работают как ввод/вывод
011 — EC генератор. GP4 работает как ввод/вывод. GP5 — как CLKIN
010 — HC генератор. Резонатор подключается к GP4 и GP5
001 — XT генератор. Резонатор подключается к GP4 и GP5
000 — LP генератор. Резонатор подключается к GP4 и GP5

Бит 3 — WDTE: настройка сторожевого таймера (Watchdog Timer)
1 — WDTE включен
0 — WDTE выключен

Сторожевой таймер предохраняет микроконтроллер от зависания – перезапускает программу через определенный интервал времени если таймер не был сброшен. Период таймера устанавливается в регистре OPTION_REG. Обнуление сторожевого таймера вызывается командой CLRWDT.

Бит 4 — PWRTE: Разрешение работы таймера включения питания:
1 — PWRT выключен
0 — PWRT включен

Таймер задерживает микроконтроллер в состоянии сброса при подаче питания VDD.

Бит 5 — MCLR: Выбор режима работы вывода GP3/-MCLR
1 — работает как -MCLR
0 — работает как порт ввода-вывода GP3

Бит 6 — BODEN: Разрешение сброса по снижению напряжения питания (как правило < 2.0В)
1 — разрешен сброс BOR
0 — запрещен сброс BOR автоматически включается таймер

При разрешении сброса BOR автоматически включается таймер PWRT

Бит 7 — .CP: Бит защиты памяти программ от чтения программатором
1 Защита выключена
0 Защита включена

При выключения защиты вся память программ стирается

Бит 8 — .CPD: Бит защиты EPROM памяти данных
1 Защита выключена
0 Защита включена

После выключения защиты вся информация будет стерта

Бит 11-9 — Не используются: Читается как ‘1’.

Бит 13-12 — BG1:BG0. Биты калибровки сброса по снижению питания
00 — нижний предел калибровки
11 — верхний предел калибровки


Добавление программы к проекту

Пример добавления программы к проекту показан на (Рис. 3).


Рис. 3. Добавление программы FirstPrMPLAB.asm к проекту FirstPrMPLAB.mcp

Сохранить материалы проекта можно командой: меню → File → Save Workspace.

Компиляция

Чтобы создать бинарный файл с расширением hex для прошивки микроконтроллера необходимо откомпилировать проект. Запуск компиляции выполняется командой меню → Project → Build All. Результаты компиляции можно увидеть в окне Output (Рис. 1). Если в программе нет ошибок, то компилятор выдаёт сообщение об успешной компиляции: BUILD SUCCEEDED, загрузочный HEX файл можно найти в рабочем каталоге:


Отладка программы

Отладку программы в среде MPLAB IDE можно выполнить при помощи аппаратного эмулятора MPLAB REAL ICE или программного симулятора MPLAB SIM. Запуск последнего выполняется как показано на Рис. 4.


Рис. 4. Подключение к симулятору MPLAB SIM для отладки программы.

После запуска отладчика в окне Output (Рис. 1) появляется закладка MPLAB SIM, куда MPLAB выводит текущую информацию отладчика. Команды отладчика (Рис. 5) после запуска становятся активными.


Рис. 5. Команды отладчика.

Команды отладчика:

• Run — Непрерывное выполнение программы до точки останова (Breakpoint) если таковая установлена.
• Halt — Остановка программы на текущем шаге выполнения.
• Animate — Анимация непрерывного выполнения программы.
• Step Into — Выполнение по шагам (вызовы Call выполняются за один шаг).
• Step Over — Выполнение по шагам включая команды вызовов Call.
• Reset — Начальная установка программы. Переход указателя на первую команду.
• Breakpoints — Отображение списка точек останова. Обработка списка.

При выполнении программы по шагам текущий шаг выделяется стрелкой (Рис. 6). Непрерывное выполнение программы останавливается командой Halt или достижением программой точки останова. Точка останова устанавливается/снимается в строке программы двойным щелчком.
Пример программы на ассемблере, которая с максимальной скоростью меняет состояние портов контроллера показан на Рис. 6 (справа). Программа передаёт в регистр портов GPIO данные b’10101010’ и b’01010101’. Поскольку в регистре GPIO передачу данных в порты контроллера выполняют не все разряды, а только 0,1,2,4 и 5, то состояние регистра GPIO (Рис. 6, слева) отличается значениями: b’00100010’ и b’00010101’.


Рис. 6. Состояние регистров специального назначения контроллера на момент выполнения программы (слева) и выполняемая по шагам программа (справа).

В процессе отладки можно наблюдать за состоянием регистров, переменных, памяти в соответствующих окнах, открываемых в разделе View основного меню. В процессе отладки можно вносить изменения в код программы, содержимое регистров, памяти, изменять значения переменных. После изменения кода необходимо перекомпилировать программу. Изменение содержимого регистров, памяти и значения переменных (окна раздела View: Special Function Register, File Register, EEPROM, Watch) не требует перекомпиляции.

Входные сигналы портов модели микроконтоллера можно задать в разделе Debugger → Stimulus. Устанавливаемые состояния сигналов портов привязываются к времени (тактам) отладки.

Иногда результаты выполнения программы в режиме отладки не соответствуют выполнению этой же программы в реальном контроллере, так, например, отладчик программы (Рис. 6) без инструкций movlw 0x07 и movwf cmcon показывает, что выходы GP0 и GP1 регистра GPIO не изменяются — находятся в нулевом состоянии, содержимое регистра GPIO попеременно равно 0x14 и 0х20. Однако, контроллер, выполняющий программу без указанных инструкций, показывает на осциллографе циклическую работу всех пяти выходов: 0x15 и 0х22, включая GP0 и GP1 (см. Рис. 7).

Осциллограммы контроллера, выполняющего циклы программы Рис. 6 (Metka… goto Metka) показаны на Рис. 7.


Рис. 7. Осциллограммы выхода GP0 (слева) и GP1 (справа) микроконтроллера PIC12F629, работающего от внутреннего 4МГц RC генератора. Программа (Рис. 6) формирует сигналы максимальной частоты на всех выходах контроллера. За период сигналов 5.3 мкс выполняется 5 команд (6 машинных циклов), амплитуда GP0 сигнала на осциллограмме равна 4.6В, измеренное программатором питание контроллера 4.75В.

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

Для записи программы в микроконтроллер (прошивки контроллера) необходимо микроконтроллер подключить к интегрированной среде MPLAB IDE через программатор. Организация подключения показана ниже в разделе «Подключение программатора PIC-KIT3».

Примечание. В контроллер PIC12F629 записана заводская калибровочная константа настройки частоты внутреннего тактового генератора. При необходимости её можно прочитать и восстановить средствами MPLAB с использованием программатора.

Команды для работы с программатором и изменения его настроек находятся в меню MPLAB Programmer. Тип программатора в MPLAB выбирается в разделе: меню → Programmer → Select Programmer.


Рис. 8. Выбор программатора для подключения к среде MPLAB.

Прошивка микроконтроллера через программатор запускается командой: меню → Programmer → Program. Сообщение об успешной прошивке показано на Рис. 9.


Рис. 9. Запуск прошивки микроконтроллера и вид сообщения об успешной прошивке.

Примечание: Во время прошивки микроконтроллера у программатора PIC-KIT3 мигает желтый светодиод.

Подключение MATLAB/SIMULINK к MPLAB

В системе моделирования динамических систем Simulink (приложение к Matlab) на языке графического программирования [7] можно разрабатывать программы для семейства PIC контроллеров имеющих АЦП/ЦАП, счетчики, таймеры, ШИМ, DMA, интерфейсы UART, SPI, CAN, I2C и др.

Пример Simulink программы PIC контроллера показан на Рис. 10.


Рис. 10. Пример программы на языке графического программирования для PIC контроллера выполненной в среде моделирования динамических систем Simulink.

Взаимодействие средств разработки и компиляции программ для PIC контроллеров в Simulink показано на Рис. 11 [6].


Рис. 11. Структура средств построения адекватной модели PIC контроллера на языке графического программирования.

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

• Simulink
• Real-Time Workshop Embedded Coder
• Real-Time Workshop

И Cи компилятор компании Microchip:

• C30 для контроллеров PIC24, dsPIC30 и PIC33
• или C32 для контроллеров серии PIC32

Установка компонентов Matlab

На

сайте

имеются Simulink библиотеки (dsPIC Toolbox) для PIC контроллеров и версий Matlab c R2006a по R2012a:

Для скачивания библиотеки необходимо зарегистрироваться. Программы поддерживают работу 100 микроконтроллеров из серий PIC 16MC, 24F, 30F, 32MC, 33F, 56GP, 64MC, 128MC, 128GP.
Бесплатные версии работают с Simulink моделями PIC контроллеров имеющих до 7 портов ввода-вывода.

Для установки dsPIC Toolbox — библиотеки блоков PIC контроллеров для Matlab/Simulink необходимо [4]:

• Скачать dsPIC Toolbox для требуемой версии Matlab.
• Распаковать zip файл в папке, в которой будут установлены Simulink блоки.
• Запустить Matlab.
• Настроить текущий каталог Matlab на папку с распакованным файлом.
• Открыть и запустить файл install_dsPIC_R2012a.m, например, кнопкой меню или клавишей клавиатуры.

Библиотеки dsPIC и примеры Simulink моделей устанавливаются в текущую папку Matlab (Рис. 12). Установленные блоки для моделирования PIC контроллеров доступны в разделе Embedded Target for Microchip dsPIC библиотеки Simulink (Рис. 13).


Рис. 12. Содержимое текущего каталога после выполнения install_dsPIC_R2012a.m.
Рис. 13. Блоки, установленной библиотеки «Embedded Target for Microchip dsPIC».

Для совместной компиляции Simulink модели средствами Matlab и MPLAB необходимо прописать в переменной окружения path Matlab с высшим приоритетом путь к каталогу MPLAB с файлами MplabOpenModel. m, MplabGetBuildinfo.m и getHardwareConfigs.m:

>> path('c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\',path) 

Установка Си компилятора MPLAB

Компиляторы MPLAB находятся

на сайте Microchip

(Download Archive → MPLAB C Compiler for PIC24 and dsPIC DSCs). Для установки демонстрационной версии компилятора С30 необходимо его скачать по ссылке PIC24/dsPIC v3.25 (Рис. 14) и запустить принятый файл mplabc30-v3.25-comboUpgrade.exe.


Рис. 14. Версии Си компилятора (слева) и режимы его установки (справа).

Примечание. Работа выполнена с версией v3.25 компилятора С30 для PIC24/dsPIC. Проверка показала, что следующая версия v3.30 не поддерживает совместную компиляцию моделей Matlab R2012a (dsPIC Toolbox) без ошибок.

Установочный exe файл создаёт в разделе c:\Program Files (x86)\Microchip\ новый каталог mplabc30 с файлами:


Рис. 15. Каталоги компилятора C30 MPLAB.

Последовательность Simulink программирования для PIC контроллеров

1. Создайте рабочий каталог и скопируйте в него *.mdl примеры из раздела example (см. Рис. 12).
2. Загрузите Matlab. Настройте его на рабочий каталог.
3. Включите в переменную окружения path Matlab с высшим приоритетом путь к MPLAB — каталогу c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\:

>> path('c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\',path) 

Примечание: Использование команды >>path без аргументов приводит к отображению списка путей переменной path в окне команд (Command Window). Удалить путь из переменной path можно командой rmpath, например:

>>rmpath(' c:\Program Files\Microchip\MPLAB IDE\Tools\MATLAB\')

4.

Создайте Simulink модель для PIC контроллера, используя блоки библиотеки «Embedded Target for Microchip dsPIC» (Рис. 13), или загрузите готовую модель, например, Servo_ADC.mdl.

Тип контроллера, для которого разрабатывается Simulink модель, выбирается из списка в блоке Master > PIC (Рис. 16, Рис. 10), который должен быть включен в состав модели.


Рис. 16. Выбор типа контроллера в блоке Master модели.

5. Проверьте настройки конфигурации модели: Меню → Simulation → Configuration Parameters <Ctrl+E>. В строке ввода System target file раздела Code Generation должен быть указан компилятор S-функций dspic.tlc (Рис. 17). Выбор dspic.tlc настраивает все остальные параметры конфигурации модели, включая шаг и метод интегрирования.


Рис. 17. Выбор компилятора S-функций dspic.tlc для моделей PIC-контроллеров в разделе «основное меню → Simulation → Configuration Parameters → Code Generation».

6. Откомпилируйте модель tmp_Servo_ADC.mdl. Запуск компилятора показан на Рис. 18.


Рис. 18. Запуск компилятора Simulink модели.

В результате успешной компиляции (сообщение: ### Successful completion of build procedure for model: Servo_ADC) в текущем каталоге создаются HEX файл для прошивки PIC контроллера и MCP проект среды MPLAB (Рис. 19).


Рис. 19. Результаты компиляции модели.

Запуск модели в Matlab/Simulink выполняется в окне модели кнопкой, условное время моделирования устанавливается в строке:


Управление компиляцией Simulink моделей из среды MPLAB

Управление компиляцией Simulink модели можно выполнять командами раздела Matlab/Simulink среды MPLAB, например, в следующем порядке.

1. Разработайте модель PIC контроллера в Matlab/Simulink. Сохраните модель.
2. Запустите MPLAB.
3. Выберите MPLAB меню → Tools → Matlab/Simulink и новый раздел появится в составе меню.

4. В разделе Matlab/Simulink откройте Simulink модель, например, Servo_ADC, командой «Matlab/Simulink → Specify Simulink Model Name → Open → File name → Servo_ADC.mdl → Open». Команда Open запускает Matlab и открывает модель.

5. Откомпилируйте модель и создайте MCP проект командами Generate Codes или Generate Codes and Import Files. Перевод MDL модели в MCP проект выполняется TLC компилятором Matlab.
В результате создаётся проект MPLAB:

со скриптами модели на языке Си.

6. Откройте проект: меню → Project → Open → Servo_ADC.mcp (Рис. 20).


Рис. 20. Структура MCP проекта Simulink модели Servo_ADC.mdl в среде MPLAB.
Проект Simulink модели готов для редактирования, отладки и компиляции в машинные коды контроллера средствами MPLAB.

Подключение программатора PIC-KIT3

Узнать какие программаторы записывают бинарный код в конкретный микроконтроллер можно в разделе меню → Configure → Select Device среды MPLAB 8.92. Например, программатор PIC-KIT3 не поддерживает контроллер PIC12C508A (Рис. 21, левый рисунок), но работает с контроллером PIC12F629 (Рис. 21, правый рисунок).


Рис. 21. Перечень программаторов для прошивки микроконтроллера.

Информацию об установленном драйвере программатора PIC-KIT3 можно запросить у менеджера устройств ОС Windows (Рис. 22).


Рис. 22. Информация об установленном драйвере программатора PIC-KIT3.

Схема подключения микроконтроллера PIC12F629 к программатору PIC-KIT3 показана на Рис. 23.


Рис. 23. Схема подключения микроконтроллера PIC12F629 к программатору PIC-KIT3.

Вывод PGM программатора для прошивки контроллеров PIC12F629 не используется. Наличие вывода PGM для разных типов PIC контроллеров показано на Рис. 24. Вывод PGM рекомендуется «притягивать» к общему проводу (GND), через резистор, номиналом 1К [3].


Рис. 24. Выводы PGM PIC контроллеров.

Индикация светодиодов программатора Olimex PIC-KIT3 показана в ниже:

Желтый — Красный — Состояние программатора
Вкл — Выкл — Подключен к USB линии
Вкл — Вкл — Взаимодействие с MPLAB
Мигает — Включен постоянно — Прошивка микроконтроллера

Не следует подключать питание микроконтроллера VDD (Рис. 23) к программатору, если контроллер запитывается от своего источника питания.

При питании микроконтроллера от программатора на линии VDD необходимо установить рабочее напряжение, например, 5В программой MPLAB (Menu → Programmer → Settings → Power), как показано на Рис. 25.

Примечание. При отсутствии напряжения на линии VDD MPLAB IDE выдает сообщение об ошибке: PK3Err0045: You must connect to a target device to use


Рис. 25. Установка напряжения VDD на программаторе PIC-KIT3 программой MPLAB IDE v8.92.

Если программатор не может установить требуемое напряжение, например, 5В при его питании от USB, в которой напряжение меньше 5В, MPLAB IDE выдает сообщение об ошибке: PK3Err0035: Failed to get Device ID. В этом случае, сначала необходимо измерить напряжение программатора — считать его в закладке меню → Programmer → Settings → Status, а затем установить напряжение (не больше измеренного) в закладке меню → Programmer → Settings → Power.


Рис. 26. Измерение (слева) и установка (справа) VDD напряжения программатора PIC-KIT3 программой MPLAB IDE v8.92.

Пример MPLAB сообщения успешного подключения микроконтроллера к программатору по команде меню → Programmer → Reconnect показан на Рис. 27.


Рис. 27. Сообщение MPLAB об успешном подключении микроконтроллера к программатору.

Можно программировать не только отдельный PIC контроллер, но и контроллер, находящийся в составе рабочего устройства. Для программирования PIC контроллера в составе устройства необходимо предусмотреть установку перемычек и токоограничивающих резисторов как показано на Рис. 28 [3].


Рис. 28. Подключение микроконтроллера в составе электронного устройства к программатору.

Заключение

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

Все своими руками Блок управления инкубатором на PIC контроллере

Опубликовал admin | Дата 6 мая, 2017

Колтуник Ю.Ю.

Всем доброго здоровья!!!
Предлагаю на Ваше рассмотрение, а при потребности и повторение устройства для контроля процесса инкубации яиц. Предложенное устройство умеет поддерживать заданную температуру, влажность и осуществлять переворот лотков с яйцами в заданное время. Сердцем устройства является микроконтроллер PIC16F628A. Датчиком служит DHT-22.

Управление нагревателем, увлажнителем и переворотом положено на реле. От положения регулятора резистора R1 зависит контрастность выводимых на индикатор символов. Транзисторы могут быть любыми n-p-n. Максимальный ток коллектора которых, должен быть раза в два больше рабочего тока примененных реле. Схема устройства представлена ниже.

Гистерезис температуры отрицательный, то есть, если установлена температура +20 градусов С и гистерезис 0,5 градуса, то нагреватель выключится при двадцати градусах, а включится при +19,5С. Влажность работает аналогично.
Диапазон регулирования температуры и влажности от 0,1 до 99,9 градусов и процентов соответственно. Время задержки переворота можно устанавливать от 2х до 255 минут. А время подачи питания на исполнительный механизм от 1й до 254 минут.
При включении в сеть, устройство выдает сообщение приветствия:


А следом, показание измеренной температуры и влажности. Регулировка осуществляется кнопками SB1, SB2, SB3, SB4, SB5.
Назначение кнопок:
SB1 — увеличение температуры термостатирования
SB2 — уменьшение температуры термостатирования
SB3 — кнопка переключения установки гистерезиса и температуры
SB1 при нажатой SB3 — Увеличение гистерезиса температуры
SB2 при нажатой SB3 — Уменьшение гистерезиса температуры
SB4 при нажатой SB3 — Уменьшение гистерезиса влажности
SB5 при нажатой SB3 — Увеличение гистерезиса влажности
SB4 — уменьшение величины влажности
SB5 — увеличение величины влажности

Для входа в сервисное меню зажимаем:
SB1 Температура +
SB3 Гистерезис
SB5 Влажность +
Как только видим надписи Temp PLUS, Hum PLUS отпускаем все кнопки.

Далее выбираем кнопками:
SB1 — «ПЛЮС» к измеренной температуре корректировку (Temp PLUS)
SB2 — «МИНУС» из измеренной температуры корректировку (Temp MINUS)
SB5 — «ПЛЮС» к измеренной влажности корректировку (Hum PLUS)
SB4 — «МИНУС» из измеренной влажности корректировку (Hum MINUS)
После выбора действий, нажимаем SB3 (0,5сек) — Подтверждение выбора, и переход в следующее меню.
Как только видим надписи Korrect T, Korrect H —

-выбираем кнопками:
SB1 — «Прибавлять» корректировку температуры
SB2 — «Вычитать» корректировку температуры
SB5 — «Прибавлять» корректировку влажности
SB4 — «Вычитать» корректировку влажности
После ввода значений корректировки, нажимаем SB3 (0,5сек) — Подтверждение выбора, и переход в следующее меню.
Как только видим надписи Povorot ON, Motor down отпускаем все кнопки.

Далее выбираем кнопками:
SB1 — «Включить» функцию переворота (Povorot ON)
SB2 — «Выключить» функцию переворота (Povorot OFF)
SB5 — Направление переворота «Вверх» (Motor UP)
SB4 — Направление переворота «Вниз» (Motor DN)
После Включения/Выключения функции переворота, выбора направления движения мотора, нажимаем:
SB3 (0,5сек) — Подтверждение выбора, и переход в следующее меню. Как только видим надписи Timer SET и Power ON отпускаем все кнопки.

Далее выбираем кнопками:
SB1 — Увеличить период задержки между сменами направления движения
SB2 — Уменьшить период задержки между сменами направления движения
SB5 — Увеличить период Подачи напряжения на мотор
SB4 — Уменьшить период Подачи напряжения на мотор
После настройки таймеров переворота, нажимаем:
SB3 (0,5сек) — Подтверждение выбора, и переход в основную программу.

Если отключить функцию переворота (Povorot OFF), то после подтверждения, мы попадем в основную часть программы, без установки таймеров функции переворота. При работе программы в штатном режиме, для того, чтобы увидеть таймеры функции переворота, нажимаем SB3 (1сек) и отпускаем, на дисплее отобразиться величина гистерезиса, а затем таймеры функции переворота, и направление переворота.

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

После замены датчика, либо устранения обрыва, устройство возвращается к работе.
Печатная плата устройства реализована на двух платах:
1.Плата контроллера SMD:

2. Плата коммутации SMD:
При печати методом ЛУТ технологии, файлы с архива LAY — зеркалить необходимо!
Всем добра, радости, и успехов в проектах;) Yuren_110

.
Скачать файлы проекта
.

Скачать “Blok_avtomatiki_dly_inkubatora_rabota_posetiteleiy” Blok_avtomatiki_dly_inkubatora.rar – Загружено 2965 раз – 344 КБ

Просмотров:6 735


Радио схемы електроника журналы замки

Вы здесь: Главная » Универсальный программатор PIC-контроллеров

Универсальный программатор PIC-контроллеров

Универсальный программатор PIC-контроллеров

В статье рассматривается программатор EXTRA-PIC, данные о котором получены из открытых источников на www. 5v.ru (DOC Rev.1.03.00). Список поддерживаемых микросхем при использовании с программой IC-PROG v1.05D:

PIC-контроллеры фирмы Microchip: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, PIC16C433, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C711, PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774, PIC16C781*, PIC16C782*, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877, PIC16F877A, PIC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8720*

Примечание: микроконтроллеры, помеченные звездочкой (*) подключаются к программатору только через разъем ICSP.

Последовательная память EEPROM I2C (IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, AT24C512.

Схема программатора:

Расположение выводов ICSP у PIC-контроллеров.

Внимание! Материал только для общей справки. Обязательно убедитесь, что указанное расположение выводов соответствует выбранному вами микроконтроллеру. Для этого, обратитесь к Data Sheets и Programming Specifications на соответствующий микроконтроллер.

Пояснение: Вывод PGM рекомендуется «притягивать» к общему проводу (GND), через резистор номиналом 1К. 
Для справки: микроконтроллеры с 14-контактным корпусом вставляется частью ножек в соответствующую 8-контактную панель.

Рисунок печатной платы (облегченный вариант)( Скачать в Sprint Layout).

Рисунок печатной платы (полная версия) (Скачать в Sprint Layout).

Фотография собранного программатора (облегченный вариант)

Далее мы приводим альтернативные рисунки печатных плат программатора EXTRA-PIC (авторство установить не удалось)

Вариант 1 (Скачать в Sprint Layout).

Вариант 2 (Скачать в Sprint Layout).

Отдельного внимания заслуживает печатная плата разработанная нашим другом markomar2005 (at) yandex.ru , которая разведена под «маркер».

Вариант от MARKO (Скачать в Sprint Layout).

Считаем необходимым разместить здесь фотографии программаторов наших благодарных читателей. Если вы достигли результатов, не стесняйтесь — высылайте фотографии, мы с радостью их здесь разместим.

Автор il86md (at) mail.ru

Автор sound65 (at) rambler. ru он же greeze (at) inbox.ru


Альтернативный вариант (+ сменные модули) от markomar2005 (at) yandex.ru

Вариант от alex_vw (at) mail.ru

Пошаговая инструкция или «Как прошить PIC-контроллер»Введение. Данная инструкция составлена на примере прошивки микросхемы PIC16F876A для сборки

1. Соберите программатор (в т.ч. распаяйте удлинительный шнур мама-папа для COM-порта и подготовьте блок питания на напряжение не менее 15В).
2. Скачайте программу IC-PROG отсюда или с http://www.ic-prog.com/ (733 кб).
3. Распакуйте программу в отдельный каталог. В образовавшемся каталоге должны находиться три файла:

  • icprog.exe – файл оболочки программатора;
  • icprog. sys – драйвер, необходимый для работы под Windows NT, 2000, XP. Этот файл всегда должен находиться в каталоге программы;
  • icprog.chm – файл помощи (Help file).
4. Настройте программу.

Для Windows95, 98, ME

Для Windows NT, 2000, XP

 

(Только для Windows XP):
Правой кнопкой щёлкните на файле icprog.exe.
«Свойства» >> вкладка «Совместимость» >>
Установите «галочку» на «Запустить программу в режиме совместимости с:» >> выберите «Windows 2000«.

  1. Запустите файл icprog.exe.
  2. Выберите «Settings» >> «Options» >> вкладку «Language» >> установите язык «Russian» и нажмите «Ok«.
  3. Согласитесь с утверждением «You need to restart IC-Prog now» (нажмите «Ok«).
  4. Оболочка программатора перезапустится.

«Настройки» >> «Программатор«.

Проверьте установки, выберите используемый вами COM-порт, нажмите «Ok«.

 

Далее, «Настройки» >> «Опции» >> выберите вкладку «Общие» >> установите «галочку» на пункте «Вкл. NT/2000/XP драйвер» >> Нажмите «Ok» >>
если драйвер до этого не был установлен в системе, в появившемся окне «Confirm» нажмите «Ok«. Драйвер установится, и оболочка программатора перезапустится.

Примечание:

Для очень «быстрых» компьютеров возможно потребуется увеличить параметр «Задержка Ввода/Вывода«. Увеличение этого параметра увеличивает надёжность программирования, однако, увеличивается и время, затрачиваемое на программирование микросхемы.

«Настройки» >> «Опции» >> выберите вкладку «I2C» >> установите «галочки» на пунктах:

«Включить MCLR как VCC» и «Включить запись блоками«. Нажмите «Ok«.

Программа готова к работе.

  1. Установите микросхему в панель программатора, соблюдая положение ключа.
  2. Подключите шнур удлинителя, включите питание.
  3. Запустите программу IC-PROG.
  4. В выпадающем списке выберите контроллер PIC16F876A.

     9. Если у вас нет файла с прошивкой – подготовьте его:

  • откройте стандартную программу «Блокнот»;
  • вставьте в документ текст прошивки
  • сохраните под любым именем, например, prohivka. txt (расширение *.txt или *.hex).
     10. Далее в IC-PROG Файл >> Открыть файл (! не путать с Открыть файл данных) >> найти наш файл с прошивкой (если у нас файл с расширением *.txt , то в типе файлов выберите Any File *.*). Окошко «Программного кода» должно заполнится информацией.
     11. Нажимаем кнопку «Программировать микросхему» (загорается красный светодиод).
     12. Ожидаем завершения программирования (около 30 сек.).
     13. Для контроля нажимаем «Сравнить микросхему с буфером»

Вот и всё. Я тоже думал, что это что-то невероятное. Попробуйте – и у вас получится.

Если будут какие-то вопросы — пишите

Автор устройства (схемы): Тимофей Носов

Связь с автором: ICQ: 770008 E-mail: ntv1978 (at) mail.ru

Веб сайт автора: Нет данных

Источник: http://www.qrz.ru

Типы микроконтроллеров и их применение

Микроконтроллер представляет собой одиночный чип и обозначается с помощью μC или uC. Технология изготовления, используемая для его контроллера, — СБИС. Альтернативное название микроконтроллера — встроенный контроллер. В настоящее время на рынке существуют различные типы микроконтроллеров, такие как 4-битные, 8-битные, 64-битные и 128-битные. Это сжатый микрокомпьютер, используемый для управления функциями встроенных систем в роботах, офисных машинах, автомобилях, бытовой технике и других электронных устройствах. В микроконтроллере используются различные компоненты: процессор, периферийные устройства и память. Они в основном используются в различных электронных устройствах, которые требуют определенного контроля со стороны оператора устройства. В этой статье обсуждается обзор типов микроконтроллеров и их работы.



Что такое микроконтроллер?

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


  • 8- или 16-битный микропроцессор.
  • Немного ОЗУ.
  • Программируемое ПЗУ и флэш-память.
  • Параллельный и последовательный ввод / вывод.
  • Таймеры и генераторы сигналов.
  • Аналого-цифровое и цифро-аналоговое преобразование

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



Микроконтроллеры работают

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

Как только уровень напряжения достигает своего максимального значения, частота генератора переходит в стабильный процесс записи битов через специальные функциональные регистры. Все происходит на основе CLK генератора, и вся электроника начинает работать. Все это занимает крайне мало наносекунд.


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


Основы типов микроконтроллеров

Любой электрический прибор, используемый для хранения, измерения и отображения информации, в противном случае включает в себя микросхему. В базовую структуру микроконтроллера входят различные компоненты.

ЦПУ

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

объем памяти

В микроконтроллере микросхема памяти работает как микропроцессор, поскольку хранит все данные, а также программы. Микроконтроллеры разработаны с некоторым объемом RAM / ROM / флэш-памяти для хранения исходного кода программы.

Порты ввода / вывода

По сути, эти порты используются для взаимодействия с другими устройствами, такими как светодиоды, ЖК-дисплеи, принтеры и т. Д.

Последовательные порты

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

Таймеры

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

АЦП (аналого-цифровой преобразователь)

АЦП — это аббревиатура от аналого-цифрового преобразователя. Основная функция АЦП — изменение сигналов с аналоговых на цифровые. Для АЦП требуемые входные сигналы являются аналоговыми, и создание цифрового сигнала используется в различных цифровых приложениях, таких как измерительные устройства.

ЦАП (цифро-аналоговый преобразователь)

Акроним DAC — цифро-аналоговый преобразователь, используемый для выполнения функций, обратных ADC. Обычно это устройство используется для управления аналоговыми устройствами, такими как двигатели постоянного тока и т. Д.

Интерпретировать контроль

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

Специальный функциональный блок

Некоторые специальные микроконтроллеры, предназначенные для специальных устройств, таких как роботы, космические системы, содержат специальный функциональный блок. В этом блоке есть дополнительные порты для выполнения определенных операций.

Как классифицируются типы микроконтроллеров?

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

Типы микроконтроллеров показаны на рисунке, они характеризуются своими битами, архитектурой памяти, памятью / устройствами и набором команд. Обсудим это кратко.

Типы микроконтроллеров

Типы микроконтроллеров по количеству бит

Биты в микроконтроллере — это 8-битные, 16-битные и 32-битные микроконтроллеры.

В 8 бит микроконтроллер, точка, когда внутренняя шина 8-битная, тогда АЛУ выполняет арифметические и логические операции. Примерами 8-битных микроконтроллеров являются семейства Intel 8031/8051, PIC1x и Motorola MC68HC11.

В 16 бит микроконтроллер обеспечивает большую точность и производительность по сравнению с 8-битным. Например, 8-битные микроконтроллеры могут использовать только 8 бит, в результате чего конечный диапазон составляет 0 × 00 — 0xFF (0-255) для каждого цикла. Напротив, 16-битные микроконтроллеры с их битовой шириной данных имеют диапазон 0 × 0000 — 0xFFFF (0-65535) для каждого цикла.

Самая большая ценность более длинного таймера, вероятно, может оказаться полезной в определенных приложениях и схемах. Он может автоматически работать с двумя 16-битными числами. Некоторыми примерами 16-битных микроконтроллеров являются 16-битные микроконтроллеры расширенных семейств 8051XA, PIC2x, Intel 8096 и Motorola MC68HC12.

В 32-битный микроконтроллер использует 32-битные инструкции для выполнения арифметических и логических операций. Они используются в автоматически управляемых устройствах, включая имплантируемые медицинские устройства, системы управления двигателем, офисную технику, бытовую технику и другие типы встроенных систем. Некоторые примеры: семейство Intel / Atmel 251, PIC3x.

Типы микроконтроллеров по устройствам памяти

Устройства памяти делятся на два типа:

  • Микроконтроллер встроенной памяти
  • Микроконтроллер внешней памяти

Микроконтроллер со встроенной памятью : Когда встроенная система имеет микроконтроллер, который имеет все функциональные блоки, доступные на микросхеме, называется встроенным микроконтроллером. Например, 8051, имеющий память программ и данных, порты ввода-вывода, последовательную связь, счетчики, таймеры и прерывания на кристалле, представляет собой встроенный микроконтроллер.

Микроконтроллер с внешней памятью : Когда встроенная система имеет микроконтроллер, который не имеет всех функциональных блоков, доступных на микросхеме, называется микроконтроллером внешней памяти. Например, 8031 ​​не имеет программной памяти на микросхеме — это внешняя память микроконтроллера.

Типы микроконтроллеров согласно набору инструкций

CISC : CISC — это компьютер со сложной системой команд. Это позволяет программисту использовать одну инструкцию вместо множества более простых инструкций.

РИСК : RISC означает компьютер с сокращенным набором команд, этот тип наборов команд упрощает дизайн микропроцессора для промышленных стандартов. Это позволяет каждой инструкции работать с любым регистром или использовать любой режим адресации и одновременный доступ к программе и данным.

Пример для CISC и RISC

CISC :Mov AX, 4 РИСК :Mov AX, 0
Mov BX, 2Mov BX, 4
ДОБАВИТЬ BX, AXMov CX, 2
НачинатьДОБАВИТЬ AX, BX
ПетляНачинать

Из приведенного выше примера, системы RISC сокращают время выполнения за счет сокращения тактовых циклов на инструкцию, а системы CISC сокращают время выполнения за счет уменьшения количества инструкций на программу. RISC дает лучшее исполнение, чем CISC.

Типы микроконтроллеров в зависимости от архитектуры памяти

Архитектура памяти микроконтроллера бывает двух типов, а именно:

  • Микроконтроллер с архитектурой памяти Harvard
  • Микроконтроллер с архитектурой памяти Princeton

Микроконтроллер с архитектурой памяти Harvard : Момент, когда микроконтроллер имеет разное адресное пространство памяти для памяти программ и данных, микроконтроллер имеет архитектуру памяти в процессоре Гарварда.

Микроконтроллер с архитектурой памяти Princeton : Момент, когда микроконтроллер имеет общий адрес памяти для памяти программ и памяти данных, микроконтроллер имеет архитектуру памяти Princeton в процессоре.

Типы микроконтроллеров

Существуют разные типы микроконтроллеров, такие как 8051, PIC, AVR, ARM,

Микроконтроллер 8051

Это 40-контактный микроконтроллер с Vcc 5 В, подключенным к контакту 40, и Vss на контакте 20, который поддерживается 0 В. И есть порты ввода и вывода от P1.0 до P1.7, которые имеют функцию открытого стока. Port3 имеет дополнительные функции. Контакт 36 имеет состояние открытого стока, а контакт 17 имеет внутренне подтянутый транзистор внутри микроконтроллера.

Когда мы применяем логику 1 к порту 1, мы получаем логику 1 на порту 21 и наоборот. Программирование микроконтроллера чрезвычайно сложно. По сути, мы пишем программу на языке C, которая затем конвертируется в машинный язык, понятный микроконтроллеру.

Вывод RESET подключен к выводу 9, соединенному с конденсатором. Когда переключатель находится в положении ON, конденсатор начинает заряжаться и RST высокий. Применение высокого уровня к контакту сброса сбрасывает микроконтроллер. Если мы применим логический ноль к этому выводу, программа начнет выполнение с начала.

Архитектура памяти 8051

Память 8051 разделена на две части. Это память программ и память данных. Память программ хранит выполняемую программу, тогда как память данных временно хранит данные и результаты. 8051 использовался в большом количестве устройств, главным образом потому, что его легко интегрировать в устройство. Микроконтроллеры в основном используются в управлении энергопотреблением, сенсорном экране, автомобилях и медицинских устройствах.

Программная память 8051

И

Память данных 8051

Описание контактов микроконтроллера 8051

Пин-40: Vcc — это основной источник питания + 5В постоянного тока.

Контакт 20: Vss — обозначает заземление (0 В).

Контакты 32-39: Известный как порт 0 (от P0.0 до P0.7) для работы в качестве портов ввода-вывода.

Пин-31: Включение фиксации адреса (ALE) используется для демультиплексирования сигнала адрес-данные порта 0.

Пин-30: (EA) Вход внешнего доступа используется для включения или отключения взаимодействия с внешней памятью. Если нет требований к внешней памяти, этот вывод всегда находится в высоком состоянии.

Пин-29: Program Store Enable (PSEN) используется для чтения сигналов из внешней памяти программ.

Контакты- 21-28: Известный как порт 2 (от P 2.0 до P 2.7) — помимо использования в качестве порта ввода-вывода, сигналы шины адреса более высокого порядка мультиплексируются с этим квазидвунаправленным портом.

Контакты 18 и 19: Используется для подключения внешнего кристалла для обеспечения системных часов.

Контакты 10-17: Этот порт также выполняет некоторые другие функции, такие как прерывания, ввод таймера, сигналы управления для внешней памяти, взаимодействующей с чтением и записью. Это квазидвунаправленный порт с внутренним подтягиванием.

Контакт 9: Это вывод RESET, используемый для установки микроконтроллеров 8051 их начальных значений, когда микроконтроллер работает или при первоначальном запуске приложения. Штифт RESET должен быть установлен в высокий уровень на 2 машинных цикла.

Контакты 1-8: Этот порт не выполняет никаких других функций. Порт 1 — это квазидвунаправленный порт ввода-вывода.

Микроконтроллер Renesas

Renesas — это новейшее семейство автомобильных микроконтроллеров, которое предлагает высокопроизводительные функции с исключительно низким энергопотреблением для широкого и универсального набора элементов. Этот микроконтроллер предлагает богатые функциональные возможности и встроенные характеристики безопасности, необходимые для новых и передовых автомобильных приложений. Ядро процессора микроконтроллера поддерживает высокие требования к надежности и производительности.

Полная форма микроконтроллера RENESAS — «Renaissance Semiconductor for Advanced Solutions». Эти микроконтроллеры обеспечивают лучшую производительность для микропроцессоров, а также для микроконтроллеров, обладая хорошими характеристиками производительности наряду с очень низким потреблением энергии, а также прочной упаковкой.

Этот микроконтроллер имеет огромный объем памяти, а также распиновку, поэтому они используются в различных приложениях управления автомобилем. Самыми популярными семействами микроконтроллеров являются RX и RL78 из-за их высокой производительности. Основные особенности RENESAS RL78, а также микроконтроллеров на базе семейства RX, включают следующее.

  • В этом микроконтроллере используется архитектура CISC, которая обеспечивает высокую производительность.
  • Семейство RL78 доступно как в 8-битных, так и в 16-битных микроконтроллерах, тогда как семейство RX представляет собой 32-битный микроконтроллер.
  • Микроконтроллер семейства RL78 — это микроконтроллер с низким энергопотреблением, тогда как семейство RX обеспечивает высокую эффективность, а также производительность.
  • Микроконтроллер семейства RL78 доступен от 20 до 128 контактов, тогда как семейство RX доступно от 48-контактного микроконтроллера до 176-контактного корпуса.
  • Для микроконтроллера RL78 размер флэш-памяти составляет от 16 КБ до 512 КБ, тогда как для семейства RX — 2 МБ.
  • Объем оперативной памяти микроконтроллеров семейства RX составляет от 2 до 128 КБ.
  • Микроконтроллер Renesas предлагает низкое энергопотребление, высокую производительность, скромные корпуса и самый большой диапазон размеров памяти в сочетании с периферийными устройствами с богатыми характеристиками.

Микроконтроллеры Renesas

  • Renesas предлагает самые универсальные семейства микроконтроллеров в мире, например, наше семейство RX предлагает множество типов устройств с вариантами памяти от 32K flash / 4K RAM до невероятной 8M flash / 512K RAM.
  • Семейство 32-разрядных микроконтроллеров RX представляет собой многофункциональный универсальный микроконтроллер, охватывающий широкий спектр встроенных приложений управления с высокоскоростным подключением, цифровой обработкой сигналов и управлением инвертором.
  • В семействе микроконтроллеров RX используется 32-битная улучшенная архитектура Harvard CISC для достижения очень высокой производительности.

Описание контакта

Расположение выводов микроконтроллера Renesas показано на рисунке:

Схема контактов микроконтроллеров Renesas

Это 20-контактный микроконтроллер. Контакт 9 — это Vss, контакт заземления, и Vdd, контакт источника питания. Он имеет три различных типа прерывания: обычное прерывание, быстрое прерывание и высокоскоростное прерывание.

Обычные прерывания сохраняют значимые регистры в стеке с помощью инструкций push и pop. Быстрые прерывания автоматически сохраняются программным счетчиком и словом состояния процессора в специальных резервных регистрах, поэтому время отклика сокращается. А высокоскоростные прерывания выделяют до четырех регистров общего назначения для специального использования прерыванием, чтобы еще больше увеличить скорость.

Структура внутренней шины дает 5 внутренних шин, чтобы гарантировать, что обработка данных не замедляется. Выборка инструкций происходит через широкую 64-битную шину, так что это связано с инструкциями переменной длины, используемыми в архитектурах CISC.

Особенности и преимущества микроконтроллеров RX

  • Низкое энергопотребление реализовано с использованием многоядерной технологии.
  • Поддержка работы 5 В для промышленных и бытовых устройств
  • Масштабируемость от 48 до 145 контактов и от 32 КБ до 1 МБ флэш-памяти, включая 8 КБ флэш-памяти данных
  • Встроенная функция безопасности
  • Интегрированный богатый набор функций из 7 UART, I2C, 8 SPI, компараторов, 12-битного АЦП, 10-битного ЦАП и 24-битного АЦП (RX21A), что снизит стоимость системы за счет интеграции большинства функций

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

  • Индустриальная автоматизация
  • Коммуникационные приложения
  • Приложения для управления двигателем
  • Испытания и измерения
  • Медицинские приложения

Микроконтроллеры AVR

Микроконтроллер AVR разработан Альф-Эгилем Богеном и Вегардом Волланом из Atmel Corporation. Микроконтроллеры AVR представляют собой модифицированную архитектуру Harvard RISC с отдельной памятью для данных и программ, а скорость AVR высока по сравнению с 8051 и PIC. AVR означает К lf-Эгиль Боген и V egard Wollan’s р Процессор ISC.

Микроконтроллер Atmel AVR

Разница между контроллерами 8051 и AVR
  • 8051 — это 8-битные контроллеры на основе архитектуры CISC, AVR — это 8-битные контроллеры на основе архитектуры RISC.
  • 8051 потребляет больше энергии, чем микроконтроллер AVR
  • В 8051 мы можем программировать проще, чем микроконтроллер AVR
  • Скорость AVR больше, чем у микроконтроллера 8051
Классификация контроллеров AVR

Микроконтроллеры AVR подразделяются на три типа:

  • TinyAVR — меньше памяти, небольшой размер, подходит только для более простых приложений
  • MegaAVR — самые популярные из них с большим объемом памяти (до 256 КБ), большим количеством встроенных периферийных устройств и подходящими для умеренных и сложных приложений.
  • XmegaAVR — используется в коммерческих целях для сложных приложений, требующих большой программной памяти и высокой скорости
Особенности микроконтроллера AVR
  • 16 КБ встроенной программируемой флэш-памяти
  • 512B программируемой в системе EEPROM
  • 16-битный таймер с дополнительными функциями
  • Несколько внутренних генераторов
  • Внутренняя самопрограммируемая флэш-память с инструкциями до 256 КБ
  • Программируется внутри системы с использованием ISP, JTAG или методов высокого напряжения
  • Дополнительная секция загрузочного кода с независимыми битами блокировки для защиты
  • Синхронная / асинхронная последовательная периферия (UART / USART)
  • Шина последовательного периферийного интерфейса (SPI)
  • Универсальный последовательный интерфейс (USI) для двух / трехпроводной синхронной передачи данных
  • Сторожевой таймер (WDT)
  • Несколько энергосберегающих спящих режимов
  • 10-битные аналого-цифровые преобразователи с мультиплексированием до 16 каналов
  • Поддержка контроллера CAN и USB
  • Низковольтные устройства до 1,8 В

Существует множество микроконтроллеров семейства AVR, таких как ATmega8, ATmega16 и так далее. В этой статье мы обсудим микроконтроллер ATmega328. ATmega328 и ATmega8 — это ИС, совместимые по выводам, но функционально они разные. ATmega328 имеет флэш-память объемом 32 КБ, а ATmega8 — 8 КБ. Другими отличиями являются дополнительные SRAM и EEPROM, добавление прерываний для смены контактов и таймеров. Некоторые особенности ATmega328:

Особенности ATmega328

  • 28-контактный микроконтроллер AVR
  • Флэш-память программ 32кбайт
  • EEPROM память данных 1кбайт
  • Память данных SRAM 2 Кбайт
  • Контакты ввода / вывода — 23
  • Два 8-битных таймера
  • Аналого-цифровой преобразователь
  • Шестиканальный ШИМ
  • Встроенный USART
  • Внешний осциллятор: до 20 МГц

Описание контактов ATmega328

Он поставляется в 28-контактном DIP-корпусе, показанном на рисунке ниже:

Схема контактов микроконтроллеров AVR

Vcc: Цифровое напряжение питания.

GND: Земля.

Порт B: Порт B — это 8-битный двунаправленный порт ввода-вывода. Выводы порта B имеют три состояния, когда становится активным условие сброса или один, даже если часы не работают.

Порт C: Порт C — это 7-битный двунаправленный порт ввода-вывода с внутренними подтягивающими резисторами.

PC6 / СБРОС

Порт D: Это 8-битный двунаправленный порт ввода-вывода с внутренними подтягивающими резисторами. Выходные буферы порта D имеют симметричные характеристики привода.

AVcc: AVcc — это вывод напряжения питания для АЦП.

AREF: AREF — это аналоговый опорный вывод для АЦП.

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

Микроконтроллеры AVR находят множество применений, они используются в домашней автоматизации, сенсорном экране, автомобилях, медицинских устройствах и защите.

Микроконтроллер PIC

PIC — это контроллер периферийного интерфейса, разработанный компанией General Instruments Microelectronics в 1993 году. Он управляется программным обеспечением. Их можно было запрограммировать для выполнения множества задач, управления линией генерации и многого другого. Микроконтроллеры PIC находят свое применение в новых приложениях, таких как смартфоны, аудио аксессуары, периферийные устройства для видеоигр и современные медицинские устройства.

Есть много PIC, начиная с PIC16F84 и PIC16C84. Но это были единственные доступные флеш-карты. Microchip недавно представила флеш-чипы гораздо более привлекательных типов, например 16F628, 16F877 и 18F452. 16F877 примерно вдвое дороже старого 16F84, но имеет в восемь раз больший размер кода, гораздо больше оперативной памяти, гораздо больше контактов ввода-вывода, UART, аналого-цифровой преобразователь и многое другое.

Микроконтроллер PIC

Особенности PIC16F877

Возможности pic16f877 включают следующее.

  • Высокопроизводительный RISC-процессор
  • До 8K x 14 слов программной памяти FLASH
  • 35 инструкций (кодирование фиксированной длины — 14 бит)
  • 368 × 8 статическая память данных на основе ОЗУ
  • До 256 x 8 байт памяти данных EEPROM
  • Возможность прерывания (до 14 источников)
  • Три режима адресации (прямая, косвенная, относительная)
  • Сброс при включении (POR)
  • Память архитектуры Гарварда
  • Энергосберегающий спящий режим
  • Широкий диапазон рабочего напряжения: от 2,0 В до 5,5 В
  • Большой ток потребления / источника: 25 мА
  • Аккумуляторная машина

Периферийные функции

3 таймера / счетчика (программируемые предварительные скаляры)

  • Timer0, Timer2 — это 8-битный таймер / счетчик с 8-битным предварительным скаляром
  • Timer1 — 16-битный, может увеличиваться во время сна через внешний кристалл / часы

Два модуля захвата, сравнения, ШИМ

  • Функция захвата входа записывает счетчик Timer1 при переходе контакта
  • Выходной сигнал функции ШИМ представляет собой прямоугольную волну с программируемым периодом и рабочим циклом.

10-битный 8-канальный аналого-цифровой преобразователь

USART с обнаружением 9-битного адреса

Синхронный последовательный порт с ведущим режимом и I2C Master / Slave

8-битный параллельный подчиненный порт

Аналоговые функции

  • 10-битный, до 8-канальный аналого-цифровой преобразователь (A / D)
  • Сброс при отключении питания (BOR)
  • Модуль аналогового компаратора (программируемое мультиплексирование входов с входов устройства и выходов компаратора доступно извне)

Описание контактов PIC16F877A

Описание контактов PIC16F877A обсуждается ниже.

Преимущества PIC

  • Это дизайн RISC
  • Его код чрезвычайно эффективен, что позволяет PIC работать с меньшим объемом памяти для программ, чем у его более крупных конкурентов.
  • Это низкая стоимость, высокая тактовая частота

Типовая схема применения PIC16F877A

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

Применение микроконтроллеров PIC16F877A

PIC также сопряжен с кнопкой, и при нажатии кнопки микроконтроллер соответственно отправляет высокий сигнал на базу транзистора, чтобы включить транзистор и, таким образом, обеспечить надлежащее соединение с реле для его включения. и позволить прохождению переменного тока к лампе и, таким образом, лампа будет светиться. Состояние операции отображается на ЖК-дисплее, подключенном к микроконтроллеру PIC.

Микроконтроллер MSP

Микроконтроллер типа MSP430 — это 16-битный микроконтроллер. Термин MSP является аббревиатурой от «Mixed Signal Processor». Это семейство микроконтроллеров взято от Texas Instruments и разработано для недорогих систем с низким уровнем рассеивания мощности. Этот контроллер включает в себя 16-битную шину данных, режимы адресации 7 с сокращенным набором инструкций, что позволяет использовать более плотный и короткий программный код для быстрой работы.

Этот микроконтроллер является одним из видов интегральных схем, используемых для выполнения программ для управления другими машинами или устройствами. Это один из видов микроустройств, используемых для управления другими машинами. Функции этого микроконтроллера обычно доступны с другими типами микроконтроллеров.

  • Полный SoC, такой как АЦП, ЖК-дисплей, порты ввода-вывода, ОЗУ, ПЗУ, UART, сторожевой таймер, базовый таймер и т. Д.
  • Он использует один внешний кристалл, а генератор FLL (контур с автоподстройкой частоты) в основном выводит все внутренние CLK.
  • Потребляемая мощность низкая, например 4,2 нВт только для каждой инструкции
  • Стабильный генератор для наиболее часто используемых констант, таких как –1, 0, 1, 2, 4, 8
  • Типичная высокая скорость составляет 300 нс для каждой инструкции, например, 3,3 МГц CLK.
  • Режимы адресации — 11, в которых семь режимов адресации используются для исходных операндов, а четыре режима адресации используются для операндов назначения.
  • Архитектура RISC с 27 основными инструкциями

Емкость в реальном времени является полной, стабильной, а номинальная частота CLK системы может быть получена после 6 тактов только после выхода MSP430 из режима низкого энергопотребления. Для основного кристалла не нужно ждать начала стабилизации и колебаний.

Основные инструкции были объединены с использованием специальных функций, чтобы упростить выполнение программы в микроконтроллере MSP430 с использованием ассемблера, иначе — на C, чтобы обеспечить выдающуюся функциональность и гибкость. Например, даже при использовании небольшого количества команд микроконтроллер способен выполнять приблизительно весь набор команд.

Микроконтроллер Hitachi

Микроконтроллер Hitachi относится к семейству H8. Такое имя, как H8, используется в большом 8-битном, 16-битном и 32-битном семействе микроконтроллеров. Эти микроконтроллеры были разработаны компанией Renesas Technology. Эта технология была основана Hitachi Semiconductors в 1990 году.

Микроконтроллер Motorola

Микроконтроллер Motorola — это чрезвычайно интегрированный микроконтроллер, используемый для обработки данных с высокой производительностью. Блок этого микроконтроллера использует SIM (модуль системной интеграции), TPU (блок обработки времени) и QSM (последовательный модуль с очередью).

Преимущества типов микроконтроллеров

К преимуществам типов микроконтроллеров можно отнести следующее.

  • Надежный
  • Многоразовый
  • Энергетически эффективный
  • Экономически эффективным
  • Многоразовый
  • Требуется меньше времени для работы
  • Они гибкие и очень маленькие
  • Благодаря их высокой степени интеграции размер и стоимость системы могут быть уменьшены.
  • Интерфейс микроконтроллера прост благодаря дополнительным портам ROM, RAM и I / O.
  • Многие задачи могут быть выполнены, поэтому человеческий эффект может быть уменьшен.
  • Он прост в использовании, устранение неисправностей и обслуживание системы просты.
  • Он работает как микрокомпьютер без каких-либо цифровых компонентов

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

К недостаткам типов микроконтроллеров можно отнести следующие.

  • Сложность программирования
  • Электростатическая чувствительность
  • Взаимодействие с мощными устройствами невозможно.
  • Его структура более сложна по сравнению с микропроцессорами.
  • Обычно он используется в микроустройствах.
  • Он просто выполняет неполное «нет». казней одновременно.
  • Обычно используется в микрооборудовании.
  • Имеет более сложную конструкцию по сравнению с микропроцессором.
  • Микроконтроллер не может напрямую взаимодействовать с устройством более высокой мощности
  • Одновременно выполнялось ограниченное количество казней.

Применение типов микроконтроллеров

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

  • Автомобили
  • Переносные системы учета
  • Мобильные телефоны
  • Компьютерные системы
  • Охранная сигнализация
  • бытовая техника
  • Счетчик тока
  • Камеры
  • Микро Духовка
  • Инструменты для измерения
  • Устройства для управления процессами
  • Используется в измерительных приборах, вольтметрах, измерении вращающихся объектов.
  • Управляющие устройства
  • Промышленные контрольно-измерительные приборы
  • Контрольно-измерительные приборы в промышленности
  • Светочувствительность
  • Устройства для обеспечения безопасности
  • Устройства управления технологическим процессом
  • Управляющие устройства
  • Обнаружение пожара
  • Измерение температуры
  • Мобильные телефоны
  • Авто мобильные
  • Стиральные машины
  • Камеры
  • Охранная сигнализация

Таким образом, это все о обзор типов микроконтроллеров . Эти микроконтроллеры представляют собой однокристальные микрокомпьютеры, а технология, используемая для их изготовления, — это СБИС. Они также известны как встроенные контроллеры, которые доступны в 4-битном, 8-битном, 64-битном и 128-битном исполнении. Этот чип предназначен для управления различными функциями встроенной системы. Вот вам вопрос, в чем разница между микропроцессором и микроконтроллером?

Самодельный программатор. Самодельный программатор для PIC контроллеров. Особенности практического использования

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

Схема позволяет программировать микроконтроллеры и память I2C EEPROM.

Список поддерживаемых микроконтроллеров, если они используются вместе с IC-PROG v1.Утилита 05D:

микроконтроллеры от Microchip: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, PIC16C433, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66 , PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505 *, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630 *, PIC16F648A, PIC16F676 *, PIC16C710, PIC16C711, PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770 *, PIC16C771 *, PIC16C773, PIC16C774, PIC16C781 *, PIC16C782 *, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC1717F878, PIC16F8, PICA16F 6F877A *, PIC16F824 PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620 *, PIC18F6720 *, PIC18F866 *, PIC18F6720 *

Примечание: микроконтроллеры , отмеченные звездочкой (*), необходимо подключать к программатору через разъем ICSP.

Последовательный EEPROM I2C (IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, 2.4C51


Установите микросхему в гнездо, строго соблюдая положение ключа. Подсоедините шнур, включите питание. Запустите программу IC-PROG. Выберите микроконтроллер PIC из выпадающего списка.

Если у вас нет прошивки, сделайте ее: для этого откройте стандартную программу Блокнот или любой другой редактор; вставить текст прошивки в документ; сохранить под любым именем с расширением *.txt или *.hex расширение.

Затем в утилите в IC-PROG File >> Open file >> находим наш файл прошивки. Окно «Код программы» должно быть заполнено разными кодами.

В окне IC-PROG нажать «Программировать микросхему», при этом на схеме устройства загорится красный светодиод. Программирование занимает около 30 секунд. Для проверки выберите — Сравнить микросхему с буфером.

Вы можете открыть альтернативную версию схемы программатора EXTRA-PIC с готовой печатной платой в Sprint Layout по зеленой ссылке выше.

Микроконтроллеры PIC

заслужили славу своей простотой и качеством работы, а также универсальностью в использовании. Но что может дать микроконтроллер без возможности писать на него новые программы? Без программатора это не более чем железка, удивительная своей формой. Сам программатор PIC может быть двух видов: как самодельный, так и заводского изготовления.

Отличие заводских программаторов от самодельных

В первую очередь их отличает надежность и функциональность, которые они предоставляют владельцам микроконтроллеров.Так, если делается самодельный, то, как правило, он рассчитан только на одну модель микроконтроллера PIC, тогда как программатор от Microchip обеспечивает возможность работы с различными типами, модификациями и моделями микроконтроллеров.

Заводской программатор от Microchip

Наиболее известен и популярен простой программатор PIC, который используется многими и известен многим как PICkit 2. Его популярность обусловлена ​​его явными и неявными преимуществами. Очевидные преимущества, которыми обладает этот USB-программатор для PIC, можно перечислять долго, среди них: относительно невысокая стоимость, простота использования и универсальность относительно всего семейства микроконтроллеров, от 6-контактных до 20-контактных.

С помощью программатора от Microchip

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

Другие программаторы

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

Программаторы ручной сборки

А теперь, пожалуй, самое интересное, это программаторы PIC контроллера, которые собираются вручную. Этот вариант используют те, у кого нет денег или просто не хочется их тратить. Если вы покупаете у официального представителя, вы можете рассчитывать на то, что если устройство окажется некачественным, то вы сможете вернуть его и получить взамен новый.А при покупке «с рук» или с помощью досок объявлений в случае некачественной пайки или механических повреждений рассчитывать на возмещение затрат и получение качественного программатора не приходится. Теперь перейдем к собранной вручную электронике.

Программатор PIC может быть предназначен для определенных моделей или быть универсальным (для всех или почти всех моделей). Они собраны на микросхемах, способных преобразовывать сигналы с порта RS-232 в сигнал, что позволит запрограммировать МК.Необходимо помнить, что при сборке конструкции, данной кем-то PIC-программатором, схема и результат должны совпадать один в один. Нежелательны даже небольшие отклонения. Это замечание относится к новичкам в электронике, люди со стажем и практикой могут улучшить практически любую схему, если есть возможность для улучшения.

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

Универсальные программаторы, которые подходят не только для PIC

Если человек увлекается программированием микроконтроллеров, то вряд ли он будет постоянно пользоваться только одним типом.Для тех, кто не хочет покупать отдельные программаторы для разных типов микроконтроллеров разных производителей, разработаны универсальные устройства, способные программировать микроконтроллеры нескольких фирм. Поскольку компаний, их выпускающих, довольно много, стоит выбрать парочку и рассказать о программаторах для них. Выбор пал на гигантов рынка микроконтроллеров: PIC и AVR.

Универсальный программатор PIC и AVR аппаратный, особенность которого заключается в его универсальности и возможности изменения работы благодаря программе, без внесения изменений в аппаратную составляющую.Благодаря этому свойству такие устройства легко работают с МК, выпущенными в продажу уже после выхода программатора. Учитывая, что в ближайшее время архитектура существенно не изменится, они будут пригодны для использования в течение длительного времени. К дополнительным приятным свойствам заводских программаторов можно отнести:

  1. Существенные аппаратные ограничения на количество программируемых микросхем, что позволит программировать не один, а сразу несколько блоков электроники.
  2. Возможность программирования микроконтроллеров и схем на базе различных технологий (NVRAM, NAND Flash и др.).
  3. Относительно короткое время программирования. В зависимости от модели программатора и сложности программируемого кода, это может занять от 20 до 400 секунд.

Особенности практического использования

Отдельно стоит упомянуть тему практического использования. Как правило, программаторы подключаются к USB-портам, но есть вариации, работающие по тем же проводам, что и винчестер. А для их использования придется снимать кожух компьютера, перебирать провода, да и сам процесс подключения не очень удобен.А вот второй тип более универсальный и мощный, благодаря ему скорость прошивки выше, чем при подключении по USB. Использование второго варианта не всегда кажется таким удобным и комфортным решением, как с USB, ведь перед его использованием необходимо проделать ряд операций: достать корпус, открыть его, найти нужный провод. Вам не нужно беспокоиться о возможных проблемах от перегрева или скачков напряжения при работе с заводскими моделями, так как они обычно имеют специальную защиту.

Работа с микроконтроллерами

Что нужно всем программистам для работы с микроконтроллерами? Дело в том, что сами программаторы хоть и являются самостоятельными схемами, но передают компьютеру сигналы в определенной последовательности. А проблему, как объяснить компьютеру, что именно нужно отправить, решает программа для программиста.

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

Возможные проблемы

Увы, даже самая идеальная техника не лишена возможных проблем, которых нет-нет и не будет.Для лучшего понимания необходимо составить список. Некоторые из этих проблем можно исправить вручную при детальном осмотре программатора, некоторые можно проверить только с помощью необходимого тестового оборудования. В этом случае, если программатор микроконтроллеров PIC установлен на заводе, починить его вряд ли получится. Хотя можно попробовать найти возможные причины сбоев:

  1. Плохая пайка элементов программатора.
  2. Отсутствие драйверов для работы с устройством.
  3. Повреждение внутри программатора или проводов внутри компьютера/USB.

Эксперименты с микроконтроллерами

Так что все есть. Как начать работать с техникой, как начать прошивать микроконтроллер программатором?

  1. Подключение внешнего источника питания, подключение всего оборудования.
  2. Изначально нужна среда, с которой все будет делаться.
  3. Создайте нужный проект, выберите конфигурацию микроконтроллера.
  4. Подготовьте файл, содержащий весь необходимый код.
  5. Подключиться к программатору.
  6. Когда все готово, можно уже прошивать микроконтроллер.

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

Отдельно хотелось бы написать обращение к тем, кто только начинает пользоваться программаторами.Помните, что, какими бы элементарными ни казались некоторые шаги, всегда необходимо их придерживаться, чтобы техника могла нормально и адекватно работать и выполнять поставленные вами задачи. Удачи в электронике!

Какие первые шаги должен сделать радиолюбитель, решив собрать схему на микроконтроллере? Естественно нужна управляющая программа — «прошивка», а так же программатор.

И если с первым пунктом проблем нет — готовую «прошивку» обычно выкладывают авторы схем, то с программатором дела обстоят сложнее.

Цена готовых USB программаторов достаточно высока и лучшим решением будет собрать его самостоятельно. Вот схема предлагаемого устройства (картинки кликабельны).

Основная часть.

МК монтажная панель.

Оригинальная схема взята с сайта LabKit.ru с разрешения автора, за что ему большое спасибо. Это так называемый клон фирменного программатора PICkit2. Поскольку вариант устройства является «облегченной» копией фирменного PICkit2, автор назвал свою разработку PICkit-2 Lite , что подчеркивает простоту сборки такого устройства для начинающих радиолюбителей.

Что может программист? С помощью программатора можно будет прошить большинство легкодоступных и популярных МК серии PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A и др.), а также микросхемы памяти EEPROM серии 24LC . Кроме того, программатор может работать в режиме преобразователя USB-UART и имеет некоторые функции логического анализатора. Особенно важной функцией, которой обладает программатор, является расчет калибровочной константы встроенного RC-генератора некоторых микроконтроллеров (например, таких как PIC12F629 и PIC12F675).

Требуемые изменения.

В схеме есть некоторые изменения, которые необходимы для того, чтобы программатор PICkit-2 Lite мог записывать/стирать/считывать данные с микросхем EEPROM серии 24Cxx.

Из изменений, внесенных в схему. Добавлено подключение 6 контактов DD1 (RA4) к 21 контакту ZIF-панели. Вывод AUX используется исключительно для работы с микросхемами памяти 24LC EEPROM (24C04, 24WC08 и аналоги). Через него передаются данные, поэтому на схеме панели программирования он отмечен словом «Данные».При программировании микроконтроллеров вывод AUX обычно не используется, хотя он нужен при программировании MCU в режиме LVP.

Также добавлен подтягивающий резистор 2K, который подключается между выводом SDA и выводом Vcc микросхем памяти.

Все эти доработки на печатной плате я уже сделал, предварительно собрав PICkit-2 Lite по оригинальной схеме автора.

Микросхемы памяти 24Схх (24С08 и др.) широко используются в бытовой радиоаппаратуре, и иногда их приходится прошивать, например, при ремонте ЭЛТ-телевизоров.Они используют память 24Cxx для хранения настроек.

В ЖК-телевизорах

используется другой тип памяти (флеш-память). Я уже рассказывал о том, как прошить память ЖК телевизора. Кому интересно, посмотрите.

В связи с необходимостью работы с микросхемами серии 24Схх пришлось «допиливать» программатор. Я не стал травить новую плату, я просто добавил необходимые элементы на плату. Вот что произошло.

Основой устройства является микроконтроллер PIC18F2550-I/SP .

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

Список деталей для сборки программатора. В мобильной версии перетащите таблицу влево (проведите пальцем влево-вправо), чтобы увидеть все ее столбцы.

Имя Обозначение Рейтинг/параметры Марка изделия или тип
Для основной части программатора
Микроконтроллер ДД1 8-битный микроконтроллер PIC18F2550-I/СП
Биполярные транзисторы ВТ1, ВТ2, ВТ3 КТ3102
ВТ4 КТ361
Диод ВД1 КД522, 1Н4148
Диод Шоттки ВД2 1N5817
Светодиоды HL1, HL2 любой на 3 вольта, красный и зеленый цвета свечения
Резисторы Р1, Р2 300 Ом
Р3 22 кОм
Р4 1 кОм
Р5, Р6, Р12 10 кОм
Р7, Р8, Р14 100 Ом
Р9, Р10, Р15, Р16 4.7 кОм
Р11 2,7 кОм
Р13 100 кОм
Конденсаторы С2 0,1 мкм К10-17 (керамика), импортные аналоги
С3 0,47 мк
Электролитические конденсаторы С1 100 мкФ * 6,3 В К50-6, импортные аналоги
С4 47мкФ*16в
Индуктор (дроссель) Л1 680 мкГн унифицированный типа EC24, CECL или самодельный
Кварцевый резонатор ZQ1 20 МГц
Разъем USB XS1 USB-BF тип
Перемычка XT1 любой тип «перемычки»
Для установки панели микроконтроллеров (МК)
Панель ZIF XS1 любая 40-контактная ZIF-панель
Резисторы Р1 2 кОм МЛТ, ПН (мощность от 0.125 Вт и выше), импортные аналоги
Р2, Р3, Р4, Р5, Р6 10 кОм

Теперь немного о деталях и их назначении.

Зеленый Светодиод HL1 горит при включении программатора и Красный Светодиод HL2 светится во время передачи данных между компьютером и программатором.

Чтобы сделать устройство универсальным и надежным, используется USB-разъем XS1 типа «В» (квадратный). В компьютере используется разъем USB типа A.Поэтому нельзя перепутать гнезда соединительного кабеля. Также такое решение способствует надежности устройства. Если кабель пришел в негодность, то его легко заменить на новый без паяльных и монтажных работ.

В качестве дросселя L1 на 680 мкГн лучше использовать готовый (например, типов EC24 или CECL). Но если готового изделия не найти, то дроссель можно изготовить самостоятельно. Для этого намотайте 250 – 300 витков ПЭЛ-0.1 провод на ферритовом сердечнике от дросселя CW68. Стоит учесть, что благодаря наличию ШИМ с обратной связью за точность номинала индуктивности можно не переживать.

Напряжение для программирования высокого напряжения (Vpp) от +8,5 до 14 вольт вырабатывается ключом-регулятором. В него входят элементы VT1, VD1, L1, C4, R4, R10, R11. Импульсы ШИМ поступают с 12 вывода PIC18F2550 на базу VT1. Обратная связь осуществляется делителем R10, R11.

Для защиты элементов схемы от обратного напряжения с линий программирования в случае использования USB-программатора в режиме ICSP (In-Circuit Serial Programming) используется диод VD2.VD2 — диод Шоттки. Подбирать его следует при падении напряжения на P-N переходе не более 0,45 вольта. Также диод VD2 защищает элементы от обратного напряжения при использовании программатора в режиме преобразования USB-UART и логического анализатора.

При использовании программатора исключительно для программирования микроконтроллеров в панели (без использования ICSP) можно полностью исключить диод VD2 (я так и сделал) и установить вместо него перемычку.

Компактность устройства обеспечивается универсальной ZIF-панелью (Zero Insertion Force — с нулевым усилием установки).

Благодаря ему можно «вшить» МК практически в любой DIP-пакет.

На схеме «Панель установки микроконтроллера (МК)» показано, как устанавливать в панель микроконтроллеры с разными корпусами. При установке МК следует обратить внимание на то, чтобы микроконтроллер в панели располагался так, чтобы ключ на микросхеме находился со стороны фиксирующего рычага ЗИФ-панели.

Вот так нужно устанавливать 18-контактные микроконтроллеры (PIC16F84A, PIC16F628A и т.д.).

А вот так 8-выводные микроконтроллеры (PIC12F675, PIC12F629 и т.д.).

Если есть необходимость прошить микроконтроллер в корпусе для поверхностного монтажа (SOIC), то можно использовать переходник или просто припаять к микроконтроллеру 5 пинов, которые обычно требуются для программирования (Vpp, Clock, Data, Vcc, GND ).

Готовый чертеж печатной платы со всеми изменениями можно посмотреть по ссылке в конце статьи.Открыв файл в Sprint Layout 5.0, вы сможете использовать режим «Печать» не только для печати слоя с рисунком печатных проводников, но и для просмотра позиционирования элементов на печатной плате. Обратите внимание на изолированную перемычку, соединяющую контакт 6 DD1 и контакт 21 панели ZIF. Необходимо распечатать картинку платы в зеркальном отображении .

Сделать печатную плату можно методом ЛУТ, а также маркером для печатных плат, с помощью цапонлака (я так делал) или «карандашным» методом.

Вот картинка расположения элементов на плате (кликабельно).

При установке первым делом припаиваем перемычки из луженой медной проволоки, затем устанавливаем низкопрофильные элементы (резисторы, конденсаторы, кварц, штырьковый разъем ISCP), затем транзисторы и запрограммированный МК. Последним этапом является установка ЗИФ-панели, USB-розеток и запайка провода в изоляцию (перемычки).

«Прошивка» микроконтроллера PIC18F2550.

Файл «прошивки» — PK2V023200.hex необходимо записать в память МК PIC18F2550I-SP с помощью любого программатора, поддерживающего микроконтроллеры PIC (например, Extra-PIC). Я использовал JDM Programmator JONIC PROG и программу WinPic800 .

Также можно залить «прошивку» в МК PIC18F2550 с помощью того же фирменного программатора PICkit2 или его новой версии PICkit3. Естественно, это можно сделать и с самодельным PICkit-2 Lite, если кто-то из ваших друзей успел собрать его до вас :).

Так же стоит знать, что «прошивка» микроконтроллера PIC18F2550-I/SP (файл PK2V023200.hex ) записывается при установке Программатора PICkit 2 в папку вместе с файлами самой программы. Примерный путь расположения файла PK2V023200.hex: «C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex» … Для тех, у кого на ПК установлена ​​32-битная Windows, путь расположения будет другим: » C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.шестнадцатеричный» .

Ну а если проблему «курицы и яйца» не удалось решить предложенными способами, то можно купить готовый программатор PICkit3 на сайте AliExpress. Там стоит гораздо меньше. Я писал о том, как покупать запчасти и электронные комплекты на AliExpress.

Обновление «прошивки» программатора.

Прогресс не стоит на месте и время от времени Microchip выпускает обновления для своего ПО, в том числе программатора PICkit2, PICkit3.Естественно, мы можем обновить и управляющую программу нашего самодельного PICkit-2 Lite. Для этого требуется программатор PICkit2. Что это такое и как им пользоваться — чуть позже. А пока пару слов о том, что нужно сделать для обновления «прошивки».

Чтобы обновить программное обеспечение программатора, замкните перемычку XT1 на программаторе, когда он отключен от компьютера. Затем подключите программатор к ПК и запустите программатор PICkit2. Когда XT1 закрыт, активируется режим загрузчика для загрузки новой версии прошивки.Затем в PICkit2 Programmer через меню «Инструменты» — «Загрузить PICkit 2 Operation System» откройте заранее подготовленный hex-файл обновленной прошивки. Далее будет происходить процесс обновления программного обеспечения программатора.

После обновления необходимо отключить программатор от ПК и снять перемычку ХТ1. В штатном режиме перемычка разомкнута … Узнать версию ПО программатора можно через меню «Помощь» — «О программе» в программе PICkit2 Programmer.

Это все по техническим причинам. А теперь о софте.

Работа с программатором. Программатор PICkit2.

Для работы с USB программатором нам необходимо установить на компьютер программу PICkit2 Programmer. Эта специальная программа имеет простой интерфейс, легко устанавливается и не требует специальной настройки. Стоит отметить, что работать с программатором можно с помощью среды разработки MPLAB IDE, но для того, чтобы прошить/стереть/прочитать МК достаточно простой программы — PICkit2 Programmer.Я рекомендую.

После установки программы PICkit2 Programmer подключите собранный USB программатор к компьютеру. При этом загорится зеленый светодиод («питание»), и операционная система распознает устройство как «Программатор микроконтроллера PICkit2» и установите драйвера.

Запускаем программу PICkit2 Programmer. В окне программы должна появиться надпись.

Если программатор не подключен, то ужасная надпись и короткая инструкция «Что делать?» Будет отображаться в окне программы.на английском.

Если программатор подключен к компьютеру с установленным МК, то программа обнаружит его при запуске и сообщит нам об этом в окне PICkit2 Programmer.

Поздравляем! Первый шаг сделан. А как пользоваться программатором PICkit2 я рассказал в отдельной статье. Следующий шаг .

Требуемые файлы:

Развитие электроники идет быстрыми темпами, и все чаще основным элементом устройства становится микроконтроллер.Он выполняет основную часть работы и освобождает разработчика от необходимости создавать сложные схемы, тем самым уменьшая размер печатной платы до минимума. Как всем известно, микроконтроллер управляется программой, записанной в его внутреннюю память. И если опытный программист-электронщик не испытывает проблем с использованием микроконтроллеров в своих устройствах, то для начинающего радиолюбителя попытка написать программу на контроллер (особенно ПОС) может обернуться большим разочарованием, а иногда и небольшим пиротехническим шоу. в виде дымящейся микросхемы.

Как ни странно, при всем величии интернета информации о прошивках в нем очень мало. PIC контроллеры , а материал который можно найти очень сомнительного качества. Конечно, можно купить заводской программатор за неадекватную цену и шить сколько угодно, но что делать, если человек не занимается массовым производством. Для этих целей можно собрать простую и недорогую самоделку под названием JDM программатор по схеме ниже (рисунок 1):


Рисунок №1 — программатор схема

Сразу привожу список элементов для тех кому лень вглядываться в схему:

  • R1 — 10 кОм
  • R2 — 10 кОм (индекс).Регулируя сопротивление этого резистора, нужно добиться около 13В на выводе №4 (VPP) при программировании. В моем случае сопротивление составляет 1,2 кОм
  • R3 — 200 Ом
  • R4, R5 — 1.5 KOHM
  • VD1, VD2, VD3, VD4, VD6 — 1N4148
  • VD5 — 1N4733A (стабилизация напряжения 5.1В)
  • VD7 — 1N4743A (стабилизация напряжения 13 В)
  • C1 — 100 нФ (0,1 мкФ)
  • C2 — 470 мкФ x 16 В (электролитический)
  • SUB-D9F — разъем COM-порта (MAMA или SOCKET)
  • — зависит от разъема DIP8 контроллер, который вы используете

На схеме использован пример подключения таких распространенных контроллеров как PIC12F675 и PIC12F629 , но это совсем не значит, что прошивка других серий PIC будет невозможна.Для записи программы на контроллер другого типа достаточно перекинуть провода программатора в соответствии с рисунком 2, который приведен ниже.


Рисунок №2 — варианты корпусов PIC контроллера с нужными пинами

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

Хотя сама схема достаточно проста и не вызовет затруднений при сборке, она тоже требует уважения. Поэтому было бы неплохо сделать для него печатную плату. После недолгих манипуляций с программой SprintLayout , с текстолитом, дрелью и утюгом родилась вот такая заготовка (фото №3).


Фото №3 — печатная плата программатора

Скачать исходники печатной платы для программы SprintLayout можно по этой ссылке:
(cкачиваний: 670)
При желании можно поменять на свой тип PIC-контроллера.Для тех, кто решил оставить плату без изменений, выкладываю вид со стороны деталей для облегчения монтажа (рис. 4).


Рисунок №4 — плата со стороны крепления

Еще немного колдовства с паяльником и мы имеем готовое устройство, которое может прошить PIC контроллер через COM порт вашего компьютера. Результат моих стараний, еще теплый и не отмытый от флюса, показан на фото №5.


Фото №5 — комплектный программатор

Отныне первый этап на пути к прошивке PIC контроллер , подошел к концу.Второй этап будет включать подключение программатора к компьютеру и работу с программой IC-Prog .
К сожалению, не все современные компьютеры и ноутбуки способны работать с этим программатором из-за банального отсутствия COM портов , а те что установлены на ноутбуках не выдают необходимые для программирования 12В … Вот и решил обратиться к моему первому ПК , который давным-давно пылился и ждал своего звездного часа (и все же дождался).
Итак включаем компьютер и первым делом устанавливаем программу IC-Prog … Скачать ее можно с сайта автора или по этой ссылке:
(cкачиваний: 769)
Подключаем программатор к COM порту и запускаем только что установленное приложение. Для корректной работы нужно выполнить ряд манипуляций. Изначально вам нужно выбрать тип контроллера, который вы собираетесь шить. У меня это PIC12F675 … На скриншоте №6 красным выделено поле выбора контроллера.


Скриншот 6 — выбор типа микроконтроллера


Скриншот №7 — Настройка метода записи контроллера

В этом же окне переходим в « Programming » и выбираем пункт « Programming check «. Проверка после программирования может привести к ошибке, так как в некоторых случаях прошивка сама устанавливает фьюзы блокировки чтения. Ср … Чтобы не морочить себе голову, лучше отключить эту проверку. Короче, следуйте скриншоту №8.


Скриншот #8 — настройка проверки

Продолжаем работу с этим окном и переходим в « General «. Здесь нужно установить приоритет программы и обязательно использовать драйвер NT/2000/XP (скриншот №9). В некоторых случаях программа может предложить установить этот драйвер и потребуется перезагрузка. IC-Prog .


Скриншот 9 — общие настройки

Итак, работа с этим окном закончена. Теперь перейдем к настройкам самого программатора.Выбираем в меню « Настройки» -> «Настройки программатора » или просто нажимаем клавишу F3 … Появится следующее окно, показанное на скриншоте №10.


Скриншот №10 — Окно настроек программатора

Первое из всего выбираем тип программатора — JDM Programmer … Далее ставим радиокнопку использовать драйвер Windows … Следующий шаг предполагает выбор COM порта к которому подключен ваш программатор. Если он один, то вообще вопросов нет, а если больше одного, посмотрите в диспетчере устройств, какой из них используется в данный момент.Ползунок задержки ввода-вывода предназначен для регулировки скорости записи и чтения. Это может понадобиться на быстрых компьютерах и при проблемах с прошивкой — этот параметр надо увеличить. В моем случае он остался по умолчанию равным 10 и все заработало нормально.

На этом настройка программы IC-Prog закончена и можно переходить к процессу самой прошивки, но сначала считываем данные с микроконтроллера и смотрим что в него записано. Для этого на панели инструментов нажмите на значок микросхемы с зеленой стрелкой, как показано на скриншоте №11.


Скриншот 11 — процесс считывания информации с микроконтроллера

Если микроконтроллер новый и ранее не прошивался, то все ячейки его памяти будут заполнены значениями 3FFF кроме самой последней. Он будет содержать значение константы калибровки. Это очень важное и уникальное значение для каждого контроллера. От него зависит точность тактирования, которая подбором и установкой этой самой константы задается производителем.На скриншоте 12 показана ячейка памяти, в которой будет храниться константа при чтении контроллера.


Скриншот №12 — значение калибровочной константы

Повторюсь, что значение уникально для каждой микросхемы и не обязательно должно быть таким, как на рисунке. Многие по неопытности затирают эту константу и впоследствии PIC контроллер начинает работать некорректно, если в проекте используется тактирование от внутреннего генератора. Советую записать эту константу и наклеить надпись с ее значением прямо на контроллер.Так вы избежите многих неприятностей в будущем. Итак, значение записано — идем дальше. Открываем файл прошивки, который обычно имеет расширение .hex … Теперь вместо меток 3FFF буфер программирования содержит код нашей программы (скриншот №13).


Скриншот #13 — прошивка загружена в буфер программирования

Выше я писал, что многие затирают калибровочную константу по неосторожности. Когда это происходит? Это происходит при открытии файла прошивки.Постоянное значение автоматически меняется на 3FFF и если запустить процесс программирования, то пути назад уже нет. На скриншоте №14 выделена ячейка памяти, где ранее находилась константа. 3450 (до открытия шестнадцатеричного файла ).

В настоящее время появилось много принципиальных схем с использованием различных микроконтроллеров, в том числе микроконтроллеров PIC от MicroChip. Это позволило получить достаточно функциональные устройства, несмотря на их простоту.

Но работа микроконтроллера невозможна без управляющей программы, которую надо написать. В этой статье мы рассмотрим универсальный программатор PIC — EXTRA-PIC позволяет программировать PIC контроллеры и память EEPROM I2C через COM порт или через .

Список поддерживаемых микросхем, при использовании с программой IC-PROG v1.05D:

PIC-контроллеров Microchip: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, PIC16C433, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66 , PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505 *, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630 *, PIC16F648A, PIC16F676 *, PIC16C710, PIC16C711, PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770 *, PIC16C771 *, PIC16C773, PIC16C774, PIC16C781 *, PIC16C782 *, PIC16C782 *, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F876, PIC 16F878A, PIC16F876, PIC 16F878C * PIC18F2 42, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4503, * PIC1820F6900

Примечание: микроконтроллеры, отмеченные звездочкой (*), необходимо подключать к программатору через разъем ICSP.

Последовательная ЭСППЗУ I2C (IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, AT24C512.

Непосредственно схема самого программатора EXTRA-PIC:

Программируемый контроллер подключен через разъем X3. Ниже приведена распиновка пинов программирования для разных контроллеров:

А теперь инструкция как запрограммировать микроконтроллер.

В качестве примера возьмем микроконтроллер PIC16F876A.

Собрать программатор и подготовить блок питания с выходным напряжением не менее 15В

Распаковать программу в отдельный каталог. Созданный каталог должен содержать три файла:

icprog.exe — файл оболочки программатора;

icprog.sys — драйвер, необходимый для работы под Windows NT, 2000, XP. Этот файл всегда должен находиться в каталоге программы;

icprog.chm — Файл справки.

Настройка IC-PROG v1.Программа 05Д.

Для Windows95, 98, ME Для Windows NT, 2000, XP
( только для Windows XP ):
Щелкните правой кнопкой мыши файл icprog.exe.
« Свойства »>> вкладка « Совместимость » >>
Установите флажок Запустить программу в режиме совместимости с: »>> выберите « Windows 2000 «.
  1. Запустите файл icprog.ехе .
  2. Выбираем « Настройки » >> « Параметры »>> вкладка « Язык » >> устанавливаем язык « Русский » и нажимаем « Ок ».
  3. Согласен с утверждением « Вам необходимо перезапустить IC-Prog now » (Нажмите « Ok »).
  4. Оболочка программатора будет перезапущена.
« Настройки » >> « Программатор «.
Проверьте настройки, выберите COM-порт, который вы используете, нажмите « Ok ».
Далее, « Настройки » >> « Параметры » >> выбираем вкладку « Общие » >> ставим галочку « Вкл. >>
, если драйвер ранее не был установлен в системе, в появившемся окне « Подтвердить » нажмите « Ok ». Драйвер будет установлен и оболочка программатора перезапустится.
Примечание: Для очень «быстрых» компьютеров может потребоваться увеличить параметр « I/O Delay ».Увеличение этого параметра повышает надежность программирования, однако и время, затрачиваемое на программирование микросхемы, также увеличивается.
« Настройки » >> « Параметры »>> выберите вкладку « I2C » >> установите галочки: « Включить MCLR как VCC » и « Включить запись блока ». Нажмите « Хорошо «.
Программа готова к работе.

Установите микросхему в панель программатора, соблюдая положение ключа.

Подсоедините удлинитель, включите питание.

Запустите программу IC-PROG.

Выберите контроллер PIC16F876A из выпадающего списка.

Если у вас нет файла с прошивкой, подготовьте его:

открыть стандартную программу Блокнот;

вставить в документ текст прошивки;

сохранить под любым именем, например, prohivka.txt (расширение *.txt или *.hex).

Далее в IC-PROG Файл >> Открываем файл (! не путать с Открываем файл данных ) >> находим наш файл с прошивкой (если у нас есть файл с расширением *.txt, затем в типе файла выберите Any File *.* ). Окно «Программный код» должно быть заполнено информацией.

Нажать кнопку «Запрограммировать микросхему» (загорится красный светодиод).

Ждем завершения программирования (около 30 сек.).

Для контроля нажать «Сравнить микросхему с буфером».

4 способа начать использовать микроконтроллеры

Комментарий Ричарда Браша:

Привет Ойвинд,

Arduino использует семейство микроконтроллеров Atmel.

Семейство микроконтроллеров PIC от Microchip Technology также очень популярно. Это высокопроизводительные RISC-процессоры, выполняющие большинство инструкций за один цикл инструкций (4 такта). Инструкции перехода занимают два цикла инструкций. Они содержат встроенную флэш-память программ, ОЗУ, память данных EEPROM, регистровый файл и различные «периферийные» модули.

Microchip производит стартовый комплект PICkit1 Flash, который можно приобрести на DigiKey.com по цене 36,00 долларов США, номер детали DigiKey DV164101-ND.Это комплект начального уровня для разработки простых микроконтроллеров PIC с 8 и 14 DIP.
Microchip также производит PICkit2 и PICkit3 для более продвинутых микроконтроллеров PIC.

PICkit1 включает печатную плату примерно 7,5 см x 11 с разъемом USB, предварительно запрограммированный 28-DIP-микроконтроллер PIC с интерфейсом USB,
14-DIP-разъем для целевого (запрограммированного пользователем) микроконтроллера PIC, зеленый светодиод POWER, желтый светодиод BUSY, 8 красные светодиоды DATA, кнопочный переключатель, потенциометр, 14-контактный разъем расширения и область макетирования/прототипирования.

Печатная плата PICkit1 подключается к ПК с помощью USB-кабеля (входит в комплект).
Компакт-диск содержит интегрированную среду проектирования (IDE), работающую под Windows, с редактором исходного кода, ассемблером, отладчиком и программатором устройств. На компакт-диске есть много других вещей, включая C-компилятор, таблицы данных, заметки по применению, примеры программ, уроки и исходные коды сторонних производителей (как на ассемблере, так и на C). .

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

PICkit1 включает в себя два незапрограммированных устройства — 8-контактный PIC12F675 и 14-контактный PIC16F684.
PIC12F675 содержит встроенный тактовый генератор с частотой 4 МГц, откалиброванный на заводе с допустимым отклонением частоты 1% (он также может использовать внешний кристалл или источник тактового сигнала до 20 МГц), 8-разрядный счетчик/таймер, 16-разрядный счетчик/таймер, ( аналоговый) компаратор, 4-канальный аналого-цифровой преобразователь и 6 контактов ввода/вывода общего назначения (один только вход).
PIC16F684 включает их, а также дополнительные периферийные устройства и контакты.

Эти устройства можно запрограммировать с использованием исходного кода на C или ассемблере.
Я предпочитаю сборку самостоятельно, так как набор инструкций очень прост и удобен в освоении, а также дает максимальную гибкость.

Я нахожу PIC12F675 особенно полезным в качестве 8-контактного устройства, которое может заменить различную «клеевую» логику, функции счета и/или синхронизации, а также некоторые аналоговые функции, использующие встроенный компаратор и/или аналого-цифровой преобразователь, такие как цифровой фильтры и простая цифровая обработка сигналов (DSP).

Я сравнил эти и другие микроконтроллеры PIC с микроконтроллерами нескольких других производителей (включая Atmel), и до сих пор я не нашел другого семейства микроконтроллеров
, которое бы предлагало такую ​​гибкость, мощность и автономность в таком компактном корпусе.

Я думаю, что PICkit1 наиболее полезен для тех, кто уже имеет некоторые знания и опыт в области электроники и хотел бы использовать простой микроконтроллер с малым количеством выводов для замены ряда цифровых и, возможно, некоторых аналоговых микросхем для реализации определенной функции ( с) с минимальным пространством и стоимостью.

С уважением,
Ричард Браш

Каковы лучшие платформы для DIY IoT и интеллектуальных устройств?

Обновлено 31 августа 2020 г. 20:28 в DIY, IoT, Smart

Если вам нравится делать что-то самостоятельно, возможно, вы думали о создании интеллектуального устройства или устройства Интернета вещей (IoT), которое реагирует на ваши конкретные потребности. Хотя существует множество коммерческих вариантов, стоимость которых значительно снизилась за последние несколько лет, бывают случаи, когда ни один из них не работает достаточно хорошо для того, что вам нужно.Иногда вы также можете просто захотеть немного повеселиться и создать решение самостоятельно, в конце концов, это и есть DIY.

Один из вопросов, который может возникнуть: отлично, я готов собрать свое собственное смарт-устройство, но какой контроллер мне использовать? Есть много возможных ответов на этот вопрос, но сегодня мы рассмотрим некоторые из самых популярных вариантов, которые также обеспечивают наибольшую простоту использования. Обратите внимание, что контроллеры, специально предназначенные для использования в качестве интеллектуальных устройств, не были включены, поскольку, хотя они могут обеспечивать более простую интеграцию с IoT, они имеют меньшие сообщества и часто стоят дороже.ESP866 с клоном Arduino

 

Разница между микроконтроллерами и микропроцессорами

На первый взгляд они могут показаться похожими, но на самом деле они совершенно разные в некоторых аспектах, которые их отличают. Наиболее существенное различие между ними заключается в том, что обычно микроконтроллер содержит все, что ему нужно для работы (например, ОЗУ, ЭСППЗУ, АЦП) внутри самого чипа. Микропроцессор, однако, обычно имеет все компоненты на плате, на которой он установлен — точно так же, как ваш настольный или портативный компьютер имеет материнскую плату с оперативной памятью и жесткий диск, подключенный непосредственно к ней.

Система на кристалле (SoC) сделала это различие немного более сложным. Идея SoC состоит в том, чтобы упаковать все необходимое для запуска типичного процессора в одном чипе, как и микроконтроллер. Фактически, одним из самых популярных SoC является Raspberry Pi, который включает в себя большую часть оперативной памяти, графического процессора, аудиочипов в одном корпусе, который большинство будет называть «процессором».

Некоторые различия между микроконтроллером и бортом SOC

Устройство Операционная система Программирование Внешние компоненты Timings
Микроконтроллер Микроконтроллер (без ОС) может быть сложно; должен напрямую взаимодействовать с процессором Код должен напрямую взаимодействовать с любыми внешними компонентами Может очень точно рассчитывать время выполнения задач
Микропроцессор (SoC) Linux или другая встроенная ОС Доступно множество библиотек для создания сложных задачи намного проще Драйверы ОС часто существуют для любого подключенного компонента, упрощая взаимодействие ОС может прерывать любую запущенную задачу; трудно правильно рассчитать время в сценариях реального времени

В случае, если кто-то хочет создать устройство IoT самостоятельно, решение использовать микроконтроллер или микропроцессор часто сводится к требуемому уровню вычислительной мощности.Нужна ли вашему проекту полноценная операционная система? Если нет, вам, вероятно, лучше использовать микроконтроллер просто потому, что он намного дешевле. Кроме того, часто требуется несколько копий одного и того же смарт-устройства — как в случае с интеллектуальными лампочками или лампами — а это означает, что более низкая цена представляет собой более низкий барьер для входа.

Микроконтроллеры для устройств Интернета вещей

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

Arduino

Классический микроконтроллер, который, кажется, существовал всегда. Это хороший выбор, когда дело доходит до любого проекта DIY. От огромного сообщества пользователей, которые ответили на бесчисленное количество вопросов и предоставили тысячи библиотек, до простой в использовании IDE — Arduino всегда был сильным игроком в индустрии микроконтроллеров.В мире умных устройств DIY; однако ему становится все труднее сохранять свой титул как лучший вариант. Клон Arduino под названием «Pro Micro»

The Pros
  • Платы Arduino выпускаются в таком большом количестве различных размеров и компоновок, что почти для каждого случая можно найти плату — и это не считая всех плат-клонов, которые официально не зарегистрированы. считается «Arduino», но все еще использует чип ATmega.
  • Среда разработки Arduino проста в использовании и содержит множество библиотек, разработанных для нее.
  • Казалось бы, бесконечное количество онлайн-уроков
Минусы
  • Может быть довольно дорого. Uno в настоящее время продается по цене около 23 долларов за доску в официальном магазине. Клоны могут предлагать более низкую цену, но технически они не являются «Arduino».
  • Нет встроенных сетевых возможностей. Это очень важно для IoT и интеллектуальных устройств, они должны быть подключены к Wi-Fi или локальной сети, чтобы быть полезными, но Arduino не поставляется ни с одним из них, если только вы не собираетесь тратить больше денег на плату YÚN или экран.
  • Помимо Nano, платы также могут быть довольно большими. Это может быть проблемой, если они будут использоваться в небольших устройствах.
  • ОЗУ и флэш-память немного малы для использования в IoT. Библиотеки, необходимые для выполнения любой работы IoT, быстро израсходуют много доступной памяти, оставив мало для вашей реальной программы.

ESP8266

Относительный новичок на рынке, впервые появившийся на западе только в 2014 году — с модулем ESP-01. Это устройство продавалось как микросхема WiFi для использования с другим микроконтроллером, таким как Arduino.Даже это устройство на самом деле может делать гораздо больше, чем просто служить чипом WiFi, его можно запрограммировать, как и любой другой микроконтроллер.

Конкретная версия, о которой я буду говорить, — это версия «Nodemcu», которая представляет собой версию ESP, предназначенную для разработки. Простой поиск «ESP8266 Nodemcu» должен дать много результатов, и платы, вероятно, будут выглядеть одинаково. Стоит отметить, что Nodemcu — это название прошивки, предварительно загруженной на плату, чтобы пользователи могли программировать устройства IoT с помощью своей среды Lua, хотя лично я никогда не использовал этот подход.

Плюсы
  • Гораздо дешевле других вариантов, мне удалось найти 5 таких плат по цене одной Arduino.
  • Включает стек WiFi из коробки
  • Отладочная плата довольно маленькая.
  • Встроенная память огромная со 128Кб ОЗУ и 4Мб флэш-памяти. Это по сравнению с 2 КБ ОЗУ Arduino Uno и 32 КБ флэш-памяти.
Минусы
  • Менее популярный, меньшее сообщество и меньше онлайн-руководств
  • Работает на 3.3 вольта вместо обычно используемых 5 (это может быть профессионалом в зависимости от вашего варианта использования)
  • Может иметь некоторые загадочные сообщения об ошибках, когда что-то идет не так, даже при использовании декодера исключений.

Встроенные компьютеры для Интернета вещей

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

Raspberry Pi

Долгое время он носил звание самого популярного одноплатного компьютера, и для этого есть веская причина. Ориентированность Pi на то, чтобы быть доступной для любителей и обычных людей, вывела его на первое место, когда речь заходит о дешевых компьютерах. Когда дело доходит до IoT, у Pi есть встроенный Wi-Fi, начиная с Pi 3, что означает, что его легко использовать для создания интеллектуальных устройств.

Профи
  • Предлагает полную операционную систему, такую ​​как Linux.
  • Может эффективно выполнять сложные задачи, такие как кодирование видео
  • Использует SD-карту для хранения, что позволяет использовать программы значительного размера каждая плата будет стоить около 50 долларов за версию на 2 ГБ.
  • Требуется много энергии — рекомендуемый источник питания — настенное зарядное устройство на 3 А!
  • ОС полностью контролирует устройство, и поэтому вы теряете возможность тонкой настройки.
  • С контактами GPIO может быть сложно работать, и они не поддерживают аналоговые входы — требуется внешняя плата для считывания значений датчика, отличных от включенных или выключенных.

Arduino YÚN

Это версия одноплатного компьютера Arduino. Однако называть это устройство одноплатным компьютером не совсем справедливо, поскольку в нем есть и микропроцессор, и микроконтроллер. Это означает, что он может запускать Linux, имея при этом те же преимущества (и недостатки), что и обычный Arduino.Они справляются с этим, запуская скетч, загруженный из Arduino IDE, на микроконтроллер и запуская Linux на микропроцессоре, который находится на той же плате.

Профи
  • Предлагает полную операционную систему Linux.
  • Полностью совместим с библиотеками Arduino.
  • Бортовой WiFi.
  • Распиновка аналогична другим платам Arduino, аналоговые выводы предлагаются по умолчанию.
Минусы
  • Страдает многими из тех же проблем, что и Arduino для IoT
  • Те же ограничения памяти, что и у обычного Uno, но с процессором Linux, имеющим 16 МБ памяти и 64 МБ ОЗУ
  • Может быть дорого для IoT

Мой выбор

Я пробовал довольно много вещей для создания своих собственных интеллектуальных устройств, и мой выбор в конечном итоге был ESP8266 большую часть времени.Мне редко нужна вычислительная мощность, предлагаемая таким устройством, как Raspberry Pi (которое я считаю очень дорогим для одного устройства), и даже у Arduino было слишком много проблем, чтобы я мог его использовать.

Сначала я получил ESP8266, чтобы добавить WiFi в свой проект Arduino, но вскоре понял, что ESP8266 можно использовать практически для всего, что может делать любой другой микроконтроллер. Его более низкая цена, больший объем памяти и тот факт, что его можно запрограммировать с помощью Arduino IDE, — вот что заставляет меня покупать ESP.

Резюме

Если вы собираете интеллектуальное устройство, у вас действительно нет недостатка в вариантах, когда речь заходит о том, какой контроллер вы можете использовать. Самое главное, что используемая вами плата может делать то, что вам нужно, без лишних хлопот. Одной из самых больших проблем, с которыми мы столкнулись, была высокая цена многих этих плат — на самом деле, платы с процессором в среднем дороже, чем некоторые коммерческие версии готовых интеллектуальных продуктов, которые мы пытаемся сделать своими руками!

Тем не менее, не покупайте Raspberry Pi или YÚN для проекта IoT, если вы не знаете, что это необходимо.Такие вещи, как измерение показаний датчика или запуск двигателя, не требуют сложных процессоров, и вам лучше потратить эти деньги на остальную часть проекта.

Откройте для себя радость понимания электроники

12 апреля 2019 г. • учебник

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

Итак, , допустим, вы нашли классный проект по электронике, который хотите построить сами. На каком-то веб-сайте какого-то мастера, который был так любезен, что приложил схему и все остальные детали, которые вам нужны. Но вот проблема: проект содержит микроконтроллер! Что ты можешь сделать?

Можете ли вы построить проект с микроконтроллером, даже если вы ничего о нем не знаете? Ответ — да! Да, можно! В этой статье я сосредоточусь на микроконтроллерах PIC от компании MicroChip, но общая идея работает и для всех остальных.Дайте мне знать в комментариях, если у вас есть вопросы или что-то было непонятно 🙂

Шаг 1: Получите файл .hex!

Микроконтроллеры — это маленькие компьютеры, и им нужна программа, которая говорит им, что делать. Это набор инструкций, и этот набор инструкций необходимо передать на контроллер, чтобы заставить его работать. Обычно этот набор инструкций написан на языке программирования, таком как C, Basic, Assembler или любом другом. Хорошо то, что вам не нужно знать ничего из этого, если все, что вы хотите сделать, это перенести эту программу на контроллер!

Все, что вам нужно, это т.н.шестнадцатеричный файл. Это файл размером всего несколько килобайт, нечитаемый человеческим глазом. Он содержит машинный код, записанный в шестнадцатеричном формате, откуда и произошло название. Этот файл — все, что вам нужно, и если вы внимательно посмотрите на блог по электронике, где кто-то представляет свой проект, включающий микроконтроллер, вы найдете где-нибудь файл .hex для загрузки. Если это не так, просто спросите! ??

Шаг 2: Приобретите программатор

Итак, теперь у вас есть файл .шестнадцатеричный файл. Дальше нужен программатор. Это что? Это устройство, обычно питаемое от USB, которое соединяет ваш компьютер с микроконтроллером. Используя специальное программное обеспечение (см. шаг 4 ниже), вы сможете перенести файл .hex в память микроконтроллера. Затем, когда контроллер включится, он будет делать все, что говорит ему файл .hex!

Я предлагаю использовать PICkit3. Простой поиск на Amazon покажет вам множество предложений, обычно около 30 долларов. Я использовал его в течение многих лет, и он отлично работает для программирования PIC.

Это мой PICkit3, который я купил много лет назад, и он до сих пор работает. Стоит денег!

Да, чуть не забыл упомянуть: перенос файла .hex на контроллер в большинстве случаев называется «программированием» PIC или «прошивкой» PIC. Просто чтобы вы знали 🙂

Шаг 3: Подключите PIC-контроллер к программатору

Хорошо, теперь у вас есть PIC-контроллер, у вас есть PICkit3, и что теперь? Теперь вам, конечно же, нужно подключить PIC к PICkit3! 😉 Но как?

Есть пять связей, о которых вам нужно знать, и мы поговорим о них одну за другой.Во-первых, взгляните на это изображение моего PICkit3:

.

Шесть соединений в PICkit3.

В контактном разъеме PICkit3 имеется шесть соединений, называемых LVP, PGC, PGD, VSS, VDD и MCLR. Мы не будем использовать LVP, поэтому давайте проигнорируем его в этой статье. Так что же означают остальные пять? Начнем с двух простых:

.
  • VDD — положительное рабочее напряжение.
  • VSS — потенциал земли.

А остальные?

  • MCLR означает Master Clear , и заземление этого контакта переводит PIC-контроллер в режим программирования. Во время нормальной работы он должен быть подключен к VDD, чтобы PIC-контроллер не сбрасывался.
  • PGD означает Programming Data , и именно сюда передаются биты, которые записываются в контроллер во время программирования, как в сдвиговом регистре.Это линия данных, и она может быть старшей или младшей, в зависимости от того, передает ли PICkit3 старший или младший бит в это время.
  • PGC , наконец, Programming Clock . Всякий раз, когда на этой линии есть импульс, текущий бит в PGD записывается в PIC, и внутри PIC перемещается к следующему слоту для записи следующего бита. Это сердцебиение цикла программирования.

И самое главное: это хорошая информация, но нам это знать не обязательно! Все, что нам нужно сделать, это прикрепить PIC к макетной плате, добавить контактный разъем и соответствующим образом соединить контакты.Посмотрите техническое описание вашего PIC-контроллера, где эти имена контактов (MCLR, VDD, VSS, PGD, PGC) четко обозначены. Затем с помощью перемычек соедините контакты PIC с соответствующим разъемом, как показано здесь:

.

Затем можно воткнуть PICkit3 в схему, и подключить к компьютеру. В моем случае у меня действительно не было 45-градусного разъема, поэтому я перевернул макетную плату на бок, но знаете что, она отлично работает 🙂

А как его подключить к PIC контроллеру? Это во многом зависит от конкретного контроллера, который вы хотите использовать.Каждый контроллер имеет назначенные выводы для программирования (MCLR, PGD и PGC), которые необходимо подключить к PICkit3. Возьмем для примера PIC16F627A . На этой картинке ниже вы можете увидеть соответствующие контакты:

Цвета соответствуют проводам, которые я использовал на рисунках выше для подключения PIC к PICkit3 на макетной плате. Попробуйте 🙂

Шаг 4: Программное обеспечение!

Теперь, наконец, нам нужно скачать бесплатное программное обеспечение от компании MicroChip.Он называется MPLAB X IPE, что означает Integrated Programming Environment 10. Вы можете скачать его здесь бесплатно. Да, я знаю, там написано MPLAB IDE вместо MPLAB IPE, но IPE включен в эту загрузку.

Установите программное обеспечение и запустите MPLAB X IDE. выглядит примерно так:

Убедитесь, что в разделе Устройство выбран ваш контроллер. Под Tool вы уже должны увидеть PICkit3, если он подключен. Если вы еще этого не сделали, подключите его сейчас 🙂 Затем нажмите Connect .Нажмите OK в появившемся сообщении:

Возможно, вы получите следующее сообщение об ошибке:

«Целевое устройство не найдено (не удалось обнаружить целевое напряжение VDD). Вы должны подключиться к целевому устройству, чтобы использовать PICkit 3».

Если да, щелкните Power с левой стороны и проверьте Целевая цепь питания с помощью инструмента . Убедитесь, что установлено правильное напряжение (5 В для контроллера 5 В, 3,3 В для контроллера 3,3 В):

.

Затем снова нажмите Operate и нажмите Connect во второй раз.Возможно уже показывает, что подключено, если нет, то просто нажмите Connect еще раз. Теперь это должно выглядеть так:

Нажмите Подтвердите и нажмите OK в этом приглашении:

Теперь все должно работать, но вы можете получить следующее сообщение об ошибке:

«Идентификатор целевого устройства (0x0) является недопустимым идентификатором устройства. Пожалуйста, проверьте ваши подключения к целевому устройству. Желаете ли вы продолжить?»

Проверьте свои соединения! Возможно, что один из кабелей ослаблен! После этого все должно быть в порядке, и вы должны увидеть это сообщение:

.

Хорошо! Теперь мы в деле! Пришло время загрузить файл .шестнадцатеричный файл! Нажмите на File , затем на Import , а затем нажмите на Hex , чтобы выбрать ваш файл, после чего он должен выглядеть так:

Удивительно! Теперь нажмите на Запрограммируйте и наблюдайте за происходящим чудом! Вот что вы увидите:

Программирование завершено! Ты сделал это! Теперь шестнадцатеричный файл надежно хранится на вашем контроллере!

Финиш! Ты сделал это!

Теперь просто отключите PICkit3, выключите программное обеспечение и отсоедините контроллер от макетной платы.Он готов к подключению к конечному пункту назначения!

Я надеюсь, что это руководство было полезным. Если вы чувствуете, что я пропустил несколько частей здесь и там, или что-то не так или неправильно, сообщите мне об этом в комментариях ниже, и я постараюсь добавить недостающую информацию!

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

Лучшие системы безопасности для умного дома на 2022 год

Интернет вещей упростил создание умного дома, в котором вы можете удаленно управлять дверными замками, освещением, термостатами, пылесосами, газонокосилками и даже кормушками для домашних животных. , используя свой смартфон и приложение.Это также сделало простым (и относительно доступным) наблюдение за вашим домом практически из любого места. Интеллектуальные системы безопасности легко настраиваются и доступны в виде комплектов для самостоятельной сборки или полномасштабных установок, включающих профессиональную установку и мониторинг.

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

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

Вы можете доверять нашим обзорам

С 1982 года PCMag протестировала и оценила тысячи продуктов, чтобы помочь вам принимать более обоснованные решения о покупке.(Читайте нашу редакционную миссию.)

Вот что вам нужно знать, когда вы решаете, как защитить и контролировать свой дом, пока вас нет дома.


Оптимизация безопасности и домашней автоматизации

Система безопасности умного дома подключается к вашей сети Wi-Fi, поэтому вы можете отслеживать и контролировать свои устройства безопасности с помощью смартфона и приложения. Системы начального уровня обычно включают в себя несколько дверных и оконных датчиков, детектор движения и концентратор, который связывается с этими устройствами с помощью одного или нескольких беспроводных протоколов, таких как Wi-Fi, Z-Wave, Zigbee или проприетарной ячеистой сети.Вы можете добавить дополнительные дверные, датчики движения и оконные датчики, чтобы охватить весь дом, и построить комплексную систему, включающую дверные замки, устройство открывания гаражных ворот, внутренние и наружные камеры наблюдения, освещение, сирены, детекторы дыма/угарного газа, датчики воды, и больше.

Лучшие предложения по обеспечению безопасности умного дома на этой неделе*

*Предложения выбираются нашим партнером TechBargains

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

Например, небольшие компоненты, такие как дверные/оконные датчики, обычно используют технологию Z-Wave или Zigbee, поскольку они не требуют большой мощности и могут питаться от небольших батарей. Они также работают в ячеистой топологии и могут помочь расширить диапазон сетевых устройств. Однако ни один из протоколов не обеспечивает пропускную способность, которую вы получаете с Wi-Fi, поэтому он обычно используется в камерах безопасности для обеспечения плавной потоковой передачи видео и в других устройствах, которым требуется толстая труба. Более того, устройства Z-Wave и Zigbee подключаются и управляются с помощью концентратора, а устройства Wi-Fi можно подключать напрямую к домашней сети и управлять ими с помощью приложения.Наконец, устройства Z-Wave и Zigbee используют шифрование AES 128, и, поскольку они работают в закрытой системе с выделенным концентратором, они обеспечивают большую безопасность, чем устройства Wi-Fi.

Система домашней безопасности SimpliSafe (Фото: Злата Ивельва)

Любая достойная интеллектуальная система безопасности предлагает компоненты, которые работают вместе в бесшовной среде и могут управляться с помощью настраиваемых правил. Например, вы можете создать правила, чтобы свет включался при обнаружении движения, двери открывались при срабатывании пожарной сигнализации, а камера начинала запись при срабатывании датчика.Некоторые системы хранят записанное видео локально на SD-карте или твердотельном накопителе, а другие предлагают облачное хранилище. Локально сохраненное видео — хороший выбор для тех, кто делает все сам с ограниченным бюджетом, но вы должны быть осторожны, чтобы не перезаписать видео, которое может понадобиться позже. Облачное хранилище упрощает хранение записанного видео и доступ к нему, но оно может стоить сотни долларов в год в зависимости от вашей подписки. Некоторые системы предлагают как облачное хранилище, так и локальное хранилище, а некоторые предоставляют выделенный накопитель, который дает вам возможности DVR с покадровой записью, что упрощает поиск видеособытия, которое произошло в определенный момент времени.

Все системы, которые мы тестировали, оснащены приложением, позволяющим использовать смартфон в качестве командного центра для постановки и снятия системы с охраны, создания правил, добавления и удаления компонентов и получения push-уведомлений при срабатывании сигнализации. Большинство приложений также позволяют вам делать такие вещи, как просмотр живого и записанного видео, запирание и отпирание дверей, изменение настроек термостата и отключение сигналов тревоги. Некоторые приложения даже используют службы определения местоположения вашего телефона для автоматической постановки и снятия системы с охраны в соответствии с вашим физическим местоположением.Более дорогие системы обычно поставляются с настенной панелью, которая действует как коммуникационный центр, с сенсорным дисплеем, который позволяет вам делать все, что делает приложение. Дисплей позволяет общаться с профессиональной службой мониторинга при срабатывании тревоги и просматривать видео с любой из установленных камер видеонаблюдения.


Домашние системы безопасности «Сделай сам»

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

Ваша базовая самодельная система начального уровня может поддерживать только один или два беспроводных протокола и обычно предлагает ограниченный выбор дополнительных компонентов, в то время как более дорогие самодельные системы поддерживают несколько беспроводных протоколов и совместимы с десятками дополнительных компонентов.Некоторые системы «сделай сам» самоконтролируются, что означает, что вы будете получать оповещения, когда устройства срабатывают, но вы можете связаться с местными властями, если произойдет взлом или пожар. Тем не менее, продавцы DIY все чаще предлагают профессиональные услуги по мониторингу.

Универсальный комплект безопасности Abode iota


Профессиональные системы домашней безопасности

Хотя во многих системах используются беспроводные компоненты, которые устанавливаются с помощью двусторонней ленты, в некоторых высокопроизводительных системах используются компоненты, требующие профессиональной установки.Эти простые системы обычно стоят значительно дороже, чем системы DIY, и предлагают профессиональный мониторинг 24/7, но вам, возможно, придется заключить многолетний контракт и заплатить огромную плату за расторжение, если вы его нарушите. Обычно они используют концентраторы с сенсорным экраном, которые содержат радиочастоты, Wi-Fi, Zigbee и Z-Wave, что позволяет им связываться и управлять множеством компонентов, включая дверные и оконные датчики, дверные замки, детекторы разбития стекла, внутренние и наружные устройства. камеры, выключатели света, датчики движения и воды, датчики дыма/угарного газа, термостаты, дверные видеозвонки и множество других устройств домашней автоматизации.

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

Почти все новейшие самодельные и высококачественные системы домашней безопасности поддерживают голосовое управление через Amazon Alexa, Google Assistant и, в некоторых случаях, Apple Siri, что позволяет открывать двери, изменять настройки термостата, открывать гараж и ставьте или снимайте систему с охраны с помощью голосовой команды на подключенном устройстве, например умном динамике. Многие также предлагают поддержку апплетов IFTTT (If This Then That), которые используют триггеры из IFTTT-совместимых веб-служб и устройств для создания действия.Например, вы можете создать апплет, который сообщает, если дверь гаража открыта, чтобы включить прожектор.

Команда АТД


Сколько стоят системы безопасности в месяц?

Независимо от того, решите ли вы использовать систему «сделай сам» или выберете профессионально установленную систему, вам придется платить ежемесячную или ежегодную плату, если вам требуется мониторинг, а в некоторых случаях вам придется платить ежемесячную плату за окупить стоимость аппаратных компонентов. С большинством самодельных систем, таких как SimpliSafe Home Security Kit и Ring Alarm Security Kit, вы сразу покупаете оборудование и можете избежать ежемесячных платежей, если решите самостоятельно контролировать.Если вы добавите мониторинг, плата будет варьироваться: например, SimpliSafe взимает 14,99 долларов в месяц за свою услугу мониторинга без контракта.

Мониторинг профессионально установленных систем, как правило, дороже. Мы детализируем эти цены в каждом из наших обзоров.

Вивинт Умный Дом


Можете ли вы вместо этого использовать камеру слежения?

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

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

Наружная камера идеально подходит для наблюдения за тем, что происходит за пределами вашего дома.Эти устройства защищены от атмосферных воздействий и обычно требуют наличия поблизости розетки GFCI (прерыватель цепи замыкания на землю) для подачи питания, хотя существует несколько моделей с батарейным питанием. Как и их внутренние аналоги, наружные камеры подключаются к вашей сети Wi-Fi и позволяют просматривать живое видео с вашего телефона. Их довольно легко установить, но если вы не знакомы с электропроводкой или не знакомы с ней, вы можете попросить профессионального электрика выполнить эту работу.

Большинство уличных камер предлагают обнаружение движения с push-уведомлениями и уведомлениями по электронной почте, ночное видение и облачное хранилище для видео, запускаемого по событию, а некоторые выполняют двойную функцию в качестве прожекторов или фонарей на крыльце.Некоторые модели даже могут отличить проезжающую машину, животное и человека. Ищите наружную камеру, которая будет интегрироваться с другими устройствами для умного дома, такими как устройства для открывания гаражных ворот, внешние сирены и интеллектуальные выключатели.


Как насчет дверного видеозвонка?

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

Большинство дверных видеозвонков используют существующую проводку дверного звонка (два низковольтных провода) и довольно просты в установке, но есть модели с батарейным питанием, которые устанавливаются за считанные минуты. Некоторые работают с другими интеллектуальными устройствами, такими как дверные замки и сирены, и поддерживают голосовые команды IFTTT и Alexa.

Ищите модель с высоким разрешением (1080p), широкоугольным объективом (от 140 до 180 градусов), диапазоном ночного видения до 25 футов и доступным облачным хранилищем для записанного видео. Иногда полезно иметь возможность увидеть, что произошло непосредственно перед или после того, как посетитель приблизился к вашей двери. Для этого вам понадобится дверной звонок, который использует предварительную буферизацию для записи действия, происходящего до обнаружения движения или нажатия дверного звонка.


Какой умный замок лучше?

Умный замок обычно является частью надежной системы безопасности умного дома, но вам не нужно вкладывать средства в полноценную систему, чтобы использовать ее.Если вы используете концентратор домашней автоматизации для управления такими вещами, как освещение и термостаты, вы можете без особых усилий добавить в систему интеллектуальный замок Z-Wave или Zigbee. В качестве альтернативы, если у вас нет центра домашней автоматизации, найдите блокировку Wi-Fi или Bluetooth, которая поставляется с собственным мобильным приложением. Умные замки используют стандартные предварительно просверленные отверстия и довольно просты в установке. Некоторые модели используют ваш существующий цилиндр с ключом и засов и крепятся к внутренней части вашей двери, в то время как другие требуют, чтобы вы удалили существующие внутренние и внешние накладки и заменили засов и защелку.

Умные замки можно открывать и закрывать с помощью мобильного приложения, и они будут отправлять уведомления, когда кто-то запирает или отпирает дверь, и большинство из них позволяют создавать постоянные и временные расписания доступа для членов семьи и друзей на основе определенных часов дня и дни недели. Функции, на которые следует обратить внимание, включают геозону, которая использует службы определения местоположения вашего телефона для блокировки и разблокировки двери, голосовую активацию с помощью голосовых команд Siri (HomeKit), Google Assistant или Amazon Alexa, поддержку IFTTT и интеграцию с другими устройствами умного дома, такими как видеодомофоны, наружные камеры, термостаты, датчики дыма и подключенное освещение.

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


Можно ли взломать домашнюю систему безопасности?

Как и любой продукт, который подключается к Интернету и использует беспроводные технологии, системы безопасности умного дома уязвимы для взлома, особенно системы без шифрования. Хакеры могут сидеть за пределами вашего дома и использовать ноутбук и программное обеспечение для перехвата беспроводных сигналов, исходящих от вашей системы, что позволяет им подавлять сигналы тревоги и отключать датчики.Другие устройства позволяют хакерам создавать радиопомехи, которые могут блокировать связь между датчиками и концентратором.

Кроме того, устройства, которые подключаются через Wi-Fi, такие как камеры видеонаблюдения и умные дверные замки, могут быть взломаны, чтобы получить доступ к вашей домашней сети. Затем опытный хакер может использовать ваши устройства Wi-Fi и другие сетевые ресурсы для выполнения распределенных атак типа «отказ в обслуживании» (DDoS) против более крупных сетей. Возможно, еще более тревожной является идея о том, что какой-то незнакомец просматривает видео с ваших внутренних и наружных камер видеонаблюдения.

Есть несколько шагов, которые вы можете предпринять, чтобы убедиться, что ваша домашняя система безопасности защищена от злоумышленников. Для начала замените системный пароль по умолчанию на уникальный, состоящий из букв, цифр и символов. По возможности время от времени меняйте пароль. Кроме того, убедитесь, что ваша домашняя сеть защищена. Проверьте настройки безопасности на своем беспроводном маршрутизаторе и рассмотрите модели, которые добавляют дополнительный уровень защиты программного обеспечения.

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

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

Чтобы узнать больше, ознакомьтесь с нашими наградами «Выбор читателей», чтобы узнать, каким системам домашней безопасности и брендам больше всего доверяют другие читатели PCMag.

Самодельный пульт на базе PIC

Самодельный пульт на базе PIC

v4.2 разработан Peter JAKAB в 2004-2005 гг.
старая версия в декабре 1999 г.

ПРИМЕЧАНИЕ для начинающих: PIC являются общими целевые микроконтроллеры, которые должны быть запрограммированы до того, как вы можете использовать их в реальной схеме! Проверить это ссылка, чтобы узнать более. Контроль вверх до 8 устройств с помощью этого легко конструируемого пульта контроль. Он может работать как радио или инфракрасный пульт дистанционного управления, в зависимости на компоненты.Каждый выход устройства может быть настроен как мгновенный. (включается при нажатии кнопки) или фиксируется. Выходы с фиксацией можно включать/выключать одной кнопкой на канал или включается и выключается двумя кнопками на канал.

Попробуйте прямо сейчас, прежде чем строить! Нажмите на кнопки передатчика с зеленый этикетки слева и посмотрите, как меняются выходы приемника (К1-К8). Изменять количество каналов передатчика или приемника. Переключить приемник тип вывода между фиксированным и мгновенным.

Схема, содержащая микроконтроллер PIC, очень гибкая.Ты сможешь решить, какие выходы приемника фиксируются, а какие являются мгновенными. То Выход передатчика с манчестерским кодированием хорошо подходит для самых дешевых ASK радиомодули или для инфракрасного управления. Единицы настраиваются на уникальный адрес, который должен совпадать для управления устройствами.

Связанный проект: Обучение приемник дистанционного управления
Возьмите имеющийся у вас пульт дистанционного управления и управляйте им всем. Этот приемник может узнать коды от ИК-пульт дистанционного управления в формате RC-5 и привязка кнопок к разным каналы и действия.16 кодировщик дистанционного управления и декодер
Если у вас есть TTL-сигналы для управления удаленными цифровыми выходными линиями, пожалуйста, проверить этот проект вместо.

Если у вас возникли проблемы с программированием микроконтроллеров PIC, вы можете рассмотреть возможность создания других схем на базе Holtek HT-12D, HT-12E, Принстон PT2262, PT2272 и кодеры/декодеры Motorola MC145026, MC145027, MC145028.

Галерея

4/8-канальный радиопередатчик V4.2

То разница между 4-канальной и 8-канальной версией только в софт внутри.8-канальный передатчик имеет по одной кнопке (S1-S8) на канал. 4-канальный передатчик использует кнопки S1-S4 для включения, кнопки S5-S8 к выключите каналы 1-4 (используйте с защелкивающимися выходами на приемнике). Диоды D1-D4 и перемычки J1-J4 не являются обязательными. и используются для установки адреса передатчика. Более высокое напряжение питания приводит к более высокой мощности передачи, но диапазон V+ 2-5,5 В постоянного тока для микроконтроллера PIC. Когда V+ выше 5 В постоянного тока, используйте отдельный сила для мку.

Настройка и загрузка
Что делать, если вы не можете получить pic16f630?

список деталей
Батарея
часть описание
С1
Керамический конденсатор 100 нФ
Р1
Резистор 10 кОм (1/8 Вт)
Д1-Д4 Диод 1N4148 (дополнительно)
S1-S8
тактовый переключатель, DTSM 61N или аналогичный
IC1 Микроконтроллер PIC16F630 или PIC16F676, предварительно запрограммированный
ТХМОД
радио модуль передатчика, см. текст (аппаратное обеспечение)
В1
между 2-5.5 В пост. тока (см. технические характеристики TXMOD для допустимого диапазона напряжения)

4/8-канальный инфракрасный передатчик V4.2

То разница между 4-канальной и 8-канальной версией только в софт внутри. 8-канальный передатчик имеет по одной кнопке (S1-S8) на канал. 4-канальный передатчик использует кнопки S1-S4 для включения, кнопки S5-S8 к выключите каналы 1-4 (используйте с защелкивающимися выходами на приемнике). Диоды D1-D4 и перемычки J1-J4 не являются обязательными. и используются для установки адреса передатчика.Напряжение питания V+ должно быть в пределах 2,5–5,5 В постоянного тока. Практично использовать две или три батарейки ААА.

Настройка и загрузка

список деталей
Батарея
часть описание
С1
Керамический конденсатор 100 нФ
С2
470 мкФ 6,3 В, электролитический конденсатор
Р1
Резистор 10 кОм (1/8 Вт)
Р2
Резистор 10 Ом (1/4 Вт)
Д1-Д4 Диод 1N4148 (дополнительно)
Д5
Светодиодный ИК-передатчик
Q1
BSS138 или аналогичный N-MOSFET
S1-S8
тактовый переключатель, DTSM 61N или аналогичный
IC1 Микроконтроллер PIC16F684, предварительно запрограммированный
В1
между 2-5.5 В постоянного тока (CR2032, литий-ионная батарея 3,6 В или 3xAA батареи)

4/8-канальный радиоприемник V4.2

То разница между 4-канальной и 8-канальной версией только в софт внутри. Выходы 8-канального приемника настраивается для фиксированного или мгновенного вывода. 4-канальный приемник имеет два выхода на канал: K1-K4 — выходы с фиксацией, K5-K8 — мгновенные выходы для четырех каналов. Светодиод «действительно» показывает активность передатчика.Не забудьте включить все переключатели адреса, когда в диоды передатчика отсутствуют, либо срезаны перемычки J1-J4. Выберите В+ напряжение питания от +6 до 15 В пост. тока, в зависимости от номинального напряжения реле. Для реле 6 В используйте +6 В постоянного тока, для реле 12 В используйте +12 В постоянного тока.
пожалуйста соблюдайте соответствующую конфигурацию адреса!

преобразователь:
диоды не подключены

приемник:
включает все

преобразователь:
все диоды подключены

приемник:
выключает все

Настройка и загрузка
Распиновка компонентов

список деталей

часть описание
С1, С2 Керамический конденсатор 22 пФ
С3, С5 Керамический конденсатор 100 нФ
С6 10 мкФ 6.Электролитический конденсатор 3В
CN1-CN8 Клеммная колодка для печатных плат, 3-контактная (DG301)
Д1-Д8 1N4004 диод
IC1 Микроконтроллер PIC16F627 или PIC16F628 или
PIC16F627A или PIC16F628A, предварительно запрограммированный
ИК2 Регулятор напряжения LP2950CZ5.0
Светодиод Светодиод 3 мм (зеленый)
LED1-LED8 Светодиод 3 мм (красный)
Q1-Q8 BS170 N-канальный МОП-транзистор
Р1-Р9 Резистор 220 Ом (1/8 Вт)
РЛ1-РЛ8 Реле G5LE, выбор напряжения катушки см. в тексте
С1 DIP-переключатель для пианино, 4-позиционный
Х1 Кристалл HC49, 4 МГц
РХМОД 3-контактный радиоприемник модуль приемника, см. текст (аппаратное обеспечение)

4/8-канальный V4.2 инфракрасных приемника

То разница между 4-канальной и 8-канальной версией только в софт внутри. Выходы 8-канального приемника настраивается для фиксированного или мгновенного вывода. 4-канальный приемник имеет два выхода на канал: K1-K4 — выходы с фиксацией, K5-K8 — мгновенные выходы для четырех каналов. Светодиод «действительно» показывает активность передатчика. Убедитесь, что все адресные перемычки включены, когда диоды передатчика отсутствуют, либо срезаны перемычки J1-J4.Выберите В+ напряжение питания между +6-15 В постоянного тока, в зависимости от напряжения реле рейтинги. Для реле 6 В используйте +6 В постоянного тока, для реле 12 В используйте +12 В постоянного тока.
пожалуйста соблюдайте соответствующую конфигурацию адреса!

преобразователь:
диоды не подключены

приемник:
включает все

преобразователь:
все диоды подключены

приемник:
выключает все

Настройка и загрузка
Распиновка компонентов

список деталей

часть описание
С1, С2 Керамический конденсатор 22 пФ
С3, С5 Керамический конденсатор 100 нФ
С4 4.Конденсатор электролитический 7 мкФ 6,3 В
С6 Электролитический конденсатор 10 мкФ 6,3 В
CN1-CN8 Клеммная колодка для печатных плат, 3-контактная (DG301)
Д1-Д8 1N4004 диод
IC1 Микроконтроллер PIC16F627 или PIC16F628 или
PIC16F627A или PIC16F628A, предварительно запрограммированный
ИК2 LP2950CZ5.0 регулятор напряжения
ИК3 TSOP1738 ИК-приемник, см. текст (аппаратное обеспечение)
Светодиод Светодиод 3 мм (зеленый)
LED1-LED8 Светодиод 3 мм (красный)
Q1-Q8 BS170 N-канальный МОП-транзистор
Р1-Р9 Резистор 220 Ом (1/8 Вт)
Р10 Резистор 10 кОм (1/8 Вт)
Р11 Резистор 100 Ом (1/8 Вт)
РЛ1-РЛ8 Реле G5LE, напряжение катушки см. в тексте
С1 DIP-переключатель для пианино, 4-позиционный
Х1 Кристалл HC49, 4 МГц

программное обеспечение

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

Известные и исправленные ошибки:

2010. 07. 02. Обратите внимание, что пакет декодера содержал неработающий HEX-файл, который был исправлен 2 июля 2010 г. Если вы столкнулись с этой проблемой, приемник можно заставить работать с помощью компиляция исходного кода. Извините за неприятности.

2012.03.16. Исправлена ​​ошибка в пакете 8-канального декодера.При использовании канала 5 действующий светодиодный индикатор обрабатывался неправильно.

2014. 12. 17. Инфракрасный передатчик отправил непрерывный код из-за чего новые приемники TSOP теряли синхронизацию через 2 секунды.


.
источник файл
строка означает
enc-042.asm 25 #define MODE_Ch5 устройство 4-канальное, отправка кодов каналов ВКЛ/ВЫКЛ
enc-042.асм
28 #define MODE_CH8 устройство 8-канальный, отправка простых кодов для каналов
irmtxv4.asm 44 pwm_freq EQU d’38000′ ИК частота передатчика устанавливается на 38000 Гц. Это должно соответствовать частоте модуля приемника
dec-043.asm 36 LATCH_MASK EQU 0xff
выбрать выходы должны быть заблокированы. Это двоичная маска, один бит на канал.Другие каналы будут мгновенными
Пример: LATCH_MASK EQU B’00001111′ # каналы 1-4 фиксируются, каналы 5-8 мгновенные
dec-044.asm 38 LATCH_MASK ЭКВ. 0xff
mrxv4.asm 56 #define SKL btfsc
57 #define SKH btfss
нормальный логический вход декодера используется для радиочастотных приемников (чаще всего)
mrxv4.asm 60 # определить SKL btfss
61 # определить SKH btfsc
обратный логический вход декодера используется для ИК-приемников (чаще всего)

оборудование

Радио версия принципиальные схемы показывают общие модули ISM RF, которые подключаются к схемы, использующие два контакта питания и один контакт модуляции.Модуль передатчика (TX) подключен к цепи передатчика. Модуль приемника (RX) подключен к цепи приемника. Выберите модули ISM RF из список модулей. Пульт работает с самыми дешевыми модулями OOK/ASK и с FSK модули тоже. Используйте одну и ту же частоту и тип модуляции для всех модули. Выберите модуль, который не нуждается в настройке — это те, которые только подключаются используя 3 булавки (земля (GND), источник питания (VCC), вход модуляции/выход демодуляции (MOD)) и обычно имеют подключение внешней антенны (ANT).

Если вы строите инфракрасную версию, выберите ИК-светодиод, соответствующий длина волны приемного модуля. Получатель центральная частота должна соответствовать модуляции передатчика частота, которую можно задать источником передатчика (pwm_freq). Если в сомнения, просто выберите TSOP1738. Список используемых модулей: Sharp GP1U52X, ИС1У60Л, Вишай TSOP17XX, ТСОП18ХХ.

Часто задаваемые вопросы

В: Обязательно ли использовать в приемнике транзистор bs170?
A: Можно использовать N-канальные мосфеты с другой логикой или биполярные npn транзисторы (с добавлен последовательный базовый резистор) для управления реле вместо Q1-Q8 в приемник дистанционного управления.Примеры: bss138, bc182+2,2 кОм

В: Как установить переключаемый или мгновенный режим для реле?
A: Внесите изменения в исходный код приемника. Изменить LATCH_MASK определить — содержит один бит для каждого канала. Нулевой бит устанавливает соответствующий выход на мгновенный, a старший бит устанавливает соответствующий выход в состояние фиксации. Например, линия LATCH_MASK EQU B'00001111' устанавливает каналы 8-5 на мгновенное и каналы 4-1 в режим фиксации (переключение). Затем используйте компилятор (MPLAB или gputils) в собрать код.16 кодировщик дистанционного управления и вместо декодера.

В: Что делать, если я не могу получить pic16f630?
A1: Попробуйте pic16f676 и верните эту строку в код: clrf 0x91 ; ANSEL
A2: Попробуйте pic16f628, вот модифицированный передатчик

В: С какими радиомодулями может работать этот пульт дистанционного управления?
A: Вы можете выбрать из этого списка. То дистанционное управление работает с самыми дешевыми модулями OOK/ASK и с FSK модули тоже.Используйте одну и ту же частоту и тип модуляции для всех модули. Выберите модуль, который не нуждается в настройке — это те, которые только подключаются с использованием 3 контактов (земля (GND), источник питания (VCC), вход модуляции/выход демодуляции (MOD) ) и обычно имеют подключение внешней антенны (ANT).

обратная связь

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

Downloads > Пример кода > Отладочные платы PIC > PIC24 > Modtronics

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

Выбрать свой проект

Picotronics24

Picotronics24 PIC24 Доска
NANOTRONICS24 PIC24 Доска разработки
RFM22B Boardout
PIC / PIC24 USB USB USB
PIC / PIC24 Учебники пример кода

Этот пример код предназначен для работы на нашей макетной плате picoTRONICS24 PIC.Он предназначен для работы на микроконтроллерах Microchips PIC24FJ64GB004 PIC. Несмотря на то, что он либо был выполнен для PIC24FJ64GB004, либо проект настроен для PIC24FJ64GB004, достаточно легко изменить его для другого устройства серии PIC24. Наш пример кода реализует следующие функции на нашей плате для разработки PIC: USB, UART, светодиоды, таймеры, выбор периферийного контакта (PPS) и ряд других функций.

Предварительно скомпилированный файл HEX — все, что вам нужно сделать, это загрузить его

picoTRONICS24 — плата для разработки микроконтроллеров PIC — пример программного обеспечения

Файл проекта — вы можете скомпилировать его самостоятельно или использовать как часть своего собственного проекта

picoTRONCIS24 — микроконтроллер PIC Плата для разработки — пример проекта

Этот пример кода предназначен для нашей платы для разработки PIC nanoTRONICS24.Он предназначен для работы на микроконтроллерах Microchips PIC24FJ64GB004 PIC. Несмотря на то, что он либо был выполнен для PIC24FJ64GB004, либо проект настроен для PIC24FJ64GB004, достаточно легко изменить его для другого устройства серии PIC24. Наш пример кода реализует следующие функции на нашей плате для разработки PIC: USB, UART, светодиоды, таймеры, выбор периферийного контакта (PPS) и ряд других функций.

ЖК-библиотека — переносимая на другие устройства PIC24

LCD-библиотека nanoTRONICS24 — пример проекта

QP-nano Светофор (PELICAN) nanoTRONICS24 Port

QP-nano — это структура конечного автомата, разработанная для упрощения проектирования и программирования сложных событий управляемые встраиваемые системы.Его можно рассматривать как аналог RTOS, но без некоторой сложности RTOS и с повышенной скоростью выполнения и эффективностью. Платформа QP-nano особенно хорошо подходит для разработки надежного и быстрого программного обеспечения, управляемого событиями.

Платформу QP-nano можно загрузить с веб-сайта Quantum Leaps или напрямую с SourceForge. Он распространяется с открытым исходным кодом под Стандартной общественной лицензией GNU (GPL). Таким образом, наш порт nanoTRONICS24 примера PELICAN распространяется под той же лицензией.

Вы можете загрузить примечания по применению, предоставленные Quantum Leaps, с подробным описанием примера PELICAN здесь .

Наш порт nanoTRONICS24 PIC24 этого примера можно загрузить ниже. Этот порт обеспечивает вывод с помощью порта nanoTRONICS24 UART, ЖК-дисплея и встроенных светодиодов. Пользовательский ввод, кнопка пешеходной прогулки — это кнопочный переключатель, который находится на плате разработки nanoTRONICS24 PIC24

nanoTRONICS24 — порт светофора QP-nano — пример проекта и исходный код

беспроводной модуль RFM22B.Этот код не тестировался для работы с нашими коммутационными платами RFM22B.

RFM22B Производитель предоставил демонстрационный код

Этот код также совместим со следующими продуктами, которые мы предлагаем:

PIC / PIC24 USB стек с открытым исходным кодом Микроконтроллеры PIC24 и PIC32. Дополнительную информацию о стеке (и исходном коде) можно загрузить с программного обеспечения Signal11 по адресу: Их веб-сайт или Github.

Author:

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

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