На pic микроконтроллере схема: Проекты на PIC

Содержание

Конструкции на микроконтроллерах



Назначение этого термометра всего лишь показывать температуру. Небольшие отлиия от других подобных схем только в формате вывода температуры на LED индикатор, который представляет из себя 4-х разрядный сверхяркий  CA04-41SRWA. В качестве датчика температуры применён DS18B20 в обычном включении с отдельным проводом питания. Схема расчитана на питание от батареек…

    Генератор с регулируемой частотой и скважностью
Генератор позволяет генерировать прямоугольный импульсный сигнал в широком диапазоне частот от 0,01 Гц до 60 КГц. Коэффициент заполнения импульсом (скважность) регулируется от 3 до 97 %. Применить данный регулируемый генератор импульсов возможно при самых различных видах работ по настройке узлов и схем электронной аппаратуры.
       Generator with variable frequency and pulse ratio
Generator allows to generate square wave signal with frequency varying from 0,01 Hz to 60 kHz. Pulse ratio adjustments go from  3 to 97 %.  This generator can be used differently for adjustments of units and  electronics circuits, to control circuits of switched power supplies, to estimate settings of low-frequency amplifier when square wave signal is passing, it is used for digital circuits.  
Наличие «железного» COM порта например в ноутбуке в настоящее время большая редкость. Данная статья о том, как изготовить самодельный переходник USB — COM из легкодоступных комплектующих, найти которые можно буквально на каждом углу,.В  общем салон сотовой связи как правило такие переходники продаёт в ассортименте…
.Хорошо известен и широко распространён сегодня датчик температуры DS18B20. Дёшев, легко купить, малогабаритный, надёжный. Может работать в сетях, когда на одном двухпроводном кабеле подключено несколько датчиков. Очень удобен, но требует для работы наличия микроконтроллера. А там где микроконтроллер, там и своя электронная схема и программа. При использовании переходника USB_USART схема выходит достаточно простой 
. Этот программатор  объединяет в одном устройстве несколько вариантов программирования. Предназначен для программирования PIC — микроконтроллеров и микросхем памяти типа 24Cxxx.
Поддержаны протоколы связи с компьютером через USB и COM порт.
Совместно с программатором возможно использовать такие программы, как IC-Prog и PonyProg — схема содержит JDM программатор.

Часы и таймеры повышенной точности на микроконтроллерах
Схема таймера под индикаторы с общим катодом


Выкладываю схему и прошивку под индикаторы с общим катодом. Не всегда есть возможность приобрести нужные индикаторы. Эта схема таймера — поможет в этом случае. В схеме есть отличия от предыдущих схем с индикаторами с общим анодом, которые необходимо учитывать. Собран таймер на микроконтроллере PIC 16F628A.

Часы — таймер для аквариума на микроконтроллере PIC16F628A  (timer_4c)


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

   Таймер сделан на основе программы, в которой реализованы кратковременные подсказки названий режимов индикации. Описание работы программы соответствует программе часов, с питанием от батареек.

Будильник — часы на микроконтроллере PIC16F628A с внешним питанием (clock_4c_02)


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

 При использовании маломощного сверхяркого индикатора (такого как CA04-41SRWA) и обычных пальчиковых или мизинчиковых батареек необходимости отключать индикатор во время отсутствия сетевого напряжения нет. Можно использовать любую из прошивок для clock_4c.

Часы — будильник на микроконтроллере PIC16F628A с питанием от батареек (clock_4c)


Очень простая схема часов, рассчитанная на питание от батареи, напряжением 4,5 В.
Несмотря на простоту схемы, в программе реализовано достаточно много функций:
  — отсчёт часов(0…23 с гашением незначащего нуля), минут, секунд, даты, месяца, дня недели, года

  — определение количества дней в феврале для високосного года
  — переход на летнее/зимнее время в последнее воскресенье марта и октября
  — коррекция хода часов с точностью 1 микросекунда в секунду (30 секунд в год)
  — регулируемая яркость индикаторов
  — двухтональный сигнал сирены будильника
  — звуковое подтверждение нажатия кнопок
  — 9 режимов индикации с подсказками названий режимов

Часы — таймер на микроконтроллере PIC16F628A с защитой от перебоев в питании (timer_a)


Одна из моих первых разработок — таймер для управления освещением аквариума. Выбор комплектующих здесь не очень удачен (ставил то что было под рукой). Тем не менее и схема таймера и программа проверены неоднократно, и не только мной. Это устройство в данное время безотказно включает и выключает свет у меня в аквариуме.

Обновлённые прошивки

Прошивка для Clock_4c_02 с отключенным переходом на летнее/зимнее время (16 января 2012 года)
HEX:   Clock_4c_02_noplzv 
Печатные платы для конструкций часов, которые здесь описаны. Clock4c_Alex.rar                        — печатка для часов с контролем внешнего питания под смд детали и
 так же фото готового изделия и прошивки,а именно стандартная прошивка в которой отключен переход лето зима,а так же прошивку под двухточечный часовой дисплей са56-21,в обычном режиме мигают обе точки,при включеном будильнике верхняя горит постоянно,а нижняя мигает. Timer4c_plata_SK.rar                — Печатная плата для таймера Timer_4c от Сергея Кондратович из Луганска (maverick5334)
Timer4c_plata_SK1.rar              — Доработано 4.06.2010 plat_timer_dsorokin.rar               — Вариант платы для таймера с кратковременными подсказками названий режимов.Файл в формате layout 5 с использованием SMD компонентов и индикатора BQ-M326RD (от dsorokin) Clock_4C_02a_control.rar         — Плата для часов с внешним питанием и индикаторами Kingbright SA08-11SRWA в lay 5.0 формате(От КД213) Clock_4c_bat_Vadan_plata.rar  — Плата для батарейного варианта Clock_4c. (формат layout5) Clock_a_Vadan_plata.rar           — Ещё одна плата для часов — тех что на «Радиокот». (формат layout5)

ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ

   Как то попался мне на глаза телефон Nokia 3310 — внук бегал с ним игрался, естественно давно не рабочий. И тут вспомнил, что где-то видел схемы на дисплей от него. Погуглил, выдало несколько ссылочек, на устройства, мне понравился градусник, порывшись в коробочках нашел нашел термодатчик DS18B20, ну и решил собрать по этой схеме, тем более деталей в ней минимум. ЖК дисплей поддерживает два варианта работы: нормальный (на светлом фоне) и противоположный (на темном фоне). Менять режимы можно перемычкой JP1. Ниже смотрим саму схему термометра на микроконтроллере PIC12F629:

   Технические параметры устройства: 

 * Voltage ………………….. 3 — 3.3 В 
 * Мин. шаг темп…………. 0,1 ‘ C 
 * Погрешность ………………. +/- 0,5 ‘ C Темп. 
 * Обновляется каждые …. 1,2 sec. 

 * Amperage …………….. 0,2 mA — 0,8 mA 
 * Диапазон измеряемых температур … от -55 до 125°C

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

   Протравил плату, в архиве есть рисунок для технологии ЛУТ. Прошил микроконтроллер и просто спаял. Прошивку для термометра можно скачать тут. Сначала датчик подключил через разъем, но он иногда отключался, поэтому его просто припаял.

   Самое трудное было припаять проводки к дисплею, на это ушло часа 2 сначала использовал компьютерный шлейф 40 пиновый — очень тяжело и не удобно, так что отказался от него и взял 80 пиновый шлейф, распустил, и все удачно получилось за 5 минут. Подал питание и… термометр заработал.

   Дальше осталось придумать, как все это облагородить. Порывшись по полочкам нашел вот такой пластиковый коробок 70х40х16.

   После небольших манипуляций с дрелью и напильником получилось такое окошко.

   Осталось закрепить там родное стекло, даже не стекло, а пластик, но со свойством увеличения. Далее силиконовым пистолетом делаем точечную сварку — тут главное не перегреть дисплей. Так как аккумулятора на 3.6 вольта не было, поставил пока три слабенькие батарейки, они тоже дают 3.3 вольта. Со временем поставлю аккумулятор.

   А вот весь термометр на микроконтроллере в сборе:

   Работает без глюков и меряет температуру с точностью, не хуже чем у промышленных аналогов. Поэтому данную схему можно смело рекомендовать для повторения. Автор статьи: Ear.

Originally posted 2019-02-03 08:24:43. Republished by Blog Post Promoter

Логический элемент И на микроконтроллере PIC16F628A

Техническое задание.

Создать аналог логического элемента «И» на микроконтроллере PIC16F628A.

Схема логического элемента.

Схема логического элемента представлена на рисунке 1. Там же изображена и его таблица истинности.

 

Рисунок 1. Схема логического элемента «И» и его таблица истинности.

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

Эквивалентная схема на PIC-контроллере.

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

Рисунок 2. Схема аналога логического элемента «И» на микроконтроллере PIC16F628A.

Здесь, от источника сигнала D8(A) мы сможем с помощью контактов 1 и 2 переключателя DSW1 раздельно подавать сигналы на входы контроллера RA0 и RA1. Микроконтроллер будет анализировать сигналы на входах, и выдавать соответствующий их комбинациям сигнал на выход RB0. Наличие сигнала логической единицы на выходе мы будем определять по свечению светодиода D1.

Алгоритм работы элемента.

Алгоритм работы контроллера в нашей схеме представлен на рисунке 3. Исходя из таблицы истинности элемента (рис. 1) мы видим, что логическая единица на выходе элемента появляется только в одном из возможных случаев — когда на обоих входах присутствует логическая единица. Поэтому, при проверке состояния первого входа, если на нём ноль, проверка второго входа уже не требуется, и программа зацикливается на проверке первого входа. В конце подпрограмм проверки входа в каждом цикле выход сбрасывается в ноль, на тот случай, если подпрограмме проверке входа (PPROG1 или PPROG2) предшествовала подпрограмма установки выхода в единицу (PPROG3).

Рисунок 3. Алгоритм программы работы логического элемента «И».

Программный код.

PPROG1      BTFSC      PORTA,0     ; Если бит 0 регистра PORTA =0,

                                                    ; пропускается следующая операция

                  GOTO       PPROG2

                  BCF           PORTB,0     ; Сбросить бит 0 регистра PORTB

                                                     ; в 0 (погасить диод).

                  GOTO       PPROG1      ; возвращаемся к проверке

                                                     ; вывода RA0. (если этот возврат

                                                     ; не делать, по какой то причине

                                                     ; на выводе RB0 будет периодически

                                                     ; устанавливаться логическая

                                                     ; единица, диод будет моргать)

PPROG2      BTFSC       PORTA,1     ; Если бит 1 регистра PORTA =0,

                                                     ; пропускается следующая операция

                  GOTO       PPROG3

                  BCF           PORTB,0      ; Сбросить бит 0 регистра PORTB

                                                      ; в 0 (погасить диод).

                  GOTO       PPROG1       ; возвращаемся к проверке

                                                      ; вывода RA0

 

PPROG3       BSF           PORTB,0      ; Установить бит 0 регистра

                                                       ; PORTB в 1 (зажечь диод).

                  GOTO       PPROG1        ; Переходим к началу проверки

                                                       ; состояния входов и установки

                                                       ; соответствующего уровня выхода.

Оригинальный файл с программным кодом качайте по этой ссылке.

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

Программный код был успешно скомпилирован. Его работа проверена в симуляторе Протеус.

Файл прошивки лежит здесь.

Архив файлов, использоывнных в примере лежит тут.

При подготовке материала была оказана информационная поддержка некоторыми участниками Форума про радио.

Обсудить данный пример можно там же в теме Ликбез по программированию PIC

