Hallo, wenn mir jemand so helfen könnte, dass auch ich es verstehe und vor allem umsetzen kann, wäre ich sehr dankbar: Ich benutze alle 6 PWM-Ausgänge eines Atmega168, um LEDs anzusteuern bzw. zu dimmen und brauche auch alle 6. Jeweils zahlreiche LEDs je Ausgang, jeweils über einen BD 435. Viermal klappt das gut. Aber die LEDs an Pin5 und Pin17 flackern extrem. Kein Schönheitsfehler, hat schon was von Stroboskoplicht. Hier und da lässt sich im WWW dazu was finden, allerdings nichts, was mir wirklich geholfen hat. Wäre sowieso keine symptonbasierte Lösung, aber als phänomenbasierte Lösung lässt sich das Ganze mit relativ „großen“ Elkos „lösen“, 100uF und mehr. Allerdings gibt’s dann einen Nebeneffekt, den ich nicht verstehe. Für meinen kleinen Verstand dürfte ein „dummer“ Elko nicht mehr können, als etwas von dem Strom zu speichern, der an ihm auf dem Weg zur Transistorbasis vorbeifließt. Tatsächlich passiert etwas ganz anderes, die LEDs leuchten bei gleicher PWM-Dimmstufe extrem viel heller, auch schon bei geringer Dimmstufe und sind kaum mehr wirklich „auszufaden“. Geradezu so, als ob jener Kondensator an der Transistorbasis aktiv mehr Spannung anfordert (bei allen PWM-Ausgängen, auch den nicht flackernden) Somit zwei Fragen 1) Woher kommt das Flackern und wie bekommt man es hin, dass jene beiden PWM-Ausgänge nicht flackern - und, das ist der Hauptgrund, warum ich hier nochmals einen neuen Beitrag schreibe: mit Arduino! 2) Wieso wirkt ein Elko nicht nur glättend, sondern „Basis-Spannung- verstärkend“? Danke ! marc_h
Ich würde empfehlen zunächst Schaltplan und Code (als Anhang) zu posten. Dann sieht man weiter. Ist mein Eindruck richtig, dass Du eher Laie bist? Beschreibe doch mal Deine Kenntnisse in Stichworten, bitte. Was hast Du für Messmittel?
Da scheint evtl. der Prescaler von Timer 2 zu hoch gewählt, so das er nur langsam durchläuft. Es wäre schon schön, wenn du zumindest mal die Initialisierung der Timer postest. T. P. schrieb: > 2) Wieso wirkt ein Elko nicht nur glättend, sondern „Basis-Spannung- > verstärkend“? Ein Transistor in knallharter Emitterschaltung (Emitter direkt an Masse) ist ein sehr unlinearer Verstärker. Sobald die Spannung an seiner Basis etwa 0,6-0,7V Übersteigt, leitet er. Das ist ja der Gag bei PWM, die Transistoren leiten nur oder sperren - dazwischen gibt es nichts.
:
Bearbeitet durch User
T. P. schrieb: > Aber die LEDs an Pin5 und Pin17 flackern extrem. Bei welchem Gehäuse? Beim MLF ist Pin 17 sogar AREF. Du könntest natürlich statt gEhäuse und Pinnummer auch einfach die Pinnamen sagen. Die tauchen dann nämlich auch im Programm auf...
Danke! Gehäuse: PDIP-28 ... ich nutze Arduino!!! Irgendwann wirds sicherlich mal C. Im Moment ist es aber herrlich einfach. Nur bei Problemen immer mal wieder eine furchtbare "black box". Zumindest tauchen keine Pinnamen auf, jedenfalls nicht so, wie man sich in C sowieso mit "herumschlagen" muss. Und sichtbarerweise auch kein "Prescaler von Timer 2". Wo finde ich den denn? Der Schaltplan von meinem Versuchsaufbau ist vollkommen unerheblich. Selbst wenn man an alle 6 PWM-Ausgänge des Atmegas nur (!) 6 LEDS je mit Vorwiderstand schaltet, ist das Problem da: 4x o.k., 2x flackern.
T. P. schrieb: > Wo finde ich den > denn? Mann, immer noch kein bisschen Programmcode :-( Dann poste doch wenigstens mal das *.ino Dings oder schau in den Arduino Foren, wie man die PWM Frequenz für Timer 2 (OC2A und OC2B) einstellen kann.
:
Bearbeitet durch User
....???! Ebenso wie der Schaltplan aus genannten Gründen nichts zur Sache tut, so auch nichts der Programmcode, zumindest nicht der bei Arduino sichtbare und veränderbare. Da wird an gegebener Stelle einem betreffenden Pin mit "analogWrite (Pinx, varx);" o.ä. ein "PWM-Wert" zugeschrieben, und das war´s quasi. Darüber hinaus gibts nicht wie in C einen halbkryptischen Programm-Kaffeesatz, aus dem Spezies noch was herauslesen und verändern können.
Nun, ich empfehle Dir aber doch einmal darüber nachzudenken, ob nicht diejenigen, die nach Code und Schaltplan fragen auch gute Gründe haben es zu tun. Da Du selbst nicht in der Lage bist, das Problem zu erkennen und zu beseitigen und deswegen andere fragst, scheint es mir zweckmäßig anzunehmen, dass sie möglicherweise besser wissen als Du, was sie tun. Es ist unstreitig, dass der Fragesteller an sich durchaus eigene und fallweise tatsächlich zutreffende Urteile fällen kann. Aber ohne weitere Begründung die Vorlage von Schaltplan und Code abzulehnen, das Problem aber auch nicht aus eigener Kraft diagnostizieren zu können, kann vernünftigerweise und plausibel als Widerspruch aufgefasst werden. Soweit es mich betrifft, kann ich nicht definitiv sagen, ob der Code und der Schaltplan tatsächlich zu einer Lösung beitragen. Es kann auch ein 10kW-Sender nebenan auf dem Tisch stehen, von dem wir nichts wissen. Jedenfalls aber kann ich in Deinen Erklärungen keinen Grund erkennen, warum das Problem auftritt. Also frage ich, wie mir scheint, folgerichtig, nach weiteren Informationen. Das mag an meiner eigenen Unfähigkeit liegen oder auch nicht. Aber Du hast auch keine Grundlage darüber zu urteilen. Schaden könnten Schaltplan und Code jedenfalls auch dann nicht, wenn ich daraus keinen Fehler erkenne. Entweder liegt kein Fehler darin vor oder jemand anderes erkennt ihn. Oder wir stellen fest, dass es daran nicht liegen kann. Jedenfalls geht es erstmal mit negativen Erkenntnissen weiter bis man eine positive findet.
Danke! Lassen wir das einfach. Dafür ist mir die Zeit zu schade. Beiträge kurz und schlank halten, das ist die Kunst. Das klappt hier nicht. Dafür müsste schon das Vertrauen ins Gegenüber sein, dass der schon ausreichend weiß, was relevant ist und was nicht und nicht den "10kW Sender auf dem Tisch" übersieht. Warum weder (sichtbarer) Code noch Schaltung relavant sind, war auch schon erklärt, da würde ich mich nur wiederholen. "Nun, ich empfehle Dir aber doch einmal darüber nachzudenken...." So einen Rat habe ich auch. Schon erstaunlich, egal was man fragt, 2 Minuten später sind Antworten da. Vielleicht würde sich die Menge an (unrelevanten) Gegenfragen auch einfach dadurch dramatisch reduzieren, wenn nur die antworten würden, die wirklich das Problem und die Antwort kennen würden. Schönen Tag noch!
T. P. schrieb: > Danke! Lassen wir das einfach. Dafür ist mir die Zeit zu schade. Offen gesagt, frustriert mich das jetzt ein wenig. Schade. Aber gut. Ich halte mich raus.
Theor schrieb: > Offen gesagt, frustriert mich das jetzt ein wenig. Echt? Mir ist es scheißegal, ob seine Leds flackern. Und den meisten anderen wahrscheinlich auch. > Schönen Tag noch!
:
Bearbeitet durch User
Quod erat demonstrandum, hier muss einfach jeder mitreden, auch die, die 100% nichts zur Sache zu sagen haben.
T. P. schrieb: > Quod erat demonstrandum, hier muss einfach jeder mitreden, auch > die, die > 100% nichts zur Sache zu sagen haben. Das ist hier keine kostenlose Hotline für Leute, die zu blöd sind, eine flackerfreie PWM hinzukriegen, sondern ein Forum, in dem man u.a. über Fehler, die andere gemacht haben, diskutiert, um dabei selbst etwas zu lernen. Das ist also ein Geben und Nehmen. Daran hast auch du dich zu halten. Ansonsten: Ausgestreckter Mittelfinger, beidhändig und gut ist. Und Flackern ist immer noch besser als gar kein Leuchten.
:
Bearbeitet durch User
T. P. schrieb: > Quod erat demonstrandum, hier muss einfach jeder mitreden, auch die, die > 100% nichts zur Sache zu sagen haben. Du hast absolut Recht. Auf deine Frage und den mitgelieferten Informationen hätte niemand antworten dürfen. Diejenigen die versucht haben dir weitere Informationen entlocken haben hier nichts zu suchen wenn sie dein Problem nicht kennen und konkrete Lösungsvorschläge haben.
T. P. schrieb: > Quod erat demonstrandum, hier muss einfach jeder mitreden, auch > die, die > 100% nichts zur Sache zu sagen haben. Sie selbst tragen doch nichts zur Problemlösung und nölen die Leute, welche helfen wollen auch noch voll. Was war denn Ihrer Meinung nach nun zu beweisen? Etwa Ihre Unfähigkeit, auf Nachfrage etwas bereitzustellen? Glauben Sie ernsthaft, dass PWM so geheim ist? Was soll man Ihrer Meinung nach "100 % ig" zu einer Sache beitragen, wo sich der eigentliche Fragesteller querstellt? Soll das ein Ratespiel werden, soll irgendetwas gedeutet werden oder sollen wir vielleicht noch fertigen Code bereitstellen? Sie sollten an aller erster Stellen mal Ihr Verhalten insgesamt überdenken!
Wenn ich doch noch, entgegen meiner erklärten Absicht, mich herauszuhalten, etwas bemerken darf: Ich halte es, rein aus statistischen Gründen, für wenig zweckmässig, nur Antworten zu zu lassen, die von Leuten kommen, die genau das beschriebene Symptom beobachtet haben und die Ursache dafür gefunden haben. Die geringe Anzahl der bekannten Symptome (Flackern und evtl. das Verhalten mit einem Kondensator) lässt sich auf eine Vielzahl von möglichen Ursachen zurückführen; von denen mir viele vermutlich nicht unbekannt sind, die ich aber erst nach längerem Nachdenken überhaupt finde. Selbst wenn man annimmt, dass zehn Personen hier das Symptom auch einmal hatten, ist es wahrscheinlich, dass es sich in der Mehrzahl um wesentlich voneinander verschiedene Ursachen handelt und das die konkret hier vorliegende Ursache nicht einmal mit einer davon übereinstimmt. Das Ergebnis wären dann zehn (oder sagen wir sieben) Beschreibungen von Ursachen, die alle nachgeprüft werden müssten (und nach der dritten Rückmeldung des TO, dass es das auch nicht war ), Frustration bei den Antwortern). Deswegen ist es, Meinung nach, vernünftiger, das Problem so zu behandeln als wäre es noch nie vorher aufgetreten und analytisch vor zu gehen. Dazu gehören auch Informationen. Das hat mit "Vertrauen" nichts zu tun, denn wir haben hier ja keine Kenntnisse über die Vorkenntnisse und Erfahrungen des TO und es tritt hier im Forum relativ häufig auf, dass geringe Information im ersten Posting mit geringer Sachkenntnis korreliert. Das ist wenigstens mein persönlicher Grund: Analytisch, weil wenig Information und nichts voraussetzen, weil keine Basis dafür vorhanden. Ich kann aber auch nachvollziehen (falls das hier überhaupt zutrifft), dass es einem schwer fällt, nicht wenigstens einige eigene Beurteilungen der Situation als fraglos korrekt hinzustellen, wenn man schon dieses eine Problem nicht selbst lösen kann. Eine Methode um das Selbstbewusstsein jedenfalls zu einigen Graden zu erhalten; sich nicht noch öffentlich als der Trottel hin zu stellen, den man sich selbst innerlich schimpft. Einfacher und ohne Reibung wäre es allerdings gegangen, sich selbst in seiner Fehlerhaftigkeit anzuerkennen und einfach an Informationen zu geben, was nachgefragt wird. Zu guten Zeiten können sich die meisten Leute damit abfinden, dass sie nicht perfekt sind. Ich wünsche uns allen, dass uns das gelingt. Jedenfalls sind abfällige Bemerkungen wegen sich letztlich als "dumm" herausstellende Fehler hier viel seltener als Unmut darüber, dass jemand sich "quer stellt". Vermutlich, weil die meisten von sich wissen, dass sie hin und wieder ganz dumme Fehler machen. Naja. Die Welt dreht sich weiter und die Sonne scheint auf alle gleich.
T. P. schrieb: > ....???! Ebenso wie der Schaltplan aus genannten Gründen nichts zur > Sache tut, so auch nichts der Programmcode, zumindest nicht der bei > Arduino sichtbare und veränderbare. Dann poste wenigstens mal die Registerbelegung von Timern und Prescaler. Wenn du beim Arduino irgendwelchen Programmcode nicht sehen kannst, guckst du wahrscheinlich im falschen Verzeichnis.
Ich hab den ganzen Krams, der hier zum Schluss noch geschrieben wurde, nicht mehr gelesen, nicht mal überflogen -und die Zeit lieber kreativ ins (zugegeben extrem nervige) Nachforschen gesteckt, nachdem hier Antworten (nein, Beiträge) von denen kamen, die die Antwort auch nicht wirklich wussten. Da gibts eine gut und tief verstecke Seite: https://www.arduino.cc/en/Tutorial/SecretsOfArduinoPWM Dort steht die Lösung. Die Zeilen eingefügt. Und nichts flackert mehr. Soviel zu allen so klugen Antworten, die z.B. meine Schaltpläne und Programmcodes einfodern und dann noch leicht "griffig" werden, wenn man das nicht macht und Vertrauen dahingehend einfordert, dass man durchaus ansatzweise weiß, in welche Richtung die Reise bei der Problemsuche gehen muss - und in welche nicht. Traurig, traurig!
Hi Schade ist allerdings, daß Du zwar Deinen Fehler (ok, der Fehler kam vom Arduino, mein Fehler) gefunden hast, aber was Du jetzt wirklich geändert hast ... Eigentlich schade ... ich wollte Dir dazu raten, den Code für den nächsten Advent aufzuheben - da braucht's gerne nen flackernden PWM ... als Kerzenlicht :) MfG
T. P. schrieb: > 1) Woher kommt das Flackern Liegt an Deinem unbekannten Programm. T. P. schrieb: > 2) Wieso wirkt ein Elko nicht nur glättend, sondern „Basis-Spannung- > verstärkend“? Liegt an Deiner unbekannten Schaltung. T. P. schrieb: > Hier und da lässt sich im WWW dazu was finden, allerdings nichts, was > mir wirklich geholfen hat. Wenn Du nicht verlinken magst, was Du gefunden hast, dann brauchst Du solche nichtssagenden Zeilen auch nicht zu posten.
T. P. schrieb: > Ich hab den ganzen Krams, der hier zum Schluss noch geschrieben wurde, > nicht mehr gelesen, nicht mal überflogen -und die Zeit lieber kreativ > ins (zugegeben extrem nervige) Nachforschen gesteckt, nachdem hier > Antworten (nein, Beiträge) von denen kamen, die die Antwort auch nicht > wirklich wussten. > > Da gibts eine gut und tief verstecke Seite: > https://www.arduino.cc/en/Tutorial/SecretsOfArduinoPWM > > Dort steht die Lösung. Die Zeilen eingefügt. Und nichts flackert mehr. > > Soviel zu allen so klugen Antworten, die z.B. meine Schaltpläne und > Programmcodes einfodern und dann noch leicht "griffig" werden, wenn man > das nicht macht und Vertrauen dahingehend einfordert, dass man durchaus > ansatzweise weiß, in welche Richtung die Reise bei der Problemsuche > gehen muss - und in welche nicht. Traurig, traurig! Tja. Traurig in der Tat; nur aus anderen Gründen als Du meinst. Es trifft sich unglücklich, dass Du Dich in Deiner, wie ich meine, unzweckmäßigen Haltung durch die Umstände bestätigt siehst. Aber wie das so ist: Ein Problem, dass nicht gelöst wird, wird sich später wieder zeigen. Vielleicht auch nie. Wer weiß, wozu das gut ist? Und zum wiederholten Male sage ich mir, dass ich keine Ergänzung unzureichender Information mehr empfehlen werde. Und zum ebensovielten Male, dass ich auf Arduino-Fragen nicht mehr antworte. Bin eben einfach unverbesserlich. :-)
Es ist also genauso, wie ich es im 2ten Post dieses Threads geschrieben hatte: Beitrag "Re: Atmega 168 – 2 PWM Ausgänge flackern extrem" Und dann noch das hier: Matthias S. schrieb: > oder schau in den Arduino Foren, wie man > die PWM Frequenz für Timer 2 (OC2A und OC2B) einstellen kann. War doch gar nicht so schwer, oder?
Danke, Theor. Danke für die herrlich zu lesenden Worte, danke für die fast schon Poesie und die geile Grammatik. Es war eine Freude, deinen Text zu lesen, ganz ehrlich. Und deine Beherrschung, einfach meisterhaft. Das ist ein Beispiel, das ich mir als Lesezeichen speichere. Alle Daumen hoch von mir und bitte weiter so :)
Danke_Theor schrieb: > Danke, Theor. > > Danke für die herrlich zu lesenden Worte, danke für die fast schon > Poesie und die geile Grammatik. > Es war eine Freude, deinen Text zu lesen, ganz ehrlich. > Und deine Beherrschung, einfach meisterhaft. > Das ist ein Beispiel, das ich mir als Lesezeichen speichere. > > Alle Daumen hoch von mir und bitte weiter so :) Dankeschön. Den Preis für die bestgeputzte Glaskugel hat, meine ich, Matthias S. abgeschossen. Matthias S. schrieb: > Es ist also genauso, wie ich es im 2ten Post dieses Threads geschrieben > hatte: > Beitrag "Re: Atmega 168 – 2 PWM Ausgänge flackern extrem" Ob er das Phänomen direkt an der Beschreibung erkannt hat, oder war das Intuition?
Ich bin echt schockiert, wie undankbar sich T.P hier gezeigt hat!
Stefan U. schrieb: > Ich bin echt schockiert, wie undankbar sich T.P hier gezeigt hat! Dachte auch, ich bin im falschen Film @TO: Les mal deine eigenen Beiträge nochmal und überleg mal, was du sagst... ich denke jeder würde anfangs ohne weitere Informationen Code und Schaltplan für sinnvoll halten, wem tut das weh? Einfach unglaublich.
Stefan U. schrieb: > Ich bin echt schockiert, wie undankbar sich T.P hier gezeigt hat! Man kann es auch schlechtes Benehmen oder Überheblich nennen. Wichtig ist einzig das: T. P. schrieb: > und die Zeit lieber kreativ > ins (zugegeben extrem nervige) Nachforschen gesteckt Das heißt doch, der Bubi war einfach nur faul und hat nun eine kleine Lektion bezogen, dass das hier nicht zum Erfolg führt. -------- Wenn ich quer durchs Forum gehe, das scheint doch immer schlimmer zu werden: Es werden "Probleme" gepostet, die man mit einem Buch und Internetrecherche selbst lösen könnte. Ich weiß nicht, ob ich eine oder drei Stunden gesucht habe, als in meinen ersten Arduino-Versuchen eine if bzw if - else nicht laufen wollte. Mein Drehencoder war nicht bedienbar, dann fiel auf, dass das etwa 33s nach Start passierte ... ich bin garnicht auf die Idee gekommen, meinen Stümpercode hier zu veröffentlichen, sondern habe meinen Timer und die Variablen beforscht. Einen Timerüberlauf hatte ich die Tage wieder, hat wohl zwei Minuten gedauert, das zu bereinigen - weil ich es mir letztes Jahr selbst erarbeitet hatte. Liegt das am Alter, weil ich Elektronik bereits lange vor dem Internet gelernt habe? Ich erwähne aber gerne, dass mir hier auch schon geholfen wurde, wobei das eine Problem so billig war, dass es einer von Euch direkt aus dem Ärmel gezogen hat.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.