Mini Pulser Eberline MP-1

Avatar utente
Datman
Messaggi: 410
Iscritto il: 29/09/2016, 22:33
Località: ROMA
Contatta:

Re: Mini Pulser Eberline MP-1

Messaggio da Datman » 14/03/2017, 8:05

Carissimo Eliocor, ti stimo molto e apprezzo tutte le tue osservazioni.
Per quanto riguarda i nomi delle variabili, io ragiono molto per immagini ma la RAM della scheda video è limitata (è del '68! :) ), quindi mi è enormemente più facile ragionare con nomi corti (entro i 4 caratteri, non entro gli 8 come il DOS e i nomi dei personaggi di Star Trek! :) ). D'altra parte, in Geigerino c'è una scheda solo per i commenti e all'inizio, dove sono definite le variabili globali, è chiaramente spiegata la funzione di ciascuna.

Per l'encoder in effetti non ci sono problemi, poiché ha una funzione che restituisce semplicemente 0, +1 o -1.
Mi piacerebbe molto usare i timer, ma ancora non mi ci sono dedicato...

>> Riguardo al funzionamento del programma, ho capito male, oppure ad ogni accesso al menù/interfaccia utente, la frequenza di ripetizione va a farsi benedire?

No. Solo all'accensione parte dal valore preimpostato. Dovrei salvare il valore corrente in EEPROM, ma verrebbe riscritto ad ogni variazione invecchiandola progressivamente. E' dichiarata per 100.000 riscritture, d'accordo, ma non mi piace riscriverla inutilmente ogni volta che viene cambiata la frequenza... Nel mio indicatore di limiti di velocità con GPS, invece, ho messo un mosfet che ritarda lo spegnimento: appena viene spento l'apparecchio tramite l'interruttore, prima di spegnersi effettivamente salva i parametri.
Quando accedi al menu cambi il valore di inc (incremento): in base a quello, i successivi +1 o -1 provenienti dall'encoder varranno x2/:2 o x10/:10 o +1/-1 o +10/-10 o ... o +100k/-100k.

Comunque credo che con i timer non si possa partire dall'idea di arrivare a fare un impulso di 10uS ogni secondo: bisogna fare un'onda quadra e poi derivarla con un piccolo condensatore, o forse ci si riesce con 2 timer...

>> Tanto di cappello per ciò che hai fatto, ma se tu avessi scritto il codice in maniera ortogonale e portabile, non avresti risposto così. Non usi un encoder? dov'è il problema? cambi le funzioni di I/O utente e le adatti ai pulsanti.
Nei miei limiti di tempo non ho problemi a darti la mia disponibilità per discutere di queste cose in maniera costruttiva.

Proprio i limiti di tempo sono il problema... :D


Gianluca
Canale Youtube: [External Link Removed for Guests]

Avatar utente
eliocor
Senior
Messaggi: 430
Iscritto il: 10/10/2015, 23:28
Località: Europe
Contatta:

Re: Mini Pulser Eberline MP-1

Messaggio da eliocor » 14/03/2017, 12:16

Datman ha scritto:Carissimo Eliocor, ti stimo molto e apprezzo tutte le tue osservazioni.
Per quanto riguarda i nomi delle variabili, io ragiono molto per immagini ma la RAM della scheda video è limitata (è del '68! :) ), quindi mi è enormemente più facile ragionare con nomi corti (entro i 4 caratteri, non entro gli 8 come il DOS e i nomi dei personaggi di Star Trek! :) ). D'altra parte, in Geigerino c'è una scheda solo per i commenti e all'inizio, dove sono definite le variabili globali, è chiaramente spiegata la funzione di ciascuna.
Essendo più vecchio di te, cosa dovrei fare? usare variabili con nome di lunghezza zero, così da non avere problemi di memoria?
Il fatto è che se tu pubblichi del codice, ti assumi anche la responsabilità della sua qualità. Se te lo tieni per te, beh... allora le cose cambiano.
Per l'encoder in effetti non ci sono problemi, poiché ha una funzione che restituisce semplicemente 0, +1 o -1.
Non capisco a cosa tu faccia riferimento
Mi piacerebbe molto usare i timer, ma ancora non mi ci sono dedicato...
Se non si conosce a fondo l'HW che si sta usando, si sprecano notevoli occasioni.
>> Riguardo al funzionamento del programma, ho capito male, oppure ad ogni accesso al menù/interfaccia utente, la frequenza di ripetizione va a farsi benedire?

No. Solo all'accensione parte dal valore preimpostato. Dovrei salvare il valore corrente in EEPROM, ma verrebbe riscritto ad ogni variazione invecchiandola progressivamente. E' dichiarata per 100.000 riscritture, d'accordo, ma non mi piace riscriverla inutilmente ogni volta che viene cambiata la frequenza... Nel mio indicatore di limiti di velocità con GPS, invece, ho messo un mosfet che ritarda lo spegnimento: appena viene spento l'apparecchio tramite l'interruttore, prima di spegnersi effettivamente salva i parametri.
Quando accedi al menu cambi il valore di inc (incremento): in base a quello, i successivi +1 o -1 provenienti dall'encoder varranno x2/:2 o x10/:10 o +1/-1 o +10/-10 o ... o +100k/-100k.
basandomi su questo pezzo di codice (che viene eseguito dentro al loop:

Codice: [Local Link Removed for Guests]

...
cont+=1;
if(cont>T)
  {
  cont=0;
  PORTD|=B10000000;
  delayMicroseconds(10);
  PORTD&=B01111111;
}
la sua frequenza di esecuzione è subordinata alle eventuali azioni fatte dall'operatore: se lui non tocca nulla (ma con un po' di jitter) la frequenza è ragionevolmente stabile.
Ma se tu traffichi col menù, i tuoi calcoli (T ed i fattori di correzione) vanno a farsi benedire ed avrai un jitter molto più elevato dato che prima dell'incremento di 'cont' viene "perso" del tempo per fare altre cose.
Comunque credo che con i timer non si possa partire dall'idea di arrivare a fare un impulso di 10uS ogni secondo: bisogna fare un'onda quadra e poi derivarla con un piccolo condensatore, o forse ci si riesce con 2 timer...
L'impulso che devi iniettare nel contatore deve prima venire "masticato e preformato" dal circuitino di "Pulser2" (ho aggiunto anche un vecchio PDF commentato): mica si inietta direttamente il segnale TTL dentro il contatore!
Ci pensa lui a differenziare il segnale. Sono 4 componenti in croce: prova il circuito e vedrai che non necessita di larghezze speciali di impulso. ANche una onda quadra (duty cycle 50%) è più che sufficiente al caso.
Non c'è quindi alcun bisogno di 2 timer, uno è ben più che sufficiente. Caso diverso per Pulser4 dove lì c'è necessità di timing veramente precisi.
Proprio i limiti di tempo sono il problema... :D
Beh, almeno è una cosa comune a tutti.

Mi spiace di averti offeso: vedo che non hai riposto alla maggior parte dei miei appunti. Ma credimi: ho cercato di essere costruttivo e di non fare il "Bepobalote" che alcuni di noi conoscono.


٩(•̮̮̃•̃)۶ - Excusatio non petita, accusatio manifesta

Avatar utente
Datman
Messaggi: 410
Iscritto il: 29/09/2016, 22:33
Località: ROMA
Contatta:

Re: Mini Pulser Eberline MP-1

Messaggio da Datman » 14/03/2017, 13:46

No, non mi hai offeso! :)
E' sempre questione di tempo...
I tuoi appunti li ho visti un po', ma troppo devo studiarmeli prima di poter aprire bocca! :D
In realtà pensavo che fossero pochissime righe ricche di TCCR, OCR e TIMSK, invece è molto più complesso. Proprio essendo rimasto molto sorpreso di ciò, ho voluto provare a fare qualcosa non di particolarmente buono, ma compatta. Il nucleo, come hai potuto vedere, è quel poco che hai riportato sopra. Mi piacerebbe fare qualcosa di simile con i timer, anche solo ad onda quadra.


Gianluca
Canale Youtube: [External Link Removed for Guests]

Avatar utente
Datman
Messaggi: 410
Iscritto il: 29/09/2016, 22:33
Località: ROMA
Contatta:

Re: Mini Pulser Eberline MP-1

Messaggio da Datman » 14/03/2017, 14:24

>> la frequenza di esecuzione è subordinata alle eventuali azioni fatte dall'operatore: se lui non tocca nulla (ma con un po' di jitter) la frequenza è ragionevolmente stabile.
Ma se tu traffichi col menù, i tuoi calcoli (T ed i fattori di correzione) vanno a farsi benedire ed avrai un jitter molto più elevato dato che prima dell'incremento di 'cont' viene "perso" del tempo per fare altre cose.

Me ne rendo conto, ma:
1) se premi il pulsante è solo per cambiare frequenza, che si stabilizzerà quando uscirai.
2) è per tarare un contatore Geiger, che è uno strumento non proprio definibile di precisione assoluta!
Per fare altro mi impegnerei un po' di più: ho giusto un DDS da 40MHz in attesa nel cassetto...


Gianluca
Canale Youtube: [External Link Removed for Guests]

Avatar utente
cobaltium
Messaggi: 203
Iscritto il: 01/02/2017, 22:45
Località: Italia

Re: Mini Pulser Eberline MP-1

Messaggio da cobaltium » 15/03/2017, 0:39

Ecco, questo è uno strumento che mi interesserebbe. Se ne proponete uno completo e funzionante proverei a realizzarlo (dovrei anche avere un Arduino che mi ero preso qualche tempo fa per iniziare a sperimentare qualcosa).



Avatar utente
Datman
Messaggi: 410
Iscritto il: 29/09/2016, 22:33
Località: ROMA
Contatta:

Re: Mini Pulser Eberline MP-1

Messaggio da Datman » 15/03/2017, 9:53

Questo è, con i difetti discussi, funzionante:
[External Link Removed for Guests]" onclick="window.open(this.href);return false;
Servono un encoder e un display LCD 16x2.
Provalo e dicci che ne pensi.


Gianluca
Canale Youtube: [External Link Removed for Guests]

Avatar utente
cicastol
Messaggi: 614
Iscritto il: 16/06/2016, 18:33

Re: Mini Pulser Eberline MP-1

Messaggio da cicastol » 15/03/2017, 20:01

Ottimo il pulser 500 , mi piacerebbe farlo, peccato che di programmazione e connessi non ci capisco assolutamente nulla.... :? :roll:



Avatar utente
eliocor
Senior
Messaggi: 430
Iscritto il: 10/10/2015, 23:28
Località: Europe
Contatta:

Re: Mini Pulser Eberline MP-1

Messaggio da eliocor » 16/03/2017, 0:12

Vediamo se durante il fine settimana riesco a provartelo: il fatto è che non dubito che funzioni, ma è anche vero che se con spesa zero* puoi fare qulacosa che è nettamente migliore, perché non farlo?

*) zero come costi HW + qualcosina per l'impegno messo per studiarsi a fondo le caratteristiche dell'HW arduino = ampliamaneto delle proprie capacità.
Ottimo il pulser 500 , mi piacerebbe farlo, peccato che di programmazione e connessi non ci capisco assolutamente nulla....
È ancora adesso considerato un punto di riferimento.
Anche se di programmazione non sei ferrato, hai dato una occhiata allo schema di Pulser4? Hai qualche appunto da fare, dato che prima o poi lo riprenderò in mano?


٩(•̮̮̃•̃)۶ - Excusatio non petita, accusatio manifesta

Avatar utente
Datman
Messaggi: 410
Iscritto il: 29/09/2016, 22:33
Località: ROMA
Contatta:

Re: Mini Pulser Eberline MP-1

Messaggio da Datman » 16/03/2017, 1:25

Scusami, eliocor. Stavo rispondendo a cobaltium.
Comunque vorrei tanto studiarmi i timer e ho anche trovato una discussione su un oscillatore variabile con i timer, ma il problema è sempre quello. Addirittura sono arrivato al punto che non ho tempo per lavorare perché una volta c'è una riunione, un'altra una dimostrazione di apparati e un'altra una bella chiacchierata di 5 ore in inglese sul futuro del video su ip (e la conclusione è sempre che tra un annetto forse saranno pronti... :-D )


Gianluca
Canale Youtube: [External Link Removed for Guests]

Avatar utente
eliocor
Senior
Messaggi: 430
Iscritto il: 10/10/2015, 23:28
Località: Europe
Contatta:

Re: Mini Pulser Eberline MP-1

Messaggio da eliocor » 16/03/2017, 2:07

Sono sempre disponibile (anche in PM) a fornirti maggiori chiarimenti a riguardo.


٩(•̮̮̃•̃)۶ - Excusatio non petita, accusatio manifesta

Rispondi

Torna a “Elettronica”