Hallo WerWolf!Zitat:
Zitat von WerWolf2009
http://halvar.at/elektronik/servo_mit_bascom_avr/
mfg
Gerold
:-)
Druckbare Version
Hallo WerWolf!Zitat:
Zitat von WerWolf2009
http://halvar.at/elektronik/servo_mit_bascom_avr/
mfg
Gerold
:-)
Auf den ersten Blick..Zitat:
Zitat von WerWolf2009
1. Definierst du deine Variable 'warten' als Byte, versuchst aber ein floating, also..Kommazahl, zu speichern.
2. Verwendest du waitms, was meines Wissens eine ganze Zahl erwartet..und mit 1 oder 2 ms kommst du wieder nur an die Anschläge...ergo, waitus.
3. Kann ich mich erinnern dass einige im Forum ein Problem hatten wenn sie waitus mit einer Variable aufrufen, ging bei mir aber wenn ich mich recht entsinne..nur am Rande..
Cheers, BastelWastel
Geht nicht... er zuckt nur vor sich hin...Code:$regfile = "2313def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 10
$framesize = 40
Config Portb = Output
Dim Wartenl As Byte
Dim Wartenr As Byte
If Pind.2 = 1 Then
Do
Portb = &B10000000
Waitus 15
Portb = &B00000000
Waitus 5
Loop Until Pinb.2 = 0
End If
Links rum geht mit z.b. waitus (1)
rechts herum nicht -.- z.b. bei waitus (0.4) zuckt er nur...
ideen ? -.-
x.X
uS = Mikrosekunden
Gültige Impulswerte für nen Servo wären also zwischen 1000uS und 2000uS
Pausen mit waitMS 20..
Wobei der wait Befehl wirklich der schlechteste Weg ist.. Dadurch kannst du den uC für nichts anderes mehr nutzen..
moin moin ^^
ich habe jetzt alles fein säuberlich verkabelt und angeschlossen.
Komischer weise funkioniert nun auch das PRogramm von Philipp Kolb (.> http://www.philipp-kolb.net/philipp_...o_control.html)
Der Scannerkopf arbeitet jetzt also.
Ich kann ihn über den Computer aus nach Links / Rechts und nach Oben/Unten drehen.
JIHHA !!
Leider ist das Programm von Philipp K. nicht optimal für mich.
Ich habe nämlich noch den Shutter und das Farbrad zu betreiben.
Das Progg von Philipp K. hat leider nur eine Relais Funktion.
Könnte mir jemand erklären,
wie er warscheinlich das PWM mit dem Programm erzeugt ?
Bzw.: könnte für mich jemand einmal mit einem Otzy die Signale auswerten ?
Ich habe das gefühl, das ich einfach das Prinzip eines PWMs nicht verstanden habe.
Könntet ihr es mir bitte nocheinmal erklären ? Der Eintrag in der Wissensdatenbank ist für mich unverständlich.
Was ich bereits gemerkt habe: wenn ich eine LED ans LPT Kabel halte, blinkt sie unterschiedlich schnell ^^
Danke für eure mithilfe :)
Na, das ist doch schon mal was. Dein link endet bei mir in nem 404 errorZitat:
Zitat von WerWolf2009
Kannst du es nicht erweitern?Zitat:
Leider ist das Programm von Philipp K. nicht optimal für mich.
Ich habe nämlich noch den Shutter und das Farbrad zu betreiben.
Ohne Quellcode nicht ;)Zitat:
Könnte mir jemand erklären,
wie er warscheinlich das PWM mit dem Programm erzeugt ?
Aber es wurden dir schon genug moeglichkeiten genannt wie du den Puls erzeugen kannst.
Deine 'wait' Funktion wuerde ich allerdings nicht verwenden.
Bild hierZitat:
Bzw.: könnte für mich jemand einmal mit einem Otzy die Signale auswerten ?
Ich habe das gefühl, das ich einfach das Prinzip eines PWMs nicht verstanden habe.
Könntet ihr es mir bitte nocheinmal erklären ? Der Eintrag in der Wissensdatenbank ist für mich unverständlich.
Bild hier
Die Servostellung ist vorgegeben von der laenge des Pulses..dieser ist zwischen 1 und 2 mS lang (bzw 1000 und 2000 uS) und ist gefolgt von einer 20ms langen Pause.
Ein Puls von 1000 uS waere also eine Endlage, 2000uS Endlage andere Seite und bei 1500 uS sollte der Servo in Mittelstellung gehen.
Die Dauer der Pause ist eher unkritisch.
Das ist...toll ._.Zitat:
Was ich bereits gemerkt habe: wenn ich eine LED ans LPT Kabel halte, blinkt sie unterschiedlich schnell ^^
;)
okay, danke für deine Antwort :)
Warscheinlich liegt es an dem zu langsamen Timer :(
Ich bräuchte dann wohl einen "High resolution Timer".
Leider komme ich mit diesem => http://www.gssg.de/net_stpwatch.htm
Code nicht weiter :(
Ich weiß nicht, wie ich den umbauen soll, damit ich einen Timer daraus machen kann.
Die Frage also: wie erstelle ich am Besten einen Timer, der µS Sekunden Auflösung hat ?
WIe der im Link: Nanosekunden müssen es nun nicht sein ;)
Hier übrigens ein neues Video*: http://www.myvideo.de/watch/5186901
*wird z.Zt. von MyVideo konventiert.
moin,
ich nocheinmal.
Also, das PWM erzeuge ich jetzt über eine Do-Loop until schleife.
Merkwürdig finde ich jedoch:
Das PWM nach links dreht den servo schneller, als nach rechts.
Jemand eine idee warum ?
Hier der PWM Quellcode für links:
nach rechts:Code:Aus = 0
Ausz = 1
Do
L1 = 1
Out(&H378, L1 + L2 + L3 + L4 + L5 + L6 + L7)
Wait(0.5)
L1 = 0
Out(&H378, L1 + L2 + L3 + L4 + L5 + L6 + L7)
Wait(0.9)
Loop Until Aus = 1
Code:Aus = 1
Auslz = 0
Do
L1 = 1
Out(&H378, L1 + L2 + L3 + L4 + L5 + L6 + L7)
Wait(0.6)
L1 = 0
Out(&H378, L1 + L2 + L3 + L4 + L5 + L6 + L7)
Wait(0.51)
Loop Until Ausrz = 1