Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > Hallo zusammen, > > ich mußte feststellen, dass es wohl ein Problem sein kann die PLM-Kanaele 0 und 1 von 0% (bzw. gerade initialisiert) auf 100% Tastverhaeltnis zu steuern. Konkret (s.Quelltext unten): Ich initialisiere die PLM Kanaele 0 und 1, setze die timebase auf 25,6 Mikrosekunden und die Periodenlaenge auf 195 Ticks. Direkt danach kann ich die Funktion plm.out nicht mit 195 "fuettern". Das hat lediglich ein Low zur Folge. Erst durch setzen von 194 Ticks dann _zwingend_ ein sleep 5; und nun 195 Ticks gehen beide Ausgaenge auf konstant High. Das ist auch bei einem Sprung von 50% auf 100% Tastverhaeltnis so. D.h. auch hier muss ich erst ueber 194 Ticks gehen. > > In umgekehrter Richtung (Tastverhaeltnis reduzieren) klappt der Sprung auf 0% Tastverhaeltnis jederzeit. > > > > Hat jemand aehnliche Erfahrungen gemacht und weiss vielleicht eine Loesung feur dieses seltsame Verhalten der PLM? Bin fuer jeden Vorschlag dankbar, der mir solche Workarounds erspart. > > > > Ciao > > Theo > > > > /* > > Title: Main-Modul > > */ > > /*******************************************************************/ > > thread main > > { > > > > plm.setmode(0,0); > > > > plm.setmode(1,0); > > > > // Kanal 0 und 1 mit timebase (Tickdauer) 6 (25,6 Mikrosekunden) init. > > plm.settimebase(0,6); > > > > // Kanal 0 und 1 mit PeriodLength (Anzahl Ticks pro Periode) init. > > // 195 Ticks * 25,6 Mikrosekunden = 5 ms > > plm.setperiod(0,195); > > > > // PLM-Kanaele 0 und 1 mit 100% Einschaltdauer init. > > // Die Motorelektronik interpretiert das als Stopp! (Invertierung). > > // Geht nicht direkt mit 100% PLM. > > plm.out (0,194); > > plm.out (1,194); > > sleep 5; > > plm.out (0,195); > > plm.out (1,195); > > > > // Ende der Initialisierung > > > > halt; > > > > } > > > > > > Hallo Theo, > > vor diesem Problem habe ich vor längerer Zeit auch schon gestanden und habe eine fast gleiche > Frage in`s Forum gesetzt. Leider habe ich von den Experten keine Reaktion erhalten. > Da ich unbedingt dieses Problem für den Motortreiber TLE52xx von Siemens lösen musste, > habe ich einfach das PWM-Ausgangssignal negiert. Somit kehren sich all deine Verhältnisse um. > Mit dem Laden von 0x00 in das PWM Register erhälst du somit sofort ein High. > > all the best > KM >