Pagina 1 di 1

Inviato: 17 mag 2007, 00:31
da marziom
apro il 3d per discutere sulla realizzazione di potenziometro telecomandabile che sfrutta i dispositivi LED-LDR.
L'obiettivo sarebbe quello di realizzare un progetto, come al solito open, completo di schedina, programma per un eventuale microcontrollore e, perche no, con un display da abbinarci.

altre info potete trovarle nel 3d di audiofaidate che ha scatenato quest'idea: http://www.audiofaidate.org/forum/viewtopic.php?t=2546

oppure (internazionale) qui:
http://www.diyaudio.com/forums/showthre ... lightspeed

ogni contributo è ben accetto, quindi fatevi sotto....

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 17 mag 2007, 00:54
da riccardo
http://www.audiofaidate.org/forum/uploa ... tSpeed.gif

In sintesi, l'utilizzo di accoppiate LED-LDR non è nuova in campo audio ma è rimasta limitata principalmente al campo professionale (es. limitatori).

La Silonex produce una serie di questi componenti specificamente per uso audio (serie Audiohm).

Georgehifi di diyaudio ha provato ad utilizzarli e visti i risultati lusinghieri ha prodoto un attenuatore che ha chiamato "lightspeed" che a detta di chi lo ha provato va molto bene.

Ha anche fornito uno schema di utilizzo (non che ci volesse molto), in sostanza il partitore è fatto da due elementi resistivi in serie e i led sono pilotati "in controfase".

Caratteristiche salienti:
-assenza di contatti striscianti
-possibilità di "customizzare" l'impedenza dell'attenautore variando il valore del potenziometro di comando

Problematiche
-i dispositivi (Silonex NSL32-sr2s) hanno tolleranze di produzione abbastanza elevate e vanno selezionati, in più in Europa costano molto di più. Li ha Farnell ma Allied ha i prezzi migliori.
-se il segnale supera determinati livelli la distorsione sale a livelli non trascurabili

I commenti che mi sembra importante riportare:
-alcuni lo preferiscono a controlli di volume a trasformatore dal costo elevato
-l'alimentazione del led ha una certa importanza (non credo che il PWM sia una buona idea), bypassare il led con un ceramico di alto valore (es. 22uF Murata) aiuta il suono.

ANDREA ANDYPAIRO

inserisco qui il messaggio e lo schema già postati da Andrea per fornire un ulteriore e immediata indicazione del tema del 3d



Saluti

R.R.
--------------------------------
Atomo e vuoto sono in noi
-------------------------------

Inviato: 17 mag 2007, 15:44
da marziom
allora, vediamo di mettere un'po d'ordine (mi riaggancio anche agli ultimi messaggi nel vecchio 3d):

FASE 0: SCELTE DI PROGETTO:

1) l'attenuatore funzionerà con dispositivi LED-LDR
2) ci sarà la possibilità di selezionare almeno 3 ingressi
3) power on/off
4) ci sarà un display con l'indicazione della sorgente, del volume e di quant'altro individueremo.

Se avete altre indicazioni fatevi sentire prima che passiamo alla fase successiva.
Per quanto mi riguarda occorre ancora chiarire come vogliamo pilotare i dispositivi LED-LDR:
- con un pot motorizzato
- PWM + circuito integratore
- DAC + buffer

io sono per queste ultime due ipotesi (meglio l'ultima) per il semplice fatto che un micro e un opamp costa meno di un pot motorizzato.

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 17 mag 2007, 15:53
da riccardo
il numero ideale di ingressi è sicuramente 4 o anche 5. IMHO. Questo per avere almeno una certa universalità e adattabilità a impianti multifunzione...multifun.

Saluti

R.R.
--------------------------------
Atomo e vuoto sono in noi
-------------------------------

Inviato: 17 mag 2007, 16:28
da gluca
Mi chiarite un pò meglio che impedenza di ingresso e di uscita ha l'attenutore?

---------> DISCLAIMER: ooops credo di aver detto una fesseria ... scusate <---------

Inviato: 17 mag 2007, 16:46
da andypairo
Marzio,
io non scarterei a priori il pot motorizzato.
Per prima cosa si può usare un componente "economico", visto che il tracking non da problemi (al limite si usa un singolo), inoltre la posizione della manopola darebbe l'indicazione del volume senza necessità di display (e per me che ho difficoltà con i cabinet sarebbe un bel vantaggio).

La soluzione DAC+ buffer è comunque valida, ma basterebbe anche un contatore binario e una serie di resistenze pesate ;-)

Per quanto riguarda l'impedenza, essa dipende ovviamente dal modello di LDR ma anche dal pot di controllo usato (che va a settare la corrente minima).

Con le NSL32-SR3 e pot da 100k siamo sui 25-30k, con i SR2 si parla di 10-15k.
Usando pot da 50k la resistenza cala.

Ciao

Andrea

Inviato: 17 mag 2007, 16:53
da marziom
Mi chiarite un pò meglio che impedenza di ingresso e di uscita ha l'attenutore?

---------> DISCLAIMER: ooops credo di aver detto una fesseria ... scusate <---------


Originariamente inviato da gluca - 17/05/2007 :  11:28:13
dipende dai dispositivi LDR che useremo, in pratica sarà un partitore resistivo composto da due LDR pilotati in controfase.
La resistenza d'ingresso pertanto sarà R'+R'', quella di uscita R'//R''
per avere un idea dei valori di resistenza vedi questo (che è pure la curva del dispositivo che aveva minore distorsione)
Immagine

altri dati li puoi trovare qui
http://www.qsl.net/wa1ion/vactrol/vactrol.pdf

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 17 mag 2007, 16:57
da marziom
Marzio,
io non scarterei a priori il pot motorizzato.
Per prima cosa si può usare un componente "economico", visto che il tracking non da problemi (al limite si usa un singolo)
ti serve doppio per il controfase...e poi c'è il costo del motore e di tutta la meccanica di riduzione.
inoltre la posizione della manopola darebbe l'indicazione del volume senza necessità di display (e per me che ho difficoltà con i cabinet sarebbe un bel vantaggio).
certo anche a me esteticamente piace la manopolona che gira....io ne facevo solo un problema di costi, comunque è la maggioranza che decide,
se gli altri preferiscono il potenziometro.......o si scopre che è meglio....
per me va bene.
La soluzione DAC+ buffer è comunque valida, ma basterebbe anche un contatore binario e una serie di resistenze pesate ;-)
ecco meglio ancora!! :)

marzio



_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 17 mag 2007, 17:31
da andypairo
Se entri col 5V sul cursore e "esci" dagli altri pin puoi benissimo usare un pot singolo.

Su ebay si trovano gli RK168 Alps a poco più di 10€, non esagerato, ma possono andare benissimo anche pot di recupero.
Io ho un Alps blu ma mi guardo bene da adoperarlo per controllare il Lightspeed.

Per quanto riguarda il controllo con DAC o affini bisogna studiare bene come controllare i LED in modo da ottenere la curva di resistenza desiderata.

Un "problema" dei controlli a LDR non ancora evidenziato qui è che l'elemento shunt non è mai a 0 Ohm ma alla minima resistenza possibile del dispositivo, per cui l'attenuazione non sarà mai totale.
La "dinamica" di attenuazione dipende quindi dai valori di massima e minima resistenza, che dipendono a loro volta dal dispositivo e dalle correnti di funzionamento.
I Silonex hanno Rmin sotto i 100 Ohm, gli altro mi pare siano diverse centinaia (se non migliaia). Occorre quindi cautela nella scelta.

Ciao

Andrea

Inviato: 17 mag 2007, 17:55
da gluca
Un "problema" dei controlli a LDR non ancora evidenziato qui è che l'elemento shunt non è mai a 0 Ohm ma alla minima resistenza possibile del dispositivo, per cui l'attenuazione non sarà mai totale.
Si può sempre prevedere il "mute" che giri a gnd il segnale bypassando integralemente l'attenutore.

Forse vale la pena fare due conti. Pot motorizzato o releis/resistenze e logica di controllo costeranno certamente più di un doppio pot da 5 euro. Se non erro ci sono già schedine PCB telecomandabili con reti resistive (... pensate proprio come attenutori audio in origine). Alla fine si potrebbero usare queste per semplificare le cose. Devo cercare qualche link

Ciao.

---------> DISCLAIMER: ooops credo di aver detto una fesseria ... scusate <---------

Inviato: 17 mag 2007, 18:27
da marziom
Se entri col 5V sul cursore e "esci" dagli altri pin puoi benissimo usare un pot singolo.
....mi pare giusto, accordato.
Su ebay si trovano gli RK168 Alps a poco più di 10€, non esagerato, ma possono andare benissimo anche pot di recupero.
bè, dai prezzi che ho visto....qualcosa in più, consuderando anche le spese di spedizione, comunque come ho detto prima non importa se la maggioranza lo preferisce...
... oppure se il micro ha sufficenti uscite si può fare con up/down e/o con impulsi up/down (per usare un contatore digitale...)
Per quanto riguarda il controllo con DAC o affini bisogna studiare bene come controllare i LED in modo da ottenere la curva di resistenza desiderata.
bè, bastano due calcoli su excel....
Un "problema" dei controlli a LDR non ancora evidenziato qui è che l'elemento shunt non è mai a 0 Ohm ma alla minima resistenza possibile del dispositivo, per cui l'attenuazione non sarà mai totale.
La "dinamica" di attenuazione dipende quindi dai valori di massima e minima resistenza, che dipendono a loro volta dal dispositivo e dalle correnti di funzionamento.
I Silonex hanno Rmin sotto i 100 Ohm, gli altro mi pare siano diverse centinaia (se non migliaia). Occorre quindi cautela nella scelta.
vero, ma alle brutte risolviamo con il mute gestito dal micro quando scendiamo a fine corsa con il pot.
diverso invece il fatto dell'impedenza d'ingresso, dai datasheet che ho trovato i Silonex sembrano arrivare al massimo a qualche Kohm.... potrebbe essere troppo poco.
Sui Silonex inoltre ho trovato pochi dati dichiarati.....hai qualche altro datasheet??

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 17 mag 2007, 20:03
da andypairo
Ulteriori dati sui Silonex li trovi qui : http://www.silonex.com/audiohm/constants.html
anche se le immagini che ci interessano non riesco a visualizzarle.

Anche i Vactrol comunque sembrano OK, forse addirittura più facilmente controllabili. Io starei sui modelli con dinamica maggiore e minor distorsione (ma non ho visto grafici del genere per i Vactrol)

Ciao

Andrea

Inviato: 17 mag 2007, 20:25
da marziom
Ulteriori dati sui Silonex li trovi qui : http://www.silonex.com/audiohm/constants.html
anche se le immagini che ci interessano non riesco a visualizzarle.
si vede solo questa http://www.silonex.com/s_images/audio/c ... hmFig7.gif
non capisco che c'è sull'asse X...
Anche i Vactrol comunque sembrano OK, forse addirittura più facilmente controllabili. Io starei sui modelli con dinamica maggiore e minor distorsione (ma non ho visto grafici del genere per i Vactrol)
Trovi i dati su PerkinElmer optoelectronics

marzio


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 17 mag 2007, 20:48
da Natali
Magari può essere anche utile il commento di Mauro (Penasa) al link qui sotto:

http://www.audiofaidate.org/forum/viewt ... ttenuatore

Ciao, Andrea

Inviato: 17 mag 2007, 21:03
da marziom
riporto quanto scritto da Penasa
Esistono alcuni limiti in queste soluzioni:

- Possibile mancanza di linearità (matching) tra le varie sezioni, per cui serve una circuiteria di bilanciamento della luminosità dei led usati e della resistenza base della LDR (notoriamente non molto precisa a parità di esposizione luminosa)
vero, infatti il circuito postato da andypairo aveva dei trimmer.
in alternativa si può pensare a come fare qualcosa di attivo...
- Dato che di fondo la LDR (resistenza variabile alla luce) sono dei semiconduttori, si deve stabilire che non introducano THD di vario genere, come accade quando si usano fet in quella posizione (prevalentemente causate dalla non totale simmetria di comportamento rispetto alla polarità della tensione applicata).
gia,....alla Penasa maniera ci affidiamo agli strumenti di misura e diamo per buone quelle publicate.
- Eventuale maggiore rumore termico generato, tendenzialmente amplificato dalle componenti di rumore presenti nella luce incidente
questa non l'ho capita...
- Difficoltà di reperire chips integrati con LDR di buone caratteristiche, ed alternativa formata da strutture autocostruite a componenti separati (LDR e LED) di dubbia precisione
- neccessità di costruire un circuito di comando a corrente variabile, che per essere preciso deve avere un minimo di complessità circuitale
ok, ne stiamo discutendo.
Tanto vale usare un DAC moltiplicatore, con relativo stadio I/V.... (almeno garantisce le prestazioni di targa a vita...)
a quale DAC si riferisce??

marzio


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 22 mag 2007, 15:07
da andypairo
Come ci regoliamo per la scelta degli opto?

E' vero che per i Silonex i datasheet fanno un po' schifo ma io non mi baserei solo sui grafici (che terminano a 0.1 mA).

Io ho dei NSL32-SR3 e con 100k in serie siamo sui 25k di resistenza massima. Una veloce stima della corrente (considerando 2V di caduta a questi livelli di corrente) è di (5-2)/100000 = 30 uA

Per i Silonex il posto più economico (a parte Allied) sembra essere RS (!)

I Vactrol più o meno sembrano uguali da RS e Farnell ma hanno un vantaggio non da poco: esistono in package duale (es. VTL5C4/2).
Purtroppo le resistenze hanno un pin in comune, per cui possono essere usate solo nel ramo "shunt" dell'attenuatore ma dovrebbero essere ragionevolmente accoppiate di loro, riducendo il numero di pezzi da acquistare, visto che occorrerebbe selezionare solo il ramo serie.
Inoltre usando le due resistenze in serie si può ridurre la tensione sul singolo elemento e quindi la distorsione.

Che ne dite?

Ciao

Andrea

Inviato: 22 mag 2007, 15:38
da marziom
dei silonex la mancanza dei dati è il vero problema.
Io a sensazione mi fiderei più dei vactrol.....però è vero anche che la scelta può essere fatta anche alla fine, visto che i componenti fondamentalmente sono uguali, almeno rispetto al circuito di contorno che li pilota.

direi di mettere in standby questa scelta, di dare sper scontato solo che abbiamo dei "diodi led" da pilotare.
Passiamo alla scelta del micro, questo ci condizionerà alcune scelte importanti da fare.
Vista la diffusione io direi un PIC, per il modello vediamo che esce fuori dalla discussione.

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 22 mag 2007, 18:36
da To.Le
Come scritto sull'altro post io propongo il 16F88: Usart, PWM, Oscillatore interno, fino a 16 I/O se necessario etc etc.

Praticamente l'erede dell'acclamatissimo 16F84.

Inviato: 23 mag 2007, 21:05
da andypairo
Per me un PIC vale l'altro, a patto che siano reperibili facilmente, non costino un botto e che si possano riutilizzare le routine RC5 che si trovano in rete, in modo da non partire da zero.

Rimane da decidere la modalità di controllo del LED: scarterei il PWM, rimangono il pot motorizzato e il DAC, anche "discreto" con resistenze pesate sulle uscite (8?) del micro.
In caso di DAC occorre anche un display per la visualizzazione, pulsanti up/down, ecc.
Ci stiamo con gli I/O?

Sarà che ho già qualche pot motorizzato ma a pelle preferisco questa soluzione.

Altri pareri?

Ciao

Andrea

Inviato: 23 mag 2007, 22:14
da marziom
ha cosa ho alcuni PIC devo vedere che modello sono (bugia :twisted: ho visto ieri ma mi sono scordato il foglietto a casa... :? )

comunque per la conta degli I/O:

output
5 per il selettore ingressi

1 per power on/off

8 per il DAC? oppure 2 per up/down del motore (o up/down di un contatore....)

1 per il mute solo se controllo da motore

input
1 power on/off

1 mute

2 up/down

5 per selettore ingressi, o 2 se up/down

seriali
una uart per il display

facendo due rapidi conti, nell'ipotesi potenziometro mot. ci occorrono
8/9(con mute) uscite digitali
5/6(+mute)/9(+mute+ingressi)

se ci mettiamo un dac esterno ci voglio altre 6 uscite....forse è meglio un contatore!


fate i vostri conti gente....
io direi per uscire dal vicolo cieco della storia pot/dac, visto che non ci sono troppi sostenitori di questa strada, di considerare due uscite up/down.
poi volendo si può fare una opzione per usare le uscite ad impulso e pilotare un contatore+DAC (da fare su schedina esterna)

DACORDO......??!


marzio



_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 23 mag 2007, 22:22
da andypairo
D'accordo, ma ti sei scordato un ingresso (ricevitore IR!)

Un'altra cosa: pot motorizzato e contatore up/down lavorano diversamente (continuo il primo, a impulsi is secondo).
A meno che non si voglia usare un clock esterno da qualche Hz per il counter e commutare il su/giù con le suddette uscite.

Ciao

Andrea

Inviato: 23 mag 2007, 22:44
da marziom
gia l'ingresso IR.....

per usare il contatore potremo sfruttare un altro ingresso da usare con un dip-switch per abilitare questa funzionalità, o più banalmente una altra versione del firmware.

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 23 mag 2007, 22:52
da plovati
Rimane da decidere la modalità di controllo del LED: scarterei il PWM, rimangono il pot motorizzato e il DAC, anche "discreto" con resistenze pesate sulle uscite (8?) del micro.

Altri pareri?

Originally posted by andypairo - 23/05/2007 :  16:05:23
con il comando UP DOWN per il potenziometro motorizzato potresti anche usare un potenziometro digitale che fa da partitore della tensione di controllo a partire da una tensione ben stabilizzata.


_________
Piergiorgio

Inviato: 24 mag 2007, 16:01
da marziom
per la scelta del micro, come vedete dai numeri, con il 16F88 stiamo strettini e dobbiamo rinunciare a qualcosa....
io propongo di usare il 16F876, 3 porte, doppia UART e 5 canali ADC, ci stiamo comodi con quello che dobbiamo fare.
inoltre c'è il piccolissimo dettaglio che ne ho 3 nel cassetto.... 8)

datasheet
http://ww1.microchip.com/downloads/en/D ... 30292c.pdf

che dite? vi va bene?
deciso questo, passiamo al display.

P.S.
nel cassetto ho trovato anche 3 MCP41010: doppi potenziometri digitali controllati via SPI!!! :D ...risolto anche il problema del DAC.

P.S.2
ho letto nel altro 3d e approvo a pieno la proposta di Giaime di orientarci su un sistema multi scheda modulare, cosi ognuno usa quello di cui ha veramente bisogno.


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 24 mag 2007, 17:07
da UnixMan
Sarà che ho già qualche pot motorizzato ma a pelle preferisco questa soluzione.

Altri pareri?

Originariamente inviato da andypairo - 23/05/2007 :  16:05:23
certo, la manopolina che gira puo` essere anche carina da vedere (ed anche comoda da usare quando non si usa il telecomando) ma, visto che stiamo lavorando su una soluzione tutta "solid state", IMHO forse e` meglio evitare di metterci di mezzo anche potenziometri e parti meccaniche varie...

Per quanto mi riguarda, credo che la soluzione DAC + controlled current source per il pilotaggio dei LED/LDR sia probabilmente quella ottimale in quanto efficace, semplice da realizzare e tutto sommato anche economica.

BTW: recentemente, l'amico George (Joseph_K) ha utilizzato un sistema per certi versi simile per controllare il VCXO del suo DAC. In breve ha realizzato una sorta di PLL digitale per abbattere quasi completamente il jitter; se vi interessano i dettagli andate a vedere il thread: "Round two, PIC based PLL/VCXO & FIFO" su DIYHiFi.org (http://www.diyhifi.org/forums/viewtopic.php?f=2&t=1041&st=0&sk=t&sd=a), e` una lettura MOLTO interessante!

Dico questo qui` perche` le problematiche relative al pilotaggio da microcontrollore dei LED/LDR, ed in particolare quelle inerenti il rumore sono sostanzialmente le stesse che si hanno anche nel "pilotaggio" del VCXO e, quindi, ci possono essere molti spunti in comune.


Ciao,
Paolo.

Inviato: 24 mag 2007, 17:28
da UnixMan
con il comando UP DOWN per il potenziometro motorizzato potresti anche usare un potenziometro digitale che fa da partitore della tensione di controllo a partire da una tensione ben stabilizzata.

Originariamente inviato da plovati - 23/05/2007 :  17:52:50
ottima idea. Unico dubbio e` il livello di "rumorosita`" del pot. digitale.

Ciao,
Paolo.

Inviato: 24 mag 2007, 17:32
da UnixMan
P.S.2
ho letto nel altro 3d e approvo a pieno la proposta di Giaime di orientarci su un sistema multi scheda modulare, cosi ognuno usa quello di cui ha veramente bisogno.

Originariamente inviato da marziom - 24/05/2007 :  11:01:52
mi associo. :)


Ciao,
Paolo.

Inviato: 24 mag 2007, 18:09
da UnixMan
BTW: non vorrei mettere altra carne al fuoco - ce n'e` gia` + che abbastanza - ma avete pensato che la stessa struttura (L-pad con due dispositivi "attivi") utilizzata da "Georgehifi" per il suo "lightspeed" potrebbe essere implementata anche con dispositivi diversi dai LED/LDR? In particolare, una coppia di FETs utilizzati come resistori variabili.

Qualcuno potrebbe obbiettare che probabilmente un FET e` molto meno lineare di un fotoresistore, ma... provate a pensarci un po` su`.

Se prendo una coppia di dispositivi quanto piu` possibile identici (preferibilmente un matched pair integrato) e li metto in una configurazione ad L, se il carico a valle e` trascurabile (alta impedenza) le distorsioni prodotte dai due dispositivi saranno quasi perfettamente "complementari": se la non-linearita` di un dispositivo tende a far aumentare la pendenza della funzione di trasferimento complessiva, lo stesso effetto sull'altro dispositivo tende a farla diminuire. I due effetti tendono a compensarsi a vicenda, per cui in definitiva la distorsione all'uscita puo` essere quasi nulla.

E` (verosimilmente) lo stesso motivo x cui (a quanto dicono) il "lightspeed" non ha problemi di distorsione nonostante la linearita` dei dispositivi utilizzati non sia esattamente ideale...

Il vantaggio dell'uso di FET e` che le caratteristiche sono molto piu` costanti e prevedibili di quelle di un LED/LDR, il che eviterebbe diversi problemi (primo tra tutti la selezione, etc). Forse, prima di realizzare una soluzione "definitiva" IMHO varrebbe la pena di fare qualche prova a confronto tra una soluzione LED/LDR ed una a FET... :?:


Ciao,
Paolo.

Inviato: 24 mag 2007, 20:37
da marziom
interessante spunto di riflessione...
attenzione però che la regione dei FET a Resistenza variabile è quella a bassa tensione tra Drain e Source, ovvero nella nostra applicazione per tensioni del segnale piccole.

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 24 mag 2007, 22:12
da riccardo
Lo avevate letto questo?
http://www.audiofaidate.org/forum/viewtopic.php?t=1194



Saluti

R.R.
--------------------------------
Atomo e vuoto sono in noi
-------------------------------

Inviato: 24 mag 2007, 23:45
da marziom
Adesso si... :)
invito tutti a rileggerlo, comunque nel thred si ribadisce l'importanza di una costruzione modulare del sistema affinche si possa plasmare alle esigenze di ognuno.
MauroP inoltre propone un semplice layout del frontale con controllo del volume tramite encoder e visualizzazione con due display a 7 segmenti.
Mauro sostiene che dal punto di vista del rumore sono preferibili rispetto ad un sistema LCD n caratteri x n righe.
Nella bozza di schema che presenta utilizza pesantemente i multiplexer e altre porte logiche per poter usare un PIC16F62X.

Potremmo anche partire da quello schema e andare avanti secondo quanto decideremo.....
Io per esempio baserei il nostro sviluppo su un display seriale, dopo di che se qualcuno vuole usare un display a 7 segmenti basta una semplice scheda (magari con un pic) che fa la decodifica.

ma poi se tutti siamo d'accordo sulle idee di mauro.....tagliamo a corto e partiamo da dove s'era fermato lui.

fatemi sentire anche le vostre idee.....


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 25 mag 2007, 01:33
da UnixMan
Adesso si... :)
idem... :D
invito tutti a rileggerlo, comunque nel thred si ribadisce l'importanza di una costruzione modulare del sistema affinche si possa plasmare alle esigenze di ognuno.
sottoscrivo. :twisted:
Potremmo anche partire da quello schema e andare avanti secondo quanto decideremo.....
mi sembra una buona idea, inutile ripetere le stesse discussioni all'infinito.

Per quanto riguarda il display, concordo in pieno con quanto diceva Mauro: niente roba complicata, multiplexing o altro!

Questo aggeggio deve finire in un pre o all'interno di un ampli integrato e quindi NON vogliamo che ci sia alcun rumore digitale a giro. Quantomeno, visto che non possiamo fare tutto in analogico (beh, in teoria si potrebbe anche fare, pero`... :grin: ), vogliamo che ne sia generato il meno possibile e soprattutto SOLO quando serve. Quindi, AFAIK l'unica soluzione razionale e` quella proposta da Mauro: LED 7 segmenti accesi in continuo (no multiplex).

Se poi un Pic non ha abbastanza I/O per fare tutto, con quel che costano se ne possono sempre mettere piu` di uno... l'importante e` tenere sempre presente il fattore rumore: quando il circuito e` "idle" - cioe` sempre tranne quando si sta` azionando il telecomando e/o i pulsanti sul frontale - anche tutte le linee digitali devono restare tali, i.e. NON ci deve essere alcuna comunicazione tra le varie parti, segnali di clock a giro o altro: tutto deve restare fisso, 0 od 1 che sia, ma fisso.

Per lo stesso motivo il Pic deve lavorare in interrupt rispetto al ricevitore IR. IMNSHO e` impensabile produrre un inutile noise digitale continuo andando in polling in una applicazione del genere!

(oltretutto per aspettare eventi -pressione di tasti locali e/o sul remote- che, dal punto di vista del sistema, avvengono con una frequenza sostanzialmente nulla).


Ciao,
Paolo.

Inviato: 25 mag 2007, 23:11
da UnixMan
Un paio di note sul "lightspeed"...

1) non so` se avete letto questo post (#233):

http://www.diyaudio.com/forums/showthread.php?postid=1027663#post1027663

idea MOLTO interessante... la selezione degli LDR, oltre ad essere laboriosa alla fine rischia di diventare anche costosa... avendo a disposizione microcontrollore e selezione ingressi, l'idea della autocalibrazione all'accenzione e` semplicemente LA soluzione (quella giusta!). BTW, bisogna agire sulla corrente nei LED con un CCS, non sulla tensione applicata...

2) curiosando in giro, ho trovato questo:

http://www.fairchildsemi.com/pf/H1/H11F1.html

MOLTO interessante!!!

costano meno dei LED/LCR e promettono di essere decisamente migliori... da provare!! :p


Ciao,
Paolo.

Inviato: 26 mag 2007, 00:09
da marziom
non ho letto tutti i messaggi, però:
l'idea dell'autocalibrazione non è male però IMHO solo se nella fase di calibrazione si collega momentaneamente il mcu alla resistenza da misurare (e questo ci costa un altra uscita digitale).
Meglio preservare il fatto di avere il circuito di comando isolato da quello audio....
Per quanto riguarda gli altri dispositivi, bè, sostanzialmente sono simili, mi piacerebbe però qualche misura/grafico in più per capire come va... intendo la distorsione sopratutto....

Buon WE
marzio



_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 26 mag 2007, 00:28
da Giaime
Non vi seguo. Mi spieghereste quali sono i vantaggi della soluzione con le LDR, nei confronti di un chip dedicato ad es. DS1666 da 3€?

Davvero comprare tutte le LDR necessarie, i LED, il resto dei componenti, selezionare le LDR, etc etc etc, costa meno di 3€/canale? E davvero è più "lineare"?

Sicuramente è più complicato.

Mah :?

Ciao!
Giaime Ugliano
http://giaime.altervista.org

Inviato: 26 mag 2007, 15:06
da marziom
vantaggi teorici:

1) isolamento tra circuito di regolazione e percorso del segnale
2) meno componenti sul percorso del segnale (gli switch che vedi nello schemo del DS1666 saranno bjt...)
3) in teoria minore distorsione.......in teoria

e comunque, LED-LDR stanno insieme non sono separati.

Marzio




_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 26 mag 2007, 17:29
da UnixMan
Non vi seguo. Mi spieghereste quali sono i vantaggi della soluzione con le LDR, nei confronti di un chip dedicato ad es. DS1666 da 3€?


Originariamente inviato da Giaime - 25/05/2007 : 19:28:35
stai scherzando, vero?!?!? :o

un qualsiasi pot. al carbone da pochi centesimi suona meglio di uno di quei chip (e ci sono una infinita` di motivi xche` sia cosi`, ma ci vorrebbe tutto un 3d a parte per discuterne), mentre gente che aveva speso una piccola fortuna per soluzioni estremamente raffinate (quanto co$to$e!) dopo un confronto diretto gli ha preferito il "lightspeed"! :?

In pratica, qui` ci vorrebbe un bel riassunto del lungo 3d su diyaudio... :D

la risposta breve sarebbe: vattelo a leggere! ; ) Ma siccome stamattina mi sento particolarmente buono :grin: , un parziale riassunto di alcuni punti salienti te lo faccio (ti consiglio comunque di andartelo a leggere, ci sono diversi spunti interessanti).

Percorso del segnale minimale ed ottimale:
- nessun contatto (*)
- due soli componenti, sostanzialmente quasi perfettamente resistivi

Grazie alla struttura "L-pad" con elementi variabili pilotati "in controfase":
- impedenza ~ costante sia verso la sorgente che verso il carico
- le non linearita` dei singoli dispositivi (per altro minime ai livelli di
segnale presenti in questa applicazione) tendono a cancellarsi

Un altro vantaggio non da poco e` la possibilita` di variare le impedenze di ingresso/uscita dell'attenuatore (e quindi di ottimizzare l'adattamento rispetto all'impiego specifico) entro un ampio range semplicemente agendo sulla corrente di pilotaggio dei LED.

(*) il tizio che ha "inventato" il lightspeed sostiene di aver fatto misure che dimostrano come la presenza di contatti sul percorso del segnale ed in particolar modo di quelli tendenzialmente "poco stabili" quali quelli di potenziometri, rele` (o relais che dir si voglia :D ) e commutatori "inquinano" pesantemente il segnale stesso anche a prescindere da fenomeni di ossidazione (per altro sempre presenti e che contribuiscono a peggiorare ulteriormente le cose), etc.

Se supponiamo che abbia ragione, cio` spiegherebbe molte cose... ad esempio perche` l'eliminazione del selettore degli ingressi dal prototipo del mio "PowerTotem" abbia cambiato drasticamente il suono, ben piu` di molte -teoricamente ben piu` sostanziali- modifiche al circuito stesso!!! :o :?

La sua spiegazione -dichiaratamente ipotetica- e` che le vibrazioni meccaniche delle parti mobili che formano il contatto portano ad effetti di rettificazione ed in definitiva a sensibili distorsioni non lineari.
Davvero comprare tutte le LDR necessarie, i LED, il resto dei componenti, selezionare le LDR, etc etc etc, costa meno di 3€/canale? E davvero è più "lineare"?
alla seconda domanda sostanzialmente ho gia` risposto... non so` se sia piu` lineare ad una semplice (quanto rozza e provatamente poco significativa) misura in regime stazionario (quant'e` la THD dichiarata da quei chip?), ma di certo lo e` nell'impiego pratico con segnali musicali per lo scopo che ci interessa.

Per quanto riguarda costi e complicazioni: non devi stare a prendere una manciata di LED e di LDR, accoppiarli otticamente, selezionarli, etc, etc... :x

I LED/LDR (o fotoaccoppiatori analogici) sono dispositivi gia` "integrati" ed ottimizzati come tali, che hanno molte applicazioni (specie guarda caso in campo audio e negli strumenti musicali). Con pochi spiccioli in piu` alcuni tipi si trovano gia` preselezionati (ancorche` se si vuole un tracking molto accurato una ulteriore piccola selezione non guasta).

BTW, la selezione serve SOLO al fine di garantire il "tracking" tra i canali se si vuole realizzare un attenuatore stereo (o multicanale) monocomando senza ricorrere a soluzioni sofisticate (uP, etc) per il circuito di controllo.

Se (come spesso faccio anche io) si usano due comandi separati per i due canali, NON SERVE alcuna selezione!

In una ottica minimalista, Hi-Fun o semplicemente per provare al volo le prestazioni del sistema sul campo spendendo due lire, la cosa piu` facile da fare e` proprio questa: bastano 4 LED/LDR (3-4 euro l'uno) un paio di potenziometri quasiasi anche di recupero (tanto lavorano in DC), due resistenze ed una batteria da 6V ed il gioco e` fatto... nessuna selezione, nessuna complicazione. Piu` semplice di cosi`!

Anzi, visto che in questo caso si lavora su un controllo in DC isolato dal segnale, non ci sono controindicazioni di sorta nell'utilizzare i due potenziometri in configurazione tale da formare i classici due comandi di volume e bilanciamento, che magari risultano piu` comodi da usare (o quantomeno richiedono meno assuefazione...) rispetto ai comandi separati Dx/Sx.

Viceversa, nel momento in cui si sta` pensando ad una soluzione piu` sofisticata che gia` prevede l'uso di uno o piu` uP, la soluzione piu` ovvia (e tutto sommato anche piu` semplice ed economica) e` quella di utilizzare LED/LDR non selezionati (visto il prezzo al limite tanto vale prendere comunque quelli preselezionati, ma nulla di piu`) e poi ricorrere ad un controllo "furbo" a uP per garantire la precisione del tracking.

Inviato: 26 mag 2007, 17:35
da riccardo
ATTENZIONE
Voce della coscienza mode//ON

NOn vuol dire mica niente, in termini di qualità, la cosa che riferisci. a meno che non siano amici tuoi fraterni, che frequenti quotidianamente, di cui conosci vita morte e miracoli.

Voce della coscienza mode//OFF
un qualsiasi pot. al carbone da pochi centesimi suona meglio di uno di quei chip (e ci sono una infinita` di motivi xche` sia cosi`, ma ci vorrebbe tutto un 3d a parte per discuterne), mentre gente che aveva speso una piccola fortuna per soluzioni estremamente raffinate (quanto co$to$e!) dopo un confronto diretto gli ha preferito il "lightspeed"!
Saluti

R.R.
--------------------------------
Atomo e vuoto sono in noi
-------------------------------

Inviato: 26 mag 2007, 18:59
da UnixMan
non ho letto tutti i messaggi, però:
l'idea dell'autocalibrazione non è male però IMHO solo se nella fase di calibrazione si collega momentaneamente il mcu alla resistenza da misurare (e questo ci costa un altra uscita digitale).

Originariamente inviato da marziom - 25/05/2007 : 19:09:23
l'idea direi che sia quella di sfruttare i rele` della commutazione ingressi + uno aggiuntivo per isolare l'attenuatore dal circuito audio, collegare l'ingresso ad un riferimento DC e misurare l'uscita per una serie di valori dell'attenuazione, quindi a partire da questi costruirsi una tabella di riferimento per il pilotaggio. Ovviamente tutto cio` al power on, dopo di che l'attenuatore torna ad essere connesso al circuito audio ed isolato da tutto il resto.

Per quanto riguarda il discorso porte di I/O del uP, direi che IMHO conviene usare due Pic, una per la gestione di I/O e controlli (telecomando, pulsanti, etc) ed un'altra a parte per il solo sottosistema di controllo volume.
Per quanto riguarda gli altri dispositivi, bè, sostanzialmente sono simili, mi piacerebbe però qualche misura/grafico in più per capire come va... intendo la distorsione sopratutto....
dichiarano un 0.1% di THD max, grosso modo come i LDR. Se segui il link che ho postato, puoi scaricare il datasheet con tutti i grafici. Che si direbbero buoni, non fosse per un dubbio fondamentale: il massimo segnale applicabile e` di 60Vpp, ma non mi e` chiara qual'e` la max tensione di segnale applicabile per avere bassa distorsione. Tutti i grafici relativi si fermano intorno a 100mV, non vorrei che quello sia il limite... :?:



Ciao,
Paolo.

Inviato: 26 mag 2007, 19:10
da UnixMan
ATTENZIONE
Voce della coscienza mode//ON

NOn vuol dire mica niente, in termini di qualità, la cosa che riferisci. a meno che non siano amici tuoi fraterni, che frequenti quotidianamente, di cui conosci vita morte e miracoli.

Originariamente inviato da riccardo - 26/05/2007 :  12:35:09
ovviamente... pero` quando il coro e` cosi` ampio e sostanzialmente unanime un ragionevole dubbio lo insinua. Per le certezze non c'e` che da provare con le proprie orecchie. Ed una volta tanto se non altro la prova costa poco, sia in termini di tempo che di danaro...


Ciao,
Paolo.

Inviato: 26 mag 2007, 19:13
da Giaime
stai scherzando, vero?!?!? :o

Originariamente inviato da UnixMan - 26/05/2007 : 12:29:16
Secondo me non sai nemmeno di cosa sto parlando ; )

Leggiti il datasheet, và...
http://www.ortodoxism.ro/datasheets/max ... S1666S.pdf

Ribadisco, 3€ (iva esclusa) da Distrelec. Se li usa Audio Research, ci sarà un motivo 8)

Comunque non è assolutamente mia intenzione deviare l'obiettivo del progetto. Se eravate partiti con i LED/LDR e volete proseguire, nonostante l'esistenza di soluzioni comode, sperimentate, efficaci e potenzialmente più economiche, fate pure, sai che palle se tutti la pensassero allo stesso modo.

PS io li sto usando nel prototipo del pre sul quale sto lavorando, e ti posso assicurare che il potenziometro al carbone doppio, quello da 1€ per intenderci, a parità del valore di resistenza (10k per entrambi) va molto, molto peggio. Ma questo è un mio giudizio soggettivo e non serve a niente ai fini della questione.

Ciao!
Giaime Ugliano
http://giaime.altervista.org

Inviato: 26 mag 2007, 19:48
da UnixMan
Secondo me non sai nemmeno di cosa sto parlando ; )
Leggiti il datasheet, và...
http://www.ortodoxism.ro/datasheets/max ... S1666S.pdf
in parte hai ragione, nel senso che non conosco il modello specifico, ma non mi sembra poi cosi` diverso da tanti altri oggetti del genere...

pensaci su` un momento: un resistore integrato non e` poi cosi` diverso da un LDR: alla fin fine sempre di un pezzo di semiconduttore si tratta. Perche` mai allora una fila di resistori integrati (oltretutto insieme ad un circuito digitale) permanentemente connessi ad un http://www.audiofaidate.org/forum/viewtopic.php?t= di switch a stato solido (transistors...) attraversati essi stessi dal segnale dovrebbero essere meglio di due soli LDR in serie privi di qualsivoglia altra connessione ?!?!?
Ribadisco, 3€ (iva esclusa) da Distrelec. Se li usa Audio Research, ci sarà un motivo 8)
appunto, l'hai appena detto... ; ) :twisted:
Comunque non è assolutamente mia intenzione deviare l'obiettivo del progetto. Se eravate partiti con i LED/LDR e volete proseguire,
veramente il progetto (sull'altro 3d) era partito per essere modulare e versatile. Il controllo di volume potrebbe/dovrebbe essere su una scheda a parte, di cui se ne potrebbero fare varie versioni: con LDR, classico con pot motorizzato, a passi a rele`, con IC, ...
nonostante l'esistenza di soluzioni comode, sperimentate, efficaci e potenzialmente più economiche, fate pure, sai che palle se tutti la pensassero allo stesso modo.
raramente la via piu` facile e` quella giusta... ; )



Ciao,
Paolo.

Inviato: 26 mag 2007, 22:45
da UnixMan
P.S.: [DS1666]
PS io li sto usando nel prototipo del pre sul quale sto lavorando, e ti posso assicurare che il potenziometro al carbone doppio, quello da 1€ per intenderci, a parità del valore di resistenza (10k per entrambi) va molto, molto peggio. Ma questo è un mio giudizio soggettivo e non serve a niente ai fini della questione.

Originariamente inviato da Giaime - 26/05/2007 :  14:13:29
il che e` una bella sorpresa, non ti pare? dopo tutto, una striscia di impasto al carbone -per quanto rozza- dovrebbe essere MOLTO piu` lineare di un qualsiasi ammasso di semiconduttori e non dovrebbe neanche essere affetta da problemi di "reattivita`" parassite particolarmente nefande, quantomeno non in BF... che sia proprio vero che i contatti (specie quelli piu` "ballerini" come nei pot + economici) sono da evitare come la peggiore delle pestilenze? :|

Piu` ci penso e piu` mi convinco che questa del "lightspeed" e` il classico uovo di Colombo, una delle idee piu` geniali che siano apparse in questo campo da parecchio tempo... (un'altra e` l'architettura del "my_ref" di Mauro, ma quella e` un'altra storia 8) ).


Ciao,
Paolo.

Inviato: 26 mag 2007, 22:59
da Giaime
Piu` ci penso e piu` mi convinco che questa del "lightspeed" e` il classico uovo di Colombo, una delle idee piu` geniali che siano apparse in questo campo da parecchio tempo... (un'altra e` l'architettura del "my_ref" di Mauro, ma quella e` un'altra storia 8) ).

Originariamente inviato da UnixMan - 26/05/2007 : 17:45:14
Ok, abbiamo capito che ti piace :D

Spiegami una cosa però: per quanto riguarda la distorsione. Si vede che i LDR (dai grafici che avete postato) sono componenti piuttosto nonlineari per tensioni ai capi alte (sul paio di volt, addirittura THD = 1% per 5V...).
Mettendo due LDR a partitore (da controllare in controfase quindi), quando il volume sarà al massimo il LDR basso avrà una forte tensione ai suoi capi (THD alta), quando il volume sarà al minimo il LDR alto avrà una forte tensione ai suoi capi (THD alta), quindi?!?!? Na schifezza.

Il DS1666 entro i limiti della tensione di alimentazione (±5V che bastano e avanzano) ha THD non misurabile...

Forse ho capito io male qualcosa, nel caso mi piacerebbe mi indirizzaste laddove avete già risposto a domande così "newbie", grazie.

Ciao!
Giaime Ugliano
http://giaime.altervista.org

Inviato: 27 mag 2007, 15:23
da marziom
bè intanto, pensado a sorgenti standard, il segnale a 0db è di 2Vrms
e di solito si registra sotto questo 0 fantomatico....
detto questo se il modo di distorcere è "complementare/speculare", cosa che io non so ma si potrebbe presumere, allora le due distorsioni introdotte tenderebbero ad annullarsi.
un'po come si fa con le valvole mettendo due stadi uguali in cascata...

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 27 mag 2007, 16:02
da Giaime
detto questo se il modo di distorcere è "complementare/speculare", cosa che io non so ma si potrebbe presumere, allora le due distorsioni introdotte tenderebbero ad annullarsi.
Originariamente inviato da marziom - 27/05/2007 : 10:23:51
Forse mi sbaglio, anzi probabilmente, ma a me non pare proprio: se l'LDR basso è sottoposto ad un forte segnale, quello superiore ad un piccolo segnale. Non c'è modo che i due siano (tranne quando il volume è precisamente a metà) sottoposti allo stesso segnale, quindi a produrre lo stesso tipo di distorsione.

A me sembra che si stia facendo di tutto per giustificare i difetti di un sistema su basi un po' fragili: se pensate che la decisione oramai è presa e i miei interventi totalmente inutili, allora taccio, e mi ascolto i miei chip abbinati al 0.01dB 8)

Ciao!
Giaime Ugliano
http://giaime.altervista.org

Inviato: 27 mag 2007, 19:43
da marziom
Giaime! ti stai Penasizando :grin:
....non è un offesa, anzi!

La mia esperienza si basa solo su potenziometri classici +/- buoni, non conosco i tuoi DA1666 e neanche gli LDR, mi baso un'po sulle impressioni raccolte in giro (male) e un po dai dati publicati e miei pensieri (lasciamo perde va....).
L'idea di avere tutte quelle giunzioni PN/NP sul percorso del segnale non mi fà saltare di gioia mentre gli LDR da questo punto di vista sono più semplici....
Detto questo bisogna provare, mi dispiace che siamo lontani, ma spero che qualcuno in zona ci sia per confrontare i due sistemi.
Non ho posizioni intransigenti quindi sono curioso di vedere come va...magari mi ricredo, magari no.....vedremo.
Dei dati publicati da entrambi i sistemi poi, sopratutto sulla distorsione, mi fido solo fino ad un certo punto.

Detto questo, la scelta del dispositivo di attenuazione e solo uno dei tasselli del progettino che si sta discutendo qui.
Io ho proposto gia prima di progettare il tutto facendo in modo che la parte logica dialoghi con una schedia che faccia praticamente l'attenuazione, poi sulla schedina ognuno ci mette quello che vuole.

Marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 27 mag 2007, 19:55
da Giaime
Giaime! ti stai Penasizando :grin:
....non è un offesa, anzi!
:o:o:o :D
Detto questo, la scelta del dispositivo di attenuazione e solo uno dei tasselli del progettino che si sta discutendo qui.
Io ho proposto gia prima di progettare il tutto facendo in modo che la parte logica dialoghi con una schedia che faccia praticamente l'attenuazione, poi sulla schedina ognuno ci mette quello che vuole.

Originariamente inviato da marziom - 27/05/2007 : 14:43:18
Pienamente d'accordo :)
Riassumendo, quindi:
  • Abbiamo bisogno di una scheda col PIC, le uscite per i relè (selezione ingressi, on-off e muting), le uscite per il display LCD e/o display a 7 segmenti, le uscite per il controllo del volume.
  • Si riescono a far convivere a livello PCB le uscite per i display 7 segmenti, con i 14 piedini per un LCD? Di questi, 10 sono da attaccare al PIC (in modalità 8bit, io confesso il mio peccato: a 4bit non sono mai riuscito a farli andare gli LCD!!!!)
  • Selezione ingressi (ma anche volume): qualcuno ha provato gli switch cmos e/o di altro tipo, insomma che non siano relè meccanici? Se ne parlava qualche post fa. Io ho chiesto i samples alla Vishay ma non mi filano manco di striscio.
  • Bisogna raccogliere il numero di uscite che servono per i vari sistemi, di modo da scegliere il sistema preferito semplicemente cambiando firmware del PIC. Parto io con i DS1666: c'è bisogno di 2 segnali di comando (i quali possono essere "disaccoppiati" dalla parte digitale tramite due optoisolatori, o anche LED/LDR, ecco un uso non puzzone degli stessi :D ). Per la soluzione LED/LDR, quante uscite vi servono? Relè? Pot. Motorizzato?
Ciao!
Giaime Ugliano
http://giaime.altervista.org

Inviato: 28 mag 2007, 01:47
da UnixMan
Forse mi sbaglio, anzi probabilmente, ma a me non pare proprio: se l'LDR basso è sottoposto ad un forte segnale, quello superiore ad un piccolo segnale. Non c'è modo che i due siano (tranne quando il volume è precisamente a metà) sottoposti allo stesso segnale, quindi a produrre lo stesso tipo di distorsione.
Originariamente inviato da Giaime - 27/05/2007 : 11:02:02
$ sed "s/stesso tipo/stessa/"

per i non Unixari, :) se cambi "stesso tipo" con stessa (identica) distorsione e` giusto. Con il volume a meta` la distorsione si annulla perfettamente (completamente), mentre spostandosi verso gli estremi l'effetto di compensazione si riduce. Il caso peggiore si ha con il volume al minimo, in cui sull'elemento serie cade quasi tutta la tensione di ingresso. All'altro estremo, col volume al max la massima non linearita` compete all'elemento shunt ma, poiche` la resistenza serie e` molto bassa, se Zsource << Rp << Zload l'effetto della non linearita` di Rp e` molto modesto.

Comunque sia, IMHO alla fine stiamo facendo tanto rumore x nulla. Ai livelli di tensione che ci interessano (meno di 4Vp in corrispondenza dei picchi massimi del segnale anche considerando sorgenti "esagerate", meno di 3Vp con sorgenti standard), la distorsione degli LDR adatti all'impiego che vogliamo farne e` sostanzialmente ininfluente.
A me sembra che si stia facendo di tutto per giustificare i difetti di un sistema su basi un po' fragili: se pensate che la decisione oramai è presa e i miei interventi totalmente inutili, allora taccio, e mi ascolto i miei chip abbinati al 0.01dB 8)
non credo che nessuno stia cercando di giustificare i (presunti) difetti di un sistema che, AFAIK, finora nessuno di noi ha avuto occasione di provare. Pero` molti di noi sono a dir poco incuriositi da questa idea che, come detto, mi sembra molto intelligente quanto promettente. Viceversa, a me pare che qualcuno stia cercando di trovargli difetti ad ogni costo a priori... ; ) :D

Ma facciamo un passo indietro...

Un LDR non e` altro che un pezzo di un materiale semiconduttore i cui elettroni piu` esterni vengono facilmente "strappati via" se colpiti da fotoni di determinate energie (i.e. luce di determinate lunghezze d'onda == colore). Per ogni fotone "catturato" si crea quindi una coppia elettrone-lacuna liberi che contribuiscono a diminuire la resistivita` del materiale e quindi la resistenza complessiva vista ai capi del dispositivo.

Qualsiasi semiconduttore e` soggetto a questo meccanismo (e` "fotosensibile"); i materiali con cui vengono realizzati gli LDR (di solido miscele di solfuro di cadmio e/o roba del genere) sono selezionati perche` lo sono piu` di altri e perche` il picco di fotosensibilita` cade in determinate porzioni dello spettro (tipicamente nel visibile) piuttosto che in altre.

Ma, in qualsiasi semiconduttore, ci sono anche molti altri meccanismi che portano alla creazione di portatori liberi (coppie elettrone-lacuna), primo tra tutti l'agitazione termica (== la temperatura, ecco perche` tutti i semiconduttori sono fortemente influenzati da questa). Ma anche gli stessi campi elettrici applicati, se sufficentemente forti (quanto forti dipende dal materiale, da eventuali "droganti" e/o impurita`, dalla temperatura, etc.) possono "strappare" elettroni esterni creando nuove coppie elettrone-lacuna e facendo quindi diminuire la resistivita` del materiale. Poi ci sono gli stessi elettroni liberi che costituiscono la corrente che scorre nel dispositivo che possono "urtare" altri elettroni "confinati" e creare nuove coppie di portatori liberi ("effetto valanga"). E naturalmente ci sono gli effetti termici legati al riscaldamento localizzato prodotto dalla stessa corrente che scorre nel dispositivo... e non basta ancora, ma fermiamoci qui` perche` sull'argomento sono stati scritti interi trattati, anche piuttosto voluminosi! :D

(e fin qui` abbiamo parlato solo di "resistori", non c'e` ancora traccia di giunzioni p-n, zone di svuotamento, capacita` che variano con la tensione, etc, etc... ah, che bella cosa gli elettroni che viaggiano liberi e soggetti ai soli campi elettromagnetici nei tubi a vuoto... ; ) )

BTW, in conclusione il punto e` che qualsiasi "resistore" costruito con materiale semiconduttore ha inevitabilmente un comportamento NON lineare al variare della tensione applicata ai suoi capi e della corrente che lo attraversa, cioe` la sua resistenza NON e` costante ma (soprattutto per tensioni e/o correnti al di sopra di una certa soglia, in generale fortemente dipendente dalla temperatura) varia piu` o meno sensibilmente al variare della tensione applicata e della corrente che ci scorre.

Ovviamente, quando elementi del genere sono utilizzati in un circuito audio, si genera distorsione. E questo e` vero tanto per un LDR quanto per i resistori integrati dei chip... quindi, visto che critichi l'idea degli LDR mentre sbavi appresso ad un certo chip, ripeto la domanda cui non hai risposto: ; )
Perche` mai allora una fila di resistori integrati (oltretutto insieme ad un circuito digitale) permanentemente connessi ad un http://www.audiofaidate.org/forum/viewtopic.php?t= di switch a stato solido (transistors...) attraversati essi stessi dal segnale dovrebbero essere meglio di due soli LDR in serie privi di qualsivoglia altra connessione ?!?!?
Se il chip va` bene, la logica porta a credere che, ragionevolmente, la soluzione con gi LDR dovrebbe andare anche meglio. Sbaglio?


Ciao,
Paolo.

Inviato: 28 mag 2007, 02:23
da UnixMan
Per la soluzione LED/LDR, quante uscite vi servono? Relè? Pot. Motorizzato?

Originariamente inviato da Giaime - 27/05/2007 :  14:55:08
mi sa` che ti e` sfuggito qualche post. :|

Serve un CCS controllato da un DAC controllato dal Pic... ma, come detto in un post precedente, allo scopo probabilmente e` molto meglio utilizzare un secondo Pic dedicato sulla scheda dell'attenuatore a LED/LDR. Per cui sul Pic principale (sulla scheda di controllo) si possono utilizzare le stesse linee previste per il 1666 (e volendo forse anche lo stesso protocollo, se si riesce ad "infilarci dentro" quanto serve per effettuare l'autocalibrazione al power-on).

Per i commutatori solid-state, per quanto mi riguarda e` un no-no, non se ne parla nemmeno. Non voglio pezzi di sabbia sul percorso del segnale verso i miei triodi... 8)

Per quanto riguarda i rele`, su DIYaudio raccomandavano quelli a goccia di mercurio... :?:

Ciao,
Paolo.

Inviato: 28 mag 2007, 14:12
da plovati
Giusto per buttarla lì, senza voler distrarre nessuno dall’obiettivo primario lightspeed:

si potrebbe anche utilizzare due termistori NTC piazzati sui due lati opposti di una cella peltier, calda e fredda.
Tra i vantaggi si possono enumerare la facilità di pilotaggio, l’accoppiamento tra i canali, una migliore qualità del semiconduttore rispetto agli elementi sensibili alla luce, la dipendenza esponenziale dell’attenuazione dalla temperatura e quindi dalla corrente delle cella peltier .
Gli svantaggi: i livelli di attenuazione scarsi e il tempo necessario ad andare a regime.


_________
Piergiorgio

Inviato: 28 mag 2007, 18:35
da marziom
allora tiriamo le redini del discorso:
ho pensato di fare uno schemino per meglio visualizzare cosa ho in mente e/o cosa stiamo cercando di fare.
ecco qui:
Immagine

come vedete l'ho diviso in 4 schede:
mainboard: la scheda principale con il PIC centrale; sulla scheda ci sono i pulsanti di selezione ingressi (con relativo led), il pulsante di mute, il pulsante di on/off, il sensore IR, eventualmente due pulsanti +/- per il volume
switch board: la scheda con i relè (o quello che volete) e il demux dei segnali della mainboard
attenuator board: la scheda che attua la regolazione del segnale, può essere fatta con un DS1666, con i LED/LDR, con un pot motorizzato, con un DAC, ecc.....
display board: per chi vuole un display....anche a sette segmenti....

N.B.
main board e display devono essere schermate.

P.S.
mi sono scordato due fili che escono dalla main board per il controllo di un RELE di accensione/spegnimento del sistema.

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 28 mag 2007, 23:16
da UnixMan
allora tiriamo le redini del discorso:
ho pensato di fare uno schemino per meglio visualizzare cosa ho in mente e/o cosa stiamo cercando di fare.
dunque... qualche commento:

DISPLAY:in effetti metterlo su una scheda separata anziche` sulla mainboard potrebbe rendere piu` flessibile/versatile il sistema, tra cui dare la possibilita`, a chi proprio lo volesse, di usare un display diverso dalle due cifre a led 7 seg. Per contro impone complicazioni (e costi) aggiuntivi da non sottovalutare.

BTW: per poter implementare la soluzione con scheda display separata controllata via seriale, la logica sulla scheda display deve essere in grado di ricevere il segnale seriale, decodificarlo ed in qualche modo memorizzarlo. C'e` il caso che forse anche li` si fa` prima a metterci un'altra Pic... ne vale davvero la pena?

In ogni caso, ribadisco il concetto: le uniche soluzioni veramente "low noise" e quindi accettabili in un progetto come questo sono quelle per cui nessuna linea digitale cambia di stato se non quando si stanno azionando i comandi. Questa e` una cosa da cui IMNSHO non si puo` prescindere, anche se dovesse complicare un po` le cose (ad es. ovviamente preclude qualsiasi forma di multiplexing e proibisce l'uso di segnali di clock, anche locali, che non si possano "spegnere" quando non si stanno facendo operazioni).

P.S.: con questi accorgimenti, la schermatura diventa sostanzialmente superflua, visto che durante il funzionamento normale il rumore semplicemente NON c'e`! :) (...e chissenefrega se ce n'e` un po` nei pochi istanti quando si azionano i comandi). L'unica cosa da schermare al massimo e` la Pic, e per questo dovrebbe bastare gia` un bel piano di massa sul PCB...

Comunicazione con scheda attenuatore:

qui` invece IMHO basta un'altra seriale, che tanto per il lightspeed (IMHO) quanto per l'attenuatore a passi (a rele`) molto probabilmente conviene usare un altro Pic locale. Dopo tutto, ho il sospetto che due Pic economiche costino meno nonche` siano piu` facili da reperire (e forse anche programmare) di una sola piu` "carrozzata". E come se non bastasse semplifica i cablaggi...


Ciao,
Paolo.

Inviato: 28 mag 2007, 23:23
da mrttg
Il display hà un controller e un backplane che qualche disturbino lo fanno... conviene la schermatura :)

Tiziano

Inviato: 28 mag 2007, 23:30
da mrttg
Marzio per la scheda PIC e visualizzazione prevedi un regolatore di tensione locale?

Tiziano

Inviato: 28 mag 2007, 23:36
da UnixMan
Il display hà un controller e un backplane che qualche disturbino lo fanno... conviene la schermatura :)

Originariamente inviato da mrttg - 28/05/2007 :  18:23:31
non se si tengono i LED sempre accesi (un driver per segmento, senza multiplexing).

Questo era anche quanto suggeriva di fare Mauro nell'altro 3d...


Ciao,
Paolo.

Inviato: 28 mag 2007, 23:45
da mrttg
Il display hà un controller e un backplane che qualche disturbino lo fanno... conviene la schermatura :)

Originariamente inviato da mrttg - 28/05/2007 : 18:23:31
non se si tengono i LED sempre accesi (un driver per segmento, senza multiplexing).

Questo era anche il quanto suggeriva di fare Mauro nell'altro 3d...


Ciao,
Paolo.



Originally posted by UnixMan - 28/05/2007 : 18:36:35
Certo nel caso di display.... se usi un qualsiasi visualizzatore intelligente attività digitale la hai.

Occorre riflettere anche quante linee di controllo possano servire per attenuatori ecc.. ad esempio il Wolfon WM8816 ne richiede quattro

Inviato: 28 mag 2007, 23:46
da marziom
DISPLAY:
l'impostazione modulare ci permette di:
non avere il display, per esempio se uso un pot motorizato con manopolona a vista.
fregarmene del rumore (oppure affrontarlo come si deve) e mettere un display ultrafigo fluorescehnte+retroilluminato+ecc,ecc,ecc.
minimale con 2 display a 7 segmenti: onde evitare di complicarci la vita con mux, cavi, ecc. è meglio se pensiamo subito ad un collegamento seriale o psuedo tale (che va bene anche per la soluzione "****" :) ) con un bel pic minimale, più pratico e costa meno.

ATTENUATORE
vorrei dare la possibilità a chi vuole usare un pot motorizzato di bufferare le linee up/down e fine della fiera (anche per chi vuole pilotare gli LDR con il pot...).
considerando questo e la linea di muting...possiamo capire se sia meglio aggiungere altri due fili per una seriale+pic remoto o tre per una gestione centralizzata....
...non so, pensiamoci su.

....poi però se mettiamo un PIC sulla scheda attenuatore occorrerebbe schermare pure quella........
forse alla fine è meglio la soluzione centralizzata

per quanto riguarda la schermatura....IMHO è meglio prevederla, tanto le due schedine interessate dovrebbero stare a ridosso del frontale e quindi basta una coperchio posteriore per chiudere tutto.

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 28 mag 2007, 23:47
da marziom
Marzio per la scheda PIC e visualizzazione prevedi un regolatore di tensione locale?

Tiziano


Originariamente inviato da mrttg - 28/05/2007 :  18:30:16
direi che un 7805 non fa male metterlo....

marzio


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 29 mag 2007, 00:46
da UnixMan
....poi però se mettiamo un PIC sulla scheda attenuatore occorrerebbe schermare pure quella........
forse alla fine è meglio la soluzione centralizzata

Originariamente inviato da marziom - 28/05/2007 :  18:46:16
se non vado errato, i Pic si possono "mandare a dormire" finche` non vengono risvegliate da un apposito segnale (interrupt?). Sempre se non mi sbaglio, in tali condizioni il Pic e` sostanzialmente spento e non viene generato rumore di cui preoccuparsi (abbiate pazienza, lo so` che e` vergogna e scandalo, ma non ho mai avuto occasione di fare pratica con quei simpatici oggetti... e le mie nozioni "teoriche" sono ormai piuttosto arrugginite oltre che probabilmente obsolete/obsolescenti. :oops: ).

Quindi, sempre ammesso e non concesso che non abbia detto cavolate, un po` di rumore verrebbe generato soltanto durante le "operazioni", e questo non sarebbe un problema.


Ciao,
Paolo.

Inviato: 29 mag 2007, 02:31
da MarcoSan
Scusate, arrivo un po' tardi con questo link : http://electronics.dantimax.dk

alcuni moduli presentati sono stati gia' utilizzati con ottimi risultati anche in ambito pro-audio.

Saluti a tutti

<lurk mode ON>

Marco

Marco
-------
AIF-Associazione Italiana Fonoamatori - www.fonoamatori.it

Inviato: 30 mag 2007, 01:30
da plovati
Immagine; )

_________
Piergiorgio

Inviato: 30 mag 2007, 01:48
da UnixMan
Immagine; )

Originariamente inviato da plovati - 29/05/2007 :  20:30:19
(mmmh, credo di sapere dove vuoi andare a parare... ; ) ma qui` saremmo "vagamente" off-topic... :o tiratina d'orecchie al moderatore! :twisted: :D )

BTW, non e` certo una novita`; "fotoaccoppiatori" analogici piu` o meno rudimentali prima ed evoluti poi (guarda caso, chissa` perche` oggi ci sono i LED/LDR integrati...) si usano in modo simile negli "effetti" musicali nonche` nei "compressori" largamente usati negli studi di registrazione da almeno 50 anni...

P.S.: per applicazioni del genere, gli "opto-FET" (tipo quelli di cui ho postato il link), con i loro tempi di risposta nell'ordine della 10ina di us sono probabilmente MOLTO piu` adatti dei LED/LDR che sono piu` lenti di almeno un ordine di grandezza.

P.P.S.: per quello che avevi in mente, ho avuto una ideuzza... ma ne parliamo altrove. ; )


Ciao,
Paolo.

Inviato: 30 mag 2007, 15:30
da marziom
la discussione arranca un'po ......

ci siamo con le impostazioni di massima??!??!?!
a proposito ma quanti sono gli interesati alla cosa?

1) marzio
...


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Re: lightspeed attenuator+progetto HiFun controllo pre

Inviato: 30 mag 2007, 21:32
da UnixMan
la discussione arranca un'po ......

ci siamo con le impostazioni di massima??!??!?!
grosso modo mi pare di si`... resta da definire la struttura dell'attenuatore "lightspeed" ed "un po`" di dettagli, ma per il resto mi pare che almeno per quanto riguarda l'architettura generale ci siamo. O forse no... :oops: (vedi sotto!).

Avete visto questo?!?!

http://www.diyaudio.com/forums/showthread.php?postid=1221360#post1221360

http://www.dartzeel.com/pages_E/NHB18_info_E.html
http://www.6moons.com/audioreviews/...2/preamp_4.html

e se anche noi provassimo a realizzare il selettore ingressi contactless!? :p

Si potrebbe fare come segue:

(N.B.: idea mia, NON ho la piu` pallida idea di come abbiano fatto nel prodotto commerciale di cui al link)

ci servono tre celle LDR per ingresso, connesse a "T".

Da una parte ci vanno i rispettivi ingressi, dall'altra sono unite tutte insieme. I rami "shunt" vanno a massa.

Sul canale attivo si usa la "L" formata dai primi due LED/LDR per settare l'attenuazione, mentre il terzo si puo` mettere "tutto aperto" oppure, meglio, lo si puo` sfruttare controllandolo in modo da mantenere costante l'impedenza di uscita. Bello! :p

(nel primo caso, visto che deve fare sostanzialmente da switch on/off, probabilmente converrebbe usare un Opto-FET piuttosto che un LED/LDR)

Sugli altri canali (inutilizzati) si lasciano invece "spenti" (max R) i due elementi serie e si "accende" l'elemento shunt, in modo da isolarli virtualmente dal circuito.

Per garantire una migliore separazione tra i canali, in parallelo ai rami "shunt" delle "T" si puo` anche mettere il contatto di un rele` per il muting. Questo ha anche il vantaggio di evitare di stressare inutilmente i LED/LDR, che NON gradiscono di essere tenuti accesi "full-blown" per lunghi periodi. Con il rele` chiuso i LED/LDR corrispondenti si possono tranquillamente lasciare "spenti" (o anche "accesi" ma con una corrente modesta che non crea problemi).

Da notare che la presenza dei rele` non cambia la natura "contactless" del sistema (e non dovrebbe influire minimamente del suono): ovviamente il canale in cui c'e` il contatto chiuso non e` attivo ed e` "isolato" dagli altri dalla resistenza max del LDR serie, che e` dell'ordine di svariati Mohm e piu`...

(P.S.: a differenza del lightspeed originale dove bisogna restare "stretti" per evitare problemi di tracking, pilotando i LED/LDR con DAC/CCCS controllato da Pic si puo` sfruttare tutto il range dinamico degli LDR, da tutto acceso a completamente spento).

Che ne pensate?

Ovviamente, una soluzione del genere preclude almeno in parte la flessibilita` prevista finora... selettore ingressi ed attenuatore diventano una cosa sola, e non c'e` possibilita` di utilizzare tecnologie diverse.

...a meno di non realizzare separatamente selezione ingressi ed attenuatore. In tal caso, per la selezione ingressi si potrebbero utilizzare delle reti a "T" come descritto sopra ma con Opto-FET operati in modalita` on/off al posto dei LED/LDR. Devo dire pero` che la cosa non mi piace affatto, perche` aumenta inutilmente il numero di elementi (oltretutto non completamente lineari) sul percorso del segnale.

Dopo tutto, di soluzioni "tradizionali" (pot. motorizzato, rele`, chip, ...) per il controllo del volume e/o della selezione ingressi, con o senza telecomando, etc. in giro se ne trovano gia` molte, tanto in kit che gia` montate e pronte all'uso... mentre una soluzione interamente contactless non si sarebbe mai vista!!!
a proposito ma quanti sono gli interesati alla cosa?

1) marzio
...
2) Paolo (aka UnixMan :D )


Ciao,
Paolo.

Inviato: 30 mag 2007, 21:50
da plovati
3) Plovati

_________
Piergiorgio

Inviato: 30 mag 2007, 22:02
da andypairo
Ciao,
la soluzione contactless è in effetti interessante ma la realizzazione pratica la vedo difficile per quanto riguarda la precisione del controllo di volume, che mi sembra di capire essere uno per ogni ingresso.

Forse si potrebbe pensare di usare un ramo di shunt unico (all'unione delle R di ingresso) lasciando il solo relè per il muting.

Una domanda però sorge spontanea... quanti hanno effettivamente ascoltato un aggeggio a LED/LDR?
L'entusiasmo è dovuto alle recensioni miracolistiche su diyaudio o alla propria esperienza?

Avendo in casa alcune NSL-32SR3 matched contavo di provare a breve ma devo trovare la soluzione per poter confrontare "live" il pot (già integrato nel pre) con la soluzione Lightspeed senza introdurre altri contatti.

Idee a riguardo?

Ciao

4)Andrea

Inviato: 30 mag 2007, 22:11
da marziom
interessante la soluzione contact-less, ma....

.... io direi di rimanere sul semplice se no si complica troppo il progetto e, come succede spesso, non si decolla mai.
d'altronde nulla vieta con l'architettura adottata di costruire in futuro una board di switch con queste prerogative.

rimaniamo sul semplice, a complicare le cose si fa sempre in tempo.

x andypairo
sarebbe bello avere un impressione diretta da parte tua, credo che per provare un circuito semplice tipo quello postato all'inizio del vecchio 3d vada bene (un pot comune che pilota i LED/LDR, magari alimentato temporaneamente da una batteria...)

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 30 mag 2007, 22:56
da UnixMan
la soluzione contactless è in effetti interessante ma la realizzazione pratica la vedo difficile per quanto riguarda la precisione del controllo di volume, che mi sembra di capire essere uno per ogni ingresso.
si`, ma controlli comunque sempre e solo un ingresso alla volta... mica devi fare un mixer! :D Per altro, visto che tutto sarebbe affidato ad un microcontrollore dedicato, utilizzando lo stesso identico circuito si potrebbe fare facilmente anche quello, basta cambiare il firmware... abbiamo aspiranti DJ o tecnici del suono in vista? :D
Forse si potrebbe pensare di usare un ramo di shunt unico (all'unione delle R di ingresso) lasciando il solo relè per il muting.
ahem... e come fai? devi isolare tanto gli ingressi non utilizzati quanto l'uscita dal rele`, se no` metti tutto in corto! :?:
Una domanda però sorge spontanea... quanti hanno effettivamente ascoltato un aggeggio a LED/LDR?
L'entusiasmo è dovuto alle recensioni miracolistiche su diyaudio o alla propria esperienza?
personalmente non ho (ancora) avuto modo di ascoltarlo. Appena posso ordinero` un po` di LED/LDR di vario tipo per fare un po` di prove veloci in configurazione base (con doppio comando, senza neanche stare a preoccuparmi di selezionarli). Ma devo dire che dal punto di vista "teorico" l'idea mi piace moltissimo... (e sono propenso a credere che, se pure probabilmente non sara` il miracolo a cui tanti gridano, dovrebbe essere una buona soluzione).
Avendo in casa alcune NSL-32SR3 matched contavo di provare a breve ma devo trovare la soluzione per poter confrontare "live" il pot (già integrato nel pre) con la soluzione Lightspeed senza introdurre altri contatti.

Idee a riguardo?
certo! :D

beh, prima di tutto, c'e` la soluzione raccomandata dall'autore del "lightspeed", cioe` quella di usarlo semplicemente e direttamente come "pre passivo" (i.e. AL POSTO del tuo pre). E questa prova secondo me la devi fare assolutamente come prima cosa.

Poi, se vuoi anche provarlo come attenuatore all'ingresso del tuo pre e vuoi fare confronti rapidi A/B con il tuo pot senza introdurre switch o altro, se il tuo pot ha un valore NON troppo basso (direi che deve essere >47K, altrimenti carichi troppo la sorgente e falsi tutto), puoi fare cosi`: se il pot. e` connesso nel modo classico (un estremo all'ingresso, l'altro a massa e l'uscita sullo slider), attacca una coppia di RCA all'ingresso del "lightspeed-clone" e connetti l'uscita a valle del pot. originale del pre (i.e. allo slider del pot). Poi, quando vuoi ascoltare il pot originale connetti la sorgente all'ingresso originale del pre e togli l' alimentazione al lightspeed, mentre quando vuoi sentire questo stacchi la sorgente dal pre, metti il pot originale al max (per ridurre al minimo il carico aggiuntivo dovuto alla presenza di questo) e connetti la sorgente all'ingresso del lightspeed.

BTW, IMHO/IME i confronti rapidi A/B non sono mai la cosa migliore anzi, spesso non portano proprio a nulla. IMHO, in generale la cosa migliore per capirci qualcosa e` mettere il nuovo "pezzo" nell'impianto, ascoltarlo con calma e con comodo per almeno una settimana senza toccare assolutamente nulla e poi tornare indietro alla configurazione precedente... a quel punto IME ti accorgi subito se la configurazione nuova era migliore o peggiore di quella vecchia.


Ciao,
Paolo.

Inviato: 30 mag 2007, 23:07
da UnixMan
interessante la soluzione contact-less, ma....

.... io direi di rimanere sul semplice se no si complica troppo il progetto e, come succede spesso, non si decolla mai.
d'altronde nulla vieta con l'architettura adottata di costruire in futuro una board di switch con queste prerogative.

rimaniamo sul semplice, a complicare le cose si fa sempre in tempo.

Originariamente inviato da marziom - 30/05/2007 :  17:11:15
ehm... in realta`, alla fine rischia di essere piu` semplice la soluzione "dedicata" contactless piuttosto che tentare di realizzarne una super-versatile con cui si vorrebbe poter fare tutto e poi si finisce per non farne proprio nulla... IMHO...

se si va` sulla soluzione "unica" dedicata ci sono meno schede, meno opzioni, un solo firmware da sviluppare... insomma, alla fine e` tutto molto piu` semplice.

Anche xche` software ed interfaccia di controllo sono sostanzialmente gli stessi tanto che ci sia un solo attenuatore "lightspeed" quanto se ce ne sono "n" (con n = numero di ingressi), ed anche l'eventuale aggiunta del controllo sul terzo LED/LDR di ogni "T" non complica particolarmente le cose dal punto di vista concettuale. Gli algoritmi da implementare sono sostanzialmente gli stessi ed anche l'hardware e` assolutamente identico, solo replicato per "n" volte.


Ciao,
Paolo.

Inviato: 31 mag 2007, 00:51
da andypairo
si`, ma controlli comunque sempre e solo un ingresso alla volta... mica devi fare un mixer! :D
Vabbè ma mi fa un poco specie l'idea, tutto qui
ahem... e come fai? devi isolare tanto gli ingressi non utilizzati quanto l'uscita dal rele`, se no` metti tutto in corto! :?:
Mi spiego meglio: la "T" rimane, solo che al posto del ramo shunt ci metti il contatto del relè.

Hai quindi Rs1 - | - Rs2 e poi una Rsh comune verso massa
S

A ingresso in mute i due LDR in serie sono off e il relè chiude il contatto.
A ingresso ON il relè apre, le due R (visto che rimangono in serie tra loro) fanno il partitore con la R shunt ( comune a tutti i canali).

Con le R in serie hai anche meno tensione (=distorsione) ai capi delle celle e ottieni una caratteristica mediata, con necessità di selezione meno spinta.

beh, prima di tutto, c'e` la soluzione raccomandata dall'autore del "lightspeed", cioe` quella di usarlo semplicemente e direttamente come "pre passivo" (i.e. AL POSTO del tuo pre). E questa prova secondo me la devi fare assolutamente come prima cosa.
Purtroppo il mio sistema attuale è un ibrido con front end a tubi (= il pre) e finale a guadagno unitario, per cui non posso bypassare il pre.

Potrei però (ma devo rifare tutti i collegamenti) rimettere il pre Thule Audio e il my-ref e fare la comparazione con loro....ma così confronterei il lightspeed col pre intero.

Poi, se vuoi anche provarlo come attenuatore all'ingresso del tuo pre e vuoi fare confronti rapidi A/B con il tuo pot senza introdurre switch o altro, se il tuo pot ha un valore NON troppo basso (direi che deve essere >47K, altrimenti carichi troppo la sorgente e falsi tutto), puoi fare cosi`: se il pot. e` connesso nel modo classico (un estremo all'ingresso, l'altro a massa e l'uscita sullo slider), attacca una coppia di RCA all'ingresso del "lightspeed-clone" e connetti l'uscita a valle del pot. originale del pre (i.e. allo slider del pot). Poi, quando vuoi ascoltare il pot originale connetti la sorgente all'ingresso originale del pre e togli l' alimentazione al lightspeed, mentre quando vuoi sentire questo stacchi la sorgente dal pre, metti il pot originale al max (per ridurre al minimo il carico aggiuntivo dovuto alla presenza di questo) e connetti la sorgente all'ingresso del lightspeed.

BTW, IMHO/IME i confronti rapidi A/B non sono mai la cosa migliore anzi, spesso non portano proprio a nulla. IMHO, in generale la cosa migliore per capirci qualcosa e` mettere il nuovo "pezzo" nell'impianto, ascoltarlo con calma e con comodo per almeno una settimana senza toccare assolutamente nulla e poi tornare indietro alla configurazione precedente... a quel punto IME ti accorgi subito se la configurazione nuova era migliore o peggiore di quella vecchia.

Ciao,
Paolo.


Originally posted by UnixMan - 30/05/2007 :  17:56:08
Credo che alla fine farò così.

Mannaggia devo mettere il quarto trafo nel case :?

Ciao

Andrea

EDIT: se però metto il lightspeed dopo il pot mi ritrovo comunque il contatto strisciante in serie e questo è nobbuono :D
Mi sa che farò la modifica come si deve e via.

Inviato: 31 mag 2007, 02:33
da UnixMan
Mi spiego meglio: la "T" rimane, solo che al posto del ramo shunt ci metti il contatto del relè.

Hai quindi Rs1 - | - Rs2 e poi una Rsh comune verso massa
S

A ingresso in mute i due LDR in serie sono off e il relè chiude il contatto.
A ingresso ON il relè apre, le due R (visto che rimangono in serie tra loro) fanno il partitore con la R shunt ( comune a tutti i canali).
mmh, giusto, buona idea! Cosi` si risparmiano anche un po` di LDR con i relativi circuiti di pilotaggio... :)

...e, al limite, se proprio si vuole strafare ed avere l'impedenza in uscita costante basta mettere un'altro LDR in serie all'uscita. Ma tutto sommato non so` se possa essere poi cosi` utile... o piuttosto addirittura controproducente (volendo, e` un'altra opzione da sperimentare prima di passare alla progettazione definitiva).
Con le R in serie hai anche meno tensione (=distorsione) ai capi delle celle e ottieni una caratteristica mediata, con necessità di selezione meno spinta.
vero, ma allora per essere simmetrici bisognerebbe mettere anche due elementi in serie nel ramo shunt... che pero` porterebbero al raddoppio della Ron... ma chi se ne frega, con la Pic possiamo sfruttare tutta la dinamica e portare la resistenza degli elementi serie in alto quanto vogliamo. Si`, direi no problem.

Per quanto riguarda la selezione... non serve comunque, si fa` la calibrazione via software.
Purtroppo il mio sistema attuale è un ibrido con front end a tubi (= il pre) e finale a guadagno unitario, per cui non posso bypassare il pre.
ah... no, decisamente non puoi farlo. Ma in tal caso dopo tutto piu` che di un pre si tratta di un ampli integrato due-telai. :)
Potrei però (ma devo rifare tutti i collegamenti) rimettere il pre Thule Audio e il my-ref e fare la comparazione con loro....ma così confronterei il lightspeed col pre intero.
fare un confronto anche con vari pre/ampli diversi sarebbe senzaltro utile... ma, per prima cosa, forse e` meglio se tieni come "riferimeto" il tuo impianto migliore nella configurazione che usi attualmente.
Credo che alla fine farò così.

Mannaggia devo mettere il quarto trafo nel case :?

Originariamente inviato da andypairo - 30/05/2007 :  19:51:54
xche`? per le prove io utilizzerei banalmente una batteria da 4.5V ... 6V (se non hai altro, anche piu`... basta aumentare la res. in serie in modo da ottenere la giusta corrente nei LED!), due pot., due R per il "fine corsa" a fissare la max corrente nei LED (stai basso che sono delicati!). Al piu` poi potresti aggiungere anche un paio di condensatorini (un elettrolitico intorno a 100u .. 220u + un ceramico da 10 .. 100n, quello che hai a portata di mano) in parallelo ai LED (direttamente sui pin).

Niente selezione degli LDR, due potenziometri separati per Dx e Sx oppure in configurazione vol+bal come qui`:

http://www.diyaudio.com/forums/showthread.php?postid=1174438#post1174438 (post #571 .. 573)

http://www.diyaudio.com/forums/attachment.php?s=&postid=1174453&stamp=1175560275

Salvo qualche aggiustamento dei valori a seconda di quello che hai in casa, della batteria che usi e dell'impedenza che vuoi ottenere...

- il pot del balance che li` e` indicato come 1K (1000R, anche se si legge male...) io forse lo metterei anche un po` piu` grande (non troppo, pero`).

- Il pot del volume dipende dall'alimentazione, e -a parita` di tensione di alimentazione- fissa anche l'impedenza di ingresso/uscita.

Con il valore raccomandato da "georgehifi" (100K) e l'alimentazione a 5V come usa lui ti ritrovi con impedenze piuttosto bassine... che vanno bene per l'uso come pre passivo "generico", magari davanti ad ampli a stato solido (e.g. per provarlo con il my_ref), ma ovviamente a patto che la tua sorgente abbia una uscita "robusta" (impedenza molto bassa e relativamente cospicua capacita` di corrente).

E` decisamente fuori luogo se invece hai una sorgente con uscita a tubi. In tal caso devi ridurre la corrente "media" nei LED per aumentare l'impedenza. Prova con un pot da 220K o anche 500K (Meglio se log, ma anche lin e` OK) per arrivare ad una impedenza di ingresso sui 50K-100K, sicuramento MOLTO piu` gradita ad una uscita a tubi. Vedi quello che hai a portata di mano... ovviamente, immagino non ci sia bisogno che ti ricordi che oltre che con il valore dei pot puoi anche giocare con il valore della tensione di alimentazione, se piu` bassa riduci la corrente nei LED->aumenti l'imp. sul segnale e viceversa... :grin:

E, altrettanto ovviamente, se sali con l'imp. dell'attenuatore poi devi tenere i collegamenti verso l'ingresso del tuo "pre-integrato" piu` corti che puoi, non e` il caso di metterci di mezzo degli interconnect...

Se hai tutto nel cassetto (se hai gia` gli LDR direi che il resto dovresti trovarlo!) dovresti metterci non piu` di 10 minuti ad assemblare il tutto... facci sapere ASAP!!! 8)


Ciao,
Paolo.

Inviato: 31 mag 2007, 02:38
da UnixMan
EDIT: se però metto il lightspeed dopo il pot mi ritrovo comunque il contatto strisciante in serie e questo è nobbuono :D
Mi sa che farò la modifica come si deve e via.


Originariamente inviato da andypairo - 30/05/2007 :  19:51:54
Bah, con il pot al max quello e` in corto con l'inizio della pista... non dovrebbe dare fastidio.

Edit: oops, ho detto una fesseria... avevo in mente la configurazione che uso io di solito, con il potenziometro messo in "shunt" a valle di un resistore fisso (nel qual caso col vol. al max il cursore e` unito insieme all'inizio della pista conduttiva del pot e quindi il contatto dello stesso risulta -dovrebbe essere- ininfluente). Viceversa, con il pot. messo in configurazione "classica", hai sempre la resistenza del pot in serie al contatto stesso e quindi effettivamente ti resta sempre tra i piedi.

No, decisamente devi staccarlo del tutto...

Ciao,
Paolo.

Inviato: 31 mag 2007, 13:51
da andypairo
Dunque ieri sera ho assemblato il "coso", con batteria da 12V, 7805 + Oscon 220uF//100nF ceramico per canale.

Avento terminato l'assemblaggio a tarda notte non ho potuto ascoltarlo ma conto di farlo oggi.

Con i NLS32SR3 che ho l'impedenza con un pot da 100k risulta di circa 70k, ok per il mio DAC che ha l'uscita a tubi.
Parallelando le due sezioni del pot ottengo circa 17k, un po' bassina ma comunque gestibile.
Devo verificare bene ma sembra che con più corrente le impedenze dei due canali siano più vicine, forse perchè al di sotto delle correnti minime citate nei datasheet le curve sono meno controllate.

Stay tuned!

Andrea

Inviato: 31 mag 2007, 16:19
da UnixMan
Dunque ieri sera ho assemblato il "coso", con batteria da 12V, 7805 + Oscon 220uF//100nF ceramico per canale.

Avento terminato l'assemblaggio a tarda notte non ho potuto ascoltarlo ma conto di farlo oggi.
bene! attendiamo con ansia le tue prime impressioni... :)
Con i NLS32SR3 che ho l'impedenza con un pot da 100k risulta di circa 70k, ok per il mio DAC che ha l'uscita a tubi.
perfetto, direi...
Parallelando le due sezioni del pot ottengo circa 17k, un po' bassina ma comunque gestibile.
mmh, com'e` fatta l'uscita del DAC? 17k sono davvero pochini per uno stadio a tubi! A meno che tu non abbia uno stadio di uscita veramente "robusto" (6C45, 6N30, 5687 o roba del genere, e con un bel po` di corrente) temo che le prestazioni (sia strumentali che "sonore") ne risentirebbero pesantemente. :(
Devo verificare bene ma sembra che con più corrente le impedenze dei due canali siano più vicine, forse perchè al di sotto delle correnti minime citate nei datasheet le curve sono meno controllate.
infatti, e` per questo che per la sua versione originale e minimalista "georgehifi" usa e raccomanda gli NLS32SR2, che hanno una "Roff" max sensibilmente piu` bassa... ed e` per questo che invece io insisto sul pilotaggio di ciascun LED tramite generatore di corrente costante controllato da uP sulla base di curve di calibrazione prestabilite (automaticamente determinate con una routine di autocalibrazione al momento dell'accensione...).

BTW, per i test cerca di raggiungere un compromesso (e.g. con le sez. in parallelo + una R fissa in serie al regolatore) in modo da ottenere una resistenza intorno ai 30K, non ancora ottimale ma un po` piu` gestibile dai tubi...



Ciao,
Paolo.

Inviato: 31 mag 2007, 16:46
da andypairo
Lo stadio di uscita del DAC è una E88CC caricata da un CCS (di Gary Pimm, il self bias).

Questo CCS avrebbe anche una uscita a bassa impedenza ma non è cablata (troppe variabili!!)

In ogni caso lo uso con l'impedenza massima, il pot precedente era un Alps motorizzato da 50k, per cui 70k è più prossimo come valore.
Tra l'altro, come ho già detto in qualche post (non ricordo se in questo stesso thread) alle misure ho comunque una deviazione massima del tracking di circa il 10% (circa 1dB) a circa 3/4 di volume (che non ragiungerò mai se voglio evitare il divorzio :x ) per cui.... :D

PS L'alps black se non erro dichiara +/- 0.5dB

Ciao

Andrea

Inviato: 31 mag 2007, 17:14
da UnixMan
Lo stadio di uscita del DAC è una E88CC caricata da un CCS (di Gary Pimm, il self bias).
quanta corrente?
In ogni caso lo uso con l'impedenza massima, il pot precedente era un Alps motorizzato da 50k, per cui 70k è più prossimo come valore.
ok...
Tra l'altro, come ho già detto in qualche post (non ricordo se in questo stesso thread) alle misure ho comunque una deviazione massima del tracking di circa il 10% (circa 1dB) a circa 3/4 di volume (che non ragiungerò mai se voglio evitare il divorzio :x ) per cui.... :D
BTW: hai messo la regolazione del balance? il 10% e` un po` tantino... lo sbilanciamento tra i canali si sente, e non solo perche` "vedi" l'immagine spostata...


Ciao,
Paolo.

Inviato: 31 mag 2007, 17:37
da andypairo
15mA.

Il 10% è il massimo scostamento, ai volumi "di lavoro" stiamo a molto meno....

Ciao

Andrea

Inviato: 31 mag 2007, 17:43
da marziom
ritornando un'po in topic

volete fare questo:?
Immagine

è un bozza veloce, mancherebbe la possibilità di autocalibrazio e le masse separate tra logica di comando e percorso del segnale, però lo schema permette di vedere il tutto secondo la nostra architettura, cioè una regolazione del volume con due correnti complementari e la regolazione dell'ingresso con segnali digitali per ogni linea.

se vi piace direi che possiamo approvare l'architettura e passare alla progettazione della mainboard.... magari ci separiamo i compinti e ognuno fa una parte.

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 31 mag 2007, 20:19
da UnixMan
è un bozza veloce, mancherebbe la possibilità di autocalibrazio e le masse separate tra logica di comando e percorso del segnale, però lo schema permette di vedere il tutto secondo la nostra architettura, cioè una regolazione del volume con due correnti complementari e la regolazione dell'ingresso con segnali digitali per ogni linea.


Originariamente inviato da marziom - 31/05/2007 :  12:43:47
si` e no... :) La parte "audio" (a parte come dici tu il discorso masse da rivedere) e` sostanzialmente ok, ma il circuito di controllo dei LED decisamente no: non si possono pilotare i LED semplicemente tutti insieme, quando un canale e` inattivo i relativi LED "serie" devono essere spenti!

Tutto sommato, a meno che non vogliamo lasciare la possibilita` di utilizzare la scheda anche come mixer (!), si possono usare rele` a due scambi x il muting ed utilizzare il secondo contatto per scollegare i LED dei canali inattivi dalla linea di controllo e collegarli invece a massa, cosi` da spegnerli completamente. Semplice ed efficace (il circuito di controllo del volume resta identico a quello necessario per un solo attenuatore!).

edit: urgh, ho detto un'altra fesseria! :evil: :( Non avevo notato che avevi gia` fatto la stessa cosa utilizzando un solo scambio. Bene cosi`! :)

Tornando alla parte audio, l'unica cosa su cui rifletterei e` la possibilita` di "commutare" anche le masse degli ingressi cosi` da evitare inutili gound loop tra gli apparecchi. Per farlo serve un'altra coppia di LED/LDR per canale a formare una doppia "T" ovvero una "H" (messa per lungo :) ).

Bisogna ragionare un po` sul rapporto costi/benefici della cosa (dove per costi non mi riferisco tanto al discorso economico, che non sarebbe poi cosi` pesante, quanto agli eventuali svantaggi sul piano qualita` audio). Ragazzi, dite la vostra!


Ciao,
Paolo.

Inviato: 31 mag 2007, 20:27
da andypairo
Paolo mi sa che non hai visto la seconda funzione del relè: se da un lato attacca a massa il segnale dall'altra stacca il ritorno dei led, spegnendoli.

Usando un relè a 4 contatti si possono separare le masse usando un relè solo per ingresso stereo.

Per il resto mi sembra OK, sicuramente una buona base.
Io però userei 4 ingressi.

Ciao

Andrea

Inviato: 31 mag 2007, 20:49
da marziom
è esattamente come dice Andrea!

per le masse (e forse anche per il sense dei LED/LDR) forse serviranno dei rele a più scambi...
lo schema è a 3 ingressi solo perchè è un bozza, poi lo facciamo a quanti ingressi vogliamo (e avevamo detto 5).

per le masse: io lascierei cosi (cioè masse in comune ma separate tra logica di comando e parte audio) che mi pare gia troppo complesso...

i LED andrebbero pilotati, come dide Paolo, con un CCS, cosi possiamo ignorare i due led in serie (oppure li dobbiamo mettere in parallelo se pilotiamo in tensione)

marzio


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 31 mag 2007, 21:02
da UnixMan
Paolo mi sa che non hai visto la seconda funzione del relè: se da un lato attacca a massa il segnale dall'altra stacca il ritorno dei led, spegnendoli.
si`, si`, infatti... ero andato un po` troppo veloce nel "leggere" lo schema e mi era sfuggito il "dettaglio" del doppio uso dello scambio dei rele`. :(
Usando un relè a 4 contatti si possono separare le masse usando un relè solo per ingresso stereo.
giusto... in realta` ne basterebbero anche solo tre, uno per il ritorno di massa dei LED di entrambi i canali + il muting per i due canali. La stessa cosa vale anche se decidiamo di isolare anche le masse: anche i LED lato massa si possono mettere in serie con quelli del lato "caldo", e quindi basta ancora un solo contatto per tutti i LED "serie" di ogni ingresso.

BTW: con la soluzione ad "H" salirebbe a 4 il numero di LDR in serie su cui si divide la caduta di tensione dell'attenuatore, il che se da una parte diminuisce la distorsione del singolo LDR (bene), dall'altro raddoppia (ulteriormente) il numero di dispositivi attraversati... (male). Certo che pero` l'eliminazione dei ground loop tra le sorgenti e` un bel vantaggio... BOH, non so` proprio decidermi se sia il caso o meno di farlo... :?:
Io però userei 4 ingressi.

Originariamente inviato da andypairo - 31/05/2007 :  15:27:49
si puo` fare... anche io pensavo a 3 o 4 ingressi. L'unica differenza e` nella spesa per 4 (o 8) LDR ed un rele` in piu`... vero e` che, tutto sommato, volendo sulla scheda si potrebbe prevedere il posto anche per 5 ingressi, salvo poi "popolare" solo quelli che servono realmente. :?:


Ciao,
Paolo.

Inviato: 31 mag 2007, 21:23
da UnixMan
per le masse (e forse anche per il sense dei LED/LDR) forse serviranno dei rele a più scambi...
ora che ci penso, quello del sense rischia di diventare un bel problemino con la soluzione completamente contactless. :?

Ora come ora a me viene in mente una sola soluzione possibile, ma non mi piace molto... x il momento non ve la dico per lasciarvi la mente libera, vediamo se magari vi viene in mente qualche soluzione piu` furba della mia! :|
i LED andrebbero pilotati, come dide Paolo, con un CCS, cosi possiamo ignorare i due led in serie
ahem.. la luce prodotta dai LED (e quindi la R del LDR) e` sostanzialmente proporzionale alla corrente che ci scorre. Regolarla "giocando" sulle piccole (e fortemente NON lineari) variazioni di tensione ai capi del LED sarebbe una follia... senza contare che, poiche` le caratteristiche V/I dei LED sono tutte diverse tra loro, questi non si potrebbero mettere in parallelo e neanche in serie, ma si dovrebbero controllare singolarmente!

N.B.: la soluzione del "lightspeed" originale, anche se non usa un vero e proprio CCS, comanda comunque i LED in corrente perche` la resistenza interna del "generatore" (alimentazione+potenziometro) e` >> di quella dei LED.

Un generatore di tensione in serie con una resistenza >> di quella del carico e` a tutti gli effetti un generatore di corrente... :|


Ciao,
Paolo.

Inviato: 31 mag 2007, 22:17
da andypairo
quote:per le masse (e forse anche per il sense dei LED/LDR) forse serviranno dei rele a più scambi...


ora che ci penso, quello del sense rischia di diventare un bel problemino con la soluzione completamente contactless.
Volendo ci sono generatori di corrente col sense flottante (Howland current pump) per cui è possibile usare un sense unico per tutte le serie di led del ramo "serie" senza switchare nulla oltre ai ritorni.

Ovviamente facendo una "minima" selezione (cioè tra L e R di ogni ingresso). I due LDR in serie è sufficiente che siano "accoppiati" come serie, più facile visto che si "mediano" le differenze.

Immagine

Ecco una possibile implementazione : 0V = 0 mA 5V = 25mA
Scegliendo opamp rail to rail si potrebbe forse fare a meno dell'alimentazione duale. Le cadute sui diodi sono errate ma è giusto un'esempio.

EDIT con 25mA forse ci sono opamp che ce la fanno senza bjt

Ciao

Andrea

Inviato: 31 mag 2007, 22:50
da marziom
io direi giusto qualcosina in più, almeno vedendo le caratteristiche dei LED/LDR....
30-50mA max per opamp.

due opamp per canale=4 opamp
+ altri due configurati cosi:
Immagine

totale 6 opamp

qualche sigla?

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 31 mag 2007, 22:56
da UnixMan
ora che ci penso, quello del sense rischia di diventare un bel problemino con la soluzione completamente contactless.
Volendo ci sono generatori di corrente col sense flottante (Howland current pump) per cui è possibile usare un sense unico per tutte le serie di led del ramo "serie" senza switchare nulla oltre ai ritorni.
ahem... non era di questo che parlavo...

il problema e` come fare l'autocalibrazione!

finche` pensavamo di usare i rele` x la commutazione ingressi era semplice... al momento dell'accensione, questa era grosso modo la procedura che doveva essere seguita dalla Pic (ovviamente x entrambi i canali):
  • aprire (scollegare) tutti gli ingressi
  • con un ulteriore rele` aprire anche l'uscita e collegare una tensione di riferimento all'ingresso dell'attenuatore
  • leggere (con un ADC) quella all'uscita
  • cambiare la corrente nei LED e tornare al punto precedente fintanto che non ha riempito la tabella di calibrazione...
  • azzerare la tens. di riferimento, scollegarla e ricollegare l'uscita
  • ricollegare l'ingresso selezionato (default o memoria non volatile...)
il problema e` che ora invece non abbiamo piu` modo di collegare/scollegare ingresso e uscita ed agire indipendentemente sull'attenuatore isolato, per cui bisogna inventarci un qualche altro sistema per fare l'autocalibrazione! Il problema e` che al momento non mi viene in mente nulla di sensato per farlo... :x

Qualche idea? :?:


Ciao,
Paolo.

Inviato: 31 mag 2007, 22:59
da andypairo
Ma dove è finito il messaggio di Paolo sulla calibrazione?

In ogni caso occorrerebbe un relè a N contatti NA tanti quanti sono i canali da calibrare che colleghi la sorgente di segnale con tutti gli ingressi (che restano collegati assieme), più le due masse (segnale audio e PIC) e l'uscita attenuata all'ingresso analogico (scollegata durante il funzionamento normale of course).
Poi switchando i vari canali come solito si fa la calibrazione.

Ma forse è più semplice fare un po' di selezione e via.

Ciao

Andrea

Inviato: 31 mag 2007, 23:03
da marziom
a me al momento è venuta solo questa:

sul ramo segnato "Output" mettete una ramo verso massa composto dalla serie di contatto RELE calibrazione, generatore di tensione di riferimento, resistenza di sense.
Dopo di che pilotando opportunatamente i LED e i rele.....

se non avete paura di collegare una bella DC in ingresso al pre... :?

marzio


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 31 mag 2007, 23:19
da UnixMan
Ma dove è finito il messaggio di Paolo sulla calibrazione?
acc, non vi sfugge niente, siete troppo veloci... :D mi ero accorto di un paio di errori x cui l'ho cancellato prima di ripostarlo in versione corretta.
In ogni caso occorrerebbe un relè a N contatti NA tanti quanti sono i canali da calibrare che colleghi la sorgente di segnale con gli ingressi, più le due masse e l'uscita attenuata all'ingresso analogico.
Poi switchando i vari canali come solito si fa la calibrazione.
il problema e` che cosi` NON puoi farlo automaticamente all'accensione con il pre collegato all'impianto...

ma... tutto sommato, ora che ci penso non credo ci sia poi tutta questa necessita` di rifare la calibrazione ad OGNI accensione! Direi che basta farla la prima volta che si mette in funzione l'ordigno ed eventualmente ripeterla periodicamente (ogni n-mila ore di funzionamento...) e/o semplicemtne qualora ci si accorga che non e` piu` a posto. Ed in tal caso dopo tutto non sara` un gran problema staccare i cavi una tantum per farla. Basta prevedere un modo semplice ma sicuro (qualche combinazione di tasti che non possa essere attivata accidentalmente, magari da fare all'accensione...) per far partire la procedura.

Nota: e` bene prevedere una linea di controllo con la quale ad es. comandare l'accensione della sez. di (pre)amplificazione nel caso si pensi di integrare il tutto in un pre attivo od in un ampli integrato con ingressi accoppiati in DC...

P.S: visto che ci sono, pro-memoria: non dimentichiamoci anche di una linea per l'accensione/spegnimento remoto da telecomando ed eventualmente una per lo stand-by, qualora l'oggetto in cui viene inserito lo preveda...


Ciao,
Paolo.

Inviato: 31 mag 2007, 23:58
da UnixMan
a me al momento è venuta solo questa:

sul ramo segnato "Output" mettete una ramo verso massa composto dalla serie di contatto RELE calibrazione, generatore di tensione di riferimento, resistenza di sense.
Dopo di che pilotando opportunatamente i LED e i rele.....

se non avete paura di collegare una bella DC in ingresso al pre... :?

Originariamente inviato da marziom - 31/05/2007 :  18:03:05
Bingo!? :D forse ci siamo... e` un po` piu` complicato che nel caso "isolato" con i rele`, ma si puo` fare. :)

E` piu` complicato perche` anziche` calibrare direttamente i valori da dare al DAC che comanda i LED in corrispondenza ad ogni valore di attenuazione desiderato qui` si devono "misurare" separatamente le res. serie e quella shunt e poi calcolarsi la tabella di corrispondenza per ogni ingresso...

Servono ulteriori rele` per cortocircuitare gli ingressi (direttamente verso l'RCA, a MONTE del primo LDR).

Possibile procedura:
  • si disattivano tutti i canali
  • si attiva la linea x disattivare l'uscita (*)
  • si connette il "sistema di misura" sull'uscita (punto comune LDR serie+shunt)
  • variando la corrente nel LED/LDR "shunt", si popola la corrispondente tabella di taratura
  • si apre (spegne) il LDR "shunt"
  • si mettono a massa gli ingressi
  • si attiva un canale e, variando la corrente nei LED/LDR "serie" si popola la corrispondente tabella di taratura
  • si ripete il punto precedente per tutti i canali
  • si disconnette il sistema di misura e si toglie il CC dagli ingressi
  • si calcolano punto x punto le tabelle di attenuazione per ogni canale
  • fatto, si torna al funzionamento normale...
(*) sta` a chi integra il sistema in un oggetto finito utilizzare tale linea x assicurarsi che la DC di calibrazione non vada a far danni... nel caso di uso come pre passivo, sta` invece all'utente scablare ingressi e uscite prima di avviare la calibrazione.

Per quanto riguarda il "sistema di misura", suggerirei di usare banalmente un CCS (non controllato) ed un ADC con cui leggere la tensione che cade sugli LDR.

edit:
P.S.: quanta memoria hanno le Pic che potremmo usare? ci stiamo dentro?

Ciao,
Paolo.

Inviato: 01 giu 2007, 00:43
da Giaime
E adesso siamo a pagina 4: quando arriveremo a pagina 8, ci staremo mettendo d'accordo su che tipo di bus dati usare tra microprocessore e memoria :D

Ciao!
Giaime Ugliano
http://giaime.altervista.org

Inviato: 01 giu 2007, 01:23
da riccardo
E adesso siamo a pagina 4: quando arriveremo a pagina 8, ci staremo mettendo d'accordo su che tipo di bus dati usare tra microprocessore e memoria :D

Ciao!
Giaime Ugliano
http://giaime.altervista.org



Originariamente inviato da Giaime - 31/05/2007 : 19:43:34
NON FARE LO SPIRITOSO CHE LO SPAZIO C'E!!!!

ANZI, Per chi ancora non avesse compreso che esistiamo grazie AI CONTRIBUTI VOLONTARI altrimenti detti piccole donazioni "manuali" rivolgo un invito a tutti perchè CONTRIBUISCANO, permettendo così esistenza imperitura e certa alla pagina otto invocata da Giaime.
!!!!!!
R

Saluti

R.R.
--------------------------------
Atomo e vuoto sono in noi
-------------------------------

Inviato: 01 giu 2007, 14:19
da andypairo
Prime impressioni di ascolto dopo la sostituzione dell'Alps blu motorizzato (50k) con il Lightspeed (circa 70k):

-Come sospettato il volume al minimo non è a zero (ieri notte mia moglie ha cercato di abbassarlo ancora ma non si poteva :D )

-Mi scuserete se non parlerò in termini "audiofili" ; ) ma l'impressione generale è di una migliore dinamica, specie ai bassi livelli (dove tra l'altro dovrebbe andare peggio:o). Un po' come se si togliesse un velo.

Per il resto non ho notato difetti particolari, forse la curva di attenuazione è un po' troppo ripida all'inizio ma l'impressione generale è più che positiva.

Visto che ho una bambina piccola in casa ho dovuto rendere meno "volante" le cose e per ora ho ricavato l'alimentazione per i led raddrizzando separatamente il secondario che alimenta il ricevitore IR con diodi "soft", poi C -R-C (R anche sul ramo di massa) e 7805.
Come detto in // ai led ho un OSCON 220uF e un ceramico da 100nF SMD

Ciao

Andrea

Inviato: 01 giu 2007, 14:40
da plovati
se puoi passare, ti presto un alps nero, in modo da avere un confronto con un riferimento riconosciuto.
Hai già fatto l'attenuatore stereo o giudicavi in mono?


_________
Piergiorgio

Inviato: 01 giu 2007, 14:58
da andypairo
Perchè l'Alps blu non va bene?

Ho in casa un paio di black ma sono di basso valore (10 e 20k)

Comunque ero in stereo.

Ciao

Andrea

Inviato: 01 giu 2007, 16:08
da riccardo
scusate se mi intrometto, ma forse converrebbe fare un confronto con uno "scattenuo type". Non otterrete granchè seguitando a usare gli alps come riferimento, imho.....

Perchè l'Alps blu non va bene?

Ho in casa un paio di black ma sono di basso valore (10 e 20k)

Comunque ero in stereo.

Ciao

Andrea


Originariamente inviato da andypairo - 01/06/2007 : 09:58:00
Saluti

R.R.
--------------------------------
Atomo e vuoto sono in noi
-------------------------------

Inviato: 01 giu 2007, 16:43
da marziom
plovati dovrebbe averne qualcuno......
direi che è da fare anche un confronto del genere.

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 01 giu 2007, 17:26
da marziom
REVISIONE 2 con sezione di calibrazione:
Immagine

Per non appesantire/complicare troppo lo schema generale (ci vorrebbero troppi RELE o LED LDR) la calibrazione la farei solo offline, cortocircuitando dall'esterno un RCA alla volta e quindi anche facendo misure con tempi più "lunghi" (penso a 10sec a LED/LDR) anche perchè se ci fate caso sui datasheet i valori di resistenza si assestano dopo centinaia di ms.

La procedura dovrebbe essere allora qualcosa del genere:
1) scollegare l'apparecchio
2) attivare con una combinazione di tasti la modalità calibrazione (chiusura di CAL)
3) cortocircuitare un ingresso alla volta
4) avviare la sequenza
5) aspettare una qualche segnalazione del micro
6) loop su 3 8)

DETTO QUESTO:

[bastian contrario on] :twisted:

a sensazione direi che stiamo complicando troppo le cose, e ho paura che poi, rimane tutto sulla carta perchè la complessita HW e SW diventa tale che nessuno l'implementa.

la conta delle persone interessate si ferma a 4.... pochini direi.....

io direi che forse è il caso di fare qualche passo indietro e tornare alla progettazione della scheda micro di base.

To.Le avevo letto che avevi gia fatto qualche cosa, vuoi intervenire??
mentre Andrea fa le sperimentazione con i dispositivi potremo buttare giu lo schema della parte micro.

insomma quello che volevo dire è ...attenzione ad uscire per la tangente

[bastian contrario off] :twisted:

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 01 giu 2007, 17:33
da andypairo
Non so se non l'hai messa per rendere più leggibile lo schema ma la separazione delle masse non è un optional :D ma la ritengo fondamentale.

In fase di calibrazione si possono collegare assieme ma normalmente no.

Ciao

Andrea

Inviato: 01 giu 2007, 17:51
da marziom
concordo, non l'ho fatto solo per chiarezza.

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 01 giu 2007, 19:47
da To.Le
Metto a disposizione il sorgente del Micro, ma badate bene io non lo faccio di mestiere: per me è solo un hobby quindi sarà quel che sarà.
Però magari può servire come spunto di riflessione...
E' scritto in C, nei post precedenti si parlava di assembler, ma secondo me ci si complica la vita inutilmente.



Immagine Attachment: Pic.zip ( 5838bytes )

Per la gestione del sensore IR non è stato necessario ricorrere all'interrupt.
Praticamente quando c'è qualcosa sull'ingresso IR vado a generare un clock (TMR0) che mi scansiona il messaggio ricevuto e memorizzo quest'ultimo in un http://www.audiofaidate.org/forum/viewtopic.php?t=. Poi con tutta calma vado a vedere che messaggio era e lo processo. Le routine di interrupt rimangono cosi snelle e veloci (praticamente non faccio altro che settare qualche bit e fare uno shift).
Con il clock utilizzato il rischio di perdere qualche messaggio IR è davvero basso (al massimo ripremo il tasto del tele) :D

Il mio sistema usa un pot motorizzato, rele' e display LCD (che vorrei sostituire al più presto con display a led per i motivi indicati un pò da tutti), ma non credo ci voglia poi molto per renderlo più flessibile e modulare.

Inviato: 01 giu 2007, 20:07
da marziom
Grazie per il tuo aiuto.
che PIC hai usato?

marzio


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 01 giu 2007, 20:11
da To.Le
Figurati è un piacere poter essere di aiuto. :)

Non ricordo bene, ma credo era un 16F876.
Stasera controllo.

Inviato: 01 giu 2007, 20:11
da UnixMan
REVISIONE 2 con sezione di calibrazione:
c'e` qualcosa che non mi torna nel circuito di calibrazione... se ci metti un CCS, sulla Rsense cade una tensione costante... ?!

devi mettere banalmente il solo CCS e prendere il sense in tensione tra l'uscita, giusto prima del rele`, e massa.
Per non appesantire/complicare troppo lo schema generale (ci vorrebbero troppi RELE o LED LDR) la calibrazione la farei solo offline, cortocircuitando dall'esterno un RCA alla volta
fattibile, anche se decisamente scomodo.

Cmq., perche` mai mi erano venuti in mente i rele`?!? ...mica dobbiamo fare la calibrazione da telecomando! 8-) Per cortocircuitare gli ingressi basta metterci un bello switch multivia, e magari a quel punto si puo` anche usare un contatto dello stesso per avviare la calibrazione (evitando di complicarci la vita nel software per "intercettare" una qualche combinazione di avvio...).

BTW, c'e` anche un'altra alternativa: sostituire il primo LDR "serie" (quello tra ingresso e rele` di muting) con un "Opto-FET" tipo il H11F1 operato in modalita` on/off. (e, a quel punto, si potrebbero anche rimpiazzare tali rele` con altri H11F1, piu` affidabili ed economici, oltre che + piccoli). Per il comando dell'Opto-FET di ingresso si puo` usare la stessa linea on/off che attiva il rele` di muting (o l'altro Opto-FET, ovviamente previa inversione).

In tal caso la calibrazione (dei soli LDR) si puo` fare facilmente chiudendo il circuito di misura sugli stessi rele` (o Opto-FET) del muting. E si puo` fare senza staccare nulla o al massimo staccando la sola uscita nel caso di uso come pre passivo stand-alone.

Forse e` la soluzione piu` pratica... anche perche` l'H11F1 ha una bassa Ron (<=200ohm @10mA circa) ed una altissima Roff (>=300Mohm!).

L'unico dubbio e`, ovviamente, se e quale/quanta influenza sul suono possano avere quegli aggeggi. In teoria dovrebbero essere "trasparenti" almeno tanto quanto un LDR, anche perche` credo che in definitiva siano oggetti abbastanza simili... in pratica, l'unico modo per scoprirlo e` accattarsene qualcuno e provare.
e quindi anche facendo misure con tempi più "lunghi" (penso a 10sec a LED/LDR) anche perchè se ci fate caso sui datasheet i valori di resistenza si assestano dopo centinaia di ms.
ovviamente i tempi della calibrazione devono essere relativamente lunghi in ogni caso, ma visto che e` una procedura da eseguire "una tantum" non direi sia un problema.
[bastian contrario on] :twisted:

a sensazione direi che stiamo complicando troppo le cose, e ho paura che poi, rimane tutto sulla carta perchè la complessita HW e SW diventa tale che nessuno l'implementa.
mah, non mi pare poi cosi` complicato... l'hardware tutto sommato e` relativamente semplice (*), e non sara` certo qualche routine in piu` nel software a fermarci... 8)

(*) una soluzione con attenuatore a passi a rele` probabilmente sarebbe ben piu` complicata di questa... mentre uno dei vantaggi di questa e` anche l'estrema semplicita` realizzativa una volta che si hanno in mano i PCB e le Pic programmate.
la conta delle persone interessate si ferma a 4.... pochini direi.....
purtroppo si`, ma conto che altri possano aggregarsi man mano che il progetto prende forma... e per altro non credo che con una soluzione diversa attireremmo piu` gente, tanto piu` che di soluzioni "tradizionali" ne esistono gia` molte, sia in kit che premontate.
insomma quello che volevo dire è ...attenzione ad uscire per la tangente
certamente. Tenere sempre i piedi per terra... ed un reality check ogni tanto e` sempre utile. :)


Ciao,
Paolo.

Inviato: 01 giu 2007, 20:22
da UnixMan
E' scritto in C, nei post precedenti si parlava di assembler, ma secondo me ci si complica la vita inutilmente.

Originariamente inviato da To.Le - 01/06/2007 :  14:47:24
concordo... grazie per la collaborazione! :)

Ciao,
Paolo.

Inviato: 01 giu 2007, 20:26
da marziom
c'e` qualcosa che non mi torna nel circuito di calibrazione... se ci metti un CCS, sulla Rsense cade una tensione costante... ?!
devi mettere banalmente il solo CCS e prendere il sense in tensione tra l'uscita, giusto prima del rele`, e massa.
il CCS era variabile, nel senso che era controllato dallo mcu.
però la tua soluzione è meglio a patto di mettere un rele a due scambi che collega output all'ingresso dello mcu sono in fase di calibrazione.
Cmq., perche` mai mi erano venuti in mente i rele`?!? ...mica dobbiamo fare la calibrazione da telecomando! 8-) Per cortocircuitare gli ingressi basta metterci un bello switch multivia, e magari a quel punto si puo` anche usare un contatto dello stesso per avviare la calibrazione (evitando di complicarci la vita nel software per "intercettare" una qualche combinazione di avvio...).

se gli ingressi sono 8, ci vuole uno switch da 8 vie.........comunque in linea di principo è una giusta osservazione.
BTW, c'e` anche un'altra alternativa: sostituire il primo LDR "serie" (quello tra ingresso e rele` di muting) con un "Opto-FET" tipo il H11F1 operato in modalita` on/off. (e, a quel punto, si potrebbero anche rimpiazzare tali rele` con altri H11F1, piu` affidabili ed economici, oltre che + piccoli). Per il comando dell'Opto-FET di ingresso si puo` usare la stessa linea on/off che attiva il rele` di muting (o l'altro Opto-FET).
In tal caso la calibrazione (dei soli LDR) si puo` fare facilmente chiudendo il circuito di misura sugli stessi rele` (o Opto-FET) del muting.
Forse e` la soluzione piu` pratica... anche perche` l'H11F1 ha una bassa Ron (<=200ohm @10mA circa) ed una altissima Roff (>=300Mohm!).
L'unico dubbio e`, ovviamente, se e quale/quanta influenza sul suono possano avere quegli aggeggi. In teoria dovrebbero essere "trasparenti" almeno tanto quanto un LDR, anche perche` credo che in definitiva siano oggetti abbastanza simili tra loro... in pratica, l'unico modo per scoprirlo e` accattarsene qualcuno e provare.
tutto interessante....ma tassativamente da provare prima.
qualcuno ha un paio di questi chip?? se qualcuno puo procurarsene uno dovrebbe farci il piacere di mandarlo ad Andrea che al momento è l'unico ad avere le soluzioni comparabili... (anche lo scattenuo, vero Plò??)
...hanno in mano i PCB e le Pic programmate.
appunto.... :(

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 01 giu 2007, 20:31
da plovati
io posso dare a andypairo un alps nero (test circa accoppiamento canali tra quanto di meglio oggi c'è nelle tecnologie diciamo convenzionali) e una coppia di scattenui.
Una prova convincente sarebbe anche fare un confronto con un partitore (due resistenze fisse) di qualità indiscutibile (Kiwame?).

_________
Piergiorgio

Inviato: 01 giu 2007, 20:46
da andypairo
Ahem.... e come li farei sti confronti?
Con la moglie che fa da limitatore e la bimba che gira per casa coi suoi aggeggi "musicali"?

Già ho sudato sette camicie per infilare nel case del mio pre il lightspeed...

Credo a questo punto convenga organizzarsi diversamente, magari con un pre con ingresso "diretto" (non attenuato), io posso rendere indipendente il lightspeed come "passivo", in modo da poterlo confrontare agevolmente con gli altri.

In questo modo ci sarebbe il parere anche di altri e non solo il mio (che magari ho le orecchie foderate ;-) )

Idee? Brianzoli di tutta italia unitevi!

Ciao

Andrea

Inviato: 01 giu 2007, 21:19
da UnixMan
il CCS era variabile, nel senso che era controllato dallo mcu.
e perche`? :?: la misura la fai facendo passare una (piccola) corrente costante, e` la corrente di pilotaggio del LED/LDR che vai a controllare con la mcu allo stesso modo in cui normalmente controlli il volume (salvo che in questo caso controlli alternativamente solo il/gli LDR serie o quello shunt tenendo l'altro completamente spento).
però la tua soluzione è meglio a patto di mettere un rele a due scambi che collega output all'ingresso dello mcu sono in fase di calibrazione.
non sarebbe certo un problema, ma servono davvero due scambi? se l'ADC lo colleghi "sotto" al rele` che collega il CCS all'uscita dell'attenuatore (cioe` direttamente al CCS), l'unico inconveniente e` che durante il funzionamento normale ti ritrovi sempre con ~ la tensione di alimentazione del CCS sull'imput dell'ADC... ma non credo che la cosa crei problemi. :?:
tutto interessante....ma tassativamente da provare prima.
ovviamente!
qualcuno ha un paio di questi chip?? se qualcuno puo procurarsene uno dovrebbe farci il piacere di mandarlo ad Andrea che al momento è l'unico ad avere le soluzioni comparabili... (anche lo scattenuo, vero Plò??)
io purtroppo no, fino a qualche giorno fa` non ne conoscevo neanche l'esistenza! :oops:

gli H11F1 ce li ha RS italia, codice 111-194 (3,88 euro al pezzo...)

oppure li ho visti qui`:

http://banzaieffects.com/H11F1-pr-17351.html (2.31 euro al pezzo + shipping)

ecc...

Da verificare anche se ci sono altri oggetti simili e magari con caratteristiche anche migliori...


Ciao,
Paolo.

Inviato: 01 giu 2007, 21:24
da marziom
io posso dare a andypairo un alps nero (test circa accoppiamento canali tra quanto di meglio oggi c'è nelle tecnologie diciamo convenzionali) e una coppia di scattenui.
Una prova convincente sarebbe anche fare un confronto con un partitore (due resistenze fisse) di qualità indiscutibile (Kiwame?).

_________
Piergiorgio


Originariamente inviato da plovati - 01/06/2007 :  15:31:48
ottimo Plò! concordo in pieno.....

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 01 giu 2007, 21:28
da marziom
non sarebbe certo un problema, ma servono davvero due scambi? se l'ADC lo colleghi "sotto" al rele` che collega il CCS all'uscita dell'attenuatore (cioe` direttamente al CCS), l'unico inconveniente e` che durante il funzionamento normale ti ritrovi sempre con ~ la tensione di alimentazione del CCS sull'imput dell'ADC... ma non credo che la cosa crei problemi. :?:
e solo per avere masse separate durante l'ascolto....meglio isolare la parte audio dalla logica di controllo.
gli H11F1 ce li ha RS italia, codice 111-194 (3,88 euro al pezzo...)
qualcuno è in zona Milano (dove c'è il negozio RS) e ci "alza" (termine romano :D ) 4€ per provare....

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 01 giu 2007, 21:41
da mrttg
:) Complimenti state facendo un gran bel lavoro di gruppo ; ) .

Forse per chiarezza conviene fare uno schema elettrico della parte controller... per capirsi meglio.

Buon Lavoro

Tiziano

Inviato: 03 giu 2007, 16:50
da UnixMan
non sarebbe certo un problema, ma servono davvero due scambi?
e` solo per avere masse separate durante l'ascolto....meglio isolare la parte audio dalla logica di controllo.
ah, ok... certamente, giusto. :)
qualcuno è in zona Milano (dove c'è il negozio RS) e ci "alza" (termine romano :D ) 4€ per provare....
allora, nessun volenteroso in zona MI? :( Io ne ordinero` almeno un paio insieme agli LDR, ma sto` per partire x le ferie x cui se ne riparla non prima di Luglio... non sarebbe male se nel frattempo qualcun altro potesse fare qualche altro test. :|


Ciao,
Paolo.

Inviato: 03 giu 2007, 20:22
da marziom
ahhh mi lasci da solo a remare per la causa?!?!; )

...beato te!

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 04 giu 2007, 00:01
da UnixMan
ahhh mi lasci da solo a remare per la causa?!?!; )
fino alla fine del mese si`... sorry. :oops:
...beato te!
mah, speriamo... al momento piove e fa` freddo, non e` esattamente un clima da mare... :(



Ciao,
Paolo.

Inviato: 05 giu 2007, 20:44
da marziom
ho trovato 5 minuti oggi è ho buttato giu la bozza (non è completa) della main board:
Immagine

qualche nota:
- ho usato un PIC16F873/6
- il clock è fatto con un quarzo....potrebbe essere anche RC...boo
- al momento mi è avanzata una sola linea.... proposte?
- 8 ingressi/8 pulsanti frontali di selezione
- sul display ci va la seriale....ognuno poi ci implementa quello che vuole
- le uscite per l'attenuatore sono pensate per essere usabili con: un pot motorizzato (busta bufferare VOLUP e VOLDOWN), un DS1666, un chip/DAC controllato SPI
- l'uscita on/off deve essere bufferata con un bjt in modo da poter collegare direttamente un rele
- D8 è un led che segnala il funzionamento (hints: potrebbe essere bicolore per segnalare on/stdby)
- on/off,vol+/-,mute sono pulsanti

mi pare di aver detto tutto........

hei!! serve manovalanza! sono rimasto solo ad interessarmi di questo progetto?

marzio

P.S.
mi sono accorto a che mi serve un altra uscita
è un autput digitale per selezionare L e R sulla scheda attenuatore (cosi abbiamo pure il balance)

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 05 giu 2007, 22:32
da Giaime
- il clock è fatto con un quarzo....potrebbe essere anche RC...boo

Originally posted by marziom - 05/06/2007 : 15:44:08
Non sto certo ad insegnarti io il tuo mestiere, ma con un RC non conosci con precisione il periodo di clock, e con questa indeterminatezza decodificare il segnale di un telecomando diventa molto difficile, a meno di usare finestrature temporali piuttosto lasche e foriere di errori...

PS la storia del PIC che entra in sleep quando non c'è interrupt: guardate che il clock rimane attivo, cfr il datasheet. Io nel mio prototipo ho visto che la sorgente di rumore più forte è il display LCD: basta schermarlo con una lastrina metallica e puff, via disturbi. Il PIC, alimentazioni a parte, è piuttosto innocente.

Ciao!
Giaime Ugliano
http://giaime.altervista.org

Inviato: 05 giu 2007, 23:49
da plovati
- il clock è fatto con un quarzo....potrebbe essere anche RC...boo

Originally posted by marziom - 05/06/2007 : 15:44:08
Non sto certo ad insegnarti io il tuo mestiere, ma con un RC non conosci con precisione il periodo di clock, e con questa indeterminatezza decodificare il segnale di un telecomando diventa molto difficile, a meno di usare finestrature temporali piuttosto lasche e foriere di errori...
Originally posted by Giaime - 05/06/2007 :  17:32:42
Tutti i controlli IR usano un clock RC. La stessa Philips che ha inventato l'RC5 lo fa sia peril trasmettitore che per il ricevitore. Una volta c'erano i risuonatori ceramici, ma con i micro attuali l'oscillatore interno va bene.
Infatti non si deve misurare la durata ma solo la presenza di una commutazione e il suo verso in una finestra temporale. Le tolleranze sono piuttosto ampie, facendo un algoritmomediamente furbo.
Prima di insegnare un mestiere agli altri, Giaime, sarebbe bene avercelo un mestiere. ; )

_________
Piergiorgio

Inviato: 07 giu 2007, 00:55
da Giaime
ma con i micro attuali l'oscillatore interno va bene.
Oh beh si, io ho dovuto decodificare un Sony SIRC, non l'RC5, e ho avuto difficoltà usando l'RC. Sicuramente un PIC-guru ce l'avrebbe fatta, io senza un clock preciso non ci son riuscito :oops:
Prima di insegnare un mestiere agli altri, Giaime, sarebbe bene avercelo un mestiere. ; )
Mi sembrava di aver capito che Marzio ci lavora con i microcontrollori: da qui il mio approccio "la faccia mia sotto i piedi vostri" 8) Se non volevi dire questo, spiegati meglio che non ho proprio capito... :oops: :oops:

Ciao!
Giaime Ugliano
http://giaime.altervista.org

Inviato: 07 giu 2007, 15:54
da plovati
Oh beh si, io ho dovuto decodificare un Sony SIRC, non l'RC5, e ho avuto difficoltà usando l'RC. Sicuramente un PIC-guru ce l'avrebbe fatta, io senza un clock preciso non ci son riuscito :oops:
Oh beh questo è ancora più strano perchè il Sony è codificato PWM in maniera ancora più lasca del Philips. Da 0,6ms a 1,2ms di distanza tra "0" e "1" con qualunque clock scalcagnato sopra il MHz non dovrebbe dare problemi. Puoi postare il codice?

_________
Piergiorgio

Inviato: 07 giu 2007, 16:49
da marziom
calma, calma.
si in effetti lavoro, tra le tante altre cose, con i micro, di solito con sistemi più complessi del PIC per cui non ho problemi di questo genere.
riguardo lo specifico, ho messo come possibilità anche quella di un RC perchè magari è più semplice che a casa qualcuno abbia una RC! :)
anche se al giorno d'oggi i pic (e relativi componenti) ce li ha pure il tabaccaio.
Non ho esperienza di decodifica di un segnale IR (RC5 ad esempio) ma l'esperienza mi dice che difficilmente mi aggancerei a dei tempi, più tosto guarderei le transizioni di stato.
Ho gurdato adesso su internet e in effetti, com'era facilmente prevedibile, la codifica è bifase (tipo quella SPDIF che sto studiando adesso ; ) ) quindi sicuramente non serve (anzi è controproducente) guardare il tempo.
Ho visto anche la codifica SONY e in effetti qui non si usa codifica bifase e quindi occorre guardare la base dei tempi però la differenza tra uno zero ed un uno è di 0.6ms......ce la fai anche con un polling! 8)

Dai Giaime, non essere troppo "ingegnere" :D (non ti arrabbiare, intendo nel senso di pignolo) l'RC è l'ultimo dei problemi adesso.

marzio

P.S.
la discussione principale langue.....

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 21 giu 2007, 22:54
da andypairo
Ciao,
come temevo la discussione sembra arenata una volta definito lo schema elettrico.
Ecco il motivo per cui spingevo per la versione a potenziometro con gli LDR accoppiati, per cui basta il PIC che già ho (RC5 + comando potenziometro) e una manciata di logica per la selezione canali.

Oppure mi sbaglio e qualcuno sta lavorando al firmware?

Ciao

Andrea

Inviato: 21 giu 2007, 23:28
da marziom
arenata..... ma non morta.
purtroppo io in questo momento sono impegnato a finire il DAC che ho quindi non riesco a dare la spronata finale; unixman è in ferie e gli altri....non so.
prima ancora del firmware ci sarebbe da finire il circuitino del mcu, io ho proposto qualche cosa ma si deve finire.

diciamo che mi sono messo in slow mode (standby?) in attesa delle prove ad orecchio....le facciamo??

marzio


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 22 giu 2007, 04:53
da andypairo
Per quel che può valere la mia implementazione (nemmeno tanto curata) del lightspeed, con le NSL32SR3, è ormai un mesetto (forse qualcosa meno) che ha sostituito l'Alps blu motorizzato.

L'euforia iniziale (magari aiutata da un po' di auto-suggestione) ha lasciato il posto ad una valutazione più "meditata"... la sostanza però non cambia.
La dinamica, soprattutto ai bassi livelli, è decisamente migliore; inoltre mi capita di sentire anche ad un ascolto distratto particolari mai notati nelle condizioni precedenti.
L'articolazione del basso è migliorata, insomma l'Alps ha perso il lavoro ;-)

Come detto non ho la possibilità di fare prove comparative al volo, vista la presenza della bimba, ma sono eventualmente disponibile a rendere indipendente (a malincuore) il lightspeed e a fare un confronto con altri attenuatori se qualcuno mette a disposizione l'impianto ;-)

Ciao

Andrea

Inviato: 22 giu 2007, 15:35
da marziom
piergiorgio e andrea, ce la fate prima che torna unixman dalle ferie :) a fare un confronto con lo Scattenuo?

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 22 giu 2007, 15:38
da plovati
Andrea, possiamo fare anche oggi, contattami in privato. Ti do scattenuo e alps nero e te li senti un po'.

_________
Piergiorgio

Inviato: 02 lug 2007, 00:40
da UnixMan
eccomi di ritorno... anche stavolta le ferie sono volate :| e domani mi ritrovero`
sommerso dal lavoro arretrato. :(

Come sono andati i confronti?

BTW: non so` se avete tenuto d'occhio il thread su diyaudio... visto che a quanto
sembra ci sono anche altri che stanno lavorando/pensando a progetti simili al nostro,
mi sono permesso di postare un riferimento a questo thread e ad invitare eventuali
interessati ad unirsi ai nostri sforzi.

Nel frattempo, George sembra aver apprezzato la ns. idea per la selezione ingressi
contactless. :)


Ciao,
Paolo.

Inviato: 02 lug 2007, 02:43
da marziom
ben tornato!
personalmente non ho vistp il 3d su diyaudio....e penso che ci faresti una cosa gradita se fai un sunto sunto dello stato dell'arte.

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 02 lug 2007, 03:35
da andypairo
Ciao,
stato confronti: io ho ribadito più volte di non poterne fare altri se non quello, già descritto in precedenza, della sostituzione dell'Alps blu col lightspeed (e non torno indietro ;-))

Se qualcuno della zona si rende disponibile posso estrarlo dal mio Aikido e ci organizziamo per fare dei confronti altrimenti bisognerà fidarsi del mio giudizio (positivo) e delle recensioni miracolistiche su diyaudio.

A voi la palla.

Andrea

Inviato: 02 lug 2007, 16:30
da andypairo
Dal thread su diyaudio è arrivata una bella manina sulle routine per la calibrazione

http://www.btinternet.com/~doug.h.rice/ ... ad_pot.htm

Una domanda: chi è che dovrebbe sviluppare il codice? Non l'ho ancora capito :?:

Ciao

Andrea

Edit: ad una occhiata meno di sfuggita sembra che si usi un metodo di misura basato su RC... forse non va bene per noi, dato che avremo a disposizione degli ingressi /uscite analogici.

Inviato: 02 lug 2007, 16:31
da marziom
io volevo provare anche lo scattenuo, se andrea non può....a me piacerebbe ma la distanza impedisce uno scambio a mano (e bisogna fare una spedizione.....se non c'è alternativa....)

ALTRI VOLONTARI PER PROVARE QUESTE SOLUZIONI!!!???

Piergiorgio, tu? visto che hai meta dell'hardware da provare..... andrea ti da anche i LED-LDR e........

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 02 lug 2007, 16:44
da plovati
Non mi fate fare le prove di ascolto e le comparazioni! Non ne sono capace. Vado da Andrea, prendo il lightspeed, mando per posta un alps nero, due scattenui mono e il lightspeed a chi li vuole testare. Me li rimanderrà indietro dopo un mese.


_________
Piergiorgio

Inviato: 02 lug 2007, 19:16
da marziom
come detto prima se non c'è nessuno lo posso fare io, ma a queste condizioni:

1) si deve fare nel mese di luglio perche sto solo ed ho più tempo, ad agosto spero di andare in vacanza e a settembre ritorna il normale tram-tram
2) le prove verranno fatte come pre passivo che pilota un myref (nel bene e nel male).
3) il tutto verrà rispedito prima delle ferie (inizi di agosto)

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 05 lug 2007, 22:37
da UnixMan
ben tornato!
grazie! 8)

sfortunatamente (come prevedibile...) non ho fatto a tempo a rientrare che sono stato sommerso dal lavoro... :x
personalmente non ho vistp il 3d su diyaudio....e penso che ci faresti una cosa gradita se fai un sunto sunto dello stato dell'arte.


Originariamente inviato da marziom - 01/07/2007 : 21:43:53
niente di eclatante da riferire, al momento...

Qualcuno ha annunciato di lavorare a progetti simili e sembra che ci sia qualche interesse intorno al nostro, ma per ora nessuno si e` per cosi` dire "fatto avanti". Oggi abbiamo postato un po` piu` di dettagli ed Andy ha avviato li` la discussione di alcuni dettagli... non so` se fosse il caso, ma tant'e`. Almeno vedremo se c'e` veramente interesse...

Andateci a dare un occhio. Se qualcuno dovesse avere problemi con la lingua, fatemelo sapere che traduco qui`.


Ciao,
Paolo.

Inviato: 05 lug 2007, 22:57
da andypairo
Vabbè mi è scappata la mano.... stasera riscrivo la mia proposta per la calibrazione in italiano.

Intanto che ne dici?

Ciao

Andrea

PS C'è anche chi mi ha contattato in pm risentito perchè a suo giudizio l'idea deriva da un suo circuito mandato a una rivista e non pubblicato:o

Inviato: 06 lug 2007, 02:20
da andypairo
Dunque, come promesso ecco la tecnica che adotterei per la calibrazione:

Il circuito che abbiamo è Rs1x -- --Rs2x--
| |
M Sh

Risulta quindi logico pensare di adoperare il punto di giunzione tra le Rs2x e la resistenza di shunt come punto per la calibrazione.
Ciò permette di evitare complicate reti di switch dei segnali e la presenza di una Rsense.

Si inietta una corrente nota nel nodo e si va a leggere la tensione ai capi della resistenza da misurare. Tenendo sufficientemente alta l'impedenza dell'ADC la corrente scorrerà completamente nella resistenza in misura.

Per calibrare il ramo shunt è sufficiente lasciare spente tutte le altre e iniettare la corrente da misurare, leggendo la tensione ai suoi capi.

Per la calibrazione dei rami serie bisogna spegnere il led del ramo shunt e mettere un mute il canale desiderato. In questo modo la Rs2x è terminata a massa da un lato e dall'altro ha il generatore di corrente, per cui si misura come l'altra.

Iterando il procedimento siamo a cavallo.

Per quanto riguarda la corrente di misura siamo di fronte a delle scelte: se vogliamo lavorare con un CCS il massimo valore di impedenza desiderato porrà un limite alla corrente utilizzabile: se ad esempio volessimo 50kOhm di impedenza e l'ADC ha 5V max in ingresso la massima corrente iniettabile nel nodo sarebbe 0.1 mA.
A valori più bassi di impedenza (500 Ohm) la tensione da leggere sarebbe 50mV e a 200 Ohm siamo già al LSB per un ADC a 8 bit.

L'altra possibilità è di sfruttare il circuito di pilotaggio degli LDR (che già dobbiamo avere, solo che usiamo quello dell'altro canale per la calibrazione) per generare una tensione variabile di pilotaggio e usare un VCCS tipo quello postato per convertirla in corrente variabile, in modo da lavorare in zone non critiche per l'ADC.

Quindi in sintesi IMO conviene pilotare i led per mezzo di analogica + VCCS (va comunque bene uscire dal PIC con up/down, a patto di tenere memoria della "posizione" di uscita, oppure passare a un PIC con DAC integrato).

Controllando singolarmente la corrente in ciascun led però ci servono almeno 4 canali di pilotaggio (considerando come "digitali" quelle per pilotare Rs1x), non so se erano previsti. Forse davvero conviene passare a un PIC più grandicello.

Commenti?

Ciao

Andrea

Inviato: 06 lug 2007, 02:39
da UnixMan
Vabbè mi è scappata la mano.... stasera riscrivo la mia proposta per la calibrazione in italiano.

Intanto che ne dici?
vedi la mia risposta di la`...
http://www.diyaudio.com/forums/showthre ... ost1249434
PS C'è anche chi mi ha contattato in pm risentito perchè a suo giudizio l'idea deriva da un suo circuito mandato a una rivista e non pubblicato:o
ma vaff... :evil: ops, scusate, mi e` scappato... :oops:


Ciao,
Paolo.

Inviato: 06 lug 2007, 03:42
da UnixMan
Si inietta una corrente nota nel nodo e si va a leggere la tensione ai capi della resistenza da misurare. Tenendo sufficientemente alta l'impedenza dell'ADC la corrente scorrerà completamente nella resistenza in misura.
come dicevo di la`, fin qui` mi pare sia grosso modo quello di cui avevamo parlato (vedi post miei e di Marzio a pag. #5) con qualche dettaglio in piu`. La soluzione dovrebbe funzionare, ma quella che ho (appena) proposto nella risposta su diyaudio mi sembra tutto sommato piu` semplice da implementare e quantomeno altrettanto efficace.

Riassumo qui`:

anziche` creare delle tabelle di calibrazione dei singoli LDR per poi calcolarsi le attenuazioni desiderate, si puo` piu` banalmente collegare una tensione campione in ingresso e misurare direttamente l'attenuazione leggendo la tensione di uscita, nonche` misurare l'impedenza di ingresso leggendo la corrente che scorre nel circuito dell'attenuatore.

Questo puo` essere fatto collegando la tensione campione nella giunzione della "T" in ingresso attraverso i rele` di muting, commutandone la linea che va` normalmente a massa attraverso uno switch (che potrebbe essere quello che attiva la calibrazione, oppure al limite il contatto di un altro rele` se si vuole controllare tutto da software).

Se si ha l'accortezza di lasciare aperti gli "switch" in ingresso (cioe` completamente "spenti" i LED/LDR od OptoFET che siano), la cosa non crea problemi: l'uscita la dovevamo scablare comunque, mentre agli ingressi anche la piu` schizzinosa e delicata delle sorgenti non si preoccupa certo se in uscita gli attacchiamo qualche volt DC attraverso una resistenza di svariati (decine o addirittura centinaio) di Mohm... :D

Nel caso si opti per questa soluzione, e` da decidere se "inserire" la sorgente di tensione utilizzando un solo contatto sulla linea comune (accettando un piccolo errore legato alla resistenza non infinita degli altri LDR "aperti", che pero` puo` diventare sensibile qualora il LDR serie in esame venga operato con correnti molto basse) oppure se trovare il modo di commutare indipendentemente solo l'ingresso che ci interessa (idee?).

Ovviamente, come accennavo su diyaudio, do` per scontato che, a differenza degli schemi precedenti, i LDR (o eventualmente OptoFET) in ingresso siano operati indipendentemente in modalita` "on/off".

In ogni caso, come dicevo di la` la procedura di calibrazione potrebbe essere questa:

1) si misura l'impedenza di ingresso (corrente nel circuito) mentre si fa` lentamente salire la corrente nei due LED (correnti uguali per serie e shunt) fintanto che non si raggiunge l'impedenza di ingresso desiderata.

2) si regolano (lentamente) le correnti nei LED finche` non si ottiene l'attenuazione corrispondente al primo step desiderato e si scrivono i valori corrispondenti nella tabella;

3) si ripete il punto 2 per tutti i passi di attenuazione desiderati;

4) si ripetono i punti da 1 a 3 per tutti gli ingressi (i diversi canali possono essere calibrati in parallelo per risparmiare tempo).

Commenti, idee, suggerimenti?


Ciao,
Paolo.

Inviato: 07 lug 2007, 03:32
da andypairo
Paolo, proseguiamo la discussione in un solo posto (qui)

Scusa ma non ho capito come pensi di leggere la corrente per valutare l'impedenza.
Inoltre variando le correnti nei led andiamo a modificare l'impedenza stessa, per cui boh...

Mi sembra molto più lineare lavorare con correnti note e calibrare una resistenza alla volta, facendo una tabella per valori di resistenza opportuni, scelti per avere la curva di attenuazione desiderata, come si farebbe nello scegliere le resistenze di uno stepped attenuator.

Inoltre non vedo problemi per l'iniezione di corrente nelle resistenze, tanto a noi servono valori di max 50-100k. L'errore dovuto alle resistenze spente credo sia trascurabile....

Ma gli altri che ne dicono??

Ciao

Andrea

Inviato: 07 lug 2007, 20:31
da UnixMan
Scusa ma non ho capito come pensi di leggere la corrente per valutare l'impedenza.
e.g. banalmente con una piccola resistenza di sense in serie alla Vref...
Inoltre variando le correnti nei led andiamo a modificare l'impedenza stessa, per cui boh...
mi riferivo all'impedenza "nominale", ovvio poi che da un setting all'altro cambierebbe (~ come con un comune potenziometro).

L'idea era proprio quella di "emulare" un potenziometro (~ come nel lightspeed originale), ma con step calibrati.

Cioe`: prima si determina la corrente necessaria ad ottenere l'impedenza di ingresso "nominale" desiderata nel punto "medio" (stessa corrente nei LED serie e shunt), quindi si procede come se avessimo un potenziometro, i.e. aumentando l'una e diminuendo l'altra (e viceversa) mantenendo costante la somma delle due correnti (quindi in prima approssimazione anche la R complessiva della serie dei due LDR nella "L" resta ~ costante) fino al raggiungimento dello step desiderato; si ripete per tutti gli step da calibrare ed il gioco e` fatto (giusto? forse mi e` sfuggito qualcosa e` sto` dicendo una stupidaggine?! :| )

Il metodo ha i suoi limiti, ma e` di una semplicita` disarmante. :D
Mi sembra molto più lineare lavorare con correnti note e calibrare una resistenza alla volta, facendo una tabella per valori di resistenza opportuni, scelti per avere la curva di attenuazione desiderata, come si farebbe nello scegliere le resistenze di uno stepped attenuator.
indubbiamente cosi` e` molto piu` versatile... a patto che il uC abbia sufficenti risorse, ci si puo` fare praticamente qualsiasi cosa si voglia. Ovviamente, al prezzo di maggiori complicazioni nel software.

Come ho detto, non ho esperienza nell'uso di PIC e affini e non ho idea di cosa offra il mercato, x cui non mi rendo conto di quante risorse possiamo avere a disposizione e quindi di cosa sia fattibile e cosa no... (in campo elettronico mi sono sempre occupato di elett. analogica, mentre in campo informatico mi e` anche capitato di sviluppare software, ma sempre "ad alto livello"; non ho mai avuto a che fare con problematiche di livello "vicino all'hardware"). Supponendo pero` di avere risorse limitate ho pensato alla soluzione + semplice possibile. Ma se si possono avere a disposizione risorse sufficenti senza complicare troppo l'hardware e/o andare incontro a costi eccessivi, allora la soluzione con resistenze calibrate e "curve" (tabelle...) di attenuazione calcolate e` probabilmente la migliore, quantomeno in quanto decisamente piu` versatile (dopotutto il software si puo` modificare o anche rifare da capo in qualsiasi momento praticamente "a costo zero", l'hardware no...).
Inoltre non vedo problemi per l'iniezione di corrente nelle resistenze, tanto a noi servono valori di max 50-100k.
mmmh... beh, direi che dipende dal range dinamico e dalle imp. di ingresso che vuoi poter ottenere...

BTW, IMHO il problema resta il generatore di corrente. Per non avere errori sensibili nel valore reale delle correnti impostate (e quindi nelle misure), l'impedenza interna del generatore dovrebbe essere di almeno uno o meglio due ordini di grandezza superiore a quella delle resistenze da calibrare... per cui, gia` fermandosi a soli 100K ci vorrebbe un CCS con una Zout di 1 ~ 10 Mohm... (sbaglio?)

Allora conviene piuttosto usare lo schema proposto inizialmente da Marzio, pero` mettendo un generatore di tensione (controllabile?) "Vref" al posto di quello di corrente, in serie con una resistenza di sensing "Rs" di valore sufficentemente elevato. Cosi` la corrente la si legge direttamente come caduta ai capi della Rs (che e` nota) e, conoscendo questa nonche` Vref (fissa o fissata con un DAC) e tensione di uscita (misurata) si puo` calcolare tutto minimizzando gli errori.
Ma gli altri che ne dicono??
ecco, appunto... ragazzi, sveglia, che e` 'sto` silenzio? dite la vostra!


Ciao,
Paolo.

Inviato: 07 lug 2007, 22:17
da andypairo
Ciao,
la tua soluzione mi sembra abbia delle criticità dal punto di vista del dimensionamento.

Cioè:
e.g. banalmente con una piccola resistenza di sense in serie alla Vref...
Piccola corrente, piccola resistenza... piccolissima tensione. Gli ADC sono in genere a 8, max 10 bit.
(quindi in prima approssimazione anche la R complessiva della serie dei due LDR nella "L" resta ~ costante)
Ad una veloce occhiata alle curve di resistenza vs corrente non mi sembra poi tanto.. ma forse non siamo nemmeno troppo lontani.

Per quanto riguarda il convertitore tensione/corrente secondo lo schema proposto, scegliendo opportunamente le resistenze si riesce a ottenere un range di correnti da 50uA (pilotaggio 0.1V) fino a 2.5mA (a 5V).
Con una res da 100k di carico abbiamo un errore di pochi punti % sulla corrente, non così male.
Tieni conto che con questo metodo vai a minimizzare gli errori legati alla risoluzione limitata dell'ADC, avendo almeno 250mV da leggere con 100 Ohm di resistenza da misurare.

Queste considerazioni non per sminuire la proposta di Paolo ma per dettagliare la mia, coi limiti del caso e con un dimensionamento almeno approssimato delle condizioni di lavoro (incluse le condizioni limite).

Paolo butta giù due numeri di verifica della tua proposta, magari poi capisco meglio l'idea ;-)

Ciao

Andrea

Inviato: 08 lug 2007, 21:57
da UnixMan
Ciao,
Piccola corrente, piccola resistenza... piccolissima tensione. Gli ADC sono in genere a 8, max 10 bit.
xche`, gli op-amp non si trovano piu`? :D Scherzi a parte (perdonami la battuta, non ho saputo resistere...), in realta` non sarebbe un grosso problema. Visto che la resistenza da misurare in questo caso e` nell'ordine di 10K - 100K, la resistenza serie non deve essere poi cosi` piccola... inoltre, poiche` tale misura serve solo a stabilire l'impedenza "nominale", tutto sommato non e` neanche necessario che sia estremamente precisa. E comunque si puo` sempre mettere un amplificatore per riportare la tensione nel range piu` adatto al ADC (x l'appunto :D ).

Cio` premesso, voglio sottolineare che NON sto` "spingendo" per quella soluzione. L'ho proposta solo per discutere e valutare una possibile alternativa, nulla di piu`.

Apro una parentesi: {

In realta`, la cosa piu` "interessante" :grin: di quella idea e` che si potrebbe "implementare" anche in versione "minimalistica", completamente elettromeccanica! :o (ovviamente facendo le calibrazioni una tantum "a mano").

Si potrebbe infatti usare banalmente un banco di trimmer (uno per ogni step di attenuazione) commutati, eventualmente con l'aggiunta di un CCS (o al limite anche un regolatore di tensione) regolabile per settare l'impedenza nominale desiderata senza dover cambiare tutti i trimmer (*). Che poi fare una cosa del genere sarebbe verosimilmente piu` costoso oltre che molto meno versatile ed in fin dei conti anche piu` complicato di come vogliamo farlo noi e` un'altro discorso. :grin:

(*) BTW, lo stesso vale anche per il lightspeed originale: non so` xche` tutti si siano dati un gran da fare a provare potenziometri di valori diversi e nessuno abbia invece pensato piu` banalmente -e logicamente- di variare la tensione di alimentazione o, meglio, di usare un CCS regolabile con il potenziometro che si limita a ripartire tra i due LED la corrente prefissata.

} chiusa parentesi.

Divagazioni a parte, come accennato nel post precedente direi che in realta` mi piace di piu` l'idea "originale" di produrre le "curve" (tabelle...) di calibrazione corrente/resistenza dei singoli LED-LDR utilizzati per l'attenuatore e poi usare quelle per calcolare le tabelle di attenuazione che non quella alternativa. Tra l'altro, cosi` si ha anche il vantaggio di poter riprogrammare vari parametri quali ad es. l'impedenza di ingresso senza dover ricalibrare tutto ogni volta, il che potrebbe essere utile per verificare sperimentalmente qual'e` il carico "ottimale" (quello che "suona" meglio) per ciascuna sorgente, e quindi addirittura impostarne uno diverso per ciascun ingresso! :o :p

Quindi, visto che mi pare che in realta` siamo daccordo, se nessun altro ha commenti da fare direi che possiamo considerare questa come la soluzione approvata ed andare avanti a discuterne i dettagli.
(quindi in prima approssimazione anche la R complessiva della serie dei due LDR nella "L" resta ~ costante)
Ad una veloce occhiata alle curve di resistenza vs corrente non mi sembra poi tanto.. ma forse non siamo nemmeno troppo lontani
per l'appunto, ho detto all'incirca ed in prima approssimazione. Anche in questo caso, il metodo con le tabelle calcolate (se gli errori di misura e di calcolo restano sufficentemente bassi) permette (dovrebbe permettere) di ottenere risultati piu` precisi e soprattutto piu` prevedibili.
Per quanto riguarda il convertitore tensione/corrente secondo lo schema proposto, scegliendo opportunamente le resistenze si riesce a ottenere un range di correnti da 50uA (pilotaggio 0.1V) fino a 2.5mA (a 5V).
Con una res da 100k di carico abbiamo un errore di pochi punti % sulla corrente, non così male.
qui` invece NON siamo affatto daccordo. La soluzione con la Howland current pump come generatore di corrente -per questa applicazione- non mi piace affatto. Quando serve una impedenza di uscita realmente elevata, quell'oggetto diventa critico e tendenzialmente instabile.

Se proprio si volesse utilizzare un generatore di corrente, sarebbe casomai piu` opportuno indirizzarsi su uno schema diverso. Ma, ripeto, IMHO per questa applicazione e` MOLTO meglio utilizzare piuttosto un generatore di tensione (eventualmente regolabile) con in serie una resistenza (del valore piu` opportuno per rientrare nell'intervallo utile del ADC) ai capi della quale *misurare* (anziche` predeterminare approssimativamente) la corrente effettiva che circola nel circuito.

In questo modo si determinano con la max precisione possibile tanto la corrente quanto la tensione, minimizzando gli errori.

Questo al "solo" prezzo di necessitare di due ADC... ma, visto che non dobbiamo farlo in tempo reale, se ne puo` utilizzare comunque anche uno solo commutandolo da una parte all'altra (qui` si possono usare senza remore "switch" a stato solido...) ed effettuando le due misure in sequenza.


Ciao,
Paolo.

Inviato: 09 lug 2007, 14:08
da andypairo
Ciao,
qui` invece NON siamo affatto daccordo. La soluzione con la Howland current pump come generatore di corrente -per questa applicazione- non mi piace affatto. Quando serve una impedenza di uscita realmente elevata, quell'oggetto diventa critico e tendenzialmente instabile.
La poca esperienza che ho a riguardo (un progetto di regolazione della corrente dei led di un illuminatore lineare modulare per uso industriale)non mi suggeriva problemi di instabilità. Comunque sono accettabilissime proposte altenative.
Se proprio si volesse utilizzare un generatore di corrente, sarebbe casomai piu` opportuno indirizzarsi su uno schema diverso. Ma, ripeto, IMHO per questa applicazione e` MOLTO meglio utilizzare piuttosto un generatore di tensione (eventualmente regolabile) con in serie una resistenza (del valore piu` opportuno per rientrare nell'intervallo utile del ADC) ai capi della quale *misurare* (anziche` predeterminare approssimativamente) la corrente effettiva che circola nel circuito.
In effetti si potrebbe fare così: Vgen - R - LDR, dove per "R" si intende un valore opportuno opportunamente commutato tramite relè.
Leggendo la tensione sul partitore misuriamo direttamente l'impedenza della LDR.
Da 50 a 100k ci sono poco più 3 decadi, scegliendo ad esempio 100, 1k e 10k come resistenze copriamo senza problemi il range che ci serve.
Alla faccia di opamp e current pumps ; )
E serve pure un ADC solo :D

Commenti?

Ciao

Andrea

Inviato: 10 lug 2007, 00:26
da UnixMan
La poca esperienza che ho a riguardo (un progetto di regolazione della corrente dei led di un illuminatore lineare modulare per uso industriale)non mi suggeriva problemi di instabilità. Comunque sono accettabilissime proposte altenative.
x quanto ne so` tutto dipende da quant'e` l'impedenza interna che vuoi ottenere... finche` e` in un range per cosi` dire "intermedio" va` tutto bene, ma se si va` invece verso gli estremi (i.e. impedenze molto alte o molto basse) da un lato c'e` la criticita` dei valori delle R del "ponte" (in genere ho visto mettere trimmer da tarare con cura) e dall'altro c'e` una tendenza all'instabilita`. Magari pero` potrei anche essere smentito, onestamente cosi` su due piedi non ci metterei la mano sul fuoco. :D
In effetti si potrebbe fare così: Vgen - R - LDR,
esatto...
dove per "R" si intende un valore opportuno opportunamente commutato tramite relè.
Leggendo la tensione sul partitore misuriamo direttamente l'impedenza della LDR.
Da 50 a 100k ci sono poco più 3 decadi, scegliendo ad esempio 100, 1k e 10k come resistenze copriamo senza problemi il range che ci serve.
Alla faccia di opamp e current pumps ; )
giusto.

Pero` 50 ohm mi sembra un po' ottimistico... se vogliamo evitare di stressare i LED/LDR (che a quanto ho capito non gradiscono affatto di lavorare troppo "aperti", specie x lunghi periodi) la resistenza minima che possiamo usare e` piu` alta, verosimilmente almeno intorno ai 500 ohm o forse 1k. Per recuperare range dinamico dobbiamo quindi salire di piu` all'altro estremo.

Per quanto riguarda la selezione del "range", cercherei di evitare di usare altri rele`... forse si puo` fare anche con un paio di FET o roba del genere. Oppure, -bisogna valutare i costi-, magari si puo` evitare del tutto utilizzando un ADC con un range dinamico piu` ampio. :?:
E serve pure un ADC solo :D
certamente, non so` xche` volevo fare una misura ridondante V/I... chissa` dove avevo la testa... probabilmente avevo ancora x la mente la serie di due resistenze ignote e quindi la necessita` di conoscere tanto la tensione quanto la corrente. :oops:



Ciao,
Paolo.

Inviato: 10 lug 2007, 03:02
da andypairo
Ciao,
x quanto ne so` tutto dipende da quant'e` l'impedenza interna che vuoi ottenere... finche` e` in un range per cosi` dire "intermedio" va` tutto bene, ma se si va` invece verso gli estremi (i.e. impedenze molto alte o molto basse) da un lato c'e` la criticita` dei valori delle R del "ponte" (in genere ho visto mettere trimmer da tarare con cura) e dall'altro c'e` una tendenza all'instabilita`. Magari pero` potrei anche essere smentito, onestamente cosi` su due piedi non ci metterei la mano sul fuoco.
La criticità delle resistenze del "ponte" è realmente tale se il guadagno tensione/corrente è alto. Nel nostro caso siamo in "discesa" per cui le tolleranze vengono in effetti a essere ridotte.
Per l'instabilità non so, ma lavorando in DC... magari si possono mettere caps di compensazione.
Comunque è sufficiente un DAC+Rserie ( epure più semplice), tanto dobbiamo calibrà....
Pero` 50 ohm mi sembra un po' ottimistico... se vogliamo evitare di stressare i LED/LDR (che a quanto ho capito non gradiscono affatto di lavorare troppo "aperti", specie x lunghi periodi) la resistenza minima che possiamo usare e` piu` alta, verosimilmente almeno intorno ai 500 ohm o forse 1k. Per recuperare range dinamico dobbiamo quindi salire di piu` all'altro estremo.

Per quanto riguarda la selezione del "range", cercherei di evitare di usare altri rele`... forse si puo` fare anche con un paio di FET o roba del genere. Oppure, -bisogna valutare i costi-, magari si puo` evitare del tutto utilizzando un ADC con un range dinamico piu` ampio.
I NSL32SR3 che ho arrivano a 90 Ohm circa, gli SR2 scendono di più (40 Ohm a 20mA).
La corrente max è 25mA.
I 50 Ohm IMHO sono un non-problema, visto che quasi mai si lavora a massimo volume (o minimo).
Se proprio vogliamo stare più sicuri andiamo a 100 ma non oltre.

I relè li vedo bene perchè consentono di avere una caduta pressochè nulla. Un paio in più secondo me ci possono stare. Li compriamo in blocco e costtano meno ; )
certamente, non so` xche` volevo fare una misura ridondante V/I... chissa` dove avevo la testa... probabilmente avevo ancora x la mente la serie di due resistenze ignote e quindi la necessita` di conoscere tanto la tensione quanto la corrente.
Il caldo....; ) :twisted:

Ciao

Andrea

Inviato: 11 lug 2007, 17:33
da marziom
bene, bene....siamo tornati in tre a cantare l'alligalli..... :D

io invece volevo riproporre per l'ultima volta la mia disponibilità a fare da tester ai tre sistemi di attenuazione discussi/usati, ovvero:
- pot ELNA
- scattenuo
- LED/LDR

ovviamente tutto sarebbe riportato sul forum a disposizione di tutti (credo che la cosa sia di interesse generale), per quello che può valere il mio giudizio...
le condizioni sono quelle di sopra, se siete d'accordo chiedetemi l'indirizzo in PM e mi mandate il tutto, poi ve lo rimando io prima delle ferie d'agosto.
In alternativa, tempi permettendo, si andrà avanti senza prove.

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 11 lug 2007, 17:50
da UnixMan
Comunque è sufficiente un DAC+Rserie ( epure più semplice), tanto dobbiamo calibrà....
infatti...
Se proprio vogliamo stare più sicuri andiamo a 100 ma non oltre.
per stare sul tranquillo non volevo superare i 15mA... se non ricordo male le curve, con la versione che "scende" di piu` x 100 ohm dovremmo essere da quelle parti, per cui direi che e` ok.
I relè li vedo bene perchè consentono di avere una caduta pressochè nulla. Un paio in più secondo me ci possono stare. Li compriamo in blocco e costtano meno ; )
ok ma... non sara` forse meglio commutare l'ADC, come dicevo in precedenza?

Cerchiamo di evitare altri effetti da caldo 8) e ragioniamo "a voce alta"... :| Trascurando gli effetti degli LDR aperti e dell'ADC (BTW: che impedenza ha? serve un buffer?), abbiamo un circuito cosi`:

Vref-Rs-+-Rldr-gnd
+-Vout

di cui possiamo conoscere tutto tranne la Rldr che vogliamo misurare (ma va`? :grin: ). Ovviamente:

Rldr=Vout/I
I=Vref/(Rs+Rldr)

{ in effetti, trascurando solo l'ADC si avrebbe I=Vref/(Rs+(Rldr//(Rldr_off/n)) dove "n" e` il numero di LDRoff = n.ro di ingressi (sfortunatamente LDRoff non e` ne` univoco ne` costante, ma e` definito solo come >= "x"). Ma torniamo a bomba... }

Per Rldr << Rs, I~=Vref/Rs ("corrente costante"); Vout << Vref. Per misurare Rldr dobbiamo misurare Vout.

Per Rldr >> Rs, I~=Vref/Rldr ("tensione costante"); Vout~=Vref. Per misurare Rldr dobbiamo misurare I.

In entrambi i casi introduciamo comunque una approssimazione "proporzionale" al rapporto Rs/Rldr.

Per valori alti della Rldr ( >= 100K - io vorrei poter arrivare fino ad almeno 250K), mantenere vera l'ipotesi Rs >> Rldr impone l'uso di Rs molto alte che, oltre ad imporre l'uso di Vref relativamente alte (per non rendere rilevanti gli errori casuali a causa di correnti troppo basse nel circuito), rischia di rendere non piu` trascurabili gli errori sistematici legati alla presenza degli altri LDR "spenti".

In effetti, poiche` Rldr(min) ~ 100 ohm, e` piu` semplice mantenere vera la seconda ipotesi...

Se otteniamo la tensione Vref con un DAC e invece di leggere direttamente la tensione sul nodo di uscita misuriamo la corrente (i.e. la tensione che cade sulla Rs...), direi che ce la potremmo cavare con una sola Rs di valore compreso tra 1 e 10 ohm. Il "cambio di scala" lo otteniamo variando la tensione sul DAC in modo che la corrente sia sempre nello stesso "range".

L'unico problema e` che gli LDR gradiscono correnti "sostenute" ancora meno di quanto non lo facciano i rispettivi LED... il che ci porterebbe a leggere tensioni molto piccole su Rs. Pero` questo lo potremmo risolvere facilmente amplificando in differenziale su Rs "a monte" dell'ADC (...c'e` di mezzo "il solito" op-amp :D ).

Una possibile alternativa (dopotutto forse non faceva poi cosi` caldo... ; ) ) e` utilizzare una Rs "intermedia" e misurare indipendentemente sia I che Vout. In questo modo si elimina completamente l'approssimazione legata ad Rs e si e` quindi liberi di scegliere Vref ed Rs in modo da minimizzare gli errori legati al "range" di misura (dell'ADC) tanto su I che su Vout.

Da valutare... :?:



Ciao,
Paolo.

Inviato: 11 lug 2007, 19:14
da mrttg
Ciao,
in alternativa a Microchip una piattaforma interessante e affrontabile anche da persone digiune di assebler puo essere Psoc express di Cypress:

http://www.cypress.com/portal/server.pt ... PageID=569

Hà ancora diverse pecche... però è in forte sviluppo e il supporto è ottimo.

Tiziano

Inviato: 11 lug 2007, 20:58
da andypairo
Ciao,
per stare sul tranquillo non volevo superare i 15mA... se non ricordo male le curve, con la versione che "scende" di piu` x 100 ohm dovremmo essere da quelle parti, per cui direi che e` ok.
Essendo il massimo 25mA io credo che i 20(nominale) possiamo raggiungerli :D o almeno quasi; )
Il Lightspeed originale ha una 100 Ohm in serie su 5V nel caso pessimo e quindi i led lavorano a 25mA. Nessun problema riportato che io ricordi da quanti lo hanno comprato o costruito.

Per la misura: Vout = Vref (Rldr)/(Rldr + Rs)

da cui Rldr = (Vout * Rs)/(Vref - Vout) senza approssimazioni. Che ci frega di misurare I ?

Dobbiamo tener conto che per avere una precisione apprezzabile sia Vout che (Vref-Vout) non devono essere troppo piccole, e quindi il rapporto tra Rs e Rldr non può essere troppo elevato.
Supponendo 4 come rapporto massimo di misura (in salita e in discesa)Vout varia tra 1 e V e per coprire i valori da 50 a 200k basterebbero 3 Rs (200, 3200 e 51.2k).

Vedo più semplice questa soluzione rispetto all'uso di un DAC per Vref o alla commutazione dell'ingresso ADC.
{ in effetti, trascurando solo l'ADC si avrebbe I=Vref/(Rs+(Rldr//(Rldr_off/n)) dove "n" e` il numero di LDRoff = n.ro di ingressi (sfortunatamente LDRoff non e` ne` univoco ne` costante, ma e` definito solo come >= "x"). Ma torniamo a bomba... }
Il NSL32SR2 dichiara 1M minimo, ma l'unico LDR spento che vedo in parallelo è lo shunt quando misuriamo gli altri. Infatti se lasciamo liberi gli ingressi gli LDR "serie" rimangono flottanti, se il caldo non mi sta
dando alla testa.

Se proprio il circuito di calibrazione crea problematiche di costo possiamo sempre farlo su una schedina in piggy-back che ci facciamo girare ;-)). E magari usiamo 10 relè e relative Rs che accontentiamo anche i più esigenti in termini di precisione. :D

Noto però che a basse Rldr si pone il problema della dissipazione sull'elemento, che potrebbe portare ad un errore.
Il caso pessimo è di 31mW.. forse ci preoccupiamo troppo.

Allego immagine tratta dal fogliettino di calcolo che ho creato per fare queste considerazioni.
Un'idea della precisione ottenibile è data dal numero di lsb per ottava dei valori di resistenza Rldr.
Se serve posso allegare il file excel in modo che ognuno possa fare le proprie considerazioni.
Immagine

Ciao

Andrea

Inviato: 12 lug 2007, 06:31
da UnixMan
Essendo il massimo 25mA io credo che i 20(nominale) possiamo raggiungerli o almeno quasi
direi che stiamo dicendo piu` o meno la stessa cosa... ok, fissiamo la Imax a 18mA e non se ne parli piu`. :grin:
Vedo più semplice questa soluzione rispetto all'uso di un DAC per Vref o alla commutazione dell'ingresso ADC.
senza dubbio si puo` fare anche cosi`...

BTW, mi viene in mente ancora un'altra alternativa, con una sorta di semplice DAC/ADC "casalingo":

Vref ottenuta con un integratore
comparatore a soglia sulla Vout
ADC di misura sulla Rs

si alza una linea di out digitale che da` tensione all'input dell'integratore... si aspetta fin quando il comparatore
non ci dice che Vout ha raggiunto Vth ed a quel punto con l'ADC su Rs si legge la corrente.

Oppure viceversa, ADC su Vout e comparatore sulla V(Rs)...

Va beh, insomma... di soluzioni valide ce n'e` diverse... basta che ci decidiamo... altrimenti se continiuamo cosi`
non la facciamo piu` finita e ci mettiamo a scrivere un trattato su "mille e uno modi di misurare una resistenza"! :grin:

{ ...casomai non si fosse capito, era autoironico. :D }

Per me va` bene tutto, basta che funzioni. 8)
l'unico LDR spento che vedo in parallelo è lo shunt quando misuriamo gli altri. Infatti se lasciamo liberi
gli ingressi gli LDR "serie" rimangono flottanti, se il caldo non mi sta dando alla testa.
vero... io stavo ancora pensando alla possibilita` di fare la calibrazione senza scollegare gli ingressi e quindi con
gli LDR "aperti" che finiscono in parallelo a quello in misura. Ma, in effetti, visto che la calibrazione e` (o almeno
dovrebbe essere, speriamo...) un'operazione "una tantum", probabilmente non ha senso...
Se proprio il circuito di calibrazione crea problematiche di costo possiamo sempre farlo su una schedina in piggy-back
soluzione interessante per un eventuale sviluppo commerciale... ; ) :D

onestamente, non mi pare che dovrebbe essere poi cosi` costoso... in teoria, il solo connettore per la schedina in
piggy-back dovrebbe rischiare di costare piu` che mettere tutto on-board. :twisted:
Noto però che a basse Rldr si pone il problema della dissipazione sull'elemento, che potrebbe portare ad
un errore. Il caso pessimo è di 31mW.. forse ci preoccupiamo troppo.
entro certi limiti il problema della dissipazione lo si risolve facendo misure "impulsive": si setta la corrente nel LED,
si aspetta un po` x far stabilizzare il LDR e solo a quel punto si chiude il circuito (con il rele` o comandando Vref)
giusto il tempo di acquisire il dato con l'ADC. Si aspetta un altro po` e si ripete, giusto per verificare che il LDR si
sia effettivamente stabilizzato (e magari anche per fare qualche media), poi si passa a quello successivo.



Ciao,
Paolo.

Inviato: 12 lug 2007, 15:52
da marziom
vi sto mandando avanti.....anche perche correte più del tempo a disposizione che ho.....però vi leggo!

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 13 lug 2007, 07:19
da UnixMan
Ciao,

facciamo un passo avanti... ed uno indietro.

Abbiamo fatto un gran parlare (anche troppo :) ) sulle tecniche da adottare per misurare la Rldr, ma
temo che abbiamo perso di vista l'obbiettivo da raggiungere. Per dirla diversamente, abbiamo messo
il proverbiale carro davanti ai buoi. :grin:

Mi spiego: come funzionera` questo benedetto oggetto alla fine?

Non mi pare che finora ne abbiamo realmente parlato, se non appena accennato per il solo caso
(tutto sommato banale) della mia proposta alternativa con misura diretta dell'attenuazione. E allora,
visto che a quella abbiamo giustamente preferito l'idea iniziale con le resistenze calibrate... alla fine
della fiera, come funzionera` 'sto coso?

Sicuramente anche in questo caso ci sono molte possibilita`... la prima cosa che mi viene in mente
(la piu` ovvia?) e` la seguente:

1) stabiliamo quali valori di impedenza di ingresso vogliamo poter implementare. Una serie di valori
ragionevoli che copre sostanzialmente tutto il range "utile" potrebbe essere 5K, 10K, 25K, 50K, (75K?),
100K, (250K?);

2) decidiamo lo step minimo di attenuazione: 0.5dB, 1dB, 1.5dB, ... ?

3) costruiamo delle tabelle (una per ogni valore dell'imp. di ingresso desiderata) con i valori delle
due resistenze del L-pad necessari per ciascun passo di attenuazione, avendo l'accortezza di usare il
minimo numero possibile di valori diversi e ben "spaziati" tra loro (praticamente ne piu` ne meno che
se stessimo progettando un attenuatore a scatti con resistori commutati, salvo che non siamo obbligati
ad utilizzare i valori standard dei resistori in commercio e possiamo ovviamente realizzare un numero
di passi quasi illimitato "a costo zero")

{fin qui` e` tutto lavoro preliminare fatto con carta e penna (piu` verosimilmente con l'aiuto di un
foglio elettronico... :grin: ) in fase di progetto}.

Quindi, alla fine abbiamo "n" tabelle (di "attenuazione") fatte cosi`:

| Attenuazione | Rldr1 | Rldr2 |

ciascuna con tante righe quanti (e quali) sono i "passi" di attenuazione che vogliamo realizzare.

{ ovviamente, a seconda di come viene meglio con le risorse del uC, in alternativa possiamo anche
riunirle in una sola: | Impedenza | Attenuazione | Rldr1 | Rldr2 | }

Da queste dobbiamo estrarre la lista di tutti i valori che devono essere assunti da Rldr1 (elem. serie)
ed Rldr2 (elem. shunt).

{se possibile, per evitare di dover tenere due liste diverse per gli elementi serie e per quello
shunt bisognerebbe cercare di fare in modo che tali liste coincidano, cioe` se possibile cercare
di usare gli stessi valori discreti tanto per l'elemento serie che x quello shunt.}

Ora ci servono delle tabelle "di calibrazione" (una per ogni LDR), fatte cosi`:

| Rldr | Iled |

con tante righe quanti sono i possibili valori di Rldr1 (serie) e/o di Rldr2 (shunt).

Dal uC dobbiamo poter leggere le prime e leggere+scrivere (durante la calibrazione) le seconde;
tutte devono risiedere/essere salvate su memoria non volatile, e.g. (E)PROM o EEPROM le prime,
EEPROM le seconde.

All'avvio, una volta scelta l'impedenza desiderata (e` da prevedere quindi una interfaccia per
la configurazione che permetta di selezionarla e salvare la scelta in memoria non volatile) il uC
deve fare grosso modo le seguenti cose (**):

1) caricare la tabella di attenuazione corrispondente all'impedenza desiderata; (*)

2) caricare la tabella di calibrazione dell'LDR corrispondente all'ingresso selezionato nonche`
quella dell'elemento shunt (comune); (*)

3) leggere il valore di attenuazione ("volume") impostato;

4) estrarre dalla tabella di attenuazione i corrispondenti valori di Rldr1 ed Rldr2;

5) estrarre dalle tabelle di calibrazione i corrispondenti valori di Iled1 ed Iled2 ed
impostarli nei rispettivi DAC.

Durante l'uso, se si cambia volume si ripete la procedura dal punto 3, se si cambia canale dal
punto 2 e se infine si cambia impedenza di ingresso si riparte dal punto 1.

Semplice, no? :D

Ovviamente, tutto cio` per ciascun canale.

{ BTW: visto che ci siamo, io realizzerei le schede stesse (selettore ingressi ed attenuatore)
in versione "mono" (singolo canale), cosi` da poterle utilizzare senza alcun problema sia per
applicazioni stereo che multicanale. }

Note:
(*) l'operazione di "caricare" (in memoria) le tabelle potrebbe non essere affatto necessaria
qualora le stesse siano gia` tutte in uno spazio di indirizzamento direttamente accessibile
dal uC... in tal caso, leggere "selezionare" in luogo di "caricare".
(**) ovviamente qui` mancano ancora perecchi "dettagli" come il controllo degli "switch" (LDR)
in ingresso e dei relativi rele` di "muting", etc... altrettanto ovviamente c'e` qualche differenza
se si usa una singola tabella di quattro colonne in luogo di "n" tabelle di tre. :grin:


A questo punto, torniamo alla nostra calibrazione... quello che ci serve di fare e` "popolare"
le relative tabelle, cioe` scoprire quanta corrente dobbiamo far passare nel LED di un dato LDR
per far si` che questo presenti una data resistenza ai suoi capi.

Quindi, noi NON dobbiamo affatto misurare una resistenza incognita! dobbiamo invece stabilire
quanta corrente debba di volta in volta passare nel LED per ottenere una Rldr pari ad una certa
serie predeterminata di valori!

Alla luce di questo, il metodo da adottare IMHO e` leggermente diverso da quelli discussi finora.

Poiche` del circuito in esame (Vref-Rs-Rldr-gnd) conosco tutto a priori (inclusa la LDR che voglio
ottenere!), anziche` utilizzare un ADC io utilizzerei invece un DAC come Vref, una Rs ed infine un
semplice comparatore per sapere quando ho raggiunto il risultato.

Si puo` operare indifferentemente a "tensione costante" oppure a "corrente costante" mettendo il
comparatore su Vout piuttosto che in differenziale ai capi di Rs.

Supponiamo di lavorare a "corrente costante" (l'altro caso e` analogo). Si procede cosi`:

* si stabilisce la corrente di misura { 10uA? comunque < Max(Vdac) / Rs+Max(Rldr) }

* la Rs ed il comparatore ai suoi capi saranno dimensionati in modo tale che la soglia
corrisponda alla corrente di misura prefissata;

* a priori (in fase di progetto) si realizza (calcola) una tabella nella quale, per ogni valore
desiderato della Rldr, si determina la tensione Vref necessaria a far circolare nel circuito
esattamente la corrente di misura prefissata;

In fase di calibrazione, per ciascun valore della Rldr da calibrare, il uC:

1) legge detta tabella e setta il DAC della Vref di conseguenza;

2) aumenta lentamente la corrente nel LED dell'LDR fin quando il comparatore non indica
il raggiungimento della soglia (== corrente prefissata => Rldr prefissata)

3) salva il valore impostato nel DAC che controlla il LED nella tabella di calibrazione

fatto.

Semplice e lineare...

Commenti, idee, suggerimeti?


Ciao,
Paolo.

Inviato: 13 lug 2007, 15:01
da marziom
mica tanto semplice e lineare....

me lo devo rileggere per capire bene, pero di primo acchitto:
1) è difficile trovare un uC con il DAC
2) si deve aggiungere un comparatore nell'elettronica....

marzio


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 13 lug 2007, 19:37
da UnixMan
1) è difficile trovare un uC con il DAC
si mette esterno... gia` ce ne servono almeno altri due per pilotare i LED/LDR serie e shunt, uno piu` uno meno... :D
2) si deve aggiungere un comparatore nell'elettronica....
questo non mi pare un grosso problema...

BTW, se il PIC che andremo ad usare ha gia` una ADC incorporato, possiamo risparmiarci il comparatore esterno
usando l'ADC interno in luogo del comparatore (basta andare a vedere quando legge un valore prestabilito).

Attendo commenti (ed eventuali proposte aternative) per la struttura generale. Direi sia il caso che, prima di discutere
dei dettagi di implementazione, decidiamo almeno quella... :|


Ciao,
Paolo.

Inviato: 13 lug 2007, 20:59
da marziom
Paolo, tu hai fatto un passo indietro, io ne faccio 3!

sto leggendo piano piano le risposte e forse stiamo uscendo dai binari: stiamo raggiungendo una complessita tale del sistema che o rimarra sulla carta o diverrà troppo costoso, tutto questo poi per la calibrazione, una procedura che verrà fatta 1, 2 tiè 3 volte nella vita del pre: VALE LA PENA??!
Secondo me no, IMHO è preferibile fare qualche ponticello volante/switch meccanico/aggiunta di un alimentatore esterno da farsi al momento rispetto a fare una scheda all in one.

gran parte delle misurazioni che state ipotizzando partono dal fatto che il segnale di sense venga iniettato sul ramo T, cosa che con il circuito che ho postato io non si può, inoltre con il PIC che ho proposto io (vedi schema) che è gia grandicello siamo gia al completo.

io credo che pensare ad un generatore Vref esterno, da collegare quando occorre fare la clibrazione direttamente sugli ingressi RCA sia gia sufficente, e gli schemi che ho postato gia rispondo a questo.
Pensateci, basta fare uno scatolino (oppure un alimentatore da banco) collegarci un cavo terminato RCA e, seguendo una procedura pilotata dal display del pre, collegare la tensione su ogni RCA disponibile.
Penso che più semplice di cosi..... semplice si HW che SW.

poi se volete mettere giu un qualcosa full automatic ...io sono qui, però ho paura che rimarrà un semplice esercizio teorico.

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 13 lug 2007, 23:12
da UnixMan
sto leggendo piano piano le risposte e forse stiamo uscendo dai binari: stiamo raggiungendo una complessita tale del sistema che o rimarra sulla carta o diverrà troppo costoso, tutto questo poi per la calibrazione, una procedura che verrà fatta 1, 2 tiè 3 volte nella vita del pre: VALE LA PENA??!
Uh? non mi pare che il sistema di calibrazione sia cosi` complicato, ne` tantomeno costoso... stiamo parlando di un rele`, un DAC da 2 euro, una resistenza e, forse, un op-amp con relativo contorno.

E, volendo, rele` a parte tutto il resto e cioe` DAC, resistenza, eventuale op-amp ed eventuale comparatore si possono montare su una schedina separata, unica per tutti i canali (ma non so` se ne valga la pena...). Oppure si puo` pensare di utilizzare il DAC di controllo dell'altro LED (che rimane inutilizzato durante la calibrazione) per generare la Vref. Ma bisogna in qualche modo commutare il tutto e forse la soluzione rischia di essere piu` complessa e costosa che non metterci banalmente un DAC economico in piu`...

BTW, e` da verificare, neanche a me piacciono gli sprechi.
gran parte delle misurazioni che state ipotizzando partono dal fatto che il segnale di sense venga iniettato sul ramo T, cosa che con il circuito che ho postato io non si può, inoltre con il PIC che ho proposto io (vedi schema) che è gia grandicello siamo gia al completo.
Nononono... NO! :) Devi aver fatto confusione tra le varie proposte che sono passate. Quello valeva per la proposta "alternativa" con la misura diretta dell'attenuazione. Viceversa, la soluzione a resistenze calibrate prevede che il "segnale" (corrente DC...) di calibrazione venga iniettato nel nodo di uscita, esattamente come nell'ultimo schema che avevi postato. Sostituisci il generatore di corrente che ci avevi messo tu con un DAC ed ottieni precisamente lo schema proposto da me!

Per quanto riguarda la PIC, devo verificare quello schema... considera comunque che, per come la vedo io, e cioe` con una singola scheda (con la sua PIC dedicata) per ciascun canale (piu` ovviamente la scheda di controllo generale con il telecomando, etc.) dovrebbe bastare.

Dopo tutto, ciascuna PIC dovrebbe controllare due o al max tre DAC seriali (di cui cmq. solo due contemporaneamente), un rele` per ciascun ingresso + uno per collegare il circuito di calibrazione e ricevere in ingresso il segnale (analogico) per l'ADC interno (oppure in alternativa una linea digitale dal comparatore). Possibile che non riusciamo a starci dentro?

{
cmq. al limite facciamo la schedina di calibrazione separata, ci infiliamo dentro una PIC dedicata anche li` e non se ne parla piu`... ma non credo che dovremmo arrivare a tanto! :twisted: Anche perche` finiremmo per complicarci la vita. Infatti i valori rilevati dal sistema di calibrazione devono essere scritti nella memoria non volatile della PIC del canale in via di calibrazione...
}


Ciao,
Paolo.

Inviato: 14 lug 2007, 01:59
da andypairo
Una cosa che non ho capito ancora è chi sarà a sviluppare il SW.... io non ho mai adoperato i PIC, per cui....

Magari dico una scemata, ma tant'è.. già ne ho dette ;-)

E se usassimo un aggeggio del genere: la "T" come selettore di ingresso e poi un "lightspeed clone" liscio al seguito? Ci sarebbero solo 2 coppie di LDR da matchare e ne servirebbero 2 per canale per lo switch dei canali (un modo creativo per riutilizzare gli LDR scartati nel matching ; ) )

Ciao

Andrea

Inviato: 14 lug 2007, 03:58
da marziom
per il sw ci penso io.
sull hw invece vorrei la collaborazione vostra.
chi farà lo sbroglio? le basette? ce le facciamo fare, ognuno per se....



_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 14 lug 2007, 17:50
da UnixMan
per il sw ci penso io.
sull hw invece vorrei la collaborazione vostra.
ci mancherebbe...
chi farà lo sbroglio? le basette? ce le facciamo fare, ognuno per se....


Originariamente inviato da marziom - 13/07/2007 :  22:58:08
Direi che anche x lo sbroglio convenga procedere con uno sviluppo "di gruppo", un po`
come per il PCB della versione "americana" del my_ref. Ci vuole un volontario che ha il
software adatto e lo sa` usare. Questo procede a creare una bozza che posta qui`; gli
altri la verificano e quindi se ne discutono insieme eventuali problemi o miglioramenti.
A quel punto il volontario posta una versione aggiornata, etc., finche` non arriviamo
ad un risultato che riteniamo soddisfacente.

Per quanto riguarda le basette al momento mi sembra prematuro, ma comunque direi
che convenga senzaltro farcele fare... se arriviamo a quel punto sono sicuro che non
manchera` chi sara` interessato ad un acquisto di gruppo. Al limite possiamo proporre
un "group buy" su diyaudio o addirittura pensare di mettere insieme un kit...

Ma, ripeto, al tempo. Una cosa alla volta... questo aggeggio vorrei vederlo (e sentirlo!)
finito e funzionante nel mio impianto, possibilmente anche presto! :p


Ciao,
Paolo.

Inviato: 14 lug 2007, 20:05
da UnixMan
Una cosa che non ho capito ancora è chi sarà a sviluppare il SW.... io non ho mai adoperato i PIC, per cui....
neanche io... ma di "C" (cosi` come di un'altra dozzina di linguaggi vari) un po` ne mastico e, anche se in seguito non ho mai avuto occasione di utilizzarlo (per cui a distanza di 20 anni non mi ricordo piu` nulla... :x ), a suo tempo un po` di assembler lo avevo anche studiato... insomma, penso che in qualche modo forse una mano potro` darla anche io. :|
E se usassimo un aggeggio del genere: la "T" come selettore di ingresso e poi un "lightspeed clone" liscio al seguito?
naah... cos'e`, ti sei gia` scoraggiato? :?

Oltretutto, la parte relativa al selettore ingressi / attenuatore tutto sommato mi sembra la piu` semplice, sia dal punto di vista del software che da quello dell'hardware. In verita`, all'inizio temevo che potesse essere molto piu` complesso di cosi`... ora mi sembra quasi banale.

Cosi` a naso, al momento vedo molto piu` complessa (sia come hw che come sw) la scheda di controllo con la gestione di interfaccia, dispay e telecomando. Se ti scoraggi ora... :(

Dopo tutto qui` si tratta solo di gestire qualche tabella, cosa che si fa` comodamente tanto in "C" quanto in assembler. L'unico dubbio (legato alla mia ignoranza in materia...) e` di quanta memoria (non volatile) possiamo disporre... vediamo un po`: quanta ce ne serve?

Per la tabella dell'attenuazione, per ogni entry (riga) ci basta un byte per definire la stessa (non credo che dovremo definire piu` di 256 step, no?!) piu` 2 parole da 16bit per i due valori di Rldr1 e 2, quindi in totale fanno 40bit di informazione. Tanto per fare una stima, anche supponendo 128 entries (64dB in 128 step da 0.5dB), dovremmo starci ampiamente in meno di 1KB. Di queste tabelle ne serve una per ogni valore dell'imp. di ingresso che vogliamo predisporre. Anche a voler esagerare, non arriviamo a 10KB.

Poi ci sono le tabelle di calibrazione... per queste servono due word da 16bit (4 bytes) per riga.

edit: fin qui` ok...
poi devo aver svalvolato, xche` rileggendo il post non so` piu` neanche io che cosa avessi scritto! :o :x

Ricominciamo da capo... con calma. :D

Di tabelle di calibrazione ne servono tante quanti sono gli LDR da calibrare, quindi n+1, dove "n" e` il numero di ingressi.

Ciascuna tabella ha un numero di righe pari al numero di valori diversi che devono essere assunti dal LDR in questione.

Nel caso peggiore (che almeno ora come ora mi sembra assurdo quanto perverso...) non si riutilizza mai due volte lo
stesso valore di resistenza, (!) per cui abbiamo un valore diverso di Rldr (e quindi una riga nella tabella) per ogni diverso
step di attenuazione e per ogni diverso valore della Zin implementato.

Quindi, il limite superiore al numero di righe di ciascuna tabella e` pari al numero di step di attenuazione moltiplicato
per il numero di possibili Zin, i.e. Nr = Ns*Nz

Riassumendo, il limite superiore alla max occupazione di memoria per le tabelle di calibrazione e` dato da:

maxmem = (n+1)*Ns*Nz*4 (bytes)

Quindi, sempre procedendo per l'estremo superiore, supponendo 5 ingressi, 128 step e ben 10 diverse impedenze di
ingresso abbiamo 6*128*10*4 = 30KB.

Sommati ai 10KB di prima in totale arriviamo a circa 40KB.

In pratica pero` ne dovrebbe bastare molto meno... i conti esatti li potremo fare solo dopo aver preparato le tabelle
di attenuazione (che a questo punto e` la prima cosa da fare) ma "a naso" in 32KB dovremmo starci larghi.

Nondimeno, per stare tranquilli e non mettere limiti alla provvidenza (nonche` ad eventuali sviluppi futuri) se possibile
converrebbe avere a disposizione una mem non volatile di almeno 64KB (per canale).

A questo naturalmente va` aggiunta la quota occupata dal firmware, x la quale al momento non so` fare una stima.

Ora, rinnovo la domanda... di quanta mem. dispongono le PIC + comuni (ed economiche) che potremmo usare per questo progetto???

P.S.: ho dato una occhiata su Internet e, se non mi e` sfuggito qualcosa, mi pare che siamo nei guai... ho letto male (non ho visto un "K") o si parla davvero di appena qualche 100io di bytes di data memory?!?!? :o :?

Siamo fuori col botto... ci sta` a malapena una riga della tabella di attenuazione! :x

Si puo` mettere una mem non volatile (flash?) esterna?!? e` complicato? costoso? :?:

Vi vengono in mente soluzioni alternative???


Ciao,
Paolo.

Inviato: 14 lug 2007, 20:41
da marziom
il PIC scelto da me 16F876:
8k programma
368byte RAM
256 EEPROM

semplificare, semplificare......e, come previsto nei vechi post, usiamo + PIC per compiti diversi.
rivedi lo schema, c'era un PIC master, uno per il display e 1 per la scheda di attenuazione....

marzio



_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 14 lug 2007, 22:38
da UnixMan
il PIC scelto da me 16F876:
8k programma
368byte RAM
256 EEPROM
256 cosa?! bytes? :x
semplificare, semplificare......
se sono 256 BYTEs, hai voglia a semplificare... a meno di poter aggiungere altra mem esterna, IMHO semplicemente NON si puo` fare punto. O perlomeno non cosi` come avevamo deciso.

In 256 byte forse ci si potrebbero far stare le tabelle di attenuazione/calibrazione previste nella configurazione alternativa (e per un numero di passi limitato), ma di certo non tutte le tabelle di cui abbiamo bisogno per la versione a "resistenze calibrate".
e, come previsto nei vechi post, usiamo + PIC per compiti diversi.
rivedi lo schema, c'era un PIC master, uno per il display e 1 per la scheda di attenuazione....
certamente... anzi, se facciamo come pensavo io, di schede di attenuazione e quindi di relative PIC ce ne sono addirittura una per canale.

Cionondimeno, per la versione a resistenze calibrate, anche limitando al massimo le features e facendo i salti mortali, ci servono comunque almeno una 10ina di KB, altro che 256 bytes!

No, cosi` non va`. Dobbiamo aggiungere una flash oppure tornare all'altra ipotesi, accettando le relative limitazioni (e complicazioni nel circuito di calibrazione).

E` cosi` improponibile aggiungere una EEPROM, flash o simile?



Ciao,
Paolo.

Inviato: 15 lug 2007, 02:14
da mrttg
Una E2 esterna vi occupa 2/3 pin

Tiziano

Inviato: 15 lug 2007, 03:58
da UnixMan
qualcosa tipo queste?

http://parts.digikey.com/1/parts/indexd19213.html

oppure questa?

http://www.atmel.com/dyn/resources/prod ... oc0456.pdf

edit: le 24AA512 (64K x 8 == 512Kbit == 64KB) ci sono anche su RS italia, circa 3 euro l'una...

Ciao,
Paolo.

Inviato: 16 lug 2007, 03:29
da andypairo
Che ne dite di un Atmega 128?

128kB programma
4kB RAM
4kB EEPROM

fino a 53 I/O
ADC 10 bit 8 canali

c'è anche uno stamp module a prezzo ridicolo qui http://www.futurlec.com/ET-AVR_Stamp.shtml


Ciao

Andrea

Inviato: 16 lug 2007, 22:29
da UnixMan
Che ne dite di un Atmega 128?

128kB programma
4kB RAM
4kB EEPROM

fino a 53 I/O
ADC 10 bit 8 canali
come prestazioni generali mi sembra overkill... mentre per quanto riguarda la memoria flash, puo` bastare solo a patto che si possa utilizzare parte di quella di programma per i dati (tabelle di calibrazione). :?:

BTW, visto che il grosso (o perlomeno l'impostazione) del software tocchera` a Marzio, per ovvi motivi immagino sia preferibile utilizzare dei chip che lui conosce gia`.
c'è anche uno stamp module a prezzo ridicolo qui http://www.futurlec.com/ET-AVR_Stamp.shtml
indubbiamente non e` caro, ma... per un "pre" completo in versione stereo ci vogliono almeno 4 PIC, di piu` per versioni multicanale:

1 PIC sulla scheda master
1 PIC sulla scheda display
2 (se stereo, altrimenti 4,5,6,...) PIC su altrettante schede attenuatore

Cosi` a naso mi sembrerebbe preferibile usare PIC uguali, della stessa serie o quantomeno programmabili con gli stessi strumenti hardware e software; usare quelle schedine vorrebbe dire spendere circa 80 euro (+5 di "programmatore") solo per i uC (nel caso di una versione stereo, anche il doppio nel caso di una multicanale...). Una PIC tipo quella che suggeriva Marzio + un modulo EEPROM esterno solo dove serve (schede attenuatore) o anche la stessa Atmega 128 "nuda" dovrebbero costarci un po` meno. Tanto gli stampati ce li dobbiamo far fare comunque... che senso ha metterci sopra un connettore con su` un'altra schedina?

IMHO quelle schedine possono essere molto comode se uno deve farsi qualche test su millefori... per una realizzazione "in serie" (per quanto piccola o piccolissima come nel nostro caso) non mi pare che abbia molto senso.

BTW, visto che mi sembra che attualmente tra di noi Marzio e` l'unico ad avere esperienza in materia, a lui la palla...


Ciao,
Paolo.

Inviato: 17 lug 2007, 00:07
da marziom
per programmare i uc oltre a conoscere il linguaggio (semplice, di solito è C al massimo qualche riga di assembler) occorre avere il sistema di sviluppo e conoscere l'architettura di sistema.
purtroppo non ho l'ambiente ATMEL...e comprare la scheda....imho è più economico fare una selezione manuale e tagliamo la testa al toro.
per il PIC sono accessoriato.... anzi a proposito, giovedi sono a Milano per un corso, se c'è qualcuno di voi...

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 17 lug 2007, 00:20
da UnixMan
per programmare i uc oltre a conoscere il linguaggio (semplice, di solito è C al massimo qualche riga di assembler) occorre avere il sistema di sviluppo e conoscere l'architettura di sistema.
per l'appunto, e` quello che supponevo... :|

per te e` OK utilizzare la PIC + una EEPROM seriale esterna ove necessario (cioe` sulle schede ingressi/attenuatore)?

problemi? controindicazioni?



Ciao,
Paolo.

Inviato: 17 lug 2007, 14:24
da andypairo
Per me va benissimo qualunque cosa, basta che funzioni ;-)

Per l'hardware direi che il prototipo può essere "cablato" su millefori, per poi passare a una PCB "industriale" (ci sono servizi di prototipazione abbastanza a buon mercato) una volta appurato che funziona a dovere.

A questo punto conviene mettersi d'accordo sullo schema elettrico (e sulla calibrazione) e aggiornare lo schema.

Ciao

andrea

Inviato: 17 lug 2007, 15:52
da marziom
per te e` OK utilizzare la PIC + una EEPROM seriale esterna ove necessario (cioe` sulle schede ingressi/attenuatore)?
problemi? controindicazioni?
per non ci sono problemi.... tanto più che il progetto della scheda ingressi/attenuatore ancora non c'è....
a questo punto direi di utilizzare lo stesso PIC del master 16F876 più un chip di memoria.
qualcuno fa uno schizzo giusto per vedere se ci sono cose non considerate...

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 17 lug 2007, 17:05
da UnixMan
A questo punto conviene mettersi d'accordo sullo schema elettrico (e sulla calibrazione) e aggiornare lo schema.
una cosa alla volta... decidiamo prima la PIC da usare in modo da sapere se ha un ADC o dei comparatori on-board e se questi hanno ingressi "flottanti" (differenziali) oppure vanno riferiti a massa, etc. Queste informazioni ci servono prima di poter definire lo schema della parte x cosi` dire "analogica"...



Ciao,
Paolo.

Inviato: 17 lug 2007, 17:45
da UnixMan
per te e` OK utilizzare la PIC + una EEPROM seriale esterna ove necessario (cioe` sulle schede ingressi/attenuatore)?
per non ci sono problemi.... tanto più che il progetto della scheda ingressi/attenuatore ancora non c'è....
a questo punto direi di utilizzare lo stesso PIC del master 16F876 più un chip di memoria.
e` quello che pensavo anche io...

BTW, un paio di domande (magari lo avevi gia` detto, ma l'info si e` persa nei thread...).

- perche` hai scelto proprio quel modello e non un altro?

- se non mi sbaglio, ci sono PIC della stessa serie con 64K (o forse anche 128K) di memoria flash (di programma) on board. Il tuo ambiente di sviluppo le supporta? Si puo` usare parte della mem di programma per le tabelle di calibrazione? Se la risposta si` ad entrambe, visto che alla fine spesso due chip (PIC+EEPROM) costano comunque piu` di uno solo (PIC con + mem) bisognerebbe valutare se sia piu` conveniente usare piuttosto una di quelle... :?:



Ciao,
Paolo.

Inviato: 17 lug 2007, 17:58
da marziom
- perche` hai scelto proprio quel modello e non un altro?
oh, per una nobile causa!
...li ho nel cassetto! :D
- se non mi sbaglio, ci sono PIC della stessa serie con 64K (o forse anche 128K) di memoria flash (di programma) on board. Il tuo ambiente di sviluppo le supporta? Si puo` usare parte della mem di programma per le tabelle di calibrazione? Se la risposta si` ad entrambe, visto che alla fine spesso due chip (PIC+EEPROM) costano comunque piu` di uno solo (PIC con + mem) bisognerebbe valutare se sia piu` conveniente usare piuttosto una di quelle...
da quello che so, no. la memoria di programma la scrivi in fase di programmazione e basta.

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 18 lug 2007, 00:27
da UnixMan
oh, per una nobile causa!
...li ho nel cassetto! :D
beh, e` gia` un inizio... :D

Scherzi a parte, visto che ne serviranno diverse (specie per una eventuale versione multicanale), e` da valutare bene (cioe`, DEVI valutare... sei tu l'esperto! :oops: ) se siano le piu` idonee o se invece non sarebbe meglio utilizzare piuttosto un modello + economico e/o che magari si adatta meglio alle necessita` del caso... (quantomeno x le schede selettore/attenuatore). :?:

mmmh, ma forse prima vuoi discutere qualche dettaglio in piu` sul circuito audio e calibrazione, o e` gia` tutto abbastanza chiaro?

A questo punto farebbe comodo aggiornare lo schema...

* ci vanno gli LDR di ingresso commutati on/off (stesso comando del rele` corrispondente, negato);

* bisogna vedere di inventarci un sistema semplice per commutare alternativamente i DAC dei LED/LDR verso il sistema di calibrazione... forse bastano uno o due scambi nel punto giusto utilizzati in modo furbo. Cosi` ci basterebbe un solo DAC "stereo" (doppio) per canale per pilotare tanto entrambi i LED quanto il sistema di calibrazione.

Infine, su questo fronte resta ancora da decidere se lavorare a tensione o a corrente costante e se verificare il raggiungimento della Rldr prefissata "leggendo" la Vout piuttosto che la caduta su Rs. Il primo metodo ha il vantaggio che il valore da misurare e` riferito a massa ed e` quindi probabilmente piu` semplice da implementare (a meno che l'ADC od il comparatore della PIC non abbiano l'ingresso differenziale flottante...). Per contro, se si legge Vout e` bene avere Rs sufficentemente alte e quindi servono anche tensioni piu` alte all'uscita del DAC.

Io tendo a propendere x lavorare a "corrente costante" (e ragionevolmente bassa) in modo da minimizzare le "perturbazioni" termiche sugli LDR, che nell'altro caso potrebbero invece diventare significative x valori bassi di Rldr e/o portare a correnti troppo piccole all'altro estremo.

da quello che so, no. la memoria di programma la scrivi in fase di programmazione e basta.
ok, fine della storia...

Decidiamo rapidamente quale modello di PIC e di EEPROM usare ed andiamo avanti!

BTW: Andy, visto che ci sai fare con gli spreadsheet, cominceresti intanto a preparare le tabelle di attenuazione? ; ) :D


Ciao,
Paolo.

Inviato: 18 lug 2007, 04:18
da andypairo
Dunque, vedete voi i dettagli dei micro; dal poco che ho visto il buffer in ingresso è obbligatorio per via della corrente di leakage (consigliano max impedenza 10kOhm).


Come calibrazione vorrei capire... ho rifatto i conti e il sistema da me proposto (Vref fissa e 3 resistenze switchate) consente, con un ADC da 10 bit, di avere oltre 100 lsb per ottava di resistenza.
Il tutto senza dover commutare DAC e altro.
Misurando la tensione sulla resistenza incognita (collegata a massa) inoltre va benissimo un ADC riferito a massa.

Per lo spreadsheet OK, ma quanti passi vogliamo? Va ricordato che in linea di massima i valori sono gli stessi, legati da un fattore di proporzionalità a seconda dell'impedenza totale.
Però, dati i valori minimi di resistenza ottenibili, un attenuatore da 5k avrà un range dinamico inferiore a un attenuatore da 50k di 20dB, per cui certi valori di attenuazione non saranno possibili.

Indicativamente, tenendo conto di 50 Ohm come resistenza minima, abbiamo:

5k -40dB
10k -46dB
25k -54dB
50k -60dB
100k -66dB

Facendo i calcoli su 100 Ohm minimo perdiamo 6dB di dinamica.

Teniamo costante il numero di passi o il passo?

Ciao

Andrea

Inviato: 18 lug 2007, 16:01
da marziom
visto che questa sera la passo in albergo, se arriviamo (arrivate...io sarò un'po impicciato) a buttare giu uno schizzo di massima stasera lo sistemo al cad e domani vi posto il circuito....

intanto scarico i DS delle eeprom e dei PIC....

per le EEPROM, rimanendo in casa microchip, ci vuole una 24XX512 da 512Kbit....penso che sia sufficente nò

per i PIC, la EEPROM arriva al massimo a 1024....quindi comunque abbiamo bisogno di una memoria esterna, per quanto riguarda le altre caratteristiche dobbiamo (devo) capire ancora come pilotiamo i LDR
...ci vuole un PIC con DAC? usiamo un DAC esterno? usciamo un potenziometro digitale esterno? ...a proposito di questa ultima opzione io ho queste MCP41010 che si pilotano in seriale...e penso sia una buona scelta.

per la master board direi di lasciare quello che c'è.


marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 18 lug 2007, 16:41
da andypairo
Ho ridato un'occhiata veloce alla bozza della parte selettore de è grossomodo OK a parte:
-Separazione masse segnale/PIC
-selettore o relè che colleghi l'uscita al circuito di calibrazione (e le masse assieme)- va bene un selettore/jumper multiplo
-resistenze serie per i LED visto che li pilotiamo con DAC+resistenza

PS che DAC pensate di adoperare?

PPS Che cad adoperi?

La mainboard mi sembra OK per ora. Bisogna vedere come interfacciare il DAC.

Ciao

Andrea

Inviato: 18 lug 2007, 17:46
da andypairo
Il Pot che indichi ha 256 passi, quindi 8 bit. Non so se sono pochi o sufficienti.

Per generare tutte le impedenze necessarie occorre usarlo come generatore di Vref a partire da 5V stabilizzati e bufferizzare tale tensione con un opamp che regga i 20mA , poi va messa una R in serie per limitare la max corrente a 5V.

Non semplicissimo ma nemmeno trascendentale.
Paolo che dici?

Ciao

Andrea

Inviato: 18 lug 2007, 21:24
da UnixMan
Dunque, vedete voi i dettagli dei micro; dal poco che ho visto il buffer in ingresso è obbligatorio per via della corrente di leakage (consigliano max impedenza 10kOhm).
ti riferisci all'ingresso dell'ADC della PIC?
Come calibrazione vorrei capire... ho rifatto i conti e il sistema da me proposto (Vref fissa e 3 resistenze switchate) consente, con un ADC da 10 bit, di avere oltre 100 lsb per ottava di resistenza.
Allora, ricapitoliamo. Noi non dobbiamo misurare una resistenza incognita; la resistenza (che vogliamo di volta in volta ottenere) la conosciamo. Qualsiasi cosa misuriamo -corrente o tensione che sia-, sappiamo a priori quale dovra` essere il suo valore (lo possiamo calcolare con precisione tenendo conto degli altri parametri). Dobbiamo solo scoprire quanta corrente dobbiamo far passare nel LED per ottenerlo.

La procedura di calibrazione quindi consistera` nell'aumentare lentamente la corrente nel LED fintanto che` il sistema di misura non ci segnalera` in qualche modo che il LDR ha raggiunto il valore voluto. A quel punto non ci resta che scrivere il valore corrente del DAC che pilota il LED nella tabella di calibrazione e passare al valore successivo.

Quindi, come detto possiamo usare anche un semplice comparatore... e se con l'ADC interno ci vuole cmq. un buffer esterno, allora forse tanto vale fare davvero cosi` ed entrare da un ingresso digitale. :?:

Oppure si puo` utilizzare comunque l'ADC (se ci viene "gratis" con la PIC scelta) sfruttandolo pero` sostanzialmente come comparatore, con il vantaggio di poter vedere quando/quanto ci si sta` avvicinando/allontanando al/dal valore cercato (e quindi e.g. si puo` precedere a "velocita`" diverse a seconda che si sia piu` o meno lontani dal valore cercato, tornare indietro se x sbaglio lo si e` superato, etc... ma queste sono finezze e dettagli di cui eventualmente discuteremo in seguito).

Cio` premesso, ovviamente si puo` anche misurare la resistenza con l'ADC utilizzando uno qualunque dei metodi di cui avevamo parlato in precedenza e comparare in software il valore misurato con quello cercato, il tutto ovviamente ripetuto di continuo mentre si incrementa l'ingresso del DAC che controlla la corrente nel LED... pero` onestamente mi sembra piu` complicato e potenzialmente anche meno preciso. :?:

Anche dal punto di vista del software, mi sembra molto piu` semplice leggere un valore predeterminato da una tabella, impostarlo nel DAC che alimenta il circuito di calibrazione, far partire un contatore che pilota l'altro DAC (che controlla il LED) e, non appena arriva il segnale dal comparatore, fermare il contatore stesso e trasferirne il valore nella tabella di calibrazione.
Come calibrazione vorrei capire... ho rifatto i conti e il sistema da me proposto (Vref fissa e 3 resistenze switchate) consente, con un ADC da 10 bit, di avere oltre 100 lsb per ottava di resistenza.
Il tutto senza dover commutare DAC e altro.
si`, ma x contro devi commutare due resistenze... ci vogliono due rele` e due resistori di precisione in piu`... :|

Viceversa, per commutare il dac "inutilizzato" in modo da usarlo per alimentare il circuito di calibrazione, si puo` usare un secondo scambio dello stesso rele` che attiva la (collega il circuito di) calibrazione ed un solo rele` extra... o forse neanche quello, xche` magari si puo` sfruttare un secondo scambio su quelli della selezione canali (dovrei farmi uno schizzo, ma a naso direi che forse si puo` fare...).
Teniamo costante il numero di passi o il passo?
direi senza dubbio il passo...

poi, fissato un minimo di (almeno!) 100ohm per la Rldr, se la dinamica non ci basta, nessuno ci obbliga a mantenere sempre e comunque costante l'impedenza di ingresso!

Per cui, laddove non ci arriveremmo con Rldr1+Rldr2=K (i.e. per le attenuazioni + alte con K basso), una volta raggiunto il minimo stabilito per la Rldr shunt possiamo tenere fissa questa ed incrementare la Rldr serie fin quanto serve...

Quindi in definitiva possiamo tenere costanti sia il passo (se possibile 0.5dB, cosi` ci viene bene anche per il controllo del balance - che sara` gestito dalla scheda master) che l'attenuazione max (numero di passi) ed ottenere tutto il range dinamico che vogliamo.

idem all'altro estremo per le attenuazioni piu` basse: una volta raggiunto il minimo per la Rldr serie, possiamo aumentare la Rldr shunt fino a spegnere del tutto il LED, se necessario (qui` pero` c'e` il limite ed il problema che oltre un certo punto l'attenuazione effettiva dipenderebbe piu` dall'impedenza del carico a valle che non dai valori impostati nell'attenuatore...).

Ma si puo` fare anche di meglio! :o

Infatti si potrebbero addirittura prevedere tabelle di attenuazione precalcolate per i valori piu` comuni dell'impedenza di carico a valle che tengono conto anche di questa sia per ottenere step sempre precisi che per mantenere realmente costante la Zin... i.e., anziche` limitarsi ad emulare un banale potenziometro ponendo Rldr1+Rldr2=K, possiamo porre Rldr1+(Rldr2//Rload)=K nonche` calcolare gli esatti rapporti di attenuazione di ogni step tenendo conto anche dell'influenza di Rload! :p :?:

Oppure possiamo "inventarci" tabelle per tenere costante l'impedenza di uscita, o ancora per cercare un compromesso ottimale che minimizzi le variazioni tanto dell'impedenza di ingresso che di quella di uscita... piu` ci penso e piu` mi rendo conto che la flessibilita` di questo oggetto ha dell' incredibile, le sue possibilita` sono praticamente illimitate! :)


Ciao,
Paolo.

Inviato: 18 lug 2007, 21:47
da UnixMan
per le EEPROM, rimanendo in casa microchip, ci vuole una 24XX512 da 512Kbit....penso che sia sufficente nò
penso di si`... magari quando abbiamo un po` di tabelle di attenuazione sottomano rifacciamo i conti cosi` ci rendiamo conto meglio.

In ogni caso e` bene prevedere di lasciare un bel po` di spazio inutilizzato per eventuali sviluppi futuri... ; ) in questo "coso" la quantita` di memoria disponibile e` sostanzialmente l'unico limite alla fantasia!!
per i PIC, la EEPROM arriva al massimo a 1024....quindi comunque abbiamo bisogno di una memoria esterna, per quanto riguarda le altre caratteristiche dobbiamo (devo) capire ancora come pilotiamo i LDR
...ci vuole un PIC con DAC? usiamo un DAC esterno? usciamo un potenziometro digitale esterno? ...a proposito di questa ultima opzione io ho queste
io propenderei per un DAC seriale esterno; un 16bit "stereo" pensato per l'audio, economico ma "silenzioso".

Se non vado errato i DAC interni delle PIC ed i pot. digitali tipicamente hanno risoluzioni troppo basse, rischieremmo di tarparci le ali per risparmiare due lire. Inoltre, per evitare di inquinare il segnale audio attraverso il link ottico, il rumore sul pilotaggio del LED deve essere minimizzato quanto piu` possibile. Di qui` l'uso di un DAC pensato x uso CDDA dovrebbe essere una buona scelta... oltre ad essercene una ampia scelta, essere relativamente economici e tutto sommato facili da reperire.
per la master board direi di lasciare quello che c'è.
In linea di massima penso che sia adeguato... ma cmq. di questo direi di riparlarne alla fine, quando ri-verificheremo in dettaglio quella scheda alla luce delle necessita`/possibilita` offerte dalle schede ingressi/attenuatore, delle features che vogliamo implementare subito e/o che prevediamo di poter eventualmente implementare in un secondo tempo aggiornando il firmware, etc.


Ciao,
Paolo.

Inviato: 19 lug 2007, 03:08
da andypairo
Qualche opinione veloce:

-Le "dream features" lasciamole a quando avremo un oggetto funzionante, ora fanno solo confusione

-L'impedenza IMHO è meglio che sia costante. Per cui avremo tabelle di lunghezza differente

-Nei vari thread nessuno ha mai riscontrato reali problemi con i bassi valori di resistenza. I 100 ohm forse sono un po' troppo conservativi.

-Vorrei capire che motivazioni hai per ritenere che l'uso dell'ADC possa essere meno preciso

-Vorrei capire che strategia useresti per Vref, supponendo di dover settare una resistenza a 90, 1k, 4k7, 20k e 97k.
Tieni conto che il DAC deve anche poter erogare i 20mA per il led.

-OK per il 16bit, (ne servono 4 canali). Per il rumore possiamo mettere un bel cap in parallelo al led.

Ciao

Andrea

Inviato: 20 lug 2007, 01:38
da UnixMan
-Le "dream features" lasciamole a quando avremo un oggetto funzionante, ora fanno solo confusione
si e no`... discuterne ora in dettaglio magari potrebbe sembrare prematuro, ma e` bene tenere a mente ed in buon conto tutte le possibilita` per evitare di precuderci la possibilita` di implementarle in seguito. Ma, soprattutto, abbiamo comunque bisogno di sapere fin da adesso come saranno fatte queste benedette tabelle (di che valori di resistenza avremo effettivamente bisogno, etc) per valutare correttamente come realizzare tanto l'hardware che il software.

Dopo tutto si tratta semplicemente di calcolare qualche tabella e vedere cosa ne viene fuori...
-L'impedenza IMHO è meglio che sia costante.
anche a costo di sacrificare il range dinamico? e perche`?

Perche` mai dovremmo limitarci ad emulare un banale potenziometro!?

In genere, il problema maggiore con i "pre" passivi e` l'impedenza di uscita... di solito si finisce con lo scegliere una imp. di ingresso piuttosto scarsina per garantirsi che la max imp. di uscita rimanga sempre ragionevolmente bassa per non trasformare il tutto in un passa basso, incorrere in slew rate limitations, etc... ma, nal caso specifico, una volta raggiunto il minimo valore possibile per la Rldr shunt, l'imp. di uscita rimane sostanzialmente fissata da questa, per cui aumentare l'imp. di ingresso in generale non ha effetti negativi...

nel peggiore dei casi, per effetto delle interazioni tra impedenza di uscita dello stadio a monte, cavi, capacita` parassite varie, etc. si potrebbe verificare una leggera e progressiva tendenza ad accentuare le freq. + alte all'aumentare dell'impedenza di ingresso, cioe` al crescere dell'attenuazione oltre il punto in cui l'imp. di ingresso comincia a salire (che diversamente sarebbe comunque l'attenuazione max raggiungibile). Al piu` quindi ci sarebbe una sorta di effetto "presa fisiologica" ai volumi piu` bassi, insomma... il che tutto sommato e` un ulteriore vantaggio! :D
Per cui avremo tabelle di lunghezza differente
questo in linea di massima non dovrebbe essere un grosso problema, ma complicherebbe un po` il firmware. Anziche` gestire le tabelle banalmente con un loop fisso bisognerebbe usare qualche "trucco" (tipo scrivere la lunghezza di ogni tabella "in testa" alla stessa) oppure adottare una struttura dati un po` + sofisticata (e complicata) tipo linked list o roba del genere. Al solito, il problema sono le risorse limitate delle PIC ma immagino che, se proprio dobbiamo, in qualche modo dovremmo riuscire a farlo. Marzio? :?:

Pero`... perche` mai dovremmo complicarci la vita inutilmente per avere un risultato peggiore? Oltretutto, tabelle di lunghezza diversa ci creerebbero ulteriori problemi nel passare da una tabella all'altra, cosa che dovra` essere gestita nel modo piu` semplice possibile dalla scheda di controllo... non voglio dovermi preoccupare anche li` di quale sia il numero di passi delle varie tabelle!

No, scusa ma non ha senso. Stabiliamo fin da ora un valore ragionevole per l'attenuazione massima (40dB? 60dB? 100dB?) e poi facciamo tutte le tabelle con lo stesso numero di passi.

BTW: una cosa che mi e` venuta in mente e da valutare e` la eventuale possibilita` di sostituire le tabelle di attenuazione precalcolate con degli algoritmi che le determinino (calcolino) sul momento utilizzando un unico (ed ampio) set predeterminato di valori possibili (e ragionevoli) per le Rldr. Risparmieremmo un po` di memoria (avremmo le sole tabelle di calibrazione per gli LDR) a prezzo di qualche complicazione in piu` nel codice e soprattutto, verosimilmente, di una minore flessibilita`... boh, non credo che convenga... :?:
-Nei vari thread nessuno ha mai riscontrato reali problemi con i bassi valori di resistenza. I 100 ohm forse sono un po' troppo conservativi.
personalmente continuo a preferire l'idea di evitare di superare i 2/3 della max corrente ammessa per lunghi periodi, quale che sia la resistenza minima a cui cio` corrisponde. Comunque, queste sono cose che si imposteranno via software... per cui ognuno e` libero di scriversi (e caricare nella propria EEPROM) le tabelle (o gli algoritmi, se prendiamo quella via) che preferisce.

Al di la` di questo, continuo a non vedere il problema. Nel lightspeed originale questo esiste ed e` dovuto alle limitazioni del "sistema di controllo" (il potenziometro...) che obbliga ad un range dinamico limitato e soprattutto a variazioni sempre e comunque "simmetriche" della corrente nei due LED/LDR della "L". Guarda caso, uno dei motivi per usare un sistema piu` sofisticato come vogliamo fare noi e` proprio quello di evitare e superare tali limitazioni!
-Vorrei capire che motivazioni hai per ritenere che l'uso dell'ADC possa essere meno preciso
uhmm... sai che non mi ricordo piu`?! acc, sara` il caldo... boh, pero` se l'ho scritto qualcosa doveva essermi saltato in mente... dovrei ripensarci meglio. Pero` forse era una stupidaggine... magari avevo in mente le approssimazioni nei calcoli ma, a pensarci bene, probabilmente si possono usare valori precalcolati anche con il tuo metodo.
-Vorrei capire che strategia useresti per Vref, supponendo di dover settare una resistenza a 90, 1k, 4k7, 20k e 97k.
facciamo 100, 1k, 10k e 100k che mi sono piu` simpatici... :grin:

Mmmh... ipotizziamo di lavorare a corrente costante. Per semplicita` per ora poniamo Iset=100uA ed Rs=1k. Quindi, dobbiamo porre la soglia del nostro discriminatore a Vset == Iset * Rs = 100mV.

(se dobbiamo/vogliamo usare l'ADC, quale che sia Rs ed Iset possiamo metterci un op-amp in differenziale con quel tanto di guadagno che basta per riportare Vset verso meta` range dell'ADC stesso).

Vset == Iset * Rs ( = 100mV )
Vout == Iset * Rldr
Vadc == Vset + Vout

100 R -> Vout = 00.01 V ; Vadc = 00.11 V
001 K -> Vout = 00.10 V ; Vadc = 00.20 V
010 K -> Vout = 01.00 V ; Vadc = 01.10 V
100 K -> Vout = 10.00 V ; Vadc = 10.10 V

Ovviamente, in questo caso ho scelto Iset ed Rs piu` o meno a casaccio tanto per semplificare i conti, nella realta` andrebbero ottimizzati un po` meglio, comunque con un DAC a 16bit ci stiamo ancora dentro... pero` la precisione rischia di lasciare a desiderare. Indubbiamente e` una bella grana... specie visto che vorrei poterci spingere anche ben oltre i 100k (per intenderci, il mio "target" ottimale sarebbero 4 decadi, da 100 ohm a 1 Mohm a passi dello 0.5% - ammesso e non concesso che si riesca ad ottenere una precisione del genere dai LED/LDR).

Vediamo un po`... se utilizziamo l'ADC, una possibilita` per aumentare il range dinamico e migliorare la precisione e` quella di sfruttarlo per "cambiare scala" utilizzando diversi valori di Iset (e.g. 10uA, 100uA e 1mA) per i diversi range... a quel punto possiamo anche evitare il differenziale su Rs e leggere direttamente Vout con l'ADC.

A questo punto pero` tutto sommato torna in ballo anche la tua idea...

Possiamo fare cosi`: proviamo a vedere se e quanto e` complicato commutare le uscite dei DAC (che comunque abbiamo) buttando giu` uno schema. Poi valutiamo se sia meglio commutare le uscite dei DAC od utilizzare piuttosto una Vref fissa e commutare invece le resistenze. OK?
Tieni conto che il DAC deve anche poter erogare i 20mA per il led.
ovviamente il DAC va` bufferizzato... da valutare se con con un CCS controllato in tensione piuttosto che con un semplice buffer seguito da una R di valore sufficentemente elevato.

Mmmh, ne avevamo gia` discusso, mi sembra... pero` non ricordo piu`, eravamo arrivati a qualche decisione? e` ancora valida?

BTW, mi sa` che torna in auge anche la tua idea della Howland Current Pump... ; ) oppure, guardate qui`:

http://www.linear.com/ad/19-current_control.pdf

oppure ancora qualcosa del genere:

http://bach.ece.jhu.edu/~gert/courses/348/lab2/lab2.html#lab1d
-OK per il 16bit, (ne servono 4 canali).
se intendi dire due canali di DAC per canale audio (i.e. 4 canali DAC per la versione stereo == due DAC su due distinte schede ingressi/attenuatore) OK. In caso contrario... perche` dici che ce ne vogliono 4?!
Per il rumore possiamo mettere un bel cap in parallelo al led.
quello senza dubbio... ma non e` che con un cap risolvi tutto, devi comunque essere quanto piu` possibile "pulito" gia` a monte.

BTW, da quel punto di vista la soluzione buffer+resistenza forse e` piu` vantaggiosa, perche` con la R ed il cap a valle ci si "allontana" dal rumore prodotto tanto dal DAC che del buffer e si puo` formare un bel passa basso "sostanzioso" efficace da frequenze anche molto basse fino alla RF... con una VC-CCS in teoria hai un p/b forse ancora piu` efficacie (Zeq puo` essere anche molto + alta della ns. R), ma in pratica la cosa dipende dalla risposta in freq. del VC-CCS e, come se non bastasse, il rumore prodotto dallo stesso te lo ritrovi sostanzialmente tutto sul LED... mmmmh, mi sa` che, anche se e` meno efficente, e` molto meglio fare cosi`. :|


Ciao,
Paolo.

Inviato: 20 lug 2007, 03:24
da andypairo
Ciao,
vedo che abbiamo tutti le idee chiare :D

Procedendo con ordine:
Ma, soprattutto, abbiamo comunque bisogno di sapere fin da adesso come saranno fatte queste benedette tabelle (di che valori di resistenza avremo effettivamente bisogno, etc) per valutare correttamente come realizzare tanto l'hardware che il software.
Qui credo si tratti di lavorare con margini non proprio risicati sui circuiti.
Non credo valga la pena andare oltre per non mettersi troppi vincoli.

Per quanto riguarda l'impedenza a "naso" mi tranquillizza averla costante ma possiamo includere la "feature" per i passi non realizzabili delle impedenze più basse. Provo a buttare giù uno spreadsheet, ma vorrei sentire altre opinioni.

La lunghezza differente è solo un falso problema comunque, ci metti il max valore di attenuazione o il mute per i valori inferiori a quelli realizzabili e sei a posto ;-)

Per la grandezza della tabella, con 250k e 50 Ohm avremmo 74dB massimi, per cui coi passi da 0.5dB sarebbero oltre 140 passi.

Francamente mi sembrano tantini...se non altro per la velocità di "scorrimento", a meno di usare il trucco della tastiera che se premo un tasto per tot secondi comincia a sparare a raffica.

Per gli usi "normali" direi 60dB (50k) possono andar bene.
Mmmh... ipotizziamo di lavorare a corrente costante. Per semplicita` per ora poniamo Iset=100uA ed Rs=1k. Quindi, dobbiamo porre la soglia del nostro discriminatore a Vset == Iset * Rs = 100mV.

(se dobbiamo/vogliamo usare l'ADC, quale che sia Rs ed Iset possiamo metterci un op-amp in differenziale con quel tanto di guadagno che basta per riportare Vset verso meta` range dell'ADC stesso).

Vset == Iset * Rs ( = 100mV )
Vout == Iset * Rldr
Vadc == Vset + Vout

100 R -> Vout = 00.01 V ; Vadc = 00.11 V
001 K -> Vout = 00.10 V ; Vadc = 00.20 V
010 K -> Vout = 01.00 V ; Vadc = 01.10 V
100 K -> Vout = 10.00 V ; Vadc = 10.10 V
Ma se lavoriamo a corrente costante che ce l'abbiamo a fare il DAC?
Volevo capire come intendevi usarlo perchè IMHO rappresenta una complessità in più che non è detto porti sti gran vantaggi in fase di calibrazione.
Vediamo un po`... se utilizziamo l'ADC, una possibilita` per aumentare il range dinamico e migliorare la precisione e` quella di sfruttarlo per "cambiare scala" utilizzando diversi valori di Iset (e.g. 10uA, 100uA e 1mA) per i diversi range... a quel punto possiamo anche evitare il differenziale su Rs e leggere direttamente Vout con l'ADC.

A questo punto pero` tutto sommato torna in ballo anche la tua idea...
Intendevi forse "se utilizziamo il DAC" ?
(per intenderci, il mio "target" ottimale sarebbero 4 decadi, da 100 ohm a 1 Mohm a passi dello 0.5% - ammesso e non concesso che si riesca ad ottenere una precisione del genere dai LED/LDR).
0.5%??? Cioè 0.04..dB? Non è che esageriamo?; )
Intendevi dB, spero :D
Possiamo fare cosi`: proviamo a vedere se e quanto e` complicato commutare le uscite dei DAC (che comunque abbiamo) buttando giu` uno schema. Poi valutiamo se sia meglio commutare le uscite dei DAC od utilizzare piuttosto una Vref fissa e commutare invece le resistenze. OK?
Commutare i DAC non è complicato concettualmente (o sul LED o sulla R da misurare) ma bisogna capire se porta vantaggi reali.

Una cosa importante:per avere linearità tra la tensione di pilotaggio (DAC) e la corrente nei led siamo quasi obbligati, data la caratteristica V/I dei diodi e la tensione disponibile (5V tipica , a meno di amplificarla), a usare un VCCS. Altrimenti rischiamo di percorrere il range di correnti utili in pochi bit del DAC.

Per la calibrazione il VCCS comporta una complicazione nella gestione e un aumento (relativo) della tolleranza a valori alti di resistenza. Inoltre non vedo vantaggi rispetto al più semplice Vref + resistenza opportuna.

A questo punto:

-pilotaggio del led col VCCS proposto, per 20-25mA max basta un opamp senza bjt, alimentato tra 0 (o -5) e 10V.

-calibrazione: Vref fissa e 3 res switchate o Vref variabile più Rs fissa.

Mo' so' stanco....

Ciao

Andrea

PS ecco un primo spreadsheet per poter calcolare (variando i valori in verde di Rnominale e Rmin) le resistenze target. La colonna "alternativa" indica la Rs (e non la Rp come scritto) calcolata secondo quanto proposto da Paolo per ottenere l'attenuazione desiderata a Rp = Rmin.

Non so che risultati sonori possa portare, ma il 5k ad alti valori di attenuazione arriva addirittura a una decade oltre...





Immagine Attachment: Lightspeed_Calcolo.zip ( 7497bytes )

Inviato: 20 lug 2007, 17:33
da marziom
eccoci qua!, è tornato il bastian contrario (io 8) )

volete vedere come vi faccio bastare 256byte di EEPROM?

seguitemi:

focalizziamoci sul nostro obiettivo: bobbiamo realizzare un attenuatore Lpad su N ingressi
perchè ci interessa la calibrazione? risposta: perchè i LED-LDR non sono tutti uguali, cioè? cioè con XmA uno misura YKohm l'altro ZKohm.....d'altrone una procedura manuale farebbe proprio questo: ne misuri 100 e scegli due con i valori più vicini.
dice: ah! .... allora perchè non facciamo uguale, perchè dobbiamo tracciare tutta la curva di trasferimento del LED-LDR?? per realizzare una attenuazione logaritmica perfetta?? e che ce ne frega, se sento piano alzo, se sento forte abbasso :grin:
ok, quindi della funzione logaritmica non ci frega..... rimane allora l'unica ragione che ha un minimo di importanza: la funzione di trasferimento non è lineare.
vero?? siamo sicuri???.... ma davvero non è proprio lineare????
ecco un esempio di curva:

Immagine

io quasi quasi sarei portato a pensarla lieare...almeno per una buona parte del tratto che ci interessa.... ad ogni modo adesso l'obbiettivo fa riformulato:
quello che ci interessa è trovare 1 valore (o 2, o 3) che ci dica di quanto è diversa la curva rispetto ad una che considereremo quella di riferimento (canali sinitro , linea 1 ad esempio).
Se consideriamo le curve come rette, il valore -parametro- da trovare è il K della retta, il bello è che ce ne serve uno per ogni LED-LDR da controllare.
.... una selezione manuale d'altronde non farebbe proprio questo?

marzio


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 20 lug 2007, 18:51
da UnixMan
vedo che abbiamo tutti le idee chiare :D
idee poche, ma ben confuse... :D

scherzi a parte, x quanto mi riguarda sto` usando il forum un po` come un blocco x appunti x "pensare a voce alta" in modo da poter ragionare insieme... ovvio che i pensieri a ruota libera talvolta possono apparire confusi... :D pero`, anche se diversi dettagli restano ancora da definire il quadro complessivo tutto sommato mi pare abbastanza chiaro. :)
Per quanto riguarda l'impedenza a "naso" mi tranquillizza averla costante ma possiamo includere la "feature" per i passi non realizzabili delle impedenze più basse. Provo a buttare giù uno spreadsheet, ma vorrei sentire altre opinioni.
OK. direi che gia` da li` dovremmo renderci conto meglio.

BTW: se vuoi, posso mandarti via mail un paio di spreadsheet che avevamo preparato per l'attenuatore a scatti del "PowerTotem"... una delle versioni usava un attenuatore shunt, e puo` essere una base di partenza da cui partire x risparmiare tempo.

edit: P.S.: ok, troppo tardi... btw, te lo mando lo stesso, c'erano diverse cosine simpatiche. :)
La lunghezza differente è solo un falso problema comunque, ci metti il max valore di attenuazione o il mute per i valori inferiori a quelli realizzabili e sei a posto ;-)
si, ok... pero`, ripeto, onestamente non vedo perche` rinunciare alle attenuazioni piu` alte. Tantopiu` che (a meno di casi estremi con "catene" dal guadagno esagerato) corrisponderebbero comunque a livelli di ascolto da sottofondo, per cui chi se ne frega se le prestazioni non sono esattamente quelle "di targa" per via dell'impedenza di ingresso che da un certo punto in poi aumenta al diminuire del volume...
Per la grandezza della tabella, con 250k e 50 Ohm avremmo 74dB massimi, per cui coi passi da 0.5dB sarebbero oltre 140 passi.
onestamente, penso che -60dB max (piu` il mute) siano piu` che sufficenti per qualsiasi applicazione ragionevole...
Francamente mi sembrano tantini...se non altro per la velocità di "scorrimento", a meno di usare il trucco della tastiera che se premo un tasto per tot secondi comincia a sparare a raffica.
E` una cosa da fare senzaltro... ma riguarda la scheda master... ogni cosa a suo tempo. :)
Per gli usi "normali" direi 60dB (50k) possono andar bene.
ok, allora siamo daccordo. Solo che gli stessi -60dB li vogliamo ottenere anche con 5K di Zin, e senza far scendere Rldr sotto i 100ohm... per cui selezionando le Zin "nominali" piu` basse questa in effetti comincera` a salire abbastanza presto. Poco male... come dicevo, tipicamente le Zin basse si scelgono solo per avere Zout basse e questa condizione e` rispettata comunque.
Ma se lavoriamo a corrente costante che ce l'abbiamo a fare il DAC?
Volevo capire come intendevi usarlo perchè IMHO rappresenta una complessità in più che non è detto porti sti gran vantaggi in fase di calibrazione.
ahem... ok, mi sono espresso male ed ho creato confusione, sorry. :oops:

Con "lavoriamo a corrente costante" in questo caso non intendevo affatto dire che iniettiamo una corrente costante nel LDR!

L'espressione "corrente costante" si riferiva al fatto che, per ogni step, una volta che Rldr ha raggiunto il valore stabilito per lo step stesso, la corrente che scorre (Iset) e` la stessa. Ovviamente, visto che Rs e` costante e non cosi` alta da rendere la corrente quasi indipendente da Rldr (anzi, ovviamente deve essere vero il contrario!), per avere la stessa Iset con valori di Rldr diversi si deve fornire una Vref differente con il DAC.

E` piu` chiaro adesso?
Vediamo un po`... se utilizziamo l'ADC, una possibilita` per aumentare il range dinamico e migliorare la precisione e` quella di sfruttarlo per "cambiare scala" utilizzando diversi valori di Iset (e.g. 10uA, 100uA e 1mA) per i diversi range... a quel punto possiamo anche evitare il differenziale su Rs e leggere direttamente Vout con l'ADC.
Intendevi forse "se utilizziamo il DAC" ?
No, proprio l'ADC, utilizzato al posto del comparatore per determinare il raggiungimento del valore prefissato di Iset (o di Vout). Ovviamente sempre con il DAC a generare la Vref variabile (se commutiamo i DAC a valle del buffer+resistenza o del VCCS non dobbiamo far altro che attaccarlo all'Out e, programmando con il DAC "n" diversi livelli di corrente, otteniamo "n" range di misura... a quel punto anche un ADC da 8bit ci va` largo).

In pratica se vuoi e` una variante della tua idea delle resistenze commutate ma, anziche` commutare le resistenze, si utilizza il DAC per cambiare la tensione Vref (nel caso DAC + Rs) o "direttamente" la corrente nel caso di DAC + VCCS.

Mmmmh... c'e` ancora un'altra possibilita` (altra variazione sullo stesso tema).

Qualora (ammesso e non concesso che...) commutare i DAC dovesse rivelarsi complicato, possiamo evitare di usare un DAC vero e proprio e lavorare (stavolta veramente! :D ) a corrente costante con un CCS "programmabile" che fornisca i 3 o 4 diversi livelli di corrente che ci servono, selezionabili con un comando dal PIC (anche in questo caso poi si "legge" Vout con l'ADC). Oppure, analogamente, con un regolatore di tensione (ovviamente con adeguata Rs in serie) che possiamo programmare sui soliti 3 o 4 livelli.
Commutare i DAC non è complicato concettualmente (o sul LED o sulla R da misurare) ma bisogna capire se porta vantaggi reali.
mi sa` che di nuovo mi sono spiegato male... l'idea e`: se e` piu` semplice/economico "cambiare scala" commutando i DAC facciamo cosi`, viceversa commutiamo le resistenze oppure, sempre sulla base di considerazioni di semplicita`/economia (funzionalmente non cambia nulla) usiamo un CCS o un generatore di tensione "programmabili" (vedi sopra), cosi` che magari possiamo "commutarli" a stato solido evitando l'uso di altri rele`. :?:
Una cosa importante:per avere linearità tra la tensione di pilotaggio (DAC) e la corrente nei led siamo quasi obbligati, data la caratteristica V/I dei diodi e la tensione disponibile (5V tipica , a meno di amplificarla), a usare un VCCS. Altrimenti rischiamo di percorrere il range di correnti utili in pochi bit del DAC.
certamente... se optiamo per la soluzione buffer+resistenza il "buffer" deve avere necessariamente guadagno > 1. Daltronde, anche un VCCS e` un amplificatore (a transconduttanza...).
Per la calibrazione il VCCS comporta una complicazione nella gestione e un aumento (relativo) della tolleranza a valori alti di resistenza. Inoltre non vedo vantaggi rispetto al più semplice Vref + resistenza opportuna.
concordo.
A questo punto:

-pilotaggio del led col VCCS proposto, per 20-25mA max basta un opamp senza bjt, alimentato tra 0 (o -5) e 10V.

-calibrazione: Vref fissa e 3 res switchate o Vref variabile più Rs fissa.
stop. rewind. play. :grin: (vedi sopra...)

Se pilotiamo i LED con DAC+ampli+Rs (sempre di un op-amp e qualche R si tratta...) e commutiamo il tutto a valle della Rs, utilizziamo esattamente lo stesso circuito tanto per pilotare i LED quanto per "cambiare scala" durante la calibrazione!

Onestamente, questa mi sembra la soluzione migliore... :?:

In effetti, forse nell'implementare il software potrebbe "venire meglio" utilizzare una logica "invertita", nel senso che si potrebbe usare l'ADC come comparatore per "cambiare scala" ed il DAC per impostare i valori... ma comunque l'hardware non cambia, ne` cambia la sostanza del metodo o i risultati ottenibili... per cui questo si decidera` in fase di programmazione del firmware a seconda di come ci viene piu` comodo.

Si`, IMHO e` decisamente la soluzione migliore... semplice, elegante, versatile ed anche economica!

PS ecco un primo spreadsheet per poter calcolare (variando i valori in verde di Rnominale e Rmin) le resistenze target. La colonna "alternativa" indica la Rs (e non la Rp come scritto) calcolata secondo quanto proposto da Paolo per ottenere l'attenuazione desiderata a Rp = Rmin.
con 100 ohm di Rldr minima per 60dB si arriva a 100K e la Zin comincia a salire sopra i 34dB di attenuazione per 5k, 40Db per 10k, etc... ottimo e abbondante, IMHO.

Viste le differenze tra un valore e l'altro, temo che invece difficilmente gli LDR ci garantiranno la precisione necessaria per poter scendere a step minori di 1dB... :?:

BTW: ti sei dimenticato di considerare la minima resistenza in serie (che, nella migliore delle ipotesi, e` di 200 ohm).

Infilaci dentro la resistenza del carico (in parallelo alla R shunt).

Non so che risultati sonori possa portare, ma il 5k ad alti valori di attenuazione arriva addirittura a una decade oltre...
in generale, se la sorgente e` in grado di sopportare un carico di appena 5k senza "sedersi" o fare cose strane (il che significa che ha una Zout estremamente bassa ed una buona capacita` di erogazione di corrente), dubito che la cosa abbia una grande influenza. Tantopiu` che, a -60dB, quello che si sente (SE si sente) e` poco piu` di un flebile sussurro...

BTW: avete visto gli ultimi interventi sul diyaudio?

http://www.diyaudio.com/forums/showthread.php?postid=1259417#post1259417

ci stavo pensando anche io... che ci mettiamo a fare un altro LDR in ingresso? A questo punto NON serve + a niente!

OK, ci mettiamo anche noi una banale R da 100 ohm cosi` risparmiamo tanti LDR, i relativi circuiti di comando, la necessita` di calibrarli (a manina) con un trimmer e viviamo felici... :grin:

Bene!

Ci siamo?


Ciao,
Paolo.

Inviato: 20 lug 2007, 20:49
da UnixMan
eccoci qua!, è tornato il bastian contrario (io 8) )
bene... :)
perchè ci interessa la calibrazione? risposta: perchè i LED-LDR non sono tutti uguali, cioè? cioè con XmA uno misura YKohm l'altro ZKohm.....d'altrone una procedura manuale farebbe proprio questo: ne misuri 100 e scegli due con i valori più vicini.
dice: ah! .... allora perchè non facciamo uguale, perchè dobbiamo tracciare tutta la curva di trasferimento del LED-LDR?? per realizzare una attenuazione logaritmica perfetta??
beh, insomma, sni... avere un passo di attenuazione calibrato in dB abbastanza preciso e` comodo e puo` tornare utile... ed anche sapere con una buona approssimazione quanto valgono la Zin, la Zout, poterle variare al volo a piacimento, etc... insomma, per poter fare qualcosina di piu` (e di meglio) del lightspeed originale. Per tutte quelle che Andy ha definito "dream features". Altrimenti con due lire mi faccio un lightspeed clone con due potenziometri, controllo separatamente il volume dei due canali (come gia` faccio comunque ormai da anni...) e ci sto` largo con gli LDR preselezionati senza starmi a complicare la vita con PIC o altro.

Inoltre, tracciare tutta la curva di trasferimento permette di utilizzare nello stesso circuito e senza cambiare una virgola non solo i LED/LDR previsti in fase di progetto ma di fatto qualsiasi altro dispositivo analogo - presente o futuro - che sia comandabile con una corrente DC nel range coperto dal ns. sistema di controllo.

Cio` premesso...
la funzione di trasferimento non è lineare.
vero?? siamo sicuri???.... ma davvero non è proprio lineare????
[...]
io quasi quasi sarei portato a pensarla lieare...almeno per una buona parte del tratto che ci interessa....
beh, insomma... mica tanto... pero`...

una soluzione del genere, appena un po` piu` sofisticata mi era stata gia` suggerita da un collega qualche tempo fa`.

In buona sostanza si tratta di fare un "fit" della curva, ricavare (calibrare) e memorizzare nella EEPROM i (pochi) parametri necessari per caratterizzare ciascun LDR e poi di volta in volta ricalcolarsi al volo la corrente necessaria per ottenere la Rldr richiesta.

Informazioni utili in merito si possono trovare qui`:

http://www1.silonex.com/audiohm/constants.html

(qui` ci sono altre info interessanti: http://www1.silonex.com/audiohm/levelcontrol.html).

Se si fanno le cose x benino e` un po` come disporre di una tabella di calibrazione infinita... salvo che, anziche` tante grosse tabelle, in memoria ci si devono tenere solo pochi parametri per ciascun LDR (la funzione ovviamente e` implementata nel firmware).

Naturalmente tutto cio` non viene gratis, ma al prezzo di una minore precisione... pero` forse si puo` fare tutto anche cosi`.

Unico dubbio: ne vale la pena? qual'e` il vantaggio, risparmiare i pochi euro necessari per un paio di EEPROM in piu`?



Ciao,
Paolo.

Inviato: 20 lug 2007, 21:13
da marziom
Unico dubbio: ne vale la pena? qual'e` il vantaggio, risparmiare i pochi euro necessari per un paio di EEPROM in piu`?
semplicità circuitale e di realizzazione.
il software si fa molto più semplicemente dell'hardware
Visto che sul sito che hai postato c'è anche una bozza di equazione di controllo della curva, se fosse per me io farei come ho detto.
Con pochi valori salvati nell'EEPROM ti calcoli al volo quello che serve....di quanto sbaglieremmo?

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 20 lug 2007, 21:25
da UnixMan
Unico dubbio: ne vale la pena? qual'e` il vantaggio, risparmiare i pochi euro necessari per un paio di EEPROM in piu`?
semplicità circuitale e di realizzazione.
il software si fa molto più semplicemente dell'hardware
onestamente tutta questa complicazione in piu` non la vedo (un chippettino a 8pin in piu`... due sole linee tra questo e la PIC...).

Cio` premesso...
Visto che sul sito che hai postato c'è anche una bozza di equazione di controllo della curva, se fosse per me io farei come ho detto.
Con pochi valori salvati nell'EEPROM ti calcoli al volo quello che serve....di quanto sbaglieremmo?
probabilmente non molto di piu` di quanto sbaglieremmo comunque per via di derive termiche, etc...

Per me va` bene anche cosi`.

BTW, in questo caso direi che convenga senzaltro calcolarsi al volo anche le tabelle di attenuazione.



Ciao,
Paolo.

Inviato: 20 lug 2007, 21:32
da marziom
tutto quello che si può precalcolare è meglio:
non consuma tempo CPU e lo mettiamo nella memoria di programma che è quella più grossa.

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 20 lug 2007, 22:01
da andypairo
Occhio che il fitting mostrato vale tra 3 e 75uA.

Se vogliamo usare seriamente il fitting dobbiamo misurare dei punti (Iled, Rldr) e interpolarli, linearmente o con una equazione di secondo grado (o le spline se sapete impostarle in un PIC :D ).
Con una decina di misure per oggetto (o meno, avendo l'accortezza di usare le stesse R per la misurazione) si possono inserire i coefficienti validi per il range resistivo necessario e usarli per il calcolo della Iled a partire dalla Rldr desiderata.

Questo però non toglie la necessità di calibrazione, a meno di costruire un oggetto (anche semi-manuale) per caratterizzare le LDR e calcolare i coefficienti, che possono essere inseriti nella EEPROM.

Ciao

Andrea

Inviato: 20 lug 2007, 22:31
da UnixMan
Questo però non toglie la necessità di calibrazione,
ovviamente. A parte la mancanza della EEPROM esterna, l'hardware e` lo stesso. Cambia solo il software.

mmmh... a pensarci bene, se nella PIC abbiamo la disponibilita` delle linee necessarie, IMHO nel disegno del PCB la EEPROM conviene infilarcela comunque... non si sa` mai...
a meno di costruire un oggetto (anche semi-manuale) per caratterizzare le LDR e calcolare i coefficienti, che possono essere inseriti nella EEPROM.
no, per l'amor del cielo. Lasciamo tutto com'e`, cosi` che chiunque voglia realizzarne un esemplare non ha che da montare le schede (magari facendosi spedire una PIC pre-programmata se non ha il necessario...), avviare la calibrazione e via, pronti all'uso.


Ciao,
Paolo.


Ciao,
Paolo.

Inviato: 20 lug 2007, 22:38
da andypairo
Quindi se ho ben capito:

-Misuriamo "n" punti (Rldr e relativa corrente) e calcoliamo i coefficienti di interpolazione (lineare, quadratica, spline?) tratto per tratto.

A questo punto, partendo da Rtarget, vediamo dove sta e calcoliamo la relativa Iled... giusto?

L'idea è OK, vediamo se riusciamo a realizzarla :D

Una cosa da premettere: gli "switch" per la calibrazione possono benissimo essere dei jumper che l'amanuense di turno commuta su indicazione del display.
In quest'ottica la mia proposta dei 3 (o più) resistori rimane facilmente attuabile e toglie un sacco di grane e imprecisioni.

Flow chart:
L'utente chiude un jumper per la calibrazione

Display: Chiudere jumper 1 (cioè inserisco R1 nota tra il 5V e il punto di misura)
Utente: chiude jumper e preme un tasto
PIC: misuro qualche punto per ogni ldr e calcolo i coefficienti per il range
Display : chiudere jumper 2
....e così via.

Per generare le tabelle basta copiare le formule di excel, eventualmente acquisendo il valore di impedenza "nominale" durante la fase di calibrazione.

Mi sembra che abbiamo dato una bella semplificata!

Ciao

Andrea

Inviato: 20 lug 2007, 23:00
da marziom
secondo questo:http://www1.silonex.com/audiohm/constants.html
dobbiamo trovare Rs , Rb e K1, K2 dell'equazione Ron=K1/Iled*K2
Rs e Rb le troviamo facilmente= corrente massima sul led, corrente minima sul led.
K1 e K2.....bò qua mi serve una mano.

Per i i jumper va benissimo! era quello che dicevo da un'po.... la procedura la si fa una volta tantum, puo essere pure semimanuale e a case aperto...non importa ( e togliamo di mezzo rele, line di pilotaggio, linee di codice....)

marzio



_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 20 lug 2007, 23:23
da andypairo
L'equazione in questione è una retta :D e vale appunto per correnti tra 3 e 75uA.

Io propongo invece un fitting "a spezzata"(nel caso più semplice) che unisca i punti che andiamo effettivamente a misurare.

Chiaramente abbiamo la necessità che la nostra uscita rappresenti la corrente e quindi useremo un VCCS.

Presi due punti si impone il passaggio tra essi e si ricavano K0 e K1 dell'equazione, alla faccia di Rs, Rv e Rb.
Inoltre pilotando il led con DAC+VCCS, l'interpolazione la fai direttamente col valore del DAC(proporzionale alla corrente)

Ciao

Andrea

Inviato: 20 lug 2007, 23:38
da marziom
scusa perchè fare la spezzata quando sappiamo che gli asintoti dipendono da Rs e Rb?

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 21 lug 2007, 00:05
da UnixMan
Una cosa da premettere: gli "switch" per la calibrazione possono benissimo essere dei jumper che l'amanuense di turno commuta su indicazione del display. In quest'ottica la mia proposta dei 3 (o più) resistori rimane facilmente attuabile e toglie un sacco di grane e imprecisioni.
indubbiamente si potrebbe anche fare... ma... visto che abbiamo gia` il sistema di pilotaggio dei LED (DAC+op-amp+Rs) che e` semplicemente perfetto anche per fare le calibrazioni (con precisione a piacere!) e che in questa fase un canale rimarrebbe inutilizzato, perche` non usarlo invece???

Per quanto riguarda le commutazioni, per evitare pericolosi "errori di manovra" io cercherei di utilizzare per quanto possibile i rele` esistenti...

Casomai, se con quelli che ci sono gia` non ce la facciamo (oppure e` troppo scomodo da fare), mettiamo anche uno switch e/o qualche jumper.
Per generare le tabelle basta copiare le formule di excel,
non prima di averle corrette, pero`... ; ) mancano le compensazioni per la resistenza serie in ingresso e la impedenza del carico... se no` poi in pratica le attenuazioni non tornano precise.
eventualmente acquisendo il valore di impedenza "nominale" durante la fase di calibrazione.
:?: conoscere l'impedenza "nominale" durante la calibrazione non mi pare serva a niente...

mentre invece la si deve poter cambiare al volo durante il funzionamento normale!

Ovviamente, ci vuole una interfaccia di "setup" nella scheda principale che deve permettere (in qualsiasi momento) l'inserimento e la memorizzazione di:

impedenza di uscita della sorgente Zs (1)
impedenza di ingresso "nominale" desiderata Zin (1)
"offset" di attenuazione (1)(2)
impedenza di carico Zload

(1) per ciascun ingresso
(2) per compensare (equalizzare) i diversi livelli di uscita delle varie sorgenti, di modo che commutando dall'una all'altra l'attenuazione cambia automaticamente per garantire che il volume di ascolto rimanga lo stesso.

La scheda principale gestira` direttamente gli "offset di attenuazione" trasmettendo alle schede ingressi/attenuatore i valori di attenuazione gia` corretti in base all'ingresso selezionato, mentre Zs, Zin e Zload saranno ritrasmesse alle schede ingressi/attenuatore insieme ad ogni comando di selezione di ingresso.

I valori di Rldr serie/shunt necessari saranno calcolati "al volo" con un algoritmo furbo che tenga conto di Zs, Zin e Zload (se x qualche motivo non si vogliono le correzioni, basta porre Zs=0 e Zload>=1Meg). Da questi saranno poi calcolati i corrispondenti valori da impostare nei DAC di controllo dei LED.

N.B.: queste IMHO non sono "dream features", ma l'unico motivo reale per realizzare un oggetto del genere. Altrimenti per quanto mi riguarda tanto vale mettere due potenziometri e via andare.
Mi sembra che abbiamo dato una bella semplificata!
bah, a me sembra che abbiamo solo complicato notevolmente il software (e le procedure di calibrazione) per risparmiare un paio di chip da due euro... ma va` bene anche cosi`.



Ciao,
Paolo.

Inviato: 21 lug 2007, 00:50
da UnixMan
Io propongo invece un fitting "a spezzata"(nel caso più semplice) che unisca i punti che andiamo effettivamente a misurare.
la vedrei meglio con una polinomiale... guardando le curve, ad occhio e croce gia` con un secondo - terzo ordine si dovrebbe ottenere un fit praticamente perfetto su tutta la curva. :D
Presi due punti si impone il passaggio tra essi e si ricavano K0 e K1 dell'equazione, alla faccia di Rs, Rv e Rb.
mmh, l'idea non e` male... dovrebbe anche essere abbastanza semplice da implementare in pratica.

Come ti gestiresti poi il calcolo delle "Iled" (valori da dare in input ai DAC) a partire dalle Rldr calcolate?

BTW: una alternativa simpatica all'uso di "n" PIC potrebbe essere questa:

FOX Board, a complete Linux system in just 66 x 72 mm http://www.acmesystems.it/?id=4

ha l'I2S per pilotare il DAC, una marea di I/O, interfacciamenti e risorse sufficenti per fare qualsiasi cosa possa passare per la testa da qui` al prossimo secolo... :D

(va beh, x questa applicazione sarebbe solo "leggermente" esagerata... :grin: )


Ciao,
Paolo.

Inviato: 21 lug 2007, 02:26
da andypairo
Ciao,
chi tira di quà... chi tira di là... :D vediamo di trovare un accordo ; )
indubbiamente si potrebbe anche fare... ma... visto che abbiamo gia` il sistema di pilotaggio dei LED (DAC+op-amp+Rs) che e` semplicemente perfetto anche per fare le calibrazioni (con precisione a piacere!) e che in questa fase un canale rimarrebbe inutilizzato, perche` non usarlo invece???
Per un po' di motivi:
1- Se vogliamo lavorare sulla relazione Iled-Rldr dobiamo avere un pilotaggio che imponga la corrente, quindi VCCS.
2- Il VCCS potrebbe essere usato anche per la calibrazione ma generare con precisione correnti tra 100uA e 20mA non è una bazzeccola, a meno di accettare un errore di circa il 10% a 100k.
L'impedenza del VCCS è alta ma finita.
Una resistenza adeguata non crea problemi, in quanto ragioniamo su un partitore.
Idem se avessimo Vref + resistenza come pilotaggio: essa sarebbe sempre costante e l'esito della misura è influenzato a seconda della resistenza con cui si confronta. Cambiando resistenze si usa invece un valore dello stesso ordine di grandezza e la precisione è più costante.
conoscere l'impedenza "nominale" durante la calibrazione non mi pare serva a niente...
In effetti basta impostarla.
impedenza di uscita della sorgente Zs (1)
impedenza di ingresso "nominale" desiderata Zin (1)
"offset" di attenuazione (1)(2)
impedenza di carico Zload

(1) per ciascun ingresso
(2) per compensare (equalizzare) i diversi livelli di uscita delle varie sorgenti, di modo che commutando dall'una all'altra l'attenuazione cambia automaticamente per garantire che il volume di ascolto rimanga lo stesso.
Direi che sono "feature" avanzate, sicuramente praticabili.
Essendo per la politica dei piccoli passi comincerei almeno all'inizio con le cose più semplici e vedrei di farle funzionare, per poi passare alle migliorie.
Sarebbe bruttissimo sviluppare una compensazione della miseria e poi vedere che non riusciamo a far trackare i pot virtuali!

La compensazione delle Zsource e Zcarico sono abbastanza banali, una è un serie a Rs e l'altra in parallelo a Rp.

bah, a me sembra che abbiamo solo complicato notevolmente il software (e le procedure di calibrazione) per risparmiare un paio di chip da due euro... ma va` bene anche cosi`.
Da parte mia il motivo non è il risparmio. Il software è più semplice perchè non devi gestire Vref per la corrente nella Rldr.
la vedrei meglio con una polinomiale... guardando le curve, ad occhio e croce gia` con un secondo - terzo ordine si dovrebbe ottenere un fit praticamente perfetto su tutta la curva.
Io dico di imparare prima a gattonare, poi provvederemo a correre.
Un secondo ordine dati 3 punti te la riesco a calcolare, se riesci a invertire un'eq. di terzo grado accomodati :D

Analisi numerica al poli mi è piaciuta poco, non ho intenzione di rifare il cosrso per implementare una polinomiale coi minimi quadrati. :?

Provo a buttare giù due equazioni per ricavare i k dai punti.
Come ti gestiresti poi il calcolo delle "Iled" (valori da dare in input ai DAC) a partire dalle Rldr calcolate?
Qui sta il fulcro del ragionamento: usando un VCCS il numerino che scrivi nel DAC è proporzionale alla corrente, per cui in realtà noi andremo a fare un fitting già "scalato" alle nostre esigenze, perchè dalle misurazioni avremo delle coppie di valori Rldr, DACout, con DACOut = k*Iled.

Per il primo grado: X=DAC Y=Rldr

Y= mX + q eq generale
Y1 = mX1+q 1° punto
Y2 = mX2 + q 2° punto

m = (Y1-Y2)/(X1-X2)
q= Y1 - mX1 oppure = Y2 - mX2

L'approssimazione lineare (e m e q calcolati) vale ovviamente solo per resistenze target comprese tra Y1 e Y2.

Analogamente si procede per il secondo grado, con 3 punti ovviamente :D :D

Ciao

Andrea

Inviato: 21 lug 2007, 22:58
da UnixMan
indubbiamente si potrebbe anche fare... ma... visto che abbiamo gia` il sistema di pilotaggio dei LED (DAC+op-amp+Rs) che e` semplicemente perfetto anche per fare le calibrazioni (con precisione a piacere!) e che in questa fase un canale rimarrebbe inutilizzato, perche` non usarlo invece???
Per un po' di motivi:
1- Se vogliamo lavorare sulla relazione Iled-Rldr dobiamo avere un pilotaggio che imponga la corrente, quindi VCCS.
perche`, un generatore di tensione con in serie una Rs >> Rload cos'e`? ; )

Gli unici inconvenienti sono la minore efficenza (potenza dissipata su Rs) e la necessita` di una tensione di alimentazione piu` elevata.

Quant'e` l'impedenza dei nostri LED quando conducono (max/min), e quindi quanto grande dovrebbe essere Rs?
Idem se avessimo Vref + resistenza come pilotaggio: essa sarebbe sempre costante e l'esito della misura è influenzato a seconda della resistenza con cui si confronta. Cambiando resistenze si usa invece un valore dello stesso ordine di grandezza e la precisione è più costante.
mmmh... vediamo...

In effetti, credo che la soluzione che non mi sono mai tolto dalla testa sia quella di "evitare" il partitore rendendo Rs trascurabile rispetto alla resistenza da misurare... visto che non dobbiamo misurare resistenze molto basse, Rldr>=100, e` semplice. Basta mettere Rs<=1. La tensione sull'LDR sara` sempre circa uguale a quella impostata sul DAC (con Rs=1 ==> 1% di errore max a 100 ohm, 0.1% ad 1k, 0.01% a 10K, etc...). La corrente la si legge ai capi di Rs con un differenziale la cui uscita va` all'ADC ed il gioco e` fatto.

Ovviamente, se si usa una tensione fissa si ha il solito problema del range dinamico... ma basta usare 3-4 tensioni diverse per "cambiare scala" e riportare la corrente in un range adeguato.

Oppure, come suggerivo, si puo` fare viceversa, cioe` utilizzare un comparatore programmabile (o l'ADC usato come tale) su 3-4 livelli di corrente diversi a seconda del range e "leggere" la Vout impostandola sul DAC. Per migliorare la sensibilita` alle correnti piu` basse (precisione sulle misure dell'estremo alto di Rldr) si puo` utilizzare una Rs un po` piu` grande e, ai valori di Rldr piu` bassi, compensarne l'effetto tenendo conto nei calcoli che per Rs ~ Rldr ==> Vout=Vdac+Iset*Rs (siamo tornati al partitore... ma solo per parte di range dove questo e` utile, visto che prima o poi l'effetto diventa comunque trascurabile).

Ecco, credo che l'idea fosse proprio questa... allora, ricapitoliamo:

Vdac=(Rldr+Rs)*Iset

Rs ed Rldr (che voglio ottenere) sono noti, Iset (soglia del comparatore) la imposto io in modo da avere una buona sensibilita` di Vdac rispetto alle variazioni di Rldr. Non mi resta che calcolarmi Vdac, impostarla sul DAC e quindi far crescere Iled fintanto che Ildr<Iset. Quando Ildr=Iset ho raggiunto il risultato, nel DAC che comanda il LED e` impostato il valore che sto` cercando (e tra l'altro tiene automaticamente conto delle imprecisioni del sistema di pilotaggio del LED).

Per tornare al discorso sulla precisione, in questo caso impostando Iset diverse per range di Rldr diversi si ottiene esattamente lo stesso effetto che si otterrebbe tenendo Vref fissa e cambiando Rs. Quello che ci interessa e` infatti la sensibilita` di Vdac rispetto ad Rldr, il cui fattore di proporzionalita` e` dato da Iset, indipendentemente da Rs (che stabilisce unicamente un "offset" rispetto al range del DAC).

Sbaglio? :| :?:

Detto questo... dal punto di vista dell'hardware in effetti forse tutto sommato e` piu` semplice mettere 3-4 resistenze con relativi jumper attaccate ad un regolatore fisso evitando di dover mettere il differenziale, commutare i DAC, etc...

Pero` questo non viene affatto gratis, perche` si complica ancora di piu` il firmware: cosi` facendo dobbiamo x forza gestire una qualche se pur minimale interfaccia utente interattiva per le calibrazioni, dovendo quindi "passare" in quache modo per la scheda principale che gestisce tasti e display.

Nella mia ipotesi invece la procedura sarebbe avviata con uno switch (o un jumper) sulla scheda e poi proseguirebbe in modo del tutto automatico, gestita interamente dal uC della scheda stessa. Per le segnalazioni (calibraz. in corso - completa) basterebbe banalmente un led montato sulla scheda stessa.

Oltre a questo, si rende piu` laboriosa la procedura di calibrazione... che, per forza di cose (visti i tempi di assestamento degli LDR), e` gia` di suo anche lunga e lenta... se si facesse come dicevo io (procedura totalmente automatica, gestita dal uC), si avvia la procedura e, mentre la si lascia andare, si va a fare altro... cosi`, invece, bisogna tenerla sotto controllo per cambiare i jumpers, etc. Speriamo che sia vero che la calibrazione andra` fatta solo una tantum...
conoscere l'impedenza "nominale" durante la calibrazione non mi pare serva a niente...
In effetti basta impostarla.
non ti seguo... :?: (sara` il caldo?!)

Se andiamo per la strada delle Iled "calcolate" (anziche` precalibrate), durante la calibrazione le tabelle di attenuazione non ci interessano affatto - non sappiamo (ne` ci interessa di sapere) quali saranno i valori di Rldr di cui avremo bisogno durante l'uso!

L'unica cosa che dobbiamo fare e` trovare i parametri della funzione prestabilita Iled=f(Rldr) che poi useremo per calcolare le Iled a partire dai valori di Rldr desiderati (a loro volta calcolati al volo a partire dai valori di attenuazione ed impedenza desiderati, Zs e Zload).

Sarebbe bruttissimo sviluppare una compensazione della miseria e poi vedere che non riusciamo a far trackare i pot virtuali!
eh, ma che uomo di poca fede... :D

onestamente l'unica cosa che mi preoccupa e` il grado di precisione che riusciremo ad ottenere, non tanto nel senso di calibrazioni e stime (quelle si possono sempre migliorare), quanto piuttosto rispetto alla precisione max "intrinseca" ottenibile dai LED/LDR. Questo pone un limite allo step di attenuazione minimo che potremo realizzare nonche` alla precisione di tracking che riusciremo ad ottenere... ma di certo non al punto di non riuscirci affatto: se selezionando un po` di dispositivi riescono a farlo con un potenziometro, non vedo proprio perche` non dovremmo riuscirci noi!

Comunque, va da se` che ovviamente non ho nulla in contrario a realizzare un primo prototipo "spartano" (eventualmente anche parziale) per verificare tutto prima di perdere troppo tempo ad affinare il software. Purche` non finisca come al solito che il provvisorio diventi definitivo... :evil:

(P.S.: mamma mia, che brutto neologismo "trackare" :grin: )
La compensazione delle Zsource e Zcarico sono abbastanza banali, una è un serie a Rs e l'altra in parallelo a Rp.
infatti, non ho mai detto che fossero complicate... altrimenti non sarei stato ad insistere x implementarle! ; )
bah, a me sembra che abbiamo solo complicato notevolmente il software (e le procedure di calibrazione) per risparmiare un paio di chip da due euro... ma va` bene anche cosi`.
Da parte mia il motivo non è il risparmio. Il software è più semplice perchè non devi gestire Vref per la corrente nella Rldr.
vedi sopra... dal punto di vista del software, usare le tabelle di calibrazione complete e la calibrazione con DAC e comparatore programmabile (o ADC usato come tale) IMHO e` in assoluto -e di gran lunga- la cosa piu` semplice possibile da fare. L'unica complicazione extra e` data dalla necessita` di comunicare con la mem esterna, ma e` ben poca cosa.

Provo a buttare giù due equazioni per ricavare i k dai punti.
ok...
Per il primo grado: X=DAC Y=Rldr
mmmmh... sara` il caldo, ma ho l'impressione che stai ragionando "al contrario"... noi conosciamo la Rldr che vogliamo ottenere ed abbiamo bisogno di determinare il corrispondente valore da dare al DAC, cioe` ci serve di determinare la funzione DAC=f(Rldr). Non converrebbe quindi invertire gli assi e partire ponendo X=Rldr ed Y=DAC ? :?:


Ciao,
Paolo.

Inviato: 22 lug 2007, 17:52
da andypairo
Ciao,
perche`, un generatore di tensione con in serie una Rs >> Rload cos'e`?

Gli unici inconvenienti sono la minore efficenza (potenza dissipata su Rs) e la necessita` di una tensione di alimentazione piu` elevata.

Quant'e` l'impedenza dei nostri LED quando conducono (max/min), e quindi quanto grande dovrebbe essere Rs?
Prima di tutto il led non è una resistenza :D e bisogna tener conto anche della caduta sulla giunzione (che per esperienza può variare abbastanza e quindi già ti frega in quanto non puoi stabilire "a priori" l'eventuale compensazione), inoltre rischi di dover usare tensioni di alimentazione piuttosto elevate per poter fornire la corrente massima.
In effetti, credo che la soluzione che non mi sono mai tolto dalla testa sia quella di "evitare" il partitore rendendo Rs trascurabile rispetto alla resistenza da misurare... visto che non dobbiamo misurare resistenze molto basse, Rldr>=100, e` semplice. Basta mettere Rs<=1. La tensione sull'LDR sara` sempre circa uguale a quella impostata sul DAC (con Rs=1 ==> 1% di errore max a 100 ohm, 0.1% ad 1k, 0.01% a 10K, etc...). La corrente la si legge ai capi di Rs con un differenziale la cui uscita va` all'ADC ed il gioco e` fatto.
Vediamo.. considerando 20mA (20 mV su 1 Ohm) di fondo scala (1V su 50 Ohm, condizione paragonabile al sisyema proposto da me) il guadagno necessario per il differenziale è 250 (per arrivare a 5V).
Le correnti minime di misura di Rldr possono scendere sotto i 50uA (per 100k)... risultato misuri 12.5mV all'ADC (cioè 3 lsb). Non mi sembra che la risoluzione abbondi. Per non parlare di eventuali offset....

Comunque se tu credi in questo metodo fai un dimensionamento di massima e poi vediamo. Magari mi sfugge qualcosa.
Io qualche numero l'ho buttato giù, ora tocca a te.
Pero` questo non viene affatto gratis, perche` si complica ancora di piu` il firmware: cosi` facendo dobbiamo x forza gestire una qualche se pur minimale interfaccia utente interattiva per le calibrazioni, dovendo quindi "passare" in quache modo per la scheda principale che gestisce tasti e display.
Possiamo sempre metterci dei relè :D
non ti seguo... (sara` il caldo?!)
Ti stavo dando ragione....
eh, ma che uomo di poca fede...
In certi posti dicono "prima vedere cammello...."
mmmmh... sara` il caldo, ma ho l'impressione che stai ragionando "al contrario"... noi conosciamo la Rldr che vogliamo ottenere ed abbiamo bisogno di determinare il corrispondente valore da dare al DAC, cioe` ci serve di determinare la funzione DAC=f(Rldr). Non converrebbe quindi invertire gli assi e partire ponendo X=Rldr ed Y=DAC ?
In effetti è vero, le formule comunque sono sempre quelle.
Mi ero lasciato condizionare dal meccanismo causa-effetto (Rldr dipende da Iled nella realtà) e da come sono inpostate le equazioni sul sito della Silonex (R funzione di Iled).

Ciao

Andrea

Inviato: 23 lug 2007, 14:38
da andypairo
Ecco le formule per l'interpolazione di secondo grado (parabola per 3 punti)

Dati 3 punti di coordinate (X1,Y1), (X2,Y2) e (X3,Y3), i coefficienti della parabola di equazione

y = ax^2 + bx +c
passante per essi sono:

a = (X1*(Y2-Y3)+X2*(Y3-Y1)+X3*(Y1-Y2))/((X2-X1)*(X3-X1)*(X3-X2))
b = -(X1^2*(Y2-Y3)+X2^2*(Y3-Y1)+X3^2*(Y1-Y2))/((X2-X1)*(X3-X1)*(X3-X2))
c = -(X1^2*(X2*Y3-X3*Y2)+X1*(X3^2*Y2-X2^2*Y3)+X2*X3*Y1*(X2-X3))/((X2-X1)*(X3-X1)*(X3-X2))

Molto più complicate rispetto all'interpolazione di primo grado.
Ovviamente per usarle occorre lavorare con matematiche floating point.

Ciao

Andrea

Inviato: 28 lug 2007, 02:12
da UnixMan
Prima di tutto il led non è una resistenza :D
xche`, in un LED il rapporto V/I e` indefinito?! :grin: ...non sara` certo lineare, ma ovviamente e` definibile punto x punto. Per questo chiedevo max e min "R". :D

BTW, fatti due conti... concordo con te. Per avere prestazioni decenti dovremmo salire decisamente troppo con alimentazione (e dissipazione!). Vada senza dubbio per il CCS.

Alcuni link interessanti in merito:

http://www.maxim-ic.com/appnotes.cfm/an_pk/3464

http://www.edn.com/index.asp?layout=art ... A46969&1=1

http://www.edn.com/article/CA321804.html

http://www.epanorama.net/links/psu_current.html

Vediamo.. considerando 20mA (20 mV su 1 Ohm) di fondo scala (1V su 50 Ohm, condizione paragonabile al sisyema proposto da me) il guadagno necessario per il differenziale è 250 (per arrivare a 5V).
Le correnti minime di misura di Rldr possono scendere sotto i 50uA (per 100k)... risultato misuri 12.5mV all'ADC (cioè 3 lsb). Non mi sembra che la risoluzione abbondi. Per non parlare di eventuali offset....
per quello subito dopo dicevo di adottare correnti diverse per "range" diversi ed eventualmente Rs molto piu` alte (~1K), di cui ovviamente tenere conto nei calcoli (almeno fin dove e` rilevante). In pratica l'idea era di combinare il range dinamico del DAC (16bit) che fornisce Vref con quello del ADC (10bit) che legge la corrente per "starci dentro" piu` agevolmente ed aumentare la risoluzione.

BTW, nel file Immagine Allegato: Lightspeed_calib.zip ( 34100bytes )

ho buttato giu` due conticini x valutare varie opzioni possibili. Vediamo quali...

Una alternativa e` quella di tornare all'idea di usare un CCS per iniettare una corrente predefinita nel LDR e leggere direttamente Vout==Vldr con l'ADC oppure con un comparatore su "n" livelli (per "cambiare scala"). Nel file in attach ci sono un po` di conti per due possibili alternative in questo senso.

Nel primo foglio, "CCS e ADC", si usa un CCS programmabile su "n" livelli prestabiliti (nel file ne ho usati 4 decadici, da 5uA a 5mA) e l'ADC per misurare la tensione.

Nel secondo foglio, "PCCS e comp.", si procede in maniera inversa utilizzando invece un CCS controllato da un DAC a 16bit (cioe` lo stesso che utilizziamo per pilotare i LED) ed un comparatore programmabile su "n" livelli (ancora una volta ne ho usati 4, in questo caso da 0,2V a 20V). Ovviamente, in luogo del comparatore programmabile si possono utilizzare "n" comparatori fissi oppure ancora l'ADC (controllando le "soglie" via software).

I maggiori limiti di queste opzioni sono soprattutto risoluzione e precisione effettive del CCS stesso... che, ovviamente, per non introdurre errori significativi ai valori piu` alti dovrebbe avere anche una Zout>10Mohm ed una compliance (max vout) la piu` alta possibile.

Le altre opzioni prevedono invece l'uso di un generatore di tensione "Vref" in serie con una Rs.

Nel terzo foglio, "DAC e ADC" c'e` una bozza dell'idea di utilizzare il DAC per Vref e l'ADC per misurare la corrente per mezzo del "solito" differenziale su Rs.

Nel quarto foglio, "Prog Vref e ADC", si prevede invece l'uso di un regolatore di tensione "programmabile" su "n" livelli per effettuare il cambio di scala, tenendo Rs fissa e misurando la corrente con l'ADC per mezzo del "solito" differenziale su Rs.

Infine, nell'ultimo foglio, "Switched RS", c'e` la tua idea... si tiene costante Vref e si cambia Rs, misurando Vout con l'ADC.


Che dire... provate a giocare un po` con le varie opzioni... poi vediamo di deciderci.

Non converrebbe quindi invertire gli assi e partire ponendo X=Rldr ed Y=DAC ?
In effetti è vero, le formule comunque sono sempre quelle.
ovviamente, finche` restiamo in un sistema lineare... :D

BTW: ho visto le equazioni che hai postato... dubito che un PIC ci permetterebbe di fare tutti quei conti con una precisione adeguata.

Direi comunque che una serie di spezzate scelte con cura dovrebbero essere piu` che sufficenti. Stavo quindi pensando all'algoritmo da usare in fase di calibrazione...

l'idea e` questa:

prendiamo due punti abbastanza vicini e calcoliamo la nostra retta;

sulla base di questa calcoliamo un terzo punto piu` avanti, e confrontiamo il valore reale (misurato) con quello "predetto" (calcolato).

Se i due valori sono sufficentemente vicini, ripetiamo la cosa fintanto che lo scostamento (errore) non supera una certa soglia.

A quel punto torniamo un po` indietro (e.g. al punto precedente), ricalcoliamo la nuova pendenza e reiteriamo il tutto.

In questo modo dovremmo riuscire ad ottenere la max precisione possibile con un numero minimo di segmenti. :?:


Ciao,
Paolo.

Inviato: 28 lug 2007, 16:41
da UnixMan
Avevo dimenticato una opzione... forse la piu` ovvia: utilizzare Vref ed Rs costanti e commutare invece l'ADC per misurare alternativamente Vout (per Rldr < Rs) e Vrs (per Rldr > Rs).

Ho aggiornato lo spreadsheet aggiungendo un foglio...

Immagine Allegato: Lightspeed_calib.zip ( 43007bytes )

...e con questa credo che stavolta le opzioni ci siano tutte. :D


Ciao,
Paolo.

Inviato: 28 lug 2007, 21:11
da andypairo
Ciao,
xche`, in un LED il rapporto V/I e` indefinito?! ...non sara` certo lineare, ma ovviamente e` definibile punto x punto. Per questo chiedevo max e min "R".
Ovviamente non lo è ma non è caratterizzabile con la precisione necessaria in maniera ripetibile (cioè la variazione da esemplare a esemplare non è nota e può essere elevata)

Bene per il file di excel ( a proposito la scritta MSB è sbagliata se intendevi "full scale range" come sembra) ma occorre definire due cose:

-Uno schema applicativo per ogni soluzione, in modo da valutarne la complessità realizzativa ed eventuali problematiche

-Un indicatore di merito che tenga conto di tutti i fattori.

Esempio : la colonna diff(%) indica la variazione percentale del valore convertito a fronte di un incremento noto (10%) della resistenza.
A prima vista i valori migliori sono quelli che tendono a 10 ma in realtà possiamo vedere che, a parte i CCS, i valori "migliori" si ottengono quando il valore convertito è composto da pochi LSB, per cui questo fattore da solo vuol dire poco.

In linea di massima io vedrei:
- Valore convertito composto da un numero elevato di LSB (minimo 200) per contenere l'errore di quantizzazione allo 0.5% massimo (colonna n*LSB Vrs) [RISOLUZIONE]
- Numero di LSB tra un valore e l'altro di resistenza adeguato (colonna diff Vrs) [SENSIBILITA']
-"Peso" in ohm del LSB che cambi in maniera graduale per mitigare problemi dovuti ad eventuali errori sistematici (coi CCS a step, ad esempio, il peso del LSB varia del fattore tra le correnti dei vari step); se ci fosse un offset di un paio di LSB sull'ADC l'errore varierebbe di step grandicelli, specie a resistenze alte. [ROBUSTEZZA]

Avete altre idee?

Una volta deciso cosa è effettivamente importante la scelta sarà più facile.

Ciao

Andrea

Inviato: 29 lug 2007, 21:46
da UnixMan
xche`, in un LED il rapporto V/I e` indefinito?! ...non sara` certo lineare, ma ovviamente e` definibile punto x punto. Per questo chiedevo max e min "R".
Ovviamente non lo è ma non è caratterizzabile con la precisione necessaria in maniera ripetibile (cioè la variazione da esemplare a esemplare non è nota e può essere elevata)
si`, certo... ma la domanda era intesa solo a stabilire un'ordine di grandezza, non una caratterizzazione precisa: era solo per valutare quanto grandi dovessero essere tensione di alimentazione e resistenza serie per avere una precisione sufficente. BTW, visto che abbiamo gia` deciso di optare x il CCS, ormai e` un discorso ozioso...
Bene per il file di excel ( a proposito la scritta MSB è sbagliata se intendevi "full scale range" come sembra)
auff, come sei pignolo... :) comunque si`, hai ragione. Avrei dovuto scrivere "%fs", visto che di quello si trattava.
ma occorre definire due cose:

-Uno schema applicativo per ogni soluzione, in modo da valutarne la complessità realizzativa ed eventuali problematiche
mmmh... a prima vista, le soluzioni sono tutte abbastanza semplici... fondamentalmente sono i "dettagli" che possono renderle piu` o meno complicate. Se ora pero` ci mettiamo ad esplorare i dettagli di tutte le opzioni possibili, rischiamo di non finirla piu`! Quindi, direi che prima sia il caso di "restringere il tiro" alle sole soluzioni migliori (o quantomeno accettabili) dal punto di vista dei risultati ottenibili e solo a quel punto studiarne la complessita` per decidere quale implementare in pratica.
-Un indicatore di merito che tenga conto di tutti i fattori.
mmh, facile a dirsi... bisogna trovare il modo di combinare coerentemente tutti i parametri "pesandoli" correttamente... se hai gia` qualche idea, prova a buttarla giu`, altrimenti vedro` di provare ad inventarmi qualcosa.
Esempio : la colonna diff(%) indica la variazione percentale del valore convertito a fronte di un incremento noto (10%) della resistenza.
A prima vista i valori migliori sono quelli che tendono a 10 ma in realtà possiamo vedere che, a parte i CCS, i valori "migliori" si ottengono quando il valore convertito è composto da pochi LSB, per cui questo fattore da solo vuol dire poco.
infatti, non a caso ho messo anche gli altri... :D e magari me ne sono anche scordato qualcuno.
-"Peso" in ohm del LSB che cambi in maniera graduale per mitigare problemi dovuti ad eventuali errori sistematici (coi CCS a step, ad esempio, il peso del LSB varia del fattore tra le correnti dei vari step); se ci fosse un offset di un paio di LSB sull'ADC l'errore varierebbe di step grandicelli, specie a resistenze alte. [ROBUSTEZZA]
ok, intanto ho aggiunto le colonne "ohm/lsb" e "% ohm/lsb"... (btw: date una occhiata anche alle formule, andavo di fretta...).

Immagine Allegato: Lightspeed_calib.zip ( 61948bytes )


Ciao,
Paolo.

Inviato: 30 lug 2007, 04:21
da andypairo
Ciao,
reply veloce prima di andare a nanna....

Le formule sembrano OK, la % ohm/lsb (indice della risoluzione dell'ADC) bastava ricavarla come 100/n*LSB.

Ho rispolverato la Vref variabile più Rs sfruttando l'idea iniziale di lavorare con V(ADC) costante (se possibile), in modo da massimizzare la risoluzione dell'ADC.

Il risultato mi sembra più che degno.
Il foglio di excel permette di ottimizzarlo ulteriormente.
Coi dati impostati (DAC 16 bit, max 15V e Rs 400 Ohm) abbiamo un comportamento più che buono, con precisione di lettura di poco più dello 0.1% tipica e max 0.5% a 250kOhm.

Che dite l'accendiamo ? :D

Ovviamente comporta che in uscita al DAC vero e proprio avremo un ampli con guadagno 3 per la calibrazione e un VCCS per il pilotaggio del led.
Ho provato a vedere se si poteva adoperare il resistore serie anche per pilotare i led con una dinamica ragionevole (range di correbti in uno span di Vdac di qualche volt almeno) ma la Rs dissiperebbe troppo (8W)

Ciao

Andrea


Immagine Attachment: Vref R optimized.zip ( 7641bytes )

Inviato: 31 lug 2007, 02:01
da UnixMan
Le formule sembrano OK, la % ohm/lsb (indice della risoluzione dell'ADC) bastava ricavarla come 100/n*LSB.
eh, lo sapevo che la fretta e` cattiva consigliera... va beh, se non altro non ci ho messo ca....e. :D
Coi dati impostati (DAC 16 bit, max 15V e Rs 400 Ohm) abbiamo un comportamento più che buono, con precisione di lettura di poco più dello 0.1% tipica e max 0.5% a 250kOhm.
mmh, hai tenuto conto anche della precisione di Vref (i.e. DAC+ampli) oltre che del ADC?

Per come hai impostato la cosa, stai sfruttando il range dinamico del DAC mentre l'ADC e` quasi superfluo... (se aumentiamo un po` il guadagno dell'ampli e la tensione di alimentazione e/o abbassiamo un po` la tensione "Vadc" si puo` anche mettere un semplice comparatore al posto dell'ADC). Il problema pero` e` comunque la precisione di Vref... specie ai valori piu` bassi di Rldr, dove la differenza tra un valore ed il successivo diventa di pochi LSB... :?:

BTW, non so` se l'avete visto: http://www.diyaudio.com/forums/showthread.php?postid=1266650#post1266650

in effetti, aggiungere una R fissa in parallelo agli LDR potrebbe essere una buona idea... non fosse che ci scombinerebbe tutto. :(


Ciao,
Paolo.

Inviato: 31 lug 2007, 02:51
da andypairo
Ciao,
mmh, hai tenuto conto anche della precisione di Vref (i.e. DAC+ampli) oltre che del ADC?
Ho tenuto conto solo dell'ADC per questa stima ma la colonna "DAC Value" indica il valore da impostare (è corrisponde al numero di LSB del DAC).
Il valore minimo è >250, per cui al peggio l'errore "DAC" è < dello 0.5% (trascurando l'errore dell'ampli)

In realtà possiamo ricuperare qualcosa tenendo conto che il DAC usa valori interi per cui la Vadc varierà (poco a dire il vero) di consegenza.

E' vero che sfruttiamo poco la dinamica dell'ADC ma IMO ci puo dare un risultato più corretto e poi già c'è.
La dinamica del DAC è più ampia e sfruttandola a pieno si riesce a fare tutto ragionevolmente.

Usando una Rs da 200 Ohm migliora un poco la situazione a bassi valori di resistenza senza pregiudicare particolarmente le resistenze alte (Almeno a prima vista).

Comunque se vuoi giocare con gli spreadsheet sei il bevenuto. La soluzione migliore vince ;-)
Io purtroppo non ho molto tempo per fare prove ora.
in effetti, aggiungere una R fissa in parallelo agli LDR potrebbe essere una buona idea... non fosse che ci scombinerebbe tutto.
Mah, credo che sia una complicazione inutile andare a lavorare nella zona con caratteristica meno controllata (led vicino allo spegnimento, dove entrano pesantemente in gioco le tolleranze delle Vjunction) per poi riportarsi in un range di resistenza che già di suo è più controllato....

Ciao

Andrea

Inviato: 31 lug 2007, 20:09
da UnixMan
Ho tenuto conto solo dell'ADC per questa stima ma la colonna "DAC Value" indica il valore da impostare (è corrisponde al numero di LSB del DAC).
Il valore minimo è >250, per cui al peggio l'errore "DAC" è < dello 0.5% (trascurando l'errore dell'ampli)
Per me va` anche bene... certo pero` che questa e` la soluzione + complessa sia dal punto di vista hardware (dobbiamo aggiungere il differenziale su Rs e l'ampli in uscita al DAC) che da quello software (dobbiamo tenere conto non solo del valore del DAC ma, da un certo punto in poi, anche di quello dell'ADC).
Comunque se vuoi giocare con gli spreadsheet sei il bevenuto. La soluzione migliore vince ;-)
l'opzione che mi piacerebbe di piu` sarebbe usare DAC+CCS e leggere Vout, perche` sarebbe la piu` semplice da implementare dal punto di vista hardware: un CCS preciso ce lo dobbiamo mettere comunque per pilotare i LED e, leggendo Vout, non dobbiamo aggiungere altro se non al piu` un attenuatore fisso per riportare Vout nel range del ADC. Per quanto riguarda la precisione -se riusciamo a mettere insieme un CCS adeguato- non ci dovrebbero essere differenze significative rispetto all'altro metodo... :?:


Ciao,
Paolo.

Inviato: 31 lug 2007, 22:35
da andypairo
Per me va bene anche il VCCS, ci mancherebbe.
Anzi è la soluzione che preferivo inizialmente.

Il "problema" che ha il circuito da me proposto è che abbiamo, ad alti valori di impedenza, un errore sulla corrente dovuto all'impedenza della R da misurare che diventa comparabile con la R sul ramo di retroazione positivo, dove va a finire un po' della corrente che dovrebbe andare in R.

Mentre scrivevo sta' cosa, ecchecca**o (non ci avevo mai pensato!), la soluzione diventa ovvia!!
Invece di un opamp singolo ne usiamo uno doppio adoperando il secondo opamp per leggere la tensione sul nodo incriminato e il problema sparisce (beh almeno quasi...)

Usando un opamp di precisione le cose sono ancora migliori.

Tirando le somme, col VCCS modificato l'unico problema rimane il range di correnti che è troppo ampio per poter usare una Rs (R1) sola.
Le correnti necessarie sono più alte nel caso del led e più basse per la calibrazione, per cui potremmo usare 1k per la calibrazione e 200 per il pilotaggio led.

Coi valori in figura abbiamo un rapporto di 1mA/V in calibrazione (5mA max, pari a 250mV su 50 Ohm e 500mV su 100 Ohm, pari a 52 e 104 LSB).
Per misurare una R da 100k il DAC deve fornire 50mV (per rimanere nei 5V dell'ADC, comunque >800 LSB per un 16 bit)

[Edit: tenendo conto della cosa si potrebbe usare 2mA/V in calibrazione]

In pilotaggio led abbiamo 5mA/V, max 25mA con 5V sul DAC.

Immagine

Commenti?

Ciao

Andrea

edit 2: se l'opamp riesce a fornire la corrente necessaria il BJT può essere omesso

Inviato: 01 ago 2007, 00:33
da marziom
scusate....ma in questo periodo sto molto impicciato....e non posso aiutare...speriamo dopo questa settimana d'inferno.

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 01 ago 2007, 02:26
da UnixMan
Per me va bene anche il VCCS, ci mancherebbe.
Anzi è la soluzione che preferivo inizialmente.
OK, forse finalmente cominciamo a convergere... ; )
Commenti?
uno si`... buona l'idea del workaround con il secondo op-amp, ma perche` ti vuoi complicare la vita con la HCP? Non abbiamo bisogno di un VCCS "bipolare" (source & sink): tanto x il pilotaggio dei LED che x la calibrazione a noi basta una sorgente di corrente... :)

non potremmo piu` semplicemente utilizzare un uno schema tipo quello adottato qui`: http://www.maxim-ic.com/appnotes.cfm/an_pk/3464
con il solo feedback negativo in corrente "diretto" anziche` avere bridge + o - critici tra i piedi? :?:


Ciao,
Paolo.

Inviato: 01 ago 2007, 03:24
da andypairo
E' vero che non ci serve un VCCS bipolare (che avremmo solo con Vref negativa comunque e senza BJT) )ma il vantaggio della Howland current pump è che Vref è riferito a massa e non a Vcc, che deve essere maggiore di 5V per il drop-out su Rs e sul combo MOS-operazionale.
Quindi ti serve un circuito che adatti l'uscita del DAC all'ingresso del generatore.

A dire il vero continuo a proporla perchè so' de coccio :D .. in realtà l'ho usata in un progetto per lavoro, ho eseguito simulazioni estensive e il circuito si comporta come previsto. :D
E poi non i sembra così complicata (1 precision opamp duale e 5 resistenze, più eventualmente un BJT).....

Per quanto riguarda la "stabilità" del ponte lavorando con un rapporto "in discesa" tra le resistenze (la res. di feedback ad esempio metà dell'altra) l'errore sulle resistenze si ripercuote attenuato sulla corrente di uscita, per cui tanto critico non mi sembra....

Ciao

Andrea

Inviato: 01 ago 2007, 18:41
da UnixMan
l'ho usata in un progetto per lavoro, ho eseguito simulazioni estensive e il circuito si comporta come previsto. :D
beh, di solito e` questo che succede con i circuiti che funzionano... ; ) :D

BTW, se dobbiamo usare 2 op-amp, IMHO questa soluzione forse e` meglio:
http://www.edn.com/article/CA321804.html
http://www.edn.com/contents/images/321804.pdf

...si risparmiano ben due R! :D

invece, un'idea che potrebbe essere molto interessante (sostituendo Ic1 con il DAC) e` questa:
http://www.edn.com/index.asp?layout=articlePrint&articleID=CA46969
http://www.edn.com/contents/images/62200di.pdf

che ne pensi?


Ciao,
Paolo.

Inviato: 01 ago 2007, 19:35
da andypairo
Ciao,
la prima mi sembra valida ma usa un instrumentation amp, che costa sicuramente di più.
Inoltre non sembra avere il range che ci serve, bisognerebbe verificare facendo dei conti. Se vuoi verificare... :) io domani parto per lavoro.

La seconda è a corrente fissa (LM317 serve solo da pre-regolatore a quanto vedo), che ce ne facciamo??

Ma ti fa proprio schifo la Howland? ; )

Ciao

Andrea

Inviato: 01 ago 2007, 23:31
da UnixMan
la prima mi sembra valida ma usa un instrumentation amp, che costa sicuramente di più.
non vorrei dire cavolate ma, se non vado errato, li` hanno usato l'instrumentation amp solo per esigenze di precisione in quanto quell'esempio e` pensato per coprire correnti nell'ordine dei nA (nota la R3 da 10M!). Nel nostro caso penso che si possa usare anche un op-amp normale... :?:
Inoltre non sembra avere il range che ci serve, bisognerebbe verificare facendo dei conti.
per quanto riguarda il range, direi che tutto dipende dal dimensionamento, non vedo xche` non possa essere ricalcolato per coprire il range che ci interessa. Se mi riesce di trovare un attimo di tempo, provero` a fare qualche simulazione...
La seconda è a corrente fissa (LM317 serve solo da pre-regolatore a quanto vedo), che ce ne facciamo??
ahem... rileggi quello che ho scritto: "sostituendo Ic1 con il DAC". Pero` devo dire che mi sono espresso... proprio male, xche` in effetti l'idea mi e` si` venuta guardando quello schema, ma con quello alla fine non ha piu` praticamente nulla a che fare. In sostanza avevo pensato di usare un LM317 con il DAC in modo da stabilire Iout=(Vdac+1.25)/R. Pero`, riguardando il datasheet, direi che decisamente non fa` al caso nostro... la corrente minima x il corretto funzionamento e` di gran lunga troppo elevata.
Ma ti fa proprio schifo la Howland? ; )
no, e` solo che non mi sembra la soluzione migliore per questa particolare applicazione. Andrebbe bene per il pilotaggio dei LED, ma non mi sembra la piu` indicata x le calibrazioni.

BTW: se guardi la tua soluzione al problema dell'impedenza, prova a pensare: se attacchi entrambi gli ingressi dell'op-amp "aggiunto" ai capi di R1, all'uscita ti ritrovi una tensione proporzionale alla corrente in uscita... a questo punto basta collegarla sull'ingresso dell'altro op-amp in modo che la fase sia quella giusta (i.e. feedback negativo in corrente/tensione) ed hai il risultato voluto. Il "ponte" non serve piu`...

Daltronde, se ci pensi bene, nella HCP il ponte di resistenze serve unicamente a collegare entrambi gli ingressi dell'op-amp ai capi della resistenza di sense, in modo che l'ampli lavori in differenziale su di essa con un determinato guadagno...

cioe` se vogliamo serve a poter usare un solo op-amp anziche` due. :D Ma se dobbiamo comunque mettercene due per problemi di Zout, allora IMHO il ponte non ha piu` senso di esistere. Tanto vale mettere un op-amp ai capi della Rs e con l'uscita di questo fare un normale loop di NFB in tensione intorno all'altro.


Ciao,
Paolo.

Inviato: 02 ago 2007, 03:17
da andypairo
Ciao,
non vorrei dire cavolate ma, se non vado errato, li` hanno usato l'instrumentation amp solo per esigenze di precisione in quanto quell'esempio e` pensato per coprire correnti nell'ordine dei nA (nota la R3 da 10M!). Nel nostro caso penso che si possa usare anche un op-amp normale...
L'instrumentation amp è usato perchè è un buon differenziale. Un opamp "classico" lo è molto meno. Usare un opamp "normale" in differenziale comporta l'uso di 4 resistenze in più che poi sono anche loro un "ponte".
Allora è meglio usare un opamp da strumentazione.
per quanto riguarda il range, direi che tutto dipende dal dimensionamento, non vedo xche` non possa essere ricalcolato per coprire il range che ci interessa. Se mi riesce di trovare un attimo di tempo, provero` a fare qualche simulazione...
E' quello che intendevo. Se si può fare con la HCP si può fare anche con questa, basta trovare i valori corretti. Domani parto per una settimana (di lavoro :x ) all'estero, gioca un po' coi simulatori.
no, e` solo che non mi sembra la soluzione migliore per questa particolare applicazione. Andrebbe bene per il pilotaggio dei LED, ma non mi sembra la piu` indicata x le calibrazioni.
A questo punto mi piacerebbe sapere le motivazioni tecniche. Le simulazioni dicono che può funzionare bene, cosa ti preoccupa?

Cmq se riesci a trovare una soluzione che copra tutto il range con la precisione necessaria ben venga.

Ciao

Andrea

Inviato: 06 ago 2007, 22:48
da UnixMan
Usare un opamp "normale" in differenziale comporta l'uso di 4 resistenze in più che poi sono anche loro un "ponte".
Allora è meglio usare un opamp da strumentazione.
hai ragione. BTW: ho dato una occhiata, con 3-5 Euro al pezzo c'e` una buona scelta di instrumentation amp anche su RS... x cui direi che 2 per canale ce li possiamo anche permettere. :)
A questo punto mi piacerebbe sapere le motivazioni tecniche. Le simulazioni dicono che può funzionare bene, cosa ti preoccupa?
lo hai detto tu stesso, l'imp. di uscita... non ho esperienze dirette (e non sono ancora riuscito a trovare il tempo per fare le simulazioni :( ), ma dovunque abbia letto parlano sempre di criticita` e/o problemi vari quando si devono ottenere Zout molto alte con la HCP. Boh...

BTW, vedro` di fare al + presto almeno un po` di simulazioni...


Ciao,
Paolo.

Inviato: 17 set 2007, 19:21
da andypairo
Ciao a tutti,
rientro in ufficio (spero per un po'!) dopo un delirio di trasferte e (meritate) ferie, ci sono degli sviluppi?

Ciao

Andrea

Inviato: 17 set 2007, 19:31
da marziom
...no :? ...
ci sarebbe bisogno di un lavoro di sunto e sintetizzazione di quanto deciso-discusso, io purtroppo in questo periodo sto impegnato.

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 04 gen 2008, 05:49
da UnixMan
ragazzi, svegliamoci... ; ) questo progetto sta` languendo da troppo tempo! :x

BTW, dal forum diyaudio.com e` inaspettatamente arrivata una possibile (quanto interessante!) risposta a molti dei nostri problemi:

http://www.diyaudio.com/forums/showthread.php?postid=1390459#post1390459

questo "bacherozzo":

http://www.analog.com/UploadedFiles/Data_Sheets/AD420.pdf

sembra praticamente fatto apposta per noi! :D :)


Ciao,
Paolo.

Inviato: 04 gen 2008, 15:52
da andypairo
Ciao,
il bacherozzo è interessante ma bisognerebbe vedere
-reperibilità e costi
-facilità di programmazione del micro per implementarlo


Ciao

Andrea

Inviato: 04 gen 2008, 20:33
da marziom
intanto io mi sono procurato gli LDR.
e, visti i tempi che si prospettano penso di utilizzarli a breve con un semplice pot, magari collegato ad una batteria da 12V....
poi vediamo....


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 04 gen 2008, 22:48
da UnixMan
Ciao,
il bacherozzo è interessante ma bisognerebbe vedere
-reperibilità e costi
-facilità di programmazione del micro per implementarlo


Originally posted by andypairo - 04/01/2008 :  09:52:23
per quanto riguarda reperibilita` e prezzi, ho visto che c'e` su RS italia a poco meno di 30 Euro al pezzo. Non e` poco (ce ne serve almeno uno per canale), ma tutto sommato si puo` anche fare... alla fine un DAC + CCS "fatto in casa" non costerebbe poi molto meno (mentre ci darebbe molto piu` da fare ed occuperebbe piu` spazio sui PCB).

Per quanto riguarda la programmazione, non ho ancora avuto il tempo di spulciarmi bene il DataSheet, ma non vedo perche` dovrebbe essere particolarmente complicato. :?:

BTW: ho trovato un altro collega piuttosto ferrato in materia che potrebbe essere interessato al progetto... se si aggrega anche lui, credo che qualsiasi problema relativo alla parte digitale ed al "firmware" sara` un problema presto risolto. ; ) 8)


Ciao,
Paolo.

Inviato: 04 gen 2008, 23:54
da andypairo
30 euro al pezzo è decisamente fuori portata....
Un VCCS costa poco più dell'opamp, cioè dai 3 ai 5€....

Il DAC/ADC inoltre sarebbero interni al microcontrollore.

Stuzzica l'amico, un firmwarista ci serve.

Ciao

Andrea

Inviato: 08 gen 2008, 22:39
da UnixMan
30 euro al pezzo è decisamente fuori portata....

Un VCCS costa poco più dell'opamp, cioè dai 3 ai 5€....

Il DAC/ADC inoltre sarebbero interni al microcontrollore.
si`, ma il tempo dove lo metti? devi progettare, testare e mettere a punto il tutto... gestire con precisione un range dinamico cosi` ampio non e` mica uno scherzo... se dovessimo fare una produzione industriale in grande serie magari varrebbe anche la pena di perdere un po` piu` di tempo per minimizzare i costi ma, dovendo realizzare solo qualche esemplare per noi stessi ed avendo a disposizione una soluzione semplice, sicura e gia` bella e pronta io la sfrutterei... tutto sommato 60 euro sono certamente una cifra non indifferente ma nell'economia generale personalmente non la definirei "fuori portata".

BTW, oltretutto a quanto pare si possono trovare per moolto meno:

http://www.diyaudio.com/forums/showthre ... ost1392189

http://www.rapidonline.com/productinfo. ... leno=77339

A quel prezzo, direi che ci conviene farne incetta subito prima che spariscano... ; )
Stuzzica l'amico, un firmwarista ci serve.
sto` facendo del mio meglio... ; )


Ciao,
Paolo.

Inviato: 08 gen 2008, 23:23
da andypairo
Ohibò, il tutto direi che era già stato sviluppato, in parte per un progetto che ho fatto al lavoro e in parte verificando al simulatore.

Comunque, se abbiamo buone probabilità di avere un firmwarista l'investimento da Rapid si potrebbe fare.

Ciao

Andrea

Inviato: 10 gen 2008, 18:23
da audiog
Salve, non vorrei andare contro corrente, ma non c'è troppa carne al fuoco?
Nel senso che ci sono due problematiche distinte, la prima è il progetto di un sistema di controllo remotizzato per selezionare gli ingressi, il mute, lo standby e controllare il volume indipendentemente dal dispositivo usato, la seconda la relaizzazione di un sistema di attenuazione a stato solido in alternativa a potenziometri, reti resistive a selettore o a relè ecc.
Prima c'erano due discussioni distinte, poi sono state unificate, ma non sarebbe il caso di tornare indietro e dividere questa discussione nuovamente in due distinte?
Del resto sembrerebbero problematiche diverse.
Ciao, Giuseppe.

Inviato: 10 gen 2008, 20:28
da andypairo
Ciao,
di progetti per controllo volume mediante pot motorizzato o selezione ingressi già ne esistono parecchi, anche in forma di kit.
Andando oltre si voleva effettuare un sistema che unisse alla telecomandabilità la possibilità di utilizzare gli LDR della silonex per controllo volume e selezione ingressi, senza quindi contatti in serie al segnale.
In effetti è stata messa molta carne al fuoco (forse troppa),soprattutto per quanto riguarda la auto-calibrazione, che consentirebbe però di personalizzare a piacimento l'attenuatore senza dover selezionare manualmente i dispositivi.
Personalmente ho già un lightspeed clone nel mio pre (controllato mediante pot motorizzato da telecomando) per cui un progetto del genere ha senso se si riesce ad avere le "feature" richieste; altrimenti tanto vale fare come sto facendo io adesso (che tanto male non è)

Ciao

Andrea

Inviato: 10 gen 2008, 20:32
da UnixMan
Prima c'erano due discussioni distinte, poi sono state unificate, ma non sarebbe il caso di tornare indietro e dividere questa discussione nuovamente in due distinte?
Del resto sembrerebbero problematiche diverse.


Originariamente inviato da audiog - 10/01/2008 :  12:23:09
sni... si`, cioe` no. :)

In effetti da un punto di vista logico sono due cose distinte, ma il controllo di volume con i LED/LDR ha numerose esigenze specifiche rispetto a quelle degli altri sistemi (pot. motorizzato, rele`, pot. digitale, etc).

E.g. il controller principale che gestisce l'interfaccia deve infatti prevedere quanto necessario per la calibrazione e, almeno in chiave futura, tutte le varie possibilita` di gestione delle impedenze e/o della curva di attenuazione, etc.

Quindi, mentre un sistema sviluppato pensando a questa soluzione con gli LDR puo` anche essere usato senza problemi con le altre, il viceversa non e` possibile (o quantomeno sarebbe enormemente limitativo e penalizzante).



Ciao,
Paolo.

Inviato: 13 feb 2008, 00:53
da marziom
rispolvero la discussione solo per mostrarvi le curve acquisite dai mie 10 LED/LDR SR3

Immagine

volete sapere come l'ho acquisite è?! :) non si può, TOP SECRET! :D
ora ne devo accoppiare 2...


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 21 feb 2008, 16:59
da UnixMan
rispolvero la discussione solo per mostrarvi le curve acquisite dai mie 10 LED/LDR SR3


Originally posted by marziom - 12/02/2008 : 18:53:36
ehi, ma sono perfettamente lineari!!! :o

se fosse cosi` usare la funzione di fit sarebbe un giochetto da ragazzi... :p

ma che cosa hai plottato, esattamente? cos'e` la corrente in ordinata, qualla nel LDR? ed in ascissa cos'e` esattamente "E/V"?
volete sapere come l'ho acquisite è?! :) non si può, TOP SECRET! :D
aargh, come sarebbe a dire top secret?!? :? forza, spara... dicci tutto, siamo tutto orecchi!!! 8)



Ciao,
Paolo.

Inviato: 22 feb 2008, 03:19
da marziom
nun se pote, nun se pote......
8)

il test è stato fatto imponendo una corrente nota e fissa nel led, applicando la tensione E/V alla resistenza e misurando la corrente che ci scorre.


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 23 feb 2008, 04:38
da andypairo
il test è stato fatto imponendo una corrente nota e fissa nel led, applicando la tensione E/V alla resistenza e misurando la corrente che ci scorre.

Originally posted by marziom - 21/02/2008 :  21:19:10
Pareva troppo bello.....in pratica hai misurato il valore della resistenza ad una corrente fissa nel led.. scusa ma a che serve?
A noi serve il plot R versus Iled. Lo puoi fare?

Ciao

Andrea

Inviato: 23 feb 2008, 16:53
da mauropenasa
Scusate il disturbo,
Ma ho perso il conto del numero di pagine e di interventi che questa iniziativa vi ha generato, e non ho ancora capito dove volete parare.

Obbiettivo (capito da me :oops: ):
1 per qualcuno sperimentare gli LDR
2 Per altri un pre passivo facilmente controllabile in remoto (con prestazioni migliori dei soliti pot in carbone + motore)

il punto uno mi pare ampiamente sperimentato da Andrea, rinunciando a calibrazioni stratosferiche ma potendo verificare il comportamento di questi cosi data una condizione fissa di pilotaggio.
Su questo punto, francamente, non ho capito quale sia il problema di "calibrazione" del rapporto tra la I led e la R del LDR. Una errata curvatura di questo parametro altro non produce che una "errata" curvatura del fattore di scala (che dovrebbe essere logaritmico) della manopola del volume.
Questo non ha mai creato patemi a nessuno, tanto che non esistono 2 pot logaritmici con tale caratteristica identica, cosi come un baxandall usato da Self usa curve "quasi log" e cosi via.
Il problema si porrebbe se si intendesse definire un controllo di scala assoluto, come nel caso degli strumenti di misura, ma non mi pare questo il caso.... :)
Il vero problema di questi LDR, problema ampiamente sorpassato dai discorsi di cui sopra, è che le fotoresistenze non sono lineari (a prescindere dal punto di lavoro in cui sono fissate dal led).
Il modello matematico di questo chips può essere anche complesso, ma a grandi linee si deve pensare ad un chips di silicio con tutti gli annessi e connessi. Alla stregua di un semiconduttore, quando la tensione ai capi del chips subisce variazioni anche molti parametri salienti variano. Quindi varia la resistenza istantanea, varia la capacità parassita ecc....
La conseguenza è quella di avere una curvatura della linea di Marzio, curvatura con massimo accento nel passaggio per lo zero e proporzionale alla velocità di transizione in quel nodo(effetto causato dalle componenti capacitive parassite non lineari presenti).
Per farla breve, stessa storia dell' impiego degli interruttori Cmos.
Questo genere di componenti vanno benissimo se impiegati in condizioni stazionarie, mentre mi si dice che non ci sia nulla di più "variante" del segnale musicale....
In sostanza questa soluzione mi pare il minimo di tutto. Distorce di più di quasi tutte le soluzioni attive ma al contrarie di esse non porta manco vantaggi di interfaccia (impedenze di uscita e quant' altro).

Il punto 2 non giustifica affatto l' uso di questa soluzione.
A parte l' uso potenziale di una miriade di chip dedicati, come il CS3310 (di cui a suo tempo regalai gli schemi e il firmware per una scheda di sviluppo sia a Russ White, da cui nacque il suo kooburra o come cavolo lo ha chiamato, ed a Marco Titano), soluzione che può anche non piacere dal punto di vista audiofilo, si può sempre usare la buona vecchia soluzione dei microrelay di segnale con una matrice di resistenze di precisione. E' una soluzione passiva ma che almeno non distorce e può avere una precisione di intervento calibrata. Con 6 microrelay e una manciata di resistenze 1% si fanno agevolmente attenuatori a scala binaria con 63 passi.....

Scusate l' intervento, non vuole essere polemico o smontare le vostre sperimentazioni ma solo pragmatico.... :)

ciao

Mauro

Inviato: 23 feb 2008, 17:32
da Giaime
Ehi, non vale, l'avevo già detto io 7-8 pagine fa :D 8)

Ciao!
Giaime Ugliano

Inviato: 23 feb 2008, 19:11
da UnixMan
Scusate il disturbo,
perche` disturbo? siamo in un forum pubblico, qualsiasi intervento costruttivo e` il benvenuto...
Su questo punto, francamente, non ho capito quale sia il problema di "calibrazione" del rapporto tra la I led e la R del LDR. Una errata curvatura di questo parametro altro non produce che una "errata" curvatura del fattore di scala (che dovrebbe essere logaritmico) della manopola del volume.
Mauro, il problema non e` questo... il problema e` il reciproco "allineamento" (bilanciamento) dei due (o piu`) canali!

Per una versione semplice, a due soli canali e con un ristretto range di utilizzo della curva dei LED/LDR come quella proposta (e venduta) da "georgehifi" si puo` anche risolvere il problema con la selezione dei dispositivi come ha fatto lui...

Ma se vogliamo farne una versione piu` comoda e facile da replicare senza dover impazzire con la selezione dei dispositivi nonche` molto piu` versatile, che volendo puo` essere realizzata anche in versione multicanale e che, soprattutto, possa sfruttare un range molto piu` ampio delle curve dei LED/LDR la calibrazione diventa imprescindibile.
Il problema si porrebbe se si intendesse definire un controllo di scala assoluto, come nel caso degli strumenti di misura, ma non mi pare questo il caso.... :)
in realta` e` una cosa fattibile (sia pure con precisioni non cosi` spinte) e, specie per un autocostruttore, potrebbe tornare alquanto utile. ;)
Il vero problema di questi LDR, problema ampiamente sorpassato dai discorsi di cui sopra, è che le fotoresistenze non sono lineari (a prescindere dal punto di lavoro in cui sono fissate dal led).
vero... pero` a quanto pare suonano meglio di qualsiasi altro tipo di attenuatore... e almeno x quanto mi riguarda tanto basta e superchia. :)

Sul discorso distorsione max sul passaggio x lo zero poi avrei qualche riserva. Non e` un chip di silicio variamente drogato, sono fatti con una miscela di semicondittori diversi (tipicamente a base di CdS) allo stato "intrinseco" (se non vado errato neanche monocristallino). Soprattutto NON ci sono giunzioni p-n di sorta le cui "zone di svuotamento" (e quindi capacita` parassite) possano variare con tensione, corrente, temperatura locale e quant'altro...

E` banalmente un pezzo di semiconduttore "naturale" in cui il numero di coppie di portatori aumenta (e quindi la cui resistivita` diminuisce) all'aumentare della luce incidente per effetto diretto di scattering fotone-elettrone.

Effetti di non linearita` legati alla natura di semiconduttore del materiale (fondamentalmente termici ed elettrostatici) ovviamente ce ne sono, ma aumentano all'aumentare del segnale (tensione ai capi del dispositivo e/o corrente che lo attraversa) e, ai livelli che ci interessano, sono sostanzialmente trascurabili e per di piu` costituite soltanto da armoniche di basso ordine, fondamentalmente 2a e poco piu`.

Al contrario, nei chip che proponi tu ci sono ovviamente un mucchio di giunzioni p-n con tutti gli effetti di cui parli, sicuramente ben piu` perniciosi all'ascolto...

La soluzione con i rele` ha invece il problema delle resistenze di contatto (quelle si` fortemente non lineari specie ai bassi livelli e per di piu` almeno potenzialmente "ballerine" con le vibrazioni acustiche...) che e` il motivo per cui stiamo cercando di realizzare un sistema completamente senza contatti anche per la selezione degli ingressi.
In sostanza questa soluzione mi pare il minimo di tutto.
suono, suono, suono, suono... ci serve per ascoltare musica, non per fare misure! ; )

Siamo alle solite... e quindi solito discorso: se in pratica suona meglio, chissenefr... se anche "in teoria" (e/o alle misure) apparentemente distorce di piu`. Ammesso e non concesso che poi sia davvero cosi` e non che le presunte prestazioni inferiori non siano legate semplicemente al fatto che stiamo valutando e/o misurando le cose sbagliate, che hanno poca o nessuna influenza sulla qualita` del suono percepito.
non porta manco vantaggi di interfaccia (impedenze di uscita e quant' altro).
Anche su questo permettimi di obbiettare. Ferma restando la struttura "L-pad" di base, con gli LDR calibrati hai a disposizione qualsiasi valore di resistenza compresa tra circa 100 ohm ed oltre 100K (almeno) con cui "costruire virtualmente" (programmare) qualsiasi attenuatore, anche cambiandolo "al volo" passando da un ingresso all'altro! Questo ti permette di ottimizzare gli accoppiamenti... ad es. puoi utilizzare impedenze di ingresso elevata per sorgenti con uscita a tubi ed impedenze piu` basse per sorgenti con uscita SS, etc. Se poi ti servono / vuoi avere cmq. basse impedenza di uscita con elevate capacita` di pilotaggio, nulla ti vieta di fargli seguire un buffer... questo e` solo un generico front-end con selettore ingressi ed attenuatore per controllo di volume e bilanciamento, poi sta` a chi vorra` costruirlo/usarlo decidere se lo vuole usare come tale in un pre attivo od un ampli integrato piuttosto che da solo come "pre passivo", ovviamente con tutte le limitazioni "di interfaccia" del caso.



Ciao,
Paolo.

Inviato: 23 feb 2008, 19:14
da mauropenasa
Ehi, non vale, l'avevo già detto io 7-8 pagine fa :D 8)

Ciao!
Giaime Ugliano



Originally posted by Giaime - 23/02/2008 : 11:32:38

Cavolo, è vero.... :D
Visto lo sviluppo successivo, credo di avere perso una buona occasione per starmene zitto (tanto evidentemente i nostri baldi sperimentatori hanno una opinione diversa dalla nostra...).... :oops:

Add: Leggo ora le risposte di Paolo.
Che uno dei problemi di calibrazione sia stato in nome della questione 2 canali era evidente. La questione che ho posto vale per tutti gli attenuatori logaritmici anche in chiave canale versus canale.
un attenuatore logaritmico a slider usato nei banchi di regia analogici di una volta aveva un tracking tra i canali che quando arrivava ad 1dB era il massimo, mentre nell' area di massima attenuazione esso decollava con diseguaglianze di decine di dB. Audio review degli anni recenti aveva l' abitudine di plottare questo tracking verificato nei pre di pregio, con sorprese di ogni tipo.
La sensibilità umana a questa questione, la diversità di percezione tra 2 orecchi della stessa persona e le diseguaglianze enormi di emissione DX-SX di un sistema di diffusori casalingo rende i patemi d' animo su questa questione una cosa inutile.
Vorrei vedere un panel di scienziati in grado di rilevare, in ambiente domestico, una assimmetria anche di 3dBV tra 2 canali stereo....
Se la cosa la vuoi fare a titolo di precisione di progettazione, ci mancherebbe, ma cozza con quello che dici in seguito.... :)

Riguardo la THD, significa che i plot resi pubblici dalla casa produttrice, in cui la THD aumenta con la frequenza e con il livello, non sono significativi, mentre la tua idea si ?
Ti sfido a rilevare e dimostrare una THD prodotta da un sistema a relay di segnale e resistenze di precisione, sia essa a bassi livelli, a bassissimi livelli, o livelli alti, con qualsiasi forma d' onda di sollecitazione.
Tutta la strumentazione scientifica certificata con livelli di precisione di 1ppm e superiore usa sistemi di attenuazione di ingresso basata su questa tecnica.

Al contrario, che gli LDR distorcano è una certezza (verificabile con qualsiasi tool strumentale a basso costo), semmai si può sempre dire, come dici tu, che conta solo il suono (ma poi mi porrei la solita questione del perchè piace QUEL suono con QUELLA THD).
Non si può dire che se passa il segnale in una rete passiva estremamente lineare il suono non va bene mentre se passa in uno palesemente non lineare il suono è migliore. Questa è o una contraddizione di termini o la prova certa che la THD è udibile e godibile. Non esistono alternative a queste 2 opzioni, il che la dovrebbe dire lunga su molte discussioni passate...
Ma a questo punto vale tutto ed io mi ritiro come nelle altre discussioni che prendono questa direzione.

ciao

Mauro

Inviato: 23 feb 2008, 19:42
da marziom
grazie Mauro del tuo intervento, che ogni tanto ci riporta alla realta o comunque (come penso in questo caso) alla problema/idea/curiosità da cui siamo partiti.
Parlo per me:
L'idea di provare gli LDR è nata leggendo il forum e verificando che in "giro" le opinioni paiono concordi nel giudicare sonicamente un attenuatore fatto con questi dispositivi.
Visto che non costano molto e visto che ogni tanto i "rumors" ci Azzeccano (vedi gainclone, myref, modifiche ai CD, interventi smorzanti, etc, etc) mi sono detto, perche non provare?!
All'epoca dell'inizio della discussione abbiamo anche provato a mettere giu un circuito digitale per pilotarli con comodità e eravamo arrivati addirittura alla selezione contactless.
Come ho preannunciato in passato nel 3d, la cosa si stava facendo troppo complicata, e visto che qui le cose le facciamo per hobby.....ancora non si è quagliato, e , credo, non si quaglierà.
cosi nel frattempo mi sono comprato su ebay una scheda di controllo bella e pronta per 30€ (switch a rele, potenziometro ALPS e telecomando).
Quindi per il momento cercherò di sperimentare la cosa come semplice attenuatore LPAD pilotato dalla scheda che ho preso e vediamo che esce fuori.
parlando dei dispositivi.
Sono d'accordo con Mauro, cercare di avere la curva logaritmica a tutti i costi mi pare un non senso, tanto il volume si regola ...ad orecchio :-)
importante invece, nei limiti, l'accopiamento di 2 o 4 dispositivi, ma come potete vedere dalle mie curve (che servivano principalemnte a questo) gia con 10 pezzi un paio se ne trovano raggionevolmente accoppiati (<5%).
a questo punto, magari giusto per curiosità, si potrebbe tracciare la curva dell'impedenza per vedere come varia in funzione della corrente che circola nel LED......però, a che prò...tanto ci varia solo la curva di attenuazione....
parlando di distorsione: la cosa che srtumentalmente distorce meno è il classico pot, al massimo un attenuatore a scatti, quindi se volete.....usate quello come al solito.
IMHO il preggio degli LDR rispetto ai sistemi digitali (mosfet/bjt) è che il circuito di pilotaggio e separato da quello controllato....dal punto di vista della distorsione, a livelli normali-bassi (che sono la norma) i numeri sono paragonabili.
qualcuno su DIYAUDIO ha postato anche la misura della distorsione per un LDR e un attenuatore a scatti, ebbene nella configurazione LPAD con un a solo LDR i numeri sono confrontabili.

dopo la pausa, leggo la risposta di Mauro, e vorrei chiedere solo dove ha trovato l'andamento della distorsione in base alla frequenza. Non è polemica Mauro, è proprio che voglio vedere come si comportano.
Quelli della distorsione li ho visti e con segnali di livello linea a -20db siamo allo 0.01%, di armoniche di basso ordine.

....ma alla fine siamo sempre li ......tubi e aggeggi che distorcono poco, ma distorcono o operazionali e reazione che distorcono mooolto meno.
Io per il momento mi diverto a provare questi LDR e poi vi farò sapere.....

marzio


_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 23 feb 2008, 19:57
da Giaime
Effetti di non linearita` legati alla natura di semiconduttore del materiale (fondamentalmente termici ed elettrostatici) ovviamente ce ne sono, ma aumentano all'aumentare del segnale (tensione ai capi del dispositivo e/o corrente che lo attraversa) e, ai livelli che ci interessano, sono sostanzialmente trascurabili e per di piu` costituite soltanto da armoniche di basso ordine, fondamentalmente 2a e poco piu`.

Al contrario, nei chip che proponi tu ci sono ovviamente un mucchio di giunzioni p-n con tutti gli effetti di cui parli, sicuramente ben piu` perniciosi all'ascolto...

Originally posted by UnixMan - 23/02/2008 : 13:11:53
Uhm, non ti seguo. Prima dai importanza al tipo e alla quantità di distorsione, basso ordine e tutto quanto.

Poi però ti contraddici: gli "effetti perniciosi" di un chip come il DS1666 (lo usa Audio Research, non è gente abituata a misurare e basta ; ) ) dove stanno? La THD è praticamente nulla, se vuoi posso farti le misure.

Meglio niente THD o THD di seconda armonica? A me pare che la "perniciosità" stia solo da una parte :D

Ciao!
Giaime Ugliano

Inviato: 23 feb 2008, 21:38
da UnixMan
Mauro, Giaime: p.f. riguardatevi cosa ha scritto Mauro e cosa ho risposto io...

Mauro ha detto:
La conseguenza è quella di avere una curvatura della linea di Marzio, curvatura con massimo accento nel passaggio per lo zero e proporzionale alla velocità di transizione in quel nodo(effetto causato dalle componenti capacitive parassite non lineari presenti).
io ho risposto:
Sul discorso distorsione max sul passaggio x lo zero poi avrei qualche riserva.
NON mi pare di aver detto che gli LDR abbiano THD inferiore a quelle di una rete resistiva o di certi chip dedicati... io ho detto invece:
Effetti di non linearita` legati alla natura di semiconduttore del materiale (fondamentalmente termici ed elettrostatici) ovviamente ce ne sono, ma aumentano all'aumentare del segnale (tensione ai capi del dispositivo e/o corrente che lo attraversa)
cosa che "torna" perfettamente con tutte le misure pubblicate, che guarda caso mostrano una distorsione trascurabie ai bassi livelli e poi monotonicamente crescente all'aumentare del segnale.

Ho detto inoltre, e ribadisco, che non vedo motivi per cui possano esserci significativi effetti dovuti a capacita` non lineari. A cosa dovrebbero essere dovuti???

Nel caso di dispositivi a SS basati sull'uso di semiconduttori drogati e giunzioni p-n (parte del dispositivo stesso o usate come isolamento tra questo ed il substrato, etc - quindi anche una semplice resistenza o capacita` integrata) questi effetti ci sono e sono ovviamente dovuti alle veriazioni di ampiezza e carica nelle "zone di svuotamento" delle giunzioni p-n.

Ma, nel caso degli LDR, giunzioni p-n e zone di svuotamento NON ce ne sono (ne` ce ne potrebbero essere, trattandosi di materiale sostanzialmente amorfo...). Cos'e` quindi che dovrebbe produrre significativi effetti capacitivi non-lineari (cioe` capacita` parassite dipendenti dal segnale)???

(N.B.: i LED/LDR _NON_ sono "chip" integrati! ...sono semplicemente due dispositivi distinti accoppiati otticamente e racchiusi nello stesso involucro!).

Per quanto riguarda i rele`, sara` un caso che i produttori (almeno quelli seri) specificano anche una corrente MINIMA di funzionamento dei contatti?? ...che facciamo, sovrapponiamo una sostanziosa componente continua al segnale per evitare l'annullamento della corrente al passaggio per lo zero? :twisted:

E con le vibrazioni come la mettiamo? quant'e` la pressione applicata sui contatti di un rele`? qual'e` la frequenza di risonanza (meccanica) dello "switch" dello stesso? qual'e` il 'Q' relativo?

Sara` un caso che tutti quelli che hanno provato sostengono che a parita` di altre condizioni un attenuatore a scatti fatto con commutatori rotativi meccanici "suona" meglio di qualsiasi rele`?



Ciao,
Paolo.

Inviato: 24 feb 2008, 00:34
da mauropenasa
2 cose:

1. Marzio, hai ragione, i produttori non hanno sviluppato il grafico THD versus frequenza che io ho citato. Per risalire a quei dati serve recuperare datasheet degli anni 80 fatti da gente più seria di Silonex, che evidentemente ci smena non poco su questa questione audio. In alternativa dovrei produrli io, ma data la mia totale estraneità alla questione....
Attendo fiducioso eventuali confutazioni strumentali prodotte da qualcuno di voi.... :)

2. Questione THD parassitismo e monotonicità:
- il grafico prodotto da questi è riferito ad una sola frequenza, 1Khz, con banda limitata a 30Khz (che per la THD può anche andare ma che taglia tutto il rumore termico ed eventuali altre questioni legate alla larghezza di banda). Non è dato a sapersi cosa ci si deve attendere a 10Hz o a 10Khz, troppa grazia. Forse lo fanno per dare spazio ai polemici come me.... :D

- Beato Paolo che non trova nulla di critico in un chip che in condizioni di non esposizione alla luce (massima resistenza interna) distorce in modo abnorme (10%) con una tensione ai suoi capi di circa 2,5Vrms. La THD del dispositivo, amorfo o non amorfo, è inversamente proporzionale alla corrente rms che circola nel dispositivo stesso. Questo significa, a casa mia, che il componente non è lineare, anzi, è fortemente non lineare, visti i grafici. Non è sufficiente essere sciettici perchè le cose non accadano. Se poi la non linearità dipenda da accumuli di carica che interessano o meno anche gli elementi capacitivi parassiti a quei livelli non è più tanto importante, salvo che per la questione versus frequenza che tutti tranne me danno per scontata (come lineare).
- Quel genere di THD non si riscontra in attenuatori passivi, seppur dotati di contatti meccanici. Seppoi vogliamo, pur di darmi torto, ribadire che i contatti meccanici sono fautori di THD, andiamolo a spiegare anche ai migliori produttori di strumentazione di analisi, come i moderni fft con range che arriva a -140dBv (io mi accontento). Certo, i contatti possono rovinarsi e deteriorarsi, ma questo avviene mediamente dopo una vita media che può anche giustificarne la sostituzione. Se vogliamo vedere, tutto si deteriora, cosi come di contatti meccanici, nel percorso del segnale, ce ne sono a quintalate. Anche la saldatura a stagno, le piste, i vias, le giunzioni nei semiconduttori e nei tubi a vuoto sono dei contatti meccanici. Io ci convivo, altri no.... 8)
La testa al toro si taglia facilmente, basterebbe che Paolo dimostri una volta tanto il grado di THD che si sviluppa un relay di segnale come un panasonic TQ2 su una rete binaria da 10Kohm. Personalmente non sono mai stato capace di vederci qualcosa di superiore a -120dB (sotto non ci sono mai arrivato con i miei strumenti), ma forse lui sarà più fortunato.... 8)

Infine ragionamenti di base sulla THD non sono coerenti. Io dibatto spesso che serve avere la minore THD possibile per ottenere risultati, ma questo mi viene sempre contestato, salvo sentire ragionamenti su ipotetiche "monotonicità" o stabilire a tavolino che un 0.01% va bene senz'altro.
Evidentemente gli elementi di analisi su questo tema vanno e vengono a seconda della convenienza, o forse a seconda di chi ne parla.... 8)

Stabilire a tavolino che un attenuatore se lavora bene con Vin < 2Vrms e ad un livello di uscita di -20dBu allora va bene per l' audio mi pare molto limitativo. Posto che un moderno CD di solito non supera mai quella tensione, si deve considerare che per i -20dB non esiste nessuna regola.
Se un ampli ha un elevato guadagno il pot lavorerà in condizioni favorevoli, ad esempio a -30dB, ma se succede il contrario, ossia un ampli con una tensione di ingresso di 1- 1,5V ed un lettore con una uscita di 1V, il nostro attenuatore sarà costretto a lavorare intorno a -1-3dB, ossia in condizioni di massima distorsione.

A chiusura, va detto che i grafici che ho visto finora oltre ad avere latitante la THD versus frequenza non danno informazioni su cosa accade alla THD quando a cambiare è il segnale di ingresso per una data attenuazione, ma questo significherà solo che tutto è perfetto (regola del silenzio assenso).

Io non intervengo facendo le pulci a quello che si dice, tendo a porre questione concrete. Questo mi pare che dia fastidio, e si preferisce fare interventi come quello finale di Paolo, ossia fare una analisi grammaticale delle proprie risposte anzichè affrontare il cuore dei discorsi, ossia che una THD ottimistica ad 1Khz di 0.01% non equivale ad una di 2o 3 ordini di grandezza inferiori. Un pot con dac moltiplicatori analogici può raggiungere livelli di THD intorno a 0.0001% in tutta la banda audio (dipende tutto dalla qualità del opamp in uscita).
Un attenuatore passivo a contatti meccanici anche molto meno, ed in più è totalmente passivo.

Riguardo l' adattamento di impedenza, invito a rivedere meglio il concetto.
Adattamento di impedenza, ottenuto con inserimento di elementi attivi, significa avere un impedenza di ingresso molto alta (10K-1M) a fronte di una di uscita quasi irrilevante (1ohm-1K). Queste 2 grandezze dovrebbero rimanere costanti al variare della tensione e della frequenza, cosa non ovvia nei circuiti passivi ma neanche in quelli attivi.
Un partitore passivo al massimo può porre in uscita una impedenza minima pari ad 1/4 di quella di ingresso se si vuole ottenere un range che parta da -0dB. Questo significa che per ottenere una impedenza di uscita minima di 1Kohm, (valore appena sufficiente per pilotare un cavo di segnale di media lunghezza senza attenuazione in banda audio), servirebbe un pot o un attenuatore da 4K di ingresso.
Per risolvere la questione si fa uso di circuiti attivi, e per questo si accetta di buon grado la THD che ne consegue.
Ribadisco che avere una THD variabile con una media anche del 0.01% con un circuito passivo senza i vantaggi di un buffer è un non senso tecnico, tanto più che per metterlo in atto serve una circuiteria ed un costo non inferiore a quella di un circuito attivo.
Mediamente, nei range di tensione tassativi indicati per queste applicazioni, distorce meno un inseguitore di catodo termoionico del semplice partitore....
Sai il salto di qualità...

ciao

Mauro

Inviato: 24 feb 2008, 03:56
da mauropenasa
Ultima chiosa prima di lasciarvi lavorare in tranquillità:

Non si pensi :) che con il mio ultimo intervento voglia in qualche modo impormi o contrastare i tentativi di sperimentazione presenti in questo 3D.

Ho detto la mia, con i miei soliti toni, e ora mi metto da parte.
Capisco gli intenti di base che hanno promosso questo movimento ma non condivido la velocità con cui si tende ad archiviare o promuovere soluzioni senza vagliare in modo concreto (leggi misure e prove reali) le loro potenzialità, cosi come non capisco la necessità di disquisire per 10 pagine su come fare un controllo di corrente vagamente coerente con una attenuazione ancora prima di essere certi che convenga implementare un LDR al posto di altre soluzioni (compreso un dac direttamente sul segnale invece che solo sul led....; ) ).

Le soluzioni a LDR sono comode per la loro separazione galvanica, come dice Marzio, e per questo le si usavano spesso negli AGC video. Da li a farne una soluzione audiophile....
Le stesse "monotonicità" e grado di THD a quei livelli si ottengono con pochi euro usando un LM1972, anche senza buffer di uscita....

Io come sempre, mi ero preso la briga di testare tutte le soluzioni possibili, in tempi non sospetti, ma come sempre non riesco mai a capire che la gente ha bisogno di sbatterci il grugno nelle cose.... :D

Pazienza, sopravviveremo tutti a queste mie elucubrazioni, e vi lascio lavorare.... :oops:

correzione:
...Stabilire a tavolino che un attenuatore se lavora bene con Vin < 2Vrms e ad un livello di uscita di -20dBu allora va bene per l' audio mi pare molto limitativo. Posto che un moderno CD di solito non supera mai quella tensione, si deve considerare che per i -20dB non esiste nessuna regola.
Se un ampli ha un elevato guadagno il pot lavorerà in condizioni favorevoli, ad esempio a -30dB, ma se succede il contrario, ossia un ampli con una tensione di ingresso di 1- 1,5V ed un lettore con una uscita di 1V, il nostro attenuatore sarà costretto a lavorare intorno a -1-3dB, ossia in condizioni di massima distorsione....
Ovviamente tutto dipende dalla soluzione di implemento scelta.
Se si usa il normale serie vale il ragionamento contrario, mentre per i vari shunt succede qualcosa di simile a quello da me citato. Questo non toglie il succo della situazione, ossia che le prestazioni sono fortemente condizionate dal punto di lavoro, per cui non ci sarà mai una condizione analoga a vari livelli di ascolto....

ciao

Mauro

Inviato: 11 mar 2008, 15:27
da marziom
qualche altra misura su questi LED/LDR.
attaccati all'oscilloscopio ieri sera banalmente in configurazione LPAD con una resistenza da 10k: 10Hz-100Khz FLAT.
Ora devo aggiunstare il circuitino di pilotaggio per coprire il range di resistenze che mi serve...

marzio

_____________________
Se con 10 milioni di transistor non riesci a fare tutto sei un p**la!

Inviato: 14 ott 2008, 01:43
da mrttg
Marzio mi trovo per le mani un controllo pre IR basato su PIC... con codice scritto e pronto al debug.

Che ne dici (dite) di integrare il tutto con quanto già fatto e dare vita al Volume IR di ADFT ? 8)

Stasera quando rientro posto lo schema e vediamo di integrarlo.. la mia idea è fare una scheda piuttosto flessibile da usarsi con potenziometro motorizzato Silonex ecc.

Selezionando da menu le varie opzioni.

Il progetto è da intendersi opensources unica limitazione è data dal fatto che il codice è scritto in Proton Basic.

Il listato viene reso disponibile...



Saluti Tiziano

Inviato: 14 ott 2008, 15:51
da marziom
ok ...posta e vediamo.

_____________________
I want to see a beatiful girl... no 00110010111010011001...

Inviato: 14 ott 2008, 19:00
da mrttg
ok ...posta e vediamo.

_____________________
I want to see a beatiful girl... no 00110010111010011001...


Originally posted by marziom - 14/10/2008 : 10:51:09
Per visualizzare uso un lCD azzurro 16 caratteri per due righe... da valutare anche un display di a scarica di gas



In linea di massima dovrebbe avere queste caratteristiche:

* pilotare potenziometro motorizzato
* banco di 8 relè per la commutazione degli ingressi
* banco ausiliario di 8 relè per fare controlli di volume a scatti
* pilotare due controlli di volume basati su WM8816 Wollfson ed
eventualmente anche il chip Crystal
* rendere disponibili alcuni ingressi AD/DA per usarlo con Silonex
* due pulsanti per volume up/down
* due pulsanti per commutazione ingressi up/down
* Le varie funzioni saranno settabilli con menu tramite pulsante "mode"
* variazione con encoder meccanico e/o ottico
* di base si pensa di usare un telecomando di questo tipo Meliconi
* si prevede anche una funzione di autoapprendimento
* si prevede inoltre anche opzione per codice Sony e Panasonic

Lo schema è solo indicativo e modificabile.





Immagine Attachment: Printing telecomando_IR_prot-sch.pdf ( 19031bytes )

Saluti Tiziano

Inviato: 14 ott 2008, 19:24
da marziom
e una fetta di prosciutto vicino all'osso no?! :D

...è un detto locale, ma penso si capisca.

a questo punto non ho capito, ma il software c'è o no che fa tutte queste belle cose?


_____________________
I want to see a beatiful girl... no 00110010111010011001...

Inviato: 14 ott 2008, 19:38
da mrttg
e una fetta di prosciutto vicino all'osso no?! :D

...è un detto locale, ma penso si capisca.

a questo punto non ho capito, ma il software c'è o no che fa tutte queste belle cose?


_____________________
I want to see a beatiful girl... no 00110010111010011001...


Originally posted by marziom - 14/10/2008 : 14:24:38
Il codice è stato scritto e dobbiamo fare il debug... però prima volevo definire la scheda micro per fare le varie cose... e procedere :D .



Saluti Tiziano

Inviato: 14 ott 2008, 21:05
da UnixMan
Il codice è stato scritto e dobbiamo fare il debug... però prima volevo definire la scheda micro per fare le varie cose... e procedere :D .


Originally posted by mrttg - 14/10/2008 :  14:38:01
bello!

...ora manca "solo" di progettare la scheda di controllo per la versione "ContactLess". :D


Ciao,
Paolo.

Inviato: 14 ott 2008, 21:20
da mrttg
Il codice è stato scritto e dobbiamo fare il debug... però prima volevo definire la scheda micro per fare le varie cose... e procedere :D .


Originally posted by mrttg - 14/10/2008 : 14:38:01
bello!

...ora manca "solo" di progettare la scheda di controllo per la versione "ContactLess". :D


Ciao,
Paolo.



Originally posted by UnixMan - 14/10/2008 : 16:05:40
:D :D Potresti farla tu con dei nuvistor russi 8)

Saluti Tiziano

Inviato: 16 ott 2008, 05:42
da uC_Man
Bene eccoci quà. 8)
Allora ho iniziato a leggere un po di cose che avete scritto riguardo il protocollo RC5. Ecco ci tenevo a dire che volendo possiamo anche fare una variante che ho previsto nel software ossia lo standard SONY. Ovviamente volendo si possono supportare entrambe ma con i dovuti accorgimenti. Andando per gradi bisogna testare il funzionamento con l'RC5 e poi volendo possiamo effettuare un secondo tentativo con il protocollo SONY. Ovviamente si accetano proposte e varianti ; ) .

P.S.
Per l'autoapprendimento ne possiamo riparlare ma avviso che nn è una cosa semplice ma solo un qualcosa di pò più complesso di come di solito lo immaginiamo noi normalemente; ) .

Inviato: 16 ott 2008, 14:04
da mrttg
Per il micro si pensava ad un "popolare" PIC16F877A che ne dite :)

Saluti Tiziano

Inviato: 16 ott 2008, 14:20
da andypairo
Ciao,
direi che l'esperto di programmazione è proprio la persona che mancava per far decollare il progetto :D

Detto questo come prima cosa credo sia meglio fare un "sunto" di quello che si intende fare, per verificare se il chip ha abbastanza I/O e analogiche per lo scopo che ci prefiggiamo.

A te la palla Marzio.

Ciao

Andrea

Inviato: 16 ott 2008, 14:43
da uC_Man
Ok,
innanzi tutto grazie ad andypairo :) . Secondo me per iniziare il microcontrollore PIC16F877A va benissimo anche perchè ha 8K di memoria non che memoria EEPROM interna quindi possiamo utilizzarlo tranquillamente anche perchè una evoluzione in futuro è sempre possibile ; ) . 8) Siccome io volevo rifare una valutazione degli ingressi ed uscite sul microcontrollore, di conseguenza una redistribuzione dell'I/O, volevo sapere quali erano le esigenze a livello di ingressi e di uscite. :?: Nel forum ho letto di un potenziometro motorizzato, la mia esigenza è: se deve essere aggiunto all'interno del progetto necessita che si candida un modello, così conoscendo le caratteristiche tecniche non che la modalità di controllo io posso controllarlo tramite il microcontrollore.
Buona giornata a tutti ; )

Inviato: 02 gen 2009, 07:34
da Telstar
Che aggiornamenti ci sono su questo progetto?

Inviato: 02 gen 2009, 18:43
da marziom
io per problemi personali (che spero vadano a risolversi presto) ho abbandonato la cosa.


_____________________
I want to see a beatiful girl... no 00110010111010011001...

Inviato: 02 gen 2009, 18:53
da Giaime
Spero nulla di grave! :)

Ciao!
Giaime Ugliano

Don't Be a Wimp. Use NFB and use tons of it.
Bruno Putzeys

Inviato: 05 gen 2009, 09:12
da polarco
Scusate se faccio il guastafeste...ma usare più potenziometri in parallelo per il volume e più relè coi contatti in parallelo per gli ingressi non diminuirebbe il "problema" dei contatti ?, mentre il "tracking" nei pot. potrebbe essere calibrato (per l'escursione iniziale) almeno con un trimmer multigiri in parallelo.

Ciao

Inviato: 01 feb 2009, 21:21
da GuidoR
Buongiorno a tutti
Scusate se piombo dentro a questo forum che sta portando ad un progetto veramente ambizioso "tornando indietro" a qualcosa di più semplice.
Sicuramente chi di voi frequenta DIYAudio avrà visto il Poor Serbian Man Light Speed di ZenMod (Choky), che affronta il progetto con un approccio il più possibile economico, a dispetto di una discreta sofisticazione. Insieme ad altri DIYer di Milano vorremmo radunare un po' di gente per un mini-GB sui Silonex (RSComponents, se dicono il vero, li ha a 1,60-1,40 Euro + IVA per 50-100 pezzi). Della selezione mi occuperei io (verifica della resistenza del LDR per 3 differenti valori della corrente del LED). Considerando il costo della birra necessaria per reggere la selezione :D credo che un poker (per un canale bilanciato) dovrebbe stare sui 10 Euri (ovvero, stereo bilanciato 20 Eur, Stereo sbil. 10 Eur). A qualcuno interessa?

Inviato: 01 feb 2009, 21:58
da riccardo
Guido, considerato che questo che va avanti da tempo è un progetto in divenire, e già Marzio l'anno scorso al Bottom ha presentato un prototipo suonante della versione più semplice, ti pregherei di aprire un altro 3d, possibilmente importando quanto necessario a chiarire in modo organico fin dall'inizio l'argomento concreto.
Operando una netta distinzione dei progetti sarà possibile seguirne gli sviluppi e le proposte con la necessaria organicità.
Grazie


Saluti

Riccardo
--------------------------------
Atomo e vuoto sono in noi
--------------------------------
È inutile fare con più ciò che si può fare con meno
-------------------------------

Inviato: 02 feb 2009, 16:38
da marziom
Io i miei mi pare che li ho presi da Farnell, ho fatto una selezione con un traccia curve (puoi vedere nei post un immagine esplicativa) e su un lotto di 10 pz, sono usciti solo due entro l'1% e due coppie entro il 5%.


_____________________
I want to see a beatiful girl... no 00110010111010011001...

Inviato: 03 feb 2009, 06:43
da uC_Man
Salve, :)
io ho una proposta da fare riguardo il microcontrollore:
per rendere il progetto OpenSource, sarebbe consigliabile utilizzare i micro AVR siccome il compilatore in C viene già fornito gratuitamente dalla stessa casa madre ed è il GCC. Ok anche per utilizzare un PIC ma i compilatori che si trovano attualmente free sono un po complicati da configurare ed utilizzare e spesso danno dei problemi. ; ) ve lo dice uno che ci ha combattuto per un bel po di tempo ; ) . Io personalmente guarderei la prima possibilità siccome è free ed il C lo conoscono in moltissimi, oltre che conoscere gli AVR. Un assembler non è molto universale specie quello dei PIC, che per quanto misero possa sembrare non si rifà di sicuro alle grandi strutture madri di molti microprocessori antenati come Z80, 68000 od 8051. Con questo vi saluto a risentirci a presto 8)

Inviato: 03 feb 2009, 07:30
da mrttg
Salve, :)
io ho una proposta da fare riguardo il microcontrollore:
per rendere il progetto OpenSource, sarebbe consigliabile utilizzare i micro AVR siccome il compilatore in C viene già fornito gratuitamente dalla stessa casa madre ed è il GCC.
Ciao naturalmente il tutto prima che Microchip si compri Atmel (come si ventilava negli ambienti finanzairi) :D :D

Conviene puntare su un processore DIL per praticità e se possibile ; )

Tiziano
" Ideas have to be wedded to action; if there is no sex, no vitality in them, there is no action" Henry Miller

Inviato: 03 feb 2009, 16:04
da andypairo
Vada per Atmel.

Appena ho un po' di tempo, dato che Marzio per ora ha lasciato il progetto, comincio a buttar giù una specifica di massima per scegliere il modello.

Ciao

Andrea

Inviato: 03 feb 2009, 19:38
da mrttg
Vada per Atmel.

Appena ho un po' di tempo, dato che Marzio per ora ha lasciato il progetto, comincio a buttar giù una specifica di massima per scegliere il modello.

Ciao

Andrea


Originally posted by andypairo - 03/02/2009 : 10:04:02
Ciao Andy,
forse conviene puntare su un 40 PIN cosi si ha I/O in abbondanza... dovrai verificare se ti sevono PWM timer ecc :)

Tiziano
" Ideas have to be wedded to action; if there is no sex, no vitality in them, there is no action" Henry Miller

Inviato: 03 feb 2009, 20:11
da uC_Man
Ciao Andy, :)
ti consiglio un modello non male degli atmel in quanto molto famoso molto utilizzato e molto facile da reperire:
http://www.atmel.com/dyn/resources/prod ... oc2502.pdf
ATmega8535.
Ho già visto qualcosina con questo micro e ti ripeto ambiente di sviluppo e compilatore C sono free io lo vedrei ottimo per un open source ; ) Come il nostro.

Inviato: 04 feb 2009, 04:58
da andypairo
Ciao,
l'aggeggio sembra abbastanza "potente" e ha tutto il necessario, a parte i DAC "puri" per il pilotaggio delle resistenze (eviterei il PWM).

Non mi pare abbia però l'interfaccia Jtag, che sarebbe utile per il debug.
L'interfaccia è presente a partire dalla serie Atmega16, che comunque costa poco di più.

Features richieste:

-Ingresso IR e relativa decodifica
-Uscite e ingressi digitali da definire (selezione canali, ecc.)
-4 uscite analogiche per il pilotaggio dei singoli elementi (mediante DAC esterno in corrente o DAC in tensione +VCCS)
-ADC per autocalibrazione
-Display (led? lcd? vfd?) per la visualizzazione del livello di attenuazione
-Comando volume da IR e encoder / potenziometro / pulsanti up/down

Per ora mi fermo dato che il forum è intasato (come sempre... :x )

Ciao
Andrea

Inviato: 05 feb 2009, 02:47
da uC_Man
Salve, :)
volevo sapere se avevate già in mente cosa collegare al microcontrollore, mi spiego meglio...; ) Volevo sapere quale era la componentistica da collegare al microcontrollore così iniziavo a vedere come distribuirla attrono al microcontrollore e quali periferiche interne al micro dovevo settare per utilizzarle. Al momento ho reperito qualche schema di programamtori per AVR abbastanza semplici 8) spero solo che siate dotati anche voi di porta parallela :?: ... Fatemi sapere quantomeno i componenti così inizio in linea di massima a fare degli schizzi ; ) . Bye bye a presto

Inviato: 08 feb 2009, 20:23
da mrttg
Ciao,
l'aggeggio sembra abbastanza "potente" e ha tutto il necessario, a parte i DAC "puri" per il pilotaggio delle resistenze (eviterei il PWM).

Non mi pare abbia però l'interfaccia Jtag, che sarebbe utile per il debug.
L'interfaccia è presente a partire dalla serie Atmega16, che comunque costa poco di più.
Pare che si usi lo stesso chip anche per pilotate l' oled del GM70 quindi unfichiamo le cose usando lo stesso processore :)

Tiziano
" Ideas have to be wedded to action; if there is no sex, no vitality in them, there is no action" Henry Miller

Inviato: 11 feb 2009, 00:29
da andypairo
Scusate il ritardo ma riesco a leggere poco per impegni di lavoro, e quando riuscirei a leggere il forum fa le bizze :?

Datemi tempo qualche giorno per riordinare le idee.

Tiziano what's GM70?

Ciao

Andrea

Edit: per il DAC AD420 tutta la vita. Esce in corrente (e con sufficiente corrente da pilotare direttamente i led, eventualmente anche due in serie).
Se siete d'accordo ho trovato in Italia dove prenderli a poco (circa 4-5€ al pezzo).

Inviato: 11 feb 2009, 06:18
da mrttg

Datemi tempo qualche giorno per riordinare le idee.

Tiziano what's GM70?
Ciao Andy,
allora di GM70 ne parlo in questo 3rd :) .. morale della storia con ucMan stiamo realizzando una scheda basata su ATmega8535.

Di base questa scheda su un oled deve visualizzare tensioni e correnti delle finali ed eventualmente fare anche da Vmeter.

Visto che forse resta un port libero nel micro prevedo la gestione di un poco di I/O per futuri impieghi in un pre.

In comune con quello che dovete fare voi il micro e una parte del codice e il sofweraio :D

Tiziano
" Ideas have to be wedded to action; if there is no sex, no vitality in them, there is no action" Henry Miller

Inviato: 14 feb 2009, 04:19
da andypairo
Ciao,
allora la configurazione dovrebbe essere questa:

-Micro Atmega (io userei il 16 o il 32 per via dell'interfaccia Jtag)
-4* AD420 per pilotaggio led dei Silonex (richiesta di 3 pin per ciascun DAC)
-n relè a 2 (o 4) scambi, dove n è il numero di canali (servono "n" linee di comando)
-1 uscita per on/off
-ingressi: on/off, up+down (o encoder), ricevitore IR, n per selezione ingressi
-uscite per il display.

Come schema per la commutazione/attenuazione va bene quello postato da Marzio, con la separazione però delle masse analogiche e digitali-di controllo.

Detto questo temo che, a fronte delle novità in famiglia (fiocco in arrivo), il tempo per realizzarlo sarà assai ridotto....

Ciao

Andrea

Inviato: 14 feb 2009, 05:55
da mrttg
Ciao,
allora la configurazione dovrebbe essere questa:

-Micro Atmega (io userei il 16 o il 32 per via dell'interfaccia Jtag)
Ciao Marzio sei un poco fissato con il Jtag :D :D (penso che ucMan abbia chiesto anche Atmel con questo accessorio) non è che devi sviluppare un Rtos 8)
-4* AD420 per pilotaggio led dei Silonex (richiesta di 3 pin per ciascun DAC)
-n relè a 2 (o 4) scambi, dove n è il numero di canali (servono "n" linee di comando)
-1 uscita per on/off
-ingressi: on/off, up+down (o encoder), ricevitore IR, n per selezione ingressi
-uscite per il display.
Occorre scegliere un componente reperibile con un driver standard... forse abbiamo un due righe azzurro non ricordo la sigla.

OK cosi si puo procedere all' allocazione dell I/O
Detto questo temo che, a fronte delle novità in famiglia (fiocco in arrivo), il tempo per realizzarlo sarà assai ridotto....

Ciao

Andrea
Auguroni :) :)

Come tempi penso occorra circa un mese (dobbiamo terminare il pilotaggio dell' oled) e poi si realizzerà una scheda filata con strip per le uscite... scrivere il codice e fare il debug.

Dopo il prototipo deve essere preso in carico da un forumer per tutte le prove con i Silonex ecc.

PS: finita sta roba si potrebbe pensare ad un bel progetto di gruppo con FPGA ; ) ... sul forum sono presenti persone piuttosto competenti anche restando solo a Bologna

Tiziano
" Ideas have to be wedded to action; if there is no sex, no vitality in them, there is no action" Henry Miller

Inviato: 16 feb 2009, 04:25
da uC_Man
Ciao a tutti,
Tiziano vedo che vogliamo farci male quindi passando ad una FPGA ; ) per un eventuale progetto futuro.
Dai vedio che siete a buon punto con l'hardware gestito dal micro. Comunque ho chiesto dei campioni ad ATMEL sia dei 8, dei 16 e dei 32. Spero in un rapido arrivo di questi oggetti ; ) .
Marzio tranquillo per l'ICD :) ti dirò subito: in AVR Studio fai la simulazione del codice C, qundi calza a pennello per il nostro caso, ed il simulatore è fatto abbastanza bene e ti fa vedere i pin come reagiscono ai vari stimoli e din uscita. AVR Studio è tutto gratuito anche i vari PlugIn inclusi per gestire periferiche un po' complesse. Forse dove necessiterà l'ICD sarà per la gestione dell'RC5 anche se qualche routine la ho che funzionava e cerco di adattarla perchè è per il PIC. :x
Procediamo 8) ci si ribecca presto ; ) .

Inviato: 16 feb 2009, 05:48
da mrttg
Ciao a tutti,
Tiziano vedo che vogliamo farci male quindi passando ad una FPGA ; ) per un eventuale progetto futuro.
OHH la mia è stata un idea se riusciamo a fare un Trust di cervelli ci possiamo lanciare... a breve dovremmo avere una scheda Altera :)
Forse dove necessiterà l'ICD sarà per la gestione dell'RC5 anche se qualche routine la ho che funzionava e cerco di adattarla perchè è per il PIC. :x
Con tutto il codice disponibile per AVR non si trova nulla 8) .. abbiamo trovato roba per l' oled... cerca.

Tiziano
" Ideas have to be wedded to action; if there is no sex, no vitality in them, there is no action" Henry Miller

Inviato: 16 feb 2009, 05:57
da mrttg
uCMan fai un giro su AVRfreaks ; )

Tiziano
" Ideas have to be wedded to action; if there is no sex, no vitality in them, there is no action" Henry Miller

Inviato: 17 feb 2009, 05:24
da uC_Man
Salve a tutti, :)
una domanda :?: : siccome ho iniziato a conteggiare i pin che servono ed a distribuire i vari hardware, volevo sapere di preciso quante erano le N uscite che necessitano per i relè ; ) . Ovviamente utilizzando un doppio scambio possiamo meglio giocare sulla logica degli scambi per gestire più ingressi audio ; ) . Oltre quello volevo sapere il tipo di display che bisogna utilizzare, in base a quello vedo se è il caso di gestirlo a 4 o 8 bit :| . Attenzione a non mettere troppa roba nel calderone :p il micro At8535 ha solo 8k di memoria programma e scrivendo del codice in C si fa presto a dire FULL :x , Ottimizzazioni a parte ; ) . Male che dovesse andare passiamo ad un modello superiore ; ) "IN CASO DI EMERGENZA ROMPERE LA BUSTINA DEI CAMPIONI INVIATI DALLA ATMEL" :D . Ciao graize a tutti.
P.S.
Simpatico il DAC che vogliamo utilizzare ; ) forse c'è qualche libreria in rete già pronta adesso sgunzaglio la ricerca spietata :D .

Inviato: 17 feb 2009, 06:49
da Giaime
Posso consigliare di andarci molto cauti con i relè per le commutazioni dei segnali audio? Parlo per esperienza, un sistema dove non si mischiano i due canali nello stesso package del relè, e dove si commutano anche le masse in ingresso, si è rivelato indispensabile nel mio pre, pena il peggioramento delle prestazioni in termini di rumore e separazione tra i canali...

Ciao!
Giaime Ugliano

Don't Be a Wimp. Use NFB and use tons of it.
Bruno Putzeys

Inviato: 17 feb 2009, 20:03
da uC_Man
Ciao Andrea, :)
Innanzi tutto auguri per il fiocco :) .
Allora ascolta ho iniziato a conteggiare i PIN del micro in maniera tale da avviarmi verso in conteggio finale.
Ti rispondo punto punto:
- Direi di cominciare con un micro AT8535 perchè già conosciuto abbastanza comune e facilmente reperibile, se poi abbiamo esigenze particolari passiamo ai modelli superiore che ho già chiesto in campionatura alla ATMEL.
- Per Quanto riguarda i convertitori AD420 ho visto il datasheets e si può controllare il tutto con 3 soli pin per quanto riguarda la comunicazione SPI, per collegarne N si possono mettere in cascata, mi son fatto una passeggiata sul datasheets ed ho visto il modo di collegarli. Abbastanza comodo e vantaggioso, mi costruisco una Double Word che sparo una volta sola e li programmo tutti assieme.
- Per i Relè ho in mente un collegamento logico per risparmiare PIN però ovviamente devo prima sapere quanti ne volete collegare in maniera tale da poter fare la mia connessione.
- Ingresso On/Off? accendere e spegnere l'apparecchio? Gestione stand-by?
- Siccome gli encoder hanno vari tipi di gestione scegliamone uno in maniera definitiva e poi vedo come gestirlo, per ricevitore IR no problem basta un solo PIN, vorrei sapere quale standard RC5 o Sony. RC5 è il più comune.
- Per il display, penso ad una gestione 4-bit, quindi RS, EN, D4, D5, D6, D7. Scegliete il display, io sarei per un 4 righe per poter fare anche dei piccoli giochetti di grafica, altrimenti su un grafico, ma non ha molto senso se non gli si fa della grafica sopra.

Per il resto procediamo ; ) buona giornata a tutti!!!!

Inviato: 17 feb 2009, 20:40
da andypairo
Ciao,
grazie per gli auguri.

Giaime: i relè servono solo per il mute dei canali inutilizzati e per il ritorno verso massa della corrente nei LED, per cui non dovrebbero esserci problemi di diafonia.

uCMan ( ma ce l'hai un nome di battesimo ; ) o è segreto? :D ):
-Va bene per il micro, l'esperto sei tu. Gli altri comunque costano 1-2€ in più, nel caso...
-Per i relè direi di fare 5 canali, al massimo non si montano quelli non usati. Se non ci stiamo facciamo 4
-L'ingresso on/off (e relativa uscita) è per gestire lo standby per il resto dell'apparecchio.
-IR: direi RC5
-Display: a me basterebbero un paio di 7 segmenti, ma non credo che vada bene a tutti. Per cui OK LCD a 4 bit. Se si riuscisse a pilotare un paio di 4511 con le stesse linee (magari ssi seleziona il tipo di display tramite un jumper) sarebbe il massimo.

Inviato: 18 feb 2009, 02:31
da uC_Man
Ciao Andrea,
innazni tutto grazie per "Esperto" mi fai arrossire :oops: . Tranquillo mamma e papà dopo avermi progetto avevano pensato al nome di AL9000, ma hanno visto che come codice fiscale non sarebbero uscite molte lettere quindi hanno optato per Marco :D .
Anche quì ti rispondo per punti:
- Per i relè se utilizziamo un 78ls138 con tre pin controlliamo singolarmente 8 relè: http://nitc.ac.in/nitc/dept/ece/public_ ... 4LS138.pdf
se vedi nel link del datasheets c'è anche la possibilità di aumentare i vari relè che possiamo controllare. da quello che ho capito ne servirebbe uno alla volta attivo e vi prego correggetemi se sbaglio.
- ok per tutti gli altri ingressi uscite.
- ok per l'RC5.
- In relazione ai display 7 seg fatemi sapere così preparo i driver oppure se volete mettere un LCD per me no problem. L'importante è scegliere un modello.
Proseguiamo ; )

Inviato: 18 feb 2009, 03:15
da andypairo
Ciao Marco,
benissimo l'uso di un decoder 3-8 linee, per la selezione ingressi va più che bene.
Come dicevo l'ideale sarebbe poter usare le linee "display" sia per l'LCD che per il 7 segmenti (utilizzando il decoder BCD-7 segmenti CD4511 bastano poche linee di comando)

Una cosa credo però vada approfondita: come ho già ribadito in passato un progetto del genere ha senso se permette di effettuare una calibrazione, in modo da non dover selezionare i dispositivi.

Per comodita riposto quanto avevo proposto tempo addietro
Dunque, come promesso ecco la tecnica che adotterei per la calibrazione:

Il circuito che abbiamo è Rs1x -- --Rs2x--
| |
M Sh

Risulta quindi logico pensare di adoperare il punto di giunzione tra le Rs2x e la resistenza di shunt come punto per la calibrazione.
Ciò permette di evitare complicate reti di switch dei segnali e la presenza di una Rsense.

Si inietta una corrente nota nel nodo e si va a leggere la tensione ai capi della resistenza da misurare. Tenendo sufficientemente alta l'impedenza dell'ADC la corrente scorrerà completamente nella resistenza in misura.

Per calibrare il ramo shunt è sufficiente lasciare spente tutte le altre e iniettare la corrente da misurare, leggendo la tensione ai suoi capi.

Per la calibrazione dei rami serie bisogna spegnere il led del ramo shunt e mettere un mute il canale desiderato. In questo modo la Rs2x è terminata a massa da un lato e dall'altro ha il generatore di corrente, per cui si misura come l'altra.

Iterando il procedimento siamo a cavallo.
Per semplicità credo convenga pilotare sempre "a manetta" il primo LDR della "T", eventualmente usando dei trimmer per equalizzare la Rserie "parassita" tra i canali. L'alternativa sarebbe la chiusura "manuale" verso massa degli ingressi in fase di calibrazione.

Quindi serve avere la possibilità di portare le uscite degli AD420 (uno per canale) sul nodo "wiper" dell'attenuatore e contestualmente di collegare al detto nodo l'ingresso ADC del micro (bufferizzando se serve). Quindi altri due relè.
Inoltre bisogna poter comandare la calibrazione (un ingresso) e poter memorizzare il fitting delle curve di resistenza.
Per impostare l'impedenza dell'attenuatore io utilizzerei uno degli ingressi analogici, letto all'accensione. Anzi si potrebbe usare lo stesso ingresso anche per scatenare la calibrazione.
Mi spiego: supponiamo di voler poter impostare l'impedenza Rnominale: si collega una R nota tra i +5V e l'ingresso ADC, con Rnominale verso massa. Misurando la tensione sul partitore con la R "nominale" si riesce a ricavare l'impedenza desiderata.
Se invece l'ingresso risulta collegato direttamente a +5V (o a massa) da un jumper si esegue la procedura di calibrazione.

La tabella di fitting, almeno in un primo momento, la farei di una decina di punti per LDR (per R di 100, 200,400.... fino a 1M), interpolando linearmente i punti intermedi.
Cio' significa, memorizzando il valore di pilotaggio per ciascun punto, 20 byte a LDR. Per un attenuatore stereo a n canali abbiamo 40(n+1) byte di EEPROM necessari (ce ne sono 512)

Domanda da profano: i valori della EEPROM possono essere scritti dal programma durante l'esecuzione, vero?

Ciao

Andrea

Inviato: 18 feb 2009, 20:49
da uC_Man
Ciao Andy, :)
guarda facciamo una cosa, io inizio a fare un disegno del tutto, inizio a distribuire le cose come è + facile gestirle con il micro: convertitore DAC, display LCD, relè, ingresso RC5, pulsante di On-Off.
Per il resto per capire come gestirlo se per cortesia mi fate un semplice schema così posso anche iniziare a capire come gestire il tutto e come posso settarlo per farlo funzionare al meglio. Ovviamente scegliamo un software per disegnare in maniera tale che possiamo scambiarci i disegni senza doverli necesseriamente mettere in PDF o JPG.
Io anche a livello di software di disegno eletronico eviterei di utilizzare roba estremamte complessa come Altium Orcad & Co. Io ho visto che utilizzando normalmente Kicad, gratuito e facilmente utilizzabile, possiamo fare un bel lavoro. Io inizierei con quello.
Attendo vostre notizie.
Si torna a lavoro ; )
Marco

Inviato: 19 feb 2009, 04:48
da andypairo
Ciao,
io di solito uso Eagle, che è piuttosto diffuso a livello mondiale e in genere è accettato come formato da chi produce PCB.

Ho buttato giù uno schema per la parte attenuatore (solo per due canali per semplicità) in modo da evidenziare le connessioni.

Immagine

La parte AD420 devo ancora vederla ma credo che la soluzione "da datasheet" sia OK.

Ciao

Andrea

Inviato: 19 feb 2009, 05:12
da uC_Man
Ciao Andy, :)
Perfetto direi. Vedo che alla fine dovrei pilotare dei relè ed un DAC da questo lato. Ottimo Mi metto all'opera per disegnare la circuiteria del micro. Auqnti Cnanali ADC servono? Per il DAC solo 3 pin dell'interfaccia SPI quindi no prob. Ciao a a presto.
Marco

Inviato: 19 feb 2009, 15:06
da andypairo
Ciao Marco,
a parte il fatto che i DAC sono 4 (e che quindi ti servirà qualche linea per selezionarli) direi che la parte "attenuatore" è tutta qui.
In effetti basta un solo ingresso ADC, dato che la calibrazione è fatta una LDR alla volta.

Per lo sbroglio, io direi di rimanere "modulari", cioè di sviluppare almeno la sezione analogica attenuatore - selezione ingressi su una basetta separata da montare a ridosso dei connettori di ingresso -uscita, mentre la sezione micro e display/pulsanti andrebbero su una (o due) basetta a parte.
In questo modo dovremmo minimizzare i disturbi.
Gli AD420 andranno pilotati dal micro solo quando serve (= cambio ingresso o volume), se possibile cercherei di programmare il micro in modo che sia in standby-power off quando non serve.

Ciao

Andrea

Inviato: 19 feb 2009, 15:43
da mrttg
La scheda con l' 8335 è sulla via... in arrivo :)

Tiziano
" Ideas have to be wedded to action; if there is no sex, no vitality in them, there is no action" Henry Miller

Inviato: 19 feb 2009, 16:39
da andypairo
Mannaggia potevi dirlo che compravi da Futurlec... mi servivano dei BJT....

Ciao

Andrea

Inviato: 19 feb 2009, 16:53
da mrttg
Mannaggia potevi dirlo che compravi da Futurlec... mi servivano dei BJT....

Ciao

Andrea


Originally posted by andypairo - 19/02/2009 : 10:39:56
Dont worry la prossima settimana compro da Farnell o Digikey ; )


Tiziano
" Ideas have to be wedded to action; if there is no sex, no vitality in them, there is no action" Henry Miller

Inviato: 19 feb 2009, 20:12
da uC_Man
Salve,
avete per caso la libreria dell'AD420? così la converto e la includo in Kicad per evitare di disegnarla senno no problem ; ) . Ciao Grazie
Marco

Inviato: 20 feb 2009, 02:44
da andypairo
No, mi dispiace.

Ciao

Andrea

Inviato: 20 feb 2009, 15:11
da andypairo
Ciao,
per completare un altro progetto sto per fare un acquisto nel negiozio che tiene gli AD420 a buon prezzo (circa 4€ al pezzo tutto considerato).
Ne prenderei 4 per me ma se qualcuno è interessato posso prenderli anche per lui.

Ciao

Andrea

Inviato: 20 feb 2009, 15:23
da mrttg
Un opzione interessante per i PCB

Tiziano
" Ideas have to be wedded to action; if there is no sex, no vitality in them, there is no action" Henry Miller

Inviato: 25 feb 2009, 20:43
da mrttg
Andy quando ti arrivano i convertitori ce ne mandi poi uno per le prove ; )

Tiziano

Inviato: 25 mar 2009, 19:48
da mrttg
Ciao,
per completare un altro progetto sto per fare un acquisto nel negiozio che tiene gli AD420 a buon prezzo (circa 4€ al pezzo tutto considerato).
Ne prenderei 4 per me ma se qualcuno è interessato posso prenderli anche per lui.

Ciao

Andrea


Originally posted by andypairo - 20/02/2009 :  09:11:48
Ciao la basetta è arrivata da Futurlec... se mi mandi un convertitore accrocco il tutto e Marco procede don il debug del codice :D

Tiziano

Inviato: 26 mar 2009, 04:56
da andypairo
Ciao,
ci sono stati ritardi col venditore, comunque ora dovrei aver sistemato il tutto e dovrei ricevere gli AD420 in una settimana circa.

Ciao

Andrea

Inviato: 27 mar 2009, 18:35
da mrttg
Ciao,
ci sono stati ritardi col venditore, comunque ora dovrei aver sistemato il tutto e dovrei ricevere gli AD420 in una settimana circa.

Ciao

Andrea


Originally posted by andypairo - 25/03/2009 : 23:56:47
; ) OK nei mei campioni ho trovato anche un nutrita serie di ricevitori IR Parlight quindi possiamo procedere.

Mi dovete dare uno schemino per collegare convertitore ecc... Andy forse è meglio che ti accordi com Marco.

Tiziano

Inviato: 31 mar 2009, 23:54
da andypairo
Ciao a tutti,
dopo oltre un mese di ritardi e "misunderstandings" è bastata una telefonata e in 24 ore ho ricevuto gli AD420.
A chi li devo spedire?

Ciao

Andrea

PS il circuito è pari pari al datasheet.

Inviato: 01 apr 2009, 19:30
da mrttg
PS il circuito è pari pari al datasheet.


Originally posted by andypairo - 31/03/2009 : 18:54:29
:D :D :D Simpaticone... intendevo uno schema di massima per collegare il micro come IO :)

Sento da Marco ; )

Tiziano

Inviato: 01 apr 2009, 19:57
da andypairo
Ecchenesapevo io di cosa intendessi :D

Onestamente non so come intende distribuire gli I/O del micro. Se non erro dovrebbero servire 3 linee per DAC, ma penso che alcune possano essere in comune.

Ciao

Andrea

Inviato: 30 apr 2009, 21:32
da andypairo
Qualche novità a riguardo? Vanno bene i convertitori?

Ciao

Andrea

Inviato: 30 apr 2009, 22:00
da mrttg
Qualche novità a riguardo? Vanno bene i convertitori?

Ciao

Andrea


Originally posted by andypairo - 30/04/2009 : 16:32:14
Ciao la prossima settimana debbo vedere Marco.. per la versione finale dello schema... e poi si inizia il debug... il codice è stato scritto.



Tiziano

Inviato: 09 lug 2009, 14:03
da mrttg
Qualche novità a riguardo? Vanno bene i convertitori?

Ciao

Andrea


Originally posted by andypairo - 30/04/2009 : 16:32:14
Andrea... per il momento Marco missing.... appena si fa risentire riprendiamo il discorso.

Tiziano

Inviato: 26 lug 2009, 22:50
da mrttg
Qualche novità a riguardo? Vanno bene i convertitori?

Ciao

Andrea


Originally posted by andypairo - 30/04/2009 : 16:32:14
Andrea... per il momento Marco missing.... appena si fa risentire riprendiamo il discorso.

Tiziano



Originally posted by mrttg - 09/07/2009 : 09:03:29
Finalmente il buon Marco :D è riapparso promettendo di finire il tutto... compatibilmente con i suoi impegni

Tiziano

Inviato: 03 ago 2009, 19:09
da uC_Man
Salve a tutti,
scusate il mio prolungato silenzio ma una serie di disavventure per fortuna a lieto fine sono passate e finite ; ) . Riprendendo il discorso io direi che sarebbe il caso di mettersi a tavolino e di definire uno schema intorno al micro almeno per sapere cosa devo controllare con il micro.
Marco

Inviato: 03 set 2009, 20:07
da mrttg
Il Marco sta proseguendo lo sviluppo... e sarà presente a Marzaglia cosi potremo parlare dell' argomento con i presenti.



Tiziano

Inviato: 28 set 2009, 13:27
da mrttg
Ciao a tutti,
in allegato la prima stesura dello schema del telecomando per accelerare i tempi.


Immagine Attachment: IR light speed.pdf ( 9929bytes )

L' idea è di fare una scheda abbastanza “universale” che permetta di coprire le varie esigenze di controllo volume:

A) controllo potenziometro motorizzato con circuito di potenza esterno

B) uso dei chip controllo volume Wolfsson e TI et similia o a relè

C) controllo di un banco di relè per le commutazioni ingressi

D) controllo del light speed sono da definire pin di DAC e ADC che servono... se riusciamo
evitiamo di usare un chip esterno (chi è coinvolto è pregato di darsi una mossa)

E) ho previsto un connettore SPI per eventuali espansioni.

PS: per il momento ho previsto un LCD 16*2 azzurro... sono bruttini io opterei per un grafico 132*64
PSS: lo schema è la prima stesura potrebbe contenere sviste grossolane

Per Marco:
1) controlla se la distribuzione degli ingressi ti garba
2) come facciamo il circuito di reset?

Tiziano

Inviato: 28 set 2009, 17:54
da mrttg
Ciao come sensore IR pensavo di usare Sharp GP1U28X disponubile presso la spaccitrice locale di componenti.

Idee proposte diverse?


Tiziano

Inviato: 29 set 2009, 01:08
da uC_Man
Salve a tutti,
quindi se non ci sono abiezioni riguardo lo schema del caro Tiziano io procederei con il firmware al quale avevo già iniziato a lavorare. Ragazzi cari diamo il via alle danze 8) .

Inviato: 29 set 2009, 01:58
da andypairo
D) controllo del light speed sono da definire pin di DAC e ADC che servono... se riusciamo
evitiamo di usare un chip esterno (chi è coinvolto è pregato di darsi una mossa)


Originally posted by mrttg - 28/09/2009 :  08:27:43
Il DAC ha senso se usiamo l'AD420, che esce in corrente fino a 20mA e ha precisione 16bit.
Per l'ADC va bene quello interno al micro. Ne basta uno.

Ciao

Andrea

Inviato: 29 set 2009, 02:25
da uC_Man
Ciao Andy,
io per quanto riguarda il DAC avrei un'altra soluzione, se vuoi ne possiamo parlare ci risparmieremmo un convertitore ;-)

Inviato: 29 set 2009, 02:37
da andypairo
Spara....

Inviato: 29 set 2009, 02:39
da UnixMan
io per quanto riguarda il DAC avrei un'altra soluzione, se vuoi ne possiamo parlare ci risparmieremmo un convertitore ;-)


Originariamente inviato da uC_Man - 28/09/2009 :  21:25:40
se stavi pensando ad un PWM o simili, IMVHO non e` il caso. ; )

I LED/LDR sono di fatto dei "fotoaccoppiatori analogici": quello che arriva al LED va` a modulare il segnale. Quindi l'alimentazione del LED deve essere quanto piu` "pulita" possibile (oltre che in corrente per questioni di regolazione).

Inoltre, per evitare inquinamenti diretti (EMI/RFI) e` bene che "tutto l'ambaradan digitale" se ne stia quanto piu` possibile sempre "spento" tranne quando deve processare qualche input dal pannello frontale o dal telecomando.

Se invece avevi qualche altra idea... che aspetti a dircela?! :p 8)


Ciao,
Paolo.

Inviato: 29 set 2009, 02:44
da uC_Man
Se ti genero un segnale PWM con il micro e lo faccio passare tramite una Buffer NOT 74LS14 in un filtro R-C-R ti tiro fuori un segnale continuo perfetto e posso allargarmi fino a 16 bit credo altrimenti un po meno credo 10, tutt'al più 8 nn di meno. Che ne dici?

Inviato: 29 set 2009, 02:47
da andypairo
Quoto in pieno Paolo. E poi gli AD si trovano ad un prezzo umano...

Il PWM, anche se ben fatto, non arriverà mai alla precisione di un buon DAC a 16 bit, al massimo arriverai a 10. Inoltre devi filtrarlo molto bene e curare altrettanto bene il layout.
Least but not last noi dobbiamo controllare la CORRENTE nei led.... come pensavi di fare? L'AD420 non è stato scelto a caso....



Ciao

Andrea

Inviato: 29 set 2009, 13:02
da mrttg
:D :D ciao mi sembrate un poco terrorizzati dalle EMI RFI 8)

Allora vada per il convertitore AD420 (se serve poi lo possiamo metterete con i fotaccoppiatori... quanti iNput analogici servono??

Tiziano

Inviato: 29 set 2009, 17:10
da UnixMan
:D :D ciao mi sembrate un poco terrorizzati dalle EMI RFI 8)


Originariamente inviato da mrttg - 29/09/2009 : 08:02:32
combattere con il "rumore digitale" non e` banale... meno se ne produce e meglio e`. :|
quanti iNput analogici servono??
INput analogici? intendi gli A/D per la calibrazione?


Ciao,
Paolo.

Inviato: 29 set 2009, 18:19
da mrttg
combattere con il "rumore digitale" non e` banale... meno se ne produce e meglio e`. :|
IMHO come nel caso del ronzio si esagera 8) si tratta solo di applicare le tecniche di base dell' elettronica ; )

In questa ottica Gli AD520 conviene tenerli su una basetta esterna in modo da avere maggiore libertà nella gestione dei ritorni di massa e centristella.

Per il master della scheda telecomando qualche volontario... provo a chiedere a Teslacoil (che lavorando in Protel mi facilita il passaggio delle informazioni)
quanti iNput analogici servono??
INput analogici? intendi gli A/D per la calibrazione?
Si intendo quelli :)

Una volta pronto il tutto riuscite a fornirmi un light speed per il test del tutto?

Tiziano

Tiziano

Inviato: 29 set 2009, 18:22
da mrttg
Forse conviene che facciate un piccolo diagramma di flusso su come gestire il light speed e se vanno usate tabelle nel programma.

Tiziano

Inviato: 30 set 2009, 02:22
da andypairo
L'utilizzo dell'AD420 è IMHO ottimale anche per quanto riguarda la generazione di rumore ma soprattutto perchè mi garantisce una accuratezza a 16 bit sulla corrente e ha un range che copre le correnti necessarie al pilotaggio dei led.
Nessun sistema DAC in tensione + VCCS o altri accrocchi permette una precisione lontanamente simile.
Inoltre in fase di calibrazione possiamo iniettare una corrente a piacere nelle resistenze da misurare, e ciò semplifica le cose.

Come detto "n" volte per l'ADC va benissimo l'input analogico del micro.

Per quanto riguarda il "diagramma di flusso" ho parlato con Marco spiegandogli a voce come procederei. Onde evitare di ripetere il tutto quoto per l'ultima volta i post in cui spiegavo il procedimento..
Per comodita riposto quanto avevo proposto tempo addietro

quote:
Dunque, come promesso ecco la tecnica che adotterei per la calibrazione:

Il circuito che abbiamo è Rs1x -- --Rs2x--
| |
M Sh

Risulta quindi logico pensare di adoperare il punto di giunzione tra le Rs2x e la resistenza di shunt come punto per la calibrazione.
Ciò permette di evitare complicate reti di switch dei segnali e la presenza di una Rsense.

Si inietta una corrente nota nel nodo e si va a leggere la tensione ai capi della resistenza da misurare. Tenendo sufficientemente alta l'impedenza dell'ADC la corrente scorrerà completamente nella resistenza in misura.

Per calibrare il ramo shunt è sufficiente lasciare spente tutte le altre e iniettare la corrente da misurare, leggendo la tensione ai suoi capi.

Per la calibrazione dei rami serie bisogna spegnere il led del ramo shunt e mettere un mute il canale desiderato. In questo modo la Rs2x è terminata a massa da un lato e dall'altro ha il generatore di corrente, per cui si misura come l'altra.

Iterando il procedimento siamo a cavallo.



Per semplicità credo convenga pilotare sempre "a manetta" il primo LDR della "T", eventualmente usando dei trimmer per equalizzare la Rserie "parassita" tra i canali. L'alternativa sarebbe la chiusura "manuale" verso massa degli ingressi in fase di calibrazione.

Quindi serve avere la possibilità di portare le uscite degli AD420 (uno per canale) sul nodo "wiper" dell'attenuatore e contestualmente di collegare al detto nodo l'ingresso ADC del micro (bufferizzando se serve). Quindi altri due relè.
Inoltre bisogna poter comandare la calibrazione (un ingresso) e poter memorizzare il fitting delle curve di resistenza.
Per impostare l'impedenza dell'attenuatore io utilizzerei uno degli ingressi analogici, letto all'accensione. Anzi si potrebbe usare lo stesso ingresso anche per scatenare la calibrazione.
Mi spiego: supponiamo di voler poter impostare l'impedenza Rnominale: si collega una R nota tra i +5V e l'ingresso ADC, con Rnominale verso massa. Misurando la tensione sul partitore con la R "nominale" si riesce a ricavare l'impedenza desiderata.
Se invece l'ingresso risulta collegato direttamente a +5V (o a massa) da un jumper si esegue la procedura di calibrazione.

La tabella di fitting, almeno in un primo momento, la farei di una decina di punti per LDR (per R di 100, 200,400.... fino a 1M), interpolando linearmente i punti intermedi.
Cio' significa, memorizzando il valore di pilotaggio per ciascun punto, 20 byte a LDR. Per un attenuatore stereo a n canali abbiamo 40(n+1) byte di EEPROM necessari (ce ne sono 512)
Ciao

Andrea

Inviato: 03 ott 2009, 15:12
da mrttg
Ciao Andy e a tutta la truppa 8)

Con Marco abbiamo concordato di mettere una seconda CPU che gestisca i pulsanti e il visualizzatore e opzionale una interfaccia USB.

Tale scelta viene fatta per rendere la scheda maggiormente flessibile e avere la possibilità di pilotare TFT e Oled.

Si scelgono due processori uguali per il fatto che sono DIL e non smd... come la maggior parte di chip con I/O superiore ai 40 pin.

@Andy hai uno schema anche fatto a mano del light speed?

@Marco qual' è il modulo con FTDI chip piu comune commercialmente ?

Tiziano

Re: lightspeed attenuator+progetto HiFun controllo pre

Inviato: 13 apr 2011, 11:31
da UnixMan
Up!

Proviamo a resuscitare questo progetto?

BTW: George ha copiato la nostra idea di come usare gli LDR per la selezione degli ingressi! :wasntme:
lightspeed-attenuator-new-passive-preamp-3-input-lightspeed-attenuaor.gif

http://www.diyaudio.com/forums/analog-l ... ost2536352

(...anche dal punto di vista grafico il disegno è quasi identico a quello postato qui da Marzio).

Re: lightspeed attenuator+progetto HiFun controllo pre

Inviato: 13 apr 2011, 11:49
da marziom
UnixMan ha scritto: (...anche dal punto di vista grafico il disegno è quasi identico a quello postato qui da Marzio).
no, no, leva pure il quasi... le mie cazzate le riconosco ormai.
quanta strada che ha fatto quel "pezzo di carta"... e come si è fatto subito a cancellare i riferimenti originali :devil:

Re: lightspeed attenuator+progetto HiFun controllo pre

Inviato: 13 apr 2011, 11:59
da vince
con un po' di sforzo si poteva addirittura rifare il disegno e tentare di sostenere di aver fatto qualcosa di originale :smile:

Re: lightspeed attenuator+progetto HiFun controllo pre

Inviato: 13 apr 2011, 15:16
da mrttg
Resta valido anche il discorso del software da fare... abbiamo dac e starter kit micro... quello che serve una specifica tecnica chiara :wink:

Re: lightspeed attenuator+progetto HiFun controllo pre

Inviato: 14 apr 2011, 13:47
da UnixMan
OK, bisogna rileggersi da capo tutto il thread e postare un riassunto con quanto si era concluso. Di li' si può partire per buttare giù una specifica per il software... :?:

qualche volontario?

Re: lightspeed attenuator+progetto HiFun controllo pre

Inviato: 21 apr 2011, 10:31
da Porfido
UnixMan ha scritto:OK, bisogna rileggersi da capo tutto il thread e postare un riassunto con quanto si era concluso.
qualche volontario?
Ciao a tutti! :smile:
Io questo thread l'ho letto e riletto più di una volta prima di iscrivermi, ma, cavoli, ragazzi, siete ad un altro livello rispetto alla mia invereconda niubbaggine, quindi non posso nemmeno dire di aver capito tutto quello che ho letto... :lol:
Bellissimo progetto davvero! Spero sinceramente lo completiate perchè offre possibilità immense! :up:
Il mio approccio al lightspeed telecomandato è stato molto più "neanderthal".... :oops:
In pratica ho messo un pot motorizzato ad attenuare i 5 volt necessari ad un lightspeed fornito in kit da Uriah Dailey ed a valle un buffer B1 clone di Pass alimentato a batterie con relativa ricarica-mantenimento....
I 5volt li ho spartanamente ricavati con un 7805, ripulendoli poi con un JLH ripple eater....
Immagine
Immagine
A dire il vero sono molto soddisfatto di come suoni il lightspeed con il B1, ma il limite dei 25k di questo attenuatore e la poca versatilità di questo progetto sono un handicap non indifferente....

Re: lightspeed attenuator+progetto HiFun controllo pre

Inviato: 24 giu 2011, 13:29
da UnixMan
Mentre noi dormivamo, qualcun altro si è dato da fare... :)

http://www.diyaudio.com/forums/analog-l ... reamp.html

Re: lightspeed attenuator+progetto HiFun controllo pre

Inviato: 24 giu 2011, 22:27
da piero7
per questa ragione non l'ho mai preso in considerazione, 25K so troppo pochi per i tubazzi

Ciao porfido!!! :smile:

Re: lightspeed attenuator+progetto HiFun controllo pre

Inviato: 26 giu 2011, 13:23
da UnixMan
la tua sorgente/i hanno uscita a tubi?

Comunque, l'impedenza di ingresso non deve necessariamente essere così bassa.

Nel LS originale è stata scelta così bassa soprattutto per avere una impedenza di uscita ragionevolmente bassa (essendo un attenuatore passivo "potenziometrico", supponendo che la Zout della sorgente sia << della Zin dell'attenuatore, nel peggiore dei casi - "a metà corsa" - Zout ~= 1/4 Zin).

Questo per permetterne l'uso come "pre passivo" collegabile a (quasi) qualsiasi finale con cavi di capacità e lunghezza ragionevoli.

Ma se lo connetti direttamente ad un ingresso ad alta impedenza (e.g. a tubi) in un ampli integrato o come controllo di volume in un pre linea attivo, nulla vieta di configurarlo per avere impedenze di ingresso molto più alte, ad es. i soliti 100K o volendo anche di più, specie se si utilizzano gli NS-3 anziché gli NS-2.

Re: lightspeed attenuator+progetto HiFun controllo pre

Inviato: 26 ago 2015, 13:30
da UnixMan
Peccato non aver mai portato a termine il progetto. Nel frattempo qualcun altro pare aver fatto qualcosa di simile:

http://www.tortugaaudio.com/evolution-o ... e-control/
Auto-calibration is the key feature of our third generation technology.
[...]
As long as each LDR can be controlled within the targeted upper/lower resistance limits, our proprietary software will calibrate the control of each individual LDR to achieve the required attenuation schedule regardless of the nonlinearity and performance differences between LDRs.
[...]
Auto-calibration is executed by a piggy-back calibration module and a software driven process that utilizes both 12 bit DAC (digital to analog) and 12 bit ADC (analog to digital) technology.
Vendono anche schede per uso "DIY":

http://www.tortugaaudio.com/diy-audio-components/

http://www.diyaudio.it/threads/1157-Tor ... o-numerico

(...purtroppo i prezzi, sebbene non proprio proibitivi, non sono esattamente "Hi-Fun").