Vai al contenuto
PLC Forum


Effetto Dissolvenza: Pwm O No ?


stefano_

Messaggi consigliati

salve,

visto che si avvicina il natale voleva fare una centralina per la gestione del presepe che mi gestisca pure l'effetto dissolvenza.

Avevo intenzione di utilizzare un 16f877, uno dei tanti problemi ( almeno per me che non sono un grande esperto di elettronica ) è l'effetto dissolvenza.

Conviene utilizzare il pwm oppure creare un pwm da software ??

Il problema è che dovrei gestire 3 uscite diverse col pwm e visto che il pic in questione ne ha 2 che funzionano in parallello non so come potrei utilizzare il pwm del pic.Si può multiplexare ?? e quindi mandare il segnale pwm alle tre uscite diverse ??

Cosa cambia tra i due metodi ??

Grazie a tutti.

Link al commento
Condividi su altri siti


Visti i tempi puoi usare un'uscita "normale" e modularla in PWM scrivendoti un routinetta apposita basata sul timer e relativo interrupt.

Link al commento
Condividi su altri siti

ciao,

ok per la routin da sviluppare ma cosa centra il timer e l'interrupt ( come sempre perdonami l'ignoranza)???

Io avevo pensato di fare così:

frequenza = 50Hz

praticamente ho un onda quadra a 50Hz se imposto il dutycicle a 50& ho meta della luce se lo imposto a 100 % ho la luce piena.

Per quanto riguarda la routin pensavo di attivare e disattivare un pin del pic semplicemente,

in pratica se voglio dutycicle 50% essendo un secondo= 1000 ms attivo il pin aspetto 500ms e disattivo il pin aspetto altri 500 ms ecc......

Questo ovviamente perche le uscite in pwm sono in sequenza e "mai" contemporaneamente.

Che ne dici ??? tutto sbagliato ???

Grazie.

Link al commento
Condividi su altri siti

50Hz sono 20 ms, al 50% 10ms in on e 10ms in off. Ora questi 10 ms come li misuri? Cosa fai dei cicli di ritardo? :angry:

Si programma il timer 1 a 20 ms, alla scadenza scatenerà il suo interrupt, nella routine di servizio dell'interrupt metti l'uscita in on e fai partire timer 2 programmato a 10 ms, scaduto il tempo timer2 scatena il suo interrupt con il quale metterai in off l'uscita. Variando progressivamente la programamzione di timer2, per esempio da 2 ms a 18 ms, passi dallo 1% al 99%

Link al commento
Condividi su altri siti

  • 2 months later...

per Livio Orsini....

se volessi utilizzare un 16f84 anziche l'877 come posso risolvere il problema visto che ( da quello che ho potuto leggere ) ho vari interrupt ma quello che riaguarda il contatore ne è solo 1 quello di tmr0 ??.

Ci sono altri interrupt, sul cambiamento di stato sulla linea rb0 ed altre, sulla fine della scrittura in eeprom ma non riesco a capire come potrei sfruttarli.

Grazie a tutti e BUON ANNO

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...