Схемы на микроконтроллерах pic. Журнал практической электроники Датагор (Datagor Practical Electronics Magazine)

Представляю вторую версию двухканального циклического таймера. Были добавлены новые функции и изменилась принципиальная схема. Циклический таймер позволяет включать и выключать нагрузку, а также выдерживать паузу на заданные интервалы времени в циклическом режиме. Каждый из выходов таймера имеет 2 режима работы — «Логический» и «ШИМ». Если выбран логический режим устройство позволяет управлять с помощью контактов реле освещением, отоплением, вентиляцией и другими электроприборами. Нагрузкой могут выступать любые электрические приборы мощность нагрузки которых не превышает максимального тока реле. Тип выхода «ШИМ» позволяет например подключить через силовой транзистор двигатель постоянного тока, при этом есть возможность установить скважность ШИМ, чтобы двигатель вращался с определенной скоростью.

Часы собранные на микроконтроллере ATtiny2313 и светодиодной матрице показывают время в 6-ти различных режимах.

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

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

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

На этот раз я представлю простой малогабаритный частотомер с диапазоном измерения от 1 до 500 МГц и разрешением 100 Гц.

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

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

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

В основе прибора микроконтроллер ATmega8, который тактируется от кварцевого резонатора частотой 8МГц. Датчик температуры – аналоговый LM35. Семисегментный индикатор с общим анодом.

Эта декоративная звезда состоит из 50 специальных светодиодов RGB, которые контролируются ATtiny44A . Все светодиоды непрерывно изменяют цвет и яркость в случайном порядке. Также есть несколько разновидностей эффектов, которые также активируются случайно. Три потенциометра могут изменять интенсивность основных цветов. Положение потенциометра индицируется светодиодами при нажатии кнопки, а изменение цвета и скорость эффекта можно переключать в три этапа. Этот проект был полностью построен на компонентах SMD из-за специальной формы печатной платы. Несмотря на простую схему, структура платы довольно сложная и вряд ли подойдет для новичков.

В этой статье описывается универсальный трехфазный преобразователь частоты на микроконтроллере(МК) ATmega 88/168/328P . ATmega берет на себя полный контроль над элементами управления, ЖК-дисплеем и генерацией трех фаз. Предполагалось, что проект будет работать на готовых платах, таких как Arduino 2009 или Uno, но это не было реализовано. В отличие от других решений, синусоида не вычисляется здесь, а выводится из таблицы. Это экономит ресурсы, объем памяти и позволяет МК обрабатывать и отслеживать все элементы управления. Расчеты с плавающей точкой в программе не производятся.

Частота и амплитуда выходных сигналов настраиваются с помощью 3 кнопок и могут быть сохранены в EEPROM памяти МК. Аналогичным образом обеспечивается внешнее управление через 2 аналоговых входа. Направление вращения двигателя определяется перемычкой или переключателем.

Регулируемая характеристика V/f позволяет адаптироваться ко многим моторам и другим потребителям. Также был задействован интегрированный ПИД-регулятор для аналоговых входов, параметры ПИД-регулятора могут быть сохранены в EEPROM. Время паузы между переключениями ключей (Dead-Time) можно изменить и сохранить.

Этот частотомер с AVR микроконтроллером позволяет измерять частоту от 0,45 Гц до 10 МГц и период от 0,1 до 2,2 мкс в 7-ми автоматически выбранных диапазонах. Данные отображаются на семиразрядном светодиодном дисплее. В основе проекта микроконтроллер Atmel AVR ATmega88/88A/88P/88PA, программу для загрузки вы можете найти ниже. Настройка битов конфигурации приведена на рисунке 2 .

Принцип измерения отличается от предыдущих двух частотомеров. Простой способ подсчета импульсов через 1 секунду, используемый в двух предыдущих частотомерах(частотомер I, частотомер II), не позволяет измерять доли Герц. Вот почему я выбрал другой принцип измерения для своего нового частотомера III. Этот метод намного сложнее, но позволяет измерять частоту с разрешением до 0,000 001 Гц.

Это очень простой частотомер на микроконтроллере AVR. Он позволяет измерять частоты до 10 МГц в 2-х автоматически выбранных диапазонах. Он основан на предыдущем проекте частотомера I , но имеет 6 разрядов индикатора вместо 4-х. Нижний диапазон измерения имеет разрешение 1 Гц и работает до 1 МГц. Более высокий диапазон имеет разрешение 10 Гц и работает до 10 МГц. Для отображения измеренной частоты используется 6-разрядный светодиодный дисплей. Прибор построен на основе микроконтроллера Atmel AVR ATtiny2313A или ATTiny2313 . Настройку битов конфигурации вы можете найти ниже.

Микроконтроллер тактируется от кварцевого резонатора частотой 20 МГц (максимально допустимая тактовая частота). Точность измерения определяется точностью этого кристалла, а также конденсаторов C1 и C2. Минимальная длина полупериода измеряемого сигнала должна быть больше периода частоты кварцевого генератора (ограничение архитектуры AVR). Таким образом, при 50% рабочем цикле можно измерять частоты до 10 МГц.

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

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

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

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

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

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

Ознакомимся с более распространенным и основательно устоявшимся в современном мире техники контроллером, таким как AVR. В его состав входят высокоскоростной RISC-микропроцессор, 2 вида затратной по энергии памяти (Flash-кэш проектов и кэш сведений EEPROM), эксплуатационная кэш по типу RAM, порты ввода/вывода и разнообразные удаленные сопряженные структуры.

  • рабочая температура составляет от -55 до +125 градусов Цельсия;
  • температура хранения составляет от -60 до +150 градусов;
  • наибольшая напряженность на выводе RESET, в соответствии GND: максимально 13 В;
  • максимальное напряжение питания: 6.0 В;
  • наибольший электроток линии ввода/вывода: 40 мА;
  • максимальный ток по линии питания VCC и GND: 200 мА.

Возможности микроконтроллера AVR

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

Обещанное количество оборотов переписи кэша у микроконтроллеров AVR второго поколения равен 11 тысячам оборотов, когда стандартное количество оборотов равно 100 тысячам.

Конфигурация черт строения вводных и выводных портов у AVR заключается в следующем: целью физиологического выхода имеется три бита регулирования, а никак не два, как у известных разрядных контроллеров (Intel, Microchip, Motorola и т. д.). Это свойство позволяет исключить потребность обладать дубликатом компонентов порта в памяти с целью защиты, а также ускоряет энергоэффективность микроконтроллера в комплексе с наружными приборами, а именно, при сопутствующих электрических неполадках снаружи.

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

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

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

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

«Направлятор»

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

Построение схемы осуществляется на основе микроконтроллера AVR с тактированием от наружного кварцевого резонатора на 11,0598 МГц. За работу с GPS отвечает NEO-6M от U-blox. Это, хоть и устаревший, но широко известный и бюджетный модуль с довольно четкой способностью к установлению местонахождения. Сведения фокусируются на экране от Nokia 5670. Также в модели присутствуют измеритель магнитных волн HMC5883L и акселерометр ADXL335.


Беспроводная система оповещения с датчиком движения

Полезное устройство, включающее в себя прибор перемещения и способность отдавать, согласно радиоканалу, знак о его срабатывании. Конструкция является подвижной и заряжается с помощью аккумулятора или батареек. Для его изготовления необходимо иметь несколько радиомодулей HC-12, а также датчик движения hc-SR501.

Прибор перемещения HC-SR501 функционирует при напряжении питания от 4,5 до 20 вольт. И для оптимальной работы от LI-Ion аккумулятора следует обогнуть предохранительный светодиод на входе питания и сомкнуть доступ и вывод линейного стабилизатора 7133 (2-я и 3-я ножки). По окончанию проведения этих процедур прибор приступает к постоянной работе при напряжении от 3 до 6 вольт.


Внимание: при работе в комплексе с радиомодулем HC-12 датчик временами ложно срабатывал. Во избежание этого необходимо снизить мощность передатчика в 2 раза (команда AT+P4). Датчик работает на масле, и одного заряженного аккумулятора, емкостью 700мА/ч, хватит свыше, чем на год.

Минитерминал

Приспособление проявило себя замечательным ассистентом. Плата с микроконтроллером AVR нужна, как фундамент для изготовления аппарата. Из-за того, что экран объединён с контроллером непосредственно, то питание должно быть не более 3,3 вольт, так как при более высоких числах могут возникнуть неполадки в устройстве.


Вам следует взять модуль преобразователя на LM2577, а основой может стать Li-Ion батарея емкостью 2500мА/ч. Выйдет дельная комплектация, отдающая постоянно 3,3 вольта во всём трудовом интервале напряжений. С целью зарядки применяйте модуль на микросхеме TP4056, который считается бюджетным и достаточно качественным. Для того чтобы иметь возможность подсоединить минитерминал к 5-ти вольтовым механизмам без опаски сжечь экран, необходимо использовать порты UART.

Основные аспекты программирования микроконтроллера AVR

Кодирование микроконтоллеров зачастую производят в стиле ассемблера или СИ, однако, можно пользоваться и другими языками Форта или Бейсика. Таким образом, чтобы по факту начать исследование по программированию контроллера, следует быть оснащенным следующим материальным набором, включающим в себя: микроконтроллер, в количестве три штуки — к высоковостребованным и эффективным относят — ATmega8A-PU, ATtiny2313A-PU и ATtiny13A- PU.

Чтобы провести программу в микроконтроллер, нужен программатор: лучшим считают программатор USBASP, который дает напряжение в 5 Вольт, используемое в будущем. С целью зрительной оценки и заключений итогов деятельности проекта нужны ресурсы отражения данных − это светодиоды, светодиодный индуктор и экран.


Чтобы исследовать процедуры коммуникации микроконтроллера с иными приборами, нужно числовое приспособление температуры DS18B20 и, показывающие правильное время, часы DS1307. Также важно иметь транзисторы, резисторы, кварцевые резонаторы, конденсаторы, кнопки.

С целью установки систем потребуется образцовая плата для монтажа. Чтобы соорудить конструкцию на микроконтроллере, следует воспользоваться макетной платой для сборки без пайки и комплектом перемычек к ней: образцовая плата МВ102 и соединительные перемычки к макетной плате нескольких видов — эластичные и жесткие, а также П-образной формы. Кодируют микроконтроллеры, применяя программатор USBASP.

Простейшее устройство на базе микроконтроллера AVR. Пример

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

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

Устройство выглядит, как печатная плата размером 43 х 43 мм, а на ней сооружена минисхемка радиатора, высота которого 24 миллиметра, а масса – 25 грамм. С целью манипулирования нагрузкой, плата драйвера содержит около шести входов.

Заключение

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

Теперь у меня на столе лежит два одинаковых программатора. А всё для того, чтобы попробовать новую прошивку. Эти близняшки буду шить друг друга. Все опыты проводятся под MS Windows XP SP3 .
Цель — увеличение скорости работы и расширение совместимости программатора.

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


Некоторое время назад оказались в моем распоряжении несколько микроконтроллеров ATMEL ATMega163 и ATMega163L. Микросхемы были взяты из отслуживших свой срок девайсов. Данный контроллер очень похож на ATMega16, и фактически является его ранней версией.

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


Прочитав статьи Edward Ned’а, я собрал DIP-версию и проверил ее в работе. Действительно вольтметр работал, ток через вывод микросхемы к индикатору не превышал 16 миллиампер в импульсе, так что работа микросхемы без резисторов, ограничивающих токи сегментов, вполне допустима и не вызывает перегрузок элементов.
Не понравилось слишком частое обновление показаний на дисплее и предложенная шкала «999». Хотелось подправить программу, но исходных кодов автор не выкладывает.

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


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

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

Предварительный усилитель-коммутатор с цифровым управлением. Применяем с программированием через оболочку Arduino, электронные потенциометры от Microchip, графический TFT.


Разрабатывать и собирать это устройство в мои планы не входило. Ну вот просто никак! У меня уже есть два предварительных усилителя. Оба меня вполне устраивают.
Но, как обычно происходит у меня, стечение обстоятельств или цепь неких событий, и вот нарисовалась задача на ближайшее время.

Здравствуйте, уважаемые читатели ! Хочу представить вам « » — проект подающего робота для настольного тенниса, который будет полезен новичкам и любителям при отработке приёма различного типа подач в любую зону стола, поможет рассчитать тайминг и силу приёма мяча.

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

Приветствую читателей ! Есть у меня пожилой компьютер, которому уже исполнилось лет десять. Параметры у него соответствующие: «пенёк» 3,0 ГГц, пара Гб ОЗУ и древняя материнская плата EliteGroup 915-й серии.


И задумал я куда-нибудь старичка пристроить (подарить, продать), т. к. выбрасывать жалко. Но мешала задуманному одна неприятность: у материнки не срабатывало включение от кнопки питания, и что бы я ни делал, начиная от проверки проводов и заканчивая прозвонкой транзисторов на плате, проблему найти так и не смог. Отдавать в ремонт спецам — ремонт окажется дороже всего компа.

Думал я, думал и нашёл способ запустить моего бедолагу. Выдернул батарею BIOS-а, от чего комп испугался и сразу стартанул при следующем появлении питания! А дальше — почти в каждом BIOS-е есть запуск ПК от любой кнопки клавиатуры или кнопки POWER на клавиатуре. Казалось бы, проблема решена. Ан нет, есть нюансы. С USB-клавиатур запуск не срабатывал. Плюс не хотелось пугать нового хозяина, компьютер должен стартовать от привычной кнопки питания на корпусе.

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

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

Плавное включение и выключение светодиодов в любом режиме (дверь открыта, и плафон включен). Так же авто выключение через пять минут. И минимальное потребление тока в режиме ожидания.

Вариант 1 — Коммутация по минусу. (с применением N-канальных транзисторов) 1) «коммутация по минусу», т.е такой вариант при котором один питающий провод лампы соединен с +12В аккумулятора (источника питания), а второй провод коммутирует ток через лампу тем самым включает ее. В данном варианте будет подаваться минус. Для таких схем нужно применять N-канальные полевые транзисторы в качестве выходных ключей.

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

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

Изначально в Lifan Smily (да и не только) режим работы заднего дворника — единственный, и называется он «всегда махать». Особенно негативно воспринимается такой режим в наступивший сезон дождей, когда на заднем стекле собираются капли, но в недостаточном для одного прохода дворника количестве. Так, приходится либо слушать скрип резины по стеклу, либо изображать робота и периодически включать-выключать дворник.

Немного доработал схему реле времени задержки включения освещения салона для автомобиля Форд (схема разрабатывалась для вполне конкретного автомобиля, как замена штатного реле Ford 85GG-13C718-AA, но была успешно установлена в отечественную «классику»).

Уже не первый раз проскакивают такие поделки. Но почему-то люди жмуться на прошивки. Хотя в большинстве своём они основаны на проекте elmchan «Simple SD Audio Player with an 8-pin IC». Исходниник не открывают аргументируя, что пришлось исправлять проект, что в у меня качество лучше… и т.д. Короче взяли open source проект, собрали, и выдаёте за своё.

Итак. Микроконтроллер Attiny 13- так сказать сердце данного устройства. С его прошивкой долго мучился, никак не мог прошить.Ни 5ю проводками через LPT, ни прогромматором Громова. Компьютер просто не видит контроллер и все.

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

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

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

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

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

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

При подаче на девятую ножку звукового модуля низкого сигнала, модуль начинал воспроизводить. Как только звук воспроизводился на пятнадцатой ноге звукового модуля, устанавливается низкий уровень. Благодаря этому микроконтроллер отслеживал воспроизведение звука.

Поскольку я реализовал паузу между циклами воспроизведения звука, то для остановки воспроизведения звука программа подает низкий уровень на первую ножку звукового модуля (reset). Звуковой модуль является законченным устройством со своим усилителем для звука, и, по большому счету, в дополнительном усилителе звука он не нуждается. Но мне данного усиления звука показалось мало, и в качестве усилителя звука я применил микросхему TDA2822M. В режиме воспроизведения звука потребляет 120 миллиампер. Учитывая, что поимка птицы займет какое-то время, в качестве автономной батареи питания я применил не совсем новый аккумулятор от бесперебойника (всё равно валялся без дела).
Принцип электронного птицелова прост, и схема состоит в основном из готовых модулей.

Программа и схема —

Базовый микроконтроллерный блок для РIС16F84А | Микроконтроллеры

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

В процессе создания конструкций на базе микроконтроллеров некоторые узлы используются почти в каждом проекте. К ним можно отнести сам микроконтроллер с системой питания и кварцевым резонатором, порты ввода-вывода, а также необходимые элементы реализации стандартных шин передачи данных. Разместив эти узлы на одной плате, можно получить базовый блок, используемый для разработки и отладки устройств на микроконтроллерах. Работа с таким блоком сводится к подключению необходимой периферии и разработке управляющей программы микроконтроллера Примеры подобных устройств описаны в [1, 2].

Вариант такого блока для популярного микроконтроллера PIC16F84A приведен на рис. 1.

Весь блок собран на печатной плате из стеклотекстолита, фольгированного с одной стороны, что упрощает его повторение. Размеры платы — 65×55 мм. На рис. 2 показана печатная плата блока, на рис. 3 — расположение элементов.

Микроконтроллер с кварцевым резонатором и стабилизатор включены по типовым схемам. Диапазон питающего напряжения — +6…12 В.

Разъем ввода-вывода Х4 имеет 10 контактов, восемь из которых напрямую подключены к порту В микроконтроллера. Два оставшихся контакта предназначены для питания внешних модулей, используемых совместно с базовым блоком. При необходимости питание можно взять с разъема Х7. Использование винтовых контактов дает большие возможности, чем подключение с помощью пайки или штыревых разъемов.

Драйвер RS-232 предназначен для подключения блока к персональному компьютеру. В качестве драйвера применена микросхема МАХ232. Для реализации интерфейса используются три линии порта А:

  • PORTA 0 — RxD — передача данных;
  • PORTA 1 — TxD — прием данных;
  • PORTA 2 — CTS — служебная линия порта.

Линия CTS может использоваться для передачи сигнала готовности микроконтроллера к приему данных. Ее необходимость обусловлена отсутствием в PIC16F84 модуля UART. Реализация этого модуля полностью программная. В простейшем случае для организации приема-передачи достаточно использовать 45 ячеек памяти микроконтроллера и шесть регистров общего назначения [2].

Оставшиеся две линии порта А используются в качестве шины I2С. Ее наличие позволяет использовать совместно с микроконтроллером большой перечень устройств, оснащенных этим интерфейсом. Непосредственно на плате блока предусмотрено место для дополнительной микросхемы, имеющей восемь выводов, например ПЗУ 24LC16, часов PCF8583P, термометра DS1621. Так как эти микросхемы отличаются расположением выводов, на плате предусмотрено специальное поле. Используя это поле, путем монтажа перемычек можно подготовить к работе любую микросхему. На принципиальной схеме и схеме расположения элементов на печатной плате перемычки показаны в варианте для микросхемы 24LC64 при нулевом slave-адресе. В случае необходимости включения нескольких устройств, работающих по шине I2С, можно использовать отдельный разъем Х2. Реализация алгоритма шины I2С также программная [2].

Для удобства отладки устройств с использованием блока на плате предусмотрен разъем внутреннего программирования Х5 (IDC10M). Все проводники, используемые для программирования, за исключением общего провода, имеют разрыв. При прошивке контроллера разъем программатора подключается к контактам 1—5 разъема Х5. Для работы устройства в нормальном режиме в разъем вставляется заглушка, изготовленная из ответной части IDC10F с помощью замыкания проводников, подключаемых к контактам 2-9, 3-8, 4-7, 5-6 разъема Х5. Если программирование не требуется, на плату можно установить перемычки.

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

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

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

ЛИТЕРАТУРА
1. Ю. Мартышевский, А. Киселев. Макетная плата для освоения PIC-микроконтроллеров фирмы Microchip. — Схемотехника, 2003, № 12, с. 35—38.
2. К. Тавернье. РIС-микроконтроллеры. Практика применения. Пер. с фр. — М.: ДМКПресс, 2002.
Илья Сошин, г. Лысьва Пермской обл.

Как программировать PIC микроконтроллеры или Простой JDM программатор. Простой JDM программатор для PIC микроконтроллеров — Программаторы микроконтроллеров

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

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

Цена готовых 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 Ом
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 .

Залить «прошивку» в МК 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, я рассказал в отдельной статье. Следующий шаг .

Необходимые файлы:

Быстро собрать понравившуюся схему на микроконтроллере для многих радиолюбителей — не проблема. Но многие начинающие работать с микроконтроллерами сталкиваются с вопросом — как его запрограммировать. Одним из самых простых вариантов программаторов является JDM программатор.

Программа — программатор ProgCode v 1.0

Эта программа работает в WindowsXP. Позволяет программировать PIC контроллеры среднего семейства(PIC16Fxxx) через COM порт компьютера. Индикатор подключения программатора(в правом верхнем углу окна) при отсутствии программатора на выбранном в настройках порту окрашивается в красный цвет. Если программатор подключен — программа обнаруживает его и индикатор в правом верхнем углу принимает вид, который показан на рисунке 1.

В левой части окна программы расположена панель управления. Эту панель можно свернуть нажав на кнопку в панели инструментов или, кликнув по левому краю окна (это удобно, когда окно программы развёрнуто во весь экран).

Рисунок (скриншот программы ProgCode v1.0)

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

Если этого не произошло, то выбрать нужный контроллер можно и после загрузки файла в программу.

Формат файлов SFR
В программаторе ProgCode поддержана работа с собственным форматом файлов. Эти файлы имеют расширение.SFR и позволяют хранить дополнительную информацию о программе, предназначенной для микроконтроллера. В таком файле сохраняется информация о типе микроконтроллера. Это позволяет при загрузке файла формата SFR не беспокоится о предварительном выборе типа МК в настройках.
Настройки порта и протокола при подключении программатора
После установки программы — по умолчанию выставлены все настройки, которые необходимы для работы программатора со схемой JDM, приведённой на этой странице.
Инверсия сигнала в приведённой схеме нужна только для выхода OutData, так как в этой цепи сигнал инвертирован согласующим транзистором. На всех остальных выводах инверсия отключена.

Задержка импульса может быть равна 0. Её регулировка предусмотрена для «особо трудных» экземпляров контроллеров, которые не удаётся прошить. То же самое относится и к надбавке к паузе при записи — по умолчанию она нулевая. Если увеличить значения этих настроек, время программирования контроллера значительно увеличится.

Галочка «проверка при записи» должна быть выставлена, если вам нужно «на лету» проверить всё что записывается в микроконтроллер на правильность и соответствие исходному файлу. Если эту галочку снять проверка не производится вообще и сообщений об ошибках не будет, даже если такие ошибки в реальности будут присутствовать.
Выбор скорости порта — скорость может быть любой. Для JDM программатора этот параметр не имеет значения.

В WindowsXP применяется буферизирование передаваемой через порты COM информации. Это так называемые буфера FIFO. Чтобы избежать ошибок при программировании через JDM этот механизм необходимо отключить. Сделать это можно в диспетчере устройств Windows.

Заходим в панель управления, затем:
Администрирование — управление компьютером — диспетчер устройств

Затем выбираем порт, на который подключен JDM программатор(например COM1) — смотрим свойства — вкладка параметры порта — дополнительно. И снимаем галочку на пункте «Использовать буферы FIFO»

Рисунок — Настройка COM порта для работы с JDM программатором

После этого перезагружаем компьютер.

Обозреватель локальных проектов

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

Любой файл при двойном клике по нему в панели обозревателя откроется в самой программе — это относится к рисункам, html файлам, doc, rtf, djvu(при установленных плагинах), pdf, txt, asm. Файл возможно так-же открыть двойным кликом в обозревателе с помощью внешней программы, установленной на компьютере. Для этого расширение нужного типа файлов необходимо прописать в списке «Ассоциации файлов». Если путь к открывающей программе не указывать — Windows откроет файл в программе по умолчанию(это удобно для открытия архивов, которые не всегда однозначно открываются). Если путь к открывающей программе указан в списке — файл откроется в указанной программе. Удобно просматривать таким образом файлы типа SPL, LAY, DSN.

Рисунок (скриншот обозревателя программы ProgCode v1.0)

Вот так выглядит окно с настройками ассоциаций файлов:

Обозреватель проектов в интернете

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



При обзоре проектов в интернете если на странице проекта есть ссылка на файл с расширением SFR(это формат файлов программы ProgCode), то такой файл при клике по нему откроется в новой вкладке программы и сразу готов к прошивке в микроконтроллер.
Список ссылок можно редактировать воспользовавшись кнопкой «Изменить». При этом откроется окно редактирования списка ссылок:


Описание процесса программирования микросхем

Большинство современных микросхем содержит флэш-память, которая программируется посредством протокола I2C или подобных протоколов.
Перезаписываемая память есть в PIC , AVR и других контроллерах, микросхемах памяти типа 24Cxx, и подобных им, различных картах памяти типа MMC и SD, обычных флэш USB картах, которые подключаются к компьютеру через USB разъём.

Рассмотрим запись информации во флэш память микроконтроллера PIC 16 F 628 A

Есть 2 линии DATA и CLOCK , по которым передаётся информация. Линия CLOCK служит для подачи тактовых импульсов, а линия DATA для передачи информации.

Чтобы передать в микроконтроллер 1 бит информации, необходимо выставить 0 или 1(в зависимости от значения бита) на линии данных(DATA ) и создать спад напряжения (переход от 1 к 0) на линии тактирования(CLOCK ).
Один бит для контроллера – маловато. Он ждёт вдогонку ещё пять, чтобы воспринять эту посылку из 6-ти бит как команду. Контроллеру очень нравятся команды, а состоять они должны именно из 6-ти бит – такова уж природа у PIC 16.
Вот список и значение команд, которые PIC способен понять. Команд не так уж и много – словарный запас у этого контроллера невелик, но не надо думать, что он совсем глуп – бывают устройства и с меньшим количеством команд

«LoadConfiguration » 000000 — Загрузка конфигурации

«LoadDataForDataMemory » — 000011 — Загрузка данных в память данных(EEPROM )
«IncrementAddress » 000110 — Увеличение адреса PC МК
«ReadDataFromProgramMemory » 000100 — Чтение данных из памяти программ
«ReadDataFromDataMemory » 000101 — Чтение данных из памяти данных(EEPROM )
«BeginProgrammingOnlyCycle » 011000 — Начать цикл программирования
«BulkEraseProgramMemory » 001001 — Полное стирание памяти программ
«BulkEraseDataMemory » 001011 — Полное стирание памяти данных(EEPROM )

Реагирует контроллер на эти команды по-разному. По-разному после выдачи команды нужно и продолжать с ним разговор.
Для того чтобы начать полноценный процесс программирования необходимо ещё подать напряжение 12 вольт на вывод MCLR контроллера, после этого подать на него напряжение питания. Именно в такой последовательности подачи напряжений есть определённый смысл. После подачи питания, если PIC сконфигурирован на работу от внутреннего RC генератора, он может начать выполнение собственной программы, что при программировании вещь недопустимая, так как неизбежен сбой.
Предварительная подача 12-ти вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш память программ МК после команды

«LoadDataForProgramMemory » 000010 — Загрузка данных в память программ

необходимо отправить в контроллер сами данные — 16 бит,
которые выглядят так:

“0xxxxxxxxxxxxxx 0”.

Крестики в этом слове – это сами данные, а нули по краям отправляются как обрамление – это стандарт для PIC 16. Значащих битов в слове всего 14. У этой серии контроллеров 14-ти битный формат представления команд.
После окончания передачи слова с данными PIC ждёт следующую команду.
Так как нашей целью является запись слова в память программ МК, следующей командой должна быть команда

«BeginEraseProgrammingCycle» 001000 — Начать цикл программирования

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

Сигналы на выводах микроконтроллера формируются компьютером при помощи специальных программ — программаторов. Для передачи сигнала могут служить порты COM, LPT или USB. C JDM программатором работают такие программы как PonyProg, IsProg, WinPic800.


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

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


Одним из вопросов при подключении программатора к компьютеру является вопрос — как обеспечить селективную развязку. Чтобы в случае неисправности в схеме избежать повреждения COM порта. В некоторых схемах применяется микросхема MAX232, которая обеспечивает селективную развязку и согласует уровни сигналов. В этой схеме вопрос решён проще — с помощью применения батарейного питания. Уровень сигнала, поступающего от компьютера ограничивается стабилитронами VD1, VD2, и VD3. Несмотря на простоту схемы JDM программатора с его помощью можно запрограммировать большинство типов PIC микроконтроллеров.

Перемычка между выводами COM6(DSR) и COM7(RTS) предназначена для того, чтобы программа могла определить, что программатор подключен к компьютеру.

Поключение выходов программатора к конкретному МК зависит от типа МК. Часто на плату программатора монтируют несколько панелек, которые расчитаны на определённый тип контроллеров.

В таблице приведено назначение ножек некоторых типов МК при программировании.

Такое же расположение выводов, предназначенных для программирования, имеют МК PIC16F84, PIC16F84A.



Назначение выводов для микроконтроллеров серии PIC16Fxxx в зависимости от типа корпуса в большинстве случаев является стандартным, но если возникает сомнения на этот счёт, то надёжнее всего свериться с даташитом на конкретный экземпляр МК. Часть документации присутствует на русском сайте http://microchip.ru Полное же собрание даташитов и другой документации находится на сайте производителя PIC микроконтроллеров: http://microchip.com

Индекс проектов

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

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

После этого остаётся только вставить МК в панельку программатора, если это ещё не сделано, и нажать на кнопку «Записать всё».
Программа записывается в МК. После этого контроллер вставляется в плату устройства и устройство готово к работе.

Однажды я решил собрать несложный 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 Микросхема Ch440G 1 В блокнот
IC2 Микросхема К1533ЛА3 1 В блокнот
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

В качестве элементарного программатора предлагаем вам собрать по авторской схеме JDM совместимый программатор, который мы назвали NTV программатор. Ниже схема NTV программатора (используется розетка DB9; не путать с вилкой).

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

Данный программатор НЕ РАБОТАЕТ при подключении к ноутбукам, т.к. уровни сигналов интерфейса RS-232 (COM-порт) в мобильных системах занижены. Также он может не работать на современных ПК, где аппаратно экономится ток на порту. Так что не обессудьте, собирайте и проверяйте на всех попавшихся под руку компьютерах.

Конструктивно плата программатора вставляется между контактами разъема DB-9, которые подпаиваются к контактным площадкам печатной платы. Ниже рисунок платы и фотография собранного программатора.



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

Рассказать в:
Быстро собрать понравившуюся схему на микроконтроллере для многих радиолюбителей — не проблема. Но многие начинающие работать с микроконтроллерами сталкиваются с вопросом — как его запрограммировать. Одним из самых простых вариантов программаторов является JDM программатор.
Программа — программатор ProgCode v 1.0Эта программа работает в WindowsXP. Позволяет программировать PIC контроллеры среднего семейства(PIC16Fxxx) через COM порт компьютера. Индикатор подключения программатора(в правом верхнем углу окна) при отсутствии программатора на выбранном в настройках порту окрашивается в красный цвет. Если программатор подключен — программа обнаруживает его и индикатор в правом верхнем углу принимает вид, который показан на рисунке 1. В левой части окна программы расположена панель управления. Эту панель можно свернуть нажав на кнопку в панели инструментов или, кликнув по левому краю окна (это удобно, когда окно программы развёрнуто во весь экран).

Рисунок (скриншот программы ProgCode v1.0)

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

Если этого не произошло, то выбрать нужный контроллер можно и после загрузки файла в программу.

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

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

Задержка импульса может быть равна 0. Её регулировка предусмотрена для «особо трудных» экземпляров контроллеров, которые не удаётся прошить. То же самое относится и к надбавке к паузе при записи — по умолчанию она нулевая. Если увеличить значения этих настроек, время программирования контроллера значительно увеличится.

Галочка «проверка при записи» должна быть выставлена, если вам нужно «на лету» проверить всё что записывается в микроконтроллер на правильность и соответствие исходному файлу. Если эту галочку снять проверка не производится вообще и сообщений об ошибках не будет, даже если такие ошибки в реальности будут присутствовать.
Выбор скорости порта — скорость может быть любой. Для JDM программатора этот параметр не имеет значения.

В WindowsXP применяется буферизирование передаваемой через порты COM информации. Это так называемые буфера FIFO. Чтобы избежать ошибок при программировании через JDM этот механизм необходимо отключить. Сделать это можно в диспетчере устройств Windows.

Заходим в панель управления, затем:
Администрирование — управление компьютером — диспетчер устройств

Затем выбираем порт, на который подключен JDM программатор(например COM1) — смотрим свойства — вкладка параметры порта — дополнительно. И снимаем галочку на пункте «Использовать буферы FIFO»

Рисунок — Настройка COM порта для работы с JDM программатором

После этого перезагружаем компьютер.

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

Любой файл при двойном клике по нему в панели обозревателя откроется в самой программе — это относится к рисункам, html файлам, doc, rtf, djvu(при установленных плагинах), pdf, txt, asm. Файл возможно так-же открыть двойным кликом в обозревателе с помощью внешней программы, установленной на компьютере. Для этого расширение нужного типа файлов необходимо прописать в списке «Ассоциации файлов». Если путь к открывающей программе не указывать — Windows откроет файл в программе по умолчанию(это удобно для открытия архивов, которые не всегда однозначно открываются). Если путь к открывающей программе указан в списке — файл откроется в указанной программе. Удобно просматривать таким образом файлы типа SPL, LAY, DSN.

Рисунок (скриншот обозревателя программы ProgCode v1.0)

Вот так выглядит окно с настройками ассоциаций файлов:

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


При обзоре проектов в интернете если на странице проекта есть ссылка на файл с расширением SFR(это формат файлов программы ProgCode), то такой файл при клике по нему откроется в новой вкладке программы и сразу готов к прошивке в микроконтроллер.
Список ссылок можно редактировать воспользовавшись кнопкой «Изменить». При этом откроется окно редактирования списка ссылок:

