Dimmer luci - programma per PIC - Aiuto

Salve a tutti gli utenti di questo NG.

Vengo subito al punto. Il mio obiettivo è quello di creare un piccolo dimmer luci con un PIC (16F84 o simile). Il mio problema è l'utilizzo del timer e degli interrupt.

Vi spiego quello che ho pensato:

CONTATORE (Timer0): deve cliclare all'infinito senza generare alcun interrupt dal valore 0 al valore 255. Con una frequenza tale da completare gli step da 0 a 255 in 100Hz ovvero una semionda. Credo che il valore in frequenza sia 25600Hz (Giusto?).

Il contatore deve essere comunque portato a 0 (resettato) ogni qualvolta ci sia un cambiamento di stato del pin RB0.

INTERRUPT (RB0): Ad ogni cambio di stato di questo piedino il Timer0 deve essere forzato a 0.

INTERRUPT (RB1): Quando questo piedino di input viene portato a 1, deve essere memorizzata in una variabile (nome: VSU) il valore dei piedini (dal bit più significativo a quello meno significativo): RB7-RB6-RB5-RB4-RA3-RA2-RA1-RA0 tutti piedini di input.

PROGRAMMA PRICIPALE: (RA2 = Uscita per pilotare una lampada, etc....) Deve semplicemente svolgere questo semplice algoritmo:

Inizio

VSU = 0

Ciclo: If VSU = 0 Then RA2 = 0 Else If VSU >= Timer0 Then RA2 = 1 Else RA2 = 0 Goto Ciclo;

Fine.

Ora la domanda e la richiesta:

  1. Per generare la frequenza di incremento come devo procedere? Riesco impostando il PIC? Che oscillatore devo usare? Da quanti MHz? E' preferibile usare un oscillatore esterno e collegarlo in RA4?

  1. Qualcuno mi sa scrivere un programma in PICBASIC o altro linguaggio che svolga il problema sopra esposto?

Vi ringrazio fin d'ora ed aspetto anche, magari, solo consigli utili al fine di risolvere questo "piccolo" problema, è tanto tempo che ci provo ma ancora non sono riuscito a risolverlo. Ringrazio fin d'ora chi potrà e vorrà aiutarmi.

Bye By Sy3kC

(Stefano)

Usare anche l'email se volete:

snipped-for-privacy@inwind.it

Togliere NOSPAM per rispondere.

Reply to
Sy
Loading thread data ...

Sy ha scritto:

Forse si può fare in maniera più semplice, con dei discreti devi procurarti un segnale di zero-crossing, cioè il momento per cui la sinu passa per lo zero, poi da questo impulso fai contare il PIC un ritardo variabile da 2mS a 8mS, finito il conteggio spari in un opto un piccolo impulso di 1mS che ti terrà acceso il TRIAC fino allo zero-crossing successivo. Con ritardo pari a 2mS avrai la massima luminosità, con il ritardo a 8mS la minima.

ciao

--

questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news segnala gli abusi ad abuse@newsland.it
Reply to
Fabio

non posso fare così perchè questa è una piccola parte di un progetto ben più grande, è per questo che utilizzo 8 bit di risoluzione in digitale "Fabio" ha scritto nel messaggio news:bji77m$7it$ snipped-for-privacy@news.newsland.it...

dimmer

Reply to
Sy

dimmer

Lampada in CC o AC ??

Reply to
Rinux

lampada in AC. naturalmente all'usicita è collegato un optoisolatore e un triac etc etc, ma il problema non è questo.

sy

"Rinux" ha scritto nel messaggio news:bji88t$ik08n$ snipped-for-privacy@ID-185871.news.uni-berlin.de...

Reply to
Sy

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.