Misuratore di corrente AC con ATtiny84. (ora SO quanto mi costi!)

Ciao giangi, come avrai notato ultimamente non sono molto presente nel forum, per via di pressanti impegni lavorativi che devo mantenere. Ho letto che hai cambiato sensore ma nonostante questo non sei riuscito a risolvere il problema col misuratore. Questo mi dispiace molto, dato che, in qualche modo, mi sento responsabile del progetto e vorrei che chiunque lo realizzasse potesse utilizzarlo al meglio.

Hai detto che hai avuto l'impressione che l'apparecchio misurasse solo fino a 600W circa e che misurando l'uscita del sensore hai letto valori intorno a 2.52. Questo potrebbe essere già un sintomo di una qualche anomalia, infatti una tensione di 2.54 corrisponde appena a circa 150W di carico, mentre ho visto il misuratore visualizzare carichi fino ad oltre 3KW (il max che ho potuto testare).

L'ultima cosa su cui riporre le speranze (sempre ammettendo che la parte elettronica della scheda sia OK) è proprio lo sketch. Cercherò di pubblicarlo al più presto (adesso non sono in sede)...e speriamo bene :slight_smile:

aspetto .... grazie !!!!!!

Aggiungo che, se neppure il file non dovesse funzionare, guarda...al limite sono pure disposto a spedirti un ATtiny84 con tanto di sketch precaricato e sicuramente funzionante.
Più di cosi non saprei proprio come poterti aiutare...o forse si, potrei sempre darti l'esemplare in mio possesso, ma questa la considero un'ipotesi "estrema", in fondo ormai al misuratore mi ci sono affezionato. :slight_smile:

ti ricordi al volo il valore del lfuse ????????
C2 ??????????? perche' ci sono diversi

La board per l'ATtiny84 in versione 8Mhz che uso, è questa:

attiny84-8.name=ATtiny84 (internal 8 MHz clock)
attiny84-8.bootloader.low_fuses=0xe2
attiny84-8.bootloader.high_fuses=0xdf
attiny84-8.bootloader.extended_fuses=0xff
attiny84-8.upload.maximum_size=8192
attiny84-8.build.mcu=attiny84
attiny84-8.build.f_cpu=8000000L
attiny84-8.build.core=arduino:arduino
attiny84-8.build.variant=tiny14

Se mi passate lo sketch, posso compilarvelo io, nel giro di qualche minuto.

Qui c'è il file HEX attualmente caricato nel misuratore (comprensivo di modifica del valore cosphi come indicato qualche post addietro).

Grazie per l'interesse Leo, comunque vediamo se caricando il firmware cambia qualcosa.

LTSR1_84_SCATTI_3.cpp.hex (21 KB)

niente la stessa cosa .... non funge .....
ora vi dico quello che ho fatto ....
innanzi tutto devo utilizzare un prog seriale del tipo ponyser perche' arduino in modalita' isp non riesco a programmare gli attiny anche se qualche volta funziona .....
con avrdude do il comando

avrdude -p t84 -c ponyser -P com1 -U lfuse:w:0xe2:m
copi carico l'hex

avrdude -p t84 -c ponyser -P com1 -U flash:w:"Nome file.hex" (no virgolette)

tutto ok ????
fatemi sapere

Per flashare io uso:
avrdude -p t84 -P porta -c programmatore -U flash:w:nome_file:i -b 19200

-P è la tua porta (cambia da Win a Linux), -c indica il programmatore (stk500v1 per l'Arduino come ISP, oppure usbtiny), poi metti -b 19200, è importante: specifica la velocità della seriale. L'ArduinoISP è compilato a 19200 (IDE 002x o 1.0.1) quindi questo parametro è indispensabile.

Non e' cambiato nulla tutto uiguale .... l'unica cosa che ora utilizzo arduino come isp
mah !!! mistero

Senza essere da te, non so cosa possa essere ma:

  1. ricontrolla tutti i collegamenti. Se puoi, togli il chip dal circuito (hai messo uno zoccolino, vero? ;)) che magari qualche segnale su uno dei pin usati per la programmazione da noia al processo (soprattutto la presenza di segnali Low);
  2. ricontrolla i fuse se sono quelli che ti ha passato dalubar. Se il chip deve lavorare ad 8 Hz, io per l'Attiny84 normalmente uso $E2/$D7/$FF rispettivamente per i fuse basso/alto/esteso
  3. se puoi, compila con l'IDE 0022 oppure con la 1.0.1, evitando la 1.0: oltre a non avere a stessa toolchain per tutte le versioni di SO, usa anche uno sketch ArduinoISP che non funziona bene.
  4. flasha sull'Atmeg328 dell'Arduino l'Optiboot 4.4, se ancora non ce l'hai messo. Potrebbe essere un problema di autoreset.

Detto questo, puoi fare una foto del circuito di programmazione con tutti i fili collegati fra l'Arduino ed il Tiny84?

Ho provato un altro phone da 1800w segna 900W .....
sembra che sotto ha 300w segni zero ........ da 300 in su segma ma sbagliato
come se ci fosse una misura di corrente errata ...........
tra l'altro in questi giorni ho rifatto il circuito stampato e rimontato ma uguale .....
doami rinforzo le piste del sensore con del filo da 3 mm .... non so che dire
by

Scusa, ma allora riesci a programmare i firmware oppure no? Non ho capito...

Domani ti faccio le foto ... comunque il sistema non e' che non gira ... ma sbaglia le letture o comunque qualcosa che dimezza la lettura ....... se fosse programmato male dovrebbe dare numero al lotto ....
magari ci sentiamo via skype
per ora grazie e BUONA NOTTE e tuu'oggi che sono qui .. la signora mi suicida

Detto questo, puoi fare una foto del circuito di programmazione con tutti i fili collegati fra l'Arduino ed il Tiny84?

In realtà a questo punto io non credo più si tratti di un problema che abbia a che fare con la programmazione in senso "stretto", nè fuse nè tantomeno versioni di IDE. Se ha provato il file hex che gli ho passato e tutto è a posto DEVE funzionare. E poi che senso avrebbe che lo sketch gira bene per quanto riguarda le scritte sul LCD e i menù (che si vedono perfettamente) e non legge correttamente SOLO i valori del sensore?

Quel che credo, invece, è che bisogna fare qualche specifica ricerca sulla parte hardware, ovvero piste, collegamenti, saldature e quant'altro.
Se puoi, posta una foto dove si vedano bene le saldature del pCB e soprattutto del sensore, perchè i pin hanno un passo più stretto del normale e potrebbe esserci qualche problema.

Se ho capito bene hai misurato con un multimetro direttamente l'uscita del sensore, e non hai riscontrato variazioni oltre il 2.54 anche in presenza di carico. Se è cosi, basterebbe questa prova per escludere il tiny e la programmazione tutta.

Domani ci sentiamo su skype.

certo che si programmano fin dall'inizio solo che per gli attiny utilizzavo un ponyser (molto semplice via seriale pura) .... ora settando il B a 19200 che non lo sapevo posso utilizzare anche arduino uno

by

Sì, penso anch'io che sia un problema della parte sensoriale, a 'sto punto. Mi era parso che avesse problemi a programmare, però forse non ci siamo intesi. :sweat_smile:

La storia infinitab ....
Allora e' stato appurato che la colpa e' il comportamento anomalo del sensore .... e dato che ne avevo un altro (gentilmente fornito dalla RS)
questa mattina ho fatto delle prove con il solo sensore .........
2.510v di riferimento phone 1200W primo scatto 2.530v, secondo scatto piena potenza 2.510v
What ?????????
Come all'aumentare della CORRENTE la V diminuisce ???????????
ho cambiato le connessioni e portato a 12A di f.s. anziche' 25 .... stessa solfa
Incomincio ad andare in pallone .....
Decido di inserire dei carichi resistivi ma con una tensione continua anziche' alternata

1° prova lampadina 21W auto a 12v ref. 2.594 v
2° prova resistenza 3r3 50W a 12v ref. 2.678 v

Tutto regolare allora il sensore non va in AC ???? eppure e' il modello che ha utilizzato dalubar tra l'altro sul datasheet dichiarano DC/AC
qualcosa sfugge o i sensori della RS (di quelli acquistati da me sono bacati)
a voi la lauta sentenza .....

sich sich sich !!!!!!!!!!!!!!!!!

altro dato ... con la continua il valore in uscita dal sensore viene misurato perfettamente e rispecchia la Vo sul display ...
....

giangi2:
questa mattina ho fatto delle prove con il solo sensore .........
2.510v di riferimento phone 1200W primo scatto 2.530v, secondo scatto piena potenza 2.510v

Ma è proprio questo il punto. Con un carico da 1200W il sensore dovrebbe rilevare una tensione Vmax = 2.77 / 2.78 volt, corrispondenti a una corrente rms di circa 6,60A .
Ho recuperato un vecchio ferro da stiro da 1200W:

E collegandolo al misuratore ottengo questo:

A questo punto mi viene da pensare che tu abbia un problema di campionamento delle misure, ipotesi che potrebbe essere avvalorata dai corretti valori che ottieni in CC (e qui tornerebbe nuovamente lo "spettro" della corretta velocità di clock della MCU); oppure problemi nell'AnalogRead .