Re: plm.out(x,255) funktioniert nicht Kategorie: Programmierung (von ACU, http://www.roboterbastler.de - 31.01.2005 19:06) | ||
Als Antwort auf Re: plm.out(x,255) funktioniert nicht von André H. - 31.01.2005 0:48 | ||
| ||
> 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. > Hallo André, Danke für den Tipp jetzt funktioniert es! Auf sowas wäre ich nie von alleine gekommen... MfG ACU Meine Seite: http://www.roboterbastler.de | ||
Antwort schreiben Antworten: |