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

Budowa sterownika PLC - prośba o radę, analizę schematu

len1991 29 Maj 2015 11:18 4185 16
  • #1 14729916
    len1991
    Poziom 9  
    Posty: 26
    Ocena: 2
    Witam.
    Buduję sterownik PLC na mikrokontrolerze Atmega32A. Założenia są takie, że ma on posiadać 8 wejść cyfrowych, 16 wyjść tranzystorowych (8 NPN i 8 PNP), dodatkowo 16 wyjść przekaźnikowych (8 NO i 8 NC - przekaźnik C/NC/NO, sterowane za pomocą tranzystorów NPN). Do rozdzielenia 8 wyjść cyfrowych z Atmegi na 32 użyłem dwóch demultiplexerów/decoderów 4/16 Motorola.

    Problem jest taki, że osoba nadzorująca mój projekt z niewiadomych mi przyczyn przestała się do mnie odzywać, a mnie goni termin. Ponoć schemat który stworzyłem nie będzie działać poprawnie, gdyż napięcia sterujące nie będą w stanie utrzymać się na w zakresie napięć TTL 5V.

    Zerknie ktoś na mój schemat i podpowie gdzie popełniłem błąd? Gdyż ja sam błędu nie widzę, a moje doświadczenie w elektronice jest małe. Proszę o pomoc. Dziękuję z góry :)

    Budowa sterownika PLC - prośba o radę, analizę schematu
  • #2 14730194
    kasjo
    Poziom 26  
    Posty: 769
    Pomógł: 94
    Ocena: 88
    Wyjścia są podłączone przez demultiplexery? A jak będziesz chciał wysterować dwa wyjścia na raz?
  • #3 14730579
    len1991
    Poziom 9  
    Posty: 26
    Ocena: 2
    Maksymalnie dwa wyjścia będą aktywne, po jednym z każdego demultiplexera, zdaję sobie z tego sprawę. Pomijając ten fakt, co jest zrobione niepoprawnie odnośnie wyjść układu? Dlaczego niby na wyjściach nie będzie sygnałów w zakresie TTL 5V? I co zrobić żeby był?
  • Pomocny post
    #4 14730638
    PiotrPitucha
    Poziom 34  
    Posty: 2658
    Pomógł: 201
    Ocena: 423
    Witam
    Na PNP nie uzyskasz 0V , a na NPN nie uzyskasz 5V, bo kolektory tranzystorów podłączone są przez rezystor i diodę.
    To łatwo wyeliminować dodając równolegle do diody i rezystora następny rezystor podłączony do GND ( dla PNP ), lub +5V ( dla NPN ) z kolektora tranzystora.
    Jeśli to nie ma być kosmicznie szybkie to 1K wystarczy.
    Druga sprawa, oporniki z bazy tranzystorów PNP powinny być podłączone do +5V a nie jak u Ciebie do GND, przy tranzystorach NPN jest poprawnie.
    Pozdrawiam
  • #5 14730845
    len1991
    Poziom 9  
    Posty: 26
    Ocena: 2
    Nie za bardzo wiem dlaczego dla PNP pod rezystor podciągający należy podpiąć 5V, możesz mi to wytłumaczyć tak po krótce? Bo ja sobie to tłumaczyłem tak, że rezystor podciągający w razie wystąpienia stanu nieustalonego ma podciągnąć 0V do tranzystora. Lecz widzę teraz że źle myślałem.
    Na poprzednim połączeniu elementów do tranzystorów dochodziło napięcie około 4,5V (do rezystora) i poniżej 4,3V (do samego tranzystora) z demultiplexera, lecz NPN się nie otwierał, a PNP nie zamykał.

    PiotrPitucha możesz zerknąć na poprawione przeze mnie połączenie tranzystorów wg twoich wskazówek?

    Budowa sterownika PLC - prośba o radę, analizę schematu
  • Pomocny post
    #6 14731595
    PiotrPitucha
    Poziom 34  
    Posty: 2658
    Pomógł: 201
    Ocena: 423
    Witam
    Teraz jest według mnie poprawnie.
    Rezystory 1K w kolektorach gwarantują że na kolektorach niewysterowanych tranzystorów pojawia się odpowiednio +5V i 0V, poprzednio napięcie to było pomniejszone o spadek napięcia na LEDach, co szczególnie dla tranzystorów PNP powodowałoby trudności we współpracy z TTL.
    Dla tranzystora NPN sprawa jest mniej krytyczna, bo na wejściach TTL są rezystory podciągające i miałoby to szansę poprawnej pracy, ale już dla CMOS nie byłoby takiej szansy.
    Co do 10K w bazie tranzystora, to zasada jest taka by bez wysterowania tranzystora nie był on załączony, czyli ten rezystor łączymy między bazę i emiter, emiter w PNP masz na zasilaniu +5V, czyli w PNP dajemy rezystor od bazy do zasilania.
    Gdyby ten rezystor był podłączony do GND to uwzględniając rezystancję wyjściową multiplexera mogłoby się zdarzyć , że napięcie Ube niezależnie od stanu multiplexera powodowałoby stałe zamknięcie tranzystora PNP.
    Pozdrawiam
  • #7 14731863
    len1991
    Poziom 9  
    Posty: 26
    Ocena: 2
    Świetnie to wytłumaczyłeś. Zdam relację jak na nowo poskładam układ.
    Dziękuję za pomoc :)
  • #8 14733099
    len1991
    Poziom 9  
    Posty: 26
    Ocena: 2
    Jeszcze jedno pytanko, słyszałem kiedyś o takim prawie, że co trzeci sygnał TTL powinien być podpięty kondensatorem przeciw-szumowym do masy, np. 100nF. Słyszał ktoś już o takim prawie? I jeżeli jest to prawda, to dlaczego akurat co trzeci sygnał?
  • #9 14733242
    piotrd76
    Specjalista Automatyk
    Posty: 281
    Pomógł: 35
    Ocena: 67
    Mnie uczono tylko o takim, że przy każdym układzie TTL nalezy dać kondensator odsprzęgający pomiędzy zasilaniem a masą, jak najbliżej wyprowadzeń układu.
  • #10 14737451
    len1991
    Poziom 9  
    Posty: 26
    Ocena: 2
    Wspominał mi pewnego razu jeden mądrzejszy uczony dr hab. właśnie o takim prawie, lecz czy miał on na myśli sygnały wejść czy wyjść, tego już się nie dowiedziałem.
    Mam jeszcze jedno pytanie odnośnie pinu RESET. Żeby wykonać restart programu domyślam się że powinienem jeszcze podłączyć równolegle za rezystor przycisk zwierający do masy. Potrafi mi ktoś narysować takie połączenie? Pewnie gdzieś po drodze jeszcze będą kondensatory do masy, a ja widziałem już parę różnych podłączeń RESETU i sam nie wiem jak ono ma wyglądać.
    Proszę o podpowiedzi :)
  • Pomocny post
    #11 14737744
    PiotrPitucha
    Poziom 34  
    Posty: 2658
    Pomógł: 201
    Ocena: 423
    Witam
    Poszukaj w googlach "atmega reset circuit", jest tam dokument PDF na temat polecanych przez Atmela układów resetu ( www.kanda.com/files/isp_circuits.pdf ).
    Zwróć uwagę, że pin RESET jest używany przy programowaniu i nie można bezkrytycznie zwiększać pojemności kondensatora jeśli zdecydujemy się na jego zastosowanie.
    Typowy układ to:
    - rezystor 4,7K z pinu RESET do +5V,
    - kondensator 10nF z pinu RESET do GND,
    - klawisz RESET z pinu RESET do GND,
    - Atmel zaleca jeszcze diodę z pinu RESET do +5V ( katodą do +5V ).
    Co do diody to myślę że przy klasycznym programatorze ISP nie będzie stanowiła problemu, natomiast przy wszystkich operacjach polegających na podaniu wyższego napięcia na pin RESET skutkowałoby to podaniem na Vcc napięcia destrukcyjnego dla procesora, więc jeśli masz procesor w SMD to przeanalizuj czy dioda w układzie nie będzie problemem.
    Pozdrawiam
  • #12 14764445
    len1991
    Poziom 9  
    Posty: 26
    Ocena: 2
    Witam Panów. Poskładałem układ na nowo za pomocą płytki prototypowej. Mam taki problem, że na wyjściach z demultiplexera podłączyłem diodki LED, lecz posiadam zaledwie 2.5V pomimo jego zasilania 5V. Dlaczego Jest tam taki duży spadek napięcia? I co mogę zrobić żeby go wyeliminować? Gdyż zaledwie 2,5V Raczej nie wystarczy do otwarcia tranzystora.
    Proszę o pomoc. Pozdrawiam
  • #13 14764984
    PiotrPitucha
    Poziom 34  
    Posty: 2658
    Pomógł: 201
    Ocena: 423
    Witam
    A jak podłączyłeś te LEDy?
    Dałeś rezystor szeregowy?
    2,5V spokojnie starczy do wysterowania tranzystora, demultiplexer CMOS ma małą obciążalność, jeśli chcesz polepszyć poziomy uzyskiwane w Twoim układzie to zmień demultiplekser na układ z serii HC, nie wymaga to zmiany schematu a tylko wymiany scalaka na inny typ.
    Piotr
  • #14 14765084
    len1991
    Poziom 9  
    Posty: 26
    Ocena: 2
    Na próbę podłączyłem z rezystorem 150 Ohm (obliczyłem opór dla 5V i 0,02A) w szeregu i napięcie dochodzące do diody to 2,5V. Co dziwne, jak dla mnie przynajmniej, jeżeli podłączę LED bez rezystora to napięcie spada do 1,5V. Pomyślałem że przy 2,5V dioda się jeszcze nie spali i podłączę bez oporu, lecz jeszcze gorzej.
    Stan wysoki TTL zaczyna się od 2,4V, powiem szczerze że bałbym się w takim układzie o sterowanie bazą tranzystora, bo jeżeli spadek napięcia z niewiadomych przyczyn będzie chwilowo jeszcze większy (spadnie np. do 2V) wtedy wszystko przestanie działać albo zrobi się mrugająca choinka.
    Zorientuję się za innym demultiplexerem, ewentualnie jest jakiś sposób na podniesienie tego napięcia? Np. zastosowanie jeszcze jednego tranzystora o mniejszym napięciu bazy przed tym obecnym?
  • Pomocny post
    #15 14765428
    slawussj
    Poziom 34  
    Posty: 1798
    Pomógł: 244
    Ocena: 255
    Poczetaj o układach TTL. Dla nich stan w którym mają pewną wydajność prądową jest stan niski. Jeśli w stanie H wyjście obciążone 15mA ma aż 2,5V, to i tak bardzo dużo, ale zupełnie wystarczy do otwarcia tranzystora. Swoją drogą ATmega w plc, to chyba tylko na próbę, bo w maszynie zakłócenia w ogóle uniemożliwią poprawną pracę.
  • Pomocny post
    #16 14765486
    piotrd76
    Specjalista Automatyk
    Posty: 281
    Pomógł: 35
    Ocena: 67
    Daj układ z serii HC/HCT, zdecydowanie lepiej sterują większe obciążenia, ewentualnie jak już chyba koledzy wcześniej pisali, bufory z wyjściem OC.
    A tak przy okazji, może głupia rzecz ale warto sprawdzić - zerknąłeś oscyloskopem czy wyjścia na pewno wysterowane są statycznie, czy też masz na nich prostokąt o jakimś współczynniku wypełnienia?

Podsumowanie tematu

✨ Użytkownik buduje sterownik PLC oparty na mikrokontrolerze Atmega32A, który ma 8 wejść cyfrowych, 16 wyjść tranzystorowych (8 NPN i 8 PNP) oraz 16 wyjść przekaźnikowych. W trakcie realizacji projektu napotkał problemy z napięciami sterującymi, które nie osiągają wymaganych poziomów TTL 5V. Uczestnicy dyskusji wskazali na błędy w podłączeniu tranzystorów, sugerując poprawki, takie jak dodanie rezystorów podciągających oraz odpowiednie podłączenie bazy tranzystorów PNP do +5V. Użytkownik zaktualizował schemat zgodnie z sugestiami, jednak nadal borykał się z niskim napięciem na wyjściu demultiplexera, co prowadziło do problemów z otwieraniem tranzystorów. Rekomendowano zmianę demultiplexera na model z serii HC, który lepiej radzi sobie z obciążeniem. Dodatkowo poruszono kwestie dotyczące układu resetu mikrokontrolera oraz zastosowania kondensatorów przeciw-szumowych.
Wygenerowane przez model językowy.
REKLAMA