Pages: [1] 2   Go Down
Author Topic: Programmare Pro Mini con converter USB-TTL?  (Read 2132 times)
0 Members and 1 Guest are viewing this topic.
Torino, Italy
Offline Offline
Newbie
*
Karma: 0
Posts: 33
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti, ho un Arduino Pro Mini 328 5V che vorrei programmare per un piccolo progetto. Un pò di tempo fa acquistai sulla baia un USB-TTL serial converter con chip PL2303 (foto allegate, la definizione data dal venditore era 'PL2303 USB To RS232 TTL Converter Adapter Module') per altri scopi. Posso usare questo converter per programmare il Mini? Non sono molto ferrato ma mi sembra di aver capito che per questo scopo occorrerebbe un chip TTL-UART, tipo FTDI, e non RS232.
In alternativa mi sembra sia possibile programmare il Mini con un'Arduino Uno senza chip, con 5 collegamenti (5V, GND, TX, RX e Reset), è corretto?
Gigi


* DSCN3721.jpg (103.96 KB, 730x276 - viewed 73 times.)

* DSCN3722.jpg (100.71 KB, 710x278 - viewed 84 times.)
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 114
Posts: 7224
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non hai il reset e la sequenza non è corretta; quindi non puoi interfacciare direttamente il convertitore ma dovrai usare dei cavetti.
Inoltre o riesci a individuale il segnare DTR e a saldarci un cavetto per il reset o dovrai farlo a mano sincronizzandoti con la schermata dell'IDE.
Per caricare lo sketch tramite un'altro Arduino leggi la guida di Michele Menniti --> http://michelemenniti.it/arduino_burn_bootloader.php
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

BZ (I)
Online Online
Brattain Member
*****
Karma: 271
Posts: 21881
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dovrai installare sul PC il driver per il PL2303. Arduino non lo ha nel IDE.

Ciao Uwe
Logged

Torino, Italy
Offline Offline
Newbie
*
Karma: 0
Posts: 33
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il convertitore è già installato ed offre una porta seriale virtuale. Se manca solo il reset sul convertitore, non posso usare il bottone di reset della Mini, poco prima di fare l'upload dello sketch? O devono essere sincronizzati?
Logged

Torino, Italy
Offline Offline
Newbie
*
Karma: 0
Posts: 33
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie PaoloP per il link alla guida di Menniti, a questo punto credo che la cosa migliore sia adottare una delle tecniche di ISP con la Mini su breadboard e l'Arduino Uno come programmer. A proposito della Mini, perdonate l'ignoranza e la tentazione irresistibile di spendere il meno possibile ... devo ammettere che me la sono procurata sulla baia e non so ancora cosa mi sia capitato tra le mani (foto allegata). La domanda è: come faccio a sapere se  questo clone ha il bootloader installato oppure no? Posso tagliare corto, supporre che non ci sia e caricarlo come spiega molto bene Menniti?
Ciao e grazie ancora per la vostra disponibilità.


* Clipboard01.jpg (19.1 KB, 295x168 - viewed 43 times.)
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 114
Posts: 7224
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Se programmi tramite ISP perdi il bootloader, che serve per programmarlo tramite seriale ma che comunque puoi sempre reinserire.
Se hai intenzione di acquistare altri Arduino ti consiglio l'acquisto di uno di questi (http://www.robot-italy.com/it/usb-to-serial-converter.html), lo trovi anche nello store ufficiale), monta il chip 8U2 ma ha la particolarità di avere la piedinatura FDTI compatibile. Inoltre è originale e può essere utile.
Saldi gli strip a L (http://www.robot-italy.com/it/male-strip-2-54-90-40-pin.html) sul lato corto e ti basta collegare USB converte per programmarlo.

Per il bootloader suppongo lo abbia.
Con il tuo USB converter, collega GND, 5V, TX e RX all'Arduino e apri il monitor seriale. Premi il pulsante di reset. Arduino dovrebbe stamparti qualche scritta. Mi pare "Check OK!" una volta al secondo.
« Last Edit: July 25, 2013, 09:44:39 am by PaoloP » Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Torino, Italy
Offline Offline
Newbie
*
Karma: 0
Posts: 33
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Leggendo questo topic (http://forum.arduino.cc/index.php/topic,137772.0.html), mi sembra di aver capito che questo converter (http://www.ebay.com/itm/USB-2-0-to-UART-TTL-6PIN-CP2102-Module-Serial-Converter-/221003654108?pt=LH_DefaultDomain_0&hash=item3374d823dc) potrebbe essere una valida alternativa con ilchip CP2102, visto che fornisce anche il segnale di reset su di un pin dedicato, corretto? Occorrerebbe comunque un condensatore da 0.1uF sul pin RST del converter (come spiegato da retrolefty nel topic di prima)?
Logged

Milan, Italy
Offline Offline
Sr. Member
****
Karma: 0
Posts: 349
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sni,
nel senso che non devi usare il pin reset per resettare l'arduino, purtroppo quello è un ingresso per resettare il chip usb.
Per resettare l'arduino devi collegare il pin all'uscita DTR che è tra i segnali disponibili sui lati dell'adattaore usb.
Mi raccomando prendi un adattatore che esporti tutti i segnali, in giro ce ne sono alcuni simili e di colore bianco che hanno solo i segnali frontali (+5, +3, GND, TX, RX, reset) e non vanno bene.
Quello del link che hai messo va bene.
« Last Edit: July 25, 2013, 07:29:04 am by bigjohnson » Logged


Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 114
Posts: 7224
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

La piedinatura FTDI compatibile è


Il segnale di Reset, per l'IDE di Arduino è dato dal DTR.
Il CTS di solito non è collegato o pure messo a GND, quindi se colleghi nella stessa posizione 5V o 3V3 rischi il corto.
Dovrai crearti un cavetto che ricostruisca la giusta sequenza.
« Last Edit: July 25, 2013, 09:53:10 am by PaoloP » Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Milan, Italy
Offline Offline
Sr. Member
****
Karma: 0
Posts: 349
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Uno dei più grandi misteri arduiniani è il pin usato per il reset, DTR, RTS o tutti e due, ma?
Se il pinout del cavo FTDI ha l'RTS mi sa che è quello.
Logged


Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 114
Posts: 7224
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nessun mistero.
Basta guardare lo schema della Arduino 2009 --> http://arduino.cc/en/uploads/Main/arduino-duemilanove-schematic.pdf
Il reset è collegato sia al RST che al DTR. Idem nella Arduino Diecimila (http://arduino.cc/en/uploads/Main/Arduino-Diecimila-schematic.pdf)

Nella Arduino UNO R3 --> http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf
solo al segnale DTR, cosi come dalla Mega 1280 (http://arduino.cc/en/uploads/Main/arduino-mega-schematic.pdf)

Gli schemi delle vecchie board li trovi qui --> http://arduino.cc/en/Main/Boards

La prima versione non aveva l'autoreset  smiley-mr-green --> http://arduino.cc/en/Main/ArduinoBoardSerial
« Last Edit: July 25, 2013, 12:28:30 pm by PaoloP » Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Torino, Italy
Offline Offline
Newbie
*
Karma: 0
Posts: 33
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nei pin che mette a disposizione il converter c'è un RST che però mi sembra di aver capito che non serve a resettare l'ATmega328 del Mini. Sul Mini che ho io ce nè uno, nella fila a sinistra dei pin di ICSP, denominato DTR. Ad ogni modo, per quello che costa, ho ordinato il converter del link, quando mi arriverà potrò dirvi se e come sono identificati gli 8 pad presenti sulla board ma che dalla foto è impossibile capire a quali pin del CP2102 corrispondano. La sequenza non ha importanza perchè è chiaro che collegherò i pin con cavetti, quello che conta è capire se sto CP2102 ha, (e sembra che ce l'abbia) e quale sia, il pin di reset che funzioni con il DTR del Mini.
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 114
Posts: 7224
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Se segue lo standard RS232 il segnale DTR ci deve essere per forza. Non è detto che sia facilmente accessibile; nel senso che non è riportato su nessuna piazzola della schedina ma solo sul piedino del micro.
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Milan, Italy
Offline Offline
Sr. Member
****
Karma: 0
Posts: 349
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Il convertitore che vendono nel link di ebay che hai postato ha sia RTS che DTR accessibili, devi solo saldargli il connettore.



* DSC06392.jpg (81.25 KB, 720x269 - viewed 89 times.)
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 574
Posts: 12665
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Il segnale RTS era in uso prima del segnale DTR, su Arduino; per l'uso normale l'uno vale l'altro ma provocano differenti reazioni all'apertura del Serial Monitor. Questa operazione invia ad Arduino un segnale DTR ma non RTS, quindi nel primo caso Arduino viene resettato, nel secondo, se serve, occorre premere manualmente il pulsante RESET su Arduino. Per le normali operazioni di programmazione l'uno vale l'altro, funzionano a meraviglia entrambe. La presenza in serie di un C da 100nF (= 0,1µF) tra DTR/RTS e RESET di Arduino è indispensabile. Segnalo anche il chip MPC2200 di cui ho parlato nella Guida e sul quale ho scritto anche un articolo pubblicato su Elettronica In. E' in realtà un PIC mascherato (un po' come gli 8/16u2 di Arduino che sono micro adattati a svolgere funzione di convertitore USB-Seriale (non TTL, che è una cosa diversa e non funziona con Arduino...), ha il segnale RTS e funziona benissimo con Arduino, l'ho adottato anche nel mio progetto del Programmatore HV.
Resto dell'avvso ce il chip migliore in assoluto per svolgere questa funzione sia l'FT232RL, quello montato su Arduino 2009; la Sparkfun ha realizzato una versione demoboard che porta tutti i suoi segnali all'esterno, con i quali sono riuscito ad eseguire la tecnica di programmazione BitBang per caricare il bootloader sul micro montato direttamente su Arduino; anche su queata cosa ho pubblicato uno specifico articolo.
Logged


Pages: [1] 2   Go Up
Jump to: