Stavy spínačov.

Problémy s návrhem, konstrukcí, zapojením, realizací elektronických zařízení

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
kutilmil
Pod dozorem moderátorů
Pod dozorem moderátorů
Příspěvky: 4204
Registrován: 01 lis 2008, 00:00
Bydliště: Skalica

Stavy spínačov.

#1 Příspěvek od kutilmil »

Zdravím dámy a páni.
Prosím radu. Nevedel by mi niekto poradiť, ako preniesť stavy cca 72 tlačidiel, po čo najmenšom počte vodičov. Predstavujem si to tak ze by boli dva IO, pričom jeden by bol ako vstupný a druhý ako výstupný. oba by boli prepojené čo najmenším počtom vodičov. Nízka úroveň vstupu by bola nízka na výstupe na príslušnom pine a vysoká na vstupe by bola vysoká na výstupe. Naprogramovať mikrokontroléry tak, aby si rozumeli si netrúfam.
Za radu ďakujem.
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#2 Příspěvek od procesor »

Klasická logika s posuvnými registrami:
-9x 74HC165 na vstup+ 2 prijímače, 1 vysielač do kábla
-9x 74HC594 na vystup+1prijímač, 2 vysielače do kábla
-nejaký ten generátor hodinových pulzov cca 5-6 IC.
-Kábek pre 3 signály + GND
-Napájenie môže byť súčasťou kábla (závisí to od dĺžky a prierezu a spotreby logiky na strane spínačov)
-5V zdroj cca 100mA?? odhad, možno viac

Načo budú slúžiť tie spínače?....žeby 9 segmentoviek na štadióne, na pumpu je to málo...tam býva aj cez 16 :)
Uživatelský avatar
Olchor
Příspěvky: 1772
Registrován: 18 lis 2009, 00:00
Bydliště: Blansko

#3 Příspěvek od Olchor »

Nebo by to šlo přes analog - 2xD/A, 2xA/D 4bit převodník a 3 dráty - zem, desítky a jednotky. Šlo by to i 2 dráty, ale 72 úrovní už je dost, mohlo by docházet k chybám.
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#4 Příspěvek od procesor »

72 tlačidiel dá toľkoto rôznych stavov: 4 722 366 482 869 645 213 696.
To číslo ani nevyslovím, a taký AD a DA....
Uživatelský avatar
Olchor
Příspěvky: 1772
Registrován: 18 lis 2009, 00:00
Bydliště: Blansko

#5 Příspěvek od Olchor »

No, asi blbě jsem předpokládal, že je aktivní vždy jen jedno...
Uživatelský avatar
kutilmil
Pod dozorem moderátorů
Pod dozorem moderátorů
Příspěvky: 4204
Registrován: 01 lis 2008, 00:00
Bydliště: Skalica

#6 Příspěvek od kutilmil »

Robím vyvažovačku, a zrejme tak budem snímať polohu hriadele. Ďakujem.
Uživatelský avatar
kutilmil
Pod dozorem moderátorů
Pod dozorem moderátorů
Příspěvky: 4204
Registrován: 01 lis 2008, 00:00
Bydliště: Skalica

#7 Příspěvek od kutilmil »

Ešte ma napadlo iedno riešenie a to kruhový čítač. bol by jeden resp dva vstupy a tie by postupne rozsvecovali povedzme tých 72 led. ale ako dosiahnuť, aby sa register pouval doprava a dolava? Vstup viem vyriešiť, to by boli dve "infrazávory". Pri chode doprava by sa ledky rozsvecovali smerom doprava a pri chode vretena dolava by sa rozsvecovali smerom dolava. Napada Vás nejaký IO resp obojsmerný kruhový čítač Ďakujem
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#8 Příspěvek od procesor »

Ale na to sú jednoduchšie prostriedky, ako určiť polohu na rotujúcom hriadeli s presnostou 5°.
Uživatelský avatar
kutilmil
Pod dozorem moderátorů
Pod dozorem moderátorů
Příspěvky: 4204
Registrován: 01 lis 2008, 00:00
Bydliště: Skalica

#9 Příspěvek od kutilmil »

A poradíš mi aké procesor. Dík.
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#10 Příspěvek od procesor »

Nejaký rotačný optický encodér (7/8 bitový) s absolútnou polohou, prípadne tiež optický s tromi stopami a počítadlom do 72, keď ti stačí presnosť 5°.
Ten troj stopový je jednoduchší a vzásade môže mať aj vyššie rozlíšenie ako 72 polôh ak by bolo treba.
Stopa môže byť realizovaná fotosnímačom.
Stopa A a stopa B dávajú 72 impulzov posunutých navzájom o 2°30'
SYnC stopa určuje počiatok otáčky.

Presné profi encodery sú schopné určovať aj 5000 polôh na otáčku.
Taký ako potrebuješ sa dá urobiť aj amatérsky za babku.
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#11 Příspěvek od procesor »

Olchor píše:No, asi blbě jsem předpokládal, že je aktivní vždy jen jedno...
Nakoniec máš pravdu, 72 stavov
Uživatelský avatar
kutilmil
Pod dozorem moderátorů
Pod dozorem moderátorů
Příspěvky: 4204
Registrován: 01 lis 2008, 00:00
Bydliště: Skalica

#12 Příspěvek od kutilmil »

Enkoder mi bude generovať dva pravouhle signaly vzajomne posunute. tomu rozumiem. ale aky obvod mi bude podla toho posuvať rozsvietenú ledku doprava alebo doľava?
Za radu ďakujem.
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#13 Příspěvek od procesor »

Aha, už som v obraze...
-Encoder poháňa 8 bit čítač hore/dole pri Sync stope sa prepíše na 0, alebo 71, podľa smeru pohybu.
-Po každom kroku sa prepíše poloha do druhého čítača, ktorý sa vie odpočítavať veľmi rýchlo do stavu 0 (frkv 400kHz...1Mhz)
-ledky sú zapojené na 9ks serial/Pparalel registre 74HC594/595. Prvý taktovací impulz sprevádza dáta=log1 do shiftregistra, a nasledujúce takty obsahujú nuly.
Pri dopočítaní čítača do nuly tretím vodičom sa dá povel prepísať šhiftregister do výstupného ktorý zapína jednu led-ku a nuluje sa shiftregister.

Tento relatívne komplikovaný logický algoritmus by zjednodušilo použitie obojsmerného shiftregistra. Taký 74194 má však iba štyri bity, tým pádom tých obvodov by muselo byť 18.
Druhá vec je aj dostupnosť obvodov, niektoré už nevidno na trhu.

V každom prípade by jeden uProcesor urobil celý cirkus s minimom súčiastok, iba tie ledky by museli mať 9ks 74HC595.
Program pre takú aplikáciu by nebol ani zložitý.
Uživatelský avatar
kutilmil
Pod dozorem moderátorů
Pod dozorem moderátorů
Příspěvky: 4204
Registrován: 01 lis 2008, 00:00
Bydliště: Skalica

#14 Příspěvek od kutilmil »

Ďakujem procesor, ale nerozumiem tomu presne. nemohol by si mi prosím nejak načrtnút alebo konkrétne popísať zapojenie tých 595, tak aby vedeli posúvať vpred a vzad rozsvietenú led?
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#15 Příspěvek od procesor »

595 nevedia posúvať vzad. To sa musí poslať do nich vždy nový údaj. Buď pravideľne (cca 10 x za sekundu), alebo pri zmene polohy kolesa.
To "nové vyslanie" sa deje na pozadí, zatiaľ čo svieti led-ka v pôvodnej polohe.
Ten obvod má dva registre (posúvací vpred a statický, ktorý posunutú informáciu si zapamätá povelom po dokončení posúvania.

Posúvať vpred a vzad vie 194 ....má však iba 4bity, čo by nemusel byť problém, ale sa bude ťažko zháňať. Tento register by sa dal urobiť do kruhu a svietiaca led by preskakovala podľa pohybu kolesom. Pri zapnutí stroja by sa musel ten register zosynchronizovať (po otočení kolesa o 1 otáčku). On by sa mohol synchronizovať potom stále pri dosiahnutí polohy 0.

Mám otázku:
Toto je proces keď sa kolesom točí manuálne. Tú časť, ktorá určí polohu závažia už máš hotovú?, alebo funkčnú?
Přílohy
ENCODER_74HC595REGplusCONTROL.JPG
(120.74 KiB) Staženo 101 x
ENCODER_74HC194REG.JPG
(96.71 KiB) Staženo 80 x
Odpovědět

Zpět na „Řešení problémů s různými konstrukcemi“