Ciao a tutti, ho stampato una scheda per un progetto arduino sulla base di una di un altro sviluppatore estendendola. La scheda dovrebbe permettere, tra le altre cose, di programmare il mio atmega168 con un cavo ftdi. Possiedo un cavo ftdi che viene correttamente visto dal mio linux come ttyUSB0 e col quale riesco a programmare alcuni xbee.
Venendo al succo della questione, non riesco a programmare la suddetta scheda via ftdi. Col dubbio di aver saldato male o modificato male (anche se per tutto il resto funziona) ho costruito questa sera un circuito, il piu' semplice che ho creduto, su breadboard.
Lo riporto cosi' se qualche volenteroso puo' e vuole provare... (ho precaricato sul mio atmega lo sketch blink via arduino standard)
pin1 --> tramite resistenza 10k a RTS su FTDI (cavo verde)
pin2 --> RX arancio su FTDI
pin3 --> TX giallo su FTDI
pin7 --> +5
pin8 --> GND
pin 9 --> oscillatore (pin centrale connesso a GND)
pin 10 --> oscillatore
pin19 --> led (digital13)
pin 20 -->+5
pin 22 ---> gnd
ho messo un condensatore "104" tra + e gnd
Sostanzialmente quando attacco il cavo ftdi questo da corrente alla board e il led inizia a lampeggiare come da programma. Vado sul mio arduino ide e gli dico di ricaricare lo sketch. Il led che lampeggia si spegne e poi l'ide mi da "avrdude: stk500_recv(): programmer is not responding" . Lo stesso fa la scheda che ho acidato (ma che teoricamente dovrebbe funzionare)
Probabilmente non so utilizzare questo cavo... Dove sbaglio ??
se lo schema è questo e non ci sono errori o contatti o saldature fredde sulla tua schedina allora la questione si fa più pesa...
poi basta che alimenti l atmega e colleghi TXO, RXI e DTR. Ho un paio di domande per te, per stampare la schedina hai usato un foglio traslucido e una stampante laser? dimensione minima delle tracce?
ah dimenticavo, io come cavo ftdi uso il mio diecimila senza il microcontrollore e mi bastano appunto quelle 3 connessioni per programmare una board con un arduino standalone!
Ho provato sia col cavo ftdi vero sia con l'arduino portando solo, oltre la corrente, rx e tx dai pin 0 e 1 della scheda arduino. Adesso guardo meglio il tuo schema e vedo se e' molto diverso la mio...
Comunque mi confermi che per caricare uno sketch lo carichi come se fosse un arduino normale?
vedi, dovresti replicare questi collegamenti... ora che ci penso io connetto il reset al alla mia board, e al reset sono connessi sia dtr che rst... RESET EN puoi evitare di mettercelo credo che non serva a molto dato che c'e` un collegamento diretto...
Da mille prove fatte su breadboard sembra che senza un pulsante per il reset la cosa non possa funzionare (ovvero, col pulsante sul reset funziona anche se e' complicatissimo trovare il punto giusto tra quando premo il pulsante e quando premo il "carica sketch"). Hai qualche esperienza in merito? F
Io sostanzialmente riesco a farlo "funzionare" se metto un bottone di reset esterno, premo il bottone e carico lo sketch. Devo farlo 10 volte prima di beccare il tempo giusto tra una pressione e l'altra... Se lo risolvo smetto di smdonnare!
si ma a me funziona senza dover premere nulla... http://img816.imageshack.us/img816/2830/foto291.jpg
questa è la board che ho fatto io, e come ho già detto attacco solo txd rxd e reset e si programma tramite ide come se fosse un arduino normalissimo.
The DTR pin allows an Arduino target to auto-reset when a new Sketch is downloaded. This is a really nice feature to have and allows a sketch to be downloaded without having to hit the reset button. This board will auto reset any Arduino board that has the reset pin brought out to a 6-pin connector.