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

Re: Fernsteuerungsservo an CC2 Kategorie: Sonstige Hardware (von Robert - 1.10.2002 23:48)
Als Antwort auf Fernsteuerungsservo an CC2 von Gerald Zwerger - 14.08.2002 15:08

> > Hintergrund in meinen Modell U-Booten setze ich die CC1 ein. Nun habe ich mir die CC2 bei Conrad erworben.
> Damit ich mir unnötige Arbeit (hoffentlich) ersparen kann stelle ich hiermit die Frage in das CC2 Forum ob es jemanden gibt der diesbezüglich schon Erfahrungen gesammelt hat. Für Hinweise , Hilfen Tips wäre ich sehr dankbar. Mit nen netten gru� aus Franken Gerald

Hallo Gerald,

na klar ist das möglich !!!

Du kannst bist zu drei Servos ohne Probleme an die CC2 anschlieÃ?en.
Der einzige Knackpunkt ist die richtige Einstellung des Timeings der PLM-Ports.
Wenn das Timeing erst mal richtig eingestellt ist, brachst du nur noch die Servoposition mit einem einzigen Befehl "plm.out()" auszugeben.

Beim Einstellen des Timings mu� man beachten, da� die Zeitbasis für die Ports PLM-0 und PLM-1 niemals getrent eingegeben werden kann. Der Befehl "plm.settimbase()" gild demnach immer für beide Ports, egal welche der beiden Portnummern man angegeben hat.

Ein kleines Beispiel für die Ansteuerung eines Servos mit der CC2:
//******************************************************
  // Initialisieren des PLM-Ports-1
  plm.setmode(1,0);        // Portmodus auf Push-Pull setzen
  plm.settimebase(1, 7);  // Zeitbasis der Ports 0 und 1 auf 51,2 mykro Sekunden
  plm.setperiod(1, 325);   // Periodendauer des Ports auf 325 * 51,2 = 60 Hertz setzen
  MinPos = 20 ;              // Das Sevosignal muÃ? eine Mindestperiodendauer
                                    // von ca. 20 * 51,2 =   1 milli Sekunde haben = linker Anschlag des Servoarms
  MaxPos = 40 ;            // Das Sevosignal darf nur eine maximale Periodendauer
                                    // von ca. 40 * 51,2 =   2 milli Sekunden haben = rechter Anschlag des Servoarms
  plm.out(1,MinPos);      // Initialposition des Servos ausgeben

  // kleiner Funktionstest:
  // der Servo läuft langsam zur anderen Seite und kommt
  // schlagartig wieder zurück in die Ausgangsposition
  sleep 1000;
  for i = 1 ... 19
  { a = MinPos + i ;
    plm.out(1,a);
    sleep 50;
  }
//******************************************************

Ich habe für das Beispiel eine Zeitbasis von 51,2 mykro Sekunden gewählt.
Daraus ergeben sich ca. 20 Positionen, auf die man den Servoarm positionieren kann.
Wem das nicht reicht, der kann die Zeitbasis entsprechend kleiner machen.

GruÃ? Robert


    Antwort schreiben


Antworten: