PWM mit IO-Warrior56

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
Franz Peter Zantis
Posts: 97
Joined: Wed Aug 03, 2011 3:46 pm
Contact:

PWM mit IO-Warrior56

Post by Franz Peter Zantis »

iopwmset(0) = &H20 'Kennung für PWM-Betrieb
iopwmset(1) = 1 'PWM is active
iopwmset(2) = 249 'Period LSB
iopwmset(3) = 0 'Period MSB
iopwmset(4) = 125 'Puls LSB
iopwmset(5) = 0 'Puls MSB
iopwmset(6) = 1 'PWM-clock generator
retint = IowKitWrite(iohandle, 1, iopwmset(0), 64)

Diese Settings würden gemäß Datenblatt folgendes verursachen:

PWM-Frequenz ist 1000 Hz denn Fout = Fclock/(Period+1)
somit 1000 Hz = 250 kHz / (249+1)
Das Puls/Pausen-Verhältnis ist 60% denn Duty cycle of the output is Pulse/(Period+1)
somit 0,6 = 150/(249+1)

Leider bekomme ich nur ein konstantes High.

Was mache ich falsch?

Viele Grüße
Franz Peter Zantis

Guido Körber
Site Admin
Posts: 2758
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: PWM mit IO-Warrior56

Post by Guido Körber »

Der IOW56 ist V2.0.0.0 oder neuer?

Franz Peter Zantis
Posts: 97
Joined: Wed Aug 03, 2011 3:46 pm
Contact:

Re: PWM mit IO-Warrior56

Post by Franz Peter Zantis »

Es ist die Version V2.0.0.2R

User avatar
Christoph Jung
Posts: 625
Joined: Sun Oct 08, 2006 3:43 pm
Location: Germany / Berlin
Contact:

Re: PWM mit IO-Warrior56

Post by Christoph Jung »

Ich glaube wir haben da im Datenblatt evtl. einen dreher drin.

Wenn ich Ihre Daten eingebe, dann JA, es leuchtet auf meinem 56er Starterkit auch konstant, wenn ich LSB und MSB vertausche, dann
blinkt es . Ob es dem entspricht, was Sie ausgerechnet haben kann ich nicht sagen (hab gerade kein Oszi parat).
Abteilung: Softwareentwicklung
Folge uns auf Twitter
Follow us on twitter

Franz Peter Zantis
Posts: 97
Joined: Wed Aug 03, 2011 3:46 pm
Contact:

Re: PWM mit IO-Warrior56

Post by Franz Peter Zantis »

Auch bei dem folgenden Code bleibt es beim permanenten High:

iopwmset(0) = &H20 'Kennung für PWM-Betrieb
iopwmset(1) = 1 'PWM is active
iopwmset(2) = 0 'Period LSB
iopwmset(3) = 249 'Period MSB
iopwmset(4) = 0 'Puls LSB
iopwmset(5) = 125 'Puls MSB
iopwmset(6) = 1 'PWM-clock generator
retint = IowKitWrite(iohandle, 1, iopwmset(0), 64)

Franz Peter Zantis
Posts: 97
Joined: Wed Aug 03, 2011 3:46 pm
Contact:

Re: PWM mit IO-Warrior56

Post by Franz Peter Zantis »

Ich werde es wie bisher mit Bit-Banging machen. Ihr PWM-Modul funktioniert nicht.

Guido Körber
Site Admin
Posts: 2758
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: PWM mit IO-Warrior56

Post by Guido Körber »

Also ich habe hier grad nur ein Exemplar auf dem Tisch, bei dem PWM2 angeschlossen ist, der funktioniert einwandfrei exakt so wie im Datenblatt spezifiziert. Weder ein Dreher im Datenblatt, noch ein permanentes High.

Haben Sie vielleicht PWM1 und PWM2 verwechselt?

Franz Peter Zantis
Posts: 97
Joined: Wed Aug 03, 2011 3:46 pm
Contact:

Re: PWM mit IO-Warrior56

Post by Franz Peter Zantis »

Auf Seite 9 des Datenblattes finde ich das PWMout auf P6.7 geht. Von PWM1 oder PWM2 ist nichts erwähnt.
Auf Seite 19 ist das zugehörige Report-Array beschrieben. Auch dort ist nichts zu lesen von PWM1 oder PWM2.

Guido Körber
Site Admin
Posts: 2758
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: PWM mit IO-Warrior56

Post by Guido Körber »

Ab Chipversion V2.0.0.2 gibt es einen zweiten PWM Kanal, der kommt auf P6.0 raus.

Wir haben dann wohl das aktuelle Datenblatt nicht online.

Ändert aber nichts daran, dass auch der eine Kanal funktioniert. Haben Sie mal mit SimpleHID versucht die Daten direkt zu schreiben? Das ist immer ein praktisches Werkzeug um auszuschließen, dass man die Daten irgendwie falsch verpackt, oder sonst welche Fehler in der eigenen Software hat.

User avatar
Christoph Jung
Posts: 625
Joined: Sun Oct 08, 2006 3:43 pm
Location: Germany / Berlin
Contact:

Re: PWM mit IO-Warrior56

Post by Christoph Jung »

So ich hab mir auch nochmal einen jungfräulichen IOW56 mit Version 2.0.0.2 geschnappt, die Daten (oben) eingestellt und die LED leuchtet, allerdinst sollte das auch so sein, denn Sie stellen die PWM-Clock auf 250kHz.Wenn ich bei CLOCK &H00 einstelle (also 1kHz), dann blinkt die LED fröhlich vor sich hin.
Abteilung: Softwareentwicklung
Folge uns auf Twitter
Follow us on twitter

Guido Körber
Site Admin
Posts: 2758
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: PWM mit IO-Warrior56

Post by Guido Körber »

Man kann auch die Pulslänge variieren, dann sieht man eine Änderung der Helligkeit der LED.

Funktioniert mit der V2.0.0.2 mit einem oder beiden Kanälen, so wie im Datenblatt beschrieben.

Mit den angegebenen Daten ist das Puls/Pausen-Verhältnis übrigens 50%

Post Reply