Описание процесса программирования микросхемБольшинство современных микросхем содержит флэш-память, которая программируется посредством протокола I2C или подобных протоколов.
Перезаписываемая память есть в PIC , AVR и других контроллерах, микросхемах памяти типа 24Cxx, и подобных им, различных картах памяти типа MMC и SD, обычных флэш USB картах, которые подключаются к компьютеру через USB разъём.Рассмотрим запись информации во флэш память микроконтроллера PIC16F628AЕсть 2 линии DATA и CLOCK, по которым передаётся информация. Линия CLOCK служит для подачи тактовых импульсов, а линия DATA для передачи информации.
Чтобы передать в микроконтроллер 1 бит информации, необходимо выставить 0 или 1(в зависимости от значения бита) на линии данных(DATA) и создать спад напряжения (переход от 1 к 0) на линии тактирования(CLOCK).
Один бит для контроллера – маловато. Он ждёт вдогонку ещё пять, чтобы воспринять эту посылку из 6-ти бит как команду. Контроллеру очень нравятся команды, а состоять они должны именно из 6-ти бит – такова уж природа у PIC16.
Вот список и значение команд, которые PIC способен понять. Команд не так уж и много – словарный запас у этого контроллера невелик, но не надо думать, что он совсем глуп – бывают устройства и с меньшим количеством команд»LoadConfiguration» 000000 — Загрузка конфигурации
«LoadDataForProgramMemory» 000010 — Загрузка данных в память программ
«LoadDataForDataMemory» — 000011 — Загрузка данных в память данных(EEPROM)
«IncrementAddress» 000110 — Увеличение адреса PC МК
«ReadDataFromProgramMemory» 000100 — Чтение данных из памяти программ
«ReadDataFromDataMemory» 000101 — Чтение данных из памяти данных(EEPROM)
«BeginProgrammingOnlyCycle» 011000 — Начать цикл программирования
«BulkEraseProgramMemory» 001001 — Полное стирание памяти программ
«BulkEraseDataMemory» 001011 — Полное стирание памяти данных(EEPROM)
«BeginEraseProgrammingCycle» 001000 — Начать цикл программированияРеагирует контроллер на эти команды по-разному. По-разному после выдачи команды нужно и продолжать с ним разговор.
Для того чтобы начать полноценный процесс программирования необходимо ещё подать напряжение 12 вольт на вывод MCLR контроллера, после этого подать на него напряжение питания. Именно в такой последовательности подачи напряжений есть определённый смысл. После подачи питания, если PIC сконфигурирован на работу от внутреннего RC генератора, он может начать выполнение собственной программы, что при программировании вещь недопустимая, так как неизбежен сбой.
Предварительная подача 12-ти вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш память программ МК после команды»LoadDataForProgramMemory» 000010 — Загрузка данных в память программнеобходимо отправить в контроллер сами данные — 16 бит,
которые выглядят так: “0xxxxxxxxxxxxxx0”.Крестики в этом слове – это сами данные, а нули по краям отправляются как обрамление – это стандарт для PIC16. Значащих битов в слове всего 14. У этой серии контроллеров 14-ти битный формат представления команд.
После окончания передачи слова с данными PIC ждёт следующую команду.
Так как нашей целью является запись слова в память программ МК, следующей командой должна быть команда
«BeginEraseProgrammingCycle» 001000 — Начать цикл программированияПолучив её, контроллер отключается от внешнего мира на 6 миллисекунд, которые нужны ему, чтобы завершить процесс записи.Сигналы на выводах микроконтроллера формируются компьютером при помощи специальных программ — программаторов. Для передачи сигнала могут служить порты COM, LPT или USB. C JDM программатором работают такие программы как PonyProg, IsProg, WinPic800.
Схема JDM программатораОчень простая схема программатора приведена на рисунке. В этой схеме хоть и не реализуется контроль последовательности подачи напряжений, но зато она очень проста и собрать такую схему возможно очень быстро, ипользовав минимумом деталей.
Рисунок (схема JDM программатора)


Одним из вопросов при подключении программатора к компьютеру является вопрос — как обеспечить селективную развязку. Чтобы в случае неисправности в схеме избежать повреждения COM порта. В некоторых схемах применяется микросхема MAX232, которая обеспечивает селективную развязку и согласует уровни сигналов. В этой схеме вопрос решён проще — с помощью применения батарейного питания. Уровень сигнала, поступающего от компьютера ограничивается стабилитронами VD1, VD2, и VD3. Несмотря на простоту схемы JDM программатора с его помощью можно запрограммировать большинство типов PIC микроконтроллеров.Перемычка между выводами COM6(DSR) и COM7(RTS) предназначена для того, чтобы программа могла определить, что программатор подключен к компьютеру.

Поключение выходов программатора к конкретному МК зависит от типа МК. Часто на плату программатора монтируют несколько панелек, которые расчитаны на определённый тип контроллеров.

В таблице приведено назначение ножек некоторых типов МК при программировании.

приведены рисунки с назначением выводов наиболее распространнённых МК при программировании.Цоколёвка (распиновка) микроконтроллеров PIC16F876A, PIC16F873A в корпусе DIP28.

Цоколёвка (распиновка) микроконтроллеров PIC16F874A, PIC16F877A в корпусе DIP40.
Цоколёвка (распиновка) микроконтроллеров PIC16F627A, PIC16F628A, PIC16F648A в корпусе DIP18.
Такое же расположение выводов, предназначенных для программирования, имеют МК PIC16F84, PIC16F84A.

Назначение выводов для микроконтроллеров серии PIC16Fxxx в зависимости от типа корпуса в большинстве случаев является стандартным, но если возникает сомнения на этот счёт, то надёжнее всего свериться с даташитом на конкретный экземпляр МК. Часть документации присутствует на русском сайте http://microchip.ru Полное же собрание даташитов и другой документации находится на сайте производителя PIC микроконтроллеров: http://microchip.com
Индекс проектовПрограмма позволяет напрямую выходить на страницу индекса, парой кликов просматривать описание нужного проекта и сразу-же прошивать программу в контроллер.

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

После этого остаётся только вставить МК в панельку программатора, если это ещё не сделано, и нажать на кнопку «Записать всё».
Программа записывается в МК. После этого контроллер вставляется в плату устройства и устройство готово к работе.

Скачать программу можно на странице загрузки файлов:http://cxema.my1.ru/load/proshivki/material_k_state_prostoj_jdm_programmator_dlja_pic_mikrokontrollerov/9-1-0-1613 Раздел:

автоматическое зарядное устройство на микроконтроллере pic

…отладочная плата: установлен микроконтроллер семейства PIC24F с. 500. …PIC микроконтроллеров c поддержкой низковольтных семейств. Микроконтроллер PIC16LF1933 имеет функцию прерываний с автоматическим… Характеристики микроконтроллера Z86E0812PSC, ЖК индикатора PANAPHONE. зарядное на мк pic avr — Абсолютно. Микроконтроллеры снабжены Flash-памятью 1.75 КБайт с возможностью… Схема регулятора мощности паяльника на микроконтроллере PIC16F628A Карбюратор k Как отрегулировать зажигание. автоматически корректировать… автоматическое зарядное устройство для автомобильного аккумулятора. Зарядное устройство для авто. . Данный программатор подходит для… таймер часы на микроконтроллере pic16f628a Внешний вид устройства. Схема устройства, печатная плата, исходный код… зарядное устройство на picf контроллере. Автоматическое зарядное устройство на микроконтроллере PIC. Программатор PIC микроконтроллеров или вся правда об Extra-PIC. Рис.2. Основу устройства составляет микроконтроллер PIC16F676 и… …Microchip Даташит ИС, 16 бит микроконтроллер, PIC24F, 32 МГц, 28-SSOP зарядное устройство на микроконтроллере. Ну и для разнообразия на PIC микроконтроллере (я их больше люблю… Основу устройства составляет микроконтроллер PIC16F676 и… Рис.1. Принципиальная схема собственно ЗУ показана на рис. 1. Микроконтроллер широкого назначения PIC16F883-I/SS …на PIC микроконтроллерах » Книга 2, СОЛОН-ПРЕСС Москва 2005 г. схема зарядного устройства для фонаря. Tab — Контроллеры внешних ЗУ — врач photoshop или получить составное… Автоматическое зарядное устройство на микроконтроллере. Скачать прошивку для микроконтроллера PIC и схему. Этот e-mail адрес… Datasheet PIC12F675-E/SN — Microchip Даташит микроконтроллер, 8 бит. Двухрежимное автоматическое зарядное устройство 6В и 12В, 6А. зарядное устройство для автомобильного аккумулятора на микроконтроллере. Зарядное устройство на микроконтроллере PIC12F Рис. 1. Структурная схема микроконтроллера. В наше время широкое. Зарядное устройство на микроконтроллере PIC12F675 The circuit is based in part on the… автоматическое зарядное устройство на базе блока питания пк. Рисунок 2.2 — Структурная схема микроконтроллера PIC16F877A Никакие биты выставлять не нужно — они установятся АВТОМАТИЧЕСКИ.

Лучшие 19 проектов микроконтроллеров PIC

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

Содержание:

Проекты микроконтроллеров PIC: LED

Освещение настроения с использованием светодиодов

У нас есть модные светильники от многих продавцов на рынке.Однако проблема большинства заключается в доступности и отсутствии повреждений после ремонта. В этом проекте показано использование 5-миллиметровых светодиодов или светодиодов Superflux / Piranha с квадратным корпусом. В схеме используются биполярные транзисторы, а не полевые МОП-транзисторы, что делает ее подходящей для начинающих конструкторов. Этот проект также доступен в виде комплекта со всеми деталями, необходимыми для сборки печатной платы, включая светодиоды superflux.

Этот проект доступен по адресу: Освещение настроения с использованием светодиодов

.

Светодиодная кубическая матрица

В кубе, описанном на этой странице, используется матрица одноцветных светодиодов 5 x 5 x 5.Это хороший размер для экспериментов, так как количество светодиодов, необходимое для работы на уровне 125, снижает стоимость. Кроме того, его сборка не занимает много времени и просто помещается на печатную плату размером с еврокарту. Требуемая мощность — менее 1 А. Кроме того, использование только одного цвета упрощает аппаратное и программное обеспечение.

Этот проект доступен по адресу: LED cube matrix

Светодиодный кубик

Этот проект представляет собой аналогичный светодиодный кристалл, но с немного другой формой вывода. Он использует 6 светодиодов, расположенных по кругу.Когда кости брошены, они создают эффект преследования. Эффект преследования постепенно замедляется и в конечном итоге останавливается на одном из шести светодиодов. Бросок осуществляется легким покачиванием кости по горизонтали. Светодиодный кубик питается от батарейки типа «таблетка» 3 В и использует микроконтроллер PIC12LF1822. Он генерирует случайное число и управляет выходными светодиодами.

Этот проект доступен по адресу: LED dice

Светодиодный фонарь аварийного автомобиля

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

Этот проект доступен по адресу: Светодиодный фонарь аварийного автомобиля

Велосипедный светильник с 3 светодиодами

Следующий проект микроконтроллера PIC основан на микроконтроллере PIC10F200, работающем от источника питания от 2 до 5 вольт.В режиме ожидания он потребляет ток менее 1 мкА, что делает его идеальным для работы от батарей. В нем используются три светодиода высокой яркости с индивидуальным управлением. Кнопка включает / выключает свет и меняет режимы работы при включении.

Этот проект доступен по адресу: 3 LED Bike Light

Проекты микроконтроллеров PIC: Контроль температуры

Будильник-индикатор температуры

Этот простой в сборке гаджет на основе микроконтроллера PIC (MCU) из архивов EFY объединяет часы с индикатором температуры на одном дисплее.В дисплее используются четыре 7-сегментных светодиода с общим анодом. Он показывает часы, и каждую минуту в течение пяти секунд дисплей попеременно показывает температуру в ° C. Также предусмотрена сигнализация с зуммером.

Этот проект доступен по адресу: Будильник-индикатор температуры

Цифровой контроллер температуры

Цифровой контроллер температуры является важным инструментом в области электроники, контрольно-измерительной аппаратуры и автоматизации управления для измерения и контроля температуры.Его можно использовать как дома, так и в промышленности. Здесь представлен недорогой терморегулятор на базе микроконтроллера. Он может считывать и контролировать температуру в диапазоне от нуля до 1000 ° C. Температура в реальном времени отображается на ЖК-экране. Вы можете использовать его для управления температурой в заданном минимальном и максимальном диапазоне.

Этот проект доступен по адресу: Цифровой контроллер температуры

Система контроля температуры

Контроль и регулировка температуры важны в промышленных условиях.Датчики широко используются для измерения температуры. Датчик температуры преобразует температуру в эквивалентное выходное напряжение, поэтому здесь мы используем LM35 для решения этой задачи. В этом проекте описывается простая система измерения и отображения температуры на основе датчика LM35 и микроконтроллера PIC16F877A. Температура в градусах Цельсия отображается на ЖК-дисплее 16 × 2.

Этот проект доступен по адресу: Система контроля температуры

Регистратор данных с использованием PIC12F683

Следующий проект микроконтроллера PIC представляет проект регистратора данных, основанный на микроконтроллере PIC12F683.Микроконтроллер регулярно считывает значения температуры с датчика температуры и сохраняет их во внутренней памяти EEPROM. Зарегистрированные значения температуры могут быть позже переданы на ПК через последовательный интерфейс.

Этот проект доступен по адресу: Регистратор данных с использованием PIC12F683

Идеи проектов микроконтроллеров PIC: Интернет вещей и умная жизнь

Система регистрации температуры Wi-Fi для Интернета вещей

Вот система регистрации температурных данных на базе микроконтроллера (MCU) PIC16F887, Wi-Fi и интерфейса прикладного программирования (API) ThingSpeak.ThingSpeak — это приложение и API Интернета вещей (IoT) с открытым исходным кодом. Он хранит и извлекает данные из вещей через Интернет. Он позволяет собирать, хранить, анализировать, визуализировать и действовать в соответствии с данными, полученными от датчиков или электронных схем.

Этот проект доступен по адресу: IoT Wi-Fi Temperature-Logging System

Измерение солнечной энергии

Этот проект предназначен для измерения энергии солнечных батарей. В этом проекте вы получите представление о том, как измерять солнечную энергию с помощью различных датчиков и микроконтроллера pic.Датчик напряжения используется для измерения напряжения солнечной панели. Датчик тока используется для измерения тока, протекающего на нагрузку от солнечной панели. Жидкокристаллический дисплей используется для отображения значения тока, напряжения и мощности солнечной панели. Питание 5 В постоянного тока обеспечивает рабочее напряжение микроконтроллера и жидкокристаллического дисплея.

Этот проект доступен по адресу: Измерение солнечной энергии

Электронный замок

с использованием PIC

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

Этот проект доступен по адресу: Электронный замок

Разные проекты микроконтроллеров PIC

Переключатель с таймером

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

Этот проект доступен по адресу: Time-Controlled Switch

Переключатель хлопка

Выключатель хлопка — забавный проект для начинающих.Он включает и выключает электроприборы со звуком хлопка в ладоши. Этот проект посвящен созданию простого переключателя хлопков, который срабатывает при обнаружении двух звуков хлопка подряд. В качестве преобразователя используется электретный микрофон. Он преобразует звук хлопка в электрический сигнал. Затем микроконтроллер PIC12F683 выполняет действия по переключению ВКЛ / ВЫКЛ.

Этот проект доступен по адресу: Clap switch

Интерфейс USB

В этом руководстве создается интерфейс USB с использованием PIC18F4455, который отображается как устройство интерфейса пользователя в Windows.Интерфейс должен иметь возможность отправлять и получать команды от USB-хоста портативного компьютера. В частности: USB должен иметь возможность включать и выключать некоторые светодиоды, распознавать нажатие переключателя и визуализировать значение переменного резистора, подстроечного резистора.

Этот проект доступен по адресу: PIC USB Interface

Ультразвуковой дальномер

Ультразвуковой дальномер PIC работает путем передачи короткого звукового импульса на неслышимой для уха частоте (ультразвуковой или ультразвуковой).После этого микроконтроллер прослушивает эхо. Время от передачи до приема эха позволяет рассчитать расстояние до объекта. В проекте используются 5 стандартных транзисторов для приема и передачи ультразвука. Компаратор устанавливает пороговый уровень обнаружения эха.

Этот проект доступен по адресу: Ультразвуковой дальномер

АСУ ТП для теплицы

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

Этот проект доступен по адресу: Система управления теплицей

Сопровождающий

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

Этот проект доступен по адресу: Line Follower

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

Здесь представлен регулятор скорости вращения вентилятора на базе микроконтроллера PIC16F73, регулятора напряжения и некоторых других общедоступных компонентов.

Этот проект доступен по адресу: Регулятор увеличения скорости вентилятора с использованием PIC16F73


Есть ли у вас какие-либо проекты микроконтроллеров PIC, которые вы хотели бы здесь увидеть? Или у вас есть какие-либо идеи проектов микроконтроллеров PIC, которые вы хотели бы включить в этот список? Дайте нам знать по адресу [электронная почта защищена].

Эта статья была впервые опубликована 25 апреля 2017 г. и обновлена ​​3 августа 2019 г.

Расширенные функции PIC, выбора генератора, сброса, прерываний и т. Д.

Статьи по теме

КОНТРОЛЛЕР ПЕРИФЕРИЧЕСКОГО ИНТЕРФЕЙСА (PIC)

ВВЕДЕНИЕ В PIC 167F877

МОДУЛИ USART В PIC 16F877

Большинство современных процессоров PIC, таких как устройства PIC16F87XA, имеют множество типов расширенных функций, которые способны выполнять дополнительные специальные задачи и операции. Эти функции повышают стабильность PIC и повышают его функциональную надежность.Разработчикам также полезно снизить полную стоимость разработанной схемы за счет интеграции и замены внешних компонентов, а также путем обеспечения множества средств защиты от энергосбережения. Общие особенности современного PIC-чипа приведены ниже (на основе PIC6F877A).

• Выбор осциллятора

• Сбросить

— Сброс при включении питания (POR)

— Таймер включения (PWRT)

— Таймер запуска генератора (ОСТ)

— Сброс при пониженном напряжении (BOR)

• Прерывания

• Сторожевой таймер (WDT)

• Сон

• Код защиты

• Места для удостоверений личности

• Внутрисхемное последовательное программирование

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

• Внутрисхемный отладчик

Функция выбора осциллятора

Серия PIC16F8xx в основном поддерживает различные типы генераторов, а также устройства PIC16F87XA.Он также имеет сторожевой таймер, который можно отключить только с помощью битов конфигурации. Он работает от собственного RC-генератора для дополнительной надежности (конфигурации по сравнению с обычными микроконтроллерами / процессорами). Пользователь может легко выбирать различные режимы генератора. Пользователь может запрограммировать два бита конфигурации (foscillator1 и foscillator0) на выбор четырех основных режимов. Основные режимы осцилляторов и типичные значения, используемые для этих осцилляторов, приведены на рисунке ниже.

• LP маломощный кристалл

• XT Кристалл / Резонатор

• Высокоскоростной кристалл / резонатор HS

• RC-резистор / конденсатор

Режимы осциллятора PIC

Функция сброса

Функция сброса — одна из самых продвинутых функций, доступных на всех современных микроконтроллерах.Серия PIC16F8xx имеет различные виды сброса. Ниже приведены различные варианты сброса, доступные в серии PIC 16F877.

• Сброс при включении (POR).

• Сброс MCLR во время нормальной работы.

• Сброс MCLR во время сна.

• Сброс WDT (при нормальной работе).

• WDT Wake-up (во время сна).

• Сброс при пониженном напряжении (BOR).

Упрощенная блок-схема встроенной схемы сброса показана на рисунке ниже.

PIC ON-CHIP генератор

MCLR

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

Сброс при включении питания (POR)

Сигналы включения питания при сбросе генерируются на кристалле при обнаружении повышения VDD. В нормальных условиях напряжение VDD находится в диапазоне от 1,2 до 1,7 В. Чтобы воспользоваться преимуществом POR, подключите вывод MCLR к VDD с помощью цепи резисторного конденсатора (RC). Перед тем, как устройство будет настроено на запуск для нормальной работы, необходимо проверить различные рабочие параметры, такие как частота, напряжение, температура и т. Д., Чтобы убедиться, что они в норме или в норме.В противном случае микросхему / схему необходимо удерживать в состоянии сброса до тех пор, пока рабочие условия не станут нормальными или нормальными. Функция отключения-сброса обеспечивает поддержку этих операций.

Таймер включения (PWRT)

Таймер включения питания обеспечивает фиксированный номинальный тайм-аут 72 мс при включении питания только от POR. Таймер включения работает от внутреннего RC-генератора. Чип остается в состоянии сброса, пока активен PWRT. Задержка PWRT позволяет VDD повышаться до приемлемого уровня. Бит конфигурации предназначен для включения или отключения PWRT.Время задержки включения зависит от микросхемы к микросхеме из-за VDD, температуры и изменений процесса

Таймер запуска генератора (ОСТ)

Таймер запуска генератора (OST) обеспечивает задержку в 1024 цикла генератора (от входа OSC1) после окончания задержки PWRT (если PWRT включен). Это помогает обеспечить запуск и стабилизацию кварцевого генератора или резонатора. Тайм-аут OST активируется только для режимов XT, LP и HS и только при сбросе при включении питания или выходе из спящего режима.

Сброс при пониженном напряжении (BOR)

Перезагрузка-сброс — это специальная функция сброса в современных контроллерах. Как только произойдет отключение питания, устройство будет оставаться в состоянии сброса после отключения питания до тех пор, пока VDD не поднимется выше VBOR. Затем таймер включения удерживает устройство в состоянии сброса для TPWRT. Если VDD должен упасть ниже VBOR во время TPWRT, процесс сброса по пониженному току будет перезапущен, когда VDD поднимется выше VBOR с помощью сброса таймера включения. Таймер включения всегда включен, когда включена схема сброса при пониженном напряжении, независимо от состояния бита конфигурации PWRT.

Тайм-аут последовательности

При включении питания последовательность тайм-аута следующая: задержка PWRT запускается (если включена), когда происходит сброс POR. Затем OST начинает отсчет 1024 циклов генератора по окончании PWRT (LP, XT и HS). По окончании OST девайс выходит из Reset. Если уровень MCLR сохраняется на низком уровне достаточно долго, тайм-ауты истекают. При повышении уровня MCLR выполнение начнется немедленно. Это полезно для целей тестирования или для синхронизации более чем одного устройства PIC16F87XA, работающих параллельно.В таблице показаны условия сброса для регистров состояния, PCON и ПК, а в таблице показаны условия сброса для всех регистров.

Условия сброса для специальных регистров в PIC

Основы программирования микроконтроллера PIC | Блог о проектировании печатных плат

Altium Designer

| & nbsp 20 мая 2018 г.

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

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

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

Несмотря на появление одноплатных встраиваемых контроллеров, таких как Arduino, Raspberry Pi или BeagleBone, микроконтроллер PIC по-прежнему остается актуальным среди инженеров-электронщиков. Микроконтроллеры PIC, производимые Microchip, отличаются простотой использования, универсальными функциями и экономичностью. Программирование микроконтроллеров PIC варьируется от простых 8-битных MUC до мощных 32-битных моделей.

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

Инструменты, необходимые программисту для программирования микроконтроллера

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

Это инструменты, которые могут понадобиться программисту для программирования PIC-микроконтроллера сегодня:

1. MPLAB X IDE

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

Первый шаг — правильная прошивка.

2. PICKIT 4

PICKIT 4 — это новейший внутрисхемный отладчик от Microchip PIC, который позволяет программисту эффективно загружать программу в микроконтроллер. Это улучшенная версия своего предшественника PICKIT 3 с добавленной функцией слота для SD-карты, которая упрощает программирование различных прошивок на ходу. При программировании микроконтроллера PIC в лаборатории вам необходимо подключить PICKIT 4 между USB-портом вашего компьютера и выводом программирования микроконтроллера.

3. Схема программирования

Контакты для программирования микроконтроллеров PIC указаны в таблице данных. Микроконтроллеры PIC поддерживают внутрисхемное последовательное программирование (ICSP) или внутрисхемную отладку (ICD), причем последнее позволяет инженерам отлаживать микропрограммное обеспечение в режиме реального времени. Важно включить схему интерфейса программирования (ICSP или ICD) в конструкцию, к которой будет подключаться PICKIT 4 или PICKIT 3.

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

Когда все инструменты программирования готовы (независимо от ICSP или ICD) и собран прототип, программирование микроконтроллера становится почти интуитивным.Традиционные инструменты программирования требуют, чтобы программист включил оборудование перед загрузкой прошивки. Но программаторы PICKIT могут быть настроены для включения микроконтроллера, если он не превышает его максимальный предел тока.

Есть два способа загрузить прошивку в микроконтроллер PIC. В MPLAB X IDE программист найдет варианты «Запустить проект» или «Отладить проект» и щелкнув «Запустить проект», скомпилирует и соберет вашу прошивку в производственном режиме, в то время как последний создаст отладочную версию следа прошивки.Вам нужно время, чтобы убедиться, что конечный продукт запрограммирован с использованием производственной версии микропрограммы.

Если все сделано правильно, ваш микроконтроллер начнет работать после загрузки программы.

Советы по разработке схемы программирования на печатной плате

Расположение выводов программирования на PICKIT 3 и PICKIT 4 аналогично, хотя PICKIT 4 имеет два дополнительных зарезервированных соединения выводов. Прошивка передается через сигналы PGD и PGC с выводом / MCLR для перевода микроконтроллера в режим программирования.

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

Использование отличного программного обеспечения для проектирования печатных плат, такого как Altium Designer ® , значительно поможет вам в разработке схем программирования без помех для микроконтроллеров PIC.

Нужен совет по программированию микроконтроллера PIC? Поговорите со специалистом Altium Designer.

Сделайте беспроводной термометр с микроконтроллером PIC

Хотите крутой проект для вашего микроконтроллера PIC? Читай дальше!

Требования

Введение

В этой статье я покажу вам один способ сделать беспроводной термометр с использованием двух микроконтроллеров PIC. Один микроконтроллер, PIC16F688, будет измерять напряжение с LM34, преобразовывать его в значение АЦП и передавать некоторые данные.Приемник получит данные и отобразит сообщение на ЖК-дисплее.

Отправка данных с помощью передатчика 433 МГц проста: в моем случае я подключаю вывод PIC TX к выводу данных 433 МГц, а затем передатчик отправляет все, что выходит на вывод UART.

Но получение данных является гораздо более сложной частью. Ресивер получит все в своем диапазоне. Чтобы отсортировать данные, которые нам нужны, нам нужен какой-то протокол или исправление ошибок. В предыдущих статьях я использовал Arduino с библиотекой VirtualWire, а в другой — «синхронизирующую» строку.В этой статье я использую другую технику (этот сайт меня вдохновил). Теперь я добавляю проверку на четность передаваемых данных. Четность проверяется на стороне получателя. Проводя исследование для этой статьи, я нашел сайт с библиотекой VirtualWire для PIC. Однако я обнаружил один недостаток: эта библиотека заполнила почти всю память моих PIC.

Аппаратное обеспечение

Нам нужны 2 блок-схемы, по одной на каждую схему.

Передатчик:

Хочу:

  • Способ программирования микроконтроллера -> ICSP
  • Датчик для измерения температуры -> LM34
  • Микроконтроллер для обработки данных -> PIC16F688
  • Способ передачи данных -> 433 МГц RF TX модуль
Приемник:

Хочу:

  • Способ программирования PIC16F877A
  • Способ приема радиосигнала -> 433 МГц RF RX модуль
  • Способ обработки полученных данных -> PIC16f877A
  • Способ отображения сообщения -> 2×16 LCD

Схемы:

передатчик:

Получатель:

На рисунках ниже вы видите микросхему MAX232.Это добавлено для отладки.

Неиспользуемые контакты не привязаны к GND или тестовой панели. Никакие схемы не предназначены для производства, они предназначены только для макета.

Список запчастей

Программное обеспечение

передатчик:

Когда программа работает, она считывает напряжение с LM34. Это напряжение преобразуется в значение АЦП. Затем это значение рассчитывается для температур как по Фаренгейту, так и по Цельсию. Согласно нескольким предложениям if, значение передается в функцию uart_write.Эта функция проверяет правильность значения и передает его функции uarttransmit-. Эта функция добавляет к данным четность и отправляет их в TXREG.

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

Получатель:

Приемник улавливает все виды сигналов и шумов. В программном обеспечении есть отладочный код и MAX232 для просмотра того, что происходит в окне терминала. Когда сигнал получен, значение проверяется на бит ошибки кадрирования. Если значение имеет ошибку кадрирования, полученные данные устанавливаются в NULL. Затем значение проверяется на бит ошибки переполнения. Если проверка бита ошибки переполнения не удается, RCSTAbits.CREN сбрасывается. Если полученное значение проходит эти два теста, полученные данные не являются мусором и вычисляется четность.Если вычисленная четность равна полученной четности, значение является действительным и выполняются действия в соответствии с некоторыми if-предложениями.

Когда полученные данные проверены и OK, PIC отображает сообщение на ЖК-дисплее. Чтобы ЖК-дисплей работал с микроконтроллером, я использовал файлы библиотеки, которые устанавливаются вместе с компилятором XC8. Все исходные файлы добавляются в один файл lcd_lib.c. Файлы библиотеки ЖК-дисплея включены в ZIP-файл ниже.

Во время разработки я добавил к своим макетам микросхему MAX232.Это было связано с моим компьютером. Таким образом, мне было легко увидеть, что было отправлено через порт EUSART на обоих PIC.

Загрузки

Заключение

В этой статье я показал вам, как сделать беспроводной термометр с двумя микроконтроллерами PIC, LM34 и ЖК-дисплеем. Температура измеряется с помощью одного PIC, и вычисляется значение ADC. Согласно расчетам, данные форматируются и отправляются через порт EUSART. Приемник проверяет наличие ошибок, и когда все в порядке, на ЖК-дисплее отображается сообщение.

Фотографии и видео

Попробуйте сами! Получите спецификацию.

Taillieu.Info — Программирование микроконтроллера PIC

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

Сегодня мы сожжем микроконтроллер PIC от Microchip — в данном случае Microchip — это имя собственное, относящееся к этой компании. «PIC» — это мозг множества проектов — например, этот USB-индикатор с изменением цвета или аналоговые датчики.

Посмотрите видео, чтобы увидеть различные способы программирования PIC, и читайте дальше, чтобы создать свой собственный простой программатор в стиле JDM2.


Получить все файлы этого проекта в архиве проекта.

Базовые соединения

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

Vdd / Vss (питание и земля)
Vdd и Vss — это метки, которые Microchip использует для обозначения положительного источника питания и заземления. Vdd — это обычно положительный источник питания 5 В. Другие названия для Vdd включают: Vcc, питание, питание, «+», неровная сторона батареи и красный провод. Vss — это «земля», почти всегда 0 вольт.Вы также увидите заземление, обозначенное как: отрицательный, заземление, «-», заземление, плоскую сторону аккумулятора и черный провод. Большинство печатных плат используют заземляющую пластину, это означает, что все контакты заземления подключаются к медным участкам, которые остаются после проложения других проводов. Плоскости заземления экономичны и экологичны — медь должна быть химически вытравлена ​​с любых незаполненных участков на печатной плате, это требует большего количества кислотных травителей и создает больший поток медных отходов. Обратите внимание на печатную плату преобразователя цвета RGB справа, большая синяя область — это земля.

Не забудьте подключить любые контакты с маркировкой Avdd и Avss. Эти контакты позволяют обеспечить чистое питание аналоговых частей микросхемы. Узнайте больше о маршрутизации этих соединений [pdf!], Если вы разрабатываете устройство, которое выполняет сверхточные измерения с помощью аналого-цифрового преобразователя.

Каждая пара контактов Vdd / Vss или Avdd / Avss оснащена конденсатором 0,1 мкФ (C1 на схеме ниже). Они называются «развязывающими» конденсаторами, потому что они изолируют (развязывают) микросхему от шума в источнике питания.Этот шум вызовет сильные колебания в цепи, если его не остановить. Конденсаторы 0,1 мкФ должны быть очень дешевыми, купите 100+ в Интернете, чтобы сэкономить связку. На практике конденсатор следует устанавливать на каждый вывод питания (Vdd). Если контакты питания и заземления не расположены рядом друг с другом, что раздражает слишком часто, подключите одну сторону конденсатора как можно ближе к контакту питания, а вторую — к общей заземляющей пластине.



VPP / MCLR / master очистить и сбросить

Скачки в источнике питания могут привести к зависанию PIC или вызвать неустойчивое поведение.Большинство PIC имеют функцию MCLR, которая в этом случае вызывает полный сброс. Чтобы использовать эту функцию, установите резистор 10 кОм (R1) между источником питания и выводом MCLR.

Примеры минимального подключения
В этой галерее показано, как выполнить минимальное количество подключений для нескольких различных микроконтроллеров PIC.

Программирование соединений
PIC в голой цепи — это здорово, но нам нужно добавить в нее какое-то программное обеспечение, прежде чем она станет полезной. Я всегда добавляю простое 5-контактное соединение на печатную плату, чтобы можно было программировать микросхему, не удаляя ее из схемы.Это экономит массу времени при использовании микросхем с гнездами, но абсолютно необходимо для микросхем поверхностного монтажа, которые нельзя удалить с печатной платы. Этот метод программирования называется внутрисхемным последовательным программированием (ICSP). Даже если вы планируете использовать программатор сокетов, читайте дальше, чтобы понять, какие соединения программист устанавливает с PIC, когда вы вставляете его в сокет.

Vdd / Vss
Об этих подключениях мы позаботились раньше. Программист ДОЛЖЕН использовать соединение заземления с печатной платой, также обычно используется соединение с напряжением питания.

MCLR / VPP
Вывод сброса MCLR также используется для перевода PIC в режим программирования. Когда программист прикладывает «напряжение программирования» (Vpp) к этому выводу, микросхема готовится к копированию новой прошивки.

Vpp варьируется в зависимости от модели PIC, но может достигать 13 В. Если мы направим этот вывод к заголовку и подключим программатор, напряжение программирования пройдет через резистор MCLR (R1) и поступит на остальную часть схемы. Все на печатной плате может быть испорчено 13 вольт — нужен односторонний клапан, чтобы поддерживать высокое напряжение Vpp на своем месте.Малосигнальный диод (D1) делает именно это. Обычно для этой цели я использую обычный 1n4148.

Часы и данные
Код поступает в PIC на выводах часов (PGC) и данных (PGD). Обычно они находятся на контактах 6 и 7 порта PORTB микроконтроллеров PIC.

Вы, наверное, уже знаете, что на компьютере все сводится к нулю и единице. Файлы кода для PIC, обычно с расширением .hex, представлены на диске цифрами 0 и 1. Вывод данных PIC переключается между питанием (1) и землей (0) для представления этих битов.Линия часов поднимается до высокого уровня, а затем снова опускается до минимума, когда правильное значение находится на выводе данных. Тактовый импульс запускает PIC для копирования значения на выводе данных (0 или 1) в память.

Соедините это вместе с VPP, чтобы очень просто увидеть, как программируется PIC. Сначала повышается напряжение программирования (VPP), чтобы перевести PIC в режим программирования. Затем строка данных изменяется, чтобы отразить значение 0 или 1. Тактовый импульс применяется для копирования значения вывода данных в PIC.Когда все данные скопированы, VPP удаляется.

Примеры соединений ICSP
В этой галерее показаны соединения ICSP для нескольких микроконтроллеров PIC.

Программисты
Программист — ключ к внедрению программного обеспечения в PIC. Это устройство физически подключает ваш компьютер к микроконтроллеру. Они сильно различаются по цене и сложности.

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

Некоторыми примерами вигглеров выводов являются NOPPP и знаменитый JDM2. Этих программистов поддерживают несколько приложений. Мне нравится WinPIC800, потому что он обновлен для последних чипов PIC 18F. Вы также можете проверить старые WinPIC и ICPROG.

Интеллектуальные программисты
Интеллектуальные программисты дороже, чем вигглеры.У этих программистов есть собственный микроконтроллер, который фактически программирует целевой чип. Собственные USB-программаторы Microchip (или Olimexclones) являются примером такого типа программистов. Наборы для экспериментов с микроконтроллерами из магазинов электроники часто поставляются с этим типом программатора — обычно программатор программирует только очень узкий диапазон PIC.

Эти программаторы предназначены для работы с определенным программным обеспечением и обычно не поддерживаются общими программами, такими как WINPIC800.Упомянутые ранее программисты работают с приложением для разработки freeMPLAB. MikroElektronika выпускает нестандартных программистов, которые работают со своими собственными компиляторами C, Pascal и Basic.

Отладчики
Отладчики программы, но они также добавляют в программный код функции воспроизведения и паузы. Это помогает авторам программного обеспечения выявлять досадные проблемы во время разработки прошивки. Как и умные программисты, отладчики работают с конкретными приложениями. ICD2 от Microchip и точная копия в Olimex работают со средой разработки Microchip MPLAB и компиляторами.Есть несколько USB и последовательных ICD2-аналогов, которые вы можете собрать самостоятельно. Это не клоны, потому что им не хватает некоторых функций оригинала, таких как регулируемый уровень напряжения.

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

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

Ограничения
Конструкция JDM2 имеет несколько ограничений:

  • Он использует отрицательное напряжение заземления, чтобы получить полное разделение +13 В между землей и VPP. Убедитесь, что вы отключили любой источник питания от схемы перед программированием с помощью JDM2.
  • Он не будет работать с большинством ноутбуков, потому что напряжение последовательного порта слишком низкое.
  • Вероятно, по той же причине он не будет работать с переходником USB-последовательный порт.
  • Линия PIC 16F требует 13 вольт на Vpp, более новые PIC 18F используют 12,5 вольт, а новейшие PIC (24F / 32F) используют 6 вольт или меньше. Если вы хотите запрограммировать новый PIC 18F с JDM2, вы должны использовать диод (D1), как показано на схеме. Этот диод снизит напряжение программирования примерно на 0,6 вольт, оставив почти идеальные 12,4 вольт.



Детали


Список деталей

Резисторы
R1 — резистор 10 кОм
R2 — 1.Резистор 5 кОм
Простые резисторы на 1/4 или 1/8 ватта подойдут.

Диоды
D1 — стабилитрон 8,2 В (должен иметь мощность не менее 0,5 Вт)
D2 — стабилитрон 5,1 В (мощность не менее 0,5 Вт)
D3,4,5,6 — диод 1n4148 (или 1n4448)

Конденсаторы
C1 — электролитические 100 мкФ / 25 В
C2 — Тантал 22 мкФ / 16 В или тантал 47 мкФ / 6,3 В
Это быстродействующий конденсатор и должен быть танталового типа.

Транзисторы
Q1,2 — BC547B
Эти маленькие транзисторы действительно распространены.Убедитесь, что ваш транзистор имеет конфигурацию контактов, показанную на схеме ниже. Дважды проверьте первую страницу таблицы данных производителя, чтобы быть уверенным — неправильная ориентация является наиболее распространенной проблемой для новых программаторов JDM2.


Штекер последовательного порта
Это обычная розетка, под прямым углом, штекер DB9 для монтажа на печатную плату.

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

  1. Сначала припаиваем две перемычки.
  2. Затем добавьте резистор 1,5 кОм и резистор 10 кОм. Ориентация резистора не имеет значения.
  3. Теперь добавьте диоды 1n4148. Черные полосы должны быть ориентированы, как показано на рисунке.
  4. Добавьте стабилитроны 5,1 В и 8,2 В. Черная полоса должна быть обращена к заглушке последовательного порта.
  5. Добавьте транзисторы. Убедитесь, что транзисторы ориентированы, как показано на рисунках и схемах. Плохое размещение транзисторов является причиной большинства проблем с новыми программаторами JDM2.
  6. Добавьте танталовый конденсатор и электролитический конденсатор. Ориентация имеет значение. Убедитесь, что черная полоса электролитического конденсатора обращена к краю платы, а короткая ножка соединяется с большой площадью медного заполнения (плоскостью заземления). Точно так же короткая ножка танталового конденсатора должна подключаться к заземляющей пластине.
  7. Добавьте заглушку последовательного порта.
  8. Добавьте заголовок по вашему выбору (вилка / розетка, провод и т. Д.).

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

Установите Winpic800 и протестируйте JDM2
Для тестирования нашего программатора мы будем использовать Winpic800. Загрузите его здесь и установите. Вероятно, при первом запуске он будет на испанском языке, выберите Idioma-> English (или что вам подходит).

Запустите Winpic800.

  1. Перейдите в Настройки-> Оборудование .
  2. Установите Winpic800 для программатора JDM2: щелкните «Программатор JDM2» в списке и убедитесь, что COM-порт установлен правильно.Большинство ПК имеют единственный последовательный порт, назначенный COM1.
  3. Нажмите Применить изменения .
  4. Подключите программатор JDM2 к последовательному порту.
  5. Перейдите к Устройство-> Проверка оборудования. Если ваш программатор работает, вы получите сообщение «Оборудование в норме».

Запись прошивки на PIC

  1. Подключите PIC к программатору, как описано ранее.
  2. Подключите программатор к последовательному порту (ненужного) ПК.
  3. Запустите Winpic800.
  4. Перейдите к устройству -> Проверить устройство (CTRL + D).
  5. Winpic800 обнаружит подключенный PIC, нажмите «Принять».
  6. Перейдите к File-> Open и выберите файл прошивки, который вы хотите скопировать на PIC. Обычно это файл .hex.
  7. Наконец, выберите Device-> Program All , чтобы запрограммировать PIC. Winpic800 программирует PIC и проверяет содержимое.

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

Программатор USB PIC
Отладчик последовательного порта
USB-отладчик
Несколько копий USB-отладчика ICD2
The «Real Deal» ICD2
Программист Olimex и клоны отладчика

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

Печатные платы с фоторезистом
Печатные платы для переноса тонера
Заказать профессиональные печатные платы, онлайн

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

Компиляторы Mikro-Basic, C и Pascal для серий PIC 16 и 18.
MPLAB от Microchip с бесплатным компоновщиком сборки для всех PIC.
Демонстрационный компилятор C PIC C18 для серии PIC 18.

Другие замечательные ресурсы по PIC:
Microchip PIC Forum
Список рассылки MIT и архив PIC

Program PIC Microcontrollers On Board with ICSP

Группа инженеров по обучению

Команда опытных инженеров, делящихся знаниями со всем миром

Группа инженеров по обучению — ведущая команда в индустрии микроконтроллеров с более чем 13-летним опытом в обучении и выполнении практических проектов.

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

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

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

В настоящее время у нас более 100+ курсов по Удеми

Педагог и автор «Образовательной инженерии».

Ашраф — педагог, инженер мехатроники, любитель электроники и программирования, производитель .Он создает онлайн-видеокурсы на канале EduEng на YouTube (более 4 миллионов просмотров, более 20 тысяч подписчиков) и автор четырех книг о микроконтроллерах.

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

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

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

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

Его страсть к микроконтроллерам и программированию и, в частности, к миру Arduino, микроконтроллеров PIC, Rasberry Pi руководил своим личным развитием и своей работой через образовательную инженерию.

Онлайн-курсы Ashraf помогли более 250 000 человек со всего мира стать лучше и сделать отличную карьеру в отрасли.

Группа инженеров по обучению предлагает курс по

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

Arduino, микроконтроллер PIC и Raspberry Pi

Программирование на C, Python и других языках программирования

Промышленное программирование и автоматизация ПЛК

3D-дизайн и моделирование

ESP и IoT World

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

Последние идеи и темы проектов микроконтроллеров Pic

Получите самый широкий список проектов микроконтроллеров PIC для вашего обучения и исследований. В наш список входит широкий спектр проектов на основе PIC для студентов, исследователей и инженеров. Мы постоянно исследуем проекты PIC и перечисляем инновационные темы и идеи в Интернете для дальнейшей разработки изображений.
Название PIC изначально было аббревиатурой от «Peripheral Interface Controller». Хотя аббревиатура осталась прежней, позже название было изменено на «Программируемый интеллектуальный компьютер».Эти микроконтроллеры PIC в основном используются студентами-любителями и преподавателями из-за их низкой стоимости, особенно в области электроники и робототехники. Микроконтроллеры PIC популярны из-за широкой доступности, низкой стоимости, простоты перепрограммирования с помощью встроенной EEPROM, большого разнообразия информации, доступной в Интернете, разнообразия инструментов программирования с использованием графических изображений и поддержки сообщества для разработки систем на основе PIC. Таким образом, студенты, инженеры и исследователи также создают множество проектов на основе микроконтроллеров PIC.Первые части семейства были доступны в 1976 году; к 2013 году компания поставила более двенадцати миллиардов отдельных деталей, используемых во множестве встраиваемых систем. Сегодня многие студенты-инженеры и энтузиасты проявляют большой интерес к проектам встраиваемых систем, в которых используются микроконтроллеры PIC. Среди всех микроконтроллеров PIC наряду с 8051 долгое время были наиболее широко используемыми разновидностями. Микроконтроллер PIC наиболее известен среди непромышленных применений из-за низкой стоимости.Популярность микроконтроллеров PIC привела к увеличению количества разработок проектов микроконтроллеров PIC. NevonProjects предоставляет множество идей и тем для проектов с микроконтроллерами pic для изучения и изучения.

Нужен индивидуальный проект / система PIC?



Прочая электроника Категории проектов

Nevonprojects является одним из пионеров исследований в области проектов на базе микроконтроллеров PIC. Мы предлагаем новейшие идеи и темы проектов микроконтроллеров PIC для студентов, инженеров и исследователей.Наши исследователи каждый месяц постоянно исследуют новые проекты микроконтроллеров PIC.

Оставить комментарий

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