Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

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
Ich nutze:
C-Control II Unit, CC2-Application-Board, OSOPT_V2
> 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: