USB програматор PIC своїми руками
Збираємо програматор для мікроконтролерів PIC і мікросхем EEPROM
Які перші кроки повинен зробити радіоаматор, який вирішив зібрати схему на мікроконтролері? Природно, необхідна керуюча програма – "прошивка", а також програматор.І якщо з першим пунктом немає проблем – готову "прошивку" зазвичай викладають автори схем, то ось з програматором справи йдуть складніше.Ціна готових USB-программаторов досить висока і найкращим рішенням буде зібрати його самостійно. Ось схема пропонованого пристрою (картинки клікабельні).
Панель установки МК.
Початкова схема взята з сайту LabKit.ru з дозволу автора, за що йому велике спасибі. Це так званий клон фірмового програматора PICkit2. Так як варіант пристрою є "полегшеної" копією фірмового PICkit2, то автор назвав свою розробку PICkit-2 Lite, Що підкреслює простоту збірки такого пристрою для початківців радіоаматорів.Що може програматор? За допомогою програматора можна буде прошити більшість легкодоступних і популярних МК серії PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A і ін.), А також мікросхеми пам'яті EEPROM серії 24LC. Крім цього програматор може працювати в режимі USB-UART перетворювача, має частину функцій логічного аналізатора. Особливо важлива функція, яку має програматор – це розрахунок калібрувальної константи вбудованого RC-генератора деяких МК (наприклад, таких як PIC12F629 і PIC12F675).
Необхідні зміни.
У схемі є деякі зміни, які необхідні для того, щоб за допомогою програматора PICkit-2 Lite була можливість записувати / прати / зчитувати дані у мікросхем пам'яті EEPROM серії 24Cxx.Із змін, які були внесені в схему. Додано з'єднання від 6 виведення DD1 (RA4) до 21 виводу ZIF-панелі. Висновок AUX використовується виключно для роботи з мікросхемами EEPROM-пам'яті 24LС (24C04, 24WC08 і аналоги). По ньому передаються дані, тому на схемі панелі програмування він позначений словом "Data". При програмуванні мікроконтролерів висновок AUX зазвичай не використовується, хоча він і потрібен при програмуванні МК в режимі LVP.Також доданий "підтягуючий" резистор на 2 кОм, який включається між висновком SDA і Vcc мікросхем пам'яті.Всі ці доробки я вже робив на друкованій платі, після складання PICkit-2 Lite по вихідній схемі автора.Мікросхеми пам'яті 24Cxx (24C08 і ін.) Широко використовуються в побутовій радіоапаратурі, і їх іноді доводиться прошивати, наприклад, при ремонті телевізорів кінескопів. У них пам'ять 24Cxx застосовується для зберігання налаштувань.У ЖК-телевізорах застосовується вже інший тип пам'яті (Flash-пам'ять). Про те, як прошити пам'ять ЖК-телевізора я вже розповідав. Кому цікаво, загляньте.У зв'язку з необхідністю роботи з мікросхемами серії 24Cxx мені і довелося "допілівать" програматор. Труїти нову друковану плату я не став, просто додав необхідні елементи на друкованій платі. Ось що вийшло.Ядром пристрою є мікроконтролер PIC18F2550-I / SP.
Це єдина мікросхема в пристрої. МК PIC18F2550 необхідно "прошити". Ця проста операція у багатьох викликає ступор, так як виникає так звана проблема "курки і яйця". Як її вирішив я, розповім трохи пізніше.Список деталей для зборки програматора. У мобільній версії потягніть таблицю вліво (свайп вліво-вправо), щоб побачити всі її стовпці.
Назва | позначення | Номінал / Параметри | Марка або тип елемента |
Для основної частини програматора | |||
мікроконтролер | DD1 | 8-ми бітний мікроконтролер | PIC18F2550-I / SP |
біполярні транзистори | VT1, VT2, VT3 | КТ3102 | |
VT4 | КТ361 | ||
діод | VD1 | КД522, 1N4148 | |
діод Шотткі | VD2 | 1N5817 | |
світлодіоди | HL1, HL2 | будь-який на 3 вольта, червоного і зеленого кольору світіння | |
резистори | R1, R2 | 300 Ом | МЛТ, МОН (потужністю від 0,125 Вт і вище), імпортні аналоги |
R3 | 22 кОм | ||
R4 | 1 кОм | ||
R5, R6, R12 | 10 кОм | ||
R7, R8, R14 | 100 Ом | ||
R9, R10, R15, R16 | 4,7 кОм | ||
R11 | 2,7 кОм | ||
R13 | 100 кОм | ||
конденсатори | C2 | 0,1 мк | К10-17 (керамічні), імпортні аналоги |
C3 | 0,47 мк | ||
електролітичні конденсатори | C1 | 100 МКФ * 6,3 в | К50-6, імпортні аналоги |
C4 | 47 мкф * 16 в | ||
Котушка індуктивності (дросель) | L1 | 680 мкГн | уніфікований типу EC24, CECL або саморобний |
Кварцовий резонатор | ZQ1 | 20 МГц | |
USB-розетка | XS1 | типу USB-BF | |
перемичка | XT1 | будь-яка типу "джампер" | |
Для панелі установки мікроконтролерів (МК) | |||
ZIF-панель | XS1 | будь-яка 40-ка контактна ZIF-панель | |
резистори | R1 | 2 кОм | МЛТ, МОН (потужністю від 0,125 Вт і вище), імпортні аналоги |
R2, R3, R4, R5, R6 | 10 кОм |
Завдяки їй можна "зашити" МК практично в будь-якому корпусі DIP.На схемі "Панель установки мікроконтролера (МК)" зазначено, що необхідно встановлювати мікроконтролери з різними корпусами в панель. При установці МК слід звертати увагу на те, щоб мікроконтролер в панелі позиціонується так, щоб ключ на мікросхемі був з боку фіксуючого важеля ZIF-панелі.Ось так потрібно встановлювати 18-ти вивідні мікроконтролери (PIC16F84A, PIC16F628A і ін.).
А ось так 8-ми вивідні мікроконтролери (PIC12F675, PIC12F629 і ін.).
Якщо є потреба прошити мікроконтролер в корпусі для поверхневого монтажу (SOIC), то можна скористатися перехідником або просто підпаяти до мікроконтролеру 5 висновків, які звичайно потрібні для програмування (Vpp, Clock, Data, Vcc, GND).
Готовий малюнок друкованої плати з усіма змінами ви знайдете за посиланням в кінці статті. Відкривши файл в програмі Sprint Layout 5.0 можна за допомогою режиму "Друк" не тільки роздрукувати шар з малюнком друкованих провідників, а й переглянути позиціонування елементів на друкованій платі. Зверніть увагу на ізольовану перемичку, яка пов'язує 6 висновок DD1 і 21 висновок ZIF-панелі. Друкувати малюнок плати необхідно в дзеркальному відображенні.Виготовити друковану плату можна методом Лут, а також маркером для друкованих плат, за допомогою цапонлаком (так робив я) або "олівцевим" методом.
Ось малюнок позиціонування елементів на друкованій платі (клікабельно).
При монтажі насамперед необхідно запаяти перемички з мідного луджених дроти, потім встановити низькопрофільні елементи (резистори, конденсатори, кварц, штирьовий роз'єм ISCP), потім транзистори і запрограмований МК. Останнім кроком буде установка ZIF-панелі, USB-розетки і запаювання дроти в ізоляції (перемички).
"Прошивка" мікроконтролера PIC18F2550.
Файл "прошивки" – PK2V023200.hex необхідно записати в пам'ять МК PIC18F2550I-SP за допомогою будь-якого вибору програм, який підтримує PIC мікроконтролери (наприклад, Extra-PIC). Я скористався JDM Programmator'ом JONIC PROG і програмою WinPic800.Посилання на файл PK2V023200.hex, запакований в архів rar, Дана в кінці статті.Залити "прошивку" в МК PIC18F2550 можна і за допомогою все того ж фірмового програматора PICkit2 або його нової версії PICkit3. Природно, зробити це можна і саморобним PICkit-2 Lite, якщо хто-небудь з друзів встиг зібрати його раніше вас :).Також варто знати, що "прошивка" мікроконтролера PIC18F2550-I / SP (файл PK2V023200.hex) Записується при установці програми PICkit 2 Programmer в папку разом з файлами самої програми. Приблизний шлях розташування файлу PK2V023200.hex – «C: \ Program Files (x86) \ Microchip \ PICkit 2 v2 \ PK2V023200.hex». У тих, у кого на ПК встановлена 32-бітна версія Windows, шлях розташування буде іншим: «C: \ Program Files \ Microchip \ PICkit 2 v2 \ PK2V023200.hex».Ну, а якщо вирішити проблему "курки і яйця" не вдалося запропонованими способами, то можна купити вже готовий програматор PICkit3 на сайті AliExpress. Там він коштує набагато дешевше. Про те, як купувати деталі і електронні набори на AliExpress я писав тут.
Оновлення "прошивки" програматора.
Прогрес не стоїть на місці і час від часу компанія Microchip випускає оновлення для свого ПО, в тому числі і для програматора PICkit2, PICkit3. Природно, і ми можемо оновити керуючу програму свого саморобного PICkit-2 Lite. Для цього знадобиться програма PICkit2 Programmer. Що це таке і як користуватися – трохи пізніше. А поки пару слів про те, що потрібно зробити, щоб оновити "прошивку".Для оновлення ПЗ програматора необхідно замкнути перемичку XT1 на программаторе, коли він відключений від комп'ютера. Потім підключити програматор до ПК і запустити PICkit2 Programmer. При замкнутій XT1 активується режим bootloader для завантаження нової версії прошивки. Потім в PICkit2 Programmer через меню "Tools" – "Download PICkit 2 Operation System" відкриваємо заздалегідь підготовлений hex-файл оновленої прошивки. Далі відбудеться процес оновлення ПЗ програматора.Після поновлення потрібно відключити програматор від ПК і зняти перемичку XT1. У звичайному режимі перемичка розімкнути. Дізнатися версію ПО програматора можна через меню "Help" – "About" в програмі PICkit2 Programmer.Це все по технічних моментів. А тепер про софт.Робота з програматором. Програма PICkit2 Programmer.
Для роботи з USB-програматором нам буде потрібно встановити на комп'ютер програму PICkit2 Programmer. Це спеціальна програма має простий інтерфейс, легко встановлюється і не вимагає особливої настройки. Варто зазначити, що працювати з програматором можна і за допомогою середовища розробки MPLAB IDE, але для того, щоб прошити / стерти / вважати МК досить простий програми – PICkit2 Programmer. Рекомендую.Після установки програми PICkit2 Programmer підключаємо до комп'ютера зібраний USB-програматор. При цьому засвітиться зелений світлодіод ( "харчування"), а операційна система пізнає пристрій як "PICkit2 Microcontroller Programmer" і встановить драйвера.Запускаємо програму PICkit2 Programmer. У вікні програми повинна відобразитися напис.Якщо програматор не підключений, то у вікні програми відобразиться страшна напис і короткі інструкції "Що робити?" англійською.
Якщо ж програматор підключити до комп'ютера з встановленим МК, то програма при запуску визначити його і повідомить нам про це у вікні PICkit2 Programmer.
Вітаю! Перший крок зроблено. А про те, як користуватися програмою PICkit2 Programmer, я розповів в окремій статті. Наступний крок.Необхідні файли:Керівництво користувача PICkit2 (рус.) Беремо тут або тут.