
| 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: | ||