Newsgroup: it.hobby.elettronica.digitale
Titolo: costruire vumeter con dot-pitch

Ragazzi, innanzitutto un saluto a tutti....
è possibile costruire un vumeter con un pic che visualizzi anche il
dot pitch? Avevo pensato ad uno schema, ma lo vedo troppo laborioso,
in pratica usare un lm3915 le cui uscite andavano in ingresso ad un
pic, poi a livello software, replicare in uscita i segnali dell'lm3915
con l'aggiunta del dot...Mi sembra troppo laborioso, e soprattutto
servirebbe un pic con molte porte in ingresso e uscita, in tutto
20...A meno che non multiplexo le uscite dell'lm...Ho fatto un bel pò
di confusione.....guidatemi voi...!!!

 dot pitch?
Se ci spieghi cosa sia questo dot pitch direi che ti possiamo aiutare
senz'altro. Intanto cercati cosa sia un 74HC595.
E, se non hai già iniziato ad usare i PIC (ma anche se sì) dai un'occhiata
agli AVR lo ATmega88 scommetto fa tutto ciò che ti serve, dot pitch
permettendo.

 permettendo.
Non č che per "dot pitch" intendi il peak level indicator?
No č cha ti chiami anche ZigoZago?

 No č cha ti chiami anche ZigoZago?
Sě, vabbé, oggi proprio non ci siamo...


a memoria e' una soluzione adottata da N.E. un po' di anni fa, tutta 
analogica
l'ingresso da analizzare lo mandi ANCHE ad un rivelatore di picco,
poi multiplexi l'uscita del rivelatore di picco ed il segnale da 
analizzare nellingresso dell lm3915.
lo stesso segnale ( onda quadra 50/50 ) che pilota il mux lo usi per 
commutare la visualizzazione lineare/punto dell' lm3915
la costante di tempo del rivelatore di picco regola la memoria del picco
il mux 2->1 e oscillatore di commutazione lo si realizzare con un unico 
4066

 commutare la visualizzazione lineare/punto dell' lm3915
Fico!
Non avevo mai sentito usare "dot pitch" come sinonimo di "peack detector".
O te l'ha detto la tua sfera di cristallo? ;-)

Allora per dot pitch, intendevo in seguito ad un ciclo di accensione
dei led, ne resta acceso uno, quello più alto raggiunto, e poi con una
velocità inferiore rispetto a quella di spegnimento degl'altri,
discende...
In questo video è molto evidente....
http://www.youtube.com/watch?v=9-acToSOJ_g&feature=related
Grazie a tutti per le risposte...

 O te l'ha detto la tua sfera di cristallo? ;-)
visualizzazione in modalita' "dot"/"line" e' tipica del 3915 e i 
vu-meter con la visualizzazione extra del picco massimo lavorano 
esattamente in quella modalita', poi la persistenza retinica fa il resto

commutare la visualizzazione lineare/punto dell' lm3915
Quindi se ho capito bene dovrei miscelare l'uscita di un lm3915 con un
rilevatore di picco, un UAA180 va bene?In questo modo ho l'effetto
persistenza?
Poi se ho capito bene con un'onda quadra, faccio funzionare l'lm3915
alternativamente in modalità linea e dot?
Non riesco a immaginare il risultato, dici che comunque visivamente
sembra proprio che il picco poi discenda a velocità inferiore?

rilevatore di picco, un UAA180 va bene?In questo modo ho l'effetto
Dubito tu possa trovarlo ancora


Ma utilizzare soltanto il micro e un ingresso analogico ti fa schifo?
Ciao
CG 

 sembra proprio che il picco poi discenda a velocità inferiore?
devi aggiustare la costante di tempo RC per ottenere l'effetto voluto
(*) ottenibile con un diodo ed un operazionale ( e forse una o due 
resistenze :-)

Mi interessa anche capire la soluzione con il pic e l'ingresso
analogico, che pic dovrei usare, e come settarlo?

 analogico, che pic dovrei usare, e come settarlo?
Se hai già usato i PIC dovresti sapere la risposta da solo. Se non li hai
mai usati e devi cominciare da zero a usare un controller, evitali come la
peste e usa gli AVR.
Se, come immagino, non hai mai programmato un controller, la soluzione
suggeritati da mmm è la sola che puoi sperare di mettere insieme in meno di
qualche mese.

 Ma utilizzare soltanto il micro e un ingresso analogico ti fa schifo?
Temo non abbia la piů vaga idea di come fare.

Ho provato a programmare i pic16f84a e pic16f628, ho fatto qualcosa
con i display e con i led, dunque qualcosa molto ma molto di base,
avrei voluto utilizzare i pic in quanto posseggo i sopra citati e un
16f677a, quest'ultimo nuovissimo mai provato perchp devo farmi uno
zoccolo per il pickit2, mi consigli di usare di AVR, si possono
programmare con un pickit2?Hanno ingressi analogici?


prima che qualcun'altro ti linci:
1) se hai gia' l'hardware ( micro e programmatore ) un tentativo con il 
PIC si puo' fare, io mi procurerei COMUNQUE un compilatore ( 
C/BASIC/FORTH/quello che vuoi ) ma mai userei l'assembler di quei cosi
2) NO! il pickit NON programma dispositivi di altri produttori
3) molti (quasi tutti oserei dire ) micro odierni hanno un ADC ( anche a 
piu' canali ) integrato

 3) molti (quasi tutti oserei dire ) micro odierni
Bah, s'avranno da connettere col nostro mondo, che, fatto di quanti
inquantificabili, è praticamente continuo.


Forse intendi il *vecchissimo* 16F877a!
Lo chiamo vecchio perchè la serie 16F è destinata a sparire in quanto costa 
più della 18F (che utilizza processi di silicio più avanzati), così come 
tutta l'elettronica non SMD di piccola taglia.
Comunque è sufficiente che tramite un diodo (magari shootky o "ideale" fatto 
ad operazionale) e un condensatorino, tipo rivelatore di inviluppo (che è 
quello che ti serve), entri in un ingresso analogico del micro. Nel firmware 
effettui la lettura e tramite un costrutto tipo switch o if-else if o più 
avanzato accendi i tuoi led a piacimento. Il "peak hold" o come ti va di 
chiamarlo diventa una cretinata da implementare.
Il dimensionamento del condensatore dipende dall'impedenza del circuito a 
valle (impedenza di ingresso dell'adc)
Se il segnale raddrizzato (a singola semionda è più che sufficiente) è più 
ampio della Vref dell'adc del micro, sarà sufficiente utilizzare un 
partitore di tensione per attenuare il segnale.
Qualche costante di moltiplicazione per fare una calibrazione sommaria e sei 
a cavallo.
Il circuito che ti ho descritto è facilmente migliorabile per ottenere 
misure più accurate, si intende (magari una scala in dB a uso PFL)
Ciao
CG 

Ok, quindi in pratica devo fare una serie di tentativi per capire
l'escursione del segnale,  in base a questa mi suddivido l'intervallo
per il numero di led che voglio accendere...dunque dovrò scrivere un
soft che in base al livello in ingresso mi accende un tot di led, poi
il dot posso crearlo con un sottoprogramma che in ingresso prende il
valore massimo raggiunto dal segnale, ogni tot di tempo, e poi attiva
un ciclo che mi fa accendere in sequenza i led che si trovano al di
sotto, con una certa costante di tempo....
Come ragionamento può funzionare?
A che cosa mi serve il condensatore, mi puoi spiegare meglio?, devo
metterlo in in pratica come filtro, in parallelo al segnale, per fare
in modo che gl'"impulsi" siano più lineari?

 in modo che gl'"impulsi" siano più lineari?
No. E' parte integrante del rivelatore di inviluppo, leggi qua: 
http://it.wikipedia.org/wiki/Rivelatore_d%27inviluppo_a_diodo
Prima del diodo puoi mettere una resistenza e calcolare all'incirca la 
frequenza del filtro passa basso antialiasing che hai appena creato, ma 
senza esagerare.
Il rivelatore di inviluppo serve a tenere il segnale sul picco raggiunto per 
un tempo sufficiente all'acquisizione da parte del dispositivo di 
visualizzazione (nel tuo caso l'ADC del micro).
Per mantenere il segnale più stabile puoi utilizzare anche tecniche di 
filtraggio digitale, senza sacrificare troppo la banda passante del sistema
Ciao
CG 

Grazie, sei stato molto chiaro, ancora grazie

 peste e usa gli AVR.
Sicuramente i PIC non sono il massimo dalla vita... ma per tantissime 
applicazioni bastano e avanzano!
Questa è sicuramente una di quelle applicazioni in cui un pic residuato di 
guerra (tipo quelli che vendono per nuovi alle fiere) svolgerebbe il suo 
compito egregiamente
Ciao
CG 

 compito egregiamente
Sě, una volta che ti sei abituato ad un assembly totalmente demenziale, ti
sei fatto la tua scorta di bachi di bank switching e ti sei dimenticato
dell'esistenza del C (le implementazioni per PIC16 sono inevitabilmente
delle porcherie).

 delle porcherie)
Credo che i PIC16 che ho utilizzato si contano sulle dita di una mano, 
mentre per i PIC18 ci vuole un treno merci da 40 vagoni .... anche perchè i 
PIC18 costano meno! (es. PIC16F84 contro PIC18F1220). Presto proverò anche 
qualche PIC32, anche se per i problemi che a mio parere conviene risolvere 
con un microcontrollore bastano e avanzano i PIC18.
Per il resto C... e l'unica limitazione che mi ha sempre scocciato un po' è 
l'impossibilità di usare ricorsione.
Riconosco che i PIC non siano il massimo dalla vita ma c'è il modo di farli 
andare benino, e ho talmente tanto codice già scritto che se utilizzo un PIC 
per risolvere problemi già affrontati il Time-to-Market è davvero molto 
breve!
Ciao
CG 

 mentre per i PIC18 ci vuole un treno merci da 40 vagoni ....
L'OP ha espressamente ed esclusivamente citato i  pic16f84a e i pic16f628,
non ti sembra che sia il caso di evitargli di farsi male inutilmente?


Sì, certo, ma quelli sono già micro che si riesce a fare qualcosa nella poca 
rom e ram anche programmando in C.
Del resto quello che deve far lui sono sì e no una cinquantina di linee!
Comunque rimango dell'idea che per fare questi giocattoli un micro vale 
davvero l'altro.... vince quello che costa meno!
Ciao
CG 

 davvero l'altro.... vince quello che costa meno!
Stai parlando da professionista, 30 centesimi di differenza per mille pezzi
fanno 300 euro. Ma, per un hobbysta, 30 centesimi rimangono tali, possono
diventare al più tre euro. E tante madonne in meno.


Bah... se uno smadonna (o come si dice qua: "smoccola") per utilizzare l'adc 
come fosse un comparatore e accendere qualche led, fattibile anche senza 
interrupt.... cacchio... è messo malino :)
I progetti di un hobbysta di questo livello non supereranno, a mio parere, 
la complessità di questo. Se ha già qualche pic in casa ... datti pace e 
fagli usare quelli!! :)
Ciao
CG 

 interrupt.... cacchio... è messo malino :)
Cambiare banco di registri o memoria è un attimo, e poi vallo a trovare
l'ADC. Il tutto scritto in un assembly a dir poco demenziale e ricordandosi
che lo stack degli indirizzi di ritorno ha una capacità limitata.


Allora insisti con l'assembly.... ma chi è quel pazzo che lo usa in ambito 
hobbystico?
Questa cosa può essere scritta in C o addirittura in uno schifosissimo 
Basic... perchè complicarsi la vita?
Ciao
CG 

 Basic... perchè complicarsi la vita?
Ai miei tempi i compilatori C per i PIC16 erano pochi, costosi e schifosi.
Ci sono state novità?


Sul costo no comment...però per esempio per una cosa del genere potrebbe 
anche utilizzare il MikroC, che nella versione demo ti permette 2k di 
memoria programma. E a occhio è più che sufficiente.
Per il resto esistono molti compilatori (MPLAB C18, CCS PIC-C, HiTechC) 
oltre a quello citato che non fanno dei lavoracci (le differenze con 
l'assembler puro non sono così marcate) e danno anche un sacco di librerie 
pronte all'uso!
Ciao
CG 

 Per il resto esistono molti compilatori (MPLAB C18, CCS PIC-C, HiTechC) 
MPLAB C18 supporta anche i PIC 16? E' gratis?
Anche gli altri supportano i PIC16 e sono gratis?
Cioè, tu che prima sottolineavi il vantaggio di un processore che fa schifo
ma forse semmai costa addirittura 30 centesimi in meno, ora non commenti
sul costo?

 memoria programma. E a occhio è più che sufficiente.
Per chi sa il pascal: 
http://www.pmpcomp.fr/
Freeware e veramente fatto bene.
-- 
Make sure comments and code agree.
News 2002 [v 2.4] - [ StopDialers/PopDuster/SMTP Proxy - 
http://www.socket2000.com
 ]

 sul costo?
Come ti dicevo, i 30 centesimi in meno sulla produzione ti pagano 
tranquillamente il costo della licenza di un compilatore decente, se 
l'utilizzo č aziendale.
Per usi hobbystici č sufficiente la demo del MikroC.
Per usi hobbystici estesi, magari, procurarsi software senza "problemi di 
licenza" puň essere una soluzione...
Non penso che per un hobbysta-aggeggione avanzato questo tipo di problemi 
possa far la differenza tra l'uso di un micro piuttosto che un altro :)
Il C18 adesso su 2 piedi non ricordo se supporta i PIC16 (e chi ce li ha mai 
provati :) ), ma gli altri sicuramente sě.
Ciao
CG 

 CG

 molto apprezzato a  livello tecnico.
A livello tecnico non ho dubbi: già implementare qualcosa di vagamente
simile al C su di un processore totalmente negato per esso è già un bel
risultato.
A livello pratico, dall'Hi-Tec C (che acquistai ad un prezzo attorno ai
$500 ed utilizzai pochissimo, meglio allora l'assembler della Parallax) al
C per un processore disegnato per essere programmato in C ce ne corre.

 risultato.
Tu non capisci un ca%%o. L'implementazione di un linguaggio non 
dipende dal processore che c'è sotto se non in minima parte.
-- 
Machine-independent:  Does not run on any existing machine.
