Guten Abend allerseits,
ich habe letztens von einem Kommilitonen eine alte Schrittmotorsteuerung
(D-Step 2) bekommen. Die Steuerkarte ist Ansicht eigentlich super, denn
sie unterstützt Voll,Halb,1/4 und 1/8 Schritt. Die Steuerkarte arbeitet
bis zu 35V, also SPS Signale wären auch kein Problem. Die Karte besitzt
auch zwei Betriebsmoden: 1.) interne Taktgenerierung für das Clocksignal
2.) externe Taktgenerierung mit individueller aber maximal bis 25kHz
Frequenz.
Die Karte habe ich mit einem Motor zum laufen gebracht, sowohl in
Betriebsmodus 1 und 2. Für die externe Taktgenerierung habe ich einen
Atmega8 benutzt und testweise einen Pin einfach schnell "getoggelt"
habe.
Das Taktsignal ist ein symmetrisches Rechtecksignal mit einem Duty Cycle
von 1/2, also 1000µS High und 1000µS Low bzw. jeweils 1ms. Bei dieser
Frequenz hat der Schrittmotor eine, für mich angenehme ;-), Drehzahl.
NUN wollte ich den Motor mal über den LPT ansteuern und habe in VB.NET
ein kleines Programm geschrieben was auch läuft. Um dort die gleiche
Frequenz zu erzeugen benutze ich folgendes:
1 | For i = 1 to Schritte
|
2 |
|
3 | Out(Portadresse,Bitmuster + Clocksignal Bit) 'damit zwischen einem Pin hin und her getoggelt werden kann
|
4 | Sleep(1) '1ms !
|
5 | Out(Portadresse,Bitmuster)
|
6 | Sleep(1) '1ms !
|
7 |
|
8 | Next
|
Mir geht es eigentlich nur um diese 1ms. Mein Problem: Die Frequenz ist
zu langsam d.h. die Drehzahl vom Motor passt mir nicht. Gibt es
überhaupt eine Möglichkeit mit dem LPT auf diese 500Hz Frequenz zu
kommen ? Muss ich das Proramm in C schreiben, damit es schneller läuft
oder was würde hier Abhilfe schaffen ?
Bin für jeden Tipp sehr dankbar !
MfGruß,
MC_AVR