Avläsa 500 punkter med få portar

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
tobbetabbe
Inlägg: 35
Blev medlem: 2 februari 2005, 17:18:12
Ort: Göteborg

Avläsa 500 punkter med få portar

Inlägg av tobbetabbe »

Jag vill gärna vilja avläsa ca 500 kontaktpunkter med en microprocessor. Omöjligen tror jag inte att det finns så många portar. Har tänkt på multiplexering,logik eller liknande,sneglade lite på konsten att avläsa matriser mm.
Jag tror det finns någon smartis som har bättre koll på läget.
Help me,gärna med så få portar som möjligt=billig,PIC står mig närmast (enda jag kan)

//Om jag får se din PIC får du se min PIC :)
danei
EF Sponsor
Inlägg: 27426
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Kan du förklara lite mer? är det strömbrytare det handlar om?
tobbetabbe
Inlägg: 35
Blev medlem: 2 februari 2005, 17:18:12
Ort: Göteborg

Inlägg av tobbetabbe »

Strömbrytare ca 500 st (skissar på en lägesgivare) där något av metall kommer i kontakt och detta då vill jag avläsa detta var det sluts
danei
EF Sponsor
Inlägg: 27426
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Går det inte att ha en pulls givare och ett par synk punkter. Så att man får hålla räkningen. Vad ska det vara till? Att lösa det som en matris är inte så svårt men jag är inte så säker på att det är den bästa lösningen.
sebastiannielsen
Inlägg: 3663
Blev medlem: 11 september 2004, 09:30:42
Ort: gbg
Kontakt:

Inlägg av sebastiannielsen »

Om du ska ha en krets som mäter 500 kontaktpunkter , men bara en kontaktpukt åt gången så är det fixat med en j*vla massa lödanded och dioder.



256, 128, 64, 32, 16, 8, 4, 2, 1

Om vi har så värdera adderas i mjukvaran så har vi 9 utgångar att hålla reda på.

Du har ju 4 ingångar på seriellen och sen har du ett antal adressingångar på paralellen , kanske 5 st.

Då har du en färdig krets för att läsa av 500 brytare.
Du kommer behöver ÖVER 500 dioder då varje brytare måste ha minst 1 diod.
Om du vill kan du läsa av ytterligare 11 brytare , kanske för en 0-9 knappsats med enter-knapp.


Tänk på att du måste koppla det hela som en "common-point" krets.
Dvs att du har en gemensam och sedan en signal ut för varje knapp.

Sedan måste du ha någon form av 5volt spänning att lägga på common-tråden.


Då kommer du få ut knappens nummer i binärkod....
danei
EF Sponsor
Inlägg: 27426
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Annars kan man ju lägga brytarna i en matris och byta ut ett par tusen dioder mot 8 jonsonräknare. Det går år lika många ben på µC.
ristomemo
Inlägg: 1028
Blev medlem: 29 mars 2004, 14:12:18

Inlägg av ristomemo »

Någon typ av databus. Kanske Dallas/Maxim variant

http://para.maxim-ic.com/1Wire.htm
tobbetabbe
Inlägg: 35
Blev medlem: 2 februari 2005, 17:18:12
Ort: Göteborg

Inlägg av tobbetabbe »

Denna lägesgivaren hade jag tänkt bli ett digitalt vattenpass där en kula ska rulla i en trumma med mer än 360 kontaktpunkter där varje kontaktpunkt är 1 grad gärna fler punkter för bättre upplösning.Hade en ide om en sorts uteslutnings-logik(kombinatorisk) för att fördela så många punkter på en få portars processor där kontaktpunkterna granne med den aktuella punkten som kulan befinner sig över inte avläses från samma port. En annan sak som jag fick tips om kunde kunna vara en räknare eller någon mer sekventiell lösning kanske?
danei
EF Sponsor
Inlägg: 27426
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Två anrda särtt att lösa problemet, är med en pendel med pott, eller en dubbel accelerometer.
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Det var nog den jobbigaste metoden för att göra ett vappenpass jag hört talas om :wink: ... men ett sätt kanske kan vara att seriekoppla en väldans massa motstånd och läsa av en analog spänning istället. 360 lägen borde faktiskt gå bra att skilja på med en 10bits AD. Annars dela upp det i två halvor om 180 lägen.

Det känns lite onödigt att ha en matris om bara en punkt ska vara aktiv åt gången.

edit: och fler, upp till 1024 lägen går ju också att ha, kanske med en viss osäkerhet +/- ett läge, men det är väl inte så kritiskt i det här fallet.
Användarvisningsbild
Hedis
Inlägg: 2493
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Inlägg av Hedis »

Jag tänkte precis som cyr skrev att smidigast måste vara att bygga ett långt motståndsnät.

Men en accelerometer är ju oxå ruskigt enkelt.
Då får du en analog (eller digital) signal som motsvarar lutningen emot jordens mitt.
Magnus Pihl
Inlägg: 401
Blev medlem: 6 maj 2004, 12:22:36
Ort: Stockholm

Inlägg av Magnus Pihl »

En tredje variant är att använda en PSD (positionsdetektor). Då får du ut en analog spänning som har extrem upplösning som du kan göra vad du vill med, t.ex. omvandla i en ADC. Och den går att göra väldigt liten.
Skriv svar