Pickit2 avr: Программирование микроконтроллеров AVR с Microchip PicKit2

Программирование микроконтроллеров AVR с Microchip PicKit2

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

Случилось так что когда-то давно я, как и многие другие, начал знакомство с миром микроконтроллеров с какой-то конструкции на микроконтроллере PIC16F84. Через много лет я купил свой первый фабричный программатор для контроллеров PIC. Это был фирменный (оригинальный) PicKit2, который я привез с международной конференции Microchip, которая проходила в Питере в 2009 году.

Оригинальный PicKit2.

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

Обычно если мне нужно запрограммировать микроконтроллер Pic я использую программатор PicKit2 с его родной программой PicKit2.61, а если я хочу прошить, например, контроллер ATMega16, то делаю это через программатор USBAsp который можно купить в Китае за полтора доллара.

   Разъем программирования PicKit2.Назначение выводов:

VPP / MCLR
VDD напряжение питания целевого устройства
VSS земля
ICSPDAT / PGD
ICSPCLK / PGC
AUX

Для программирования контроллеров AVR нам потребуется сделать специальный шлейф и использовать все шесть контактов PicKit2. Шлейф делаем в соответствии с таблицей ниже:

Персональный сайт — AVRISP-mkII из PICkit-2

AVRISP-mkII из PICkit-2

В России наиболее доступны и распространены среди радиолюбителей микроконтроллеры компаний Atmel и Microchip. Каждая из компаний предлагает для программирования и отладки своей продукции недорогие комплекты разработчика. В свободном доступе есть схемы клонов и исходные тексты ПО для программатора AVRISP-mkII и программатора/отладчика PICkit-2. Так как в своих разработках я использую микроконтроллеры обеих компаний, то появилась идея совместить PICkit-2 и AVRISP-mkII. Программатор/отладчик PICkit-2 содержит в себе гораздо большее кол-во функций, поэтому он и был взят за основу.

Программатор/отладчик PICkit-2 — разработка компании Microchip для программирования и отладки ПО микроконтроллеров PIC, а так же для программирования микросхем EEPROM и FLASH с последовательным интерфейсом. Так же PICkit-2 содержит в качестве дополнительных функций логический анализатор и последовательный порт UART.

Схема PICkit-2 достаточно проста, но при этом многофункциональна. Она не содержит дорогих, труднодоступных компонентов. Все компоненты можно заменить аналогами, которые есть в наличии. Схема не требует настройки и при правильной сборке начинает работать сразу. Схема доступна в руководстве пользователя на PICkit-2. Исходные тексты программного обеспечения для микроконтроллера и для ПК доступны на сайте http://microchip.com.

Программатор/отладчик PICkit-2 содержит загрузчик, с помощью которого возможно оперативно обновлять или заменять ПО. Поскольку PICkit-2 имеет все необходимое для программирования через последовательный интерфейс, то нет необходимости в доработке схемы. Для того чтобы он имел возможность программировать микроконтроллеры Atmel необходимо только заменить ПО PICkit-2 на программное обеспечение, имитирующее работу программатора AVRISP-mkII.

Соответствие контактов указано в таблице.

№ контакта

PICKit-2

Наименование

PICkit-2

AVRISP-mkII

1

Vpp/MCLR

RESET

2

Vdd_TGT

VTARGET

3

GND

GND

4

ICSPDAT/PGD

MISO

5

ICSPCLK/PGC

SCK/CLOCK

6

AUX

MOSI/DATA

Скачать прошивку PKAVRISP_MKII.zip_версия 2.2

Предыдущие версии

История версий

Инструкция по прошивке PICKit-2

Статья для тех кто боится «испортить» PICkit 2

Возможности программы:

— Программирование микроконтроллеров фирмы ATMEL серий AT89, AT90, ATmega, ATtiny по протоколу ISP (проверено на AT89S51, AT90S2313, ATmega8535, ATmega8515, ATmega32L, ATmega8, ATmega48).

— Программирование микроконтроллеров фирмы ATMEL серии ATxmega по протоколу PDI. Доступен в версии 2.1 (проверено на ATxmega32A4).

— Программирование микроконтроллеров фирмы ATMEL серии ATtiny по протоколу TPI.  Доступен в версии 2.1 (проверено на ATtiny10, в версии 2.1 работает только с внешним источником питания).

— Измерение напряжения “target” устройства.

— Автоматическая установка уровня на логических линиях MOSI, MISO, SCK равного измеренному напряжению “target” устройства.

