Hi,
Harry: You can do it!!! Los ab in die Lüfte Quax!!
Ich hab gerade meine HK Funke umgebaut und hab jetzt endlich wieder n schalter statt eines Potis, ausserdem sind die Motoren umgebaut und alles super.
Jetzt bin ich gerade dabei das Pan und Tilt zu testen, wie erwartet klappt das Nutzen der PIDD Werte für die Motoren nicht, wenn ich allerdings wie vorher die wErte des Beschleunigungssensors nehem geht es sehr gut, muss ich noch mit kamera erfliegen ob das ruhig genug ist.
Bevor ich das alledings machen kann muss ich die Servos überhaupt mal ansteuern.
Und genau das klappt nicht.
Wenn ich jetzt die software starte piept der Lautsprecher auf Pin 2 ganz quakig.
Ich habe die Servos auf Pin 10 und 11 vorgesehen und steuere sie so an:
Der Rest läuft normal, Servos sind an 10 und 11 noch nicht angeschlossen, ist das ein Problem?Code:'===PORT SETTINGS=== Config Scl = Portd.5 'for ESCs Config Sda = Portd.4 'for ESCs Config Pind.6 = Output 'servo Portd.6 = 0 'servo Config Pind.7 = Output 'led 1 Config Pinb.0 = Output 'led 2 Config Pinb.1 = Output 'led 3 Config Pinb.5 = Output 'Arduino LED_grn Config Pind.2 = Output 'Nils-Speaker: Speaker out Config Pind.10 = Output 'Servo pan Portd.10 = 0 'set tilt= off Config Pind.11 = Output 'servo tilt Portd.11 = 0 . . . Servoirq: 'generate servo PWM pulse If Servo_nr_by = 0 Then If Portd.6 = 0 Then 'wenn port low Timer1 = Servopwm 'dann timer auf entsprechende verzögerung Portd.6 = 1 'und port anschalten Else 'das hier passiert erst bei dem darauf folgenden interrupt Portd.6 = 0 'dann port wieder ausschalten Incr Servo_nr_by 'und den nächsten kanal bearbeiten End If End If If Servo_nr_by = 1 Then If Portd.10 = 0 Then Timer1 = Servo_pan_pwm Portd.10 = 1 Else Portd.10 = 0 Incr Servo_nr_by End If End If If Servo_nr_by = 2 Then If Portd.11 = 0 Then Timer1 = Servo_tilt_pwm Portd.11 = 1 Else Portd.11 = 0 Incr Servo_nr_by End If End If If Servo_nr_by = 3 Then Timer1 = 40000 'eine pause von ca. 12ms bis zum nächsten interrupt. Bei guten Servos oder Brushlessreglern kann man hier bis auf 65530 gehen ==> ansteuerfrequenz von ~ 200Hz Servo_nr_by = 0 End If Return
Gruß
Nils
Lesezeichen