Obsah:

Jak používat GPIO piny Raspberry Pi a Avrdude k programu Bit-bang DIMP 2 nebo DA PIMP 2: 9
Jak používat GPIO piny Raspberry Pi a Avrdude k programu Bit-bang DIMP 2 nebo DA PIMP 2: 9

Video: Jak používat GPIO piny Raspberry Pi a Avrdude k programu Bit-bang DIMP 2 nebo DA PIMP 2: 9

Video: Jak používat GPIO piny Raspberry Pi a Avrdude k programu Bit-bang DIMP 2 nebo DA PIMP 2: 9
Video: Raspberry Pi 3: GPIO - введение не для начинающих – Часть 5.1 2024, Červenec
Anonim
Jak používat GPIO piny Raspberry Pi a Avrdude k programu Bit-bang DIMP 2 nebo DA PIMP 2
Jak používat GPIO piny Raspberry Pi a Avrdude k programu Bit-bang DIMP 2 nebo DA PIMP 2

Toto jsou podrobné pokyny k použití Raspberry Pi a bezplatného open-source příkazu pro bit-bang-programování DIMP 2 nebo DA PIMP 2. Předpokládám, že jste obeznámeni se svým Raspberry Pi a LINUX příkazový řádek. Nemusíte být obeznámeni s programováním čipů AVR, ale pomůže, když se něco pokazí, protože si můžete přečíst výstup avrdude a mít nějakou představu o tom, co dělat.

Tento postup by měl poprvé trvat asi 1 hodinu a pokaždé 5 až 10 minut.

Budete potřebovat:

1) Raspberry Pi s GPIO piny a napájením. Používám Raspberry Pi Zero W s pájenými piny GPIO. Operačním systémem by měl být Raspberry Pi OS (dříve Raspbian). Používám Raspbian Lite (Stretch), což je trochu starý. Tyto příkazy by měly stále fungovat na nejnovější verzi systému Raspberry Pi OS.

Do budoucna budu Raspberry Pi označovat jako „RPi“.

2) Propojovací vodiče žena-žena. Získejte jednu z těchto barev: červená, černá, modrá, žlutá, zelená, fialová. Místo fialové používám hnědou.

3) DIMP 2 nebo DA PIMP 2 s připájeným 10pólovým ICSP konektorem. Používám zde DIMP 2, ale pokyny jsou pro DA PIMP 2 stejné.

4) Přístup k internetu pro RPi, abyste si mohli nainstalovat bezplatný open-source příkaz avrdude.

5) Kopie souboru.hex flash pro váš DIMP 2 nebo DA PIMP 2. Soubor.hex si můžete vytvořit sami ze surového zdrojového kódu, ale zde vám neukážu, jak to udělat.

6) Nějaký způsob přihlášení k RPi-použijte buď síťové připojení, nebo přímý přístup do konzoly. Musíte na něm umět spouštět příkazy.

Krok 1: Odpojte napájecí kabel a vyjměte 9V baterii

Nejprve zkontrolujte, zda je napájecí kabel střídavého proudu připojen k DIMP 2 nebo DA PIMP 2 a zapojen do elektrické sítě. Pokud ano, NEBEZPEČÍ: NEBEZPEČÍ ÚRAZU RÁMEM. Nasaďte si gumové rukavice a poté vypněte hlavní kolébkový vypínač na DIMP 2 nebo DA PIMP 2. Poté odpojte napájecí kabel ze zásuvky a odpojte napájecí kabel z DIMP 2 nebo DA PIMP 2. Můžete po odpojení napájecího kabelu z gumových rukavic.

Poté vyjměte 9V baterii. Napájení bude na DIMP 2 poskytováno RPi přes červený (Vcc) a černý (GND) vodič. Pro každý případ přepněte posuvný přepínač na DIMP 2 nebo DA PIMP 2 do polohy vypnuto.

Krok 2: Zapojte propojovací vodiče

Zapojte propojovací vodiče
Zapojte propojovací vodiče
Zapojte propojovací vodiče
Zapojte propojovací vodiče
Zapojte propojovací vodiče
Zapojte propojovací vodiče
Zapojte propojovací vodiče
Zapojte propojovací vodiče

Když není RPi zapnutý, začněte zapojovat propojovací vodiče. Do budoucna jsou piny GPIO na Raspberry Pi a piny ICSP na DIMP 2 (záhlaví J3) nebo DA PIMP 2 (záhlaví J1).

Pokud jste ztraceni, podívejte se na diagram, který jsem dláždil, a na fotografie.

Část RPi diagramu pochází z pinout.xyz.

Část diagramu ATMEGA48V-10PU je chráněna autorskými právy 2016 Atmel Corp.

Prohlašuji spravedlivé použití těchto kreseb kvůli významným transformačním dodatkům.

Černá přechází z pinu GPIO 6 na pinu ICSP 10. Toto je GND (Ground)

Žlutá přechází od pinu GPIO 12 k pinu ICSP 9. Toto je MISO.

Zelená přechází z kolíku GPIO 16 na pin ICSP 1. Toto je MOSI.

Modrá přechází z GPIO pin 18 na ICSP pin 7. Toto je SCK nebo SCLK (SClock)

Fialová (na mých fotkách hnědá) přechází z GPIO pinu 32 na ICSP pinu 5. Toto je RESET.

Červená přechází z kolíku GPIO 4 na kolík ICSP 2. Toto je Vcc (5V napájení)

Krok 3: Zapněte RPi

Nyní pokračujte a zapněte RPi. Voltmetrová část DIMP 2 nebo DA PIMP 2 by se měla také zapnout, ale při pohledu na displej to nepoznáte. Pokud máte pochybnosti, změřte napětí červenou sondou na pinu 20 na ATMEGA48V-10PU a černou sondou na pinech 4, 6 nebo 8 na záhlaví ICSP. Mělo by být kolem 5VDC.

Krok 4: Nainstalujte si Avrdude

Moje pokyny zobrazí pouze příkazy příkazového řádku. Pokud máte spuštěné grafické uživatelské rozhraní, budete chtít otevřít Terminál pro spouštění těchto příkazů příkazového řádku.

Přihlaste se jako výchozí uživatel pi. Výchozí heslo je malina

Nainstalujte příkaz avrdude zadáním následujícího příkazu do příkazového řádku terminálu:

sudo apt-get install avrdude

Krok 5: Upravte soubor Avrdude Config

Upravte konfigurační soubor avrdude zadáním:

sudo nano /etc/avrdude.conf

Přidejte tyto řádky doprostřed souboru, kde jsou ostatní definice programátoru. Co jsem udělal, je zkopírovat část programátoru přímo nad ní pro id = "linuxgpio", poté ji vložit přímo pod (na řádek 1274), poté upravit novou sekci.

programátor

id = "pi_1"; desc = "Použijte rozhraní Linux sysfs k bitbangování GPIO linek"; typ = "linuxgpio"; reset = 12; sck = 24; mosi = 23; miso = 18;;

Poté soubor uložte stisknutím: Ctrl-O

A poté ukončete nano editor stisknutím: Ctrl-X

Krok 6: Stáhněte nebo zkopírujte soubor.hex Flash na /home /pi

Zkopírujte soubor.hex flash do RPi. Předpokládám, že víš, jak to udělat. TIP: Pomocí příkazu wget, curl, git nebo scp dostanete soubor dolů z webu do RPi.

Soubor.hex DIMP 2 je zde spolu se zdrojovým kódem:

github.com/dchang0/dimp2

Přizpůsobená verze souboru.hex DA PIMP 2 je zde. Toto jsem netestoval!

github.com/jcwren/DaPimp2

Pokud výše uvedená verze souboru.hex DA PIMP 2 nefunguje, je zde původní zdrojový kód DA PIMP 2 Mikey Sklara. Budete jej muset zkompilovat do funkčního souboru.hex sami. V těchto pokynech to nepokrývám, protože to bude dlouhý (ale ne obtížný) návod. Úspěšně jsem naprogramoval několik pracovních jednotek DA PIMP 2 pomocí tohoto zdrojového kódu:

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

Nebo můžete přejít na hlavní stránku DA PIMP 2 zde a kliknout na odkaz na zdrojový kód.

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

Umístěte soubor.hex na tuto cestu a název souboru na RPi…

Pro DIMP 2:

/home/pi/dimp2.hex

Pro DA PIMP 2:

/home/pi/da_pimp2.hex

Krok 7: Ověřte, zda Avrdude dokáže mluvit s ATMEGA48V-10PU

Spusťte příkaz avrdude, abyste se ujistili, že může mluvit s čipem ATMEGA48V-10PU na DIMP 2 nebo DA PIMP 2.

cd /home /pi

sudo avrdude -c pi_1 -p m48 -v

Získáte asi stránku výstupu. Podívejte se na konec. Pokud dostanete takovou odpověď, můžete pokračovat.

avrdude: Zařízení AVR inicializováno a připraveno přijmout pokyny

Čtení | ############################################################################# | 100% 0,00 s

Pokud ne, pak je něco špatně a měli byste na to přijít. S největší pravděpodobností se jedná o nesprávné zapojení, ale další častou stížností, kterou jsem viděl, je, že čip ATMEGA48V-10PU je falešný. Zdá se, že mnoho z nich prodaných na Amazonu nebo ebay jsou padělky. Ty, které prodává společnost Mouser nebo Digikey a další autorizovaní distributoři, jsou pravé.

Krok 8: Flashujte soubor.hex na ATMEGA48V-10PU

Spuštěním tohoto příkazu provedete programování čipu…

Pro DIMP 2:

cd /home /pi

sudo avrdude -c pi_1 -p m48 -U flash: w: dimp2.hex

Pro DA PIMP 2:

cd /home /pi

sudo avrdude -c pi_1 -p m48 -U flash: w: da_pimp2.hex

Získáte asi stránku výstupu. Podívejte se na tyto řádky:

avrdude: zápis blesku (1528 bajtů):

Psaní | ############################################################################# | 100% 0,79 s

avrdude: ověřování…

avrdude: 1528 bytů flash ověřeno avrdude: safemode: Fuses OK (E: FF, H: DF, L: 62)

Pokud jste se dostali tak daleko, měli byste vidět LED displej zobrazující nuly napětí. Pokud uvidíte nuly, máte hotovo! Pokud ne, přejděte k dalšímu kroku.

Pokud vidíte nuly, elegantně vypněte RPi pomocí tohoto příkazu:

sudo shutdown -h teď

Když kontrolka napájení na RPi zhasne (DIMP 2 nebo DA PIMP 2 bude stále svítit), můžete odpojit napájení od RPi. Poté odpojte propojovací kabely mezi RPi a DIMP 2 nebo DA PIMP 2.

Krok 9: Jednoduché řešení potíží v případě selhání blesku

Pokud na displeji DIMP 2 nebo DA PIMP 2 nevidíte nuly, je čas na řešení potíží.

Opět nejprve zkontrolujte zapojení.

Poté zkontrolujte stavy pojistek zobrazené avrdude. Je možné, že váš čip přišel s pojistkami nastavenými na jiné hodnoty, než je výchozí tovární nastavení. Na čipu může být nutné resetovat pojistky, což vyžaduje zcela jiné hardwarové zařízení. To je problém mnoha falešných čipů ATMEGA48V-10PU prodávaných na ebay-jsou to staré čipy vyřazené z vyřazeného hardwaru a pojistky byly nastaveny a prodejce se neobtěžoval resetovat pojistky.

Někdy čip není ani ATMEGA48V-10PU. Může to být jiný čip s novým označením. Obvykle můžete tyto padělky poznat tak, že se pečlivě podíváte na značky v horní a dolní části čipu. Je rozumnější získat váš ATMEGA48V-10PU prostřednictvím důvěryhodného dodavatele, jako je Mouser nebo Digikey.

Doporučuje: