Ein ganz liebes "HALLO" an euch beide.
@ oberallgeier:
Korrekt. Die Spannungsversorgung erfolgt über ein 12V Netzteil mit 500mA Ausgangsstrom. Eigentlich ausreichend. Dennoch habe ich die 19g-Servos nun gegen 12g-Servos getauscht und der Stromhunger ist genau in dem Rahmen, in dem ich ihn haben will.
Die GND-Leitungen von EVA-Board und Servos würde ich eh miteinander verbinden. Die Rechtecksignale kann der Controller schließlich nur im geschlossenen Stromkreis erkennen ^^.
Danke dir trotzdem recht herzlich für den Tipp.
@ Jörg:
Habe das Programm nun zumindest einmal soweit, dass beide Servos problemlos dahin fahren, wohin ich sie haben möchte. Ganz unkonventionell und ohne großen Schnickschnack drum herum. Ging doch mit dem Servo-Konfigurationsbefehl, aber ohne Main-Sub. *freu*
Hier das File:
Ich kann damit sogar beide Taster gleichzeitig drücken und der Controller gibt sofort das entsprechende PWM-Signal an den Ports aus.Code:$regfile = "m8def.dat" $crystal = 3686411 Config Portb = Output Config Portc = Input Portb = &H03 Taster1 Alias Pinc.0 Taster2 Alias Pinc.1 '*** Konfiguriere Servos *** Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10 Enable Interrupts '*** Setze Servos für Startup auf Mittelstellung *** Dim Pos1 As Byte Pos1 = 124 ' 124 = Mittelstellung, 48 = rechter Anschlag, 210 = linker Anschlag, Servo 1 Servo(1) = Pos1 Dim Pos2 As Byte Pos2 = 130 ' 130 = Mittelstellung, 48 = rechter Anschlag, 215 = linker Anschlag, Servo 2 Servo(2) = Pos2 '*** Konfiguriere Variablen *** Dim M1 As Byte Dim M2 As Byte M1 = 0 M2 = 0 ' ***************************** ' ***** Hauptprogramm ***** ' ***************************** Do Debounce Taster1 , 0 , Sub_taster1 , Sub Debounce Taster2 , 0 , Sub_taster2 , Sub Loop ' ********************** ' * Unterprogramme * ' ********************** 'Wenn Taster 1 gedrückt, zählt Merker1 um Wert 1 hoch. Mit jedem neuen Wert von M1 erfolgt eine neue Positionsausgabe per PWM an Servo1. Sub_taster1: If Taster1 = 0 Then M1 = M1 + 1 Waitms 20 End If If M1 = 1 Then Pos1 = 48 Elseif M1 = 2 Then Pos1 = 210 End If If M1 = 2 Then 'Wenn M1 den Wert 2 erreicht, wird M1 auf Null zurück gesetzt M1 = 0 End If Servo(1) = Pos1 Return 'Wenn Taster 2 gedrückt wird, zählt Merker2 um Wert 1 hoch. Mit jedem neuen Wert von M1 erfolgt neue Positionsausgabe an Servo2. Sub_taster2: If Taster2 = 0 Then M2 = M2 + 1 Waitms 20 End If If M2 = 1 Then Pos2 = 48 Elseif M2 = 2 Then Pos2 = 215 End If If M2 = 2 Then ' Wenn M2 den Wert 2 erreicht, wird M2 auf Null zurück gesetzt M2 = 0 End If Servo(2) = Pos2 Return End
Morgen Abend werde ich dann mal versuchen, ob ich die Eingabe durch den Servotester (PulseIn) implementiert bekomme. Irgendwie muss das doch funktionieren - vielleicht diesmal ^^.
Auf deine Frage bezogen:
Nein, auch wenn es noch 2 Monate dauert - das muss ich hinbekommen. Und wenn nicht, dann muss ich umso mehr dafür büffeln. N bissl Platz ist in meinem Hirn dafür noch frei ^^.
Die Klappen, die im Boot verbaut sind, sollen definitiv getrennt zu öffnen sein. Finde das einfach schicker. Man soll ja auch sehen, dass ich mir echt Gedanken für die Steuerung gemacht habe - und meine Frau freut sich sicher auch über ausgereiftere Konzepte als halbherzige Notlösungen (z.B. weil ich nicht weiter gekommen bin).
Die Beleuchtung soll NICHT nur per Tastkanal zu schalten, sondern dauerhaft eingeschaltet sein wenn der entsprechende Schalter an der Fernsteuerung umgelegt wird. Und da habe ich dann einen 3-Stufen-Schalter, welcher dafür genutzt werden soll: Stufe unten - Licht aus, Stufe Mitte - Licht ein, Stufe oben - Licht und Zusatzscheinwerfer.
MFG - Maik







Zitieren

Lesezeichen