zu Hilfe und Hallo! 1 Byte kann 256 Werte annehmen. 0...255. Soweit bin ich ja auch an Bord. Wenn ich jetzt eine PWM mit 8 Bit Auflösung einstelle, kann ich auch 256 Werte einstellen: 0 - PWM aus, Signal immer 0 255 - PWM immer an, also Signal immer 1 aaaaber was ist jetzt 50% Tastgrad? Kann ich gar nicht einstellen, außer ich habe eine ungerade Anzahl an Werten im möglichen Bereich. Ich weiß, das ist vielleicht ein lächerliches Problem, aber ich verzweifle gerade. Und nicht nötig zu flamen.... Kann mir wer helfen?
Dan schrieb: > aaaaber was ist jetzt 50% Tastgrad? 127 0-127 = 128 Zyklen an 128-255 = 128 Zyklen aus
Ich bin noch raus. Wenn ich statt 255 einfach mal 3 annehme also von 0..3, sprich 4 Werte die angenommen werden. Dann ist doch einfach keine Mitte als 50% da? 0 aus 1 ?% 2 ?% 3 an
Irgendwie das es keine richtige Mitte gibt wenn man rechnet... Bei 4 Möglichen werten gibts doch keine 'richtige' Mitte. seufz
Dan schrieb: > Bei 4 Möglichen werten gibts doch keine 'richtige' Mitte. Die Mitte liegt zwischen 1 und 2. Da wird umgeschaltet.
0...4 = 5 Zustände 0 aus 1 aus 2 ??? <-- Mitte 3 an 4 an Welchen Zustand soll den Deine Mitte den einnehmen?!
Dan schrieb: > aaaaber was ist jetzt 50% Tastgrad? Kann ich gar nicht einstellen, außer > ich habe eine ungerade Anzahl an Werten im möglichen Bereich. So ist es... War das schon die Frage? Oder was man dagegen tun kann?
Es gibt auch Microcontroller und PWM-Modi, wo 0 nicht "immer aus" bedeutet. --> "Es kommt darauf an" Wenn es so genau geht, musst du eben probieren+messen und/oder dir das Datenblatt reinziehen, allgemein gültig sagen kann man es nicht.
Moin, Dan schrieb: > 0 - PWM aus, Signal immer 0 > 255 - PWM immer an, also Signal immer 1 Deutlich weniger Probleme bei solchen Definitionen macht: 0 - PWM aus, Signal immer 0 255 - Signal fuer 255 Takte 1, 1 Takt 0 256 - Signal immer 1 (Kommt aber halt nicht vor, weil's nicht mehr in 8 bit passt) Gruss WK
Herman Kokoschka schrieb: > Dan schrieb: >> 0 aus >> 1 ?% >> 2 ?% >> 3 an > > 0 aus > 1 aus > 2 an > 3 an > > Genau 50%. > Wo ist das Problem? Dass du die Frage falsch verstanden hast. Was er wohl meine, war der Wert im Compare-Register: 0 = Tastgrad 0% ("aus") 1 = Tastgrad 33,3% 2 = Tastgrad 66,6% 3 = Tastgrad 100% ("an") Da gibt's dann kein "genau 50%", es sei denn, du kannst einen Wert von 1,5 ins Compare-Register laden. :) Das setzt aber voraus, dass die beiden Tastgrade 0% und 100% überhaupt einstellbar sind. Prinzipiell sollte man der Doku des µC entnehmen, wie das gehandhabt ist. Beim AVR z.B. kommt im Fast-PWM-Mode bei 0 ein Tastgrad von 1/256 raus. Exakt 50% hat man dann bei 127 (entspricht 128 Takte an und 128 Takte aus).
Dan schrieb: > Irgendwie das es keine richtige Mitte gibt wenn man rechnet... > > Bei 4 Möglichen werten gibts doch keine 'richtige' Mitte. seufz Doch, natürlich gibt es die: Wert Takte an Takte aus Duty % 0 0 4 0 1 1 3 25 2 2 2 50 3 3 1 75 Dein Problem ist, dass du nicht verstanden hast, dass es bei Fast-PWM keine 100% gibt (oder auch wahlweise: keine 0%). Es gibt an einem der beiden Enden der Skala immer einen Glitch von der Dauer eines Taktes. Bei 8 Bit bedeutet das, dass das Maximum 255/256 = 99,6% ist. Das steht aber alles auch im Datenblatt. Man muss nur seine Faulheit überwinden und dieses auch lesen...
c-hater schrieb: > Das steht aber alles auch im Datenblatt. Man muss nur seine Faulheit > überwinden und dieses auch lesen... Mit lesen alleine ist es nicht immer getan ... Man muss auch akzeptieren können, dass sich bei einm PWM modulierten Signal mit endlicher Auflösung nicht jeder Tastgrad mit beliebiger Genauigkeit einstellen lässt. Runde Zahlen im Dezimalsystem führen bei einem realen PWM-Generator nicht unbedingt auf genau einstellbare Werte. Es gibt immer die Möglichkeit, den Tastgrad zu modulieren, d.h. beispielsweise laufend zwischen 127 und 128 umzuschalten, um sich im Mittel Zwischenwerten möglichst gut anzunähern.
Wolfgang schrieb: > Mit lesen alleine ist es nicht immer getan Stimmt, über das Gelesene nachdenken muss man natürlich auch, am Besten mit Brain 1.0.0 oder aktueller, nicht mit z.B. Brain 0.2.7 oder Ähnlichem. Aber mehr ist nicht nötig ;)
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.