Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo steuern, kleines Problem
Abend,
ich hab folgendes Problem, ich möchte das bei betätigung eines Tasters (Schließer) ein Servo in position 50 fährt. Normal geht das auch, aber irgentwie fährt er schon auf 50 OHNE da ich den Taster betätigt habe.
...
porta.7 = Input
Do
If porta.7 = 1 Then
Servo(1) 50
End if
Loop
Der Taster wurde zwischen porta7 und GND angeschlossen, was mach ich falsch? Versteh es echt nicht!
mfg
Lenox
linux_80
18.11.2006, 00:00
Hi,
welches Signal (Spannung) liegt an, wenn der Taster nicht gedrückt ist ?
Das lässt sich mit einem Pullup lösen, dazu einfach nach dem umstellen auf Eingang Porta.7 = 1 machen.
Dann, man liest einen Eingang mit Pina.7 aus, nicht mit Port ! [-X
Wenn der Taster auf Gnd geht, musst Du auf 0 abfragen.
hey danke funktioniert jetzt !!
hab noch ein kleines problem.. wenn die daten in den uC geschrieben wurden sind bewegen sich die Servos kurz, wie kann ich dies unterbinden?
mfg
lenox
linux_80
18.11.2006, 13:52
Die einfachst Möglichkeit, einfach abstecken ;-)
Die Servos reagieren auf Impulse, beim flashen gibts eigentlich nur noch Impulse, auch wenn die nicht dieselbe Leitung verwenden wie zum programmieren, sie werden sich immer etwas bewegen.
Evtl. kannst Du in dein Programm eine kurze Wartezeit direkt nach dem Reset einbauen, so dass der AVR nicht gleich nach dem Start irgendwelche Ausgänge setzt, denn das Programmieren geht (auch) über die Resetleitung, und da kommt es schon vor, das das Programm anfängt zu arbeiten, obwohl das Flashprogramm noch Daten übertragen will, aber die Servos haben schon ein kurzes Signal bekommen, also bewegen sie sich.
Probier mal am Anfang zB. ein Wait 1 noch bevor irgendwas anderes gemacht wird, also vor den Config ... output usw.
Ist jetzt nur eine Idee, wenns nicht geht, hilft erstmal nur abstecken.
hatte ic hauc hschon dran gedacht, ich probier gleich mal!
So habs, allerdings gehen die Servos am Anfang immer auf vollen Ausschlag nach Links.. bei mir der Boden, was mch ich falsch?
$regfile = "m16def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
Wait 1
Config Servos = 2 , Servo1 = Portb.3 , Servo2 = Portb.4 , Reload = 7
Config Portb = Output
Config Porta.7 = Input
Porta.7 = 1
Enable Interrupts
Wait 2
Do
If Pina.7 = 0 Then
Servo(1) = 160
Waitms 500
Servo(2) = 230
Waitms 500
Servo(1) = 110
Servo(2) = 190
End If
Loop
Mfg
Lenox
Hi,
du kannst ja am Anfang deines Programms die Servos in eine "Startposition" stellen. Also z.B.:
Servo(1) = 150
Servo(2) = 150
Gleich nach dem du die Servos konfiguriert hast. Dies unterbindet außerdem auch das wackeln der Servos nach einem Reset. Sind die Servos in der Startposition, bleiben sie ganz ruhig, sind sie in einer anderen Position werden sie in die Startposition bewegt.
MfG
Hi coCo,
danke für den guten Tipp, funktioniert.
Leider zittern die Servos noch was, naja sind halt nur analoge.
So langsam muss ich mal mim Greifer anfangen ;)
Wie weit bist du inzwischen?
Mfg
Lenox
Nicht viel weiter als vor einer Woche :D
Ich hab mir jetzt mal so einen billig Servo aus Hong-Kong bestellt. Der wird so in 2-3 Wochen geliefert. Wenn er was taugt, dann werd ich mir weitere 4 bestellen, die wieder 2-3 Wochen brauchen werden. Also vor Weihnachten werd ich denke ich mal net fertig mit dem Aufbau.
MfG
PS: Hab das ganze Geld für die Servos zusammen, meine Oma sponsort mich :D
Owei da haste ja zeit ;D
Wundersicherweise schaffen meine 6g Servos es ohne Probleme den Arm zu bewegen, aber wiegesagt der Arm ist winzig :D. Ich mach gleich mal n Foto.
Mfg
PS: So eine Oma brauch ich auch :D bin mal Foto machen
Was nemmt ihr denn so für Servos bei solchen dingen gute HiTec oder billige dinger.
mfg
Hi,
ich versuchs erstmal mit billigen Hong-Kong Importen: Ebay (http://cgi.ebay.de/Brand-New-High-Torque-MG995-Metal-Gear-Servo_W0QQitemZ200049037380QQihZ010QQcategoryZ1984 3QQssPageNameZWDVWQQrdZ1QQcmdZViewItem)
Wenn die was taugen, werde ich die verwenden, wenn nicht dann muss ich mal zum Modellbauladen gehn und was gutes günstiges suchen :D
Die originalen Hitec Servos, die von Lynxmotion verwendet werden, wären natürlich auch ne Alternative.
Freu mich auf die Bilder :)
MfG
Hi,
Also meine Servos haben mal 20 Euro gekostet gibts es aber mittlerweile bei ebay für 8 Euro, son kleiner blauer von Jamara.
hier die Bilder leider was unscharf (war wohl zu nah dran, naja erkennen kann man ihn) Das Weiße auf den Servos ist noch Sekundenkleber (die Servos waren uhrsprünglich in nem Shockflyer drin)
http://dastefan.da.funpic.de/AVR/1.JPG
http://dastefan.da.funpic.de/AVR/2.JPG
und die funktionieren jetzt mit dem prog das hier drin steht.
mfg
jo ;)
Das Programm lässt sich bestimmt noch verfeinern, muss halt noch was Bascom lernen, aber es geht!
Sieht gut aus!
Wie hast du denn den Servo (Unterarm) an den Unterarm festgemacht? Also auf der Seite wo kein Servohorn dran ist. Und wie hast du den Unterarm und den Oberarm miteinander verbunden? Auf der einen Seite mit dem Servohorn, aber auf der anderen?
MfG
Ich versuch es mal zu beschreiben.
Der Unterarm ist beitseitig auf den Servo geklebt (an einer Seite ist noch ein Loch für das Servohorn). Der oberarm wurde auf der einen Seite direkt auf das Servohorn geblebt, und auch der anderen mit einer Drehscheibe (lego) auf den unterarm geklebt, ich versuch mal ein Bild zu machen.
http://dastefan.da.funpic.de/AVR/3.JPG
Hallo
Lol, die Drehscheibe von Lego ist eine gute Idee.
Aus was für einem Material ist der Arm?
mfg luca
Aus Epoxy Platine :D ist nur 1,7 mm und sehr stabil!
Brauchst aber net gute Säge! Am besten ne Bandsäge.
Mfg
Lenox
PS: lego rulz :P
Super! Jetzt weiß ich wie ich das befestigen werde :) Danke :D
Ich hab da immer viel zu kompliziert gedacht, dass es so eine einfache Lösung gibt ist echt toll :)
MfG
Hab auch lang drüber nachgedacht, aber die idee hatte mein 11 jähriger bruder :P
Mfg
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.