Go Down

Topic: Problema programmazione arduino uno (Read 11155 times) previous topic - next topic

minimanimo

Jul 13, 2013, 12:22 pm Last Edit: Jul 13, 2013, 12:32 pm by minimanimo Reason: 1
Salve a tutti,sono un nuovo utente e vi scrivo perchè ho dei problemi con la board.
Un amico mi ha regalato arduino uno,dicendomi che lo aveva messo da parte e non lo usava piu'.
Mi è stata data solo la board,utilizzo un cavo di connessione usb corto da 20 cm preso da un hd esterno.
Ho provato da subito a programmarlo per testarlo,ma mi dà problemi.
Stavo utilizzando l'esempio basic : blink.
Ciò che succede è questo: Avvio l'upload,compila ma non carica sulla memoria:
Binary sketch size: 1084 bytes (of a 32256 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x00

Questo con il programmatore (ide ?) 1.0.5
Allora visto che altra gente ha avuto problemi,provo con il 0022,il risultato è questo:
Binary sketch size: 1018 bytes (of a 32256 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

Durante la procedura di caricamento,solo il led di rx si illumina per circa 3 volte in intermittenza.

Premetto che stò leggendo qualche guida online,quindi ho apportato nessuna modifica alla board,i connettori aref e icsp non hanno sulla collegato.

Il pc sul quale programmo è un Windows 8 x64,intel i3.
La board,Arduino uno.
Ho notato una cosa strana nell'ide (?): quando con il mouse apro il menu a tendina in alto e premo su file,edi,sketch tutto apposto,appena passo su tools (o strumenti sull' 1.0.5) mi si "impalla" per aprirsi dopo circa 10 secondi.
I programmi sono stati avviati in modalità amministratore.
Aiutatemi voi :D
Grazie in anticipo

vectorel

L'arduino Uno è l'R3 o una versione più vecchia?

Se hai installato l'IDE i driver dovrebbero essere già presenti, ma mentre attacchi la scheda al pc, controlla in "gestione dispositivi" che venga riconosciuta correttamente e che non compaia qualche punto esclamativo.

Poi, ovviamente, assicurati di selezionare Arduino Uno e la porta COM corretta associata alla scheda.

superlol

disattiva il bluetooth quindi devi selezionare la scheda da tools->serial port e ti si apre il menu a tendina con le varie porte com.

avvia l'ide dopo aver collegato l'arduino al pc

minimanimo

La board è l'R3,all'inizio mi caricava in gestione dispositivi la periferica Arduino Uno (Com 9).
Cosi poi ho disinstallato i driver e reinstallato manualmente quelli contenuti nela cartella arduino 1.0.1
Ho dovuto disattivare la firma digitale in windows 8 per installarli,ma ora me lo riconosce come Arduino Uno R3.
Ho fatto un pò di prove,ma niente. Ecco il dettagli dell'output:
Dimensione del file binario dello sketch: 1.084 bytes (su un massimo di 32.256 bytes)
C:\Program Files (x86)\Arduino\hardware/tools/avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -carduino -P\\.\COM9 -b115200 -D -Uflash:w:C:\Users\Dany\AppData\Local\Temp\build4996936153601901678.tmp\Blink.cpp.hex:i

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : \\.\COM9
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Recv:
avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude done.  Thank you.


Ho provato a riscrivere il bootloader con i vari tipi di programmatori ma niente.
Quando premo il pulsante di reset,dicono che dovrebbe lampeggiare,ma invece rimane fermo.
Il led L è arancione(quello sopra a tx).
Grazie per l'interessamento

superlol

se hai programmatori quali avr-isp nella cartella temp dovrebbe esserci (finche non chiudi l'ide) il file .hex compilato, nel tuo caso era
Quote
C:\Users\Dany\AppData\Local\Temp\build4996936153601901678.tmp\Blink.cpp.hex

quindi prova a flasharlo tramite flip od altro software o la riga di avrdude direttamente.

il problema è il problema dell'autoreset che in ICSP non dovrebbe presentarsi, se si presenta sulla shceda una soluzione potrebbe essere quella di schiacciare il pulsante di reset sull'arduino quando leggi quanto occupa lo sketch.

il problema che presenti tu comunque è il programmatore che non trova risposta dall'arduino questo può essere dato dal fatto che quando si apre la connessione seriale il micro si resetta e quindi parte il bootloader (ed è il principo per cui funziona, se ti da l'errore vuol dire che non si resetta oppure va in bootloop quindi un reset continuo) oppure che hai sagliato porta seriale oppure che l'atmega328 a bordo dell'arduino è impegnato sulla seriale, quindi ha uno sketch con seriale a 115200 baud che intasa tutto, in genere in questi casi prima di inizializzare la seriale infatti si mette un delay di qualche secondo così che si possa resettare la scheda manualmente ed avere un qualche secondo necessario al compilatore per compilare ed all'uploader di iniziare la sua comunicazione  XD

minimanimo

Ok grazie...in parole povere cosa dovrei fare? XD

Ho preso l'hex dalla cartella temporanea e spostato sul desktop,scaricato flip,ma nella selezione del device,non c'è atmega328p-pu,maatmega32c1,m1 ecc..

Come posso risolvere questo problema del bootloader?

superlol

aspetta ma con la frase
Quote
Ho provato a riscrivere il bootloader con i vari tipi di programmatori ma niente.

cosa intendevi esattamente?
io ho capito che hai a casa un programmatore come l'avrISP quindi ti proponevo il sistema di programmazione "generico"

allora ripartiamo da 0.

installati i driver dalla cartella dell'ide 1.0.5 (l'ultima versione stable rilasciata) per la tua arduino uno r3 attacca la scheda al pc ed aspetta ti venga riconosciuta.
spegni il bluetooth del pc (se lo hai) quindi apri l'ide e cerca un esempio che ti piace da voler caricare ed aprilo.
quindi vai sotto tools, serial port e selezioni la porta seriale a cui è connesso il tuo arduino.
il programmatore selezionato deve essere avrISP mkII e la scheda selezionata deve essere arduino UNO.
quindi clicchi sul pulsante dell'upload (quello con la freccina rivolta verso dx, che trovi in alto a sx nell'ide)
a questo punto dovresti vedere lampeggiare le lucine rx e tx velocemente sulla scheda arduino se ciò non succede vi sono varie interpretazioni da seguire in ordine:
1. prova cambiando porta seriale
2. se la 1 continua a non dare frutti
  2a. riseleziona la seriale dell'arduino (questa la devi scoprire tu, con windows 7 la trovi sotto "Pannello di controllo\Hardware e suoni\Dispositivi e stampanti" in non specificato vi è arduino uno e tra parentesi la porta seriale corrispondente
  2b. tieni premuto il pulsante di reset della scheda e clicca il pulsante upload, quando nella schermata sotto dell'ide ti sarà mostrato quanto occupa lo sketch rilascia subito il pulsante di reset
3. se i metodi sopra elencati non vanno può essere un problema di bootloader, riflasha il bootloader seguendo la procedura dell'utente del forum Michele Menniti (nella sua firma trovi i link)
4. se anche questo non funziona il problema può essere il micro, quindi bisognerà sostituire il chip principale con un'altro (qui il bootloader dovrà già essere sul chip oppure va programmato col bootloader con la guida citata al punto 3)
5. se anche questo non va potrebbe essere un errore di convertitore usb-seriale (ergo butta la scheda a meno che tu non abbia attrezzatura professionale per saldature ;) )

minimanimo

#7
Jul 13, 2013, 03:17 pm Last Edit: Jul 13, 2013, 03:20 pm by minimanimo Reason: 1
Ciao,ti ringrazio molto per l'aiuto ma non riesco a risolvere..
Ho provato fino al punto 3,ma niente.
Nella guida di Michele Menniti ho bisogno di un'altro atmega per reinserire il bootloader.
Io ho a disposizione vari pic,tra cui 18f2550 o 18f4550,18f4620 e un programmatore Pic Kit 2.
Posso usare qualcosa di questi in alternativa??
Grazie ancora

superlol

http://www.sonsivri.to/forum/index.php?topic=27727.0
puoi tentare con questo

vectorel

Ma la scheda viene riconosciuta correttamente come Arduino Uno da Windows? Perchè se viene riconosciuta non è detto che sia necessariamente un problema di bootloader

Della versione 1.0.5 hai scaricato l'installer o il file zip?

superlol


Ma la scheda viene riconosciuta correttamente come Arduino Uno da Windows? Perchè se viene riconosciuta non è detto che sia necessariamente un problema di bootloader

Della versione 1.0.5 hai scaricato l'installer o il file zip?

Code: [Select]
Ho dovuto disattivare la firma digitale in windows 8 per installarli,ma ora me lo riconosce come Arduino Uno R3

PaoloP

Dalla versione 1.0.4 i driver sono stati firmati digitalmente e vengono riconosciuti senza necessità di raggiri.
Con Win8, usa quindi tranquillamente l'ultima versione (la 1.0.5).

minimanimo

#12
Jul 13, 2013, 06:28 pm Last Edit: Jul 13, 2013, 06:32 pm by minimanimo Reason: 1

Ma la scheda viene riconosciuta correttamente come Arduino Uno da Windows? Perchè se viene riconosciuta non è detto che sia necessariamente un problema di bootloader

Della versione 1.0.5 hai scaricato l'installer o il file zip?


Sisi.. ho messo i driver di arduino nel pack dell'ide 1.0.5..
Li ho messi manualmente.
Windows me lo riconosce senza problemi!
Però da lo stesso problemi!
:(

superlol

Descrivi esattamente quello che accade quando connetti la board

vectorel


Sisi.. ho messo i driver di arduino nel pack dell'ide 1.0.5..
Li ho messi manualmente.
Windows me lo riconosce senza problemi!
Però da lo stesso problemi!
:(

Allora se hai spostato manualmente la cartella Arduino in questa directory C:\Program Files (x86)\ prova a spostarla in C:\ oppure cancellala e scarica e installa l'installer della stessa versione

Go Up