Sida 3 av 16

Postat: 4 oktober 2006, 16:21:15
av Windman
SvenPon.

Kikade lite på din länk där.
VB-programmet som så fint styrde LPT-porten.

Så långt är jag med... men som sagt. 8 portar kommer man inte så långt på :(

Postat: 4 oktober 2006, 16:47:04
av Icecap
50 lampor......
Spänning?
Ström?
Av/På hastighet?
Rörliga mönstre?
Svårt att hjälpa med hårdvaran innan man vet sånt.

Det går att multiplexa LPT-porten men det blir en del grejor. Man kan ta de 8 dataledningar och dela ut till ett antal 74LS373 /74LS573, sedan använder man de extra kontroll-linjer på LPT-porten till att välja vilken latch som ska ha just detta mönster laddad in. Lämpligt är att använda en 74LS154 t.ex. då kan man välja 1 av 16 och högsta värdet är då "ingen". Detta ger teoretisk 120 pinnar ut och en skaplig hög kommunikationshastighet ut.

Det går såklart att multiplexa ut fler men 120 bits borde räcka i nuläget.

Postat: 4 oktober 2006, 16:52:55
av sodjan
> Jag skall använda VB i Win XP.

OK, då kör vi med det. :-)

> Vilken hårdvara rekommenderar ni ?

Hur snabbt skall lamporna styras ? T.ex från en lampa till en annan ?
Skall flera lampor tändas "samtidigt" (vad nu det är) ?
Hur många on/off kommandon per sekund behöver hårdvaran klara ?
Vilken fördröjning är accpeptabel från det att något händer till att lampan tänds/slocknar ?
Vilket gränsnitt (från PC'n) vill du använda ?
Vilken ström drar lamporna när alla är tända samtidigt ?
Kommer denna "hårdvara" att ha något gemensamt med den övriga "hårdvaran" ?
Hur flexibel ska hårdvaran vara för expansion (med fler lampor) ?

Bara för att nämna några saker du behöver fundera lite på....

Postat: 4 oktober 2006, 16:56:30
av Windman
Lamporna är av typ 6.3V och 0.25A.

Hur de skall lysa styr jag ju i VB.

Postat: 4 oktober 2006, 17:07:35
av sodjan
OK, ca 12,5 A enbart för lamporna (när alla lyser).
Sedan tillkommer ström för logik m.m.

> Hur de skall lysa styr jag ju i VB.

Ja men då så... :roll:

Postat: 4 oktober 2006, 17:17:56
av Windman
// Hur snabbt skall lamporna styras ? T.ex från en lampa till en annan ?
så snabbt som möjligt :) krava: under 50ms
// Skall flera lampor tändas "samtidigt" (vad nu det är) ?
Ja (men ej samtidigt på millisekunden. men gärna så samtidigt som möjligt).
// Hur många on/off kommandon per sekund behöver hårdvaran klara ?
Max 50
// Vilken fördröjning är accpeptabel från det att något händer till att lampan
tänds/slocknar ?
Max 50ms
// Vilket gränsnitt (från PC'n) vill du använda ?
Vad menar du här ?
// Vilken ström drar lamporna när alla är tända samtidigt ?
50x0.25A
// Kommer denna "hårdvara" att ha något gemensamt med den övriga "hårdvaran" ?
Vad men du här ?
// Hur flexibel ska hårdvaran vara för expansion (med fler lampor) ?
Egentligen inte alls. Klarar den 50st är det ok.

Postat: 4 oktober 2006, 17:30:13
av sodjan
> // Vilket gränsnitt (från PC'n) vill du använda ?
> Vad menar du här ?

LPTx, COMx, Ethernet, USB, Firewire, whatever...

> // Kommer denna "hårdvara" att ha något gemensamt med den övriga "hårdvaran" ?
> Vad men du här ?

Hårdvara för styrning av bumpers, flippers m.m m.m.

Postat: 4 oktober 2006, 17:43:32
av Windman
// Vilket gränsnitt (från PC'n) vill du använda ?
Det som är enklast att styra från VB. Förslagsvis LPT.

// Kommer denna "hårdvara" att ha något gemensamt med den övriga "hårdvaran" ?
Nja, hårdvaran är tänkt att bara styra lamporna, och de få magnetspolar som kickar upp kulan ur ett hål osv.
Flipper, slingshots och bumprar får bli "dumma" och sköta sig själva.

Postat: 5 oktober 2006, 01:41:34
av Micke_71
Det finns seriella drivare med latchade utgångar för styrningen av lamporna.

Det kan bli lite knökigt att få till det så man inte låser upp datorn på att blippa med ljuset när det finns viktigare funktioner. I fråga om att käna av kulan så kan ju den bara vara på ett ställe samtidigt så där kan man ju ha en massa ingångar.

Mot bättre vetande och någras rekomendationer så kör jag utan problem RC servon under XP direkt på LPT porten. Jag har inga som helst problem med det men erkänner att jag kan se hur övrig belastning påverkar ifall jag inte begär realtids hantering. Det som händer är att servots postion flyttas under hård belastning av datorn motsvarande ~20us förlängning av pulstiden. Men jag har gjort något knas så jag kan inte längre se detta fenomen utan servot håller postion oavsett vad jag gör. Jag har provat med standard 50pulser/sek till 500 pulser/sek för att se hur det påverkar driften. Ser att jag kan ledigt minska pulsförlängninskondigen o köra med mycket tätare pulsintervall för att få bort oscilalltionen när servot finner position som man gärna får på 50pulser/sek.

Jag tror att man kan lägga alla funktioner i en lång rad som man sedan begär realtid för och upprepar med en timer med kanske 5ms tickande. Är man lite full i fan så väntar man inte på att ex drivare ska hinna med utan låter fortsätta på allt som kommer och återupptar först när det blir dags. Har man inte petat in allt för mycket funktioner och annat så kommer det inte att vålla stora problem för OS att ägna sig åt sitt.

Ex man kanske ska ha en 10us puls. Då låter man inte D0 LPT gå hög och väntar i 10us utan man hinner med massor av annat också innan 10us har gått.

Mikael

Postat: 5 oktober 2006, 03:19:59
av BMI
Känns nästan löjligt att redan nu prata om "10us" hit och dit.
Börja med att få ihop något som kan liknas vid ett flipper och utgå från det.
Där kommer att finnas problem hela vägen som vida överstiger hur tänder och släcker en lampa snabbt nog.
Jag började bygga mig ett flipper för 30 år sedan där det mest hightech var
LED displayer för poängen " sedan började jag jobba med spelautomater och la ner"
Jag stupade på att tillverka spolarna och mekaniken.
Skulle jag gjort något i dag så skulle man nog börja med ett begagnat trasigt spel och tillverkat ev ett nytt spelbord ,,eller som i detta fallet
kanske tagit ett mekaniskt spel och försökt få funktionen "elektroniserad"
Eller ta elektroniskt och uppgradera det

Nu har jag varit ifrån i 20 så jag kan inte tillföra så mycket.
Ta ett bally ,williams schema från tidig 80 tal med alla lampmatriser "borde finnas på nätet",så är där något att utgå ifrån

Du har 12 pinnar att styra

Postat: 5 oktober 2006, 09:03:08
av SvenPon
<Så långt är jag med... men som sagt. 8 portar kommer man inte så långt med

Tror jag ändrar mig och återgår till parallellporten.
Som sagt ovan MUX lösningen är tilltalande.
Du har faktiskt 12 pinnar som du kan styra ut.
Förutom D0-D7 pinnar (2 -7) har du pinne 1 14 16 17.
De sistnämnda styr du via adress LPT1 + 1 Controllpinnar. ex. 888+1 (889)

Postat: 5 oktober 2006, 09:13:00
av Icecap
Kruxet med att inte ha "intelligens" i spelet är att man måste polla (avfråga) ingångarna kontinuerligt samtidig som programmet reagerar på dessa. Det är inte omöjligt men blir svårt att få till på rätt sätt.

Hade man "intelligens" i spelet kan den spara händelser (kula träffar här, där och alla ställen) och lägga dom i kö för "senare" kommunikation med PC.

Har man då "intelligens" i spelet är kommunikationsformen av mindre betydelse, jag hade vald seriellt då man då kan nöja sig med att köra ett program i valfri PC och finns det ingen serieport kan man trycka dit en USB-serieport. Det finns USB-paralellportar men dom kan man inte komma åt på samma sätt som en "riktig" varvid kommunikationen inte kan utföras.

Å andra sidan: om spelet ska ha en PC inbyggd på riktigt hade jag köpt/gjort portkort så det räckte och kört därifrån.

Out of Topic

Postat: 5 oktober 2006, 09:26:13
av SvenPon
Fortfarande nyfiken på vad får Ni för tid på VB Mandelbrot ? .exe filen.

Postat: 5 oktober 2006, 09:43:12
av Icecap
Svenpon: 125ms på ena datorn, 156(/171)ms på den andra, 251ms på LapTop'en.

Bra tack

Postat: 5 oktober 2006, 09:52:32
av SvenPon
Att jag tog detta exempel var för att få dom som skriver
att VB och XP skulle vara långsamt och barnsligt att tänka om och kolla fakta.

Skrev samma program i Delphi. Fick samma tider i princip.
T.o.m lite sämre Vb 172 Delphi 188.

Om man kan adressera 307200 pixel på 172 ms så kan man inte klaga på "speeden"

Nog om detta. Från en optimerings"Bög" :wink: