Hoi allemaal,

Ik had hier een klein probleemke.
Ik was thuis het inlezen van data via de parallelle poort
in Visual Basic aan het uittesten.
Ik had een parallelle interface kabel van ongeveer 3m aan mijn parallelle poort aangesloten en aan het andere eind
weerstanden gekoppeld naar massa of 5V.
Hiermee simuleerde ik dus in feite het getal dat ik wou inlezen.

In Visual Basic had ik gewoon een knop gemaakt die dat getal gaat inlezen en in een textbox laat zien.

Het probleem:
Ik had dit getal ingesteld op "2".
Ongeveer 95% van het aantal keren dat ik het getal inlees, was dit correct.
Soms was dit getal 46, 50, 20, 250 of iets dergelijks.

Nu is mijn vraag:
Hoe kan het dat ik eigenlijk deze andere getallen kon lezen?
Ik werkte toch gewoon op puur DC-niveau.
Volgens mij zat er dus wel degelijk oscillatie op die kabel.
Ik heb nu een andere kabel gekocht (die ik naderhand wel moest aanpassen, want de pinout was totaal anders dan ik verwacht had) van 1.8m, en nu lees ik ALTIJD de waarde "2". (Zoals het eigenlijk moet)

Het probleem is wel opgelost, maar ik zou toch graag willen weten waarom ik die eerste lange kabel niet kan gebruiken.

Weet je zeker dat je niet per ongeluk ergens een kortsluitingje hebt gemaakt met iets?

Wat ook wel kan is dat op de een of andere manier je parallelle poort van modus is veranderd toen je verkeerde dingen gemeten hebt. Dan krijg je ook vreemde waardes.
Het blijven nou eenmaal computers :P

Volgens mij pikt die kabel van 3 meter storing op van TL-balken of van je PC monitor. Ik heb dit ook een paar keer ondervonden met een JTAG programmer kabel die niet werkte bij 50 cm maar wel bij 20 cm... Ik ben hierachter gekomen door de signalen te meten met een scoop... Misschien zijn pull-up weerstanden een oplossing..

Maar de poorten van een PC blijven lastige dingen om mee te interfacen..

Op 17 juni 2003 03:48:25 schreef PowerPC603:
Ik heb nu een andere kabel gekocht (die ik naderhand wel moest aanpassen, want de pinout was totaal anders dan ik verwacht had) van 1.8m, en nu lees ik ALTIJD de waarde "2". (Zoals het eigenlijk moet)

Het probleem is wel opgelost, maar ik zou toch graag willen weten waarom ik die eerste lange kabel niet kan gebruiken.

Met de eerste kabel had je kennelijk hetzelfde probleem als met de tweede kabel? Als ingangen open liggen pakken ze al snel een microvoltje op, dat dan weer voldoende is om je meting in de war te sturen...

Met de tweede kabel is het perfect (geen enkel verkeerd getal meer ingelezen).

Wat Freakazoid zegt, kan denkelijk wel de reden zijn dat mijn getallen soms verkeerd waren.
Die parallelle kabel gaat door een opening in mijn houten wandkast waar ook voedingskabels doorlopen.
De kabel komt ook nog langs enkele geschakelde voedingen.

Door ook nog effe na te denken over dit probleem, ben ik er ook achter gekomen dat die lange kabel als soort van antenne werkte door zijn lengte.
Maar ik heb jammer genoeg geen scoop staan thuis.

Ik ben er zeker van dat er geen kortsluiting inzit, kingjotte.
Ik heb gewoon acht weerstanden op een mudec (= proefbordje) geplaatst waar eveneens een parallelle poort stekker opzit.
Via deze stekker heb ik de weerstanden met de correcte pinnen verbonden.
Het enige verschil dat er is tussen de situatie met het probleem en de situatie waarbij het opgelost is, is de lengte van de kabel.

Freakazoid, wat bedoel je juist met die pull-up weerstanden?
Ik heb toch al pull-up (en pull-down) weerstanden waarmee ik de binaire code van het te lezen getal bepaal.
Of bedoel je misschien dat ik nog extra pull-up weerstanden nodig zou hebben in het midden van de kabel of zo, en zo nodig, aan de parallelle poort zelf ook nog eens om zeker te zijn?

Om even duidelijk te zijn: ik had speciaal voor weerstanden gekozen om die binaire code te genereren omwille van het feit dat ik mijn parallelle poort niet altijd op ingang laat staan. Dus als die als uitgang ingesteld zou staan, en ik zou met draadjes werken, dan zou ik enkele uitgangen kunnen opblazen.
Maar die weerstanden dienden gewoon als test op getallen te kunnen inlezen.
Ik ben bezig aan een groter project waarmee ik 256 "uitbreidingskaarten" bidirectioneel kan koppelen met de parallelle poort (allen tegelijkertijd), waarmee ik dan kan communiceren.
En met dat project gebruik ik dan wel bidirectionele buffers, zodat altijd de hardware data zal ontvangen of zenden, wanneer het nodig is.
Met deze hardware kan dan alles gedaan worden.
Je kan er, theoretisch (praktisch is niet te doen, printplaat zou te groot worden), oneindig veel ledjes, elk afzonderlijk, kunnen aansturen.
Voor meer info, mail me.

Dank u allen, vooral Freakazoid.
Mijn lange kabel was dus eigenlijk niet meer dan een antenne, met afsluitweerstanden die eigenlijk niet "gematched" waren.

Graag gedaan PowerPC603. Pull-up en pull-down weerstanden worden gebruikt bij digitale signalen om deze hoog of laag te maken. Ze zorgen ervoor dat de signalen die over kabels gaan of over sporen op een print niet floting zijn, maar dat ze een soort van referentie hebben. De extra rommel die de kabel oppikt is hoogfrequent en wordt dan afgevoerd via die weerstanden... zo'n weerstand is meestal iets van 1K.

De signalen worden dan b.v. 0 Volt i.p.v. 0.5 Volt...
Als ik het goed heb begrepen...

Suc6...