PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ansteuern von Drehzahlsteller



BlackBroom
16.03.2007, 21:47
Hallo
Habe folgendes Problem. Ich möchte 4 Drehzahlsteller "Kontronik Jazz 55-6-18" ansteuern. Zurzeit nutze ich ein C-Control 2 als Board. Bei diesem Board kann ich diese direkt über die 3 PLM Ausgänge ansteuern. Aber wie gesagt nur 3 Drehzahlsteller kann ich ansteuern.
Gibt es ein Board mit dem ich 4 solcher Drehzahlsteller anschließen kann? Ist es z.b. mit folgenden Board möglich "RN-Mega128Funk - Controllerboard mit Funkmodul"? Ich schliesse den Drehzahlsteller mit zwei Kabel an den PLM Ausgang. Einmal mit dem Impulskabel "orange" und mit dem Minuskabel (braun).

Ratber
16.03.2007, 22:48
Mit C-Control kenn ich mich nicht so aus aber ich vermute mal PLM soll das bekannte "Puls Längen Modulation" bedeuten.

Wenn die drei Kanäle nicht reichen dann eben mit Soft-PLM

BlackBroom
17.03.2007, 14:25
Hallo
Ja genau das sind die "Puls Längen Modulation".
Was meinst du mit Soft-PLM? Wird das dann über die Software des Controller gemacht?
Ist das den z.b. bei diesem Board "RN-Mega128Funk - Controllerboard mit Funkmodul" möglich?
Ich glaube bei dem CControl ist das aber noch nicht möglich mit Soft-PLM. Habe auch mal im CC2net Forum nachgefragt. Als Antwort kam folgendes:

Bisher sind die PLMs noch auf drei begrenzt.
Wenn ich das Vorhaben in der nächsten Beta von OSOPT V3.1 verwirklicht habe, daß T12 und T13 frei sind, können bis zu drei weitere PLMs (mit gemeinsamer Zeitbasis) an P1L verwirklicht werden. Einziger Nachteil wäre hier aber, daß ein an P1L angeschlossenes LCD nichtmehr genutzt werden kann.

Das könnte also da noch ein bisschen dauern bis das möglich ist.

Ratber
17.03.2007, 15:21
Was meinst du mit Soft-PLM? Wird das dann über die Software des Controller gemacht?

Wie gesagt,ich kenne die C-Control nicht genug aber wenn er genug Rechnleistung hat dann ist das kein Problem,nur ine Frage der Programierung.

Schau mal hier (http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=23) da bekommst du gleich 10 Kanäle auf einem ganz normalen Controller und die sind auch nur Software.

BlackBroom
17.03.2007, 15:59
Hallo
Man könnte doch auch so ein Serverboard nutzen.
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=65&products_id=118
Dort hat man auch ein Signalanschluss. Sollte dann eigentlich auch gehen. Denn bei der CControl nutze ich auch ein Servosteuerungsprogramm.
Der Code sieht wie folgt aus:


/* HW-Voraussetzung:
/* Ein Servo angesteurt werden
/* über PLM0 soll alle 20 ms ein Impuls gehen.
/* Die Länge des Impusl ist von 1.1ms linker bis 2.1ms rechter anschlag */


function SetServo(int Kanal,float Value)
{
// Value ist in Prozent 0 =Links 50=Mitte 100=Rechts
// 0=1.1ms = 1375 Impulse * 800 ns Praxis 700 * 800 = 0.56ms
// 50=1.6ms = 2000 Impulse * 800 ns
// 100=2.1ms = 2625 Impulse * 800 ns Praxis 2800 *800ns = 2.24ms
int outvalue;
string s1;

outvalue=700+(21*Value);
plm.out(0,outvalue);
}

//---------
thread main
//---------
{
float x;
string s1;
// initial PLM
plm.settimebase(0,1); //Base_800 ns
plm.setmode(0,0); //Mode=digital
plm.setperiod(0,25000); //Periodenlänge=Base_800 ns * 25000 = 20 ms oder 50 Hz
SetServo(0,50); //Servomitte
loop
{
SetServo(0,0); //links
sleep 2000;
SetServo(0,50); //mitte
sleep 2000;
SetServo(0,100); //rechts
sleep 2000;
for x = 0 ... 100
{
SetServo(0,x);
sleep 20;
}
sleep 2000;
for x = 100 ... >=0 step -0.1
{
SetServo(0,x);
//sleep 1;
}
sleep 1000;
SetServo(0,0); //links
sleep 1000;
SetServo(0,20);
sleep 1000;
SetServo(0,40);
sleep 1000;
SetServo(0,60);
sleep 1000;
SetServo(0,80);
sleep 1000;
SetServo(0,100); //links
sleep 1000;

}

}

Durch dieses SetServo setzt ich diesen ja nach links, mitte und rechts. Wenn ich dann das Programm in einer geänderten Version laufen lasse, läuft der Motor erst langsam dann wird der schneller und dann geht der aus und bei dem Servoboard kann ich ja auch die Positionen definieren.

Ratber
17.03.2007, 16:34
Ja,ist das gleiche in Grün.