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

ATMEGA - Element wykonawczy do układy kontroli temperatury

smithpl 19 Lis 2012 13:57 6366 31
Najlepsze odpowiedzi LABEL_AI_GENERATED

Jak uzyskać z ATmegi analogowe wyjście 0–10 V proporcjonalne do temperatury i jaki układ wykonawczy zastosować?

Najprościej zastosować DAC, a jeśli go nie masz, użyć PWM z filtrem RC i wzmacniaczem operacyjnym, aby otrzymać 0–10 V [#11547821][#11547919] Dostępne są gotowe przetworniki I2C, np. TDA8444; to 6-bitowy, 8-kanałowy DAC, któremu można podać np. 11 V zasilania i korzystać tylko z zakresu 0–10 V [#11548612][#11549537] Jeśli chcesz prostszy układ na ATmedze, PWM trzeba wygładzić filtrem RC, a potem wzmocnić na op-ampie zasilanym z 12 V [#11547919][#11551035] Do takiego wyjścia nadaje się LM324 lub LM358, bo przy zasilaniu 12 V ich wyjście może zejść do 0 V i dojść do około 10 V; jeśli potrzebujesz większej wydajności prądowej, dodaj na wyjściu tranzystor jako wtórnik emiterowy [#11553409][#11551035]
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
  • #1 11547797
    smithpl
    Poziom 15  
    Posty: 186
    Witam,

    aktualnie kończę prosty układ oparty o Atmega i 4 czujniki temperatury DS1820

    Układ mierzy temperaturę z 4 czujników i wyświetla je na LCD.
    Dodatkowo po przekroczeniu temperatury progowej ( mkasymalnej )
    wystawiany jest alarm ( czyli stan 0 ) na przekaźnik.

    Chciałbym aby układ spełniał jeszcze jedną funkcję.
    Potrzebuję uzyskać na wyjściu liniowym ( 0-10V ) poziom wypełnienia do granicznej temperatury w odsietapch co np. 1V lub 0,5V

    czyli kiedy ustawimy w układzie temperature graniczną 100stC
    to przy 10st będzie 1V, przy 20st będzie 2V itd ( przykładowo )

    Mam pytanie jak rozwiązać tą kwestię w atmega? jaki układ wykonawczy zastosować?
  • #2 11547821
    Raphaw
    Poziom 20  
    Posty: 268
    Pomógł: 43
    Ocena: 8
    Idealny byłby przetwornik cyfrowo analogowy. Od biedy wystarczy PWM z odpowiednio dobranym układem RC + wzmacniacz operacyjny.
    Pozdrawiam
  • #3 11547862
    smithpl
    Poziom 15  
    Posty: 186
    a ten z Atmegi da sie uzyc?
  • #4 11547869
    Raphaw
    Poziom 20  
    Posty: 268
    Pomógł: 43
    Ocena: 8
    PWM czy co? :) Jaka atmega? Rozumiem że chcesz aby układ miał wyjście napięciowe 0-10V, tak?
  • #5 11547878
    smithpl
    Poziom 15  
    Posty: 186
    tak chcę zbudować prosty w miarę układ. Mogę dobrać odpowiedni procek albo wykorzystać odpowiedni przetwornik DAC.
    Zastanawiam się jeszcze nad drabinką ale nadal pozostaje część wykonwacza.
    Pomyślałem że mogę z atmela wystawiać poziom na 10 nogach uC.
    Jak temp. jest do 10V to pin1 - 1 a reszta 0
    20V to PIN1 i pin2 = 1 a reszta 0
    itd...
    Tylko jak to potem przełożyć na napięcie od 0-10V na 1 pinie.

    Wynik działania tego układu ma dawać sygnał na wejście innego urządzenia które monitoruje kilka innych funkcji i to urządzenie może dostawać sygnały liniowe w zakresie 0-10V do analizy.
  • #6 11547919
    Raphaw
    Poziom 20  
    Posty: 268
    Pomógł: 43
    Ocena: 8
    Jeśli masz dowolność z doborem procesora wyposażonego w DAC za tym wzmacniacz operacyjny.
    Jeśli nie masz DAC-a wykorzystujesz PWM aby uzyskać napięcie z zakresu 0-VCC, filtrujesz to przez RC i potem wzmacniasz. Rozwiązanie z 10 wyjściami chyba ciut przekombinowane :)
  • #7 11547969
    smithpl
    Poziom 15  
    Posty: 186
    No i właśnie tego nie rozumiem :-)
    Nie wiem jak dobrać elementy na wyjściu z procka z sygnałem PWM daje opornik szeregowo.
    Za nim jest kondensator do masy aby wygładzić wyjście.
    Nie wiem niestety jakie dać wartości oraz jak podłączyć wzmacniacz :-(

    Układ zasilany będzie z 12V ze stabilizatorem 5V dla procka... tu też gubię się jak to ograniczyć do 10V.
  • #9 11548167
    smithpl
    Poziom 15  
    Posty: 186
    No to wstępny schemat - poproszę o pomoc w doborze elementów w układzie wykonawczym.
    Wzmacniacz dobrałem ale nie wiem czy poprawnie.

    Na wyjściu 0-10V prąd myślę że max. 50-100mA

    ATMEGA - Element wykonawczy do układy kontroli temperatury
  • #10 11548612
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2206
    DAC można kupić za parę złotych jako układ na I2C. Są takie, które mają już wyjście 0-10V, np. TDA8444. Można użyć PWM + opamp, tyle, że wyjście z opampa daje się przez dzielnik na wejście ADC, dzięki temu możesz przy pomocy ADC kontrolować napięcie wyjściowe.

    Dodano po 57 [sekundy]:

    BTW, na tych DS'ach brakuje ci pullupa.
  • #11 11549311
    smithpl
    Poziom 15  
    Posty: 186
    a tak, zapomnialem o pullup :-)

    a troche wiecej o metodzie wykorzystania TDA8444 - to jest chyba to czego potrzebuje :-)

    Z tego co czytam to ma on bolaczke ze faktycznie wyjdzie 9,5V, dobrze doczytałem?
  • #12 11549537
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2206
    Zależy jakie mu podasz napięcie zasilające. To 6-bitowy DAC, możesz mu dać np. 11V, a korzystać tylko z zakresu 0-10.
  • #13 11549551
    smithpl
    Poziom 15  
    Posty: 186
    Ok już powoli łapie,

    Teraz pytanie kontrolne... czy zastosowanie TDA jest celowe?
    Chodzi mi o to że to 8 kanałowy DAC i zastanawiam czy moge w to miejsce zastosować np. MAX522 który jest 2 kanałowym DACiem.
    Jedynie obawiam się ( choć w nocie nie wyczytałem ) czy nie ma ograniczenia napięcia na wyjściu?
  • #14 11551035
    pepson
    Poziom 18  
    Posty: 171
    Pomógł: 26
    Ocena: 30
    Cytat:
    Nie wiem jak dobrać elementy na wyjściu z procka z sygnałem PWM daje opornik szeregowo.
    Za nim jest kondensator do masy aby wygładzić wyjście.
    Nie wiem niestety jakie dać wartości oraz jak podłączyć wzmacniacz

    Układ zasilany będzie z 12V ze stabilizatorem 5V dla procka... tu też gubię się jak to ograniczyć do 10V.


    Chyba najprostsze rozwiązanie:
    ATMEGA - Element wykonawczy do układy kontroli temperatury
    Jeżeli potrzebujesz większej wydajności prądowej,
    to wystarczy dodać jeden tranzystor na wyjściu wzmacniacza
    jako wtórnik emiterowy.
  • #15 11551539
    excray
    Poziom 41  
    Posty: 5502
    Pomógł: 739
    Ocena: 657
    LM324 zasilany w ten sposób się nie nadaje do tego celu.
  • #16 11551738
    pepson
    Poziom 18  
    Posty: 171
    Pomógł: 26
    Ocena: 30
    excray napisał:
    LM324 zasilany w ten sposób się nie nadaje do tego celu.

    Może rozwiń tę myśl.
    Poza tym, że pozostałe 3 wzmacniacze w obudowie się marnują,
    to ten układ powinien sprostać tak mało wymagającemu zadaniu.
    A wzmacniacz można zastosować inny.
    Jaki proponujesz?
  • #17 11551753
    excray
    Poziom 41  
    Posty: 5502
    Pomógł: 739
    Ocena: 657
    A co tutaj rozwijać. Ustaw na wejściu takiego układu 0,1V i zobacz co będzie na wyjściu. Musi być układ rail to rail albo zasilać ten lm324 (lm321 jak ktoś nie chce marnować "opów") napięciem ujemnym na GND.
  • #18 11552012
    smithpl
    Poziom 15  
    Posty: 186
    Czyli jak zmodyfikowac ten schemat?
  • Pomocny post
    #19 11553409
    pepson
    Poziom 18  
    Posty: 171
    Pomógł: 26
    Ocena: 30
    Nic nie trzeba modyfikować

    Cytat z dokumentacji LM324:
    "• Large output voltage swing 0V to V+ − 1.5V"
    Czyli napięcie na wyjściu może osiągać wartości od zera
    do napięcia zasilania pomniejszonego o 1,5V.
    Przy zasilaniu 12V bez problemu osiągnie się od 0V do 10V.

    Na stronie 11 jest przedstawiony sposób zwiększenia wydajności prądowej
    przy pomocy tranzystora.
    http://www.ti.com/lit/ds/symlink/lm124-n.pdf
    Tylko może być konieczne zwiększenie
    napiecia zasilania o 0,7V (spadek napięcia na złaczu baza-emiter).


    excray napisał:
    A co tutaj rozwijać. Ustaw na wejściu takiego układu 0,1V i zobacz co będzie na wyjściu. Musi być układ rail to rail albo zasilać ten lm324 (lm321 jak ktoś nie chce marnować "opów") napięciem ujemnym na GND.

    Ustawisz na wejściu 0,1V i na wyjściu będzie około 0,2V.
    Piszę około, ponieważ będzie pewien błąd spowodowany
    niezrównoważeniem. Według opisu "input offset voltage 2 mV"

    Można zastosować mniejszego brata, czyli popularnego LM358,
    ma bardzo porównywalne parametry do LM324.

    Natommiast nie sprawdzą się tu układy typu xx741
    (pewnie kolega excray takie miał na myśli)
  • Pomocny post
    #20 11553495
    excray
    Poziom 41  
    Posty: 5502
    Pomógł: 739
    Ocena: 657
    Moje niedopatrzenie. Rzeczywiście układ ma ograniczenie tylko "od góry".
  • #21 11560472
    smithpl
    Poziom 15  
    Posty: 186
    Powstał taki układzik już kompletny.

    Układ mierzy temperaturę z 3 czujników.
    Przyjmowana jest najkwyższa temperatura z dowolnego DS jako alarm.

    Układ załącza wentylatory ( fan1 i 2 ) płynnie sterując nimi przez PWM
    Im wyzsza temp tym większe obroty.

    Na 3'cim PWM zrobiłem zgodnie z waszym opisem wyjście monitorujące w trybie liniowym 0-10V
    do informowania głównego układu "co i jak"

    Przy okazji dorobiłem od razu buzzer dla alarmów przekroczenia temp. krytycznej lub/i wyłączania urządzenia jako ochrona przed przegrzaniem.

    Proszę kolegów o opinie czy układ liniowego wyjścia 0-10V jest OK ?
    ATMEGA - Element wykonawczy do układy kontroli temperatury
  • #22 11561521
    excray
    Poziom 41  
    Posty: 5502
    Pomógł: 739
    Ocena: 657
    Jeśli chodzi o wyjście 0-10V to jest ok. Brakuje mi trochę kondensatorów - przy zasilaniu AVCC, wyświetlacza LCD, przy DS1820. Nie używane wejścia ULN2003 zwarłbym do masy. Vcc przy złączy KANDA trochę mi się nie podoba. Zasilasz albo ze stabilizatora albo z KANDA ale dwa naraz to chyba niezbyt dobry pomysł. Tym bardziej że stabilizatory nie są zabezpieczone przed takim zasilaniem na wyjściu.
  • #23 11564924
    smithpl
    Poziom 15  
    Posty: 186
    To gdzie byś dodał kondensatory 100nF?
    Pamiętaj że są jeszcze kondensatory na zasilaniu.

    Złacze kanda?
    Nie bardzo rozumiem twoją wypowiedź dotyczącą nie zabezpieczenia stabilizatorów i podwójnego zasilenia.
  • #24 11566801
    excray
    Poziom 41  
    Posty: 5502
    Pomógł: 739
    Ocena: 657
    smithpl napisał:
    To gdzie byś dodał kondensatory 100nF?

    excray napisał:
    Brakuje mi trochę kondensatorów - przy zasilaniu AVCC, wyświetlacza LCD, przy DS1820.

    smithpl napisał:
    Nie bardzo rozumiem twoją wypowiedź dotyczącą nie zabezpieczenia stabilizatorów i podwójnego zasilenia.

    Po co Ci przy złączu KANDA wyprowadzenie Vcc?
  • #25 11566862
    smithpl
    Poziom 15  
    Posty: 186
    Ale co to jest kanda ???
  • #26 11567077
    Raphaw
    Poziom 20  
    Posty: 268
    Pomógł: 43
    Ocena: 8
    Kanda to złącze programatora. :) Swoją drogą można było darować sobie tranzystor od podświetlenia lcd i wykorzystać wolne piny ULN-a. Przydałby się też pullup na linii reset i osobny kondensator 100n przy nóżce avcc. Co to za patent z diodą na zasilaniu? Na jakie napięcie będzie zasilacz?
    Pozdrawiam.
  • #27 11570797
    Jacek Rutkowski
    Poziom 28  
    Posty: 1330
    Pomógł: 69
    Ocena: 275
    Dioda ma zrobić zwarcie na wejściu zasilania przy odwrotnej polaryzacji. Zasilacz powinien co najmniej 15V zapewniać w sposób ciągły i być wyposażony w większy kondensator.
  • #28 11570809
    Raphaw
    Poziom 20  
    Posty: 268
    Pomógł: 43
    Ocena: 8
    Jacek Rutkowski napisał:
    Dioda ma zrobić zwarcie na wejściu zasilania przy odwrotnej polaryzacji.
    I to mnie właśnie zastanawia. Czy nie lepiej dać diodę w szereg?
  • #29 11571403
    Jacek Rutkowski
    Poziom 28  
    Posty: 1330
    Pomógł: 69
    Ocena: 275
    Jeśli dasz w szereg to cały czas będzie na niej spadek i będzie się niepotrzebnie grzać. Wskazany przed diodą jest bezpiecznik topikowy rozłączający obwód w momencie odwrócenia polaryzacji.
  • #30 11571479
    Raphaw
    Poziom 20  
    Posty: 268
    Pomógł: 43
    Ocena: 8
    Wszystko święta prawda. Jednak martwienie się o spadek napięcia na diodie i jej grzanie mając obok 7805 zasilany z 12V moim zdaniem mija się z celem. ;)
    Pozdrawiam.

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik pracuje nad układem opartym na mikrokontrolerze ATmega, który mierzy temperaturę z czterech czujników DS1820 i wyświetla wyniki na LCD. Dodatkowo, po przekroczeniu progu temperatury, uruchamiany jest alarm. Użytkownik chce dodać funkcję wyjścia liniowego 0-10V, które będzie proporcjonalne do zmierzonej temperatury. W dyskusji zaproponowano różne rozwiązania, w tym użycie przetwornika cyfrowo-analogowego (DAC) lub PWM z układem RC i wzmacniaczem operacyjnym. Użytkownik rozważał zastosowanie układów TDA8444 oraz MAX522 jako DAC. Wskazano również na konieczność odpowiedniego doboru elementów, takich jak kondensatory i wzmacniacze, aby uzyskać stabilne wyjście 0-10V. Użytkownik zbudował prototyp, który działa zgodnie z zamierzeniami, ale poszukuje opinii na temat poprawności układu.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA