Utilizzare con successo un cavo FTDI?

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 ??

Il vostro Fede, disperato :slight_smile:


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?

avrdude: stk500_recv(): programmer is not responding

l'errore è uguale a un altro utente del forum

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!

Il mio schema di prova sulla breaboard e' un po' + semplice ed e' questo


con l'aggiunta dell'oscillatore.

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?

per la schede che faccio utilizzo il metodo toner transfer, posso scrivere una documentazione apposita coi miei accorgimenti

si si programmo con l ide direttamente... rst mi pare non collegato, comunque rst è dtr negato a quanto ho capito :smiley:

eh? che ti pare che dovrei fare? non ho mica capito

ora guardo un attimo il circuito originale di arduino poi ti dico!


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

uhm io non ho mai bisogno di premerlo, la resistenza di pull up l hai messa?

da 10k tra +5 e il pin1 dell'atmega, giusto?
devo ricostruire la board ora per capirlo :-/ lo faccio!

forse non e` nemmeno quello il problema... ci sareabbe da guardare cosa fanno dtr e rst, la loro logica, e quando entrano in gioco!

dopo aver fatto il giusto per caricare il bootloader ho provato a caricarci qualcosa e stessi vostri problemi

collego 5v gnd tx e rx e reset col reset cosa manca?

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!

ma perchè non funziona collegando in paralellelo i pulsanti di reset?

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.

da sparkfun

controlla anche questo schematic, http://www.sparkfun.com/datasheets/DevTools/Arduino/FTDI%20Basic.pdf
se lavori a 3v3
http://www.sparkfun.com/datasheets/DevTools/Arduino/FTDI%20Basic-v13-5V.pdf
se lavori a 5v

ma se collego 2 arduini uno senza chip collegato a seriale, l'altro con collegati tra di loro in parallelo non si programma

dipende che pin connetti, per la 4a volta ripeto che devi connettere il RESET TX e RX insieme, poi l alimentazione tutto il resto è noia :smiley: