Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo mit ATmega8
Hallo,
ich möchte ein Servo mit einem ATmega8 ansteuern.
Der Code:
$regfile = "m8def.dat"
$crystal = 7372800
Config Portb = Output
Enable Interrupts
Config Servos = 1 , Servo1 = Pinb.0 , Reload = 10
Do
Servo(1) = 150
Loop
Das Servo gibt aber kein Lebenszeichen von sich.
Gruß, Björn
bei servo(1) = 150 steuerst du den servo genau in die neutralposition... schalt mal mit etwas wartezeit zwischen 100 , 150 und 200 hin und her...
Ok, diesen Code habe ich eben getestet:
$regfile = "m8def.dat"
$crystal = 7372800
Config Portb = Output
Enable Interrupts
Config Servos = 1 , Servo1 = Pinb.0 , Reload = 10
Do
Servo(1) = 150
WaitMs 2000
Servo(1) = 100
WaitMs 2000
Servo(1) = 150
WaitMs 2000
Servo(1) = 200
WaitMs 2000
Loop
Ergebnis das gleiche. Der Code müsste doch eigentlich gehen, sodass der Fehler nur Hardwareseitig liegen kann - oder?
Gruß, Björn
richtiger pin? stromversorgung ok? zuckt der servo einmal kurz wenn man den strom einschaltet?
Stromversorgung OK, Pin richtig, Servo gibt Geräusche von sich bei einschalten und bei beühren der Kontakte.
Gruß, Björn
Moin, moin!
Muss das Thema nochmal aufgreifen, da es immer noch nicht funktioniert.
$regfile = "m32def.dat"
$crystal = 8000000
Config Portc = Output
Enable Interrupts
Config Servos = 1 , Servo1 = Pinc.1 , Reload = 10
Do
Servo(1) = 150
WaitMs 2000
Servo(1) = 100
WaitMs 2000
Servo(1) = 150
WaitMs 2000
Servo(1) = 200
WaitMs 2000
Loop
Das ist der Code, Controller ist ein ATmega32 - beim Stromanschluss zuckt das Servo kurz.
Gruß, Björn
linux_80
15.09.2005, 21:00
Hallo,
kannst du den Servo verdrehen, wenn das Programm läuft,
bzw. geht das eher leicht oder mit widerstand ?
Das Programm würde ja nicht schlecht ausschaun, hab ein Testprogramm gefunden, das genauso initialisiert.
Ist bestimmt alles richtig verkabelt ?
Hast Du etwas womit Du den Takt an diesem Pin überprüfen kannst (weiss nicht ob ein Multimeter schon drauf reagiert) ?
Naja zum Takt prüfen müsste doch eine LED gehen, oder nicht?
Gruß, Björn
ShadowPhoenix
15.09.2005, 21:55
Led mit PWM? Ich weiß nicht so recht...
Wie es scheint, ist der Servo defekt, oder der Chip.
Versuch's mal mit einem anderen Servo (billig).
Dein Programm sieht sauber aus.
Ja ich habe schon ein billig Servo von Conrad probiert, das hat noch nicht mal beim Einschalten einen Mux von sich gegeben.
Gruß, Björn
linux_80
15.09.2005, 22:20
Hi,
also ich hab grad mal mit deinen Code probiert, der tut wirklich nix !
Dann hab ich mein kleines Testprogramm hergenommen und langsam verglichen, ist ja nicht viel,
und der einzige unterschied um es zum laufen zu bringen ist, diese Zeile:
Config Servos = 1 , Servo1 = Portc.1 , Reload = 10
statt: Servo1 = Pinc.1 !
und schon gehts :-)
Ok werde das ganz morgen mal testen - danke!
Stimmt ja, Pin -> Eingang; Port -> Ausgang :D
Gruß, Björn
Tja, diese kleine Veränderung hat das Problem gelöst :D
Vielen Dank, es geht jetzt. ;)
Kurze Frage noch: Was sind die beiden maximal Ausschlagswerte?
Gruß, Björn
linux_80
18.09.2005, 21:49
Kurze Frage noch: Was sind die beiden maximal Ausschlagswerte?
ich glaub, das kann man nicht so pauschal sagen,
da hilft wohl nur ausprobieren,
ich hab da gestern in 'nem anderen thread ein kleines TestPrg gebastelt, mit dem man über UART im Terminal die Werte per Hand eintippt, und schaut wo der Servo landet.
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=115522#115522
Danke, aber ich kann im Terminal von Bascom irgendwie keine Zahlen eingeben?
Gruß, Björn
Benutzt du ein anderes Terminal Programm oder wie?
Gruß, Björn
linux_80
20.09.2005, 19:44
Hola,
unter Windows HyperTerminal, nix besonderes.
Und wie kann man da bitte Zahlen eingeben?
Gruß, Björn
ShadowPhoenix
20.09.2005, 20:13
Im Untermenü "Übertragung", da steht was von Datei Senden zB
linux_80
20.09.2005, 20:31
Und wie kann man da bitte Zahlen eingeben?
Einfach Verbindung öffnen, und die Zahlen auf der Tatstatur tippen, ;-)
anschliessend Enter drücken, damit der AVR die eingabe übernimmt.
Wo liegt das problem ?
Eben das geht nicht - wenn ich auf der Tastatur tippe passiert nix.
(Der Fokus ist auf dem Textfeld :D )
Gruß, Björn
linux_80
20.09.2005, 21:38
verwendest Du mein Programm dafür,
dann muss doch zumindest nach dem Reset das Hallo kommen ?
kommt das ?
Evtl. hast Du nur das Echo deaktiviert, gesendet wird es aber trotzdem !
Ja, ich verwende dein Programm und das "Hallo" kommt auch.
Gruß, Björn
So, mit dem Echo das geht jetzt. Trotzdem reagiert das Servo nicht, weshalb ich mal davon ausgehe, dass es beim Senden Probleme gibt.
Gruß, Björn
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.