fredyxx
23.05.2016, 17:27
Hallo,
bitte in die Antwort nicht viel Zeit investieren, ich such selber noch. Aber evtl. fällt euch spontan was ein.
Der Code ist auch auf das Wesentliche gekürzt
Code:
float lzahn2;
float lzahn2_alt = 98; // Ausfahrlänge von Zahnstange 2 nach Justierung
float lzahn3;
float lzahn3_alt = 67; // Ausfahrlänge von Zahnstange 3 nach Justierung
float x1 = 344.67; // // Koordinaten von Punkt P1, den das Schaufelgelenk ansteuern soll
float y1 = 184.45; //
float W4;
void setup() {
Serial.begin (250000); // diese Buadrate muss auch in der Konsole (Serieller Monitor) eingestellt sein
while (!Serial);
}
void loop() {
Serial.print ("Drehwinkel2 = ");
Serial.println (Drehwinkel2_ber (),4); // Druckt Ergebnis des UPs mit 4 Stellen hinter dem Komma
Serial.print ("Drehwinkel3 = ");
Serial.println (Drehwinkel3_ber (),4); // Druckt Ergebnis von lzahn2 mit 4 Stellen hinter dem Komma
Serial.print ("lzahn2 = ");
Serial.println (lzahn2); // Druckt Ergebnis von lzahn2
Serial.print ("lzahn3 = ");
Serial.println (lzahn3); // Druckt Ergebnis von lzahn3
delay(2000);
}
// **************************************Unterprogram m Drehwinkel2_ber *******************************
int Drehwinkel2_ber ( ) {
// hier Berechnung von delta_lzahn2
int Drehwinkel2 = int(470.0 / 77.0 * delta_lzahn2);
Serial.print ("Klammer = ");
Serial.println (470.0 / 77.0 * delta_lzahn2); // Druckt Ergebnis von Klammer
Serial.println (Drehwinkel2); // Druckt Ergebnis von Drehwinkel2
delay(5000);
return Drehwinkel2; // die Ausgabe erfolgt in Grad
}
// **************************************Unterprogram m Drehwinkel3_ber *******************************
float Drehwinkel3_ber ( ) {
// hier Berechnung von lzahn3 und Drehwinkel3
int Drehwinkel3 = int(470.0 / 77.0 * delta_lzahn3);
return Drehwinkel3; // die Ausgabe erfolgt in mm
}
Auf der Konsole sehe ich dann sofort:
Drehwinkel2 = Klammer = 469.53
469 das ist nch ok
dann nach 5 s
13111 woher kommt die ?
Im Code sind die Befehle, die zu diesen Ausgaben führen fett
Gruß fredyxx
bitte in die Antwort nicht viel Zeit investieren, ich such selber noch. Aber evtl. fällt euch spontan was ein.
Der Code ist auch auf das Wesentliche gekürzt
Code:
float lzahn2;
float lzahn2_alt = 98; // Ausfahrlänge von Zahnstange 2 nach Justierung
float lzahn3;
float lzahn3_alt = 67; // Ausfahrlänge von Zahnstange 3 nach Justierung
float x1 = 344.67; // // Koordinaten von Punkt P1, den das Schaufelgelenk ansteuern soll
float y1 = 184.45; //
float W4;
void setup() {
Serial.begin (250000); // diese Buadrate muss auch in der Konsole (Serieller Monitor) eingestellt sein
while (!Serial);
}
void loop() {
Serial.print ("Drehwinkel2 = ");
Serial.println (Drehwinkel2_ber (),4); // Druckt Ergebnis des UPs mit 4 Stellen hinter dem Komma
Serial.print ("Drehwinkel3 = ");
Serial.println (Drehwinkel3_ber (),4); // Druckt Ergebnis von lzahn2 mit 4 Stellen hinter dem Komma
Serial.print ("lzahn2 = ");
Serial.println (lzahn2); // Druckt Ergebnis von lzahn2
Serial.print ("lzahn3 = ");
Serial.println (lzahn3); // Druckt Ergebnis von lzahn3
delay(2000);
}
// **************************************Unterprogram m Drehwinkel2_ber *******************************
int Drehwinkel2_ber ( ) {
// hier Berechnung von delta_lzahn2
int Drehwinkel2 = int(470.0 / 77.0 * delta_lzahn2);
Serial.print ("Klammer = ");
Serial.println (470.0 / 77.0 * delta_lzahn2); // Druckt Ergebnis von Klammer
Serial.println (Drehwinkel2); // Druckt Ergebnis von Drehwinkel2
delay(5000);
return Drehwinkel2; // die Ausgabe erfolgt in Grad
}
// **************************************Unterprogram m Drehwinkel3_ber *******************************
float Drehwinkel3_ber ( ) {
// hier Berechnung von lzahn3 und Drehwinkel3
int Drehwinkel3 = int(470.0 / 77.0 * delta_lzahn3);
return Drehwinkel3; // die Ausgabe erfolgt in mm
}
Auf der Konsole sehe ich dann sofort:
Drehwinkel2 = Klammer = 469.53
469 das ist nch ok
dann nach 5 s
13111 woher kommt die ?
Im Code sind die Befehle, die zu diesen Ausgaben führen fett
Gruß fredyxx