Как собрать USB программатор для микроконтроллеров PIC своими руками. Какие детали нужны для сборки. Как прошить основной микроконтроллер. Как использовать программатор для прошивки различных PIC и микросхем памяти. На какие моменты обратить внимание при сборке.
Зачем нужен самодельный программатор PIC
Для начинающих радиолюбителей, решивших собрать устройство на микроконтроллере PIC, одной из первых задач становится приобретение программатора. Готовые USB-программаторы имеют довольно высокую цену, поэтому лучшим решением будет собрать программатор самостоятельно.
Предлагаемая схема представляет собой «облегченную» версию фирменного программатора PICkit2 и получила название PICkit-2 Lite. Она отличается простотой сборки и доступностью компонентов, что делает ее идеальным вариантом для начинающих.
Возможности самодельного программатора PIC
С помощью данного программатора можно будет прошивать большинство популярных микроконтроллеров семейства PIC, включая:

- PIC16F84A
- PIC16F628A
- PIC12F629
- PIC12F675
- PIC16F877A
- и другие
Кроме того, программатор позволяет работать с микросхемами памяти EEPROM серии 24LC. Дополнительные возможности устройства:
- Работа в режиме USB-UART преобразователя
- Частичные функции логического анализатора
- Расчет калибровочной константы встроенного RC-генератора некоторых микроконтроллеров (например, PIC12F629 и PIC12F675)
Схема программатора PIC на USB
Основой устройства является микроконтроллер PIC18F2550-I/SP. Это единственная микросхема в схеме программатора. Схема разделена на две части:
- Основная часть с микроконтроллером и обвязкой
- Панель для установки программируемых микроконтроллеров
В схеме внесены некоторые изменения по сравнению с оригинальной версией для обеспечения возможности работы с микросхемами памяти EEPROM серии 24Cxx:
- Добавлено соединение от вывода RA4 (6 пин) микроконтроллера PIC18F2550 к 21 выводу ZIF-панели
- Добавлен подтягивающий резистор 2 кОм между выводами SDA и Vcc для микросхем памяти
Необходимые компоненты для сборки
Для сборки программатора понадобятся следующие основные компоненты:

- Микроконтроллер PIC18F2550-I/SP
- Биполярные транзисторы КТ3102 (3 шт.) и КТ361 (1 шт.)
- Диоды КД522 и 1N5817
- Светодиоды красного и зеленого цвета
- Резисторы различных номиналов
- Конденсаторы керамические и электролитические
- Катушка индуктивности 680 мкГн
- Кварцевый резонатор 20 МГц
- USB-розетка типа B
- 40-контактная ZIF-панель
Полный список компонентов с номиналами приведен в таблице в оригинальной статье.
Особенности монтажа программатора
При сборке программатора следует обратить внимание на следующие моменты:
- Зеленый светодиод HL1 индицирует наличие питания, красный HL2 — передачу данных
- Использование USB-розетки типа B повышает надежность и универсальность устройства
- Дроссель L1 можно изготовить самостоятельно, намотав 250-300 витков провода ПЭЛ-0,1 на ферритовый сердечник
- Диод Шоттки VD2 защищает схему при внутрисхемном программировании, но его можно исключить при использовании только с ZIF-панелью
- Универсальная ZIF-панель позволяет работать с микроконтроллерами в разных корпусах
Порядок монтажа элементов на плату
Монтаж компонентов на печатную плату рекомендуется выполнять в следующем порядке:

- Запаять перемычки из медного лужёного провода
- Установить низкопрофильные элементы (резисторы, конденсаторы, кварц, штыревой разъём ISCP)
- Установить транзисторы
- Установить запрограммированный микроконтроллер PIC18F2550
- Установить ZIF-панель и USB-розетку
- Запаять изолированную перемычку между выводами микроконтроллера и ZIF-панели
Прошивка основного микроконтроллера PIC18F2550
Для работы программатора необходимо записать специальную прошивку в память микроконтроллера PIC18F2550. Файл прошивки имеет название PK2V023200.hex.
Эта операция вызывает затруднения у многих начинающих, так как возникает проблема «курицы и яйца» — чтобы прошить микроконтроллер, нужен программатор, а чтобы сделать программатор, нужно прошить микроконтроллер.
Существует несколько способов решения этой проблемы:
- Попросить знакомого радиолюбителя прошить микроконтроллер на готовом программаторе
- Воспользоваться услугами радиомастерской
- Собрать простейший программатор на LPT-порту компьютера
- Приобрести уже запрограммированный микроконтроллер
Использование программатора

