PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bascom attiny2313 servo



arno.jucker
18.12.2010, 09:46
Hallo zusammen,

ich habe mal wieder ein kleines Problem.
Ich möchte eigentlich nur einen Servo mit einem Attiny 2313 ansteuern.
Ich habe folgenden Code:



$regfile = "attiny2313.dat"
$crystal = 1000000
Config Servos = 1 , Servo1 = Portd.3 , Reload = 10

Config Portd.3 = Output

Enable Interrupts

Dim C As Integer

For C = 10 To 34 Step 1
Servo(1) = C
Waitms 30
Next

End



Prinzipiell funktioniert auch alles, aber eigentlich sollte die Servo Funktion von Bascom bei 50 den linken, bei 150 den rechten Ausschlag haben und bei 100 die Mitte.
Bei mir sind 10 der linke und 34 der rechte Ausschlag,
was mach ich falsch?

Vielen vielen dank schon mal

grüße
arno

Richard
18.12.2010, 15:05
Hallo zusammen,

ich habe mal wieder ein kleines Problem.
Ich möchte eigentlich nur einen Servo mit einem Attiny 2313 ansteuern.
Ich habe folgenden Code:



$regfile = "attiny2313.dat"
$crystal = 1000000
Config Servos = 1 , Servo1 = Portd.3 , Reload = 10

Config Portd.3 = Output

Enable Interrupts

Dim C As Integer

For C = 10 To 34 Step 1
Servo(1) = C
Waitms 30
Next

End



Prinzipiell funktioniert auch alles, aber eigentlich sollte die Servo Funktion von Bascom bei 50 den linken, bei 150 den rechten Ausschlag haben und bei 100 die Mitte.
Bei mir sind 10 der linke und 34 der rechte Ausschlag,
was mach ich falsch?

Vielen vielen dank schon mal

grüße
arno

Möglich das deine Quarz Frequenz da irgendwie "reinhackt", die ppw Zeiten für das Servo also nicht (zum Servo) passen.

Ich konnte mit dem Bascom Democode ein Servo auch ohne Probleme an die Anschläge fahren musste den Fahrbereich also per Software begrenzen. Der Bereich selber war aber bei mir größer.

Gruß Richard

arno.jucker
18.12.2010, 15:10
Hi,

danke für die Antwort.

Ich hab an der Frequenz auch schon gebastelt, aber kein Erfolg.
Gibt es noch Hoffnung, oder soll ich gleich selber einen Code schreiben?

Grüße

Richard
18.12.2010, 16:04
Hi,

danke für die Antwort.

Ich hab an der Frequenz auch schon gebastelt, aber kein Erfolg.
Gibt es noch Hoffnung, oder soll ich gleich selber einen Code schreiben?

Grüße

Ich habe auch nur mal so zum Probieren ein Billig Servo bei Conrad mitgenommen, da soll einmal ein US Sensor drauf. Wie Bascom intern ein Servo genau ansteuert?

Wenn Du fitt genug bist baue den Code in inline ASM selber und mach b.w. ändere ne Lib. Dürfte nicht wirklich schwierig sein. Oder einmal so ein kleines Servo.bas compilieren und den Hex code im Assembler (Studio4) anschauen wie die ppw machen, die Pulsweite sollte doch anpassbar sein. Mit einem Ozzi sollte man auch einmal schauen in welchem Bereich sich die Pulsweite überhaupt "bewegt"....

Gruß Richard

Richard
18.12.2010, 16:07
Hi,

danke für die Antwort.

Ich hab an der Frequenz auch schon gebastelt, aber kein Erfolg.
Gibt es noch Hoffnung, oder soll ich gleich selber einen Code schreiben?

Grüße

Ich habe auch nur mal so zum Probieren ein Billig Servo bei Conrad mitgenommen, da soll einmal ein US Sensor drauf. Wie Bascom intern ein Servo genau ansteuert?

Wenn Du fitt genug bist baue den Code in inline ASM selber und mach b.w. ändere ne Lib. Dürfte nicht wirklich schwierig sein. Oder einmal so ein kleines Servo.bas compilieren und den Hex code im Assembler (Studio4) anschauen wie die ppw machen, die Pulsweite sollte doch anpassbar sein. Mit einem Ozzi sollte man auch einmal schauen in welchem Bereich sich die Pulsweite überhaupt "bewegt"....


Gruß Richard

Richard
18.12.2010, 16:17
Hi,

danke für die Antwort.

Ich hab an der Frequenz auch schon gebastelt, aber kein Erfolg.
Gibt es noch Hoffnung, oder soll ich gleich selber einen Code schreiben?

Grüße

Ich habe auch nur mal so zum Probieren ein Billig Servo bei Conrad mitgenommen, da soll einmal ein US Sensor drauf. Wie Bascom intern ein Servo genau ansteuert?

Wenn Du fitt genug bist baue den Code in inline ASM selber und mach b.w. ändere ne Lib. Dürfte nicht wirklich schwierig sein. Oder einmal so ein kleines Servo.bas compilieren und den Hex code im Assembler (Studio4) anschauen wie die ppw machen, die Pulsweite sollte doch anpassbar sein. Mit einem Ozzi sollte man auch einmal schauen in welchem Bereich sich die Pulsweite überhaupt "bewegt"....

EDIT: Hmm an der Ser out Rautine kann es eigentlich nicht liegen, in Mittelstellung reagiert das Servo ja richtig auf links/rechts eventuell einmal bei der For...x=y to etwas mit step spielen und auch bei config mit den Reload Wert?


Gruß Richard