| NonSoloBolleDiA...
| Inviato il: 22/6/2012,14:17
|
A volte le discussioni sono utili perchè stimolano...a volte invece confondono i meno esperti. Questa discussione continua a generare confusione...tagliamo la testa al toro e facciamo diventare questa come il riferimento. I più esperti possono fare come vogliono...perchè la soluzione non è unica..ma sono infinite.
Quindi , eliminiamo il potenziometro, e utilizziamo il circuito allegato...questa folta fissiamo le resistenze R1 e R2 scegliendole tra le più diffuse:
R1=10K
R2=1K
La formula per ricavare la tensione è sempre questa:
Vi= CADS1* CAD_TO_VOLT * (R1+R2)/R2
Questo è il codice che manda sul display e sulla porta usb il valore della tensione:
10 ' PARTITORE TENSIONE DA 0 a 50V
20 ' MOSTRA IL VALORE DELLA TENSIONE SUL DISPLAY E SULLA PORTA USB
30 CONSTANT R1=10000 ' Resistenza da 10 K
40 CONSTANT R2=1000 ' Resistenza da 1 K
50 CONSTANT FAT_PROP = (R1+R2)/R2
60 CONSTANT FATTORE_CORREZIONE=1.0
70 V=CADS1*CAD_TO_VOLT *FAT_PROP*FATTORE_CORREZIONE
80 LCDPOS=&H11
90 PRINT "V="&V
100 LCDWRITE="V="&V
110 WAITS 1
120 GOTO 70
Se volete un valore preciso (le resistenza hanno una tolleranza) , misurate la tensione con un tester, giocate con il FATTORE_CORREZIONE ...se lo mettete maggiore di 1.0 la tensione visualizzata aumenta, se lo mettete minore di 1.0 la tensione visualizzata diminuisce.
Un saluto
Bolle
|
Modificato da PinoTux - 25/12/2013, 12:31:50
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...
| | | | PinoTux
| Inviato il: 22/6/2012,15:15
|
Il fattore di correzione dovrebbe compensare l'errore che avviene con l'alimentazione diversa dai 5.0V precisi, vero? Cosi si è risolto un altro problemino ...
--------------- "Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza"
http://iv3gfn.al...
| | | | NonSoloBolleDiA...
| Inviato il: 22/6/2012,15:34
|
Questo è il codice che visualizza i valori mediati della tensione...più o meno come si comporta un tester. Bolle
10 ' PARTITORE TENSIONE DA 0 a 50V CON VALORI MEDIATI 15 ' MOSTRA IL VALORE DELLA TENSIONE SUL DISPLAY E SULLA PORTA USB 17 CONSTANT ELE_MEDIA=30 ' EFFETTUA LA MEDIA DI 30 VALORI LETTI 18 CONSTANT R1=10000 ' Resistenza da 10 K 20 CONSTANT R2=1000 ' Resistenza da 1 K 30 CONSTANT FAT_PROP = (R1+R2)/R2 40 CONSTANT FATTORE_CORREZIONE=1.01 60 GOSUB :MEDIA_TENSIONE 65 LCDPOS=&H11 70 PRINT "V="&VSTR 80 LCDWRITE="V="&VSTR 90 WAITS 1 100 GOTO 60 1000 :MEDIA_TENSIONE 1010 CLR M 1030 FOR I=1 TO ELE_MEDIA 1031 M+=CADS1 1050 NEXT I 1060 VSTR= LEFT(M*CAD_TO_VOLT /ELE_MEDIA*FAT_PROP*FATTORE_CORREZIONE,5) 1070 RETURN
CITAZIONE (PinoTux @ 22/6/2012, 16:15) Il fattore di correzione dovrebbe compensare l'errore che avviene con l'alimentazione diversa dai 5.0V precisi, vero? Si, cmq in questa discussione voglio sviscerare tutti i casi...in modo da non creare ambiguità.
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...
| | | | marpad65
| Inviato il: 22/6/2012,18:00
|
..Ottimo !!
---------------
| | | | PinoTux
| Inviato il: 7/7/2012,15:46
|
Una piccola nota come ho già scritto in ...
CITAZIONE Per una misura corretta del sistema a 12V (nel mio caso) bisogna considerare un fondo scala da almeno 30 volt, succede che lo zener di protezione da 5,1V, montato sull'ingresso dei CADS, comincia a condurre molto prima della tensione caratteristica, infatti il ginocchio non è netto, e già con tensioni di circa 4,5 volt questo conduce; ciò comporta che verso il fondo scala la tensione che misuriamo non è quella reale applicata al circuito, ma molto più alta. Intendo dire che il PPTEA visualizzerà una tensione inferiore alla reale.(nota aggiunta il 8/7/12) Come hai detto tu le soluzioni sono infinite.... ma mi premeva chiarire questo fatto dello zener. Per sistemi a 48 volt e superiori andrebbe dimensionato di conseguenza, è ovvio.
Una domanda a Bolle: se per minimizzare questo inconveniente usassi uno zener da 5,6 volt, il PIC come risponderebbe? Qualcuno mi ha detto che fa delle cose strane, come resettarsi eccetera, tutto sta a vedere se questo succede con valori più elevati o se con questo potrebbe reggere, lo chiedo perché fa troppo caldo e sinceramente non trovo il tempo (e sopratutto la voglia) di fare l'esperimento...che magari è già stato fatto...
Modificato da PinoTux - 8/7/2012, 08:39
--------------- "Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza"
http://iv3gfn.al...
| | | | NonSoloBolleDiA...
| Inviato il: 8/7/2012,05:45
|
CITAZIONE (PinoTux @ 7/7/2012, 16:46) se per minimizzare questo inconveniente usassi uno zener da 5,6 volt, il PIC come risponderebbe? Ho provato lo zener da 5.6 gza 5.6x e va bene, il pic sembra tenere con quel diodo... Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...
| | | | marpad65
| Inviato il: 8/7/2012,10:14
|
@PinoTux,
anch'io ho avuto problemi con zener 5V1 mi limitava la tensione a 4,2 - 4,4 volt, l'ho sostituito con un 5V6. Il 18f regge fino a tensioni max di 6V, non dovrebbe dare nessun problema
Marco
---------------
| | | | Luca450Mhz
| Inviato il: 28/12/2012,01:12
|
Ciao Bolle, sto realizzando un programma che tra le altre cose mi legge la tensione. L'ingresso che utilizzo per leggere i volt e il CAD2 (il CAD1 lo utilizzo per un sensore di temperatura). Però vedo che vengono letti valori troppo diversi tra loro ad ogni lettura, e di conseguenza la conversione in volt è sballata. Ho utilizzato il tuo schema elettrico con zener da 5,6V.
Il codice è questo:
CODICE 200 CONSTANT NUM_ELEMENTI_MEDIA=5 210 CONSTANT ATTESA_REFRESH=1 220 CONSTANT FATTORE_PRECISIONE=10 221 CONSTANT R1=10000 ' Resistenza da 10 K 222 CONSTANT R2=1000 ' Resistenza da 1 K 223 CONSTANT FAT_PROP = (R1+R2)/R2 224 CONSTANT FATTORE_CORREZIONE=1.0 225 CADS=2 250 DIM MEM(NUM_ELEMENTI_MEDIA) AS WORD 300 :MAIN ' INIZIO PROGRAMMA 310 IND=(INDICE MOD NUM_ELEMENTI_MEDIA) +1 320 INDICE++ 330 MEM(IND)=CADS1*CAD_TO_TEMP*FATTORE_PRECISIONE 350 CLR G 360 TEMP=0.0 370 :ELAB G++ 380 TEMP+=MEM(G) 390 IF G>=NUM_ELEMENTI_MEDIA THEN :SAL_TEMP 400 IF G<INDICE THEN :ELAB 410 :SAL_TEMP TEMP/=G 420 TEMP/=FATTORE_PRECISIONE 495 USBOUT="T: " & LEFT(TEMP&"",5) & CHR(SIMB_GRADI_CENTIGRADI) & "C" 501 WAITS 0.5 505 V=CADS2 515 VOLT2=V*CAD_TO_VOLT *FAT_PROP*FATTORE_CORREZIONE 521 STRVOLT=" V2: " & LEFT(VOLT2&"", 5) & "CADS2: " & V 530 USBOUT=STRVOLT & CR_LF 545 WAITS ATTESA_REFRESH 546 ' STOP_PWM2 550 GOTO :MAIN
L'output è qualcosa come questo:
CODICE T: 23.21C V2: 2.365CADS2: 44 T: 23.29C V2: 3.064CADS2: 57 T: 22.70C V2: 3.709CADS2: 69 T: 22.70C V2: 4.838CADS2: 90 T: 22.00C V2: 5.053CADS2: 94 T: 22.10C V2: 4.838CADS2: 90 T: 22.10C V2: 4.999CADS2: 93 T: 22.10C V2: 4.461CADS2: 83
Questi valori sono presi con collegati una V di circa 5 V (uscita di un caricatore per cellulari con attacco mini USB)
Ho guardato la guida per vedere se sto utilizzando male gli ingressi PWM ma non mi sembra.. Grazie per l'aiuto!
--------------- Pannelli: 6975 Wp (poli e mono). Inverter UPS PSW7 6kW 48V toroidale con switch comandato dal mio si...
| | | | Luca450Mhz
| Inviato il: 28/12/2012,09:00
|
Aggiornamento. Ho scoperto che il problema erano i cavetti f/f che nella breadboard a volte non fanno bene contatto e il PPTEA "legge" valori sballati. Però ho notato una cosa: sia che il cavo sia ballerino, sia che il cavo sul CAD lo tolgo completamente, il PPTEA continua a leggere valori randomici!!! Io mi aspetto che se non c'è un ingresso, lui non deve leggere niente, quindi sarebbe equivalente ad uno 0. Invece non accade questo.. come si può risolvere questa cosa? Chiedo a voi che avete molta più esperienza di me nella programmazione del PPTEA.
--------------- Pannelli: 6975 Wp (poli e mono). Inverter UPS PSW7 6kW 48V toroidale con switch comandato dal mio si...
| | | | MarKoZaKKa
| Inviato il: 28/12/2012,13:27
|
Quello che leggi a circuito aperto è rumore... essendo ingressi ad alta impedenza, captano la qualunque... e di spazzatura nell'etere se ne trova tanta...
--------------- Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze
...
| | | | PinoTux
| Inviato il: 28/12/2012,13:51
|
CITAZIONE Però ho notato una cosa: sia che il cavo sia ballerino, sia che il cavo sul CAD lo tolgo completamente, il PPTEA continua a leggere valori randomici!!! Io mi aspetto che se non c'è un ingresso, lui non deve leggere niente, quindi sarebbe equivalente ad uno 0. Invece non accade questo.. come si può risolvere questa cosa? Marko ti ha dato la spiegazione del perché, per ovviare a questo basta "chiudere" verso massa l'ingresso non utilizzato con una resistenza da qualche decina di kiloohm, questa, ovviamente, influirà sul valore del partitore di ingresso e dovrai ricalibrare il tutto tramite il fattore di correzione o tramite un trimmer se hai optato per quest'ultima opzione.
--------------- "Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza"
http://iv3gfn.al...
| | | | Luca450Mhz
| Inviato il: 28/12/2012,14:29
|
Grazie mille della delucidazione! Pino come dici tu serve per gli ingressi non utilizzati, oppure no? Inserisco in serie al partitore una resistenza (credo a questo punto di capire il significato di resistenza di pull-down?), che in caso di assenza di "segnale" dal partitore indica al PPTEA un ingresso nullo (pari a 0), ma in caso di tensione all'uscita del partitore il PPTEA può leggere bene il valore dell'ingresso (tenendo conto che il valore viene abbassato di X dalla resistenza in serie)?
Modificato da Luca450Mhz - 28/12/2012, 14:44
--------------- Pannelli: 6975 Wp (poli e mono). Inverter UPS PSW7 6kW 48V toroidale con switch comandato dal mio si...
| | | | PinoTux
| Inviato il: 28/12/2012,18:57
|
La resistenza che ho descritto sopra viene messa tra l'ingresso del CAD e massa, se per qualche ragione stacchi il partitore di ingresso, il sistema ti indicherà "0" e non darà più i numeri. È chiaro che se il tutto è cablato sulla basetta non vedo il motivo di fare questa modifica. Forse il partitore di tensione l'hai realizzato lontano dal PTTEA per non dover portare in giro la tensione di batteria.... in questo caso monti lo zener e la resistenza da 1k sulla basetta, e la resistenza da 10k vicino a dove prelevi la tensione da misurare; questo è riferito allo schema proposto da Bolle all'inizio della discussione.
--------------- "Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza"
http://iv3gfn.al...
| | | | Luca450Mhz
| Inviato il: 3/1/2013,23:28
|
Ciao Pino, il tutto non è e non sarà cablato sulla scheda principale del PPTEA. Non ho spazio sulla scheda e cmq nell'impianto ci sarà una schedina apposita per la rilevazione del voltaggio. Io sto usando lo schema di Bolle riportato nella prima pagina della discussione. La stessa resistenza non andrebbe usata con il sensore della temperatura a questo punto? Quel sensore non mi da il minimo problema, mentre per la misurazione delle tensione continuo ad avere difficoltà (non sono riuscito a montare ancora la resistenza che mi hai indicato tu però)
--------------- Pannelli: 6975 Wp (poli e mono). Inverter UPS PSW7 6kW 48V toroidale con switch comandato dal mio si...
| | | | PinoTux
| Inviato il: 5/1/2013,02:44
|
Sulle prove che ho fatto con il sensore di temperatura, per ovviare di ricevere "rumore" quando staccavo il sensore, ho saldato direttamente sull'ingresso una resistenza da 47k, questo era già stato scritto nel post originario e dovrebbe pure essere riportato nel sito pptea che ho in firma. Per quanto riguarda il tuo problema sulla misura della tensione che "dà i numeri" quando disinserisci l'ingresso, sarebbe sufficiente montare la resistenza da 1k e lo zener da 5,6 volt direttamente sulla basetta, montaci pure qualche condensatore in parallelo, ho l'impressione che il cavo di collegamento faccia da antenna e quello che misuri potrebbero essere interferenze a radio frequenza.
--------------- "Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza"
http://iv3gfn.al...
| |
| | |
|
Versione Completa!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|