RoboterNetz.de Foren-Übersicht CadSoft
 Home  •  Forum  •  Suchen •  Mitgliederliste  •  RN-Landkarte  •  Ränge  •  Statistik  •  Download •  Album  •  Links  •  Kalender  •  Letzte Themen
 RN-Wissen Artikelbereich  •  Mitarbeiter  •  Benutzergruppen  •  Chat  •  Registrieren  •  FAQ  •  Profil  •  log in, Nachrichten zu lesen  •  Login
Kalender 
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Neues Thema eröffnenNeue Antwort erstellen
Vorheriges Thema anzeigen Dieses Thema einem Freund schickenZeige Benutzer, die dieses Thema gesehen habenDieses Thema als Textdatei speichernPrintable versionlog in, Nachrichten zu lesen Nächstes Thema anzeigen
Autor Nachricht
Inkoknito

Stammmitglied
Stammmitglied




Anmeldungsdatum: 02.10.2007
Beiträge: 78
Wohnort: Saalfeld
Alter: 21

germany.gif
Beitrag Verfasst am: 02.01.2008, 17:23 Antworten mit ZitatNach oben

hallo,

ich hab hier ein Servo von Acoms den AS -12, herausgefunden hab ich schon das die mittelstellung bei 20 ist und links bei 10 und rechtsbei 30, kann das schonmal sein das die werte so dicht bei einander liegen?

so aber nun das eiegentliche Problem:

der servo läuft einfach nicht flüssig er zuckelt und ruckelt einfach nur ich hatte mal folgendes Progamm geschrieben


$regfile = "m32def.dat"
$crystal = 1000000

Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 5

Enable Interrupts
Dim I As Byte


Do
For I = 10 To 30 Step 1
Servo(1) = I
Waitms 10
next
Loop


ichh hab auch schon so ziemlich viel hier forum gelesen und probiert aber ich griegs einfach nicht gebacken.

und wenn ich die takt frequenz von 1 Mhz auf was anderes andere stimmen die Stell wert gleich nicht mehr.

bislle hilfe wäre echt nett ich binhier schon voll am verzweifeln

danke^^
Offline Benutzer-Profile anzeigen Website dieses Benutzers besuchen ICQ-Nummer
Michael

Roboter Genie
Roboter Genie




Anmeldungsdatum: 17.01.2004
Beiträge: 959
Wohnort: Karlstadt
Alter: 40

germany.gif
Beitrag Verfasst am: 02.01.2008, 17:35 Antworten mit ZitatNach oben

Hallo Inkoknito,

Die Bascom-Servo Routine wird bei dir alle 5 Mikrosekunden aufgerufen (Reload Wert)
Bei einer Taktfrequenz von 1 MHz sind das 5 Takte !!

Für die Benutzung des Servo-Befehls solltest du mindestens 8Mhz Taktfrequenz und einen Mindest-Reload-Wert von 10 haben.

Der Reload Wert multipliziert mit dem Wert von Servo() ergibt die Impulslänge in Mikrosekunden. Sie sollte zwischen 1000 und 2000 liegen.

Ist die Taktfrequenz und/oder der Reload Wert zu niedrig, gibt es Überläufe, die man schwer vorausberechnen kann -> Servo ruckelt.

Gruß, Michael

_________________
TEAM-IWAN
Offline Benutzer-Profile anzeigen Website dieses Benutzers besuchen
Inkoknito

Stammmitglied
Stammmitglied




Anmeldungsdatum: 02.10.2007
Beiträge: 78
Wohnort: Saalfeld
Alter: 21

germany.gif
Beitrag Verfasst am: 02.01.2008, 17:48 Antworten mit ZitatNach oben

hy danke Michael für deine schnelle antwort
ich hab das mal geändert in folgendes Programm

$regfile = "m32def.dat"
$crystal = 8000000

Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10

Enable Interrupts
Dim I As Byte


Servo(1) = 10


so jetzte hab ich Servo(1) = 10 der servo steht aber nicht stell er zuckt zwar nicht am endwert aber in der mitte etwa 3 millimeter hin und her
wenn ich bsp 100 eingebe dann zuckt der servo links oder rechts an der mittelstellung.
das gibs doch garnicht das muss doch irgendwie funzen
mfg
Offline Benutzer-Profile anzeigen Website dieses Benutzers besuchen ICQ-Nummer
stefan_Z

Roboter Experte
Roboter Experte




Anmeldungsdatum: 26.05.2007
Beiträge: 536

Beitrag Verfasst am: 02.01.2008, 17:50 Antworten mit ZitatNach oben

Du hast die neue Frequenz auch über die Fusebits eingestellt?
Offline Benutzer-Profile anzeigen
Inkoknito

Stammmitglied
Stammmitglied




Anmeldungsdatum: 02.10.2007
Beiträge: 78
Wohnort: Saalfeld
Alter: 21

germany.gif
Beitrag Verfasst am: 02.01.2008, 17:53 Antworten mit ZitatNach oben

wie über die fusebits? ich nehm den internen oszilator muss ich da noch was in den fusebits umstellen ich dacht das muss man nur wenn ich einen externen nehme?

mfg
Offline Benutzer-Profile anzeigen Website dieses Benutzers besuchen ICQ-Nummer
Xtreme






Anmeldungsdatum: 20.01.2004
Beiträge: 698

Alter: 21

germany.gif
Beitrag Verfasst am: 02.01.2008, 18:46 Antworten mit ZitatNach oben

Nö, der interne Oszillator ist auf 1Mhz eingestellt. Willst du ihn ändern hilft es nichts, den $crystal Wert im Quelltext zu verändern. Das muss über die Fusebits geschehen (CKSEL)
Im übrigen bin ich mir nicht sicher, ob der interne Osizillator genau genug für Servoansteuerung ist.

_________________
MfG Xtreme
Arrow RP6 Test - alles zum Nachfolger des bekannten RP5 im neuen RP6 Forum!
Offline Benutzer-Profile anzeigen
Inkoknito

Stammmitglied
Stammmitglied




Anmeldungsdatum: 02.10.2007
Beiträge: 78
Wohnort: Saalfeld
Alter: 21

germany.gif
Beitrag Verfasst am: 02.01.2008, 22:31 Antworten mit ZitatNach oben

danke nochmal für eure antworten

hab ich gemacht die fusebits auf 8 mhz gestellt auf intern RC osz 8mhz start up time 6CK + 0ms und geh dann auf write FS
jedoch wird das irgend wie nicht gespeichert. komisch?

aber kann das wirklich daran liegen das der mega nur auf 1mhz das der servo ruckel beim fahren?

mfg
Offline Benutzer-Profile anzeigen Website dieses Benutzers besuchen ICQ-Nummer
stefan_Z

Roboter Experte
Roboter Experte




Anmeldungsdatum: 26.05.2007
Beiträge: 536

Beitrag Verfasst am: 02.01.2008, 23:32 Antworten mit ZitatNach oben

http://palmavr.sourceforge.net/cgi-bin/fc.cgi
Die Seite ist EXTREM prakisch... schau mal da!
probieren kostet nix...
Offline Benutzer-Profile anzeigen
Inkoknito

Stammmitglied
Stammmitglied




Anmeldungsdatum: 02.10.2007
Beiträge: 78
Wohnort: Saalfeld
Alter: 21

germany.gif
Beitrag Verfasst am: 02.01.2008, 23:40 Antworten mit ZitatNach oben

und wie was kann man da machen^^ also was ich da mach ist schon klar aber wofür : )
meine fusebits werden in bascom nicht gespeichert werder der interner 8mhz osz. oder alles andere was ich veränder
das wäre aber die einzige idee warum die servos nicht richtig funzen sonst hab ich alles schon ausprobier : / langsam zweifel ich an mir.

mfg
Offline Benutzer-Profile anzeigen Website dieses Benutzers besuchen ICQ-Nummer
stefan_Z

Roboter Experte
Roboter Experte




Anmeldungsdatum: 26.05.2007
Beiträge: 536

Beitrag Verfasst am: 03.01.2008, 00:23 Antworten mit ZitatNach oben

Machs mit PonyProg, dann gehts.
Offline Benutzer-Profile anzeigen
Xtreme






Anmeldungsdatum: 20.01.2004
Beiträge: 698

Alter: 21

germany.gif
Beitrag Verfasst am: 03.01.2008, 12:19 Antworten mit ZitatNach oben

Inkoknito hat folgendes geschrieben::

aber kann das wirklich daran liegen das der mega nur auf 1mhz das der servo ruckel beim fahren?


Jop...

Zitat:

Für die Benutzung des Servo-Befehls solltest du mindestens 8Mhz Taktfrequenz und einen Mindest-Reload-Wert von 10 haben


Zitat:
meine fusebits werden in bascom nicht gespeichert werder der interner 8mhz osz. oder alles andere was ich veränder


Kann er den Chip denn überhaubt noch auslesen?? Vieleicht hast du schon zu viel verändert Zwinkern
Welche Bascom- Version?

_________________
MfG Xtreme
Arrow RP6 Test - alles zum Nachfolger des bekannten RP5 im neuen RP6 Forum!
Offline Benutzer-Profile anzeigen
Beiträge vom vorherigen Thema anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen
Vorheriges Thema anzeigen Dieses Thema einem Freund schickenZeige Benutzer, die dieses Thema gesehen habenDieses Thema als Textdatei speichernPrintable versionlog in, Nachrichten zu lesen Nächstes Thema anzeigen



 Gehe zu:   



Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen




Die große Community für Robotik-, Mikrocontroller- und Elektronik Bastler als auch Experten
 Roboternetz RSS2.0 News Feed
Alle Zeiten sind GMT + 1 Stunde