Arduino Forum

International => Italiano => Software => Topic started by: mauroplus on Jun 26, 2019, 09:21 pm

Title: Info Segnale DTR
Post by: mauroplus on Jun 26, 2019, 09:21 pm
Ciao,utilizzando un modulo usb ftdi,in un'applicazione standalone,ogni volta che inserisco il cavo usb,si resetta il micro e perdo i dati variabili.
Avendo letto le info dei post vecchi ho creato il circuito ( allego schema ) come veniva consigliato per evitare l'autorestart,ma il "difetto" rimane tale e quale.
Leggendo che non collegando il dtr,si evita l'autorestart,ma per abiltare la nuova configurazione,bisognerebbe resettare manualmente il micro.
Andrebbe ben anche questa soluzione,ma quando invio il file non si muovono ne txrx,e non succcede nulla di nulla,non carico nessun file.
A livello di voci dell'IDE ,Board ( Arduino/Genuino uno ) e Programmer ( AVRISP MKII ),rimagono uguali come se utilizzassi una Board Uno r3..
Grazie

Questo è il Modulo :
https://www.amazon.it/AZDelivery-FT232RL-Adattatore-convertitore-Gratuito/dp/B01N9RZK6I/ref=asc_df_B01N9RZK6I/?tag=googshopit-21&linkCode=df0&hvadid=85524540263&hvpos=1o1&hvnetw=g&hvrand=9460251237975530839&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1008560&hvtargid=pla-388910303692&psc=1
Title: Re: Info Segnale DTR
Post by: Maurotec on Jun 26, 2019, 11:57 pm
Quote
Avendo letto le info dei post vecchi ho creato il circuito ( allego schema ) come veniva consigliato per evitare l'autorestart,ma il "difetto" rimane tale e quale.
Ricordo poco circa le vecchie discussioni, se puoi postare un link me le rileggo.
Il pin DTR (e RST) deve andare LOW quando si vuole trasferire lo sketch perché in questo modo la MCU si riavvia e la prima porzione di codice che viene eseguita e quella relativa al bootloader. Il programma avrdude per scrivere lo sketch dialoga pertanto con il bootloader e questo si aspetta in ricezione dei dati che interpreta come comandi, dopo avere decodificato i comandi avrdude invia lo sketch e il bootloader scrive byte per byte lo sketch nella porzione di flash dedicata.

Ora se puoi inserire un interruttore per aprire il collegamento tra DTR e RST la MCU non si resetta più e pertanto non è possibile trasferire lo sketch. Quando vuoi scrivere lo sketch giri l'interruttore su on e avvii upload.

Ciao.
Title: Re: Info Segnale DTR
Post by: mauroplus on Aug 09, 2019, 07:21 pm
Ciao,avendo poco tempo,solo ora sono riuscito a fare qualche ulteriore prova.
Leggendo le info e i vari consigli ,nello schema modificato che allego ho inserito un condensatore ( CX ) e levato la resistenza tra dtr e massa.
Ho provato a fare qualche prova con i condensatori a mia disposizione:
1nF / 10nF / 22nF / 33nF / 47nF / 100nF
solo con valore di 100nF ,il micro non si resetta quando inserisco il connettore usb,ma quando devo caricare il codice ,tutto rimane nel limbo..
Con tutti gli altri valori,succede l'inverso,come detto nei post precedenti.
Secondo voi ,magari c'è una valore tra 47nF e 100nF ,che mi permetta di arrivare a quello che voglio o devo lavorare su altre parti del circuito.
Grazie,in anticipo
Title: Re: Info Segnale DTR
Post by: Standardoil on Aug 09, 2019, 07:33 pm
no
quello che cerchi è impossibile, non esiste
è il reset che permette di caricare un nuovo eseguibile
se non si resetta non si carica
semmai includendo/escludendo con un interruttorino il condensatore abiliti o meno il reset....
Title: Re: Info Segnale DTR
Post by: mauroplus on Aug 09, 2019, 07:51 pm
Ciao,ma scusa come mai con la board Arduino Uno r3,non mi succede mai,mi sembra strano che non riesca ad arrivare allo stesso comportamento.
Scusa ,ma se con con il condensatore da 100nF non si resetta quando collego  il cavo alla porta,e va benissimo...ma quando carico il codice il dtr non va a livello basso per un periodo T...vorrà dire che 100nF magari in questo caso è troppo elevato...no ?
Grazie,comunque
Title: Re: Info Segnale DTR
Post by: Standardoil on Aug 09, 2019, 07:59 pm
boh, non saprei
tienici informati
Title: Re: Info Segnale DTR
Post by: miky_police on Aug 12, 2019, 09:46 am
Posso farti una domanda? a cosa serve inserire l'USB se non puoi caricare un nuovo sketch (perché vuoi interdire il reset) e non puoi nemmeno aprire la seriale per leggere eventuali comunicazioni (aprire la seriale implica il reset del micro)... forse se specifichi meglio cosa vuoi fare potremmo trovare soluzioni alternative al tuo problema.
Title: Re: Info Segnale DTR
Post by: mauroplus on Aug 12, 2019, 01:42 pm
Ciao ,forse mi sono spiegato male,io vorrei arrivare allo stesso comportamento che ho quando uso una board tipo UNO r3....
Io voglio interdire il reset solo quando inserisco il cavo,oppure quando apro la comunicazione,non quando "carico" lo sketch.
Nell'ultimo circuito allegato,questa anomalia di reset non succede ( e mia va benissimo ) solo quando inserisco tra il pin del reset e massa una capacità di 100nF.
Però quando devo "caricare " lo sketch,la procedura non inizia...per farla partire con il condensatore da 100nf devo abbassare il dtr tramite il pulsante di reset ...insomma non mi piace ,voglio una procedura automatica..
Spero che sia stato abbastanza chiaro

Grazie in anticipo
Title: Re: Info Segnale DTR
Post by: miky_police on Aug 12, 2019, 02:36 pm
intanto secondo me è sbagliato mettere insieme la 5v usb con la 5v di un regolatore, metti in comune solo la massa e la 5v usb la bypassi a massa con un 100nf. se vuoi che funzioni a prescindere della fonte di alimentazione (usb/esterna) devi creare un circuito che "capisca" chi sta alimentando e contestualmente escludere l'altra alimentazione (basta prendere uno schematico di una R3 per capire subito come realizzarlo). Probabilmente già apportando questa modifica su breadboard è possibile che tu risolva il tuo problema.
Edit: non riesco proprio a capire a cosa serve poter collegare l'USB senza il riavvio senza avere la necessità di una comunicazione seriale/upload di nuovo sketch.
EDIT2: È OVVIO CHE DEVI TOGLIERE ANCHE QUEL CERAMICO DA 100NF SUL DTR VERSO MASSA. Poi provi se va come vorresti.
io vorrei arrivare allo stesso comportamento che ho quando uso una board tipo UNO r3....
cosa intendi per "board tipo UNO R3"?
è una r3 originale o "tipo" cinese originale con un CH340G come convertitore seriale... se no possiamo parlare 20 giorni senza trovare soluzioni ;)
Title: Re: Info Segnale DTR
Post by: mauroplus on Aug 12, 2019, 04:28 pm
Ciao,allora ti rispondo :
[1] la board è originale,modello Arduino Uno Revisione 3,no cinesate.

[2] L'alimentazione della scheda che ho creato arriva da fonte esterna 12volt tramite alimentatore switching 12V/1A ( vedi ultimo shema allegato ),il modulo usb è sempre alimentato dalla +5 del regolatore di tensione 7805.
Purtroppo,non ho più spazio per bypassare l'alimentazione con un mosfet schema originale
Quando inserisco il connettore usb per dialogare con il terminale mi si resetttano i due micro (perdendo i valori delle variabili in Ram ).
Quando ho inserito il condensatore nello schema CX di 100nF,questo difetto è sparito ( OK ,perfetto ),ma quando voglio "caricare" il codice la procedura non viene eseguita come spiegato precedentemente..
Posso arrivare ad una soluzione con il mio schema..??
Title: Re: Info Segnale DTR
Post by: miky_police on Aug 13, 2019, 12:10 am
si, modifica il cavo usb. Lo "speli", dei 4 cavi interni (rosso, nero, bianco e verde) tagli solo il rosso (vcc usb, ovvero 5v) e nastri. togli quel condensatore ceramico da 100nf verso massa sul DTR (CX) e provi se funziona. Nella peggiore delle ipotesi devi sostituire solo il cavo usb con uno nuovo.
Title: Re: Info Segnale DTR
Post by: Standardoil on Aug 13, 2019, 12:52 am
Ma il problema è sul dtr che provoca il reset o sulle alimentazioni che quando inserite assieme fanno 'scintille'?
Perché nei primi post sembrava un problema di dtr, ora di alimentazioni in parallelo
Se si fosse nel primo caso togliere il 5v non risolverebbe
Se ho capito bene la board  se la è fatta lo OP
Se fosse così non gli sarebbe difficile dissaldare il piedino dal connettore, così non rischierebbe di scambiare i cavi e resettare arduino per sbaglio
Ma non mi convince, prima sembrava certo che fosse un problema di dtr...
Title: Re: Info Segnale DTR
Post by: miky_police on Aug 13, 2019, 01:27 am
Ciao Standardoil. Allora il punto è questo. L'op prova il circuito che sta facendo con una uno r3 originale alimentata esternamente a 12v. Succede che nelle sue prove, a quanto pare, inserisce il cavo usb mentre la r3 è alimentata e magicamente non si resetta. Questo è ovvio perché a livello hw la r3 quando alimentato esternamente la 5v usb non arriverà mai ad alimentare la scheda dato il source esterno (opamp e transistor spiegano perché sullo schematico originale della r3).
Lui pensa che sia tutto normale e procede con lo standalone e scopre magicamente che nelle stesse condizioni di test con la r3, lo standalone si resetta a differenza della board originale. Allora nasce il problema di reset che lui non vuole a tutti i costi. pensa che il problema risiede nel dtr del ftdi, ma non è così secondo me. se vedi lo schematico pdf postato lui alimenta l'Ftdi con il 7805, quindi (usb a parte) l'ftdi è sempre acceso finché gli dà 12v... che succede quando colleghi l'usb senza togliere la 12v? semplice, l'out del 7805 chiude con il 5v dell'usb e magicamente il tutto va in crash e resetta. è già tanto che non si è fritto nulla. Pertanto, dato che ha già il suo progetto finale pronto, gli ho consigliato (dato che non vuole modificare lo standalone) di modificare il cavo usb interdicendo la 5v usb sul cavo. Il CX verso massa sul dtr che lui ha messo esordisce alla perfezione lo scopo per il quale è stato suggerito di aggiungerlo, ovvero IMPEDIRE il reset. Ma il reset indesiderato non è dovuto secondo me dal DTR, ma per un "conflitto" di alimentazione che si crea quando usi 5v usb e 5v del regolatore insieme. Pertanto deve togliere anche quel CX su DTR verso massa. Diversamente non riuscirà mai a caricare nulla data l'inibizione del DTR a mezzo di CX. Sbaglio? Questo è il mio punto di vista. io quando sono su breadboard con alimentazione esterna, regolatore ed ftdi collego di quest'ultimo solo massa, tx, rx e dtr. il 5v non mi sfiora nemmeno l'anticamera del cervello.
Title: Re: Info Segnale DTR
Post by: mauroplus on Aug 13, 2019, 08:46 am
Ok,grazie per l'aiuto...vorrei fare un riepilogo tra prove e altro :

[1] quando ho tagliato la pista tra pin DTR del modulo e condensatore C9 ogni volta che inserivo il cavo oppure aprivo il terminale ,il micro non si resettava mai mai mai ..per quello ho sempre lavorato in quella parte del circuito e penso che si li..

[2] Adesso provo a tagliare il cavo come mi è stato consigliato oppure il +5 del connettore del modulo usb

cmq grazie

Title: Re: Info Segnale DTR
Post by: Standardoil on Aug 13, 2019, 08:51 am
Secondo me, stante il tuo punto 1 non è problema legato alle alimentazioni
Facci sapere
Title: Re: Info Segnale DTR
Post by: mauroplus on Aug 13, 2019, 09:08 am
no no infatti ,non cambia nulla ,ho provato a tagliare il filo rosso del cavo usb  e si resetta il micro lo stesso.
Per me le alimentazioni non centrano,non non vedo abbassamenti,scintillii o altro ...spero di trovare la soluzione lato dtr e pin di reset inserendo nuovamente il condensatore CX

grazie


Title: Re: Info Segnale DTR
Post by: Standardoil on Aug 13, 2019, 09:49 am
Quello è
Devi trovare (a tentativi) il giusto valore
Title: Re: Info Segnale DTR
Post by: miky_police on Aug 13, 2019, 12:29 pm
ma voi ne siete veramente convinti che l'ftdi può condividere la vcc usb con l'alimentazione esterna?
Dal datasheet  (https://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf) del chip in questione a pag 20 viene spiegato bene come far funzionare l'ftdi con una alimentazione esterna... NOTATE IL VCC USB che crea un partitore di tensione sul pin di reset dell'ftdi, ed in più per essere usato in questa modalità va riprogrammato come riportato sotto lo schematico. detto questo, quello stesso schematico si può modificare ignorando il partitore di tensione creato sul reset dell'ftdi e mettendo semplicemente una resistenza da 1k verso 5v come suggerito anche a pagina 10 del medesimo datasheet.
Title: Re: Info Segnale DTR
Post by: Standardoil on Aug 13, 2019, 12:38 pm
Io non sono convinto di nulla, lo schema non è mio
Comunque è evidente che il reset non è dovuto all'alimentazione ma al DTR
Quindi li serve di concentrarsi....
Title: Re: Info Segnale DTR
Post by: miky_police on Aug 13, 2019, 12:45 pm
condivido pienamente quello che dici, ma allora perché prevedere una modalità self powered?
Title: Re: Info Segnale DTR
Post by: Standardoil on Aug 13, 2019, 12:46 pm
Cosa intendi?
Title: Re: Info Segnale DTR
Post by: miky_police on Aug 13, 2019, 09:44 pm
è sicuro che è il dtr a metter in reset il micro. su questo siamo d'accordo. probabilmente configurando l'ftdi opportunamente COME DA DATASHEET può risolvere. Hanno previsto una configurazione self powered proprio per queste esigenze. Citazione datasheet FT232 a pag. 20:
Quote
The power descriptor in the internal EEPROM of the FT232R should be programmed to a value of zero
(self-powered).
Tanto a questo punto l'unica soluzione possibile al problema è già stata data. interdire il CX verso massa manualmente quando non serve. ma all'op non piace (e nemmeno a me). Stiamo tentando di spiegare all'op perché l'atmega16u2 della r3 si comporta in modo diverso all'ft232rl????? semplice, sono due chip nella quasi totalità differenti!
Title: Re: Info Segnale DTR
Post by: mauroplus on Aug 14, 2019, 09:14 am
..purtroppo le prove con i condensatori ,vari valori ,non mi hanno fatto trovare la quadratura che io volevo.
Niente, per adesso ,aprirò il circuito con un jumper lato pin DTR,senza aggiungere il condensatore CX..e lo chiuderò solo quando dovrò caricare un nuovo codice.
Peccato pensavo che fosse un Caxxata,invece ...
grazie cmq a tutti