Re: plm.out(x,255) funktioniert nicht Kategorie: Programmierung (von André H. - 31.01.2005 0:48) | ||
Als Antwort auf plm.out(x,255) funktioniert nicht von ACU - 30.01.2005 16:49 | ||
| ||
Hallo ACU, > Ich verwende an meinem Roboter einen L293D als Motortreiber. > Ich steure ihn über meine C-Control 2. > > function init() > { > plm.settimebase(0,4); > plm.setperiod(0,255); > ports.set(8,0); > ports.set(9,0); > ports.set(11,0); > ports.set(10,0); > plm.out(1,Rechts);//Das ist die kritische > plm.out(0,Links); //Stelle > } > > > Das funktioniert auch erstmal. > Mein Problem ist, dass ich Rechts und Links maximal auf 254 setzen darf. > Setze ich auf 255, bleiben die Motoren stehen. > Das liegt an der CAPCOM-Einheit. Ein 100%iges Tastverhältnis ist nicht ohne weiteres möglich. Das einfachste wäre, wenn Du die Zeitbasis kleiner machst und die Periodenlänger vergrö�erst. Bei einer Zeitbasis von 400ns müsste die Periodenlänge 2040(255x8) betragen, um dieselbe Frequenz zu erreichen. Wenn Du hier nur bis 2039 gehst, wirst Du keinerlei Leistungsunterschied feststellen. (Das wären 0,05% weniger Leistung.) Alternativ kannst Du den Ausgang fest auf 1 setzen. (siehe auch Posting 2050) Also nach dem Setzen der Periodenlänge folgendes ausführen: if <PLM_Wert>==<Periodenlänge> { sfr.set_P8(sfr.get_P8() or 1); // PLM.0 //sfr.set_P8(sfr.get_P8() or 2); // PLM.1 //sfr.set_P8(sfr.get_P8() or 4); // PLM.2 } MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: Re: plm.out(x,255) funktioniert nicht (von ACU - 31.01.2005 19:06) |