Toon posts:

Parallele port aansturen

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik probeer een servomotor aan te sturen via de parallele poort maar dit wil niet echt lukken. het moet via windows en ik kan met delphi/vb niet in 0.5 ms nauwkeurig signalen sturen en kan deze ook niet een bepaalde tijd laten duren.

weet iemand hier een oplossing voor?!?!

  • AFR
  • Registratie: Juni 2001
  • Niet online

AFR

Het nauwkeurig aansturen van de parallele poort onder windows is erg complex. Windows is immers een multitasking systeem: meerdere taken tegelijk waardoor het even duurt voordat het verzoek van jouw programma om een uitgang op de parallele poort te veranderen even op zijn buert moet wachten. Deze wachttijd kun je verkleinen door het programma een hééle hoge prioriteit te geven tov de andere taken die op je systeem lopen.

Daarnaast heb je te maken met een behoorlijke overhead. Het programma bestuurt de poort (waarschijnlijk) niet direct, maar via een dll/driver die ook nog communiceert met windows en andere dll's.

In windows 2000/nt hebben de timers die je kunt besturen vanuit ring 3 (het niveau waar applicaties op draaien) een instelbaarheid van 1 msec. ALs je nauwkeuriger wilt werken moet je een eigen device driver maken die direct in ring 0 draait. Deze driver kan zijn eigen interrupts genereren die exact elke xx sec worden afgehandeld waardoor besturen met een nauwkeurigheid van een tiende msec mogelijk wordt. Dit is echter een zéér complexe taak.

Wel kun je overwegen om gebruik te maken van extra hardware: bijvoorbeeld een microprocessor die een 8-bit datawoord op de parallele poort omzet naar een repeterend pulssignaal voor de servomotor. Misschien kun je zelfs wel gebruik maken van een D/A converter in combinatie met standaard componenten om eht gewenste signaal te genereren...

Verwijderd

Topicstarter
Mmmhhh. okay:) thx! dat wordt dus wel die 60 gulden uitgeven... ;(

  • pagani
  • Registratie: Januari 2002
  • Niet online
Of je probeert het met een stukje assembly.......