Taula de continguts:
- Pas 1: què necessiteu?
- Pas 2: crear el programador Mega-isp en una tauleta de pa
- Pas 3: penjar l'esbós
- Pas 4: utilitzar-lo amb Avrdude
- Pas 5: gravació del firmware USBtinyISP a un Attiny2313
- Pas 6: gravació del carregador d'arrencada Arduino
- Pas 7: resolució de problemes
Vídeo: Com programar un AVR (arduino) amb un altre Arduino: 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:18
Aquest instructable és útil si:
* teniu el vostre arduino amb atmega168 i heu comprat un atmega328 a la vostra botiga d’electrònica local. No té un carregador d'arrencada arduino *, voleu fer un projecte que no utilitzi arduino, només un xip AVR normal (com el USBTinyISP), teniu un attiny2313 / attiny48 net, etc., en el qual voleu gravar el firmware. Normalment, haureu de tenir un ISP (In System Programmer) com USBTinyISP per programar el vostre nou xip. Tenint l'arduino, podeu ensenyar-lo a ser programador gràcies a un gran treball realitzat per Randall Bohn. Va crear Mega-ISP, un esbós arduino que funciona com un programador.
Pas 1: què necessiteu?
* un Arduino en funcionament (o un clon: estic fent servir BBB - BareBonesBoard i un RBBB - RealBareBonesBoard de ModernDevices) * un xip que voleu programar (provat amb atmega8, atmega168, atmega368, attiny2313, attiny13) * una placa amb capçalera ISP * 3 leds + 3 resistències * cables de taulers de suport
Pas 2: crear el programador Mega-isp en una tauleta de pa
Hi ha dues maneres de connectar el vostre Arduino per programar un xip.
Podeu connectar el vostre xip AVR a una placa de connexió i connectar 5V i GND als respectius pins (consulteu el full de dades!) + Una resistència de tracció per restablir-los i connectar els pins del vostre arduino al xip. Aquestes són les línies d'Arduino i la seva funció 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Restablir). El pinout de la capçalera ISP es troba a la tercera imatge Hi ha 3 leds per indicar l'estat del programador. el pin 9 - led blau - és el ritme del programador. pin 8 - led vermell - indica un error pin 7 - led verd - indica que la programació s'està duent a terme (feia mandra, així que no coincidia amb els colors de la meva configuració) Aquests són els dibuixos fets a Fritzing També podeu fer un Escut MEGA-isp. Yaroslav Osadchyy va dissenyar l'escut en àguila. Podeu obtenir els fitxers de l'àguila al seu lloc:
Pas 3: penjar l'esbós
Baixeu-vos l'esbós des del codi google mega-isp. (Avrisp.03.zip en el moment d'escriure-ho). Desempaqueteu-lo i executeu arduino ide i obriu avrisp.pde. Pengeu-lo a la vostra placa arduino. El led de batec del cor hauria de començar a bategar.
Pas 4: utilitzar-lo amb Avrdude
Per utilitzar-lo amb avrdude (i totes les interfícies gràfiques gràfiques que l’utilitzen) heu de seleccionar el programador “avrisp”. la taxa de bits més segura és el 19200.
Per provar el vostre nou atmega168 des de la línia d'ordres, proveu: $ avrdude -p m168 -P / dev / ttyUSB0 -c avrisp -b 19200 / dev / USB0 és el port que arduino està connectat a la meva caixa de Linux (el vostre pot ser com5). Això es pot comprovar a l'IDE arduino a Eines -> Port sèrie. Haureu d'obtenir: [kabturek @ hal-9000 ~] # avrdude -p m168 -P / dev / ttyUSB0 -c avrisp -b 19200 avrdude: Dispositiu AVR inicialitzat i llest per acceptar instruccions Lectura | ####################################################### | 100% 0,13 s avrdude: Signatura del dispositiu = 0x1e9406 avrdude: safemode: Fusibles OK avrdude done. Gràcies. Això vol dir que tot està bé. Si teniu errors, consulteu l'últim pas.
Pas 5: gravació del firmware USBtinyISP a un Attiny2313
El USBTinyISP és un gran programador de LadyAda que és realment barat: 22 $. Tenia un attiny2313 de recanvi i algunes peces, així que vaig decidir fer-ne un jo mateix. Si no teniu cap experiència en la fabricació de PCB, us aconsello que compreu el kit perquè té una qualitat superior a la que podeu fer vosaltres mateixos:). Almenys compreu el PCB si voleu construir-ne un. Podeu obtenir-lo a Adafruit. Connecteu l'ATtiny2313 A la darrera imatge podeu veure l'atiny2313 amb els pins que s'utilitzen per a ISP en vermell. La imatge és del tutorial de LadyAda avr. Gravació del microprogramari: descomprimiu el microprogramari USBTinyISP. Aneu a l’esp dir i executeu $ avrdude -p pt2313 -P / dev / ttyUSB0 -c avrisp -b 19200 per comprovar si tot està bé amb el xip. Ara configureu els fusibles: $ avrdude -P / dev / ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Ara hauríeu de connectar l'oscil·lador extern de 12 MHz al xip. I gravar el firmware: $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P / dev / ttyUSB0 -c avrisp -b 19200 Voila. El vostre attiny2313 té el firmware USBTinyISP.
Pas 6: gravació del carregador d'arrencada Arduino
Connectar: Vaig enganyar una mica perquè vaig utilitzar un RBBB per simplificar les connexions. L’esquema apareix a la imatge núm. 2. Si feu servir 2 arduinos, utilitzeu la imatge # 3 i connecteu el pin ISP a la capçalera ICSP 2x3 del segon arduino (esclau). Connecteu només l’alimentació USB a la primera placa. La manera de la GUI Això és una mica complicat perquè no es pot fer servir només Eines-> Grava el carregador d’arrencada -> w / AVR ISP perquè la velocitat per defecte és massa gran per al mega-isp. Cerqueu avrdude.conf que ve amb IDE arduino (a arduino / hardware / tools / avrdude.conf) i canvieu la freqüència del programador avrisp de 115200 a 19200 (al voltant de la línia 312). Cerqueu i canvieu a programador avrdude.conf id = "avrisp"; desc = "Atmel AVR ISP"; velocitat de transmissió = 115200; # per defecte és 115200 type = stk500;; a: programador id = "avrisp"; desc = "Atmel AVR ISP"; velocitat de transmissió = 19200; # per defecte és 115200 type = stk500;; Ara podeu utilitzar Eines -> Grava el carregador d'arrencada -> amb AVP ISP (després de seleccionar la placa adequada al menú Eines) Commanline També podeu utilitzar la línia d'ordres: Editeu arduino / hardware / bootloaders / atmega / Makefile i canvieu ISPTOOL / PORT / SPEED a: # introduïu els paràmetres de l'eina avrdude isp ISPTOOL = avrisp ISPPORT = / dev / ttyUSB0 ISPSPEED = -b 19200 no podeu escriure $ make diecimila_isp per gravar fusibles i el carregador d'arrencada. crema el parpelleig!
Pas 7: resolució de problemes
Errors Avrdude: avrdude: ser_open (): no es pot obrir el dispositiu "/ dev / ttyUSB0": No hi ha cap fitxer o directori. Teniu especificat el port (-P) incorrecte o el vostre arduino no està connectat. comproveu la connexió avrdude: Signatura del dispositiu = 0x000000 avrdude: Yikes! Signatura del dispositiu no vàlida. Comproveu les connexions i torneu-ho a provar o utilitzeu -F per anul·lar aquesta comprovació. Es tracta d’una mena d’error general. El vostre xip no es reconeix. Comproveu la connexió a la placa (GND / 5V connectat als pins?) Rebrà aquest error quan el vostre xip estigui configurat per utilitzar un oscil·lador extern i no funcioni (no n’hi ha cap o no oscil·la correctament - majúscules 22pf falta?)
Recomanat:
Un altre commutador rotatiu imprès sobretot en 3D: 7 passos (amb imatges)
Un altre commutador rotatiu imprès en gran part en 3D: fa un temps vaig crear un commutador rotatiu en la seva majoria impresos en 3D específicament per al meu projecte de rèplica Minivac 601. Per al meu nou projecte Think-a-Tron 2020, em necessito un altre interruptor rotatiu. Estic buscant un commutador de muntatge de tauler SP5T. Un additiu
Ràdio d'Internet Roberts RM33 Raspberry Pi (encara un altre ): 8 passos (amb imatges)
Roberts RM33 Raspberry Pi Internet Radio (Encara un altre …): Sí, és una altra versió de ràdio per Internet Raspberry Pi i tampoc la meva primera. No estic segur de per què aquesta versió continua sent tan popular, però segueixo gaudint-ne i tampoc puc dir que aquesta sigui la meva última. M'encanta l'aspecte del Robert
Un altre MIDI a CV Box: 7 passos (amb imatges)
Un altre MIDI a CV Box: un altre MIDI a CV Box és un projecte que vaig desenvolupar quan un Korg MS10 va trucar a la meva porta i va tenir lloc al meu estudi. Com que la meva configuració es relaciona molt amb MIDI per automatitzar i sincronitzar tots els instruments, quan vaig comprar el MS10 el primer problema que vaig tenir
Pantalla LED de 64 píxels RGB: un altre clon Arduino: 12 passos (amb imatges)
Pantalla LED de 64 píxels RGB: un altre clon Arduino: aquesta pantalla es basa en una matriu LED de 8x8 RGB. A efectes de prova, es va connectar a una placa Arduino estàndard (Diecimila) mitjançant 4 registres de desplaçament. Després d’aconseguir que funcionés, el vaig permetre en un PCB fabricat. Els registres de desplaçament tenen una amplada de 8 bits i
Un altre suport per a portàtils (altre portàtil per a portàtil): 4 passos (amb imatges)
Another Laptop Stand (otro Soporte Para Notebook): Per favor, ve una mejora en https://www.instructables.com/id/Mejoras-al-Soporte-para-laptop-laptop-stand-enhan/ Mi notebook tiene un problemita : la pantalla parpadea a ratos (arreglat a fines de setembre 2010, era un contacte flojo). Pero me h