— Работа через стандартный драйвер AVRISP-mkII или драйвер, включенный в WinAVR (проверено программирование через программатор, включенный в AVR Studio 4.0, 5.0, 5.1, 6.0 а так же через avrdude version 5.11-Patch#7610+драйвер из состава WinAVR версия 0.1.12.1 от 20.03.2007+GUI SinaProg 1.4.5.10). Инструкция по прошивке через avrdude.

— Оперативная замена ПО через «bootloader» на AVRISP-mkII и обратно на PICkit 2.

— Подача напряжения 3.3В, 5В на target устройство и 12В на reset. 12В доступно в версии 2.2. Внимание 12В подается только на микроконтроллеры с TPI интерфейсом. При отключении функции Reset у контроллеров с ISP интерфейсом, контроллер станет недоступен для последующей прошивки.

Поддерживаемые микросхемы:

Atmel (AT32UCxx не поддерживаются, непонятно почему Atmel внесла их в список)

Microchip

Ограничения:

— Так как протокол ISP реализован программно, то скорость обмена ограничена  0,75 Мбит/с (AVRISP-mkII скорость до 8 Мбит/с).

— Скорость обмена по PDI/TPI протоколу 62500 бит/с (после оптимизации будет увеличена до 125000 бит/с, у оригинала 250000 бит/с).

Что планируется добавить:

— Разобраться со скриптами и описать процедуру добавления в оболочку для PICkit 2 любых микросхем с последовательным программированием (на примере AT45DB021).

— Совместить PICkit 2 и AVRISP-mkII и переключаться между ними по нажатию кнопки на PICkit 2 (возможно не хватит ресурсов PIC18F2550).

Новости проекта.

Схема, печатная плата и библиотека в формате P-Cad 2002 (некоторые компоненты установлены по типу корпуса и не соотверствуют схеме. Сверяйтесь с вариантом ниже, в картинках)

Схема и печатная плата моего клона PICKit 2 (Найдена незначительная ошибка. Описание как исправить по ссылке на эскиз доработки.)

Полная печатная плата 1:1 в формате PDF отверстия 0.4

Минимальная печатная плата 1:1 в формате PDF отверстия 0.4

Схема и печатные платы универсального адаптера для программирования PIC/AVR/EEPROM(11LC/24LC/25LC/93LC) в DIP корпусах (обновлено 02.07.12)

AVRISP mkII User Guide

Если Вы заинтересованы в развитии проекта,  окажите поддержку.

Источники информации

AVR069: AVRISP mkII Communication Protocol.

Библиотека LUFA. http://www.fourwalledcubicle.com/LUFA.php.

 AVR1612: PDI programming driver.

AVR918: Using the Atmel Tiny Programming Interface (TPI).

PICKIT2 — программатор для PIC и AVR контроллеров. — Мои файлы — Каталог файлов

  Ввиду дебилизма некоторых «товарищей» почтовый адрес изменился на:     [email protected]

                            PICKIT2 — программатор для PIC и AVR контроллеров.

Программатор PICKIT2 предназначен для программирования PIC-контроллеров под родным софтом «PICKIT2 v.2.61.00», а также для прошивки AVR под софтом AVRDude. Смены родной прошивки «PK2v.023200.hex» при работа с AVR – не требуется, так как софт AVRDude адаптированный для работы с PICKIT2. Для работы с AVR, запускаем программу AVRDUDESHELL, выбираем программатор, подключаем PICKIT2 и производим прошивка нужных нам ATmega, ATtiny, AXmega, AT90.

1. Светодиоды состояния
2. Кнопка
3. Разъем для подключения USB кабеля
4. Маркер первого вывода
5. Разъем для подключения программируемого устройства

Программатор PICKIT2 под управлением софта PICKIT2 v.2.61.00 поддерживает следующие   PIC контроллеры  и м/с памяти 11, 24, 25, 93 серий:

PIC10
—————-
PIC10F200       PIC10F202       PIC10F204       PIC10F206
PIC10F220       PIC10F222
PIC12F508       PIC12F509       PIC12F510    PIC12F519
PIC16F505       PIC16F506       PIC16F526
PIC16F54        PIC16F57        PIC16F59

PIC12/16F(LF):
—————-
>> All ‘LF’ versions of devices are supported
PIC12F609       PIC12HV609     
PIC12F615       PIC12HV615      
PIC12F629       PIC12F635#      PIC12F675       PIC12F683#
PIC16F610       PIC16HV610      PIC16F616       PIC16HV616
PIC16F627       PIC16F628       PIC16F639
PIC16F627A      PIC16F628A      PIC16F648A
PIC16F630       PIC16F631       PIC16F636#      PIC16F676
PIC16F677       PIC16F684#      PIC16F685#      PIC16F687#
PIC16F688#      PIC16F689#      PIC16F690#      
PIC16F72+
PIC16F73+       PIC16F74+       PIC16F76+       PIC16F77+
PIC16F716
PIC16F737+      PIC16F747+      PIC16F767+      PIC16F777+
PIC16F785       PIC16HV785      
PIC16F84A       PIC16F87#       PIC16F88#
PIC16F818#      PIC16F819#
PIC16F870       PIC16F871       PIC16F872       
PIC16F873       PIC16F874       PIC16F876       PIC16F877
PIC16F873A      PIC16F874A      PIC16F876A      PIC16F877A
PIC16F882#
PIC16F883#      PIC16F884#      PIC16F886#      PIC16F887#
PIC16F913#      PIC16F914#      PIC16F916#      PIC16F917#
PIC16F946#

PIC16F 1v8
—————-
PIC16F722       PIC16LF722
PIC16F723       PIC16LF723      PIC16F724       PIC16LF724
PIC16F726       PIC16LF726      PIC16F727       PIC16LF727

PIC16F1933      PIC16F1934      PIC16F1936      PIC16F1937
PIC16F1938      PIC16F1939
PIC16LF1933     PIC16LF1934     PIC16LF1936     PIC16LF1937
PIC16LF1938     PIC16LF1939

PIC18F
—————
>> All ‘LF’ versions of devices are supported
PIC18F242       PIC18F252       PIC18F442       PIC18F452
PIC18F248       PIC18F258       PIC18F448       PIC18F458
PIC18F1220      PIC18F1320      PIC18F2220  
PIC18F1230      PIC18F1330      PIC18F1330-ICD    
PIC18F2221      PIC18F2320      PIC18F2321      PIC18F2331      
PIC18F2410      PIC18F2420      PIC18F2423      PIC18F2431
PIC18F2450      PIC18F2455      PIC18F2458      PIC18F2480
PIC18F2510      PIC18F2515      PIC18F2520      PIC18F2523  
PIC18F2525      PIC18F2550      PIC18F2553      PIC18F2580
PIC18F2585    
PIC18F2610      PIC18F2620      PIC18F2680      PIC18F2682  
PIC18F2685
PIC18F4220      PIC18F4221      PIC18F4320      PIC18F4321  
PIC18F4331      PIC18F4410      PIC18F4420      PIC18F4423      
PIC18F4431      PIC18F4450      PIC18F4455      PIC18F4458
PIC18F4480      
PIC18F4510      PIC18F4515      PIC18F4520      PIC18F4523
PIC18F4525      PIC18F4550      PIC18F4553      PIC18F4580
PIC18F4585
PIC18F4610      PIC18F4620      PIC18F4680      PIC18F4682  
PIC18F4685      PIC18F6310      PIC18F6390      PIC18F6393
PIC18F6410      PIC18F6490      PIC18F6493      PIC18F6520
PIC18F6525      PIC18F6527      
PIC18F6585      PIC18F6620      PIC18F6621      PIC18F6622
PIC18F6627      PIC18F6628      PIC18F6680      PIC18F6720
PIC18F6722      PIC18F6723
PIC18F8310      PIC18F8390      PIC18F8393      PIC18F8410
PIC18F8490      PIC18F8493
PIC18F8520      PIC18F8525      PIC18F8527      PIC18F8585
PIC18F8620      PIC18F8621      PIC18F8622      PIC18F8627
PIC18F8628
PIC18F8680      PIC18F8720      PIC18F8722    PIC18F8723

PIC18F_J
——————
PIC18F24J10     PIC18LF24J10     
PIC18F24J11     PIC18LF24J11    PIC18F24J50     PIC18LF24J50
PIC18F25J10     PIC18LF25J10        
PIC18F25J11     PIC18LF25J11    PIC18F25J50     PIC18LF25J50
PIC18F26J11     PIC18LF26J11    PIC18F26J50     PIC18LF26J50
PIC18F44J10     PIC18LF44J10
PIC18F44J11     PIC18LF44J11    PIC18F44J50     PIC18LF44J50
PIC18F45J10     PIC18LF45J10
PIC18F45J11     PIC18LF45J11    PIC18F45J50     PIC18LF45J50
PIC18F46J11     PIC18LF46J11    PIC18F46J50     PIC18LF46J50
PIC18F63J11     PIC18F63J90     PIC18F64J11     PIC18F64J90
PIC18F65J10     PIC18F65J11     PIC18F65J15     PIC18F65J50
PIC18F65J90  
PIC18F66J10     PIC18F66J11     PIC18F66J15     PIC18F66J16
PIC18F66J50     PIC18F66J55     PIC18F66J60     PIC18F66J65    
PIC18F66J90
PIC18F67J10     PIC18F67J11     PIC18F67J50     PIC18F67J60
PIC18F67J90
PIC18F83J11     PIC18F83J90     PIC18F84J11     PIC18F84J90
PIC18F85J10     PIC18F85J11     PIC18F85J15     PIC18F85J50
PIC18F85J90
PIC18F86J10     PIC18F86J11     PIC18F86J15     PIC18F86J16
PIC18F86J50     PIC18F86J55     PIC18F86J60     PIC18F86J65
PIC18F86J90     
PIC18F87J10     PIC18F87J11     PIC18F87J50     PIC18F87J60
PIC18F87J90
PIC18F96J60     PIC18F96J65     PIC18F97J60

PIC18F_K
——————
PIC18F13K22     PIC18LF13K22    PIC18F14K22     PIC18LF14K22
PIC18F13K50     PIC18LF13K50    PIC18F14K50     PIC18LF14K50
PIC18F14K50-ICD
PIC18F23K20     PIC18F24K20     PIC18F25K20     PIC18F26K20
PIC18F43K20     PIC18F44K20     PIC18F45K20     PIC18F46K20

PIC24
————-
PIC24F04KA200   PIC24F04KA201
PIC24F08KA101   PIC24F08KA102
PIC24F16KA101   PIC24F16KA102
   NOTE: To program PIC24F-KA- devices with MCLR used as IO,
         Tools > Use High Voltage Program Entry must be enabled.

PIC24FJ16GA002       PIC24FJ16GA004
PIC24FJ32GA002       PIC24FJ32GA004
PIC24FJ32GA102       PIC24FJ32GA104
PIC24FJ48GA002       PIC24FJ48GA004
PIC24FJ64GA002       PIC24FJ64GA004
PIC24FJ64GA102       PIC24FJ64GA104

PIC24FJ64GA006       PIC24FJ64GA008       PIC24FJ64GA010
PIC24FJ96GA006       PIC24FJ96GA008       PIC24FJ96GA010
PIC24FJ128GA006      PIC24FJ128GA008      PIC24FJ128GA010
PIC24FJ128GA106      PIC24FJ128GA108      PIC24FJ128GA110
PIC24FJ192GA106      PIC24FJ192GA108      PIC24FJ192GA110
PIC24FJ256GA106      PIC24FJ256GA108      PIC24FJ256GA110

PIC24FJ32GB002       PIC24FJ32GB004
PIC24FJ64GB002       PIC24FJ64GB004

PIC24FJ64GB106       PIC24FJ64GB108       PIC24FJ64GB110
PIC24FJ128GB106      PIC24FJ128GB108      PIC24FJ128GB110
PIC24FJ192GB106      PIC24FJ192GB108      PIC24FJ192GB110
PIC24FJ256GB106      PIC24FJ256GB108      PIC24FJ256GB110

PIC24HJ12GP201       PIC24HJ12GP202
PIC24HJ16GP304      
PIC24HJ32GP202       PIC24HJ32GP204
PIC24HJ32GP302       PIC24HJ32GP304
PIC24HJ64GP202       PIC24HJ64GP204
PIC24HJ64GP206       PIC24HJ64GP210       
PIC24HJ64GP502
PIC24HJ64GP504       PIC24HJ64GP506       PIC24HJ64GP510
PIC24HJ128GP202      PIC24HJ128GP204
PIC24HJ128GP206      PIC24HJ128GP210      
PIC24HJ128GP306      PIC24HJ128GP310      
PIC24HJ128GP502      PIC24HJ128GP504
PIC24HJ128GP506      PIC24HJ128GP510
PIC24HJ256GP206      PIC24HJ256GP210      PIC24HJ256GP610

dsPIC33
—————
dsPIC33FJ06GS101     dsPIC33FJ06GS102     dsPIC33FJ06GS202
dsPIC33FJ16GS402     dsPIC33FJ16GS404
dsPIC33FJ16GS502     dsPIC33FJ16GS504

dsPIC33FJ12GP201     dsPIC33FJ12GP202
dsPIC33FJ16GP304    
dsPIC33FJ32GP202     dsPIC33FJ32GP204
dsPIC33FJ32GP302     dsPIC33FJ32GP304
dsPIC33FJ64GP202     dsPIC33FJ64GP204
dsPIC33FJ64GP206     dsPIC33FJ64GP306     dsPIC33FJ64GP310
dsPIC33FJ64GP706     dsPIC33FJ64GP708     dsPIC33FJ64GP710
dsPIC33FJ64GP802     dsPIC33FJ64GP804
dsPIC33FJ128GP202    dsPIC33FJ128GP204
dsPIC33FJ128GP206    dsPIC33FJ128GP306    dsPIC33FJ128GP310
dsPIC33FJ128GP706    dsPIC33FJ128GP708    dsPIC33FJ128GP710
dsPIC33FJ256GP506    dsPIC33FJ256GP510    dsPIC33FJ256GP710
dsPIC33FJ128GP802    dsPIC33FJ128GP804

dsPIC33FJ12MC201     dsPIC33FJ12MC202
dsPIC33FJ16MC304    
dsPIC33FJ32MC202     dsPIC33FJ32MC204
dsPIC33FJ32MC302     dsPIC33FJ32MC304
dsPIC33FJ64MC202     dsPIC33FJ64MC204
dsPIC33FJ64MC506     dsPIC33FJ64MC508     dsPIC33FJ64MC510
dsPIC33FJ64MC706     dsPIC33FJ64MC710    
dsPIC33FJ64MC802     dsPIC33FJ64MC804
dsPIC33FJ128MC202    dsPIC33FJ128MC204  
dsPIC33FJ128MC506    dsPIC33FJ128MC510    dsPIC33FJ128MC706
dsPIC33FJ128MC708    dsPIC33FJ128MC710
dsPIC33FJ256MC510    dsPIC33FJ256MC710
dsPIC33FJ128MC802    dsPIC33FJ128MC804

dsPIC30
—————
dsPIC30F2010         dsPIC30F2011         dsPIC30F2012
dsPIC30F3010         dsPIC30F3011         dsPIC30F3012
dsPIC30F3013         dsPIC30F3014
dsPIC30F4011         dsPIC30F4012         dsPIC30F4013
dsPIC30F5011^        dsPIC30F5013^        dsPIC30F5015
dsPIC30F5016
dsPIC30F6010A        dsPIC30F6011A        dsPIC30F6012A
dsPIC30F6013A        dsPIC30F6014A        dsPIC30F6015

dsPIC30 SMPS
———————
dsPIC30F1010
dsPIC30F2020         dsPIC30F2023

PIC32
PIC32MX320F032H      PIC32MX320F064H      PIC32MX320F128L
PIC32MX320F128H
PIC32MX340F128H      PIC32MX340F128L
PIC32MX340F256H
PIC32MX340F512H*
PIC32MX360F256L      PIC32MX360F512L
PIC32MX420F032H
PIC32MX440F128L      PIC32MX440F128H
PIC32MX440F256H      PIC32MX440F512H
PIC32MX460F256L      PIC32MX460F512L

KEELOQ HCS
——————
HCS200     HCS201     HCS300     HCS301      HCS320
HCS360     HCS361     HCS362

    HCSxxx File -> Import HEx Notes:
        The first line only may be imported from SQTP
                *.NUM files generated by the KEELOQ tool in
                MPLAB.

       Подключение HCS к программатору:
        —————————————
        PICkit 2 Pin             HCS Device Pin
        (2) Vdd                   8
        (3) GND                  5
        (5) PGC                 /3            HCS20x, 320
                                \3 -or- 4     HCS30x, 36x
        (4) PGD                  6
        (1) VPP                  2            HCS360, 361 only

MCP250xx CAN
———————
MCP25020       MCP25025
MCP25050       MCP25055

!!IMPORTANT!! — MCP250xx devices are OTP and can only be
                programmed once.

        Подключение MCP250xx к программатору:
        —————————————
        PICkit 2 Pin             MCP Device Pin (DIP)
        (1) Vpp                  11 Vpp
        (2) Vdd                  14 VDD
        — The MCP device MUST be powered from PICkit 2!
        (3) GND                  7 Vss
        (4) PGD                  5 DATA
        (5) PGC                  6 CLOCK

Serial EEPROM:
———————
NOTE: Other supported voltage grades are listed in parentheses
      next to the device.  Select the «LC» part number to program
      these other voltage grades.

11LC010 (AA)
11LC020 (AA)
11LC040 (AA)
11LC080 (AA)
11LC160 (AA)

24LC00   (AA)(C)                  25LC010A (AA)
24LC01B  (AA)                     25LC020A (AA)
24LC02B  (AA)                     25LC040A (AA)
24LC04B  (AA)                     25LC080A (AA)
24LC08B  (AA)                     25LC080B (AA)
24LC16B  (AA)                     25LC160A (AA)
24LC32A  (AA)                     25LC160B (AA)
24LC64   (AA)(FC)                 25LC320A (AA)
24LC128  (AA)(FC)                 25LC640A (AA)
24LC256  (AA)(FC)                 25LC128  (AA)
24LC512  (AA)(FC)                 25LC256  (AA)
24LC1025 (AA)(FC)                 25LC512  (AA)
                                  25LC1024 (AA)

93LC46A/B/C  (AA)(-C)
93LC56A/B/C  (AA)(-C)
93LC66A/B/C  (AA)(-C)
93LC76A/B/C  (AA)(-C)
93LC86A/B/C  (AA)(-C)

        Подключение 11LC к программатору:
        —————————————
        PICkit 2 Pin             11LC Device Pin (DIP)
        (2) Vdd !                   8 Vcc
        (3) GND                   4 Vss
        (6) AUX                    5 SCIO

    ! 11LC devices may not program properly below 3.6V VDD.
          This is a limitation of the PICkit 2 AUX IO pin.

        Подключение 24LC к программатору:
        —————————————
        PICkit 2 Pin             24LC Device Pin (DIP)
        (2) Vdd !                  8 Vcc
        (3) GND                  4 Vss
        (5) PGC                  6 SCL (driven as push-pull)
        (6) AUX                  5 SDA (requires pullup)
                                     7 WP — disabled (GND)
                                    1, 2, 3 Ax pins
                                    Connect to Vdd or GND per
                                    datasheet and to set address

    ! 24LC devices may not program properly below 3.6V VDD.
          This is a limitation of the PICkit 2 AUX IO pin.

       Подключение  25LC к программатоу:
        —————————————
        PICkit 2 Pin             25LC Device Pin (DIP)
        (1) VPP                    1 nCS
        (2) Vdd                     8 Vcc
        (3) GND                    4 Vss
        (4) PGD                    2 SO
        (5) PGC                    6 SCK
        (6) AUX                     5 SI
                                        7 nHOLD — disabled (Vdd)
                                        3 nWP — disabled (Vdd)

        Подключение 93LC к программатору:
        —————————————
        PICkit 2 Pin             93LC Device Pin (DIP)
        (1) VPP                  1 CS
        (2) Vdd                  8 Vcc
        (3) GND                  5 Vss
        (4) PGD                  4 DO
        (5) PGC                  2 CLK
        (6) AUX                  3 DI
                                 7 PE — enabled (Vdd)
                                 6 ‘C’ Device ORG
                                    Set to select word size

——————————————————————
2. Operating System Support List
——————————————————————

This tool has been tested under the following operating systems:

Windows XP,  Windows Vista 32-bit, Windows Vista 64-bit, /7- 32/64 bit / 8 — 32/64 bit

                                                               AVRDUDESCHEL
AVRDudeShel (ADS) – программа для Windows систем для программирования (прошивки) микроконтроллеров семейства AVR, таких как ATmega8, ATtiny, AXmega, AT90 (полный список поддерживаемых микроконтроллеров см. в конце статьи). Программа поддерживает такие популярные программаторы как USBASP, AVR910, STK500 (полный список поддерживаемых программаторов см. в конце статьи, )в том числе и PICKIT2. Фактически ADS это графическая надстройка над консольной программой AVRDude, поэтому все те микроконтроллеры и программаторы, которые поддерживает AVRDude, поддерживает и AVRDudeShel (ADS).

Список поддерживаемых микроконтроллеров:

ATMEGA
ATmega103, ATmega128, ATmega1280, ATmega1281, ATmega1284P, ATmega128RFA1, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164P, ATmega168, ATmega169, ATmega2560, ATmega2561, ATmega32, ATmega324P, ATmega325, ATmega3250, ATmega328P, ATmega329, ATmega3290, ATmega3290P, ATmega329P, ATmega48, ATmega64, ATmega640, ATmega644, ATmega644P, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega8, ATmega8515, ATmega8535, ATmega88

ATTINY
ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny2313, ATtiny24, ATtiny25, ATtiny26, ATtiny261, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85, ATtiny861, ATtiny88

ATXMEGA
ATxmega128A1, ATxmega128A3, ATxmega16A4, ATxmega192A3, ATxmega256A3, ATxmega256A3B, ATxmega32A4, ATxmega64A1, ATxmega64A3

AT
AT90CAN128, AT90CAN32, AT90CAN64, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90S1200, AT90S2313, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8535, AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647, AT90USB82

Список поддерживаемых программаторов:

89ISP, ABCMINI, ALF, ARDUINO, ATISP, AVR109, AVR910, AVR911, AVRISP, AVRISP2, AVRISPMKII, AVRISPV2, BASCOM, BLASTER, BSD, BUTTERFLY, C2N232I, DAPA, DASA, DASA3, DRAGON_DW, DRAGON_HVSP, DRAGON_ISP, DRAGON_JTAG, DRAGON_PP, DT006, ERE-ISP-AVR, FRANK-STK200, FUTURLEC, JTAG1, JTAG1SLOW, JTAG2, JTAG2DW, JTAG2FAST, JTAG2ISP, JTAG2SLOW, JTAGMKI, JTAGMKII, MIB510, PAVR, PICOWEB, PONYSER, PONY-STK200, SIPROG, SP12, STK200, STK500, STK500HVSP, STK500PP, STK500V1, STK500V2, STK600, STK600HVSP, STK600PP, USBASP, USBTINY, XIL

По поводу приобретения обращатс сюда: https://www.olx.ua/obyavlenie/pickit2-simulyator-otladchik-pic-programmator-pic-i-avr-kontrollerov-IDnVYbK.html

или в почту:[email protected]

Универсальный программатор для микроконтроллеров AVR и 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 необходимо «прошить». Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема «курицы и яйца». Как её решил я, расскажу чуть позднее.

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

Название
Обозначение
Номинал/Параметры
Марка или тип элемента
Для основной части программатора

МикроконтроллерDD18-ми битный микроконтроллерPIC18F2550-I/SP
Биполярные транзисторыVT1, VT2, VT3КТ3102
VT4КТ361
ДиодVD1КД522, 1N4148
Диод ШотткиVD21N5817
СветодиодыHL1, HL2любой на 3 вольта, красного
и зелёного
цвета свечения
РезисторыR1, R2300 Ом
R322 кОм
R41 кОм
R5, R6, R1210 кОм
R7, R8, R14100 Ом
R9, R10, R15, R164,7 кОм
R112,7 кОм
R13100 кОм
КонденсаторыC20,1 мкК10-17 (керамические), импортные аналоги
C30,47 мк
Электролитические конденсаторыC1100 мкф * 6,3 вК50-6, импортные аналоги
C447 мкф * 16 в
Катушка индуктивности (дроссель)L1680 мкГнунифицированный типа EC24, CECL или самодельный
Кварцевый резонаторZQ120 МГц
USB-розеткаXS1типа USB-BF
ПеремычкаXT1любая типа «джампер»
Для панели установки микроконтроллеров (МК)

ZIF-панельXS1любая 40-ка контактная ZIF-панель
РезисторыR12 кОмМЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R610 кОм

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

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

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

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

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

Раз решено было собрать миниатюрный программатор, то перерисовал схему под микроконтроллер Atmega8 в корпусе TQFP32
(распиновка микроконтроллера отличается от распиновки в корпусе DIP):

Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дёргаю, а постоянно шью с ней.

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

Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-ти пинового ISP разъема:

На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 45х18 мм.

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

Прошивка управляющего микроконтроллера

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

Микроконтроллер можно прошивать с разъема программирования, соединив выводы Reset микроконтроллера (29 нога) и разъема. Прошивка существует для моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega48 прекращена и последняя версия прошивки датируется 2009 годом. А версии под 8-й и 88-й камни постоянно обновляются, и автор вроде как планирует добавить в функционал внутрисхемный отладчик. Прошивку берем на странице немца. Для заливки управляющей программы в микроконтроллер я использовал программу PonyProg. При программировании необходимо завести кристалл на работу от внешнего источника тактирования на 12 МГц. Скрин программы с настройками fuse перемычек в PonyProg:

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

Установка драйвера

Установка велась на машину с системой Windows 7 и никаких проблем не возникло. При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места:

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

Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:

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

Все, теперь программатор готов к работе.

Khazama AVR Programmer

Для работы c программатором я выбрал прошивальщик Khazama AVR Programmer. Замечательная программка, с минималистичным интерфейсом.

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

Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC).

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

Скачать файл печатной платы
в SprintLayout можно по этой ссылке

22 сентября 2011 в 20:11

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

Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL, то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP, мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку.

Автором данного программатора является немец Thomas Fichl, страничка его разработки со схемами, файлами печатных плат и драйверами.
Раз решено было собрать миниатюрный программатор, то перерисовал схему под микроконтроллер Atmega8 в корпусе TQFP32 (распиновка микроконтроллера отличается от распиновки в корпусе DIP):

Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дёргаю, а постоянно шью с ней.
Стабилитроны D1 и D2 служат для согласования уровней между программатором и USB шиной, без них работать будет, но далеко не на всех компьютерах.
Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-ти пинового ISP разъема:

На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 45х18 мм.

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

Прошивка управляющего микроконтроллера

Итак, после сборки устройства осталось самое важное — прошить управляющий микроконтроллер. Для этих целей хорошо подходят друзья у которых остались компьютеры с LPT портом:) Простейший программатор на пяти проводках для AVR
Микроконтроллер можно прошивать с разъема программирования, соединив выводы Reset микроконтроллера (29 нога) и разъема. Прошивка существует для моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega48 прекращена и последняя версия прошивки датируется 2009 годом. А версии под 8-й и 88-й камни постоянно обновляются, и автор вроде как планирует добавить в функционал внутрисхемный отладчик. Прошивку берем на странице немца. Для заливки управляющей программы в микроконтроллер я использовал программу PonyProg. При программировании необходимо завести кристалл на работу от внешнего источника тактирования на 12 МГц. Скрин программы с настройками fuse перемычек в PonyProg:

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

Установка драйвера

Установка велась на машину с системой Windows 7 и никаких проблем не возникло. При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места:

Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:

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

Все, теперь программатор готов к работе.

Khazama AVR Programmer

Для работы c программатором я выбрал прошивальщик Khazama AVR Programmer . Замечательная программка, с минималистичным интерфейсом.

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

Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC).
В общем, за все время пользования этим программатором, он показал себя с наилучшей стороны в плане стабильности и скорости работы. Он без проблем заработал как на древнем стационарном пк так и на новом ноутбуке.

Скачать файл печатной платы в SprintLayout можно по

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

В радиолюбительских журналах и сети Интернет приводится множество схем программаторов. Они отличаются способом подключения к компьютеру: через LPT, COM, USB. Программаторы для порта LPT наиболее простые, для COM — чуть сложнее. Для программатора, подключаемого к USB-порту, нужно иметь либо микроконтроллер, либо специализированную микросхему, преобразователь USB — UART. Кроме этого, разные программаторы предназначены для прошивки разных микроконтроллеров: AVR или PIC, при том, что алгоритм программирования этих двух типов микроконтроллеров отличается незначительно. Поэтому само собой напрашивается желание собрать универсальный программатор для любых микроконтроллеров — AVR и PIC.

Оптимальной нам показалась приведённая ниже схема программатора. Он подключается к COM-порту компьютера и содержит известную микросхему MAX232, которая корректно работает с любым COM-портом (у разных компьютеров уровни порта могут существенно отличаться от стандарта), защищая его при случайных ошибках монтажа или подключения. Программатор имеет панельки для разных корпусов микроконтроллеров, а также возможность для внутрисхемного программирования ICSP, когда программатор подключается проводами к плате с микроконтроллером или непосредственно к ножкам микроконтроллера без установки его в панельку. Программатор видится программами как JDM, поэтому проблем с программным обеспечением не возникает. Можно рекомендовать программу IC-PROG 1.06В.

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

Вместо микросхемы 74LS00 можно поставить К555ЛА3 или КР1533ЛА3, транзисторы, в принципе, заменимы на похожие. У данной схемы есть одна странность — номиналы токоограничительных резисторов для светодиодов. Так как светодиоды подключены к разным участкам схемы, напряжения на этих участках также разные, из-за чего светодиоды светятся с разной яркостью. Для того, чтобы это исправить, можно попробовать подобрать резисторы, в частности — уменьшить R4 и R7. Вместо КД523 можно использовать распространённые 1N4148.

Печатная плата.lay (для Sprint Layout) Разводка выполнена под SMD-резисторы, остальные компоненты — в обычном исполнении.

Внимание! На печатной плате проводки MOSI и MISO к панельке ATMEGA8 показаны неправильно, их нужно перекинуть. Также C7 и C9 имеют перемычки — их нужно убрать.

Работа с IC-PROG

Скачивать программу нужно с официального сайта:

http://www.ic-prog.com/index1.htm

В каталоге программы должны находиться следующие файлы:

icprog.exe — непосредственно программа
icprog.sys — драйвер доступа к портам под XP

Необходимо нажать правой клавишей мыши на файле icprog.exe и выбрать «свойства». На вкладке «совместимость» необходимо поставить галочку «запустить в режиме совместимости» и выбрать Windows 2000.

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

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

После этого программа готова к работе с программатором.

Когда-то давно пару лет назад, в очередной раз пересмотрел подшивку
како-го радиотехнического журнала и задумался: а не пора ли осваивать
микроконтроллеры? С этим проблем не было, литературы много, примеров
достаточно. Изучил матчасть, написал свою первую ПРОГРАММУ. Потом
начались поиски того, чем эту программу запихнуть в контроллер, тоесть
программатора. Нужна была схема простая, чтоб собрать из того, что под
рукой и надежная, без глюков так сказать. После долгих поисков выбор пал
на схему программатора из журнала «РАДИО» №10 2007г. ст. 31. Описывать
эту схему не стану, для желающих в архиве есть оригинал статьи. Скажу
лишь, что схема отлично работала, шила все подряд без проблем, только
почему-то иногда вилетал МАХ232 (заменил 3 шт., может бракованые
попались). Тот программатор подарил коллеге и решил собрать себе
такой-же, но у меня не оказалось еще одного управляемого стабилизатора
K78R12C, опять начались поиски замены… В результате родилась вот такая
схема, это результат «скрещивания» журнальной схемы и фирменного
программатора SI-PROG:

MAX232 заменил на более быстродействующий ST232, управляемый
стабилизатор заменил обычным 7812 и транзисторным ключем после него,
транзисторы — ВС547, все остальные детали — по рекомендациям из
оригинальной статьи. Также добавил отдельную подключаемую плату с
панельками для разных типов контроллеров (так как в основном юзаю РІС-и,
то плата пока только под них, а если нужно прошить AVR — то
проводочками:-)). Монтируется все это на вот такой плате:

А это сменная плата для ПИК-ов и микросхем памяти:

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

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

На фото видно в корпусе трансформатор питания, я его потом выкинул, так
как он оказался слабоват (сделал светодиодную подсветку передней панели
из сверхярких светодиодов, и трансформатор не осилил:-). Сейчас
используется внешний блок питания 15В, и током до 1А.
Программатор работает с программами PonyProg, Si-prog, WinPic800.
Используя для управления программу PonyProg следует выбрать в
соответствующем ее окне программатор SI Prog I/O и задать инверсию
сигналов в соответствии с таблицей 1, для программ Si-Prog и WinPic 800
следует выбрать программатор JDM Programmer, а инверсию сигналов задать в
соответствии с таблицами 2 и 3.

Схема универсальных usb программаторов телефонов. Программаторы микроконтроллеров AVR

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

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

Цена готовых 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 необходимо «прошить». Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема «курицы и яйца». Как её решил я, расскажу чуть позднее.

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

Название
Обозначение
Номинал/Параметры
Марка или тип элемента
Для основной части программатора

МикроконтроллерDD18-ми битный микроконтроллерPIC18F2550-I/SP
Биполярные транзисторыVT1, VT2, VT3КТ3102
VT4КТ361
ДиодVD1КД522, 1N4148
Диод ШотткиVD21N5817
СветодиодыHL1, HL2любой на 3 вольта, красного
и зелёного
цвета свечения
РезисторыR1, R2300 Ом
R322 кОм
R41 кОм
R5, R6, R1210 кОм
R7, R8, R14100 Ом
R9, R10, R15, R164,7 кОм
R112,7 кОм
R13100 кОм
КонденсаторыC20,1 мкК10-17 (керамические), импортные аналоги
C30,47 мк
Электролитические конденсаторыC1100 мкф * 6,3 вК50-6, импортные аналоги
C447 мкф * 16 в
Катушка индуктивности (дроссель)L1680 мкГнунифицированный типа EC24, CECL или самодельный
Кварцевый резонаторZQ120 МГц
USB-розеткаXS1типа USB-BF
ПеремычкаXT1любая типа «джампер»
Для панели установки микроконтроллеров (МК)

ZIF-панельXS1любая 40-ка контактная ZIF-панель
РезисторыR12 кОмМЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R610 кОм

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

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

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

Программатор выполнен на основе драйвера от Objective Development и полностью совместим по командам с оригинальным программатором AVR910 от ATMEL. Описание устройства. Предохранитель защищает линий питания порта USB от случайного замыкания по цепям питания программатора. Диоды VD1, VD2 впрямительные кремниевые, они предназначены для понижения питания микроконтроллера до 3,6 В. Согласно документации, контроллер может работать при таком напряжении питания до частоты чуть более 14 МГц. Светодиоды VL1 («RD
”), VL2 («WR
”) сигнализируют о текущих действиях программатора и обозначают режимы чтения и записи. Светодиод VL3 («PWR
”) показывает подачу питания на .

Джампер J1 — (MODify
) служит для начального программирования управляющего МК программатора. При его замыкании, к разъему ISP подключается внешний программатор и производится загрузка в МК управляющей программы. После программирования управляющего МК программатора этот джампер необходимо разомкнуть и замкнуть джампер J2 — NORMal.

Джампер J3 LOW SCK
понижает тактовую частоту порта SPI МК программатора до ~20 кГц. При разомкнутом джампере частота SPI нормальная, при замкнутом — пониженная. Переключать джампер можно на ходу, так как управляющая программа МК программатора проверяет состояние линии PB0 при каждом обращении к порту SPI. Не рекомендуется переключать джампер при запущенном процессе записи/чтения программируемого МК, т.к., скорее всего, это приведет к искажению записываемых/читаемых данных. Джампер J3 введен для возможности программирования МК AVR, тактируемых от внутреннего генератора 128 кГц.

Резисторы R10 — R14 предназначены для согласования уровней сигналов микроконтроллера программатора и внешних цепей (программируемый МК или другой программатор). Тактовая частота порта SPI МК программатора при разомкнутом джампере J3 равна 187,5 кГц. Это позволяет программировать контроллеры с тактовой частотой примерно от 570 кГц для ATtiny/ATmega, 750 кГц для 90S и 7,5 МГц для 89S. Контроллеры программируются от 10 до 30 секунд (при использовании утилиты AVRProg v.1.4 из пакета AVR Studio) вместе с верификацией в зависимости от объема FLASH памяти и тактовой частоты.

На вывод LED разъема ISP выведен меандр с частотой 1 МГц для «оживления» МК, у которых были ошибочно запрограммированы фьюз-биты, отвечающие за тактирование. Сигнал генерируется постоянно и не зависит от режима работы программатора. Программатор тестировался с программами AVRProg v.1.4 (входит в пакет AVRStudio), ChipBlasterAVR v.1.07 Evaluation, CodeVisionAVR, AVROSP (ATMEL AVR Open Source Programmer). Для нормального функционирования контроллера в схеме необходимо, чтобы были запрограммированы (установлены в «0») биты SPIEN
, CKOPT
, SUT0
и BODEN
. Обычно микроконтроллеры, идущие с завода, т.е. новые, имеют уже запрограммированный бит SPIEN
. Остальные биты должны быть незапрограммированные (установлены в «1»).

Инструкция по установке и работе. Прошить контроллер. Подключить свежеиспеченный программатор к компьютеру через USB. Операционная система найдет новое устройство — AVR910 USB Programmer, при предложении автоматически найти драйвер, отказаться, и указать путь к inf-файлу, в зависимости от установленной на вашем компьютере операционной системы.

На форуме находятся все файлы, а также печатная плата для нашего программатора avr. Здесь покажу технологию сборки USB программатора AVR и упаковки в корпус. Для начала скачиваем архив и делаем печатную плату.

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

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

Если нет специальной измерительной аппаратуры, можно произвести проверку при помощи светодиода. Светодиод подключается анодом к контакту LED, катодом к любому контакту GND ISP-разъема. При подаче питания светодиод должен светится в «полнакала». При замыкании пинцетом ножек кварцевого генератора светодиод должен либо засветится в «полный накал», либо свечение должно отсутствовать.

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

Обсудить статью ПРОГРАММАТОР AVR USB

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

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

В этой статье мы рассмотрим USB-программатор (AVR) на базе управляющего микроконтроллера Atmega 8. Это изделие достаточно простое, для того чтобы радиолюбитель смог собрать его самостоятельно и не тратил большие деньги на фирменное изделие. Выбранный нами USB-программатор (AVR) имеет минимальную обвязку микроконтроллера, что позволяет собрать весьма миниатюрный прибор. Такое изделие не займет много места, оно имеет обычной флэшки. USB-программатор (AVR) в своей схеме содержит микроконтроллер тип корпуса — TQFP 32 (не следует путать с типом корпуса DIP, так как у них различные распиновки). Схема такого устройства приведена на фото.

Приступим к описанию схемы прибора. Перемычка J1 используется в том случае, когда возникает необходимость прошивки микроконтроллера, имеющего тактовую частоту ниже 1,5 Мгц. При желании эта перемычка легко исключается из схемы, для этого 25-й вывод контроллера садится на «землю». В таком случае AVR-USB-программатор всегда будет функционировать на пониженной частоте. Следует учесть, что программирование на занимает больше времени, но решать, конечно же, вам. Стабилитроны D1, D2 применяются для согласования уровня между USB-шиной и программатором. Голубой светодиод сигнализирует о готовности устройства к программированию микроконтроллера, красный диод горит в процессе программирования. Схема имеет IDC-06 разъем, на который выведены контакты, распиновка которых соответствует типу ATMEL 6-пинового разъема ISP. На указанный разъем выводятся контакты питания микроконтроллеров, оно берется с USB-порта персонального компьютера, следовательно, необходимо быть внимательным, чтобы не допустить С помощью этого же разъема происходит программирование и управляющего контроллера, для этого необходимо соединить контакты Reset на контроллере и на разъеме (на схеме показано красным пунктиром).

Перемычка снижения скорости программатора и разъем подключения микроконтроллера расположены на торце устройства. Вот что представляет собой USB-программатор (AVR), как видите, все элементарно.

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

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

В данной статье мы опишем „шаг за шагом” этапы изготовления USBasp программатора для микроконтроллеров AVR
. В отдельных статьях приведем описание установки драйверов для операционных систем Windows XP и Windows 7 (x64/x86). В конце поста размещена ссылка с необходимой документацией для изготовления программатора USBasp своими руками.

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

Основные характеристики программатора USBasp

  • Работает с несколькими операционными системами – Linux, Mac OS X и Windows – включая Windows 8!
  • Не требует внешнего питания.
  • Умеет программировать со скоростью вплоть до 5kB/s
  • Есть вариант (Switch 2) снижения скорость программирования – для процессоров с кварцем меньше 1,5 Мгц
  • Обеспечивает напряжение для программирования (Switch 1) 5 вольт
  • Указание работы программатора с помощью светодиода

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

  1. Выбор схемы/рисунка печатной платы
  2. Перенос рисунка печатной платы на фольгированный стеклотекстолит
  3. Травление печатной платы в растворе хлорного железа
  4. Сверление отверстий
  5. Монтаж элементов (пайка)
  6. Программирование Atmaga8 программатора
  7. Подключение программатора к компьютеру
  8. Установка драйверов – Windows XP, Windows 7
  9. Выбор программы с поддержкой USBasp

Существует много версий USBasp программатора, но все они основаны на главной схеме, автором которой является Thomas Fischl . Прошивка микроконтроллера программатора также является его авторством.

Оригинальная схема программатора:

В данном случае за основу была выбрана оригинальная схема. Поскольку использование перемычек в оригинальной схеме не совсем удобно, было принято решение использовать DIP переключатели. Так же были изменены некоторые значения резисторов.
Более того, в оригинальной схеме линии TxD и RxD выведены на разъем ISP, хотя это не нужно (точнее не используются на практике).

Ниже приведена схема с внесенными изменениями:

Строительство USBasp программатора

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

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

Ниже результат печатной платы:

Как видно на рисунке, в программаторе не применялись SMD элементы. Пустое пространство на плате „залито” полем массы, главным образом для того, чтобы не вытравливать большое количество меди, а также снизить влияние помех на программатор.

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

  • R1: 10к
  • R2: 180
  • R3: 100
  • R5, R6: 68
  • R7: 2к2
  • C1, C2: 22п
  • C3: 10мк
  • C4: 100н
  • LED1: Красный светодиод на 20мА
  • LED2: Зеленый светодиод на 20мА
  • D2, D3: стабилитроны на 3,6В
  • X1: Разъем USB, тип B
  • SV1: Гнездо под разъем IDC-10
  • Q1: Кварц 12МГц, корпус HC49-S
  • SW1: Dip переключатель трехпозиционный
  • IC1: Atmega8 (ПРИМЕЧАНИЕ: Не следует использовать микроконтроллер Atmega8 — PU из-за его ограничение максимальной тактовой частотой до 8 МГц!)

Перенос рисунка печатной платы USBasp программатора на стеклотекстолит выполнен с помощью метода ЛУТ (). Как это делать описывать не будем, поскольку данной информации в сети много.

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

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

После завершения процесса травления необходимо удалить тонер ацетоном.

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

Готовые к печати (в формате PDF) рисунок печатной платы находится в конце статьи. Вы также можете найти несколько вариантов на официальном сайте проекта.

Первый запуск USBasp программатора

Теперь, когда все детали спаяны, остается только «прошить» микроконтроллер Atmegę8 самого программатора. Для этого нужен отдельный программатор, это может быть, например, STK 200 (LPT порт), STK500 и т. д. LPT программатор подключается к USBasp через разъем IDC-10.

Обратите внимание, что распределение пинов в разъеме оригинального программатора (USBasp) находится справа, в то время как в версии, описываемой в этой статье – слева:

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

На время программирования включите режим SELF путем переключения DIP переключателя № 3 в положение ON. Благодаря этому появляется возможность запрограммировать Atmega8. После завершения программирования, положение переключателя (3) должна быть переведено в состоянии OFF.

Последнюю версию прошивки можно скачать с официального сайта. Рекомендуем версию для Atmega8, которая находится в архиве: usbasp.2011-05-28.tar.gz.

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

  • # для Atmega8: HFUSE=0xC9 LFUSE=0xEF
  • # для Atmega48: HFUSE=0xDD LFUSE=0xFF

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

Установка драйверов USBasp программатора

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

  • Установка драйверов для программатора USBasp под Windows XP
  • Установка драйверов для программатора USBasp Windows 7 x64/x86

Программы для работы программатора USBasp

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

Ну вот и пришло время нам соорудить USB программатор. Я долго не мог определиться какой бы программатор нам собрать. Выбирал по критериям простоты конструкции и удобства работы с ними, но ничего не нравилось. Выбрать программатор помог случай. Вернее я его не выбирал вообще – я его случайно собрал сам того не подозревая!

А дело было так. Некоторое количество постов назад мы собрали преобразователь USB to UART на ATtiny2313 (а в мы даже улучшили печатную плату). Еще при выборе схемы преобразователя я планировал на его базе (при помощи заливки различных прошивок) получать устройства различного назначения. Тогда я не подозревал, что данный преобразователь можно использовать шире, чем я планировал. Увидев схему USB программатора — USBtiny на ATtiny2313 я понял, что я уже имею готовый программатор!

Посмотрев на схему, сделанного ранее, преобразователя USB to UART
(домашняя страничка)

и схему USB программатора USBTiny
(домашняя страница)

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

Теперь все по порядку.
1 Для начала нужно собрать преобразователь
(это если Вы его еще не собрали).
Вот рисунок печатной платы преобразователя:
Если интересно — вот .
В собранном виде преобразователь выглядит так:

2 Немного модифицируем плату
Для того, чтобы обеспечить все необходимые сигналы для программирования впаиваем защитные резисторы номиналом по 100 Ом в линии ножек 12, 16, 17, 18, 19 (номинал не критичен — можно варьировать).

3 Теперь нужно прошить микроконтроллер.

Линии для программатора выведены на общий разъем платы (кроме сброса — стоит отдельно).

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

Схема шлейфа проста.

Из особенностей — я вынес индикаторный светодиод и балластный резистор для него за плату на разъем — это для того, чтобы плату без перепайки можно было использовать для других устройств (ну и так прикольней — светодиод мигает прямо в разъеме:)). Кроме того, линия Vcc отделена от общего разъема — это на случай если программируемое устройство запитывается не от USB, а от своего источника (что, в принципе, желательно). Сигнальные линии (SCK, MISO, MOSI) желательно экранировать (например чередованием сигнальных и земляных линий в шлейфе). Длину шлейфа не стоит делать большой — до 50 см, не больше. Если нужно программировать удаленное устройство всегда можно применить USB удлинитель — так надежней. Вот мой готовый шнурок:

5
Сам программатор готов, теперь нужно установить драйвер
для того, чтобы Винда смогла с ним работать (для Mac OS X & Linux, вродь-как, драйвера вообще не нужно). Тут все просто:

5.1 Скачиваем драйвер, разархивируем его.

Страничка с драйверами

5.2 Вставляем наш программатор в USB порт.

5.3 В трее появится сообщение о том, что найдено новое устройство.

5.4 Запустится мастер нового оборудования.

5.5 Указываем в окошке «место поиска» папку с драйвером.

5.6 Пройдет процесс установки драйвера. Появится окошко сообщающее о том, что драйвер установлен.
Чтобы проверить, что мы там наустанавливали— заходим в «Мой компьютер/Свойства/Оборудование/Диспетчер устройств» и находим там наш программатор

Винда увидела новое устройство и готова с ним работать.

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

Я с USBTiny до этого не работал, но отзывы о нем в сети положительные (отличается надежностью и быстротой программирования) — мои тестовый прошивки это подтвердили. ATtiny2313 прошивается за 10 секунд (это вместе с проверкой). Микроконтроллер определяется и программируется надежно — не было ни одной ошибки во время моих тестов. Приятный в использовании программатор!

Файлы к статье:
— Рисунок печатной платы UART-USB на ATtiny2313
— Прошивка USBtiny программатора для ATtiny2313
— Фьюз-биты ATtiny2313 для USBtiny
— Схема кабеля для USBtiny программатора

Понравилась статья? Поделись с друзьями:

Facebook

Twitter

Мой мир

Вконтакте

Google+

29.04.2020

Интернет

Самое интересное:

Схемы: Arduino: Pickit2 как программист: 7 шагов

Добавление Pickit2 в Arduino в качестве программиста

*** Сначала закройте ArduinoIDE

Откройте папку Arduino и найдите «программистов»

Расходные материалы:

Шаг 1. Добавление нового скрипта для программиста Picit2





Добавьте эти строки и сохраните:

pickit2.name = PicKit2 (MightyCore)
pickit2.communication = usb pickit2.protocol = pickit2 pickit2.program.protocol = pickit2 pickit2.program.tool = avrdude pickit2.program.extra_params = -v -V

Шаг 2: Использование Pickit2 в качестве программиста

Откройте вашу Arduino IDE: во время загрузки обновится новый скрипт …





Открытие Инструменты -> Программисты ->

Это покажет некоторые из доступных программистов и в то же время ваш новый программист Pickit2 …

Попробуйте выбрать Pickit2 ….

Шаг 3: Проверка, обнаружен ли Pickit2 …

Давайте попробуем наш Pickit2, если это можно обнаружить.

Подключите свой Pickit2 (сейчас мы не будем прикреплять Arduino, это всего лишь тест)





Нажмите Tool -> Burn Bootloaders

Вы увидите на консоли некоторую информацию о конфигурации устройства и вызовах устройства, если оно доступно ……. См. Рисунок для справки «Вывод»

Шаг 4: Соедините Pickit2 с Arduino

Следуйте этому пиновому назначению :::

AVR — PICKit2 (контакт):
————————





RST — VPP / MCLR (1)

VDD — VDD Target (2) — опционально, если AVR с автономным питанием

GND — GND (3)

MISO — PGD (4)

SCLK — PDC (5)

MOSI — AUX (6)

Шаг 5: Загрузить эскиз через Pickit2

Сочетание клавиш -> Ctrl + Shift + U

Нажмите Sketch -> Загрузить с помощью программатора

Шаг 6: Записать загрузчик через Pickit2





Нажмите Инструменты -> Записать загрузчик

Шаг 7: Примечание

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

Проблема Windows10 для последовательной или обычной загрузки эскиза, когда последовательная связь внезапно прервалась … Это сложная проблема для Win10, которая может привести к перезаписи загрузчика и стать непригодной для сбоя при обнаружении Arduino …….

Универсальный usb программатор мк своими руками. Программаторы микроконтроллеров AVR. Собрать COM программатор не составит труда

Я немного увлекся гальванопластикой (про это еще расскажу), и для нее мне понадобился новый блок питания. Требования к нему примерно такие – 10А выходного тока при максимальном напряжении порядка 5В. Конечно-же, взгляд сразу упал на кучу ненужных компьютерных блоков питания.

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

Внимание! Несмотря на то, что складывается впечатление, что этот проект — для новичков, ничего подобного – проект довольно сложный! Имейте ввиду.

Конструкция

Мощность того блока питания, который я вытащил из-под кровати – 250Вт. Если я сделаю БП 5В/10А, то пропадает драгоценная моща! Не дело! Подымем напряжение до 25В, может сгодится, к примеру, для зарядки аккумуляторов – там нужно напряжение порядка 15В.

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

Мне мою схему подкинул друг. Вот она. (Откроется в новом окне)

Да-да, нам придется лазить во всех этих кишках. В этом нам поможет даташит на TL494

Итак, первое, что нам нужно сделать – проверить, какое максимальное напряжение может выдать блок питания по шинам +12 и +5 вольт. Для этого удаляем предусмотрительно помещенную производителем перемычку обратной связи.

Резисторы R49-R51 подтянут плюсовой вход компаратора к земле. И, вуаля, у нас на выходе – максимальное напряжение.

Пытаемся стартовать блок питания. Ага, без компьютера не стартует. Дело в том, что его нужно включить, соединив вывод PS_ON с землей. PS_ON обычно подписан на плате, и он нам еще понадобится, поэтому не будем его вырезать. А вот непонятную схему на Q10, Q9 и Q8 отключим – она использует выходные напряжение и, после их вырезания не даст нашему БП запуститься. Мягкий старт у нас будет работать на резисторах R59, R60 и конденсаторе C28.

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

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

Итак, подучилось по +12В – 24В, а по +5В – 9.6В. Похоже, запас по напряжению ровно в 2 раза. Ну и прекрасно! Ограничим выходное напряжение нашего БП на уровне 20В, а выходной ток – на уровне 10А. Таким образом, получаем максимум 200Вт мощи.

С параметрами, вроде бы, определились.

Теперь нужно сделать управляющую электронику. Жестяной корпус БП меня не удовлетворил(и, как оказалось, зря) – он так и норовит поцарапать что-то, да еще и соединен с землей (это помешает мерить ток дешевыми операционниками).

В качестве корпуса, я выбрал Z-2W, конторы Maszczyk

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

После корпуса я сел за Corel Draw и прикинул, как должна выглядеть передняя панель:

Электроника

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

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

Фальш-панель
:

На ней индикаторы, потенциометры, светодиод. Для того, чтобы не тащить кучу проводов к 7-сегментникам, я использовал сдвиговые регистры 74AC164. Почему AC, а не HC ? У HC максимальный суммарный ток всех ножек – 50мА, а у AC – по 25мА на каждую ножку. Ток индикаторов я выбрал 20мА, тоесть 74HC164 точно бы не хватило по току.

Управляющая электроника
– тут все слегка посложнее.

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

Если кратко, то – U1A – диф. усилитель тока. При максимальном тока, на выходе получается 2.56В, что совпадает с опорным у АЦП контроллера.

U1B – собственно токовый компаратор – если ток превышает порог, заданный резисторами, tl494 “затыкается”

U2A – индикатор того, что БП работает в режиме ограничения тока.

U2B – компаратор напряжения.

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

С контроллером все понятно – это банальная атмега8, да еще и в дипе, которая лежала в загашнике. Прошивка относительно простая, и сделана между паяниями левой лапой. Но, нем не менее, рабочая.

Контроллер работает на 8МГц от RC генератора (нужно поставить соответствующие фюзы)

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

Переделка выходной части

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

Синфазный дроссель я немного переделал – соединил последовательно обмотку которая для 12В и две обмотки для 5в, в итоге получилось около 100мкГн, что дофига. Еще я заменил конденсатор тремя включенными параллельно 1000мкФ/25В

После модификации, выход выглядит так:

Настройка

Запускаем. Офигиваем от количества шума!

300мВ! Пачки, похоже на возбуждение обратной связи. Тормозим ОС до предела, пачки не исчезают. Значит, дело не в ОС

Долго тыкавшись, я нашел, что причина такого шума – провод! О_о Простой двужильный двухметровый провод! Если подключить осциллограф до него, или включить конденсатор прямо на щуп осциллографа, пульсации уменьшаются до 20мВ! Это явление я толком не могу объяснить. Может, кто-то из вас, поделится? Теперь, понятно что делать – в питающейся схеме должен быть конденсатор, и конденсатор нужно повесить непосредственно на клеммы БП.

Кстати, насчет Y – конденсаторов. Китайцы сэкономили на них и не поставили. Итак, выходное напряжение без Y-конденсаторов

А теперь – с Y конденсатором:

Лучше? Несомненно! Более того, после установки Y – конденсаторов сразу-же перестал глючить измеритель тока!

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

Обратная связь.

Про нее я написал , читайте

Охлаждение

Вот тут пришлось повозиться! После нескольких секунд под полной нагрузкой вопрос о необходимости активного охлаждения был снят. Больше всех грелась выходная диодная сборка.

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

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

Откуда брать питание для вентилятора? Вот и я долго думал, но таки придумал. tl494 питается от источника напряжением 25В. Берем его (с перемычки J3 на схеме) и понижаем стабилизатором 7812.

Для продуваемости пришлось вырезать крышку под 120мм вентилятор, и прицепить соответствующую решетку, а сам вентилятор поставить на 80мм. Единственное место, где это можно было сделать – это верхняя крышка, а поэтому конструкция получилась очень плохая – с верху может упасть какая-то металлическая хрень и замкнуть внутренние цепи блока питания. Ставлю себе 2 балла. Не стоило уходить от корпуса блока питания! Не повторяйте моих ошибок!

Вентилятор никак не крепится. Его просто прижимает верхняя крышка. Так вот хорошо с размерами я попал.

Результаты

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

Я попытался описать подводные камни, на которые сам нарвался. Надеюсь, вы не повторите их! Удачи!

Рассказать в:

Регулируемый блок питания с компьютерного блока питания АТХ

(АТХ- это с дежуркой)

Имеется масса информации в интернете о переделке блока питания (БП) от компьютера тип АТ и АТХ. Но я решил выделить наиболее важную информацию и составить совою статью из всего, что нашел в интернете специально для сайта cxema.my1.ru

В первую очередь смотрим на качество собранного БП «Китайцами)))». Нормальный БП должен выглядеть примерно так

На что стоит обратить внимание, это на высоковольтную часть БП. Там должны стоять сглаживающие конденсаторы и дросселя (Они сглаживают импульсный выброс в сеть), так же на диодный мостик он должен быть не менее 2А и конденсаторы после моста (Я обычно ставлю по 680 мкФ/200В или 330 мкФ/200В исходя из востребованной мощности), если вы хотите получить с БП 300 Вт (30В/10А) то нужно ставить не меньше 600 мкФ.

Естественно нужно обратить внимание на силовые ключи Q1-2 и демпферную цепь С8R4. Q1-2 обычно ставим MJE13007- MJE13009 (Есть статьи и о переделке схемы под полевые транзисторы). Демпферная цепь С8R4, я заметил, что при регулировке БП R4 этой цепи сильно греется, решилось подбором С8.

Далее переделку БП нужно продолжать с внимательного изучения схемы самого БП (хотя схемы почти одинаковы, но все же стоит) от этого зависит вся последующая работа. Необходимо обратить особое внимание на несколько вещей в изучении схемы: система защиты (4-й вывод ШИМ-контроллера), Система Power Good (ее можно просто убрать), усилитель ошибок по току (15,16,3 выводы ШИМ), усилитель ошибок по напряжению (1,2,3 выводы ШИМ) и также выходная цепь БП (Тут нужно будет переделывать все).

Рассмотрим по порядку каждый пункт.

Системы защиты (4-й вывод)

Схема взята из статьи Голубева drive2.ru

Это типичная схема (Хотя бывают и другие), что тут происходит. При увеличении нагрузки на инверторе свыше допустимой, увеличивается ширина импульсов на среднем выводе развязывающего трансформатора T2. Диод D1 детектирует их, и на конденсаторе C1 увеличивается отрицательное напряжение. Достигнув определённого уровня (примерно -11 В), оно открывает транзистор Q2 через резистор R3. Напряжение +5 В через открытый транзистор поступит на вывод 4 контроллера, и остановит работу его генератора импульсов.

Из схемы выпаиваются все диоды и резисторы, подходящие от вторичных выпрямителей к базе Q1, и устанавливается стабилитрон D3 на напряжение 22 В (Или большего напряжения), например, КС522А, и резистор R8.

В случае аварийного увеличения напряжения на выходе блока питания выше 22 В, стабилитрон пробьётся и откроет транзистор Q1. Тот в свою очередь откроет транзистор Q2, через который на вывод 4 контроллера поступит напряжение +5 В, и остановит работу его генератора импульсов.

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

Система Power

Good

я обычно ее просто выпаиваю.

Усилитель ошибок по току (15,16,3 выводы ШИМ)

— это и есть регулировка выходного тока. Но не значит что на этом можно не переживать о защите от КЗ.

Усилитель ошибок по напряжению (1,2,3 выводы ШИМ)

— Это регулировка выходного напряжения.

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

И так регулировка напряжения.

(Тут же схема защиты)

Эта схема составлена без регулировки тока.

14-й вывод ШИМ — это опорное напряжение. А выводы 2,1 это входа ОУ по напряжению.

Вся регулировка осуществляется с помощью делителей напряжения. На вывод 2 мы подаём образцовое напряжение с 14-го вывода через делитель R5R6 по 3,3 кОм. Данный делитель рассчитан на напряжение 2,4В. Далее выходное напряжение со вторичной цепи нам нужно подать на первый вывод ШИМ и также через делитель, но уже через переменный. Переменный резистор R1 и постоянный R3. На моем БП вышла регулировка от 2-24 Вольт. Напряжение на выходе зависит еще и от силового трансформатора и выходной цепи, но об этом позже. Вернемся к нашей Шимке, настройка регулировки напряжения на этом не заканчивается. Нам нужно еще обратить внимание на 3 вывод ШИМ, это выход ОУ и ему нужно сделать ООС на 2 ногу для плавной регулировки и убрать шум, треск и прочий не приятный звук трансформатора. У меня она собрана на C4R3 и C1. Хотя за частую хватает и C4R3, но из-за множества разнообразия «китайских делателей», нужно иногда добавлять кондерчик обычно на 1мкф хватает, но иногда доходит и до 5мкф.

Цепи C4R3 и C1 нужно подбирать так чтобы не было шума в тр-ре, но если все же он остается, то нужно обратить внимание на дроссель вторичной цепи, бывает нарушение сердечника, но об этом мы еще поговорим.

Да о защите, я ее тут убрал и поставил резистор на 2 кОм R4.

Теперь о регулировке тока

В принципе регулировка тока, это тоже регулировка напряжения. С помощью делителя, но только тут уже изменяется опорное напряжение и идет слежение падения напряжения на амперметре (или шунте). В принципе нечего нового нет относительно регулировки напряжения нет, только С1 нужен обязательно и возможно последовательно ему нужно будет добавить резистор, но это уже зависит от ШИМ и Тр-ра.

Общая схема регулировки работоспособна на 100% проверенная практике, если у вас схема не работает стабильно или не совсем правильно значит нужно: 1. Подобрать номиналы под Вашу ШИМ и тр-р, 2. Искать ошибки в сборке и дорабатывать. Опять же повторяюсь на практике показало, что китайские ШИМ и БП в целом реагируют на изменения в схемах по-разному. Все нужно настраивать методом подбора и расчётов.

В БП АТХ питание ШИМ и разделительного трансформатора осуществляется с Дежурного питания оно может достегать 25 В и подается в цепь 12 вывода ШИМ. Многие считают что диод во вторичной цепи Силового ТР-РА идущий на 12 вывод нужно убирать. Я считаю, что лучше оставить эту цепь, это дает дополнительную уверенность сохранения силовых ключей при выходе их строя дежурного питания.

Теперь о вторичной цепи

Наилучшая схема переделки мне показалась С. Голубева (Driver2.ru)

Хотя вентилятор на пяти вольтовую обмотку не повесить, потому что там также будет изменяться напряжение, да и еще не нет обратной связи с ШИМ и поэтому да при нагрузке с током в 0,15А напряжение будет падать ощутимо.

Теперь о самой схеме выходного напряжения. Менять распиновку тр-ра и ставить диодный мост нет смысла. Т.к. напряжение увеличиться, а мощность падает. Поэтому я предпочитаю такую схему, да и потом переделок меньше. Выпрямительные диоды D3 должны быть на ток не менее 10 А и обратное напряжение не менее 200 Вольт. Это могут быть STPR1020CT,F12C20.ER1602CT. Диод D4, это и есть (как я называю) вспомогательная цепь питания ШИМ и Защиты Vcc и Vdd. Индуктивность L1 кольцевой при желании можно оставить старый (Если конечно он работает нормально), но я перематываю тем же проводом + провод с пяти вольтовой цепи. Индуктивность L2 обычно оставляю без измерения. Конденсаторы C5C6 не стоит ставить номиналом более 2200 мкф нет смысла. Я обычно ставлю по 1000мкф и хватает вполне. Неполярные С4С7 можно при желании поднять до 1 мкф, но я также не увидел большой разницы. А вот резистор R5 не стоит ставить менее 300 Ом будет просто греться при напряжении более 10 В, но и не более 500 Ом. Этот резистор дает так сказать балансировку БП.

Вот собственно и все самое главное в переделке БП.

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

