Poszukuję prostego rozwiazania (najlepiej na jednym scalaku) ukladu, który by mial cztery wyjścia na ktorych byly by stany logiczne 0 - 1 przełączanych- sterowanych poprzez dwa wejścia na zasadzie plus i minus - do góry, na dół lub ewentualnie pokrętłem enkodera.
Wiec chodzi mi o takie cos zeby przy nacisnieciu np. plus czy tez w gore dodawal jedynke logiczna na nastepne wyjscie nie wygaszajac stanu logicznego wyjscia poprzedniego.
W tabeli wyglada to mniejwiecej tak:
wyjscie 1 - 2 - 3
1 stan logiczny 0 - 0 - 0
2 stan logiczny 1 - 0 - 0
3 stan logiczny 1 - 1 - 0
4 stan logiczny 1 - 1 - 1
nastepnie uklad wraca do poczatku. Czwarte wyjscie moze byc podlaczone do reset lub nie byc wcale uzyte.
Jak pisalem dla mnie tu nie gra roli czy bedzie sterowanie +/- czy tez z pokretla enkodera (w lewo/prawo) choc enkoder bylby lepszym rozwiazaniem.
Witam.
Poza układami programowalnymi (µC) można realizować opisany układ z użyciem np. liczników rewersyjnych.
Wersja z przyciskami "góra/dół":
Układ kombinacyjny z bramkami OR i AND można wykonać w technice RDTL (rezystory, diody, tranzystory).
Przyciski sterujące (S1 i S2) należy oczywiście uzupełnić w układy eliminacji efektu drgań styków.
Natomiast prosty układ z użyciem impulsatora (eksperymentowałem z takim zdemontowanym z myszy komputerowej) może wyglądać tak:
Do wyjść Q0 i Q1 należy dołączyć identyczny układ kombinacyjny, jak na poprzednim obrazku. Przełączniki S1 i S2 symbolizują styki impulsatora.
Układ współpracujący z enkoderem można zaprojektować znając jego konkretny typ (sygnały wyjściowe).
Pozdrawiam.
To (z 17 Mar 2010 22:38 ) się robi na rejestrze przesuwnym (ang. shift register) - standardowy układ
TTL: 7495 (4 bity), 74164 (8 bitów), można i na przerzutnikach D - 74175 (4D), 74174 (6D)...
Witam,
dzieki za zainteresowanie.
Z TTLkami eksperymentowalem za mlodszych lat, wiec cos tam jeszcze zostalo.
Ja mam cos takiego:
jednak nie ma rewersu.
Na 141 trzeba by bylo jeszcze troche pozmieniac ale to szczegoly.
prezeswal,
poeksperymentuje troche z tym 193, dobrze sie zapowiada.
Co do eliminacji drgan stykow to mam juz rozwiazanie, stara dobra ksiazka Pienkos/Turczynski daje pare rozwiazan na ten temat.
Zamiast bramek AND i OR zastosuje chyba rozwiazanie diodowe, zaoszczedzi mi to dwa scalaki. Poza tym zastanawiam sie czy podlaczenie Q3 do resetu byloby dobrym rozwiazaniem aby uklad powrocil do do stanu wyjscia.
Co do rozwiazania na rejestrach przesuwanych to 95 odpada bo jest PIPO, 164 jest SIPO i bardziej by sie nadawal.
Na przezutnikach mozna by tez cos zrobic. Mozliwosci duza ale wolalbym jaknajbardziej proste i sukteczne.
Narazie musze troche poeksperymentowac.
Dzieki za zainteresowanie.
Dalsze propozycje mile widziane
zastanawiam sie czy podlaczenie Q3 do resetu byloby dobrym rozwiazaniem aby uklad powrocil do do stanu wyjscia.
Moim zdaniem jest to zbędne, układ pracuje wg. oczekiwanej sekwencji:
wyjscie 1 - 2 - 3
1 stan logiczny 0 - 0 - 0
2 stan logiczny 1 - 0 - 0
3 stan logiczny 1 - 1 - 0
4 stan logiczny 1 - 1 - 1
Pokazuje to symulacja:
W pierwszej części przebiegów - liczenie w górę, w drugiej - w dół.
Pozdrawiam.
95 przesuwa w jedną stronę, a przesunięcie w drugą robi się przez ładowanie równoległe i nie ma resetu - jeśli ma
być przesuwanie w obie strony, i jeszcze po dojściu do końca ładowanie, albo resetowanie, to na 95 nie da rady.
164 przesuwa tylko w jedną stronę, więc też nie załatwi sprawy, jeśli potrzeba przesuwać w obie.
Nie wiem, co dokładnie chcesz uzyskać - czy przełączanie w kółko 000 001 011 111 w obie strony?
To powinien załatwić pierwszy układ podany przez prezeswal... tylko kłopot, że potrzeba po 1 AND i OR.
Niestety nie widzę szansy, by je zastąpić jakimś układem z 4 bramek NAND, albo NOR.
Hm... jest chyba coś takiego, jak podwójna bramka AND-OR-INVERT z dodatkowym inwerterem
- na tym powinno się dać (w połączeniu z licznikiem rewersyjnym - 193).
A może jest jakiś rejestr przesuwny 2-kierunkowy z możliwością SET/RESET?
Po przegladnieciu tablicy stanow tego 193 doszlem do wniosku ze resetu nie trzeba, na wyjsciach A i B stany sie powtarzaja wiec zawsze po czwartym wroci do poczatkowego.
Co do pytania czy potrzebny jest w obie strony to powiem ze tak, potrzebny w obie. Bramki AND i OR zastapilem dwiema diodami i jednym tranzystorem, musze tylko wyprobowac w praktyce.
Jeden przeskok enkodera daje zmiane stanu logicznego z zera na jednyke lub z jedynki na zero.
Enkoder inkrementalny (w moim pierwszym poscie nazwałem go "impulsatorem") ma dwa wyjścia
http://napedyonline.pl/index2.php?option=com_content&do_pdf=1&id=259 Jak napisałem - używałem do współpracy z nim licznika rewersyjnego 4029 (patrz obrazek nr 2).
Na forum były już podobne tematy.
Witam,
cos ten uklad z impulsatorem nie chodzi jak trzeba.
Styk 1 zlicza w prawdzie impulsy ale styk drugi nie ma zadnej funkcji, przynajmniej nw CircuitMaker Student Version.
Uzywajac styku pierwszego mam zmiany na wyjsciach Q cos na podobienstwo 193 a ja potrzebuje serje impulsow z jednego wyjscia przy kreceniu w jedna strone i serie impulsow z drugiego wyjscia krecac w druga strone.
W sumie uklad juz gotowy tylko sprawa z enkoderem.
Według opisu (link z ostatniego postu prezeswal), enkoder inkrementalny ma wyjścia A i B, i obydwa mają swoje funkcje.
To ja tez wiem.
slawussj wrote:
Chodzi o to, że to ty musisz tak zaprojektować układ, aby na podstawie przesunięcia impulsów wykrywał kierunek.
No wlasnie taki uklad poszukuje. Ten na 4029 w CircuitMaker Student nie zlicza impulsow z drugiego styku.
Dzialanie enkodera inkrementalnego jest mi znane jedynie potrzebny uklad elektroniczny ktory mi to przetworzy na serie impulsow w"przod" i "wstecz".
Bede musial chyba rozebrac myszke komputerowa i zobaczyc jakie tam jest rozwiazanie tego kolka.
Do swoich eksperymentów użyłem takiego impulsatora (enkodera?) z myszy:
Na moim drugim obrazku w poprzednim poscie zewnętrzne wyprowadzenia sterują wejściami CP i U/D licznika (powinien on być połączony w trybie liczenia binarnego, czyli - p.9 B/D -> +V). Oznaczyłem je jako przełączniki S1 i S2.
Symulacja wyjaśnia, jak działa układ:
Przebiegi TP1 i TP2 odpowiadają sygnałom wyjściowym A i B enkodera:
- gdy narastające zbocze sygnału na U/D (TP1) wyprzedza takie zbocze sygnału na CP (TP2) -> liczenie "w górę" (lewa część przebiegów - przed czerwoną linią),
- w sytuacji odwrotnej (TP1 "opóźniony" względem TP2) -> liczenie "w dół" (prawa część przebiegów).
Innymi słowy: przebiegi w lewej części opowiadają obracaniu pokrętła w jedną stronę, a w prawej - w przeciwną.
Pozdrawiam.
ps. analogicznie powinien działać układ z licznikiem 74193:
Witam,
problem mam w tym ze ja potrzebuje na jednym wyjsciu (umownie Q0) serie impulsow kiedy sie "kreci w gore" a na drugim Q1 nic. Podobnie "krecenie w dol" musi dawac serie impulsow na drugim wyjsciu (umownie Q1) a na pierwszym Q0 nie moze byc nic.
O co mi chodzi wyjasni moze ten schemat.
W miejsce elementow RC przy stykach ma przyjsc elektronika impulsatora.
I teraz jezeli obydwa wyjscia z elektroniki impulsatora beda dzialac to caly uklad nie bedzie chodzil poprawnie.
Impulsator mam inny ale cos na zasadzie jak w radiach samochodowych.
Jezeli trzeba to zalacze foto tego impulsatora.
Dodano po 1 [minuty]:
Aaa i zapomnialem , czy jest jakis scalak ktory ma podwojny licznik w sobie - 193 ??
Możesz użyć np. 2 NE555 (albo NE556 - ma w środku 2 NE555) - podłączyć tak, żeby każdy z nich
wyzwalało zbocze z jednego wyjścia impulsatora, ale tylko przy określonym stanie na drugim jego
wyjściu - i w zależności od kierunku kręcenia impulsy będą na jednym, albo na drugim z nich.
To by było najprostsze rozwiązanie - poza użyciem licznika, który liczy w jedną, bądź drugą stronę
w zależności od przesunięcia fazy między impulsami na wejściach. Bardziej zaawansowany układ
mógłby dawać impuls na jednym z wyjść przy każdej zmianie na którymkolwiek wejściu i wybierać
to wyjście, na które da impuls, w zależności od kierunku obracania tarczy.