Witam forumowiczów.
Chcę zaprojektować układ, który spowoduje mruganie wyświetlanego wyniku, gdy ten osiągnie zadaną wartość. Mam woltomierz na ICL, który mierzy napięcie proporcjonalne do przesunięcia fazowego w zakresie od zera do +/- 180,0. Czasem jednak pokazuje większą wartość, więc chciałbym żeby ten wynik, większy od 180,0st migał. Jak rozumiem potrzebny byłby układ, który weryfikuje czy wskazana liczba jest większa od 1800 czy też nie jest oraz układ, który to miganie całego wyświetlacza zapewni.
Realizację pierwszego problemu mam nadzieję załatwi to co zaprojektowałem, choć jeszcze nie podłączałem (nie mam bramek), na razie działa w spice jedynie - mam na myśli rys nr 1 w załączonym pliku. ICL7107 ma aktywny stan niski, LED jest ze wspólną anodą, istnieje więc pytanie czy takie coś z rys1 mogłoby pobierać stany logiczne z wyjść ICL, gdzie podłączony jest też wyświetlacz LED. Sam układ działa tak, że daje stan wysoki na wyjściu, jeśli warunki na obecność kolejno: 1, 8 lub 9 oraz czegokolwiek nie będącego zerem na dwóch ostatnich miejscach są spełnione.
Na rys nr 2 umieściłem układ, który porównuje dowolną liczbę 4-bitową z wartością zadaną (również 4-bitową), wg. sposobu opisanego w książce "Układy scalone TTL w systemach cyfrowych" na str. 336 i dalej. Jednak w tym przypadku potrzebny byłby kolejny układ zapewniający stałą wartość 1800, co zwiększa złożoność miernika.
I tu moja prośba o pomoc. Na czym ten układ mrugania zrobić, tak by było to w miarę mało skomplikowane? Z góry dziękuję.
Miganie wyświetlacza LED
Przejrzyj sobie tę notę, jest tam parę ciekawych schematów i modyfikacji.
http://www.intersil.com/data/fn/fn3082.pdf
Natomiast w praktyce, aby miało to jakiś większy sens należało by zaprzęgnąć do tego jaki układ PLD/CPLD, który ci to zdekoduje i wysteruje. Proste to bynajmniej nie będzie jak to chcesz zrobić na tradycyjnych scalakach.
2 GALe22V10 odpowiednio zaprogramowane by chyba temu poradził + odpowiednie bufory jeżeli trzeba.
Jeden GAl by dekodował liczbę 1800, drugi dzielił częstotliwość z oscylatora ICLa i mrygał LEDkami kiedy trzeba.
Ogólnie logika to 2 scalaki, lub jeden bardziej zaawansowany np. ISPLSI2032, XC9536.
PS. Nie wiem czy się nie pomyliłem, ale właściwie wystarczy zdekodować tylko liczbę 18xx (gdzie xx to cyfry bez znaczenia) i/lub większą, reszty sprawdzać nie trzeba.
http://www.intersil.com/data/fn/fn3082.pdf
Natomiast w praktyce, aby miało to jakiś większy sens należało by zaprzęgnąć do tego jaki układ PLD/CPLD, który ci to zdekoduje i wysteruje. Proste to bynajmniej nie będzie jak to chcesz zrobić na tradycyjnych scalakach.
2 GALe22V10 odpowiednio zaprogramowane by chyba temu poradził + odpowiednie bufory jeżeli trzeba.
Jeden GAl by dekodował liczbę 1800, drugi dzielił częstotliwość z oscylatora ICLa i mrygał LEDkami kiedy trzeba.
Ogólnie logika to 2 scalaki, lub jeden bardziej zaawansowany np. ISPLSI2032, XC9536.
PS. Nie wiem czy się nie pomyliłem, ale właściwie wystarczy zdekodować tylko liczbę 18xx (gdzie xx to cyfry bez znaczenia) i/lub większą, reszty sprawdzać nie trzeba.
Dosyć sensownie to wygląda, z tym że czy w tym rozwiązaniu nie byłoby tak, że włączenie generatora następowałoby nawet przy 180,0? To też jest prawidłowy wynik, stąd w mojej propozycji dodatkowe wyprowadzenia do dwóch ostatnich wyświetlaczy z warunkiem "różne od 0". Ale propozycja mi się podoba, mam nadzieję że podołam, jak coś zrobię, z pewnością przedstawię do weryfikacji.tom5555 pisze:Do zrobienia tego w sposób cyfrowy wystarczy ośmiowejściowa bramka NAND, sterująca generatorem na 555, który z kolei kluczował by zasilanie anod wyświetlaczy. Pod bramkę NAND były by podłączone wszystkie segmenty drugiego wyświetlacza i jedynka pierwszego wyświetlacza.
Jeśli chodzi o rozwiązanie analogowe to wydaje mi się, że wprowadzało by błąd do mierzonej wartości. A pomysł jest taki, żeby pomiar fazy był w miarę dokładny, tak gdzieś do 0,5% błędu wynikającego z metody.
Myślałem też o GALach, ale CUPLa słabo pamiętam, więc musiałbym sobie przypomnieć i zrobić jeszcze programator, więc jeśli się nie uda rozwiązanie z bramkami i 555 to kto wie...
Chodziło mi raczej o blokowanie pracy generatora, np. nóżką RESET kostki '555. Do wyjścia tej kostki podpięty, przez rezystor oczywiście, tranzystor PNP podawał by napięcie na anody wyświetlaczy. Stan niski na wejściu reset - stan niski na wyjściu - tranzystor załączony na stałe i wyświetlacze świecą ciągle. Stan wysoki na wejściu reset - generator pracuje z częstotliwością ok. 2Hz - wyświetlacze migają.
Można też sterować tranzystor bezpośrednio z wyjścia bramki. Tranzystor gasił by wtedy tylko trzy ostatnie wyświetlacze (na pierwszym świeciła by się tylko 1), co wyglądało by jak normalna sygnalizacja przekroczenia zakresu przez ICL 7107.
Można też sterować tranzystor bezpośrednio z wyjścia bramki. Tranzystor gasił by wtedy tylko trzy ostatnie wyświetlacze (na pierwszym świeciła by się tylko 1), co wyglądało by jak normalna sygnalizacja przekroczenia zakresu przez ICL 7107.