Отдельно в архиве собраны схемы по переделке БП.

Раздел:

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

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

Цена готовых 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 необходимо «прошить». Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема «курицы и яйца». Как её решил я, расскажу чуть позднее.

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

Название
Обозначение
Номинал/Параметры
Марка или тип элемента
Для основной части программатора

МикроконтроллерDD18-ми битный микроконтроллерPIC18F2550-I/SP
Биполярные транзисторыVT1, VT2, VT3КТ3102
VT4КТ361
ДиодVD1КД522, 1N4148
Диод ШотткиVD21N5817
СветодиодыHL1, HL2любой на 3 вольта, красного
и зелёного
цвета свечения
РезисторыR1, R2300 Ом
R322 кОм
R41 кОм
R5, R6, R1210 кОм
R7, R8, R14100 Ом
R9, R10, R15, R164,7 кОм
R112,7 кОм
R13100 кОм
КонденсаторыC20,1 мкК10-17 (керамические), импортные аналоги
C30,47 мк
Электролитические конденсаторыC1100 мкф * 6,3 вК50-6, импортные аналоги
C447 мкф * 16 в
Катушка индуктивности (дроссель)L1680 мкГнунифицированный типа EC24, CECL или самодельный
Кварцевый резонаторZQ120 МГц
USB-розеткаXS1типа USB-BF
ПеремычкаXT1любая типа «джампер»
Для панели установки микроконтроллеров (МК)

ZIF-панельXS1любая 40-ка контактная ZIF-панель
РезисторыR12 кОмМЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R610 кОм

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

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

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

Программатор – это аппаратно-программное устройство, которое служит для считывания или записи информации в запоминающее устройство (внутреннюю микроконтроллеров). В случае если радиолюбителю нужно один раз запрограммировать микроконтроллерное устройство, можно воспользоваться обычным программатором, который подключается к COM- или LPT- порту. Например, самым простым программатором AVR является кабель из 6 и 4 резисторов (программатор PonyProg).

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

Подключаются такие программаторы к компьютеру с помощью специальной программы (которая тоже называется программатором). Она передает с , а устройство только записывает ее в память микросхемы. Программаторы могут подключаться через последовательный или параллельный порт, через USB-разъем и т.д. Современные программаторы подключаются, как правило, через USB.

USB-программатор предназначен для программирования микропроцессорных устройств определенной компании (зависит от марки программатора) в собранном виде. С помощью него заметно упрощается процесс настройки ПО.

Как подключить USB-программатор?

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

Затем нужно установить драйвера, чтобы ОС могла корректно работать с данным устройством. После этого можно будет подключать микропроцессорное устройство к ISP интерфейсу. При программировании будет светиться второй светодиод.

Как правило, программатор имеет два интерфейса – один для подключения микроконтроллера, второй для подключения к компьютеру. Для того чтобы подключить микроконтроллер, можно воспользоваться режимом последовательного программирования ISP. А к компьютеру данное устройство подключается через стандартный USB-разъем.

Для управления программатором нужно устанавливать специальные программы. Лучше всего пользоваться оконными приложениями. Например, для работы с устройством можно использовать программы ExtremeBurner, Khazama, avrguge и другие.

Ну вот и пришло время нам соорудить USB программатор. Я долго не мог определиться какой бы программатор нам собрать. Выбирал по критериям простоты конструкции и удобства работы с ними, но ничего не нравилось. Выбрать программатор помог случай. Вернее я его не выбирал вообще – я его случайно собрал сам того не подозревая!

А дело было так. Некоторое количество постов назад мы собрали преобразователь USB to UART на ATtiny2313 (а в мы даже улучшили печатную плату). Еще при выборе схемы преобразователя я планировал на его базе (при помощи заливки различных прошивок) получать устройства различного назначения. Тогда я не подозревал, что данный преобразователь можно использовать шире, чем я планировал. Увидев схему USB программатора — USBtiny на ATtiny2313 я понял, что я уже имею готовый программатор!

Посмотрев на схему, сделанного ранее, преобразователя USB to UART
(домашняя страничка)

и схему USB программатора USBTiny
(домашняя страница)

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

Теперь все по порядку.
1 Для начала нужно собрать преобразователь
(это если Вы его еще не собрали).
Вот рисунок печатной платы преобразователя:
Если интересно — вот .
В собранном виде преобразователь выглядит так:

2 Немного модифицируем плату
Для того, чтобы обеспечить все необходимые сигналы для программирования впаиваем защитные резисторы номиналом по 100 Ом в линии ножек 12, 16, 17, 18, 19 (номинал не критичен — можно варьировать).

3 Теперь нужно прошить микроконтроллер.

Линии для программатора выведены на общий разъем платы (кроме сброса — стоит отдельно).

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

Схема шлейфа проста.

Из особенностей — я вынес индикаторный светодиод и балластный резистор для него за плату на разъем — это для того, чтобы плату без перепайки можно было использовать для других устройств (ну и так прикольней — светодиод мигает прямо в разъеме:)). Кроме того, линия Vcc отделена от общего разъема — это на случай если программируемое устройство запитывается не от USB, а от своего источника (что, в принципе, желательно). Сигнальные линии (SCK, MISO, MOSI) желательно экранировать (например чередованием сигнальных и земляных линий в шлейфе). Длину шлейфа не стоит делать большой — до 50 см, не больше. Если нужно программировать удаленное устройство всегда можно применить USB удлинитель — так надежней. Вот мой готовый шнурок:

5
Сам программатор готов, теперь нужно установить драйвер
для того, чтобы Винда смогла с ним работать (для Mac OS X & Linux, вродь-как, драйвера вообще не нужно). Тут все просто:

5.1 Скачиваем драйвер, разархивируем его.

Страничка с драйверами

5.2 Вставляем наш программатор в USB порт.

5.3 В трее появится сообщение о том, что найдено новое устройство.

5.4 Запустится мастер нового оборудования.

5.5 Указываем в окошке «место поиска» папку с драйвером.

5.6 Пройдет процесс установки драйвера. Появится окошко сообщающее о том, что драйвер установлен.
Чтобы проверить, что мы там наустанавливали— заходим в «Мой компьютер/Свойства/Оборудование/Диспетчер устройств» и находим там наш программатор

Винда увидела новое устройство и готова с ним работать.

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

Я с USBTiny до этого не работал, но отзывы о нем в сети положительные (отличается надежностью и быстротой программирования) — мои тестовый прошивки это подтвердили. ATtiny2313 прошивается за 10 секунд (это вместе с проверкой). Микроконтроллер определяется и программируется надежно — не было ни одной ошибки во время моих тестов. Приятный в использовании программатор!

Файлы к статье:
— Рисунок печатной платы UART-USB на ATtiny2313
— Прошивка USBtiny программатора для ATtiny2313
— Фьюз-биты ATtiny2313 для USBtiny
— Схема кабеля для USBtiny программатора

Microchip’s PICkit 2 в качестве программатора Atmel STK500

В нормальном потоке данных, когда у нас есть физическая плата программатора STK500, код микроконтроллера (прошивка), созданный компилятором, отправляется в программное обеспечение STK500. Программное обеспечение STK500 будет формировать команды ISP для платы STK500 и передавать эти команды через физический последовательный порт COM1 на плату STK500. На основе полученных команд ISP плата STK500 будет генерировать импульсы MISO / MOSI / CLK, необходимые для программирования микроконтроллера Atmel.

Чтобы использовать PICkit вместо платы STK500, мы перехватим команды ISP. Мы обманем программное обеспечение STK500, чтобы отправить команды интернет-провайдера на наш виртуальный порт COM3 вместо реального порта COM1.

Из виртуального порта COM3 команды интернет-провайдера будут проходить через виртуальный кабель внутри программного обеспечения com0com и поступать в виртуальный порт COM4.

К виртуальному COM4 мы подключим еще одно программное обеспечение, PK2AVRISP, которое фактически является транслятором команд ISP. PK2AVRISP преобразует команды ISP STK500 в команды PICkit.Отсюда команды PICkit будут проходить через настоящий USB-порт, и команды будут поступать в PICkit 2.

PICkit выполнит эти переведенные команды в импульсы MOSI / MISO / CLK, необходимые для программирования нашего микроконтроллера Atmel.

1. Установите BASCOM-AVR

BASCOM-AVR — это среда разработки, которая позволяет писать программы на языке BASIC и компилировать их для микроконтроллеров AVR, таких как ATtiny13, ATmega8, MEGA328 (последние два также используются в платах Arduino) и других микроконтроллерах Atmel. .BASCOM-AVR — коммерческая программа, защищенная авторским правом, созданная компанией MCS Electronics. MCS Electronics предлагает бесплатную демо-версию BASCOM-AVR для хобби, обучения и некоммерческого использования. Эта версия ограничена размером менее 4 КБ скомпилированного кода. Обычно 4к достаточно для некоммерческого использования. Если вам нужно больше, вы можете купить безлимитную версию.

Распакуйте загруженный файл bcavrdmo.zip, затем запустите setupdemo.exe. Следуйте инструкциям установщика

2. Распакуйте PK2AVRISP.zip

PK2AVRISP — это программа, которая перехватывает команды программирования ISP, предназначенные для программатора AVR STK500, и преобразует их в команды для программиста PICkit.Таким образом, мы можем позже использовать программатор PICkit 2 вместо программатора STK500. PK2AVRISP является бесплатным (но не открытым), и он был написан kcsoft.

Просто извлеките PK2AVRISP.exe из PK2AVRISP.zip, установка не требуется.

3. Установите com0com

com0com — это программное обеспечение с открытым исходным кодом, которое может создавать пары виртуальных COM-портов, связанных вместе, написано vfrolov (Вячеслав Фролов). com0com будет использоваться для перенаправления всех команд ISP из IDE в PK2AVRISP.exe переводчик.

Установить com0com немного сложно, потому что драйверы виртуальных COM-портов не имеют цифровой подписи для Windows. com0com можно без проблем использовать с Windows XP, но для новейших версий Windows, таких как Windows 7, нам нужно отключить принудительное использование цифровой подписи для драйверов. Самый простой способ сделать это — перезапустить Windows и загрузиться в отключенном режиме принудительного применения.

Перезагрузите компьютер и во время перезагрузки компьютера непрерывно нажимайте клавишу F8, пока не дойдете до следующего экрана загрузки:

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

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

Теперь мы можем начать установку com0com:

  • Распаковать com0com-3.0.0.0-i386-and-x64-unsigned.zip
  • Щелкните правой кнопкой мыши на «setup.exe» и запустите его от имени администратора.
  • . шаг «Выбрать компоненты для установки:», снимите отметки с последних двух строк:
    CNCA0 <-> CNCB0
    COM # <-> COM #
  • В диалоговом окне предупреждения безопасности Windows разрешите…

Подробнее »

Программатор микрочипа PIC iCP02 USB от

iCircuit и обзор PICkit2 Plus

С тех пор, как в 1980 году Intel выпустила первый микроконтроллер — микроконтроллер Harvard Architecture 8051 mcu — микроконтроллеры произвели революцию в электронной промышленности и породили ряд недорогих микроконтроллеров, таких как PIC, AVR, ARM и другие. AVR был тем, что нашел любовь в экосистеме производителя благодаря введению Arduino, и на протяжении многих лет между AVR и PIC велись жаркие споры — какой из них лучше? Что ж, я думаю, что оба комплимента сами по себе, хотя я всегда предпочитал чипы AVR.

Недавно, в поисках некоторой случайности, я наткнулся на набор инструментов для микроконтроллеров Microchip PIC от iCircuit Technologies, которые, кажется, улучшают уже известные инструменты разработки для работы с микроконтроллерами PIC. При программировании контроллеров PIC традиционные инструменты разработки, такие как PICKit 2, PICKit 3, MPLAB IDE, были стандартом де-факто, а инструменты, предлагаемые iCircuit, кажется, привносят некоторые новые интересные перспективы в ваш обычный цикл разработки PIC.

iCP02 — Программатор USB для микрочипов PIC

iCP02 — USB Microchip PIC Programmer + iCP03 — Multi PIC Adapter

Подобно PicKit 2, iCP02 представляет собой USB Microchip PIC Programmer для программирования ваших микросхем.Он основан на ICSP (внутрисхемное последовательное программирование) и требует пяти соединений между программатором и адаптером или микроконтроллером.

Программатор

iCP02 USB Microchip PIC может использоваться для программирования до 260+ типов популярных микроконтроллеров Flash PIC, включая PIC10F, PIC12F, PIC16F, PIC18F, PIC24F, dsPIC30 и dsPIC33 семейства, серийные EEPROM 11LCXX, 24LCXX, 25LCXX и HCXX, 93LCOQX а также совместим с Microchip PICkit 2, MPLAB IDE и MPLAB X.

Набор инструментов состоит из программатора и адаптера и предлагает уровень производительности и масштабируемости для решения программиста PIC.Он поддерживает все основные операционные системы: Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10, Linux и Mac OS X и позволяет пользователям программировать свой шестнадцатеричный код в хорошо известные микроконтроллеры Flash PIC и EEPROM с помощью простого USB-соединение.

iCP02 — USB Microchip PIC Programmer

Технические характеристики
  • Используется для программирования до 260+ (с PICkit2) или 900+ (с PICkit2 Plus) типов популярных микроконтроллеров Flash PIC, включая семейства PIC10F, PIC12F, PIC16F, PIC18F, PIC24F, dsPIC30 и dsPIC33.
  • Поддерживаются все основные операционные системы
  • USB Plug and Play
  • Режим UART
  • Полноскоростной USB и программирование высокого напряжения
  • Недорогой и портативный размер
  • Совместим с Microchip PICkit 2, MPLAB IDE и MPLAB X

Устройство доступно для покупки за 20,90 долларов США на сайте piccircuit.com. Более подробная информация о Программаторе доступна на странице продукта.

iCP03 — адаптер для нескольких PIC

iCP03 — Multi PIC Adapter

Адаптер для программирования PIC — это один из первых арсеналов инструментов, необходимых для программирования вашего чипа, который не работает в одиночку, но потребует подключения к подходящему программатору, например iCP02.ICP03 — Адаптер для программирования — это адаптер с несколькими PIC, который может поддерживать различные микросхемы PIC. Он предлагает внешнее программирование с помощью широкого спектра поддерживаемых микроконтроллеров PIC, которые доступны в корпусах DIP от 8 до 40 контактов.

Адаптер обеспечивает поддержку семейств PIC10F, PIC12F, PIC16F и PIC18F (серии J и K) с помощью одного гнезда ZIF. Адаптер iCP03 — Multi PIC доступен для покупки за 12,90 долл. США на сайте piccircuit.com.

PICkit2 Plus (расширенная версия PICkit2)

PICkit2 Plus (расширенная версия PICkit2)

Программное обеспечение для программирования поставляется в 3 вариантах: программное обеспечение с графическим интерфейсом пользователя (только), командная строка (только) и командная строка GUI Plus.PICKit2 Plus — это инструмент для программирования, заменяющий существующее программное обеспечение Microchip PICKit2. В отличие от исходного программного обеспечения, Plus поддерживает новейшие микрочипы PIC, dsPIC, PIC24, PIC32, MCP, EEPROM, семейство KEELOQ с новым протоколом программирования, улучшенной поддержкой Windows, функцией памяти HEF / SAF и улучшенным удобством использования.

Программное обеспечение поддерживает широкий набор контроллеров для более чем 900 микроконтроллеров PIC с флэш-памятью, а также вы можете управлять памятью SAF и HEF.

Технические характеристики
  • Программирование расширителя ввода-вывода CAN и серии KEELOQ: MCP2502X / 5X и HCSxx
  • Операция чтения и записи последовательного EEPROM 11LCxx, 24LCxx, 25LCxx и 93LCxx.
  • Поддерживает ОС Windows
  • Улучшенный пользовательский интерфейс, справка, руководство и прямой доступ к базе данных 8-битных микроконтроллеров Microchips PIC.
  • USB (интерфейс с полной скоростью 12 Мбит / с для хост-ПК)
  • Поддерживается низкое напряжение до 2,0 В (диапазон от 2,0 до 5,0 В) для iCP02.
  • Стирание области памяти программ с проверкой.
  • и многие другие.

Это бесплатно? Нет, по крайней мере, пока. Программное обеспечение доступно для загрузки по цене 11 долларов США.90 на piccircuit.com, но версия с графическим интерфейсом и командной строкой обойдется вам в дополнительные 10,6 доллара на общую сумму 22,50 доллара, и ее можно приобрести в Интернете.

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

TD-ELECTRO PICKIT2 PIC KIT3 PICKIT3.5 Программатор Программирование в автономном режиме Чип микроконтроллера PIC Монополия + Седло адаптера программатора PIC

TD-ELECTRO PICKIT2 PIC KIT3 PICKIT3.5 Программист Автономное программирование Микроконтроллер PIC Монополия + сиденье адаптера программатора PIC

  • Home
  • TD-ELECTRO PICKIT2 PIC KIT3 PICKIT3.5 Программатор Автономное программирование PIC Микроконтроллер Чип Монополия + PIC Седло адаптера программатора

TD-ELECTRO PICKIT2 PIC KIT3 PICKIT3.5 Программатор Автономное программирование PIC Микроконтроллер Микроконтроллер Седло Monopoly + : Компьютеры и аксессуары. Купить TD-ELECTRO PICKIT2 PIC KIT3 PICKIT3.5 Программист Автономное программирование Микроконтроллер PIC Монополия + сиденье адаптера программатора PIC: USB-кабели — ✓ БЕСПЛАТНАЯ ДОСТАВКА при соответствующих критериям покупках.100% новый продукт высокого качества и пожизненная гарантия. [Pickit 2, Rx580, New Stm32, Pic Program, Pickit, Launchpad, Arduino с USB-портом, 3 программатора, Board Pic, Arduino Input, Electrocardiograph, Atmega328p Ic, Avr Programmer, Microcontrol, Adc, Pickit 3, Ctp]。 Лучший отзыв от Клиент, мы всегда обеспечиваем 100% удовлетворение клиента. [Pic16f630, Microchip Pic, Pic16f887, модуль реле 5 шт., C850d, Arduino Long, адаптер для программатора, комплект Arduino, модуль реле в Arduino, Stm8s103f3p6, Arduino U, Atmega328p Ic, программатор Avr, микроконтроллер, 4n35 Optocoupler 10080a, 4n35 Optocoupler ГАРАНТИЯ ВОЗВРАТА ДЕНЕГ: Любые проблемы с качеством продукта, пожалуйста, не стесняйтесь обращаться к нам, мы вернем вам деньги или предоставим новый.[Arduino Maker, программа, адаптер для программиста, Arduino Stock, Ccs811, Nano Mini Usb с загрузчиком, совместимым с A, Microcontrol, Adc, Pickit 3, Ctp, Pickit 2, Rx580, New Stm32, Pic Program, Pickit, Launchpad]。 БЕСПЛАТНАЯ ДОСТАВКА: Убедитесь, что вы покупаете этот товар у бренда TD-ELECTRO. Другой бренд не надежен. [Arduino с USB-портом, 3 программатора, Launchpad, Board Pic, Arduino Input, Electrocardiograph, Atmega328p Ic, Avr Programmer, Microcontrol, Adc, Pickit 3, Ctp, Pic16f630, Microchip Pic, Pic16f887, 5шт. Релейный модуль, C850d, Arduino Long]。 Не сомневайтесь, прокрутите вверх и нажмите «Добавить в корзину», чтобы получить этот замечательный продукт сегодня !!! [Модуль реле 5 шт., C850d, Arduino Long, адаптер для программатора, комплект Arduino, модуль реле в Arduino, Stm8s103f3p6, Arduino U, Pic16f887, Atmega328p Ic, программатор Avr, микроконтроллер, оптопара 4n35, Cy7c680aker13a, программа Arduino Mino], программа Arduino Mino. 。 Лучшая цена и качество для PICKIT PIC KIT3 PICKIT3.5 Программатор Автономное программирование Микроконтроллер PIC Монополия + место адаптера PIC Программатор。 Описание продукта: PICkit 3 Features。。 USB (интерфейс с полной скоростью Мбит / с для главного ПК)。。 Выполнение в реальном времени。 Совместимость с MPLAB IDE (бесплатная копия включена )。。 Встроенный монитор перенапряжения / короткого замыкания。。 Возможность обновления прошивки с ПК / загрузки из Интернета。。 Полностью закрытый。。 Поддерживает низкое напряжение до 0,0 В (диапазон от 0,0 В до 6,0 В)。 Диагностические светодиоды (питание, занято, ошибка)。。 Программа чтения / записи и память данных микроконтроллера。。 Стирание области памяти программ с проверкой。 Замораживание периферийных устройств в точке останова。。 Программирование до 5 Кбайт флэш-памяти с помощью Programmer-to-Go。。 Окна поддержки 7。 Характеристики продукта: Тип: Регулятор напряжения。 Состояние: Новое。 Применение: Компьютер Voltage Напряжение питания:。。 Почему вам следует выбирать наши продукты: Лучший отзыв от клиента。 Лучшее обслуживание клиентов。 Бесплатная доставка и возврат。 УДОВЛЕТВОРЕНИЕ на 00% ГАРАНТИЯ-Если возникнут какие-либо проблемы с качеством продукта, пожалуйста, не стесняйтесь свяжитесь с нами, мы полностью вернем вам деньги или предоставим новый, мы всегда гарантируем 100% удовлетворение клиентов! ★ ★ ★ Не медлите, прокрутите вверх и нажмите «Добавить в корзину», чтобы получить этот замечательный продукт сегодня.!。。。。

### FLAGCSS0 ###

JavaScript отключен. Пожалуйста, разрешите просмотр всего сайта.

TD-ELECTRO PICKIT2 PIC KIT3 PICKIT3.5 Программатор Автономное программирование PIC Микроконтроллер Чип Monopoly + PIC Переходник для программатора -ELECTRO PICKIT2 PIC KIT3 PICKIT3.5 Программатор Автономное программирование Микроконтроллер PIC Chip Monopoly + PIC, Купить TD-ELECTRO PICKIT2 PIC KIT3 PICKIT3,5 Программист Автономное программирование PIC Микроконтроллер Chip Monopoly + PIC Programmer Переходное гнездо: Кабели USB — ✓ Возможна БЕСПЛАТНАЯ ДОСТАВКА при подходящих покупках, Ежедневно новые продукты на line Новейший стиль дизайна Обеспечить вам паритетное преимущество товаров. PICKIT2 PIC KIT3 PICKIT3.5 Программист Программирование в автономном режиме Микроконтроллер PIC Chip Monopoly + PIC Programmer Переходное гнездо TD-ELECTRO.

TD-ELECTRO PICKIT2 PIC KIT3 PICKIT3.5 Программатор Автономное программирование Микроконтроллер PIC Чип Monopoly + Седло адаптера программатора PIC

TD-ELECTRO PICKIT2 PIC KIT3 PICKIT3.5 Программатор Автономное программирование Микроконтроллер PIC Монополия + PIC Седло адаптера программатора

Купить TD-ELECTRO PICKIT2 PIC KIT3 PICKIT3,5 Программатор Автономное программирование Микроконтроллер PIC Монополия + PIC Седло адаптера ✓ Возможна БЕСПЛАТНАЯ ДОСТАВКА при подходящих покупках, Ежедневно новые продукты в линейке. Последний стиль дизайна. Обеспечение паритета товаров.

Amazon.com: Программатор Bolsen 1set PICKIT2 + адаптер для программирования PIC ICD2 PICKit 2 Универсальное сиденье программатора: Industrial & Scientific


Цена:

21 доллар.99

+

Депозит без импортных пошлин и доставка в Российскую Федерацию $ 18,42

Подробности

Тип разъема

USB

Тип кабеля

USB

Марка

Bolsen


  • Убедитесь, что это подходит
    введя номер вашей модели.
  • Поддержка PICKIT2 IC, можно просмотреть программное обеспечение MPLAB IDE v8.56

  • запустите программное обеспечение, настройте-> выберите устройство, поддерживающее PICKIT2, перед зеленым светом

  • PICKIT2 онлайн-программирование и отладка Microchip

  • PICKIT2 — недорогие инструменты разработки PIC.

  • Поддержка IC меньше, чем KIT3 / ICD2, стабильность лучше, чем ICD2, а также автономное пакетное программирование. KIT2 — хороший выбор для новичков.

]]>

Характеристики данного продукта
Фирменное наименование

Bolsen

Тип кабеля

USB

Тип разъема

USB

Ean

8846977566680

Номер детали

B42019072601

Код КПСС ООН

26121600

Добро пожаловать в MicrochipDirect

  • Товары

    8-битные микроконтроллеры
    16-битные микроконтроллеры
    32-битные микроконтроллеры
    32-битные микропроцессоры
    Аналоговый
    Управление энергопотреблением
    Часы и время
    Высокоскоростная сеть и видео
    Интерфейс и возможности подключения
    Драйверы дисплеев и светодиодов
    Встроенные контроллеры и Super I / O
    объем памяти
    Касание и жест
    Беспроводной
    ИС безопасности
    Инструменты разработки
    Автомобильный класс
    Запчасти со скидкой
    Расширенные инструменты выбора продукта

  • Услуги по программированию

    Центр программирования
    Поиск стоимости программирования
    Управляйте своими частями программирования
    Код загрузки
    Запросить образцы для проверки
    Утвердить / отклонить подтверждение
    Разместить производственный заказ
    Часто задаваемые вопросы по программированию
    Учебник по программированию

  • Цена за объем

    Запросить цену на большое количество
    Проверить статус предложения / разместить заказ
    Подать заявку на открытие бизнес-счета
    Запросить новую кредитную линию или увеличение кредита

  • Как мы можем помочь?

    Часто задаваемые вопросы (FAQ)
    Поддержка продаж / Свяжитесь с нами
    Техподдержка
    Данные экспортного контроля
    Селектор инструментов разработки Microchip
    Популярные ссылки

  • Быстрый ввод заказа

Обзор микросхемы PICkit 2 «RAYSHOBBY.NET

Недавно мне посчастливилось получить Microchip PICkit 2 от Newark.com, чтобы написать обзор. Я был очень взволнован, потому что всегда хотел узнать о микроконтроллерах PIC. Почему? Что ж, до сих пор я имел большой опыт работы с микросхемами семейства AVR от Atmel, благодаря Arduino, которая впервые познакомила меня с электроникой. Но пора попробовать что-то новое в новом году 🙂 PIC предлагают несколько привлекательных преимуществ, включая разнообразие продуктов и функциональность (например, поддержку USB, Ethernet, сенсорное управление и т.) и у них очень конкурентоспособные цены. Я знаю, что в Интернете ведется масса споров о AVR и PIC. А пока я собираюсь отложить их в сторону и провести собственное сравнение позже, когда у меня будет хорошее понимание обоих.

Первое впечатление

PICkit 2 — очень популярный инструмент для программирования и отладки микроконтроллеров Microchip PIC. Если вы хотите научиться программированию на PIC, вы почти наверняка должны его получить. С последним файлом устройства он может поддерживать большинство PIC, доступных на рынке (хотя для некоторых из более новых он поддерживает только программирование, но не отладку).У Microchip есть обновленная версия — PICkit 3, которая поддерживает все, но я предпочитаю PICkit 2, потому что он дешевле (34,99 доллара США) и предоставляет все, что мне нужно.

В упаковке (номер продукта PG164120) находится сам программатор, два компакт-диска и USB-кабель. Программатор выглядит очень компактно. Он имеет порт USB (а также кольцо для ключей) вверху, красную кнопку и три светодиода (питание, цель и занят) на передней панели, а также 6-контактный порт ICSP (внутрисхемное последовательное программирование) на дно.

