mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED-Fader mit PIC12F508


Autor: Niko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Niko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hast du denn bis jetzt schon mit PICs gemacht?

Autor: Falk Brunner (falk)
Datum:

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

Autor: Niko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: usuru (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht 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...
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?IdcServic...
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

Autor: usuru (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Niko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: usuru (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.