-
-
Neuer Benutzer
Öfters hier
Servoansteuerung mit Attiny 25
Hallo,
ich hab momentan ein gravierends Problem mit meiner Platine. Auf dieser wollte ich mit einem attiny 25/v 2 Servo's ansteuern. Die Programmierung funktioniert auf einem ATMEGA 32, das hab ich ausprobiert, allerdings wenn ich das gleiche Programm auf den attiny übertrage, kommt des Signal um ca. das 4fache gestreckt herraus. D.h. wo vorher ein super Signal von 20ms Länge beim ATMEGA herauskam, ist dieses beim Attiny 25 fast 80ms lang. Ich hab auch schon am Reloadwert probiert, aber tiefer als 1 komme ich nicht, und bei 1 ist das Signal immernoch viel zu lang.
Wo liegt jetzt das Problem, ich habe zwar den Verdacht das es vielleicht am internen Quarz liegen könnte, aber sicher bin ich mir nicht.
Wär nett wenn ich mir schnell helfen könntet, denn ich sitz an einem Projekt das in 2 Wochen fertig sein muss.
Greetz
Hier der Programmcode:
$regfile = "attiny25.dat"
$crystal = 8000000
Config Servos = 1 , Servo1 = PortB.0 , Reload = 1
Config Portb.0 = Output
Enable Interrupts
Do
Servo(1) = 200
Waitms 5000
Servo(1) = 0
Waitms 5000
Loop
End
-
Erfahrener Benutzer
Begeisterter Techniker
Stimmt die Zahl bei $crystal tatsächlich? Kommt mir bissel viel vor, hab aber das Datenblatt des ATiny25 grad auch nicht im Kopf...
-
Neuer Benutzer
Öfters hier
also in Bascom hab ich über die Fusebits den internen Oscilator auf 8Mhz eingestellt, das war das höhste was ging...Ich hab überlegt ob ich extern nen 16 Mhz Quarz ransetze, aber in den Fusbits konnte man keinen höheren externen Quarz einstelln als 8Mhz....
-
Neuer Benutzer
Öfters hier
Sollte man den lieber einen kleineren Wert nehmen bei §crystal....oder würdet ihr mir lieber raten einen anderen Controller zu nehmen, und wenn ja, welchen würdet ihr empfehlen...
-
Erfahrener Benutzer
Begeisterter Techniker
haste es schon mit anderen tinys probiert. z.b. attiny12/15. Mach crystal weniger
-
Neuer Benutzer
Öfters hier
hab jetzt den crystal-wert auf 1000000 gesetzt, bringt aber keine Veränderung...ich jetzt mal mit einem anderen Controller, hoffentlich klappt es da...
-
Erfahrener Benutzer
Roboter Genie
Ich kennen Deinen Tiny nicht, aber schau doch mal, ob es eine Fuse gibt, die den internen Oszillator teilt. Bei anderen Atmels gibt es das, und dann hat man bspw. anstatt 8MHz intern nur 1MHz.
-
Neuer Benutzer
Öfters hier
Heurika....das war es.. Der interne Frequenz Divider war auf On und somit hat er halt alles durch 8 geteilt...Als ich ihn ausgestellt hatte lief alles wie geschmiert....
Ich danke euch für die Hilfreichen Tipps...Das Projekt hat grad nen Sprung von 100 Jahren gemacht... =D>
Greetz
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen