Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

controllo solenoide con PIC

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

0
voti

[21] Re: controllo solenoide con PIC

Messaggioda Foto Utentestex90 » 12 gen 2010, 10:54

il gate del mosfet è collegato direttamente alla porta ccp2 (porta c1) del PIC... il solenoide è appunto un semplice solenoide che attira a se un cilindro metallico così da aprire una valvola parzializzatrice di scarico... consuma 5amp a regime... lo piloto in PWM in quanto per aprire il solenoide serve una tensione di 12v mentre per tenerlo aperto una tensione di soli 5v... alimentandolo sempre a 12v il solenoide scalda... alimentandolo solo a 5 non apre... il mosfet con una frequenza di pilotaggio di 200Hz non scalda per nulla e comanda decisamente bene il solenoide... quindi come consigliatomi la lascio cosi :)

ecco lo schema:
Immagine


EDIT: Grazie a tutti per l'aiuto e per le veloci risposte ;)
Avatar utente
Foto Utentestex90
150 4
New entry
New entry
 
Messaggi: 89
Iscritto il: 5 lug 2009, 13:27

0
voti

[22] Re: controllo solenoide con PIC

Messaggioda Foto UtenteIsidoroKZ » 12 gen 2010, 18:17

Capito! Sai anche la resistenza e l'induttanza del solenoide? Sono i due dati che servono per calcolare la frequenza.
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

2
voti

[23] Re: controllo solenoide con PIC

Messaggioda Foto Utentedavidde » 12 gen 2010, 20:18

Volevo chiedervi una cosa anch' io.

Secondo voi non ha senso collegare anche una resistenza tra il pin d' uscita del microcontrollore e il gate del mosfet ?
Solitamente le uscite dei microcontrollori possono erogare al massimo correnti dell' ordine dei 10mA. Nel momento in cui la tensione d' uscita dal PIC sale per chiudere il mosfet la corrente che va a caricare il gate è senza controllo e quindi non è escluso che superi tale valore (stessa cosa quando il gate deve scaricarsi).

Non sarebbe quindi opportuno aggiungere una resistenza "di sicurezza" ?
Avatar utente
Foto Utentedavidde
13,3k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 4026
Iscritto il: 2 ago 2007, 11:40
Località: Bologna

0
voti

[24] Re: controllo solenoide con PIC

Messaggioda Foto UtenteIsidoroKZ » 12 gen 2010, 20:22

A 200 Hz non ce la metterei. E` vero che in transitorio la corrente supera i valori di IOL e IOH del driver, ma di solito le uscite a MOS sono autoprotette, e il "cortocircuito" ha durata molto limitata, quindi non da` problemi di riscaldamento.

Con driver ad alta corrente invece una R di gate va messa, ma per non far risuonare l'induttanza dei collegamenti con la capcita` di ingresso del MOS, risonanza che causerebbe un breve spegnimento non voluto subito dopo l'accensione, e in generale una accensione non "pulita".
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

0
voti

[25] Re: controllo solenoide con PIC

Messaggioda Foto Utentestex90 » 12 gen 2010, 20:59

be la resistenza tra gate e massa potrei anche metterla ma tanto il PIC sta un tempo brevissimo ad inizializzarsi e la prima operazione che fa è propèrio di portare il piedino che e collegato al gate a GND...
per la resistenza e l'induttanza purtroppo non so dove trovarle... mmm provo a vedere se trovo qualcosa sul manuale del motore...
Avatar utente
Foto Utentestex90
150 4
New entry
New entry
 
Messaggi: 89
Iscritto il: 5 lug 2009, 13:27

2
voti

[26] Re: controllo solenoide con PIC

Messaggioda Foto Utentedavidde » 24 gen 2010, 23:08

Purtroppo causa mancanza di tempo ho dovuto momentaneamente abbandonare questo interessante argomento...

IsidoroKZ chiedeva i dati (L ed R) riguardanti il solenoide per poter calcolare la frequenza di PWM più opportuna.

Visto che i dati del solenoide in questione purtroppo non sono pervenuti volevo chiedere a Isidoro se per cortesia mi potesse indicare come risolverebbe il problema considerando i dati del mio solenoide che presenta una resistenza di 38 Ω e un valore d' induttanza pari a 80mH.
Il solenoide richiede una tensione di alimentazione di 24 V DC. Io vorrei pilotarlo nel momento iniziale a 24 V per avere forza a sufficienza per poi passare a 12V DC una volta che lo spostamento sia effettuato ....

Per completezza aggiungo il datasheet del solenoide : E5650

Grazie !
Avatar utente
Foto Utentedavidde
13,3k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 4026
Iscritto il: 2 ago 2007, 11:40
Località: Bologna

5
voti

[27] Re: controllo solenoide con PIC

Messaggioda Foto UtenteIsidoroKZ » 25 gen 2010, 2:41

Per avere la riduzione di tensione che richiedi, devi lavorare con 24 V per l'azionamento iniziale e poi chopparlo con duty cycle del 50%, dato che tensione di alimentazione per duty cycle da` la tensione media, che vuoi essere di 12V.

In realta` quando metti un'onda quadra a 24 V con duty cycle del 50% stai applicando una tensione media di 12V con sovrapposta una tensione picco picco picco di 24 V. Ciascuna di queste due tensioni fa scorrere la "sua" corrente, e in generale si vuole avere solo la componente continua, mentre la corrente di ripple la si vuole molto piu` piccola della componente media.

Le due tensioni applicate (DC e componente AC) sono dello stesso ordine di grandezza (12V e 24 V) e per avere che la componente AC faccia scorrere una corrente piu` piccola di quella DC, la reattanza induttiva deve essere molto maggiore della resistenza. Il discorso e` abbastanza a spanne, anche perche' non si puo` parlare di reattanza con un'onda quadra.

Quello che faccio di solito e` una valutazione di questo tipo. Calcolo, giusto per farmi una idea, la frequenza dello zero dll'impedenza, cosi` so qual e` la frequenza di confine fra comportamento resistivo (continua) e comportamento induttivo (alternata): f_z=\frac{R}{2\pi L}=\frac{38\,\Omega}{2\pi \,80\,\text{mH}}=75.6\,\text{Hz}. Mi aspetto quindi, se non faccio troppi errori, che la frequenza di commutazione richiesta abbastanza maggiore di questa frequenza f_z.

La componente continua vale I_{DC}=\frac{24\,V\cdot 50\%}{38\,\Omega}=.31\,\text{A}. La componente alternata (ripple di corrente) la devo prendere abbastanza piu` piccola di questo valore, ad esempio posso prendere una variazione picco picco di 10mA (e` un valore MOLTO basso, vedere in fondo).

A questo punto si puo` fare un conto molto a spanne di questo tipo: ho una tensione picco picco di 24 V, applicata a una induttanza di 80 mH, voglio che la corrente sia minore di 10mA. Con arditi passaggi matematici, come diceva il mio prof di analisi si puo` calcolare la reattanza necessaria: X_L=\frac{24\,\text{V}}{10\,\text{mA}}=2.4\,\,\text{k}\Omega
Una induttanza da 80mH da` una reattanza di 2.4 kohm alla frequenza f_\text{sw}=\frac{2.4\,\text{k}\Omega}{2\pi \,80\,\text{mH}}=4.77\,\text{kHz}

Questa e` una stima proprio tagliata con l'accetta. Facciamo una stima migliore. Questo secondo metodo e` usato negli switching risonanti alimentati con un'onda quadra. Qui non si ha un circuito risonante, ma e` una approssimazione comunque migliore di quella precedente.

L'idea e` quella di andare a calcolare la componente sinusoidale contenuta nell'onda quadra. La ragione e` che comunque le armoniche dell'onda quadra sono piu` basse della fondamentale e a frequenza piu` elevata, quindi la reattanza sara` piu` alta e in presenza di tensioni piu` piccole, e in definitiva la corrente di ripple legata alle armoniche sara` ancora piu` piccola.

Una giustificazione handwaving e` ad esempio che lo spettro di un'onda quadra (duty cycle 50%) ha le armoniche solo dispari che scendono come \frac{1}{n}, dove n e` l'ordine dell'armonica. Quando si mette questa tensione su una induttanza abbiamo per le armoniche di corrente un valore proporzionale a \frac{1}{n^2} perche' la tensione scende come \frac{1}{n} e la reattanza sale come n.
Quando si calcola \frac{V}{X}, armonica per armonica, la corrente scende come \frac{1}{n^2}. Se si guarda la corrente che passa in questo caso in L, si vede che e` un triangolo e lo spettro del triangolo scende appunto come \frac{1}{n^2}. Per mal che vada la terza armonica ha ampiezza 1/9 rispetto alla fondamentale.

Torniamo al calcolo con la fondamentale, e consideriamo anche il caso di avere un duty cycle generico D, compreso fra 0 e 1. Ad esempio se volessi mettere 15V di tensione media, il duty cycle dovrebbe essere D=\frac{15\,\text{V}}{24\,\text{V}}=.625

L'ampiezza picco picco della sinusoide a frequenza fondamentale V_\text{1pp} nascosta in un'onda quadra di ampiezza picco picco Vpp e duty cycle D vale: V_\text{1pp}=V_\text{pp}\frac{2}{\pi}(1-\cos(2\pi D)).
Mettendo i valori dell'onda quadra in questione, ampiezza picco picco 24 V e duty cycle 0.5 (50%) si ottiene una ampiezza picco picco della sinusoide nascosta nella quadra pari a V_\text{1pp}=24\,\text{V}\frac{2}{\pi}(1-\cos(2\pi .5))=24\,\text{V}\,\frac{2}{\pi}(1-\cos(\pi))=24\,\text{V}\,\frac{2}{\pi}(1-(-1))=24\,\text{V}\,\frac{4}{\pi}=30.6\,\text{V}.
Notare che la sinusoide alla frequenza fondamentale e` piu` grande dell'onda quadra!

In questo caso la reattanza richiesta vale X_L=\frac{30.6\,\text{V}}{10\,\text{mA}}=3.06\,\,\text{k}\Omega e di conseguenza la frequenza di commutazione questa volta sara` f_\text{sw}=\frac{3.06\,\,\text{k}\Omega}{2\pi \,80\text{mH}}=6.09\,\text{kHz}

E adesso il conto finale, non piu` nel dominio della frequenza ma in quello del tempo. Faro` ancora una approssimazione, ma il risultato sara` praticamente giusto.

Consideriamo questo circuito, e supponiamo che il ripple di corrente sia piccolo.
elettrovalvola.gif
elettrovalvola.gif (1.94 KiB) Osservato 7027 volte

Piccolo ripple di corrente vuol dire che la tensione sulla resistenza V_\text{DC} e` praticamente costante e di valore V_\text{DC}=V_\text{pk}D.
La tensione PWM rimane al valore Vpk per un tempo T_\text{on}=\frac{D}{f_\text{sw}} e al valore 0V per un tempo T_\text{off}=\frac{1-D}{f_\text{sw}}

Il calcolo della corrente di ripple picco picco \Delta I_\text{L} lo si calcola con l'equazione dell'induttanza sottoposta a tensione costante \Delta I_\text{L}=\frac{V_\text{L} T}{L} e in questo caso la variazione di corrente e` proprio il ripple, T e` T_\text{on} o T_\text{off} e la tensione V_\text{L} e` quella che si trova sulla induttanza, come indicato nella figura.
La corrente di ripple picco picco la si puo` calcolare durante T_\text{on} o T_\text{off}, e` indifferente:

\Delta I_\text{L}=\frac{(V_\text{pk}-V_\text{DC})T_\text{on}}{L}=\frac{(V_\text{pk}-V_\text{DC})D}{f_\text{sw}L}=V_\text{pk}\frac{(1-D)D}{f_\text{sw}L}
Da notare che il massimo ripple capita quando D=0.5

Se si volesse usare il periodo T_\text{off} per il calcolo del ripple, l'analisi partirebbe da (non ho saltato un segno meno, l'ho tolto per una buona ragione):

\Delta I_\text{L}=\frac{V_\text{DC}T_\text{off}}{L}=\frac{V_\text{DC}(1-D)}{f_\text{sw}L}=V_\text{pk}\frac{D(1-D)}{f_\text{sw}L}
ovviamente come prima!

A questo punto, visto che si sta cercando la frequenza f_\text{sw} basta invertire la formula e trovare f_\text{sw}=V_\text{pk}\frac{(1-D)D}{\Delta I_\text{L}L}

Con i numeri forniti si ha f_\text{sw}=24\,\text{V}\frac{(1-.5)\,.5}{10\,\text{mA}\,80\,\text{mH}}=7.5\,\text{kHz}

L'approssimazione fatta in quest'ultima analisi e` stata di trascurare la resistenza dell'avvolgimento. L'approssimazione e` ragionevole poiche' si sta analizzando il circuito su intervalli di tempo dell'ordine di T_\text{on}=\frac{D}{f_\text{sw}}=\frac{.5}{7.5\,\text{kHz}}=67\,\mu\text{s} da confrontarsi con la costante di tempo del circuito \tau=\frac{L}{R}=\frac{80\,\text{mH}}{38\,\Omega}=2.1\,\text{ms}
Si sta osservando solo la primissima parte di una risposta di tipo esponenziale, e se t\ll\tau si ha \exp\left(-\frac{t}{\tau}\right)\approx 1-\frac{t}{\tau} quindi una funzione lineare.

Fino a questo punto mi sono divertito facendo l'elettronico, che vuole minimizzare la corrente di ripple. Adesso invece faccio il meccatronico, che la corrente di ripple (o qualcosa che le assomiglia) la vuole!

Le elettrovalvole proporzionali, se lasciate ferme in una posizione, si bloccano, sia per sporcizia che si accumula che per fenomeni non lineari dell'attrito di distacco. E` necessario sovrapporre al segnale costante che controlla la posizione della valvola, un segnale alternato che la faccia vibrare intorno alla sua posizione per evitare l'incollamento del pistone. Questo segnale alternato sovrapporsto e` chiamato dither.

La frequenza di dither tipicamente e` dalle parti di 75Hz-150Hz, la forma d'onda e` quadra o triangolare (anche sinusoidale potrebbe andare ma costa di piu` generarla). E` possibile utilizzare il ripple di corrente che si ha naturalmente con la modulazione PWM per avere "gratis" anche il dither? Normalmente no, perche' la frequenza richiesta per il dither e` troppo bassa.

Supponiamo di voler ditherare a 100Hz l'elettrovalvola di prima (anche se mi pare che non la stia usando in modo proporzionale). Se scegliessimo una frequenza di PWM di 100Hz saremmo troppo vicini a f_z. Avremmo si` un dither alla frequenza voluta, ma con una ampiezza troppo grande. La corrente di dither (il vecchio ripple), in questo caso non e` piu` calcolabile con approssimazioni varie, perche' si e` troppo vicino alla frequenza dello zero dell'impedenza.

L'ampiezza della corrente di dither, ricavata dalla simulazione riporata sotto, e` di 524 mA (la corrente va da un minimo di 54 mA a 578 mA), mentre di solito il dither e` qualche percento della corrente massima. Da osservare che usando l'approssimazione di prima armonica, il ripple viene stimato in

\Delta I_\text{L}=\frac{30.6\,\text{V}}{\sqrt{(38\,\Omega)^2+(2\pi\,100\,\text{Hz}\,80\text{mH})^2}}=486\,\text{mA}

mentre usando l'ultima approssimazione, nel dominio del tempo, si avrebbe

\Delta I_\text{L}=24\,\text{V}\,\frac{(1-.5).5}{100\,\text{Hz}\,80\text{mH}}=750\,\text{mA}

La corrente vera e propria e` nella figura seguente:
Simul elettrovalvola.gif
Simul elettrovalvola.gif (15.74 KiB) Osservato 7000 volte


Ovviamente una corrente del genere non va bene. Quello che si deve fare e` scegliere una frequenza molto piu` alta di f_z e della frequenza di dither, e poi si modula alla frequenza del dither il duty cycle. Al posto di generare un duty cycle fisso del 50%, lo si puo` ad esempio far variare fra il 48% e il 52%, sovrapponendo alla tensione media di 12V che si ha in uscita, una oscillazione di tensione picco picco di .96V, che fara` variare la corrente di qualche percento.
Non si puo` dire che la corrente di dither I_\text{d} sara` pari a I_\text{d}=\frac{.96\,\text{V}}{38\,\Omega}=25.2\,\text{mA} perche' alla frequenza del dither si ha gia` l'effetto dell'induttanza.
Con l'approssimazione di prima armonica si ottiene un dither di

I_\text{d}=\Delta I_\text{L}=\frac{4(12.48\,\text{V}-11.52V)}{\pi \sqrt{(38\,\Omega)^2+(2\pi\,100\,\text{Hz}\,80\text{mH})^2}}=19.4\,\text{mA}.

In questi casi pero` la cosa migliore e` la simulazione, perche', mentre il valor medio della corrente lo si potrbbe comunque calcolare in forma analitica, a questo e` sovrapposto il ripple alla frequenza del PWM. Nella figura seguente e` mostrata in verde la corrente effettiva che passa nell'elettrovalvola, in blu il valor medio della corrente, mediato sulla frequenza del PWM. Da questo grafico si vede che il dither picco picco vale 20.9mA (l'ho visto io prima di ridurre le dimensioni dell'immagine).
SimEV2.GIF
SimEV2.GIF (33.5 KiB) Osservato 7000 volte


Questo e` quanto, salvo errori & omissioni. Ad esempio ho omesso di discutere l'effetto di fischio se si commuta a frequenza troppo bassa, la stima delle perdite in alta frequenza...
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

0
voti

[28] Re: controllo solenoide con PIC

Messaggioda Foto Utentestex90 » 25 gen 2010, 19:43

scusate se non ho postato i valori del solenoide ma purtroppo non li so e non so dove trovarli
Avatar utente
Foto Utentestex90
150 4
New entry
New entry
 
Messaggi: 89
Iscritto il: 5 lug 2009, 13:27

3
voti

[29] Re: controllo solenoide con PIC

Messaggioda Foto Utentedavidde » 25 gen 2010, 21:41

Isidoro, grazie mille :shock: ! La spiegazione è veramente degna di lode =D> !

Fino ai calcoli "tagliati con l' accetta" ci sono arrivato senza troppi problemi, la soluzione più fine invece mi da ancora grattacapi nonostante sia già parecchie ore che ci sto pensando. Questa sera me la porto a letto sperando che la notte porti consiglio, magari domattina si accende la lampadina ...

Molto interessante anche la spiegazione sulle elettrovalvole proporzionali, non avendone mai pilotate non avevo idea delle complicazioni che potessero esserci. Quando in futuro mi troverò di fronte al problema saprò una volta tanto come affinare le armi prima della guerra e non sarò costretto a correre ai ripari dopo aver perso innumerevoli battaglie .... come spesso mi capita.

Comunque non ti preoccupare, l' argomento (per me) è piuttosto ostico e non mancherò di disturbarti nuovamente se non dovessi riuscire a comprendere tutto :lol: :!:

Scherzi a parte ... grazie ancora e complimenti !
Avatar utente
Foto Utentedavidde
13,3k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 4026
Iscritto il: 2 ago 2007, 11:40
Località: Bologna

0
voti

[30] Re: controllo solenoide con PIC

Messaggioda Foto UtenteIsidoroKZ » 25 gen 2010, 21:53

davidde ha scritto:Isidoro, grazie mille :shock: ! La spiegazione è veramente degna di lode =D> !

Fino ai calcoli "tagliati con l' accetta" ci sono arrivato senza troppi problemi, la soluzione più fine invece mi da ancora grattacapi nonostante sia già parecchie ore che ci sto pensando. Questa sera me la porto a letto sperando che la notte porti consiglio, magari domattina si accende la lampadina ...

In pratica e` la stessa cosa. Solo che al posto di considerare un segnale da 24 V, lo si considera da 30.6V, perche' dentro a un'onda quadra da 24 V duty cycle 50% c'e` una fondamentale sinusoidale ampia 30.6V. La formula piu` complicata e` solo per calcolare il valore della fondamentale sinusoidale quando il duty cycle e` diverso da 50%
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

PrecedenteProssimo

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Google [Bot] e 78 ospiti