Programátor AVRProg USB v3 MKII Eco

Pokud potřebujeme naplnit procesor od výrobce Atmel, máme k dispozici různé možnosti jak to udělat: vytvořit si programátor například z Arduina (Arduino jako ISP), nebo si koupit nějaký hotový programátor. Tento článek pojednává o "levném" programátoru AVRProg pro procesory AVR z rodiny Atmel...

Programátor jsem zakoupil v prodejně gme.cz https://www.gme.cz/programator-avrprog-usb-v3 za 549,- Programátor vyrábí firma http://and-tech.pl/, kde je možné získat další informace a například i nový firmware pro programátor.

AVR PROG USB v3 je určen k programování mikroprocesorů z rodiny AVR. Spolupracuje například s prostředím Bascom, AVRStudiem a dalšími programy. Kompatibilní i s OS Linux s programem AVRDUDE.
K dispozici má dva pracovní režimy: COM nebo HID, díky kterému programátor pracuje s libovolným operačním systémem, včetně Windows 10. Programátor obsahuje 50 cm dlouhý kabel zakončený 2x5 pinovým ISP konektorem.

Zařízení mám otestované ve Windows 10 (32/64 bit edici) a funguje spolehlivě (test 20. 2. 2017). Pomocí tohoto programátoru lze nastavovat - načítat pojistky, nahrávat - načítat EEPROM paměť, nahrávat - načítat flash paměť.

Programátor AVRProg

prog

Pohled na DIP přepínače

  • 1 spínač VCC -> Když je v poloze ON, tak VCC pin na konektoru ICSP se propojí s USB +5V na USB portu. Když je náš procesor napájen 3.3V namísto 5V, tak musíme spínač 1 dát do pozice OFF a naše zařízení napájet ze svého zdroje 3.3V. Při větším odběru zařízení je lepší vždy napájet ze svého zdroje zařízení, než používat USB port jako napájení.
  • 2 spínač DU/ST -> Když je ON, tak programátor pracuje s AVR Studiem, jinak pracuje s BASCOM a AVR Dude (tento režim je použit viz obrázky níže).
  • 3 spínač NONE -> Nemá žádnou funkci.
  • 4 spínač BOOT -> Spínač se používá pro vstup do módu načtení firmwaru (změna programu programátoru AVR Prog). Přepněte na ON a po jedné vteřině změňte zpět na OFF. V normálním módu musí být spínač 4 BOOT v pozici OFF.

avr progusb v3 2 dip

Zapojení programovacího 10-pinového ISP konektoru (standard KANDA)

ICSP

Rudá strana kabelu ISP (proužek na šedivém kabelu) značí konec + VCC na konektoru...

AVR3

Instalace do počítače

  • Nainstalujeme z přílohy pod článkem program "AVR Jungo USB.exe".
  • Připojíme programátor k USB počítače (měla by se rozsvítit zelená LED na desce, pokud se tak nestane je nutné aktualizovat "automaticky on-line" ovladač ve správci zařízení Windows).
  • Nainstalujeme z přílohy pod článkem program "Lib Usb Dot Net Setup.exe" a dle postupu v manuálu (pdf v příloze) přiřadíme pomocí filtru k USB.

Jak dostat program z Arduina do procesoru?

Arduino ve výchozím stavu (bez různých zásahů do samotného Arduina) neumí používat tento programátor! Nevadí, použijeme avrdude :-)

Z přílohy pod článkem stáhneme, rozbalíme a spustíme program "AVR dude" -> tedy grafické rozhraní "avrdude-GUI"

1

V programu AVR dude nastavíme

  • Programmer - Atmel AVR ISP mkII (avrispmkII).
  • Port - usb (pozor ne USB!).
  • Device - požadovaný procesor, který chceme programovat.

2

V Arduino IDE nastavíme vývojovou desku (procesor bod 1) a parametry desky. Provedeme kontrolu našeho programu (kompilace bod 2). Následně klikneme na "Vypálit zavaděč" v záložce "Nástroje" bod 3. Díky operaci "Vypálit zavaděč" se dozvíme jak následně nastavit pojistky (L,H,E FUSE) do programu AVR dude (i bez počítání a dalších nástrojů například zde http://www.engbedded.com/fusecalc/) viz obrázek níže. Pojistky se samozřejmě v tuto chvíli nikam nezapisují (Arduino nezná tento programátor AVRProg a nikam nic nezapíše), ale nastavení pojistek potřebujeme znát pro program AVR dude.

Co jsou to pojistky?

Pojistky FUSEs u mikroprocesorů nastavují parametry procesoru jako například jaký používáme oscilátor (interní, nebo externí oscilátor, detekce podpětí atd...)

3

Poznámka: Pokud máme nový prázdný procesor (nebo chceme upravit stávající na jiné nastavení), musíme nejprve nastavit pojistky (FUSE) a následně nahrát program (FLASH). Například TINY85 má z výroby nastaven interní oscilátor 1MHz, pokud pojistky nezměníme na interní oscilátor 8MHz, tak v programu funkce delay(1000) - tedy jedna vteřina nebude trvat jednu vteřinu, ale 8 vteřin. Nebo musíme do delay dávat číslo 8x menší než při oscilátoru 8MHz. Tedy 1000/8 = 125 potom bude delay(125) a výsledkem bude také čekání 1 vteřinu.

4

Dalším krokem po pojistkách je naplnění paměti FLASH (programu do procesoru našeho zařízení). Pokud máme program v Arduino IDE hotový provedeme "kompilaci" tedy překlad programu (tlačítko "nike"). Ve stavovém řádku uvidíme název a cestu ke kompilovanému souboru. Výchozí cesta býva v %appdata% v tempu Windows - viz obrázek níže. Důležitým souborem ve složce build je pro nás soubor, který se jmenuje *.hex

Tento soubor budeme nahrávat pomocí programátoru AVRProg a nástroje dude do procesoru.

5

Soubor hex, který je v tempu (po překopírování například na plochu) přiložíme a stikneme tlačítko "Erase-Write-Verify" a je to :-)

6

Poznámka

Pokud ve stavovém oknu v Arduino IDE nevidíme stav kompilace, nebo nastavení pojistek je nutné si v nastavení Arduino IDE toto zobrazení nejprve aktivovat!

xx

Pokud máme na plošném spoji dostatek místa pro osazení ISP konektoru a víme předem, že budeme často program v procesoru měnit (například při ladění zařízení), tak je výhodné tento konektor osadit a ušetřit si práci s vyndáním procesoru - naprogramováním někde v patici - vložením procesoru - a opět vyndáním - atd... Konektor ISP (2x5 pinů) stojí pár korun a pokud nevyžadujeme přímo USB port na zařízení, ušetříme slušnou částku za FTDI převodník + USB převodník...

Jak dostat do Arduina IDE podporu pro ATTINYxx procesory?

Zde je postup, jak podporu do Arduina přidáme...

Attachments:
Download this file (avrdude-5.8.zip)AVR dude[5.8]304 kB416 Downloads2017-02-20 13:55
Download this file (AVRJungoUSB.zip)AVR Jungo USB[Instalační program pro Win]3267 kB572 Downloads2017-02-20 13:43
Download this file (czn.752-447.1.pdf)Český instalační manuál[AVR Prog]920 kB722 Downloads2017-02-20 14:08
Download this file (LibUsbDotNet_Setup.2.2.8.zip)LibUsbDotNet_Setup[2.2.8]2265 kB1636 Downloads2017-02-20 13:54