greenkohl
24.10.2008, 08:12
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
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