Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

FT232 USB/serial + Atmega328P (non comunica)

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto Utentecarloc, Foto UtenteDirtyDeeds, Foto UtenteIsidoroKZ

0
voti

[11] Re: FT232 USB/serial + Atmega328P (non comunica)

Messaggioda Foto UtenteSalvatore129 » 3 feb 2018, 2:02

Altra prova effettuata:

ho sostituito il convertitore (FT232) con un altro convertitore (CP2102) e funziona tutto bene con la stessa PCB precedente. (vedi allegato)
Quindi anche dopo aver tolto e rimesso il cavo USB, l'Atmega viene letto regolarmente.

Qualcuno mi direbbe: ma allora utilizza il convertitore CP2102

Lo utilizzerei molto volentieri ma c'è un problema: il convertitore CP2102, a differenza del FT232, non possiede (almeno penso questo) un ID, quindi se ad esempio inserisco un convertitore CP2102 mi associa una porta COM ad esempio "COM10".
Se tolgo il convertitore CP2102 e ne inserisco uno gemello, viene assegnato ad esso la stessa COM, cioè "COM10".
Ma questo, per l'uso che devo farne io, è un problema.

A me occorre un convertitore USB/serial che abbia un proprio ID su cui venga associata una personale porta COM.

Il convertitore FT232, possiede un ID, quindi se ho due convertitori gemelli, ad ognuno di essi verra assegnata una porta differente. Se ad esempio inserisco un convertitore FT232 ad una porta USB, viene associata la porta "COM10" (ad esempio), se tolgo il convertitore e ne inserisco uno gemello nella stessa porta COM, verrà associata ad un'altra porta COM, ad esempio "COM11".
Questo è cio che mi serve, ma purtroppo il comvertitore FT232 ha il problema della lettura ad ogni disinserimento/reinserimento del cavo USB.

Mentre invece con l'altro convertitore (CP2102), il problema è risolto ma purtroppo ho il problema dell'ID
Allegati
PCB 2.JPG
Avatar utente
Foto UtenteSalvatore129
0 2
 
Messaggi: 44
Iscritto il: 1 feb 2018, 18:18

0
voti

[12] Re: FT232 USB/serial + Atmega328P (non comunica)

Messaggioda Foto Utentexyz » 3 feb 2018, 2:35

Tutti i dispositivi USB hanno un numero a 32 bit diviso in due parti da 16 bit chiamati VID e PID che sono rispettivamente Vendor ID e Product ID. Il primo indica il produttore il secondo il modello. Dipende poi dai driver come assegnare il device al sistema operativo (ogni sistema operativo ha i sui nomi e regole di assegnazione).

Ci potrebbe essere un altro problema. I chip FTDI sono stati clonati:

https://zeptobars.com/en/read/FTDI-FT23 ... e-supereal

se hai un chip fake i driver ufficiali del FTDI per Windows (con altri sistemi operativi non succede) possono non funzionare correttamente se rivelano il clone, dipende dalla versione del driver.
Avatar utente
Foto Utentexyz
5.930 2 4 5
G.Master EY
G.Master EY
 
Messaggi: 1564
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[13] Re: FT232 USB/serial + Atmega328P (non comunica)

Messaggioda Foto UtenteSalvatore129 » 3 feb 2018, 3:41

Sono d'accordo con te, molto probabilmente è un fake
Però vi faccio una domanda: come mai dopo aver programmato l'Atmega328P funziona e dopo aver tolto e rimesso il cavo USB non viene piu letto?
Avatar utente
Foto UtenteSalvatore129
0 2
 
Messaggi: 44
Iscritto il: 1 feb 2018, 18:18

0
voti

[14] Re: FT232 USB/serial + Atmega328P (non comunica)

Messaggioda Foto Utenteluxinterior » 3 feb 2018, 6:39

Il CP2102 a memoria è configurabile Dovresti cercare sul sito della Silabs un programma di configurazione
Ma quando tu togli il cavo togli anche l'alimentazione al micro? perché in quel caso il problema potrebbe stare altrove ad esempio nel cirucito di reset del micro. Hai provato a togliere - mettere - dae un reset al micro con un pulsante o un ponticello provvisorio giusto per capire
Avatar utente
Foto Utenteluxinterior
2.422 2 4 8
Expert EY
Expert EY
 
Messaggi: 1436
Iscritto il: 6 gen 2016, 17:48

0
voti

[15] Re: FT232 USB/serial + Atmega328P (non comunica)

Messaggioda Foto Utentexyz » 3 feb 2018, 15:38

Salvatore129 ha scritto:Però vi faccio una domanda: come mai dopo aver programmato l'Atmega328P funziona e dopo aver tolto e rimesso il cavo USB non viene piu letto?

Se hai un tester o qualcosa di equivalente controlla la tensione sul pin di reset del micro-controllore se funziona come previsto.

IDE di Arduino usa AVRdude come programmatore, è open source, questa è la parte di codice che pilota il reset:

Codice: Seleziona tutto
...
/* Clear DTR and RTS to unload the RESET capacitor
* (for example in Arduino) */
  serial_set_dtr_rts(&pgm->fd, 0);
  usleep(250*1000);
  /* Set DTR and RTS back to high */
  serial_set_dtr_rts(&pgm->fd, 1);
  usleep(50*1000);
...


Vengono pilotate 2 linee della seriale RS232 DTR (Data Terminal Ready) e RTS (Request To Send) portandole a 0 per 250 ms e subito dopo a 1.

Se non hai il tester puoi caricare un programma che faccia lampeggiare un LED esterno. Se il LED lampeggia significa che il chip FTDI non resetta il micro altrimenti c'è qualcosa che non va al chip o ai driver che pilotano in modo non corretto il pin DTR o la rete RC di reset non funziona correttamente.

Puoi provare anche il pin RTS se disponibile della seriale se funziona, visto che viene pilotato insieme al pin DTR.
Avatar utente
Foto Utentexyz
5.930 2 4 5
G.Master EY
G.Master EY
 
Messaggi: 1564
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[16] Re: FT232 USB/serial + Atmega328P (non comunica)

Messaggioda Foto UtenteSalvatore129 » 3 feb 2018, 16:10

Ma quando tu togli il cavo togli anche l'alimentazione al micro?

Si, 5V della porta USB alimenta l'Atmega ed il convertitore ) ovviamente.

Hai provato a togliere - mettere - dae un reset al micro con un pulsante o un ponticello provvisorio giusto per capire

No, non ho fatto questa prova, ma nel normale funzionamento dovrebbe gia essere sufficiente il condensatore da 100nF, infatti togliendolo non programma nulla, è fondamentale.

Quando programmo da ide di arduino, la programmazione non ha nessun problema, viene trasferito lo sktch senza problema.
Poi, senza togliere il cavo USB, avvio un software che è interfacciato con lo sketch e funziona.
Ma se dopo scollego e ricollego il cavo USB...non viene piu letto.

Puoi provare anche il pin RTS se disponibile della seriale se funziona, visto che viene pilotato insieme al pin DTR.

Ho gia fatto la prova a collegare il pin di reset (pin 1 di atmega328p) con RTS, am su questo non si effettua neanche la programmazione... quindi peggio...
Avatar utente
Foto UtenteSalvatore129
0 2
 
Messaggi: 44
Iscritto il: 1 feb 2018, 18:18

0
voti

[17] Re: FT232 USB/serial + Atmega328P (non comunica)

Messaggioda Foto Utenteluxinterior » 3 feb 2018, 17:02

Reset! Reset! Reset!
Io farei così trova un programma PC che ti permetta di alzare/abbassare RTS e DTR (ce ne sono di gratuiti io no nmi ricordo il nome devo cercarlo) collega USB e muovi i pin RTS e DTR e vedi cosa nasce.
Potrebbe anche essere che quando prorgrammi metti RTS e DTR nella poszione giusta quando riattacchi sono a livello sbagliato.
Prova a rientrare nell'ide come se tu volessi programmarlo ma non fare nulla entra - collegati e esci subito senza fare nessun download. Poi utilizza il tuo programma
Ricapitolando stacca - attacca connettore USB
entra nell'ide e vedi se si collega
non fare nulla disconnetti e collegati con il tuo programma

Fai come dice xyz mettici un led che lampeggia non ti costa nulla e ti evita mille passaggi per capire se funziona
Avatar utente
Foto Utenteluxinterior
2.422 2 4 8
Expert EY
Expert EY
 
Messaggi: 1436
Iscritto il: 6 gen 2016, 17:48

Precedente

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 53 ospiti