- 3D-Druck Einstieg und Tipps         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 20

Thema: Problem mit PWM

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    13.12.2005
    Ort
    Sachsen
    Beiträge
    17

    Pseudo PWM

    Anzeige

    E-Bike
    Nun ja, pseudo PWM, weil es sich nicht um eine richtige Puls-Weiten-Modulation handelt.

    Ich lasse das programm mit allen Steueraufgaben einfach immer wieder durchlaufen und vergleiche am ende einen Zähler mit meinem Vorgabewert für die Farbe. (RGB - Steuerung)
    Ist der zähler höher als der Wert, leuchtet die jeweilige LED nicht, bei niedrigerem Wert leuchtet sie.

    soweit Wäre es ja eine PWM.
    Nun wollte ich aber den Strom besser über die Periode verteilen.
    Deshalb wird der Zähler nicht um eins erhöht, sondern immer um 12 vor jeder einzelnen Farbe, und am schluss nochmal um 1, damit bei 256 durchläufen auch alle werte je farbe genau einmal erreicht werden.

    also:

    Anfang:
    .
    .
    .
    Zähler=Zähler+12;
    Vergleich mit Rot; -> Leuchtet oder nicht
    Zähler=Zähler+12;
    Vergleich mit Grün; -> Leuchtet oder nicht
    Zähler=Zähler+12;
    Vergleich mit Blau; -> Leuchtet oder nicht
    Zähler++;

    goto Anfang

    Die Frequenzen habe ich nicht genau bestimmt.
    Da ich viele Abfragen und so weiter im Programm habe (ca 450 anweisungen im HEX-File), waren für einen Flimmerfreien Betrieb die 4MHz, die ich anfangs genutzt habe zu wenig. (hat leicht im unteren Helligkeits-Viertel geflimmert)
    Deshalb bin ich auf ein 20MHz quarz umgestiegen und da flimmert nix mehr.

    Aber wie gesagt, genaue frequenzen...
    mal durchrechnen...
    Bei einer Helligkeit von 1 (genau 1/256 der Periode an) siht das wohl so aus:
    f=20000000/4 (interner Takt) für eine anweisung.
    bei 450 Anweisungen wären das dann je Durchlauf:
    5000000/450 = 11111.11111 HZ.
    Jetzt braucht man 256 Durchläufe für eine Periode...
    11111.11111/256 = 43.403 HZ

    beträgt nun die Helligkeit 2/256 hat man dann fast die doppelte Frequenz.
    Bei 3/256 fast die dreifache...
    Bei höheren helligkeiten verteilen sich dann die ON-Zeiten immer gleichmäßiger, jedoch nicht exakt gleichmäßig.
    Ich hänge mal ein EXCEL-Tabellchen dran, das meine PWM etwas verdeutlicht.
    Angehängte Dateien Angehängte Dateien

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    75
    Beiträge
    2.063
    Mit einem PIC 16F877 und einem Quarz mit 4,9152 MHz (wegen 9600 Baud) schaffe ich 8 PWM-Ausgänge mit 100 Hz und Takt-/Pausenverhältnis 0...100%.
    Die Software war eigentlich als Flackerlicht für 8 LED-Reihen gedacht, sie kann aber noch wesentlich mehr und ist nicht nur für LED's.
    Ich werde in den nächsten Tagen Schaltplan und Software aufbereiten und als Download bereit stellen; bitte Geduld. Die Platine ist schon mal unter: http://www.domnick-elektronik.de/aktuell.htm zu sehen.
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  3. #13
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    75
    Beiträge
    2.063
    Ach ja, das Prinzip der 8 PWM-Ausgänge:
    Timer 2 löst alle 0,1 ms einen Interrupt aus. Dort werden 8 Zähler von 0...100 (%) bis auf 0 decrementiert, bei 0 wird der jeweilige Ausgang auf Low gesetzt, bei <> 0 auf High.
    Nach 10 ms (= 100 Hz) werden die Zähler je nach Modus mit 0...100 (%) neu gesetzt.
    Das Programm ist in Assembler geschrieben, da hier Geschwindigkeit gefragt ist und keine Warteschleifen.
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  4. #14
    Neuer Benutzer Öfters hier
    Registriert seit
    13.12.2005
    Ort
    Sachsen
    Beiträge
    17
    @ Kalledom:
    PWM ist sicher eine feine Sache.
    Ich hatte anfangs vor die internen PWM-Kanäle zweier hintereinander geschalteter PIC16F876 zu nutzen.

    Da ich jedoch 70 Ultrahelle LEDs (20xGrün 9000mcd, 30xRot 5000mcd, 30xBlau 4500-6000mcd) mit 20-30mA je Stück (je nach Spannung und Impulsdauer immerhin 1,4 bis 2,1 Ampere) flimmerfrei ansteuern möchte habe ich mir eben überlegt wie man die Ströme besser verteilen könnte.

    Darüber gibt es auch auf anderen Seiten und in anderen Artikeln schon reichlich Text.
    Habe mir das beste zusammengesucht und eine programmierbare automatische Farbwechselsteuerung gebastelt, die mit einem 14V 1,5A Netzteil auskommt.

    MFG
    Stefan

  5. #15
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    75
    Beiträge
    2.063
    @lanpc5
    Hallo Stefan,
    was sind die Gründe, weshalb Du keinen PIC genommen hast ? Mit einem Ausgang einen 'dicken' FET anzusteuern ist doch sicher kein Problem.
    Wie steuerst Du den Strom / die Leistung in Deiner Farbwechselsteuerung ?
    Kannst Du den Schaltplan Deiner Steuerung irgendwie zeigen ?
    Ab welcher Frequenz ist PWM für Dich 'flimmerfrei' ?
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    13.12.2005
    Ort
    Sachsen
    Beiträge
    17
    @Kalledom:

    Ich habe ja einen PIC genommen, eben so nen 16F876.
    Die ausgänge wollte ich erst jeweils auf nen FET geben, da fielen mir aber noch 2 ULN2803 in die Hände. =D>
    da diese je Kanal 500mA schalten können reicht das mit nem draufgeklebten Alu-Blech aus.
    Die Probleme bei der echten PWM gab es eher wegen meinem Netzteil.
    Beim Dimmen der Farben pulsierten die im unteren Bereich (bis so 10%) weil die Spannung des Trafos schwankte.
    Nen größeren Kondensator als 1000uF wollte ich auch nicht verbauen, aus Platzgründen.
    Die Schaltung ist nicht weiter kompliziert...
    3 Taster auf Eingänge von PortA mit pullups (10KOhm) und nen ULN2803 an PortB.
    da hat man 3 Farben und noch Pins für Status- und Taktanzeige.
    2 Taster für schneller bzw. langsamer und einer um die Programme durchzuschalten.
    ich komme denk ich bis so 600 instruktionen ohne Interrupte und so aus.
    Es würde sicherlich noch eleganter gehen, aber ich bin noch ganz frisch auf dem Gebiet...

  7. #17
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    23.03.2005
    Beiträge
    386

    Re: Pseudo PWM

    Zitat Zitat von lanpc5

    Aber wie gesagt, genaue frequenzen...
    mal durchrechnen...
    Bei einer Helligkeit von 1 (genau 1/256 der Periode an) siht das wohl so aus:
    f=20000000/4 (interner Takt) für eine anweisung.
    bei 450 Anweisungen wären das dann je Durchlauf:
    5000000/450 = 11111.11111 HZ.
    Jetzt braucht man 256 Durchläufe für eine Periode...
    11111.11111/256 = 43.403 HZ

    beträgt nun die Helligkeit 2/256 hat man dann fast die doppelte Frequenz.
    Bei 3/256 fast die dreifache...
    Bei höheren helligkeiten verteilen sich dann die ON-Zeiten immer gleichmäßiger, jedoch nicht exakt gleichmäßig.
    Ich hänge mal ein EXCEL-Tabellchen dran, das meine PWM etwas verdeutlicht.
    Ich verstehe, bei Deiner Schaltung ändert sich also die Frequenz.
    Im unternen Bereich dürfte aber bei 43Hz ein starkes flimmern auftreten. Flimmerfrei für das menschliche Auge wird es erst ab 200Hz da die LED's keine merkliche Nachleuchtdauer haben. Wenn es noch für Foto oder Filmaufnahmen verwendbar sein sollte dann müssen es so um die 5'000Hz oder höher sein.
    Gruss Robert

  8. #18
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    75
    Beiträge
    2.063
    @lanpc5
    irgendwie ist mir ein Posting von Dir 'durch die Lappen gegangen'.
    Du kannst PIC Assembler-Beispiele, bei denen auch ein 1 ms-Interrupt alles 'abarbeitet' unter http://www.domnick-elektronik.de/picasm.htm 'abkupfern'.
    Das 8-kanalige PWM- / FlackerLicht-Listing muß ich erst 'aufbereiten'; das dauert einige Tage.
    Wenn für das menschliche Auge erst 200 Hz flimmerfrei sind, kann der Timer-Int halbiert und die Quarz-Frequenz verdoppelt werden.
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  9. #19
    Neuer Benutzer Öfters hier
    Registriert seit
    13.12.2005
    Ort
    Sachsen
    Beiträge
    17
    Wie gesagt, ich bin noch nicht so vertraut mit PIC und drumherum.
    Das ist mein erstes Projekt.

    wegen der Frequenzen... da mein PIC ja nur die Wandbeleuchtung mit verschiedenen Farbfolgrprogrammen steuern soll und auf 3 Taster reagieren soll, ist meine Variante schon ganz gut.
    Und wie anhand meiner oben geposteten EXCEL-TABELLE zu sehen ist, ist schon bei 5/256 der vollen Helligkeit eine ausreichend hohe Frequenz gegeben (bei dieser Helligkeit ist in den LEDs gerade einmal ein leuchten zu sehen, an der Wand sieht man erst so ab 15 bis 20/256 , also ab ca 6% Leuchtkraft.)
    Werte darunter sind nur für schönere Farben, quasi als Ergänzung für schöneres blau, oder gelberes gelb...

    Mein nächstes Projekt wird sich mit PWM für Lüfter, analoger Temperaturmessung, Kontrolle der Fließgeschwindigkeit meines Wassers im PC drehen... mal sehen, vielleicht komme ich ja auch noch auf den Geschmack von echter PWM

    In meinem ersten Projekt ging es aber wie schon erwähnt um eine gute RGB-Steuerung mit gleichmäßigerer Stromverteilung...
    das habe ich geschafft, glaube ich...

  10. #20
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    75
    Beiträge
    2.063
    Hallo,
    ich habe mein Versprechen eingelöst, das Flackerlicht / 8 PWM-Ausgänge mit PIC 16F877 ist ab sofort unter: http://www.domnick-elektronik.de/picpwm.htm mit Schaltplan als PDF-Datei abrufbar.
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress