Ulisse D.J. Inserito: 22 febbraio 2012 Segnala Inserito: 22 febbraio 2012 Salve a tutti.In un futuro non molto lontano (sperando di trovare presto un po' di tempo libero) vorrei realizzare un circuito il quale, tra le varie cose, dovrebbe poter regolare il calore generato da una resistenza a 220V (tipo quella dei tostapane o delle macchine per il caffè espresso). Siccome il circuito lo realizzerei con un PIC (presumibilmente un 16F876), mi chiedevo se c'è la possibilità di regolare il calore generato, tramite un segnale PWM.Innanzi tutto mi chiedevo: è possibile fare ciò? E poi: come è possibile fare ciò?Che circuito di adattamento delle tensioni dovrei realizzare?Ho cercato in rete, ma gli unici risultati che google mi dà sono a proposito delle resistenze RTD o PT100.Quello che credo sia il problema più "grande" e la differenza di frequenze in gioco (50 Hz per la 220V e qualche KHz per i 5V).Ci sto pensando da un po' ma non ne vengo fuori.Avete suggerimenti?Gerazie a tutti per l'aiuto che vorrete darmi.
Livio Orsini Inserita: 22 febbraio 2012 Segnala Inserita: 22 febbraio 2012 Il PWM generato da un PIC non è l'ideale per controllare il riscaldamento di un resistore alimentato a 230 V di rete.Il controllo di un simile dispsoitivo è meglio farlo sul burst, cioè sui pacchetti di onde a 50Hz.Tanto per darti un'idea di principio immagina di avere l'equivalente di 100 sinusoidi, cioè due secondi. Se attivi l'interruttore (TRIAC) per soli 20 ms hai dato lo 1% della potenza disponibile, se invece lo attivi per 1980 ms avrai dato il 99% della potenza disponibile.I controlli di temperatura fatti bene lavorano su questo principio.Nulla vieta di usare un PIC, sincrnizzato con la rete, per fare il controllo e generare il comando allo SSR.Se ben ricordo ci sono anche alcune AN della microchip che entrano eni dettagli di questa tecnica.
Mirko Ceronti Inserita: 22 febbraio 2012 Segnala Inserita: 22 febbraio 2012 (modificato) E comunque tanto per far un esperimento da "canaglia" col P.W.M. senza andar a scomodare i PIC, puoi sbizzarrirTi con un circuitino tipo questo.Non oso immaginare le raffiche di disturbi che scaraventa in rete ma per prendere confidenza con quel tipo di principio, può andar bene.La lampadina al posto della resistenza, fornisce un effetto visivo dell'andamento della temperatura.Attenzione !!!! tutto il circuito è a potenziale di rete.SalutiMirkoOooopss... nel grafico che esprime la V-in, la seconda semisinusoide andava disegnata sotto, in quanto la V-in è corrente alternata, ma il concetto che si vuol far passare è la parzializzazione a raffica di ogni semiciclo Modificato: 22 febbraio 2012 da Mirko Ceronti
Ulisse D.J. Inserita: 23 febbraio 2012 Autore Segnala Inserita: 23 febbraio 2012 (modificato) Grazie per le risposte.Il circuito che vorrei realizzare deve avere per forza un PIC, perchè, oltre a regolare la temperatura di un resistore, deve avere un sensore che misuri tale temperatura, un ingresso che legge un potenziometro usato come termostato, ecc. Quindi con un PIC riuscirei a fare tutto questo.Quindi dici di mandare, ad esempio, un onda intera ogni secondo per la temperatura minima e 50 onde intere ogni secondo (tensione continua senza interruzioni) per la temperatura massima. Ovviamente il PIC deve essere sincronizzato con la tensione di rete. Se non ricordo male avevo visto una volta in internet un circuito che serviva proprio a fare questa sincronizzazione.Per comandare un TRIAC, se non ricordo male, mi basterebbe inviargli un segnale alto a 5V per attivarlo e uno basso a 0V per chiuderlo, giusto?Oppure potrei utilizzare qualche MOSFET della serie IRF? Modificato: 23 febbraio 2012 da Ulisse D.J.
Livio Orsini Inserita: 23 febbraio 2012 Segnala Inserita: 23 febbraio 2012 Il sistema più semplice è pilotare il gate del triac tramite un foto accoppiatore sincronizzato sul passaggio di zero. Sono dispositvi normalmente reperibili dal costo <2€ al dettaglio. Il comando dal microcontrollore al fotoaccoppiatore sarà un impulso di durata pari a 20 o suoi multipli.Io ho fatto l'ipotesi di usare 100 periodo (2") come 100%, ma è possibile anche usarne 200 o 400 o 1000. Dipend dal sistema cha andrai a controllare e dalla sua inerzia.Se anche l'impulso di comando non è sincronizzato con la rete poco importa. Nel caso pessimo avrai un impulso in più o uno in meno, quindi l'errore è minimo.
Ulisse D.J. Inserita: 24 febbraio 2012 Autore Segnala Inserita: 24 febbraio 2012 Ho fatto un abbozzo di circuito in base a quello che mi hai suggerito, è corretto?
Livio Orsini Inserita: 24 febbraio 2012 Segnala Inserita: 24 febbraio 2012 Se usi un fotoaccoppiatore tipo il MOC320 hai anche la sincronizzazione sul passaggio di zero.
Ulisse D.J. Inserita: 4 marzo 2012 Autore Segnala Inserita: 4 marzo 2012 Sperando di non fare qualcosa di sbagliato, riprendo qui la discussione che avevo iniziato in un'altra sezione del forum e che poi è stata chiusa (http://www.plcforum.it/forums2/index.php?showtopic=78565&st=0&) [at]Livio: Non ho trovato il datasheet del MOC320 ma quello del MOC3020. Non riesco a capire come vada collegato, ne come funzioni.
Livio Orsini Inserita: 4 marzo 2012 Segnala Inserita: 4 marzo 2012 Il forum non è ancora a regime, poi riuniremo le due discussioni. Per i datasheet basta meno di un minuto con google usa la parola chave della sigla e trovi migliaia di siti che ti danno caratteristiche, prezzi, datasheet, etc. Puoi usare anche i TLP3041 toshiba, che sonoi specifici per questi impieghi.
Ulisse D.J. Inserita: 4 marzo 2012 Autore Segnala Inserita: 4 marzo 2012 Il forum non è ancora a regime, poi riuniremo le due discussioni. Ah ok. Per i datasheet basta meno di un minuto con google usa la parola chave della sigla e trovi migliaia di siti che ti danno caratteristiche, prezzi, datasheet, etc. Puoi usare anche i TLP3041 toshiba, che sonoi specifici per questi impieghi. Dal datasheet del TLP3041 ho visto che è identico (caratteristiche a parte) a quello del MOC3020. Quello che non capisco è come andrebbe collegato al circuito che vorrei realizzare.
Livio Orsini Inserita: 4 marzo 2012 Segnala Inserita: 4 marzo 2012 Il triac di uscita pilota il gate del triac di potenza, mentre in ingresso lo comandi con ....il tuo comando.
Mirko Ceronti Inserita: 5 marzo 2012 Segnala Inserita: 5 marzo 2012 http:// Tanto per materializzare graficamente ciò che Ti ha detto Livio . Se il circuito di comando è alimentato a 12 Vdc, allora la resistenza sul Pin 1 del foto-diac va bene da 1K, se invece l'alimentazione è a 5 Volt, allora io la abbasserei a 470 Ohm Saluti Mirko
Ulisse D.J. Inserita: 6 marzo 2012 Autore Segnala Inserita: 6 marzo 2012 Grazie del super chiarimento. Farò come mi hai detto tu, Mirko. Però pensavo di fare il controllo del passaggio per lo zero dal PIC, in questo modo ho più libertà di azione e posso gestire il segnale come meglio credo. Infatti pensavo di mandare una sinusoide completa ogni secondo per avere 1/50 della potenza totale (0,02%) fino a 50 sinusoidi al secondo per avere 50/50 di potenza (100%). In questo caso avrei percentuali a passi di 0,02. Capirei che è passato un secondo quando conto 100 passaggi per lo zero. Ogni secondo dò in uscita 1,2,3,...,50 sinusoidi per regolare la potenza totale. Che ne dite? E' valido come ragionamento?
Livio Orsini Inserita: 6 marzo 2012 Segnala Inserita: 6 marzo 2012 (modificato) Hai almeno 2 problemi. Discriminare l'esatto passaggio per lo zero con il PIC, perchè non è molto salutare interfacciare direttamente la rete a 230V, ed i tempi di ritardo eventuali. Se tu usi un dispositivo esterno, come quello a schema, con il micro devi solo generare il comando, e lo fa banalmente con un timer programmato a 10 ms (il periodo è si 20 ms ma devi considerare due semiperiodi). Solitamente si usa TMR1, programamto a 10 ms; alla routine di servizio del'interrupt passi come parametro il numero di cicli "on" e "off" due sempli contatori alzano e abbassano una porta d'uscita che comanda il foto accoppiatore. Il medesimo temporizzatore può servire anche a richiamare l'eventuale PI(D) di regolazione Modificato: 6 marzo 2012 da Livio Orsini
Ulisse D.J. Inserita: 6 marzo 2012 Autore Segnala Inserita: 6 marzo 2012 La mia idea era proprio quella di utilizzare un controllo PID e per rilevare lo zero utilizzare il secondario non filtrato del trasformatore di alimentazione del PIC, come spiegato in questo sito: http://picprojects.o...recal/recal.htm dove utilizzano un 12F629-625. Io lo collegherei all'ingresso interrupt di un 16F877A. Anche se non ho una precisione al millesimo di secondo, credo sia sufficiente dare esattamente 20ms per volta. Però a questo punto non ho proprio capito come funziona il TLP3041. Se mando un segnale alto al fotodiodo, l'uscita come si comporta? Perchè, il ragionamento che hai fatto mi andrebbe bene ma non sapendo come funziona il TLP non saprei proprio come comandarlo.
Mirko Ceronti Inserita: 6 marzo 2012 Segnala Inserita: 6 marzo 2012 L'uscita si attiva, alimentando la resistenza. Saluti Mirko
Livio Orsini Inserita: 6 marzo 2012 Segnala Inserita: 6 marzo 2012 (modificato) ma non sapendo come funziona il TLP non saprei proprio come comandarlo. Come ti ha scritto Mirko, una volta che il fotodiodo è illuminato il triac entra in conduzione dopo il primo passaggio per lo zero di tensione. Togliendo il comando, il fotodio si spegne ed il triac si spegne non appena la sua corrente si azzera; con carico resistivo corrente e tensione sono in fase per cui allo zero di corrente corrisponde lo zero di tensione. per rilevare lo zero utilizzare il secondario non filtrato del trasformatore di alimentazione del PIC, Per me è un brutto modo; oltre allo sfasamento introdotto dal trasformatore, ti tiri dentro tutti i disturbi presenti sull'alimentazione con il rischio, non trascurabile, di avere falsi zeri. ...La mia idea era proprio quella di utilizzare un controllo PID... Tieni presente che, per una regolazione di temperatura un campionamento a 10ms è sin troppo veloce. La via più semplice è quella di attivare il PID ogni tot interupts. P.S. Dimenticavo. Il circuito a cui fai riferimento non rileva passaggi di zero, ma serve solo a geenrare un clok a circa 20 ms di periodo, infatti è una specie di squadratore ed il transitor è bloccato sino a quando la tensione di secondario raggiunge un valore di circa 1.3V - 1.5 V quindi, nella migliore delle ipotesi, 25 V di rete, quindi più di 6 gradi di ritardo. Modificato: 6 marzo 2012 da Livio Orsini
Ulisse D.J. Inserita: 7 marzo 2012 Autore Segnala Inserita: 7 marzo 2012 (modificato) Un ritardo sul primo zero più un ritardo sul secondo zero, fanno una sincronizzazione perfetta. Sempre sperando di non avere una tensione di rete piena di schifezze. Comunque sia, adesso che ho capito come funziona il TLP mi sembra proprio il componente che fa per me! Quindi io genererei un segnale a passi di 10ms e lui penserebbe alla sincronizzazione, in questo modo mi eviterei tutto il controllo della tensione di rete e la sincronizzazione. Perfetto! Per il segnale di comando, ricapitolando quello che mi hai suggerito, Livio, farei così: ogni 10ms del TMR1 (nella routine dell'interrupt) farei l'acquisizione del potenziometro che imposta la temperatura desiderata e della "sonda" che misura la temperatura generata dalla resistenza. Il tutto lo mando in pasto alla formula del PID che mi genera il numero di cicli di ON dell'uscita. Poichè mi esce un numero da 0 a 255, userei questa formula: Y=(100*P)/255, in cui P=valore del PID e Y=quanti cicli da 10ms la mia uscita deve rimanere alta. I rimanenti 255-Y sono per l'uscita bassa. (100 è il numero delle semionde al secondo). Oppure potrei applicare la formula del PID e l'acquisizione analogica ogni secondo, cioè ogni 100 volte 10ms, perchè comunque non mi serve una grande dinamica. Mi sembra che così sia corretto, no? Modificato: 7 marzo 2012 da Ulisse D.J.
Livio Orsini Inserita: 7 marzo 2012 Segnala Inserita: 7 marzo 2012 (modificato) Un ritardo sul primo zero più un ritardo sul secondo zero, fanno una sincronizzazione perfetta. No fanno due errori di accensione. In altri termini il triac non accende sullo zero di tensione ma in una zona dove il dv/dt è massimo. Inoltre l'errore è tutt'altro che costante, con quel tipo di circuito avrai almeno 3-4 gradi di jitter. Oppure potrei applicare la formula del PID e l'acquisizione analogica ogni secondo, cioè ogni 100 volte 10ms, Così è gia meglio. Sarebbe ancora meglio suddividere il PID in varie picccole "slice" da eseguire ad ogni tic, ma questo sarebbe piuttosto sofisticato e coinvolgerebbe altri concetti. Ti consiglio di normalizzare l'uscita del PID non a 255, ma a 200, numero corrispondente ai quanti elementari di accensione del triac. Modificato: 7 marzo 2012 da Livio Orsini
Ulisse D.J. Inserita: 7 marzo 2012 Autore Segnala Inserita: 7 marzo 2012 Ma se normalizassi a 200, all'accensione della resistenza (quindi temperatura bassa) il PID generebbe un numero alto (supponiamo 255) e la formula diventerebbe: Y=(100*255)/200=128 che è metà della potenza massima. O no?
Livio Orsini Inserita: 7 marzo 2012 Segnala Inserita: 7 marzo 2012 O no? In uscita del regolatore c'è....quello che ci deve essere. Se fai le cose per bene normalizzi come 200 il livello massimo di uscita. Piccola curiosità: sai come si fa a realizzare un regolatore PID ?
Ulisse D.J. Inserita: 8 marzo 2012 Autore Segnala Inserita: 8 marzo 2012 O no? Era per dire "Che ne pensi?" sai come si fa a realizzare un regolatore PID ? Ho realizzato un controllo PID, all'università, su una scheda PICDEM Mechatronic della Microchip, (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023837) in cui i valori di resistenza di setup della velocità (un potenziometro) e i valori di velocità del motore DC brushed venivano inviati al PC tramite RS232, ecc, ecc. In genere sono abituato a studiare tutti gli aspetti del circuito che vorrei realizzare, così da essere preparato il più possibile per eventuali malfunzionamneti. Se ti chiedo chiarimenti su cose a te banali, che come conoscenze ed esperienza ne sai più di me, lo faccio per chiarire certi dubbi o avere il tuo punto di vista. Quindi ti chiedo scusa se sono assillante, ma sono fatto così.. Tornando a noi, io direi che prima proverei una normalizzazione a 255 e poi a 200 (giusto perchè mi piace sbagliare da me) e dopo i dovuti test, usare quello migliore.
Livio Orsini Inserita: 8 marzo 2012 Segnala Inserita: 8 marzo 2012 (modificato) giusto perchè mi piace sbagliare da me Se ti piace fare come preferisci, cosa del tutto legittima, è inutile che tu chieda pareri preventivi. Nel caso in oggetto puoi normalizzare al valore che preferisci; come sempre ci sono modi che semplificano e modi che complicano, io ho suggerito un modo che semplifica. Modificato: 8 marzo 2012 da Livio Orsini
Ulisse D.J. Inserita: 8 marzo 2012 Autore Segnala Inserita: 8 marzo 2012 Se ti piace fare come preferisci,è inutile che tu chieda pareri preventivi Scusa se ti ho portato via tempo, ma avevo dei dubbi che grazie a voi (te) ho risolto. I chiarimenti che mi hai dato non è che non li prenda in considerazione, anzi. Infatti vorrei fare dei test giusto per vedere le differenze tra i due valori e in questo modo capire perchè un valore di 200 semplifica più di 255.
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora