Sie sind nicht angemeldet.

1

Dienstag, 30. September 2014, 16:30

Pwm V08

Hallo Reinhold,

So da melde ich mich mal wieder zurück.
Ich hoffe du bist wohlauf und bastelt fleißig.
Ich habe mal eine Frage zur PWM bei der V08.
Laut Schaltplan gibt es ja zwei davon, die man von 0 - 100% steuern kann.
Was bedeuten die 100% wie viel Hz sind das?
Und noch eine Frage zu den Spannungseingaängen :
Bei der V07 sind die Analogeingänge anders beschaltet, als bei der V08.
Was von dem Schaltplan muss ich einhalten, um 0-5V zu messen?
Ich plane mit der PWM von der V08 ein paar Mosfets anzusteuern, für ein kleines Elektroauto.
PWM 1 für vorwärts und PWM2 für rückwärts -> Mosfets in H Schaltung
Da ich Mosfets mit logic Level nehme, müsste ich doch die Mosfets direkt ansteuern können.

Gruß Lutz
Firmware V07 1.03c (Version vom 18.08.2012)

2

Dienstag, 30. September 2014, 18:23

Hallo Lutz,
gerne liefere ich die die gewünschten Informationen. Ich habe für beide Themen ein PDF erstellt. In den zwei Dokumenten müsste die zwei Themen beschreiben sein. Falls was unklar ist, einfach nochmals fragen. Na dann wünsche ich dir viel Erfolg.

AD-Wandler PWM_Ausgang

Gruß Reinhold

3

Mittwoch, 1. Oktober 2014, 15:21

Hallo Reinhold,

danke für die Infos. So wie ich es verstanden habe geht die PWM niemals auf 0 sondern auf minimal 1 Digit.
Je nach Zeiteinstellung bekommt mein Motor für einige Digits in der Sekunde Strom.
Oder bin ich auf dem Holzweg?

Gruß Lutz
Firmware V07 1.03c (Version vom 18.08.2012)

4

Mittwoch, 1. Oktober 2014, 15:48

Hallo Lutz,
der Wert geht bei einem Eingangswert von 0 auch auf 0 oder bei SEL nicht aktiv wir auch 0 ausgegeben. Im Programm sieht das so aus.


if (SEL == 0)
{
OCR2A = (uint8_t)(v & 0x00FF); // Ausgangswert setzen
} // nur 8 Bit
else
{
OCR2A = 0; // Ausgangswert auf 0 setzen
}

OCR2A ist das Vergleichsregister. Sobald der Zähler den Wert in OCR2A erreicht, wird der Ausgang geschaltet. Da es sich um ein 8 Bit Wert handelt, ist bei 255 der Ausgang immer auf hi.

5

Mittwoch, 1. Oktober 2014, 18:06

Hallo Reinhold,

ich habe mir deine Beschreibung durchgelesen :


Bei der Einstellung 0 am % Eingang wird ein Hi Puls mit der Zeit von einem Digit ausgegeben. Mit
dem Wert von 255 wird ein Lo Puls von von einem Digit ausgegeben. Die HI Zeit wird
entsprechend dem Eingangswert verändert.


Also wird wenn ich von ctc auf pwm umschalte das SEL Signal automatisch auf 0 gesetzt?
so wie ich deinen code interpretiere geht er ja aufgrund von sel=0 in den oberen zweig rein und führt die bedingung aus.
bei uint8_t = 0 wenigstens 1 x oder irre ich mich?


Gruß Lutz
Firmware V07 1.03c (Version vom 18.08.2012)

6

Donnerstag, 2. Oktober 2014, 18:17

Hallo Lutz,
ich habe jetzt das PWM Signal nachgemessen. Bei einer 0 wird wie von dir beschrieben ein Hi Signal mir der Bitlänge von 1 ausgegeben. Bei einem Wert von 255 wird bei mir ein Hi Signal ohne LO-Puls ausgeben.

Der Timer arbeit als fast pwm invertierter Mode. Der Timer zählt von 0 bis 255. Sobald der Zählerwert dem Einstellwert entspricht wird der Ausgang umgeschaltet. Beim Erreichen von 255 wird der Timer wieder auf 0 gesetzt und der Ausgang auf 0 geschaltet. Im Invertierten Mode wird der Ausgang auf 1 geschaltet. Ist der eine Puls bei dem Einstellwert von 0 für deine Anwendung ein Problem?

Der Baustein wird über SEL=0 aktiviert. In diesem Fall wird der obere Zweig ausgeführt. Ist SEL=1 wird der PWM auf 0 gesetzt, was einen Hi puls von einem Bit erzeugt.

Gruß,
Reinhold

7

Freitag, 3. Oktober 2014, 08:56

Hallo Reinhold,

danke das du dir das angeschaut hast. Ob es in meiner Anwendung zum Problem wird, wird sich zeigen, da sie noch nicht fertig gebaut ist.
Wäre es nicht vielleicht sinnvoll die Schleife auf sel =0 und eingangssignal > 0 zu überprüfen und dann würde er gar nicht in die obere schleife gehen.
Es geht mir nur darum , wenn ich 0 als Wert wähle, sollten das Leistungsteil keine Ansteuersignale bekommen. Der Motor den ich benutze hat 30A und so wird dann ja im Stand Energie verbraten, wo es nicht sein muss.

Gruß Lutz
Firmware V07 1.03c (Version vom 18.08.2012)

8

Samstag, 4. Oktober 2014, 08:09

Hallo Lutz,
das mit der Ansteuerung kann ich verstehen. Bei 0 darf der Ausgang kein Puls erzeugen. Wie so oft gibt es auch hier mehrere Ansätze, die jedoch alle nicht den Idealzustand darstellen.
a) Der Ausgang wird bei 255 auf HI geschaltet. Wenn mann den Eingangswert für das PWM invertieren würde und den PWM Ausgang als nicht invertierter Ausgang verwendet, müsste das gehen. Falls dies für dich in Frage kommt, würde ich das ausprobieren.
b) Das PWM Signal wird mit einem zusätzlichen Signal verriegelt. Das wäre aber eine Erweiterung in externer Hardware. Dazu kenne ich deinen Aufbau zu wenig.
c) In der Firmware könnte ich schauen, ob ich das PWM bei 0 abschalte und den Ausgang auf LO lege.

Welche Variante gefällt dir am besten.

Gruß Reinhold

9

Samstag, 4. Oktober 2014, 12:38

Hallo Reinhold,

also das anpassen der Firmware wäre der effektivste Weg.
Was hältst du von dem Ändern der Schleifenbedingung (sel =0 und eingangssignal > 0 ) und Abschalten des Ausgangs )
Dann wäre doch das Probem aus der Welt.


Gruß Lutz
Firmware V07 1.03c (Version vom 18.08.2012)

10

Sonntag, 5. Oktober 2014, 10:13

Hallo Lutz,
die Firmware habe ich entsprechend angepasst. Liegt am PWM Eingang eine 0 an ist der Ausgang auf 0.
Hier ist die geänderte V08 Firmware .

Gruß Reinhold

11

Sonntag, 5. Oktober 2014, 11:18

Hallo Reinhold,

danke für die schnelle Bearbeitung.
Ich bekomme nächste Woche noch ein paar Bauteile und werde dann die Steuerung aufbauen und testen.
Ich melde mich dann wieder und berichte wie es ausgegangen ist.
Also vielen Dank und einen schönen Sonntag noch.

Gruß Lutz
Firmware V07 1.03c (Version vom 18.08.2012)