Se sei già registrato           oppure    

Orario: 30/04/2024 23:09:42  

 

Energia Alternativa ed Energia Fai Da Te > PPTEA

VISUALIZZA L'ALBUM

Pagine: (2)   [1]   2    (Ultimo Msg)


PPTEA: TIMER e PWM, Pulse Width Modulation
FinePagina

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 15/2/2012,14:37

Dalla versione 2.8 del PPTEA avremo a disposizione un TIMER ed apriamo la porta nel mondo del PWM.
Alcuni potebbero dire...ma come il PWM è un mondo?
E si..è un bel mondo ed anche se pensate di conoscerlo...vi farò ricredere. faccine/tongue.gif
Il TIMER e il PWM sono due cose esclusive ...o funge il TIMER o funge il PWM...per default il TIMER è quello attivato.

Partiamo dal TIMER che è una cosa semplice semplice:
quando il PPTEA parte c'è un contatore che inizia a contare in microsecondi ( si ....microsecondi)...per sapere da quanto tempo è partito ( coè i secondi di esecuzione) basta chiamare la funzione TIMER.
EX:

CODICE
10 A=TIMER  
20 usbout = A &""
30 ...

Output PC 1.423453
cioè saranno passati 1 secondo e 423 millisecondi dall'avvio del PPTEA.

Questa istruzione è fondamentale per tenere sotto controllo il tempo e per alcune applicazioni non ci sarà più bisogno di avere un REAL TIME CLOCK.
faccine/clap.gif


Passiamo al PWM. Il PPTEA lo gestisce mediante due istruzioni:

PWMDC ( PWM DUTY CICLE) = Percentuale dove Percentuale rappresenta il valore del duty cycle.

PWMFQ = ValPeriodo Con val periodo che va da 0 a 7
ValPeriodo = 0 T= 1.67 s
ValPeriodo = 1 T= 0.83 s
ValPeriodo = 2 T= 0.83 s
ValPeriodo = 3 T= 419 ms
ValPeriodo = 4 T= 209 ms
ValPeriodo = 5 T= 104 ms
ValPeriodo = 6 T= 52 ms
ValPeriodo = 7 T= 26 ms

Il PWM esce sul bit 6 (pin 11) e occorre settarla in modalità out...perchè all'avvio il PPTEA la tratta come un input.

Esempio:
CODICE
10 SETIO=&H00BF
20 PWMDC=50
30 goto 30

Collegando sul pin 11 un led con una resistenza da 470 ohm...il led inizierà a lampeggiare nonostante il programma sia bloccato sull'istruzione 30.
Quanto prima qualche esempio serio.
Saluti
Bolle




Modificato da NonSoloBolleDiAcqua - 15/2/2012, 16:10


---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 25/2/2012,09:31

Dalla versione 2.9 è implementata la funzione PWMIO che associa l'uscita dei BIT al PWM. PEr default il bit associato al PWM è il bit 15. OCcore assicurarsi che il bit associato sia settato com output...altimenti non avviene l'associazione.
Esempio:
10 PWMIO=&HC000
i bit 15 e 14 sono associati al PWM...cioè oscilleranno insieme.
Bolle

Vediamo un aspetto dei PWM poco conosciuto. In genere il PWM viene associato al controllo dei motori ed è questa la loro principale applicazione.Facciamo un esempio se abbiamo una ventola da 12V (un esempio per titone) per controllare la sua velocità non possiamo abbassare la sua tensione...cioè potremmo anche farlo ma la ventola non fungerà al meglio...anzi avrà problemi e sarà difficilmente controllabile. Un altro sistema è formirgli sempre una 12 Volt...ma non continua...gli invieremo un treno di impulsi a 12V ...cioè sia 12V che 0 V...altrenati...più saranno lunghi i 12V rispetto gli 0 volt e più la ventola girerà velocemente. Se invieremo 12
continui la ventola girerà con la velocità massima, mentre se invieremo solo 0 la ventola sarà ferma. La percentuale dei 12V rispetto allo 0 si chiama DutyCycle.Sotto riporto 3 esempi : 50, 75 e 100 di DutyCycle:

ForumEA/us/img813/7034/dutycyclew.jpg


Quini per impostare il DutyCycle con il PPTEA dovremo utilizzare la funzione PWMDC ...quando viene eseguita l'istruzione avviene la variazione. Con il PPTEA si può anche variare la frequenza di oscillazione utile per far lampeggiare i led o avviare i motori...e si agiste sulla funzione PWMFQ (=0 bassissima , =7 massima frequenza supportata dal PPTEA).
Questa è la parte più conosciuta dei PWM....ma questo sistema di funzionamento nasconde un fattore molto importante ...il controllo della potenza...cioè della corrente...utile a moltissime cose. Tecnicamente parlando modulando un segnale continuo cioè variando la lunghezza degli i
mpulsi possiamo ottenere un risparmio energetico. Facciamo un esempio per far vedere come può avvenire una cosa del genere mediante l'accensione di un led.

ForumEA/us/img193/1276/ledresistenza.jpg


Sappiamo tutti che per limitare la corrente che circola nel diodo led occorre inserire una resistenza...quando agganciamo un led nel PPTEA vale lo stesso discorso...occorre inserire una resistenza di 200-470 ohm.
Questa resistenza dissipa potenza...dissipa energia ... qualcuno potrebbe pensare che sia irrisoria...ma non lo è...alcune volte può essere importante. Ora cosa centra il PWM in tutto questo? Agendo con un pwm invece che con un segnale continuo possiamo eliminare la resistenza e quindi non perdere quell'energia che la resistenza dissipa.
Occorre calcolare quanto deve essere il dutycicle ...se esageriamo 100% potremmo bruciarlo...se è troppo basso il le
d si accende...ops...abbiamo anche trovato un modo per regolare l'intensità di un led!!!
Quanto prima farò un esempio...se qualcuno volesse anticiparmi con qualche esempio pratico... faccine/biggrin.gif
Bolle








Modificato da NonSoloBolleDiAcqua - 25/2/2012, 09:50


---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

PinoTux

Avatar
GigaWatt


Gruppo:AMMINISTRATORE
Messaggi:3509

Stato:



Inviato il: 25/2/2012,13:53

CITAZIONE
Quanto prima farò un esempio...se qualcuno volesse anticiparmi con qualche esempio pratico... faccine/biggrin.gif

La prima che mi viene in mente è la regolazione della retroilluminazione del display di jumpy75 e del mio, tutti 20x4; alimentato a 5V assorbe circa 200mA (il mio).
Ho già suggerito a jumpy75 di pilotare un transistor che agisca da interruttore collegato tra il negativo dei led che illuminano il display e massa. Forse ne servono due per fare un AND se lo vuole accendere ad orari definiti.



---------------
"Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza"
http://iv3gfn.altervista.org/
http://pptea.altervista.org/

 

jumpy75

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:686

Stato:



Inviato il: 25/2/2012,16:24

Ancora non ho provato a inserire il transistor suggerito da PinoTux perchè volevo chiudere almeno un punto del progetto che stò realizzando per controllare il mio impianto fotovoltaico.
Spero di trovare un pò di tempo domani per farvi vedere quali transistor ho e quali posso utilizzare per pilotare i led del display..... Vi farò sapere...

Jumpy

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 25/2/2012,19:52

CITAZIONE (PinoTux @ 25/2/2012, 13:53)
...5V assorbe circa 200mA (il mio).

Mizzeca...è al limite di alcune porte usb...buono a sapersi...anche io ho il display di jumpy...me lo ha dato lui!!!
Bene quindi so anche come utilizzare il PWM facendo esempi di questo tipo!!! faccine/biggrin.gif
Ciao
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 6/3/2012,17:50

Incuriosito dal display di Jumpy ho finalmente trovato il tempo per connetterlo e visto che questo era il primo display retroilluminato che mi capitava tra le mani...l'ho acceso! faccine/smile.gif
Il codice che riporto fa lampeggiare il display per qualche secondo e poi inizia ad illuminarsi il display in modo graduale fino all'intensità massima per poi diminuire fino a spegnersi completamente per poi tornare all'intensità massima e così via. Quanto prima posto il video...anche se non rende molto l'idea per via della ripresa.

CODICE
05 ' LAMPEGGIO E VARIAZIONE LUMINOSITA' DISPLAY 20x4
06 ' IL LED DEL DISPLAY E' CONNESSO AL PIN 28 CON R=220 OHM
10 SETIO=&H100FF
14 LCDWRITE="    -- PPTEA --"
18 LCDPOS=65
22 LCDWRITE="     TEST PWM"
26 LCDPOS=21
30 LCDWRITE=" ILLUMINAZIONE LCD"
34 LCDPOS=85
38 LCDWRITE="     VARIABILE"
39 PWMFQ=1
40 PWMDC=50  ' INIZIA A LAMPEGGIQRE IL LED
41 WAITS 3
42 PWMFQ=7 '--- AUMENTO LA FREQUENZA DI OSCILLAZIONE
46 A++         '------- AUMENTO LA LUMINOSITA
50 PWMDC=A
54 if A = 100 then 66
58 WAITMS 20
62 GOTO  46
66 A-- '------- DIMINUISCO LA LUMINOSITA
70 PWMDC=A
74 if A = 1 then 46
78 WAITMS 20
82 GOTO  66

Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 6/3/2012,19:29

Questo è il video relativo alla retroilluminazione variabile del display che utilizza il primo PWM del PPTEA:


Carino vero? faccine/biggrin.gif
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

PinoTux

Avatar
GigaWatt


Gruppo:AMMINISTRATORE
Messaggi:3509

Stato:



Inviato il: 6/3/2012,20:24

Se metto la resistenza da 220 ohm sul mio display 20x4 questo non si accende mica, penso che se voglio usarlo devo per forza interfacciarlo con un transistor.
Hai provato a vedere quanto assorbe? (mi basta che misuri la tensione sulla R alla maxima luminosità) faccine/rolleyes.gif



---------------
"Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza"
http://iv3gfn.altervista.org/
http://pptea.altervista.org/

 

jumpy75

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:686

Stato:



Inviato il: 6/3/2012,20:46

Ciao Bolle, fantastico il display che varia la luminosità, come mai hai inserito una resistenza da 220Ohm? Il display se non vado errato ha già delle resistenze per il led, nel datasheet c'è scritto che deve essere alimentato a 5V...

J

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 7/3/2012,20:05

XPino...strano...ASSORBIRà 10 ma...con il pwm da 0 a 10 ma....hahaha faccine/tongue.gif
Xjumpy
Non avevo il datasheet ...ho visto che con una R da 220 era ok.
La resistenza può anche levarsi...anche quella presente sull'LCD.

Quanto prima vi faccio vedere come ottimizzare le risorse energetiche...anche se in questo momento mi rode talmente il cxxo ...e voi sapete il motivo.
Ciao
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

PinoTux

Avatar
GigaWatt


Gruppo:AMMINISTRATORE
Messaggi:3509

Stato:



Inviato il: 7/3/2012,20:20

Rilassati...... riprendi in mano il compilatore per la gestione del 20 colonne e vedrai che starai meglio... faccine/biggrin.gif

Per il resto la citazione che ho in firma è sempre più attuale....



---------------
"Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza"
http://iv3gfn.altervista.org/
http://pptea.altervista.org/

 

jumpy75

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:686

Stato:



Inviato il: 7/3/2012,22:00

Condivido il pensiero di Pino, bisogna fare un respiro profondo, rilassarsi e distrarsi, magari con il compilatore nuovo......

heheheheh, cosi' oltre a rilassarti farai felice anche me, che mi sono rimappato tutto a manina il display 20x4........
faccine/biggrin.gif faccine/biggrin.gif faccine/biggrin.gif

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 8/3/2012,12:09

Avete ragione...mi ero proprio dimenticato: Allego la 2.12 del solo compilatore ...il debugger gestisce il display 20x4.
Bolle



Scarica allegato

PPTEACompiler_2_12.rar

( Numero download: 183 )



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

MarKoZaKKa

Avatar
GigaWatt


Gruppo:Utente
Messaggi:1886

Stato:



Inviato il: 8/3/2012,12:58

Mi viene in mente una cosa... se all'uscita del PWM metto un'integratore, potrei far generare al PPTEA dei livelli di tensione, giocando col duty cycle, o mi sbaglio?



---------------
Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 8/3/2012,20:10

Il buon PinoTux ha trovato un problemino nella visualizzazione del Display 20x4...che dovrei aver sistemato.
Allego la 2_13.
Bolle faccine/smile.gif



Scarica allegato

PPTEACompiler2_13.rar

( Numero download: 178 )



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 
 InizioPagina
 

Pagine: (2)   [1]   2    (Ultimo Msg)

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum