Avatar billede mekaniker Nybegynder
08. februar 2001 - 01:03 Der er 7 kommentarer og
1 løsning

Problemer med parallelport

Jeg har skrevet et lille program i visual basic 6.0, for at styre en stepmotor fra parallelporten. I visual basic har man ikke direkte kontrol over porten, så man bliver nødt til at benytte en \"dll\" fil.

Bitmønstret som det skal se ud på porten:
Bit1: 1000100010001000100010001
Bit2: 0010001000100010001000100
Bit3: 0100010001000100010001000
Bit4: 0001000100010001000100010
              time --->
Jeg har, for at følge med visuelt monteret lysdioder på porten.
Hvis jeg køre programmet med en skiftetid på porten på 0,2 sek. virker det fint, men hvis det skal gå hurtigere er det som om jeg støder på en grænse for hvor hurtigt det kan gå. Og visuelt ser det ud som om timeren ikke virker da alle lysdioder bare blinker 1 gang.
Er der nogen der kan svare mig hvorfor jeg møder en begrænsning på porten ??
Og hvilket andet visuelt windows programmeringssprog der måske har bedre kontrol over porten ??
Avatar billede powell Nybegynder
08. februar 2001 - 08:10 #1
Jeg tror ikke det er porten der sætter nogen begrænsning, nok snarere den dll du bruger.

Her er enkelte websider som indeholder mere information om forskellige muligheder i at kommunikere via parallelporten:
http://aaroncake.net/electronics/vblpt.htm
http://www.lvr.com/parport.htm
Avatar billede scb Praktikant
08. februar 2001 - 08:19 #2
Hvis det er timeren i VB du bruger, er det derfor !
Prøv med:
Lav et modul med:
Declare Sub Sleep Lib \"kernel32\" (ByVal dwMilliseconds As Long)

Herefter defineres en pause således:

Sleep(xxx)  hvor xxx = pause i mS

F.eks:
Sleep(100)    \'Pause i 100 mS

-SCB
Avatar billede nolle_k Nybegynder
08. februar 2001 - 11:22 #3
Timeren kan gå helt ned til et millisekund!! Så med mindre du skal køre med en frekvens højre end 1 kHz burde den være tilstrækkelig!!

Prøv at brug MSCom Control x.x!! Den burde kunne håndtere det!!
Denne skulle gerne følge med din VB!!

//Nolle_K
Avatar billede scb Praktikant
08. februar 2001 - 11:45 #4
Det er rigtigt at timeren i VB kan sættes til 1 mS, men VB og Win kan ikke hånterer så korte tider, i praksis bliver alt under 100-200 mS til en tilfældig tid alt efter hvor hurtig PC\'eren er og hvor mange andre programmer der kører samtidig. Bruger man Sleep funktionen, burde der ikke være andre hændelser der forstyrer.
-SCB
Avatar billede mekaniker Nybegynder
09. februar 2001 - 10:20 #5
Tak for alle de svar, det er et helt utroligt som man kan blive hjulpet her hos experten.
Du skriver at, hvis jeg bruger sleep funktionen, burde der ikke være andre hændelser der forstyrer.
Betyder det så at jeg kan komme ned på tider på 1mS, for det ville være fuldt tilstrækkeligt.
Avatar billede mekaniker Nybegynder
09. februar 2001 - 10:24 #6
Til Nolle K.
Du skiver at jeg skal prøve at bruge MSCom Control x.x
Er det ikke sådan at du kan forklare det lidt nærmere, da jeg ikke har så meget kendskab til VB endnu.
Tak for svaret.
Avatar billede scb Praktikant
09. februar 2001 - 11:26 #7
Det er et godt spørgsmål om du kan komme ned omkring 1 mS med Sleep funktionen.

Hvis det er så korte tider kunne man jo også bruge en løkke i programmet, men problemet er så at det bliver afhængigt af hvor hurtig PC\'eren er.

f.eks


For X = 1 to 5000
Next X

At udfører en sådan løkke taget en meget kort tid, som jo så kan justeres ved at ændre hvor højt der tælles op.

-SCB
Avatar billede mekaniker Nybegynder
09. februar 2001 - 12:54 #8
Hej SCB, tak for din tid.
Det kan godt være at jeg overdrev lidt da jeg sagde at jeg skulle ned på 1mS.
10mS er helt fint. Tror du jeg kan komme ned på det.
Der er selvfølgelig også en begrænsning på motoren. Motoren jeg bruger har 1,8° pr. step.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester