Forum: Mikrocontroller und Digitale Elektronik LED-Fader mit PIC12F508


von Niko (Gast)


Lesenswert?

Hi,

kann mir jemand einen Tipp geben wie ich, mit möglichst wenig Aufwand, 
dieses Projekt auf einem PIC12F508 umsetzen kann?

http://www.mikrocontroller.net/articles/LED-Fading

Mr. Google hilft mir leider überhaupt nicht weiter.

Noch ein paar kurze Randdaten:
Ich würde gerne den internen Takt nutzen und die Software kann den PIC 
ruhig voll auslasten.

von Falk B. (falk)


Lesenswert?

@  Niko (Gast)

>kann mir jemand einen Tipp geben wie ich, mit möglichst wenig Aufwand,
>dieses Projekt auf einem PIC12F508 umsetzen kann?

Nimm einen C-Compiler deiner Wahl. Nur noch die Initialierung des Timers 
und der IOs anpassen, fertig.

>Ich würde gerne den internen Takt nutzen

Config Bits richtig setzen.

MfG
Falk

von Niko (Gast)


Lesenswert?

Hallo Falk,

erstmal vielen Dank für die schnelle Antwort.

Einen Compiler habe ich. Darin liegt nicht das Problem. Aber für den 
zweiten Schritt fehlen mir noch die Grundkenntnisse:

>Nur noch die Initialierung des Timers
>und der IOs anpassen, fertig.

von Falk B. (falk)


Lesenswert?

@  Niko (Gast)

>Einen Compiler habe ich. Darin liegt nicht das Problem. Aber für den
>zweiten Schritt fehlen mir noch die Grundkenntnisse:

Dann wirst du die lernen müssen. IOs einstellen ist einfach, den Timer 
kriegt man auch hin. Bin kein PIC-Kenner.

MFG
Falk

von Thomas (Gast)


Lesenswert?

Was hast du denn bis jetzt schon mit PICs gemacht?

von Falk B. (falk)


Lesenswert?

Wenn er nicht mal ein paar IOs konfigurieren kann, gar nichts!

von Niko (Gast)


Lesenswert?

Na doch. Meine LED-Blinkt schonmal. Den Output zu definieren ist auch 
nicht das Problem. (Hatte ich zuviel zitiert.) Programmieren kann ich 
auch. (Allerdings nur auf der PC und nicht der uC ebene.)

Vielleicht versuch' ich mein Problem nochmal etwas zu prazisieren:
Ich möchte einen schönen Fade-Effekt für eine LED programmieren. Dabei 
soll mittels Soft-PWM eine deratrige 'Dimmung' entstehen das es auch 
wirklich aussieht als ob die LED stufenlos von 0-100% gedimmt wird. 
Sollten 0% ein problem darstellen reichen auch 10% oder so als 
Untergrenze.

Damit ich das Rad nicht neu erfinden muss dachte ich, ich könnte den 
Code des Projektes LED-Fading auf meinen PIC12F508 anpassen.

http://www.mikrocontroller.net/articles/LED-Fading

Allerdings übersteigt dieses Projekt bei weitem meine Kenntnisse. Wenn 
mir jedoch jemand sagen kann was ich alles anpassen muss, und ob dies 
überhaupt sinnvoll ist, so wäre mir schon viel geholfen.

von usuru (Gast)


Lesenswert?

alles über PWM bei PICs erfährst Du bei
http://www.sprut.de/electronic/pic/grund/pwm.htm

Der 12F508 hat allerdings kein PWM-Modul, das hat keiner der 10Fxxx bzw. 
12Fxxx :(  :(  :(, das müsstest Du also selbst per Software machen

von Lehrmann M. (ubimbo)


Lesenswert?

Hallo,

also zuerst muss ich dir sagen, dass du eine verhältnissmäßig schlechte 
Wahl mit dem PIC12F508 getroffen hast.
Der PIC12F683 hat z.B. ein CCP (Capture-Compare-PWM-Modul)

http://www.sprut.de/electronic/pic/programm/rotpwm/rotpwm.html
http://www.sprut.de/electronic/pic/grund/pwm.htm

zur Software PWM:
http://www.sprut.de/electronic/pic/grund/timer/timer.htm
http://www.sprut.de/electronic/pic/int/int.htm

weiter von Microchip (leider eine exe - da sind die App Notes mit dabei) 
zum Thema SoftwarePWM
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en524189
Lässt sich für deinen PIC umschreiben.

Zuerst musst du lernen mit den Interrupts umzugehen (Link oben). Dann 
kannst du über SoftwarePWM nachdenken.
Dein wichtigstes Werkzeug ist das Datenblatt des PICs - da steht alles 
zu Interrupts und Timern drin. Es kann durchaus 1-2 Stunden dauern bis 
man das alles druchgelesen und verstanden hat ... =)


Viel Erfolge

von usuru (Gast)


Lesenswert?

> Der 12F508 hat allerdings kein PWM-Modul,
> das hat keiner der 10Fxxx bzw. 12Fxxx

ubimbo hat recht, der 12F683 kann Hardware-PWM   :) :) :), das ist dann 
recht easy, ein LED-Fade zu machen.

Du musst nur berücksichtigen, dass die Empfindlichkeit des Auges nicht 
linear, sondern logarithmisch verläuft, d.h. Du machst das am besten 
über eine lookup-Table

von Niko (Gast)


Lesenswert?

Hi @ all,

vielen Dank für eure Hilfe.

Ich denke ich werde wohl einen anderen Chip benutzen. Nur dauert das 
wieder bis der geliefert ist :-(. Und außerdem kostet der ja über das 
Doppelte. :-( :-(


@ Michael:
>Es kann durchaus 1-2 Stunden dauern bis
>man das alles druchgelesen und verstanden hat ... =)

Ich wäre ja schon mit 1-2 Tagen glücklich ;-)

> http://www.microchip.com/stellent/idcplg?IdcServic...
Das wäre perfekt, wenn's doch nur mit dem 12F508 gehen würde.

Nochmals vielen Dank für die Infos.

von usuru (Gast)


Lesenswert?

der 12F508 ist ein PIC am unteren Ende der Leistungsskala, hat nur 1 
Timer und der hat nur 8-bit. Damit könnte man zwar Soft-PWM machen, 
lustig ist das aber nicht, höchstens zum Erlernen, wie man mit einem 
Timer umgeht:

Pin auf logisch 1 setzen
Timer auf Startwert für ON-Pegel setzen
auf Ende Timer warten
Pin auf logisch 0 setzen
Timer auf Startwert für OFF-Pegel setzen
auf Ende Timer warten
zurück zum Anfang ...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.