Съдържание:

Как да използвате GPIO щифтове на Raspberry Pi и Avrdude към Bit-bang програма DIMP 2 или DA PIMP 2: 9 стъпки
Как да използвате GPIO щифтове на Raspberry Pi и Avrdude към Bit-bang програма DIMP 2 или DA PIMP 2: 9 стъпки

Видео: Как да използвате GPIO щифтове на Raspberry Pi и Avrdude към Bit-bang програма DIMP 2 или DA PIMP 2: 9 стъпки

Видео: Как да използвате GPIO щифтове на Raspberry Pi и Avrdude към Bit-bang програма DIMP 2 или DA PIMP 2: 9 стъпки
Видео: Supervised Home Assistant. Легкая установка на RaspiOS 64 - Raspberry PI 4B в корпусе Argon One M.2 2024, Ноември
Anonim
Как да използвате GPIO щифтове на Raspberry Pi и Avrdude към Bit-bang програма DIMP 2 или DA PIMP 2
Как да използвате GPIO щифтове на Raspberry Pi и Avrdude към Bit-bang програма DIMP 2 или DA PIMP 2

Това са стъпка по стъпка инструкции как да използвате Raspberry Pi и безплатната команда с отворен код avrdude за bit-bang програма DIMP 2 или DA PIMP 2. Предполагам, че сте запознати с вашия Raspberry Pi и LINUX командна линия. Не е нужно да сте запознати с програмирането на AVR чипове, но това помага, ако нещо се обърка, защото можете да прочетете изхода на avrdude и да имате представа какво да правите.

Тази процедура трябва да отнеме около 1 час за първи път и 5 до 10 минути всеки път след това.

Ще имаш нужда:

1) Raspberry Pi с GPIO щифтове и захранване. Използвам Raspberry Pi Zero W с GPIO щифтове, запоени. Операционната система трябва да бъде Raspberry Pi OS (по -рано Raspbian). Използвам Raspbian Lite (Stretch), който е доста стар. Тези команди все още трябва да работят на най -новата версия на Raspberry Pi OS.

Занапред ще наричам Raspberry Pi „RPi“.

2) проводници от женски към женски. Вземете един от всеки от тези цветове: червен, черен, син, жълт, зелен, лилав. Използвам кафяво вместо лилаво.

3) DIMP 2 или DA PIMP 2 с опционален 10-пинов ICSP хедър, запоен. Използвам DIMP 2 тук, но инструкциите са същите за DA PIMP 2.

4) Интернет достъп за RPi, за да можете да инсталирате безплатната команда с отворен код avrdude.

5) Копие на.hex флаш файла за вашия DIMP 2 или DA PIMP 2. Можете сами да изградите.hex файла от необработения изходен код, но няма да ви показвам как да направите това тук.

6) Някакъв начин за влизане в RPi-използвайте или мрежова връзка или директен достъп до конзолата. Трябва да можете да изпълнявате команди върху него.

Стъпка 1: Извадете захранващия кабел за променлив ток и извадете 9V батерията

Първо проверете дали захранващият кабел за променлив ток е свързан към DIMP 2 или DA PIMP 2 и включен ли е в електрическата мрежа. Ако е така, ОПАСНОСТ: ОПАСНОСТ ОТ ЛЕТАЛЕН ШОК. Носете гумени ръкавици и след това изключете главния люлеещ се превключвател на DIMP 2 или DA PIMP 2. След това изключете захранващия кабел от променливотоковата мрежа и откачете захранващия кабел от DIMP 2 или DA PIMP 2. Можете да вземете свалете гумените ръкавици, след като захранващият кабел се извади.

След това извадете 9V батерията. Захранването ще бъде осигурено на DIMP 2 от RPi чрез червените (Vcc) и черните (GND) проводници. За всеки случай изключете плъзгача на DIMP 2 или DA PIMP 2.

Стъпка 2: Свържете джъмперните проводници

Закачете джъмперните проводници
Закачете джъмперните проводници
Закачете джъмперните проводници
Закачете джъмперните проводници
Закачете джъмперните проводници
Закачете джъмперните проводници
Закачете джъмперните проводници
Закачете джъмперните проводници

Когато RPi не е включен, започнете да свързвате кабелите на джъмпера. Занапред щифтовете GPIO са на Raspberry Pi, а пиновете ICSP са на DIMP 2 (заглавка J3) или DA PIMP 2 (заглавка J1).

Вижте диаграмата, която калдържирах заедно и снимките, ако сте се загубили.

Частта RPi на диаграмата е от pinout.xyz.

Частта от диаграмата ATMEGA48V-10PU е авторско право 2016 Atmel Corp.

Твърдя за честно използване на тези рисунки поради значителните, трансформиращи допълнения.

Черното преминава от GPIO пин 6 към ICSP пин 10. Това е GND (Ground)

Жълтото преминава от GPIO пин 12 към ICSP пин 9. Това е MISO.

Зеленото преминава от GPIO пин 16 към ICSP пин 1. Това е MOSI.

Синьото преминава от GPIO пин 18 към ICSP пин 7. Това е SCK или SCLK (SClock)

Лилаво (кафяво на моите снимки) преминава от GPIO пин 32 към ICSP пин 5. Това е RESET.

Червеното преминава от GPIO пин 4 към ICSP пин 2. Това е Vcc (5V захранване)

Стъпка 3: Включете RPi

Сега продължете и включете RPi. Частта от волтметъра на DIMP 2 или DA PIMP 2 също трябва да се включи, но няма да разберете това, като погледнете дисплея. Ако се съмнявате, измерете напрежението с червената сонда на щифт 20 на ATMEGA48V-10PU и черната сонда на щифт 4, 6 или 8 на заглавката на ICSP. Трябва да е около 5VDC.

Стъпка 4: Инсталирайте Avrdude

Моите инструкции ще показват само команди от командния ред. Ако имате работещ графичен интерфейс, ще искате да отворите терминал, за да изпълните тези команди от командния ред.

Влезте като потребител по подразбиране pi. Паролата по подразбиране е малинова

Инсталирайте командата avrdude, като въведете следното в командния ред на терминала:

sudo apt-get install avrdude

Стъпка 5: Редактирайте конфигурационния файл на Avrdude

Редактирайте конфигурационния файл на avrdude, като въведете:

sudo nano /etc/avrdude.conf

Добавете тези редове в средата на файла, където са другите дефиниции на програмиста. Това, което направих, е да копирам секцията на програмиста точно над нея за id = "linuxgpio", след това да я поставя точно под (на ред 1274), след което да редактирам новата секция.

програмист

id = "pi_1"; desc = "Използвайте Linux sysfs интерфейса за битови GPIO линии"; type = "linuxgpio"; нулиране = 12; sck = 24; mosi = 23; miso = 18;;

След това запишете файла, като натиснете: Ctrl-O

И след това излезте от nano редактора, като натиснете: Ctrl-X

Стъпка 6: Изтеглете или копирайте.hex Flash файла в /home /pi

Копирайте.hex флаш файла в RPi. Предполагам, че знаете как да направите това. СЪВЕТ: Използвайте командата wget, curl, git или scp, за да изтеглите файла от мрежата в RPi.

. Hex файлът на DIMP 2 е тук, заедно с изходния код:

github.com/dchang0/dimp2

Персонализирана версия на.hex файла на DA PIMP 2 е тук. Не съм тествал това!

github.com/jcwren/DaPimp2

Ако горната версия на.hex файла на DA PIMP 2 не работи, оригиналният код на DA PIMP 2 на Майки Склар е тук. Вие сами ще трябва да го компилирате в работещ.hex файл. Не обхващам това в тези инструкции, защото това ще бъде дълъг (но не труден) урок. Успешно програмирах няколко работещи DA PIMP 2 единици, използвайки този изходен код:

drive.google.com/open?id=0Bx5Als-UeiZbSUdH…

Или можете да отидете на главната страница на DA PIMP 2 тук и да кликнете върху връзката към изходния код.

mikeysklar.blogspot.com/p/da-pimp-battery-…

Поставете.hex файла на този път и името на файла на RPi …

За DIMP 2:

/home/pi/dimp2.hex

За DA PIMP 2:

/home/pi/da_pimp2.hex

Стъпка 7: Проверете дали Avrdude може да говори с ATMEGA48V-10PU

Изпълнете командата avrdude, за да се уверите, че може да говори с чипа ATMEGA48V-10PU на DIMP 2 или DA PIMP 2.

cd /home /pi

sudo avrdude -c pi_1 -p m48 -v

Ще получите около страница с изход. Вижте края. Ако получите такъв отговор, можете да продължите.

avrdude: AVR устройството е инициализирано и готово да приеме инструкции

Четене | ################################################# | 100% 0.00s

Ако не, значи нещо не е наред и трябва да го разберете. Най-вероятно това е погрешно окабеляване, но друго често срещано оплакване, което видях, е, че чипът ATMEGA48V-10PU е фалшив. Изглежда, че много от тях, продавани на Amazon или ebay, са фалшификати. Тези, продавани от Mouser или Digikey и други оторизирани дистрибутори, са оригинални.

Стъпка 8: Прехвърлете.hex файла към ATMEGA48V-10PU

Изпълнете тази команда, за да извършите програмирането на чипа …

За DIMP 2:

cd /home /pi

sudo avrdude -c pi_1 -p m48 -U флаш: w: dimp2.hex

За DA PIMP 2:

cd /home /pi

sudo avrdude -c pi_1 -p m48 -U флаш: w: da_pimp2.hex

Ще получите около страница с изход. Потърсете тези редове:

avrdude: писане на флаш (1528 байта):

Писане | ################################################# | 100% 0.79s

avrdude: проверка …

avrdude: 1528 байта флаш проверен avrdude: safemode: Предпазители OK (E: FF, H: DF, L: 62)

Ако стигнете толкова далеч, трябва да видите LED дисплея, показващ нули за напрежението. Ако видите нулите, сте готови! Ако не, преминете към следващата стъпка.

Ако видите нулите, грациозно изключете RPi с тази команда:

sudo shutdown -h сега

Когато индикаторът за захранване на RPi се изключи (DIMP 2 или DA PIMP 2 все още ще светне), можете да изключите захранването от RPi. След това изключете кабелите на джъмпера между RPi и DIMP 2 или DA PIMP 2.

Стъпка 9: Просто отстраняване на неизправности, ако флашът е неуспешен

Ако не виждате нули на дисплея на вашия DIMP 2 или DA PIMP 2, значи е време да отстраните неизправностите.

Отново първо проверете кабелите си.

След това проверете състоянията на предпазителите, показани от avrdude. Възможно е вашият чип да е с предпазители, настроени на различни стойности от фабричните по подразбиране. Може да се наложи нулирането на предпазителите на чипа, което изисква напълно различно хардуерно устройство. Това е проблем с много от фалшивите чипове ATMEGA48V-10PU, продавани в ebay-те са стари чипове, извадени от изхвърлен хардуер, а предпазителите са настроени и продавачът не си направи труда да нулира предпазителите.

Понякога чипът дори не е ATMEGA48V-10PU. Това може да е различен чип с етикет. Обикновено можете да разпознаете тези фалшификати, като разгледате внимателно маркировките в горната и долната част на чипа. По-разумно е да получите вашия ATMEGA48V-10PU чрез надежден доставчик като Mouser или Digikey.

Препоръчано: