logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] Jak zbudować układ liczący włączone przyciski na 74xx lub MCU?

piotr_s_71 27 Kwi 2020 00:47 846 28
REKLAMA
  • #1 18650294
    piotr_s_71
    Poziom 10  
    Posty: 31
    Ocena: 7
    Witam

    poszukuję rozwiązania układu

    - 10 włączników
    - licznik/ układ kontrolny
    - wyświetlacz LED

    licznik ma liczyć ile włączników jest włączonych i ma być to wyświetlone na wyświetlaczu. ( 1 do 10 )

    czy coś takiego można zrobić w cyfrówce 74- czy treba użyć jakiegoś procka?

    Nie nadają się do tego enkodery DEC to BCD bo kolejność przycisków musi być "binarna" ( w moim przypadku kolejność może być losowa ).

    Nie mogę znależć rozwiązania i proszę o jakąś pomoc.
  • REKLAMA
  • #2 18650306
    CYRUS2
    Poziom 43  
    Posty: 17982
    Pomógł: 1240
    Ocena: 3521
    piotr_s_71 napisał:
    czy coś takiego można zrobić w cyfrówce 74- czy treba użyć jakiegoś procka?
    Można zrobić,w 74
    Z czym mają być połączone te przyciski.
    Zadanie domowe= z niczym ?

    Na procku będzie to mniejsze. Ale ktoś musi napisać program.
  • REKLAMA
  • #3 18650426
    piotr_s_71
    Poziom 10  
    Posty: 31
    Ocena: 7
    Mam pomysł zbudować tester-pasywne obciążenie np. do zasilaczy.
    przełączniki będą załączały rezystory do ustawienia obciążenia i wyświetlacz ma wskazywać ile rezystorów jest podłączonych.
    Nie chodzi mi o wskażnik prądu tylko o wskażnik ilości przełączników.

    Szukam możliwie prostego rozwiązania,
  • REKLAMA
  • #4 18650570
    jarek_lnx
    Poziom 43  
    Posty: 22711
    Pomógł: 4194
    Ocena: 6111
    Cytat:
    Nie chodzi mi o wskażnik prądu tylko o wskażnik ilości przełączników.

    Szukam możliwie prostego rozwiązania,
    Wskaźnik prądu daje bardziej użyteczną informację i jest prostszy do zastosowania - można kupić gotowy, można zrobić według jakiegoś sprawdzonego schematu.

    Wskaźnik ilości włączonych włączników robił bym na mikrokontrolerze bo najprościej. Inne rozwiązania jakie mogę sobie wyobrazić to układ sekwencyjny który przepisze stan do rejestru przesuwającego i wyśle do licznika, albo układ analogowy w którym każdy włącznik da prąd na wejście wzmacniacza sumującego, a inny układ zmierzy napięcie (może LM3914).[/quote]
  • #5 18650764
    CYRUS2
    Poziom 43  
    Posty: 17982
    Pomógł: 1240
    Ocena: 3521
    piotr_s_71 napisał:
    Mam pomysł zbudować tester-pasywne obciążenie np. do zasilaczy.
    Nie chodzi mi o wskaźnik prądu tylko o wskażnik ilości przełączników.
    Możliwe, że autorowi nie chodzi o prąd, ale o rezystancje obciążenia niekonieczne zasilacza.
    Napisał na przykład do zasilaczy.

    Autor musi podać więcej informacji.
  • #6 18650787
    piotr_s_71
    Poziom 10  
    Posty: 31
    Ocena: 7
    wkaźnik prądu i napięcia też mam zamiar zastosować.
    Łatwiejsze byłoby zastosować przełącznik obrowowy 10-cio pozycyjny i kolejno dołączać rezystory ale wystąpi problem z rozłożeniem prądów na przełączniku, gdyż główny prąd bedzie "szedł" przez wspólną jego końcówkę (prądy do 20A). Dlatego myślę aby zastosować indywidualne przełączniki dla każdego rezystora i na wyświetlaczu szybko odczytywać ich stan.

    Dodano po 6 [minuty]:

    dodam jeszcze, że staram się użyć układu "pasywnego" tzn. w jak najmniejszym stopniu użycie układu wpłynęło by na warunki pracy badanego układu
    np. użycie samych rezystorów i przełączników nie wymaga użycia dodatkowego zasilania lub użycia zasilania z układu.
    można np. kilka takich układów użyć do sprawdzenia zasilaczy ATX bez problemu wspólnej masy czy różnych napięć - dodatnich czy ujemnych.
  • #7 18650837
    CYRUS2
    Poziom 43  
    Posty: 17982
    Pomógł: 1240
    Ocena: 3521
    Znany jest cel stosowania wyłączników.
    piotr_s_71 napisał:
    Łatwiejsze byłoby zastosować przełącznik obrowowy
    Z tego wynika,że rezystory są połączone szeregowo.
    Tu będzie problem ze sprzężeniem tego z układem zliczającym.
  • #8 18650902
    jarek_lnx
    Poziom 43  
    Posty: 22711
    Pomógł: 4194
    Ocena: 6111
    Cytat:
    Łatwiejsze byłoby zastosować przełącznik obrowowy 10-cio pozycyjny i kolejno dołączać rezystory ale wystąpi problem z rozłożeniem prądów na przełączniku, gdyż główny prąd bedzie "szedł" przez wspólną jego końcówkę (prądy do 20A). Dlatego myślę aby zastosować indywidualne przełączniki dla każdego rezystora i na wyświetlaczu szybko odczytywać ich stan.
    Można przecież załączać rezystory przez przekaźniki, albo przez tranzystory.

    Rozwiązanie o tyle dobre, że niewielkim dodatkowym kosztem (zasilanie i przekaźniki) znacząco poprawiasz funkcjonalność - możesz dowolnie łączyć rezystory stosując dowolny przełącznik, połączenie pomiędzy przełącznikiem a przekaźnikami nie musi być 1:1
    Przykładowo na czterech rezystorach R, 2R,4R,8R łączonych szeregowo uzyskasz 15 stanów, typowy przełącznik wielopozycyjny nie pozwoli ci na takie połączenie.

    Są przełączniki i nastawniki z wyjściem w kodzie binarnym, a jakby były drogie lub trudnodostępne to możesz wykonać dekoder diodowy na wyjściu zwykłego przełącznika. Przełacznik wielopozycyjny na małe prądy będzie tańszy i mniejszy od takiego na duże.
    Właściwie w obecnych czasach pośrednie sterowanie jest tak powszechne, że wielopozycyjny przełącznik na duże prądy niezwykle trudno znaleźć, musiał byś wygrzebać z jakiegoś starego sprzętu - w rezystorach dekadowych były bardzo solidne.

    Przykłady czego można użyć do nastawiania
    Jak zbudować układ liczący włączone przyciski na 74xx lub MCU? Jak zbudować układ liczący włączone przyciski na 74xx lub MCU? Jak zbudować układ liczący włączone przyciski na 74xx lub MCU? Jak zbudować układ liczący włączone przyciski na 74xx lub MCU?
  • #9 18650931
    piotr_s_71
    Poziom 10  
    Posty: 31
    Ocena: 7
    rezystory bedą podłączane równolegle,
    wersja z przekaźnikami trochę odpada, bo gdy chciałbym mieć rezystor co 1A i drugi zestaw co 0.1 A to musiałbym minimum 20 przekaźników zastosować do jednego zestawu.

    Dodano po 28 [minuty]:

    a wracając do tytułu,
    czy można w jakiś prosty sposób zrobić wskaźnik cyfrowy -ile przycisków jest załączonych w układzie?

    w układzie 0-1 jest 1024 wyników-stanów które są poprawne- dla 10 przełączników, jak sie nie myle.

    jak "przefiltrować" wynik na rozwiązanie?
  • #10 18651055
    jarek_lnx
    Poziom 43  
    Posty: 22711
    Pomógł: 4194
    Ocena: 6111
    piotr_s_71 napisał:
    rezystory bedą podłączane równolegle,
    wersja z przekaźnikami trochę odpada, bo gdy chciałbym mieć rezystor co 1A i drugi zestaw co 0.1 A to musiałbym minimum 20 przekaźników zastosować do jednego zestawu.
    Nie zrozumiałeś przekazu, cztery oporniki dają 15 możliwych ustawień, 7 oporników daje 127 stanów. Po co stosować dziesięć takich samych jeśli można cztery różne.

    Dodano po 8 [minuty]:

    piotr_s_71 napisał:
    w układzie 0-1 jest 1024 wyników-stanów które są poprawne- dla 10 przełączników, jak sie nie myle.

    jak "przefiltrować" wynik na rozwiązanie?
    Można wykonać to jako układ kombinacyjny, od razu z wyjściem na wyświetlacz, ale minimalizacją funkcji logicznych lepiej żeby zajął się algorytm komputerowy, bo rozpisanie kilku 1024 polowych tablic Karnaugh-a, nie wydaje się realne dla człowieka, a gotowy układ pewnie lepiej było by zaprogramować w CPLD.

    Dlatego zaproponowałem przetworzenie równoległego sygnału wejściowego na szeregowy który można podać na wejście licznika, nie jest to aż tak skomplikowany. Jeśli oczywiście wolisz unikać uC.
  • #11 18651089
    piotr_s_71
    Poziom 10  
    Posty: 31
    Ocena: 7
    Jak zbudować układ liczący włączone przyciski na 74xx lub MCU? pomyślałem, że w Twoim rozwiązaniu muszę zastanowić sie które mam włączyć dla uzyskania właściwych nastaw.
    Przy zastosowaniu dziesięciu przełączników np. 6 włączonych to wartość jest 6.

    Dodano po 2 [minuty]:

    myślę też o rozkładzie mocy, każdy dołączony rezystor , w układzie równoległym, przejmie na siebie prąd i moc.

    Dodano po 31 [minuty]:

    układ przełączników wyglądał by tak: Jak zbudować układ liczący włączone przyciski na 74xx lub MCU?
    (lepszy obrazek)
  • #12 18651272
    Marian B
    Poziom 38  
    Posty: 3487
    Pomógł: 392
    Ocena: 1161
    A może by tak całkiem proste rozwiązanie, bez udziwnień.
    Do każdego rezystora równolegle podłączona LED ze swoim rezystorkiem. Chyba nie będzie problemu policzyć "jednym rzutem oka" ile LED świeci. Można też LED umieścić w postaci linijki.
    Rezystory "główne" mogą być włączane dowolnie, nie po kolei wtedy też będzie to widać w postaci "szczerbatej" linijki.
  • #13 18651383
    CYRUS2
    Poziom 43  
    Posty: 17982
    Pomógł: 1240
    Ocena: 3521
    piotr_s_71 napisał:
    Przy zastosowaniu dziesięciu przełączników np. 6 włączonych to wartość jest 6.
    Po co 6 ?
    Przy 4-rech rezystorach i 4- rech przekaźnikach masz 15 wartości rezystancji.
    Chciałeś 10 masz 15 -źle ?
    Wartości rezystorów muszą być w kodzie dwójkowym.
    Np.1Ω-2Ω-4Ω-8Ω suma to 15Ω
    Układ zliczania zbędny. Wartości rezystancji ustawia nastawnik 4-bitowy.pracujący na znikomym prądzie.

    Ten układ to odpowiednik przetwornika cyfrowo -analogowego.
    piotr_s_71 napisał:
    czy można w jakiś prosty sposób zrobić wskaźnik cyfrowy -ile przycisków jest załączonych w układzie?
    To można odczytać z nastawnika.
    Dekoder 7-segmentowy masz liczby 0-9.
  • #14 18651525
    piotr_s_71
    Poziom 10  
    Posty: 31
    Ocena: 7
    to nie jest tylko kwestia ilości rezystorów. układ 1-2-4-8 wydaje sie prosty i logiczny, ale jakiej mocy muszą być rezystory do wymuszenia na 5v prądu 10A?
    5V x 1A = 5W
    5V x 2A = 10W...

    dlatego myślałem, że równomierne rozłożenie mocy na 10 rezystorów i prądu na 10 przełączników, byłoby lepsze.

    Oczywiście można złozyć rezystory dla uzyskania większej mocy, ale prąd przełączników zmienia się.
  • #15 18651886
    _jta_
    Specjalista elektronik
    Posty: 49088
    Pomógł: 3212
    Ocena: 4248
    Co właściwie trzeba uzyskać? Czy coś takiego, że jeśli włączysz N przycisków, to niezależnie od tego, które to będą, wyświetlacz pokaże liczbę N?

    Być może użyteczny byłby tu 74275 = 7-bit slice Wallace tree, ale nie wiem, czy jest do kupienia, a poza tym zliczy tylko 7... 2 takie układy i 74x83?

    Można też użyć pamięci (E)PROM 1024-bajtowej i przełączniki podłączyć pod adres, odpowiednio ją zaprogramować...

    I można zrobić na bramkach, ale pewnie trochę dużo ich na to pójdzie. Dodawanie 2 liczb 1-bitowych używa bramek AND i EOR, po jednej; np. 5 takich sumatorów i mamy 5 liczb 2-bitowych... a może wykombinować sumator 3 liczb 1-bitowych (5 bramek)?
  • REKLAMA
  • #16 18651935
    piotr_s_71
    Poziom 10  
    Posty: 31
    Ocena: 7
    pomysł z pamięcią EPROM jest interesujący.

    Wystarczy stan przełączników wstawić w adresy i adresy komórek odpowiednio zaprogramować np. stany BCD i wrzucić to na wyświetlacz.
  • #17 18652377
    CYRUS2
    Poziom 43  
    Posty: 17982
    Pomógł: 1240
    Ocena: 3521
    piotr_s_71 napisał:
    pomysł z pamięcią EPROM jest interesujący.
    Wystarczy stan przełączników wstawić w adresy i adresy komórek odpowiednio zaprogramować np. stany BCD i wrzucić to na wyświetlacz.
    Kod binarny koledze nie pasuje.
    Post #11 oznancza że wracamy do postu #1
  • #19 18652541
    piotr_s_71
    Poziom 10  
    Posty: 31
    Ocena: 7
    kod binarny tego nie rozróżni.
    Np. stany (1 - przełącznik załączony)
    1000000000 1
    0100000000 2
    0010000000 4
    0001000000 8
    0000100000 16
    0000010000 32
    0000001000 64
    0000000100 128
    0000000010 256
    0000000001 512

    dla mnie mają dać wynik 1

    stosując pamięć EPROM (Np. 2708, adresy A0-A9) można wymyszać przełącznikami adres komórki w której jest zaprogramowany jakić decelowy stan wyjść, czli praktycznie można zaprogramować w jednej starej kostce dowolną zależność wejść(adresów) z wyjściami(Dane).

    Pamiętam kiedyś taki projekt w jakiejś gazecie (internetu wtedy nie było - były takie czasy ). dwoma przyciskami ustawiało się cykliczne adresowanie na scalakach TTL zaprogramowanej pamięci Eprom co ustawiało 8 wyjść w różnych sekwencjach. wyjścia te sterowały poprzez Triaki lub Tyrystory 8 sekwencji żarówek - jako efekt np. na dyskotekę. Wtedy było dużo urządzeń gdzie stosowano pamięci Eprom i nawet nie trzeba było specjalnie jakiejś programować pod to urządzenie gdyż "gotowe wsady" dawały niezłe efekty-sekwencje.
  • #20 18652624
    _jta_
    Specjalista elektronik
    Posty: 49088
    Pomógł: 3212
    Ocena: 4248
    https://pl.wikipedia.org/wiki/Wy%C5%9Bwietlacz_siedmiosegmentowy '0' = abcdef- / '1' = -bc---- / '2' = ab-de-g ...
    Bity w bajcie pamięci: 1=a, 2=b, 3=c, 4=d, 5=e, 6=f, 7=g, 0 byłby dla kropki. Przykładowe zawartości komórek:
    0000000000 7e '0'
    0000010000 0c '1'
    0001000100 b6 '2'
    0010010010 9e '3'
    ... i można podłączyć wyświetlacz wprost do pamięci. Tylko jak pokazać 10? Może jako 'A', czyli ee (abc-efg).
  • #21 18652631
    piotr_s_71
    Poziom 10  
    Posty: 31
    Ocena: 7
    to jest genialne...

    ... i programu nie trzeba specjalnie pisać,

    kilka elementów i działa
  • #22 18652652
    karel47
    Poziom 19  
    Posty: 259
    Pomógł: 34
    Ocena: 24
    _jta_ napisał:
    Tylko jak pokazać 10? Może jako 'A', czyli ee (abc-efg).

    Siedem bitów użyć do wyświetlacza jedności, a ósmy bit obsługiwał by wyświetlacz dziesiątek (cyfra 1- segmenty b i c).
  • Pomocny post
    #23 18652830
    _jta_
    Specjalista elektronik
    Posty: 49088
    Pomógł: 3212
    Ocena: 4248
    Czyli bit 0 do wyświetlania '1' jako cyfry dziesiątek, i bajt 7f pod adresem 1111111111.

    Ale jakiś program lepiej napisać, żeby wyliczył te 1024 bajty - ręcznie sporo roboty i łatwo o pomyłkę.
  • #24 18652928
    CYRUS2
    Poziom 43  
    Posty: 17982
    Pomógł: 1240
    Ocena: 3521
    Po poście # 11 wrcamy do postu #1
    Jak kolega wymyślił inna realizacje niż w poście#11 to niech kolega to przynajmniej napisze.
    piotr_s_71 napisał:
    pomysł z pamięcią EPROM jest interesujący.
    Wystarczy stan przełączników wstawić w adresy i adresy komórek odpowiednio zaprogramować np. stany BCD i wrzucić to na wyświetlacz.
    Nie wstawisz stanów przełaczników do pamieci EPROM.
    piotr_s_71 napisał:
    Nie nadają się do tego enkodery DEC to BCD bo kolejność przycisków musi być "binarna" ( w moim przypadku kolejność może być losowa ).
  • #25 18652979
    piotr_s_71
    Poziom 10  
    Posty: 31
    Ocena: 7
    Stan przełączników to adres pamięci a dane to stan na wyświetlacz.

    Ja to tak zrozumiałem.

    Można dowolnie programować pamięć. Np. adres 0100100101 da mi dane do sterowania 4 na wyświetlaczu 8 segmentowym (7 + kropka). Problem z 10 (dziesiątką) nie jest duży bo mamy do dyspozycji 8 wyjść dla wyświetlacza 7-segmentoweg LED.Dziesiątka może być kropką lub 1 na kolejnym wyświetlaczu, albo można użyć wartości od 0-9 ( co jest wystarczające do projektu).

    wracając do głównego tematu, szukałem prostego rozwiązania do mojego projektu na wskażnik ile przełączników jest wciśniętych i myślę, że układ z pamięcią EPROM (lub inną pamięcią z wpisem równoległym) jest najmniej skomplikowany.
  • Pomocny post
    #26 18653141
    _jta_
    Specjalista elektronik
    Posty: 49088
    Pomógł: 3212
    Ocena: 4248
    Co do możliwości zrobienia na bramkach, to takie coś jest elementem układu mnożenia liczb metodą Wallace tree.

    Prościej mógłby być zrobiony układ działający sekwencyjnie: generator sygnału zegarowego podaje impulsy na CD4017 z wyjściami połączonymi poprzez oporniki z przełącznikami łączącymi do masy, zasilany tak, by wykrywać prąd opornika (poprzez bazę tranzystora PNP); ten prąd ma bramkować impulsy podawane na 4-bitowy licznik binarny; za każdym razem, gdy CD4017 przeskakuje na początek, stan tego 4-bitowego licznika jest przepisywany do 4-ch przerzutników D, i zerowany - na tych przerzutnikach dostajemy liczbę wciśniętych przycisków. W sumie 3 układy scalone i ze 4 tranzystory (generatorem może być multiwibrator astabilny z 2 tranzystorów). Ale jeszcze potrzebny dekoder BCD do wyświetlacza.

    Albo częsciowo analogowo: przyciski z opornikami, i sumowanie prądów oporników, żeby uzyskać napięcie proporcjonalne do ilości wciśniętych przycisków; to napięcie podać na ADC (wystarczy o rozdzielczości 4-bitowej). Ale można użyć ICL7107 (da od razu sygnał na wyświetlacz LED), albo miernika z czymś podobnym (tak dobrać napięcie zasilania oporników, żeby wskazanie miernika było równe ilości wciśniętych przycisków).
  • #27 18653198
    piotr_s_71
    Poziom 10  
    Posty: 31
    Ocena: 7
    Myślę, że to na bramkach trochę komplikuje układ.

    Wieczorem może narysuje schemat mojej koncepcji.

    Dodano po 2 [godziny] 21 [minuty]:

    Jak zbudować układ liczący włączone przyciski na 74xx lub MCU?


    zgodnie z rysunkiem, dla jednego załączonego włącznika, czyli
    1000000000 (adres 1)
    0100000000 (adres 2)
    0010000000 (adres 4)
    0001000000 (adres 8)
    ....itd

    wynik powinien być 01000001 aktywne segmenty B i C (dla wspólnej katody)
  • #28 18656111
    piotr_s_71
    Poziom 10  
    Posty: 31
    Ocena: 7
    Dzięki za pomoc.

    Zamykam temat.

    później dam znać jak wykonam projekt.

    Pozdrawiam
  • #29 18656119
    piotr_s_71
    Poziom 10  
    Posty: 31
    Ocena: 7
    Dzięki za pomoc.

    Zamykam temat.

    później dam znać jak wykonam projekt.

    Pozdrawiam

    Dodano po 3 [minuty]:

    spróbuję wykorzystać zaprogramowaną pamięć EPROM jako konwerter stanów 1 do 10 na 7-segment LED.

Podsumowanie tematu

✨ Użytkownik poszukuje rozwiązania do zbudowania układu liczącego, który zliczałby włączone przyciski (10 sztuk) i wyświetlał wynik na wyświetlaczu LED. W dyskusji zaproponowano różne podejścia, w tym użycie mikrokontrolera, układów 74xx, a także pamięci EPROM do programowania stanów wyjściowych. Wskazano na możliwość zastosowania rezystorów w połączeniu równoległym oraz wykorzystania przekaźników lub tranzystorów do załączania rezystorów. Uczestnicy dyskusji podkreślili, że układ powinien być prosty i nie wpływać na warunki pracy badanego układu. Ostatecznie, autor planuje wykorzystać zaprogramowaną pamięć EPROM jako konwerter stanów 1 do 10 na wyświetlacz 7-segmentowy.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA