Gast
#1937233
Hallo Ich habe ein Problem mit der Servo-Ansteuerung mit der BAscom-Routine und gleichzeitger ADC auswertung. Ich habe 2 Servos an den Atmega8 (Pollin Board) angeschlossen. Atmega läuft per exteren 8 Mhz Quarz. Ich kann die Servos mit der BAscom Routine problemlos ansteuern. Probleme gibt es nur wenn ich gleichzeitig versuche 2 ADC Werte einzulesen. Getadc(0) Getadc(1) Der erste Wert , steuert praktisch das Servo.( Getadc(0) ) Die Werte werden umgerechnet damit der Winkel der Potis welche am ADC Eingang hängen entsprechen. Im Prinzip nichts anderes als Messe die Spannung und erzeuge einen Wert für das Servo. Das ganze funktioniert solange super bis ich an den 2ten Eingan auch ein Poti hänge.Ich also einen 2 Wert per GetADC(1) einlese. Dan fängt das Servo je nach Stellung des 2ten Potis an zu zucken bzw läst sich nicht mehr steuern über den ersten Poti GetADC(0) Ich hoffe man kann das was ich schreibe nachvolziehen ? Vieleicht kennt das Problem jemand oder hat einen Rat/Tip für mich Schönen Abend noch ...... Hier der Code: $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 100 $swstack = 100 $framesize = 100 Config Adc = Free , Prescaler = Auto , Reference = Avcc Dim Messergebnis As Word Dim Messergebnis2 As Word Config Servos = 2 , Servo1 = Portd.1 , Servo2 = Portd.2 , Reload = 10 Dim Volt As Single Dim Volt2 As Single Dim Volt12 As Single Dim Volt22 As Single Dim Teiler As Single Config Portd = Output Teiler = 10 Enable Interrupts Do Messergebnis = Getadc(0) Volt = Messergebnis / Teiler Volt = Volt + 50 Volt2 = Round(volt) Messergebnis2 = Getadc(1) Volt12 = Messergebnis2 / Teiler Volt12 = Volt12 + 50 Volt22 = Round(volt12) Servo(1) = Volt2 Servo(2) = Volt22 Loop