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 André H. - 31.01.2005 0:48)
Als Antwort auf plm.out(x,255) funktioniert nicht von ACU - 30.01.2005 16:49
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.0
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)