- 18-выводные микроконтроллеры (PIC16F84A, PIC16F628A и др.) устанавливаются так, чтобы ключ на корпусе был со стороны фиксирующего рычага ZIF-панели
- 8-выводные микроконтроллеры (PIC12F675, PIC12F629 и др.) устанавливаются аналогично, занимая крайние контакты панели
Для программирования микроконтроллеров в корпусах для поверхностного монтажа (SOIC) можно использовать специальные переходники или подпаять провода к основным выводам микросхемы (Vpp, Clock, Data, Vcc, GND).
Заключение
Сборка USB-программатора для микроконтроллеров PIC своими руками — отличный способ сэкономить средства и получить полезный инструмент для радиолюбительского творчества. Несмотря на кажущуюся сложность, при внимательном подходе к монтажу и соблюдении всех рекомендаций, собрать работоспособное устройство сможет даже начинающий радиолюбитель.
Самодельный программатор PICkit-2 Lite позволит не только прошивать различные микроконтроллеры PIC и микросхемы памяти, но и освоить основы программирования микроконтроллеров, что откроет широкие возможности для создания собственных электронных устройств.

PIC16F628A — Меандр — занимательная электроника
В современных промышленных станках используются цифровые устройства для измерения перемещения механизмов, датчиками которых служат электромеханические устройства, например, ПДФ-3М [1] или ЛИР-158 [2] и аналогичные, использующие двухфазный метод счёта. Предлагаемый прибор предназначен для проверки и отбраковки таких датчиков. Метод проверки — подсчёт числа импульсов на один оборот вала датчика. В приборе, схема которого изображена на рис. …
Читать далее
Постоянная ссылка на это сообщение: http://meandr.org/archives/36475

Известно, что для регулирования переменного напряжения при различных экспериментах необходим лабораторный автотрансформатор. Однако если его нет, можно использовать трансформатор, описанный в [1]. Для повышения оперативности и удобства работы с таким трансформатором в своё время был разработан и описан в [2] блок управления. К сожалению, он довольно сложен, поскольку построен на логических микросхемах малой и средней …
Читать далее
Постоянная ссылка на это сообщение: http://meandr.org/archives/35321

Устройство предназначено для запоминания двух положений автомобильного кресла по расстоянию от рулевой колонки и наклону спинки, выбранных пользователем, и их быстрой автоматической установки. При необходимости оно может управлять и другими объектами, которые нужно быстро переводить в два заданных положения, например, потолочным люком или поворотной антенной. Основа устройства — микроконтроллер PIC16F628A. Во время работы перемещающего кресло …
Читать далее
Постоянная ссылка на это сообщение: http://meandr.org/archives/31213

Предлагаем вниманию читателей усовершенствованный вариант прибора, описание которого было опубликовано в [1]. По мнению автора, новый прибор обладает существенными преимуществами над прототипом, поскольку не только выводит результаты измерения на экран ЖКИ, но и обеспечивает соблюдение условий измерения максимальной для используемого в конструкции счётчика Гейгера СБМ-20 интенсивности радиации 144 мР/ч [2]. Кроме того, он измеряет суммарную …
Читать далее
Постоянная ссылка на это сообщение:
http://meandr.org/archives/29650Этот замок можно использовать для ограничения доступа в помещение, гараж, дом, сейф, шкаф. Его исполнительным устройством может служить механизм запирания двери автомобиля. Устройство, схема которого изображена на рис. 1, позволяет посредством введённого кода отпирать дверь и запирать её. Код хранится в EEPROM микроконтроллера DD1, а при включении питания устройства программа копирует его в оперативную память. …
Читать далее
Постоянная ссылка на это сообщение: http://meandr.org/archives/29634
meandr.org
РадиоКот :: Часы — будильник на микроконтроллере PIC16F628A.
РадиоКот >Схемы >Цифровые устройства >Бытовая техника >Часы — будильник на микроконтроллере PIC16F628A.
Вашему вниманию предлагаются часы на МК PIC16F628A с точностью хода 30 секунд в год.
Давайте посмотрим схему, а потом будет длинный расказ о том, что есть в этих часах и как ими пользоваться.
Ну а теперь — обещанный расказ, итак:
-Реализовано 2 режима отображения часы-минуты и минуты-секунды. Переключение кнопкой «Инкремент«.
-При нажатии кнопки «Коррекция» часы переходят в режим коррекции секунд (секунды обнуляются кнопкой «Инкремент«). Следующее нажатие кнопки «Коррекция» переводит часы в режим коррекции минут (минуты увеличиваются кнопкой «Инкремент«). Ещё одно нажатие кнопки «Коррекция» — переход к коррекции часов (часы увеличиваются кнопкой «Инкремент«). Следующее нажатие кнопки «Коррекция» — возврат в режим отображения часов-минут.
-При нажатии кнопки «Будильник» часы переходят в режим отображения уставки будильника. В этом режиме кнопкой «Инкремент» включаем будильник. Включение подтверждается коротким звуковым сигналом и включается мигающая точка. Корректируется уставка будильника после нажатия кнопки «Коррекция«. После первого нажатия — минуты, после второго — часы (увеличиваются кнопкой «Инкремент«). После третьего нажатия — переход в обычный режим.
-В часах реализована функция коррекции посредством подстройки константы (режим подстройки включается при удержании кнопки «Коррекция» дольше 1-й секунды). По умолчанию константа равна 1032 микросекунды в секунду. При отставании часов константу увеличиваем (кнопка «Инкремент«) на величину отставания вычисленное в микросекудах за 1 секунду. Если часы спешат, константу уменьшаем (кнопка «Будильник«) по тому же принципу.
-Возврат в обычный режим осуществляется из режимов коррекции через 3 минуты после последнего нажатия любой из кнопок.
-При срабатывании будильника подаётся звуковой сигнал, который отключается нажатием любой из кнопок или автоматически через примерно 4 минуты (за 4 минуты вполне можно проснуться (Ох не факт, не факт… Прим. Кота.))
-При установке батареек соответственно схеме, часы продолжают идти при отключении от сети. Использованы 3 батарейки А3 для наручных часов.
Прошивку берем тут.
Исходники тут.
Печатная плата для индикатора 5620 тут.(от maverick5334)
Печатная плата для индикатора АЛС324 тут.(от maverick5334)
Все вопросы в Форум.
Как вам эта статья? | Заработало ли это устройство у вас? |
Эти статьи вам тоже могут пригодиться:
www.radiokot.ru
PIC16F628A — Страница 3 — Меандр — занимательная электроника
Однажды я купил недорогой напольный вентилятор, у которого было два больших минуса: 1. Нет удаленного управления. 2. Нет таймера на отключение (а я не хочу, чтобы он гудел всю ночь). Итак, что есть под рукой: 1. Микроконтроллер pic16f628a в soic корпусе; 2. Два реле 5В на несколько ампер; 3. Вентилятор; Неплохо, вроде бы есть где …
Читать далее
Постоянная ссылка на это сообщение: http://meandr.org/archives/14028

Большинство из нас проводят много времени в руках с паяльником. Не секрет, что хорошая пайка компонентов является залогом успешной работы электронного устройства. Качество пайки определяется по характерному блеску. Сероватая и неровная пайка является потенциальной причиной плохой работы схемы. Другая важная задача заключается в том, чтобы произвести пайку не перегревая компонентов. Хорошее качество пайки обеспечивают цифровые …
Читать далее
Постоянная ссылка на это сообщение: http://meandr.org/archives/10413
Вашему вниманию хочу представить таймер на 24 часа. Выполнен таймер на ЖКИ WH-0802 и на МК PIC16F628A. Таймер очень прост в повторении при правильной сборке, не каких настроек не надо. При подаче питании на ЖКИ появится: Кнопкой S1 заходим в меню и выбираем часы, минуты или секунды. Затем кнопками S2 и S3 выставляем нужное время, …
Читать далее
Постоянная ссылка на это сообщение: http://meandr.org/archives/7222
Эта поделка является «побочным продуктом» после разборок с файловой системой FAT16. Все делалось «для себя» и предоставляется «как есть». Основная задача была сделать замену входному звонку на УМС8, поэтому применено батарейное питание. Все разрабатывалось на отладочной плате с более серьезным МК и было успешно перенесено на платформу 16F628A, поэтому схема отдельно не рисовалась, за отсутствием …
Читать далее
Постоянная ссылка на это сообщение: http://meandr.org/archives/6054

Наверное у каждого есть маленькие родственники – дети. Ребёнок рано или поздно начинает осваивать счёт. Обучение наиболее эффективно проводить в форме игры. Для этих целей существуют различные настольные игры, в которых количество ходов определяется с помощью игральных кубиков (костей). Моя маленькая племянница проявляет большой интерес к электронным игрушкам, особенно к тем, у которых есть кнопки …
Читать далее
Постоянная ссылка на это сообщение: http://meandr.org/archives/3422
meandr.org
Показать содержимое по тегу: pic16f628a
Конструкция 2-х канального термометра на PIC16F628A и DS18B20, предназначенного для домашнего применения, заинтересовала, как простых радиолюбителей, так и тех у кого есть автомобиль.
Для применения в автомобиле конструкция термометра претерпела ряд изменений, как схемотехнических, так и программных. Надпись «Дом» была заменена на «Салон», а в нижней строке дисплея теперь выводится напряжение бортовой сети автомобиля. При реализации функции измерения напряжения бортовой сети возникли трудности, связанные с отсутствием у примененного микроконтроллера цифро-аналогового преобразователя (АЦП). Зато в микроконтроллере имеется модуль компараторов, который и был использован для измерения бортового напряжения. С помощью модуля компараторов оказалось возможным измерять напряжение в диапазоне входных напряжений от 5,6В до 16В с дискретностью измерения 0,7В. Это самый оптимальный вариант для решения поставленной задачи без замены микроконтроллера. Зная напряжения бортовой сети можно оценить состояние аккумуляторной батареи. Сразу при включении устройства (с помощью замка зажигания или другим способом) выполняется измерение бортового напряжения. Если величина бортового напряжение оказалась меньше чем 10,5В автомобильный термометр-вольтметр оповестит звуковым сигналом (в течении 1,5с.) и одновременно выведет в нижней строке дисплея сообщение «Аккум — разряжен» примерно на 3…4с. Далее в нижней строке будет отображаться текущее значение бортового напряжения. Если величина напряжения будет меньше 5,6В на индикаторе будет отображаться сообщение «Напряжение <6B», а если больше 16В — «Напряжение >16B».
Описание схемы:
В качестве управляющего контроллера D1 используется микроконтроллер фирмы Microchip PIC16F628A, работающий в данном устройстве от внутреннего тактового генератора (4МГц).
Вывод информации о величине измеренных температур и напряжении бортовой сети автомобиля микроконтроллер осуществляет на LCD индикатор E1 от мобильного телефона Nokia3310. Передача данной информации осуществляется по последовательному интерфейсному каналу типа SPI. Обмен информации между микроконтроллером и дисплеем одностороний, данные передаются только от микроконтроллера к индикатору.
Резисторы R11…R15, совмесно с входными встроенными защитными цепями индикатора, обеспечивают согласование уровней сигналов управления, поступающих на индикатор.
Питание индикатора осуществляется от параметрического стабилизатора напряжения, обеспечивающего значение напряжения питания индикатора около +3,3В. Стабилизатор напряжения выполнен на стабилитроне V5, резисторе R10 и конденсаторе фильтра С8. Питание на стабилизатор поступает от источника стабилизированного напряжения +5В. Измерение температур осуществляется цифровыми датчиками температуры U1 и U2 фирмы Maxim DS18B20. Эти датчики имеют заводскую калибровку и позволяют измерять температуру окружающей среды от -55 до +125°С, причем в интервале -10…+85°С производитель гарантирует абсолютную погрешность измерения не хуже ±0,5°С. На границах диапазона измеряемых температур точность ухудшается до ±2°С.Индикация показаний термометра во всем диапазоне измеряемых температур выполняется с дискретностью ±0.1°C.
Обмен данными и командами между микроконтроллером D1 и датчиками температуры U1 и U2 осуществляется с помощью последовательного интерфейсного канала 1-Wire. Для упрощения программного обеспечения датчики подключены на отдельные входы микроконтроллера. Протокол обмена при этом по шине 1-Wire упрощается : не требуется адресация датчиков и их предварительная инициализация.
Резисторы R4, R6 являются нагрузочными резистороми для линий интерфейса 1-Wire. Резисторы R5, R7 выполняют функцию защиты внутреннего источника питания термометра при коротком замыкании цепей питаний датчиков.
Разъем Х3 используется для внутрисхемного программирования микроконтроллера D1. Его необходимо устанавливать в случае использования микроконтроллера в SMD исполнении или когда микроконтроллер в DIP корпусе непосредственно впаивается в плату, а не устанавливается в панельку. Разъем Х3 обеспечивает непосредственное подключение программатора PICKIT2 к термометру.
Пъезоизлучатель SP1 обеспечивает вывод звуковых сигналов, оповещающих о разрядке аккумуляторной батареи.
Внутренняя схема питания автомобильного термометра реализована следующим образом:- с разъема Х4 бортовое напряжение поступает через диод V1 и резистор R3 на микросхему интегрального стабилизатора напряжения U3 типа 7805.
Данная микросхема из напряжения бортовой сети формирует стабилизированное напряжение +5В для питания микроконтроллера, параметрического стабилизатора индикатора и цифровых датчиков температуры;
— Диод V1 препятствует прохождению импульсных помех отрицательного напряжения в цепи питания термометра, защищает устройство при неправильной подачи питания на устройство (переполюсовка питания), а также совместно с конденсатором С1 препятствует перезапуску микроконтроллера устройства при провалах напряжения бортовой сети при включении стартера автомобиля или других энергоемких потребителей электроэнергии автомобиля; — Резистор R3 совместно с ограничительным диодом (супрессором) V2 защищает внутренние цепи термометра от перенапряжений, возникающих от влияния импульсных помех.
Узел формирования аналогового сигнала, необходимого для измерения напряжения бортовой сети, собран на резистивном делителе напряжения R1,R2, конденсаторе C2 помехоподовляющего фильтра (R1, C2), и диодах V3, V4, защищающих совместно с резистором R1 аналоговый вход микроконтроллера от перенапряжений.
Желательно для повышения точности измерения напряжения резисторы R1 и R2 использовать с 1% точностью, но так, как дискретность измерения очень большая (0,7В) — это условие не обязательно.
Мощность резистора R3 должна быть не менее 0,5Вт, а мощность стальных резисторов может быть 0,125Вт для выводных и 0,1Вт для SMD резисторов
Опытный образец автомобильного термометра был собран на односторонней печатной плате:
Внимание печатная плата и монтаж опытного образца выполнены по схеме — Shema_avto_termo_3310_pic16f628.spl, файл которой представлен ниже. Отличие от представленной выше схемы только в оформлении и в позиционных обозначениях элементов.
Скачать архив всего проэкта: 93.78 KB
shemu.ru
USB программатор PIC своими руками.
Собираем программатор для микроконтроллеров PIC и микросхем EEPROM
Какие первые шаги должен сделать радиолюбитель, решивший собрать схему на микроконтроллере? Естественно, необходима управляющая программа – «прошивка», а также программатор.
И если с первым пунктом нет проблем – готовую «прошивку» обычно выкладывают авторы схем, то вот с программатором дела обстоят сложнее.
Цена готовых 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 используется исключительно для работы с микросхемами EEPROM-памяти 24LС (24C04, 24WC08 и аналоги). По нему передаются данные, поэтому на схеме панели программирования он помечен словом «Data». При программировании микроконтроллеров вывод AUX обычно не используется, хотя он и нужен при программировании МК в режиме LVP.
Также добавлен «подтягивающий» резистор на 2 кОм, который включается между выводом SDA и Vcc микросхем памяти.
Все эти доработки я уже делал на печатной плате, после сборки PICkit-2 Lite по исходной схеме автора.
Микросхемы памяти 24Cxx (24C08 и др.) широко используются в бытовой радиоаппаратуре, и их иногда приходится прошивать, например, при ремонте кинескопных телевизоров. В них память 24Cxx применяется для хранения настроек.
В ЖК-телевизорах применяется уже другой тип памяти (Flash-память). О том, как прошить память ЖК-телевизора я уже рассказывал. Кому интересно, загляните.
В связи с необходимостью работы с микросхемами серии 24Cxx мне и пришлось «допиливать» программатор. Травить новую печатную плату я не стал, просто добавил необходимые элементы на печатной плате. Вот что получилось.
Ядром устройства является микроконтроллер PIC18F2550-I/SP.
Это единственная микросхема в устройстве. МК PIC18F2550 необходимо «прошить». Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема «курицы и яйца». Как её решил я, расскажу чуть позднее.
Список деталей для сборки программатора. В мобильной версии потяните таблицу влево (свайп влево-вправо), чтобы увидеть все её столбцы.
Название | Обозначение | Номинал/Параметры | Марка или тип элемента |
Для основной части программатора | |||
Микроконтроллер | DD1 | 8-ми битный микроконтроллер | PIC18F2550-I/SP |
Биполярные транзисторы | VT1, VT2, VT3 | КТ3102 | |
VT4 | КТ361 | ||
Диод | VD1 | КД522, 1N4148 | |
Диод Шоттки | VD2 | 1N5817 | |
Светодиоды | HL1, HL2 | любой на 3 вольта, красного и зелёного цвета свечения | |
Резисторы | R1, R2 | 300 Ом | МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги |
R3 | 22 кОм | ||
R4 | 1 кОм | ||
R5, R6, R12 | 10 кОм | ||
R7, R8, R14 | 100 Ом | ||
R9, R10, R15, R16 | 4,7 кОм | ||
R11 | 2,7 кОм | ||
R13 | 100 кОм | ||
Конденсаторы | C2 | 0,1 мк | К10-17 (керамические), импортные аналоги |
C3 | 0,47 мк | ||
Электролитические конденсаторы | C1 | 100 мкф * 6,3 в | К50-6, импортные аналоги |
C4 | 47 мкф * 16 в | ||
Катушка индуктивности (дроссель) | L1 | 680 мкГн | унифицированный типа EC24, CECL или самодельный |
Кварцевый резонатор | ZQ1 | 20 МГц | |
USB-розетка | XS1 | типа USB-BF | |
Перемычка | XT1 | любая типа «джампер» | |
Для панели установки микроконтроллеров (МК) | |||
ZIF-панель | XS1 | любая 40-ка контактная ZIF-панель | |
Резисторы | R1 | 2 кОм | МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги |
R2, R3, R4, R5, R6 | 10 кОм |
Теперь немного о деталях и их назначении.
Зелёный светодиод HL1 светится, когда на программатор подано питание, а красный светодиод HL2 излучает в момент передачи данных между компьютером и программатором.
Для придания устройству универсальности и надёжности используется USB-розетка XS1 типа «B» (квадратная). В компьютере же используется USB-розетка типа «А». Поэтому перепутать гнёзда соединительного кабеля невозможно. Также такое решение способствует надёжности устройства. Если кабель придёт в негодность, то его легко заменить новым не прибегая к пайке и монтажным работам.
В качестве дросселя 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.
На схеме «Панель установки микроконтроллера (МК)» указано, как необходимо устанавливать микроконтроллеры с разными корпусами в панель. При установке МК следует обращать внимание на то, чтобы микроконтроллер в панели позиционируется так, чтобы ключ на микросхеме был со стороны фиксирующего рычага ZIF-панели.
Вот так нужно устанавливать 18-ти выводные микроконтроллеры (PIC16F84A, PIC16F628A и др.).
А вот так 8-ми выводные микроконтроллеры (PIC12F675, PIC12F629 и др.).
Если есть нужда прошить микроконтроллер в корпусе для поверхностного монтажа (SOIC), то можно воспользоваться переходником или просто подпаять к микроконтроллеру 5 выводов, которые обычно требуются для программирования (Vpp, Clock, Data, Vcc, GND).
Готовый рисунок печатной платы со всеми изменениями вы найдёте по ссылке в конце статьи. Открыв файл в программе Sprint Layout 5.0 можно с помощью режима «Печать» не только распечатать слой с рисунком печатных проводников, но и просмотреть позиционирование элементов на печатной плате. Обратите внимание на изолированную перемычку, которая связывает 6 вывод DD1 и 21 вывод ZIF-панели. Печатать рисунок платы необходимо в зеркальном отображении.
Изготовить печатную плату можно методом ЛУТ, а также маркером для печатных плат, с помощью цапонлака (так делал я) или «карандашным» методом.
Вот рисунок позиционирования элементов на печатной плате (кликабельно).
При монтаже первым делом необходимо запаять перемычки из медного лужёного провода, затем установить низкопрофильные элементы (резисторы, конденсаторы, кварц, штыревой разъём ISCP), затем транзисторы и запрограммированный МК. Последним шагом будет установка ZIF-панели, USB-розетки и запайка провода в изоляции (перемычки).
«Прошивка» микроконтроллера PIC18F2550.
Файл «прошивки» — PK2V023200.hex необходимо записать в память МК PIC18F2550I-SP при помощи любого программатора, который поддерживает PIC микроконтроллеры (например, Extra-PIC). Я воспользовался JDM Programmator’ом JONIC PROG и программой WinPic800.
Ссылка на файл PK2V023200.hex, запакованный в архив rar, дана в конце статьи.
Залить «прошивку» в МК PIC18F2550 можно и с помощью всё того же фирменного программатора PICkit2 или его новой версии PICkit3. Естественно, сделать это можно и самодельным PICkit-2 Lite, если кто-либо из друзей успел собрать его раньше вас:).
Также стоит знать, что «прошивка» микроконтроллера PIC18F2550-I/SP (файл PK2V023200.hex) записывается при установке программы PICkit 2 Programmer в папку вместе с файлами самой программы. Примерный путь расположения файла PK2V023200.hex — «C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex». У тех, у кого на ПК установлена 32-битная версия Windows, путь расположения будет другим: «C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex».
Ну, а если разрешить проблему «курицы и яйца» не удалось предложенными способами, то можно купить уже готовый программатор PICkit3 на сайте AliExpress. Там он стоит гораздо дешевле. О том, как покупать детали и электронные наборы на AliExpress я писал тут.
Обновление «прошивки» программатора.
Прогресс не стоит на месте и время от времени компания Microchip выпускает обновления для своего ПО, в том числе и для программатора PICkit2, PICkit3. Естественно, и мы можем обновить управляющую программу своего самодельного PICkit-2 Lite. Для этого понадобится программа PICkit2 Programmer. Что это такое и как пользоваться — чуть позднее. А пока пару слов о том, что нужно сделать, чтобы обновить «прошивку».
Для обновления ПО программатора необходимо замкнуть перемычку XT1 на программаторе, когда он отключен от компьютера. Затем подключить программатор к ПК и запустить PICkit2 Programmer. При замкнутой XT1 активируется режим bootloader для загрузки новой версии прошивки. Затем в PICkit2 Programmer через меню «Tools» — «Download PICkit 2 Operation System» открываем заранее подготовленный hex-файл обновлённой прошивки. Далее произойдёт процесс обновления ПО программатора.
После обновления нужно отключить программатор от ПК и снять перемычку XT1. В обычном режиме перемычка разомкнута. Узнать версию ПО программатора можно через меню «Help» — «About» в программе PICkit2 Programmer.
Это всё по техническим моментам. А теперь о софте.
Работа с программатором. Программа PICkit2 Programmer.
Для работы с USB-программатором нам потребуется установить на компьютер программу PICkit2 Programmer. Это специальная программа обладает простым интерфейсом, легко устанавливается и не требует особой настройки. Стоит отметить, что работать с программатором можно и с помощью среды разработки MPLAB IDE, но для того, чтобы прошить/стереть/считать МК достаточно простой программы – PICkit2 Programmer. Рекомендую.
После установки программы PICkit2 Programmer подключаем к компьютеру собранный USB-программатор. При этом засветится зелёный светодиод («питание»), а операционная система опознает устройство как «PICkit2 Microcontroller Programmer» и установит драйвера.
Запускаем программу PICkit2 Programmer. В окне программы должна отобразиться надпись.
Если программатор не подключен, то в окне программы отобразится страшная надпись и краткие инструкции «Что делать?» на английском.
Если же программатор подключить к компьютеру с установленным МК, то программа при запуске определить его и сообщит нам об этом в окне PICkit2 Programmer.
Поздравляю! Первый шаг сделан. А о том, как пользоваться программой PICkit2 Programmer, я рассказал в отдельной статье. Следующий шаг.
Необходимые файлы:
Главная » Микроконтроллеры » Текущая страница
Также Вам будет интересно узнать:
go-radio.ru
ЧАСТОТОМЕР НА PIC16F628A
Ещё несколько лет назад измерители частоты делали на отдельных микросхемах с КМОП логикой, но так как вы уже стали PIC-программистами, используем для него микроконтроллер. Предлагаемый частотомер очень прост и вместе с тем показывает надёжную работу схемы. Здесь мы будем использовать 7-сегментный светодиодный дисплей, не ЖК, на котором будет простой частотомер до 1 МГц, который использует 6-разрядов индикатора. Если нужны более высокие частоты измерений — смотрите эти схемы с делителями на входе.
Принципиальная схема частотомера
Микроконтроллер PIC16F628A служит для того, чтобы выполнить всю работу без каких-либо дополнительных микросхем. На 16F628A 16 I/O выводов, два из которых используются для кварцевого генератора, один предназначен для ввода сигнала, а другой может быть использован только для ввода, что дает нам только 12 полезных I/O контактов. Решение — поставить транзистор, который открывается при выключении всех других цифр.
Светодиодный 7-сегментный дисплей, используемый здесь, с общим катодом типа BC56-12SRWA. Когда все сигналы находятся на высоком уровне, транзистор Q1 открывается и переключается на первой цифре. Ток для каждого сегмента составляет около 7 мА.
Вся схема частотомера потребляет тока порядка 30 мА в среднем. Микроконтроллер использует свой внутренний 4 MHz генератор для тактирования CPU. А внешний кварцевый генератор с частотой 32768 Hz нужен для установки 1 второго временного интервала. Tmr0 используется для подсчета входного сигнала на выводе RA4.
В качестве входного сигнала нужно будет 5 вольт прямоугольного вида. Сам частотомер может измерять до 1 мегагерца, что более чем достаточно для любительских проектов. Это сделано для удобства, так как счетчик может достигать показаний 999999 Гц — и ничего переключать не нужно. Меряем хоть 11 герц, хоть 139,622 килогерц.
В общем если у кого есть желание повторить этот проект самим, вот файлы. Плата в архиве немного отличается от той, что на фотографии, были позже сделаны некоторые оптимизации. А программный код открыт — можно его при умении оптимизировать.
el-shema.ru
Простой регулятор мощности на pic16F628A
Внимание: данный регулятор был переработан, обновленная схема и прошивка по этой ссылке.
Основное назначение — регулятор температуры для паяльника
Регуляция мощности не фазовая, а широтно-импульсная: один цикл в 10 секунд, 20 ступеней регулировки. Удерживание в нажатом состоянии любой кнопки при включении включает полную мощность — режим форсированного разогрева. Через 5 минут или при нажатии на любую кнопку загружается из памяти последний запомненный уровень мощности. Нажатие двух кнопок одновременно — запомнить текущий уровень мощности.

Контроллер был подселён в корпус к паяльной станции. Теперь можно паять сразу обеими руками.

Розетка для подключения нагрузки выходит на заднюю стенку.
Пока принципиальная схема и прошивка. Более подробное описание добавлю позже. Светодиоды HL1-HL10 — индикатор уровня мощности. HL11 — индикатор включения нагрузки, светится вместе с подачей напряжения на нагрузку.
Принципиальная схема

- DD1 — pic16F628A
- DA2 — MOC3061
- VS2 — MAC15N
- C8 — 1n-10n 600V
- R27 — 39 Ohm 0.5W
- HL1-HL4 — зеленые
- HL5-HL7 — желтые
- HL8-HL10 — красные
- HL11 — зеленый
Update 18.01.2011: чуть поправил код, новая прошивка v2.00.
Скрин с протеуса: полет нормальный!

Для надежности и в железе проверяем: тоже работает.

Прошивка
Версия 1.00 от 17.01.2010: (доступно зарегистрированным пользователям)
Версия 2.00 от 18.01.2011: (доступно зарегистрированным пользователям)
www.linker.ru