Поскольку я новичок в контактах ICSP и могу легко запутаться с контактами ISP AVR, я сделал небольшую этикетку со всеми именами контактов и прикрепил ее к программатору.Таким образом, я никогда не забуду контакты при прототипировании схем! Шесть контактов: Vpp, Vdd, Vss, ICSP-Data, ICSP-Clock, и последний контакт не используется. Среди них Vpp может обеспечить +12 В для программирования высокого напряжения, а Vdd / Vss может подавать 5 В или 3,3 В для питания вашей схемы, что очень удобно. На картинке справа внизу показана схема внутри программатора. Он основан на микроконтроллере PIC18F2550.

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

  • Мне нравится, как все выводы ICSP расположены на одной линии. Это упрощает эксперименты с макетной платой, поскольку для этого нужен только разъем 1 × 6 контактов. Для сравнения, ISP-программисту AVR требуется 2×3-контактный разъем, который всегда сложно установить на макетной плате.
  • Он может программировать высокое напряжение, а это значит, что если я каким-то образом испортил настройки предохранителя, мне не придется паниковать. Для сравнения, ISP-программист AVR этого не делает (если только вы не приобретете более дорогую модель). Я помню ужасный опыт, когда я впервые запрограммировал свой ATMega328 с неправильными значениями предохранителей, мне пришлось потратить целый день на поиск решений.В конце концов я сделал высоковольтную аварийную схему и устранил проблему. Но какая боль!
  • Он может обеспечивать питание (от 2,5 В до 5 В) вашей цепи.
  • Наверное, самое ценное: это программист и отладчик. Вы также можете использовать его для внутрисхемной отладки! Как мило! Для AVR сопоставимый продукт будет немного дороже.

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


Настройка программного обеспечения

Далее я попытаюсь написать свою первую программу PIC. В основном необходимо установить две части программного обеспечения: MPLAB (версия 8.6), которая является программной IDE, и автономная программа PICkit 2 (версия 2.61). Они находятся на прилагаемых компакт-дисках, но вы также можете загрузить их в Интернете на веб-сайте продукта Microchip.

MPLAB объединяет все, что вам нужно: среду программирования, компилятор, загрузчик и отладчик. Однако оказывается, что он не поддерживает некоторые из новых чипов (например, тот, который есть у меня), если вы используете PICkit 2.Это означает, что вы можете скомпилировать программу, но не сможете загрузить ее в чип. Обновленная версия PICkit 3 может обрабатывать все микросхемы, но у меня ее нет! К счастью, в PICkit 2 есть отдельная программа для работы с новыми чипами. Обязательно загрузите последнюю версию файла устройства с этого веб-сайта.

Чтобы написать программу, вы можете использовать либо язык ассемблера, либо C. Я выберу C, так как не знаю, как выполнить даже относительно простую программу на языке ассемблера. У меня голова взорвалась… В любом случае, MPLAB поставляется с бесплатным компилятором HI-TECH C (облегченная версия PICC).Вы можете следовать руководству «Быстрый старт», доступному в папке установки компилятора, чтобы легко написать свою первую программу «Hello World» (то есть мигающий светодиод). Вот мой снимок:

Поначалу меня немного сбивают с толку биты «Config». Но чтение таблицы данных микроконтроллера все прояснит. Они аналогичны настройкам предохранителей в АРН. Основное отличие состоит в том, что здесь вы записываете настройки битов непосредственно в программе, тогда как AVR разделяют программу с настройками предохранителей.


Эксперимент «Hello World»

Для своего первого эксперимента я выбрал микроконтроллер PIC16F1825. Он имеет 14 Кбайт программной флеш-памяти, 1 Кбайт ОЗУ, 256 Байт EEPROM, USART, 12 контактов ввода-вывода и стоит всего 1,50 доллара. Я думал, что сделал хороший выбор. К сожалению, вскоре я обнаружил небольшую проблему, заключающуюся в том, что MPLAB не полностью поддерживает этот микроконтроллер, если вы используете PICkit 2. Вы все еще можете писать и компилировать программу, но вы не можете загружать или отлаживать программу (они доступны только с PICkit. 3).К счастью, автономная программа PICkit 2 все еще может с ней работать. Таким образом, решение состоит в том, чтобы написать и скомпилировать программу в MPLAB и использовать автономную программу для загрузки:

Я сделал простую схему тестирования, состоящую из микроконтроллера, разъема 1 × 6 контактов ICSP, гистограммы светодиодов и цепи резисторов. Цель состоит в том, чтобы, как мы всегда, замигать светодиодами 🙂 Схема очень легко реализовать на макетной плате (см. Фото выше).В основном я начал с подключения 6 соответствующих контактов к заголовку контактов ICSP, затем всех контактов порта C (от C0 до C5) к светодиодной гистограмме и, наконец, к сети резисторов. Обратите внимание, что я также прикрепил к микроконтроллеру ярлыки с именами контактов. В дополнение к стандартным названиям выводов (например, A0, A1, C0, C1…) я особо выделил выводы ICSP (VPP, ICSP-DAT и ICSP-CLK). Это позволяет легко подключать провода, не заглядывая снова и снова в таблицу.

Загрузить программу: это просто.Сначала скомпилируйте программу в MPLAB, затем переключитесь на автономную программу, импортируйте скомпилированный файл HEX и нажмите «Написать». Светодиоды на программаторе будут мигать, и через несколько секунд все будет готово.

Питание схемы: Как я сказал ранее, программатор может подавать напряжение VDD в диапазоне от + 2,5 В до + 5 В. Обратите внимание на флажок VDD «On» и поле ввода напряжения в графическом интерфейсе пользователя выше. Как только вы включите VDD, на программаторе загорится индикатор Target, и схема немедленно начнет работать.Вуаля, мой эксперимент «Hello World» завершен!


Программирование в Linux

Я также пробовал использовать программатор в Linux (Ubuntu 11.04). Во-первых, программное обеспечение MPLAB устанавливается и прекрасно работает с Wine. За исключением того, что графический интерфейс немного уродлив, программное обеспечение кажется полностью функциональным. Во-вторых, есть инструмент PK2CMD с веб-сайта Microchip, который работает с PICkit2. Вы можете использовать его для загрузки скомпилированной программы в свой микроконтроллер. Вероятно, единственной отсутствующей функцией является отладка — похоже, нет способа включить отладку в Linux.Что ж, вы всегда можете использовать симулятор MPLAB для программной отладки. Но если вам определенно нужна аппаратная отладка, вы можете установить Windows как виртуальную ОС в Linux. Таким образом будут включены все функции PICkit2.


Заключение

До сих пор мой первый опыт работы с программатором PICkit 2 был очень положительным. Он небольшой, недорогой, многофункциональный и относительно простой в использовании. Я очень рекомендую это. На самом деле, если вы планируете изучать программирование PIC, я предлагаю приобрести этот комплект в ближайшее время.Почему? Я прочитал на интернет-сайтах, что Microchip прекращает выпуск этого продукта в пользу более нового PICkit 3, который стоит дороже и на самом деле получил несколько негативных комментариев (поищите David Jones EEVblog PICkit 3, и вы узнаете). Так что прежде, чем закончится PICkit 2, пойди и возьми себе один!

Ссылки на ресурсы

Наконец, есть несколько вещей, которые мне еще предстоит попробовать, и я включил их в свой список дел:

  • Попробуйте функцию отладки.
  • Program USB — У меня уже есть PIC со встроенной поддержкой USB.Есть много PIC, которые имеют встроенный USB и находятся в DIP-корпусе, что отлично подходит для макетирования прототипов.
  • Попробуйте загрузчик USB.

USB-программатор PIC PICKit2

PICKit2 от

Microchip намного удобнее, надежнее и мощнее, чем другие программаторы, которые мы можем найти повсюду в Интернете. Это программатор ICSP (In Circuit Serial Programming) на базе USB. Поскольку это первый выпуск, Microchip опубликовал все ресурсы PICKit2 в открытом доступе, включая схемы оборудования и весь исходный код используемого программного обеспечения.Благодаря этому любой может добавлять функции, исправлять ошибки и изменять исходный код.

Документы и другие вспомогательные файлы PICKit2 доступны на веб-сайте Microchip.

Мы упростили схему оборудования PICKit2, удалив из него все ненужные устройства, а также добавлен конвертер ICSP в ZIF для упрощения программирования. Основные отличия модифицированного PICKit2 от оригинального PICKit2:

1. Конвертер ICSP в ZIF добавлен для упрощения программирования, поэтому мы можем использовать разъем ICSP или ZIF в соответствии с нашими потребностями.

2. Он поддерживает только PIC с напряжением 5 В, поэтому устройство 3,3 В представляет собой небольшую дополнительную схему для преобразования 5 В в 3,3 В.

3. Два EEPROM 24C512, которые использовались только для функции «программист на вынос» в оригинальном PICKit2, были опущены. Функция «Программист на вынос» не является важной функцией для любителей электроники.

4. Биполярные транзисторы, используемые в оригинальном PICKit2, заменены полевыми МОП-транзисторами, поэтому требуются минимальные дополнительные компоненты.

5. Разъем мини-USB заменен обычным разъемом USB-B.

PICKit2 — это устройство с питанием от USB, то есть оно получает питание от источника питания USB + 5V ПК. Микроконтроллер USB PIC18F2550 — это душа PICKit2. USB Data + и Data- с ПК подключаются к контактам D + и D- PIC182550. Встроенный тактовый генератор pic использует внешний кварцевый генератор X1, C2 и C3 для обеспечения правильной тактовой частоты системы. Катушка индуктивности L1, полевой МОП-транзистор Q1, диод D1, конденсаторы C1 и C4 образуют преобразователь постоянного тока в постоянный (понижающий преобразователь), который преобразует 5 В с ПК в 12 В, которые должны подаваться на вывод MCLR / VPP микроконтроллера во время программирования.Это контролируется прошивкой PIC. Резисторы R2 и R3 образуют цепь обратной связи с измерением напряжения, которая подается на аналоговый вывод AN0 PIC. Q4, Q5 и резистор R5 полевого МОП-транзистора используются для переключения Vpp на выход MCLR / Vpp. При необходимости полевой МОП-транзистор Q6 и резистор R4 заземляют выход MCLR. МОП-транзистор Q3 и резистор R16 предназначены для переключения Vdd на выход, когда это необходимо. Сигнал обратной связи Vdd подается на аналоговый вывод AN1 PIC через резистор R6. МОП-транзистор Q2 с резисторами R1, R17 обеспечивает активное понижение до выхода Vdd, когда это необходимо.Диод D2 защищает схему от внешнего Vdd.

Светодиод 1 с токоограничивающим резистором R12 показывает, что схема запитана от USB. Светодиод LED2 вместе с токоограничивающим резистором R11 показывает, что Vdd переключен на выход. Светодиод LED3 с токоограничивающим резистором R10 управляется микропрограммой PIC, обычно светится во время операций чтения и записи, указывая на состояние занятости.

Резисторы R7, R8 и R9 являются токоограничивающими резисторами, включенными последовательно с выходными линиями PGD, PGC и AUX.Резисторы R14 и R15 в определенных случаях обеспечивают активный низкий уровень на выходах PGD и PGC.

Заменители недоступных компонентов

Компоненты, которые я использовал в своем клоне, выделены жирным шрифтом.

  • Защитный диод D2, BAT85 будет падать намного больше напряжения на Vdd. Поэтому, если вы хотите избежать падения напряжения, вы можете его закоротить. Если вы не хотите полностью устранять защиту, вы можете заменить BAT85 диодом Шоттки с меньшим падением напряжения. Таким образом, вы можете заменить его на 1N5819 или 1N5818.
  • Вы можете заменить MOSFET Q3 (IRF9Z34) на более дешевый BC640, в этом случае выходной ток будет ограничен несколькими сотнями миллиампер с приемлемым падением напряжения. Вы также можете заменить IRF9Z34 на IRF9540N, если он недоступен в вашем городе.
  • Катушка индуктивности

  • L1 может варьироваться от 470 мкГн до 1 мГн и должна иметь номинальное значение не менее 150 мА.
  • BS170 можно заменить на VN2010L или BS107
  • BS250 можно заменить на VP2020L или BSS92 (будьте осторожны, у BSS92 другая распиновка!) Или BC 557 с базовым резистором 1К
  • Конденсатор 330 нФ можно не использовать.Я использовал конденсатор емкостью 0,1 мФ.

Компоненты, которые я использовал в своем клоне, выделены жирным шрифтом.

Коммутатор снабжен преобразователем ICSP в ZIF. 1 и 2 должны быть соединены для программирования 28- и 40-контактных ИС. 2 и 3 должны быть подключены для программирования 18, 14 и 8-контактных микросхем. Подключение AUX не показано на этой принципиальной схеме, но включено в конструкцию печатной платы. В стандартном ICSP вам не нужен AUX.

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

После травления лучше проверить плату на целостность и короткое замыкание. К сожалению, для запуска PICKit2 вам нужно запрограммировать прошивку на PIC18F2550, для этого вам понадобится другой программатор. Если у вас его нет, мы можем предложить программируемый 18F2550, комплекты или даже программатор по низким ценам, просто свяжитесь с нами.После того, как вы создали этот программатор, вы можете обновить прошивку без помощи других программистов, поскольку прошивка также включает загрузчик. Последняя версия прошивки доступна на веб-сайте Microchip.

Перед подключением к компьютеру дважды проверьте плату на предмет нежелательных коротких замыканий и обрывов. В Windows 7 PICKit2 будет определяться как USB-устройство ввода. Затем установите и откройте программное обеспечение для обработки «PICKit2» и проверьте его статус. Он должен показывать «PICKit2 подключен», а не на красном фоне.Все в порядке, пройдите мастер устранения неполадок, щелкнув Инструменты >> Устранение неполадок. Для этого понадобится вольтметр.

Если у вас есть ошибки или сомнения, прокомментируйте, мы их исправим… ..

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