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

Weryfikacja schematu sterownika światła z przekaźnikiem i IR sensor

woseba 24 Kwi 2009 12:44 2031 19
REKLAMA
  • #1 6451312
    woseba
    Poziom 12  
    Posty: 98
    Ocena: 3
    Tym razem troche większy. Jest to sterownik światła, trzeba by jeszcze dorzucić przekaźnik do portu, żeby tym światłem sterował. Sygnał jest odbierany z odbiornika podczerwieni, działającego jak czujnik wejścia do pomieszczenie...
    Dodatkowo kostka z programatora.
    Weryfikacja schematu sterownika światła z przekaźnikiem i IR sensor
  • REKLAMA
  • #2 6460013
    jony
    Specjalista elektronik
    Posty: 7549
    Pomógł: 1823
    Ocena: 885
    Nie che mi cie tego analizować ale nie podoba mi się sterowanie diod. Gdzie rezystory?
    No i te przyciski? Porty wejściowe jak ustawisz w programie?
    To samo pytanie jeśli chodzi o odbiornik IR.
  • #3 6460680
    woseba
    Poziom 12  
    Posty: 98
    Ocena: 3
    co do diodek, to pracują na 20mA a max obciążalność pinów portu to 40mA, więc wydaje mi się że może być ok...
    Nie rozumiem o co chodzi z tymi pozostałymi portami, przecież to można obsłużyć programowo. Chyba że źle rozumuje....
  • REKLAMA
  • Pomocny post
    #4 6463169
    jony
    Specjalista elektronik
    Posty: 7549
    Pomógł: 1823
    Ocena: 885
    Nie wolno łączyć diod równolegle bez rezystorów ograniczających prąd dla każdej diody.

    AVR można podciągnąć programowo do plusa, więc po co rezystory szeregowo z przyciskami?
  • #5 6463192
    woseba
    Poziom 12  
    Posty: 98
    Ocena: 3
    ok, już poprawiam, bo kolega ma racje :] dzięki
    a w przypadku tych diód to nie chodzi bardziej o napięcie niż prad? rezystor wpięty w szereg nie zmienia prądu a napięcie, co byłoby nawet logiczne, bo atmega8 zasilana z 5V ma na porcie 5V przy czym dioda do świecenia potrzebuje ok. 2V, czyli trzeba to ograniczyć.....chyba....
  • #6 6463243
    jony
    Specjalista elektronik
    Posty: 7549
    Pomógł: 1823
    Ocena: 885
    Chodzi o jedno i o drugie.
    Nie ma dwóch takich samych diod które miały by identyczną charakterystykę prądowo-napięciową.
    A już drobna różnica w napięciach przewodzenia, spowoduje że przez diodę o mniejszym napięciu przewodzenia popłynie większy prąd.
    A większy prąd oznacza wyższą temperatur i dalsze zmniejszenie napięcia przewodzenia i zwiększenie prądu płynącego przez diodę. Co może zaowocować nierównomierna jasnością świecenia i spaleniem jedne z diod co praktyczne od razu spali drugą diodę, która przejęła cały prąd pierwszej.
  • #7 6471641
    woseba
    Poziom 12  
    Posty: 98
    Ocena: 3
    No to już wszystko rozumiem, dzięki wielkie :D
    ===============================================================

    Poprawiłem, teraz pozostaje kwestia przekaźnika sterowanego z portu. Znalazłem schemat podłączenia portu przez tranzystor do przekaźnika, równolegle z przekaźnikiem jesd wpięta dioda przełączająca, czy to wystarczy??
  • #8 6472271
    jony
    Specjalista elektronik
    Posty: 7549
    Pomógł: 1823
    Ocena: 885
    Przez rezystor np. 2.2K wysteruj bazę tranzystora z portu.
    Emiter do masy, a kolektor przez przekaźnika do plusa.
    No i równolegle do przekaźnika dioda, anodą w stronę kolektora. I dioda to ma za zadanie ochronić tranzystor przed napięcie samoindukcji, indukującym się w cewce po rozłączeniu przekaźnika.
  • #9 6472815
    woseba
    Poziom 12  
    Posty: 98
    Ocena: 3
    Ok, poprawiłem, troche tego nawalone, sie zastanawiam jak to potem na schemat przerobić... :)
    Weryfikacja schematu sterownika światła z przekaźnikiem i IR sensor
  • #10 7049536
    woseba
    Poziom 12  
    Posty: 98
    Ocena: 3
    odświeżam stary temat, bo to niejako związane, gdyż zacząłem sobie programować od podstaw (bascomAVR) i prosta sprawa...diody nie świecą....

    
    $regfile = "m8def.dat"   
    Config Pinc.0 = Output
    
    Reset Pinc.0
    


    kawałek kodu, wg. wujka google jest poprawny....
    połączenie diod chyba również poprawne?
  • REKLAMA
  • #11 7049976
    Terminator
    Poziom 23  
    Posty: 392
    Pomógł: 65
    Ocena: 12
    Nie znam Bascoma ale diody masz podłączone do GND więc Reset chyba nie na miejscu - spróbuj Set Pinc.0 albo Pinc.0 = 1 chcąc ją zapalić.
  • #12 7051155
    woseba
    Poziom 12  
    Posty: 98
    Ocena: 3
    dalej nie działa....może zły rezystor??? chociaż jak tak podepne zasilanie bezpośrednio to świeci.....zmontuje sobie na szybko podstawke tylko z zasilaniem i wyprowadzeniem na tą diodę, zobaczymy...
  • #13 7052189
    Terminator
    Poziom 23  
    Posty: 392
    Pomógł: 65
    Ocena: 12
    To może byś zamieścił cały program ? bo to co wyżej podałeś to tylko urywek który w ogóle nie trzyma się kupy jak dla mnie (choć specjalnie dla Ciebie przeczytałem szybki kurs bascoma). Brak m.in zadeklarowanego kwarcu ,pętli "do ... loop"
    $regfile = "m8def.dat"
    $crystal = 1000000
    Config Pinc.0 = Output
     do                                         'pętla nieskończona
     Set Pinc.0
     loop                                       'koniec pętli
     
    end                                         'koniec programu 
  • REKLAMA
  • #14 7052278
    woseba
    Poziom 12  
    Posty: 98
    Ocena: 3
    no to tak właśnie wygląda mój program.....

    EDIT
    Zrobiłem najprostszą rzecz: podłączyłem 5V i GND do pinów 7 i 8 a także diodę przez rezystor 1k do pinu 25 (pinc.2) z jednej i do 5V z drugiej strony. po wrzuceniu programu i włożeniu uC w powyższy układ nic....napięcie dochodzi do uC, dioda podłączona bezpośrednio do 5V i GND świeci, a przez uC nie chce....
  • #15 7053338
    Terminator
    Poziom 23  
    Posty: 392
    Pomógł: 65
    Ocena: 12
    Programowanie i weryfikacja zapisanego kodu nie zwracają błędów ?
    Pin Reset w Twoim układzie musi być podciągnięty do plusa poprzez rezystor a tak nie jest , wiec według mnie wiszący w powietrzu (no oddzielony kondensatorem od VCC) nie zdaje rezultatu i układ nigdy się nie uruchomi ?(popatrz tutaj )
    Program, podłączenie diody LED i rezystora prawidłowe.
  • #16 7054834
    woseba
    Poziom 12  
    Posty: 98
    Ocena: 3
    odkryłem też coś innego. jeśli mam podłączony programator, to on podaje m.in. vcc i sygnał reset, tyle, że jeśli podaje vcc to to idzie przez owy kondensator do reset (bo vcc rozchodzi się po całym układzie) i chyba reset z programatora nie może działać jednocześnie....chociaż wszędzie tak mają....

    czyli zamiast tego kondensatora wstawić tam rezystor, np. 10k??bo taki mam pod ręką...
  • #17 7055337
    Terminator
    Poziom 23  
    Posty: 392
    Pomógł: 65
    Ocena: 12
    Tak ! a jeszcze lepiej jak zrobisz reset taki jak na rys.
    Weryfikacja schematu sterownika światła z przekaźnikiem i IR sensor
  • #18 7055951
    woseba
    Poziom 12  
    Posty: 98
    Ocena: 3
    zrobiłem, jednak dioda dalej nie chce się zapalić....chyba pora na szukanie zwarcia lub zimnych lutów....
  • #19 7062378
    woseba
    Poziom 12  
    Posty: 98
    Ocena: 3
    wygląda, jakby programator źle zapisywał hexa w uC, bo nie ważne czy dam na pinie Set czy reset, 1 czy 0 to zawsze jest napięcie między pinem a vcc, a między pinem a gnd nie ma....no ale avrdude nie zwraca błędów przy programowaniu...

    
    D:\avrdude-5.8-w32\avrdude-5.8-w32>avrdude -c usbasp -p m8 -U flash:w:PROBY.HEX
    found 7 busses
    
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.05s
    
    avrdude: Device signature = 0x1e9307
    avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
    
             To disable this feature, specify the -D option.
    avrdude: erasing chip
    avrdude: reading input file "PROBY.HEX"
    avrdude: input file PROBY.HEX auto detected as Intel Hex
    avrdude: writing flash (120 bytes):
    
    Writing | ################################################## | 100% 0.59s
    
    
    
    avrdude: 120 bytes of flash written
    avrdude: verifying flash memory against PROBY.HEX:
    avrdude: load data flash data from input file PROBY.HEX:
    avrdude: input file PROBY.HEX auto detected as Intel Hex
    avrdude: input file PROBY.HEX contains 120 bytes
    avrdude: reading on-chip flash data:
    
    Reading | ################################################## | 100% 0.53s
    
    
    
    avrdude: verifying ...
    avrdude: 120 bytes of flash verified
    
    avrdude: safemode: Fuses OK
    
    avrdude done.  Thank you.
    
    
    D:\avrdude-5.8-w32\avrdude-5.8-w32>
    


    mój układ jest maksymalnie prosty, w dodatku jedyne co chce zrobić to zapalić diode, ale i to mi nie wychodzi....

    jeszcze jedna kwestia: czy przez źle podpięty reset mogłem uszkodzić uC?? no ale uszkodzonego chyba nie dałoby się zaprogramować....
  • #20 7065294
    woseba
    Poziom 12  
    Posty: 98
    Ocena: 3
    ma ktoś ochotę zaglądnąć??

Podsumowanie tematu

✨ Użytkownik przedstawił schemat sterownika światła opartego na mikrokontrolerze ATmega8, czujniku podczerwieni (IR) i planowanym przekaźniku, prosząc o jego weryfikację. Zwrócono uwagę na brak rezystorów szeregowych dla diod LED połączonych równolegle, co może prowadzić do nierównomiernego świecenia lub uszkodzenia diod ze względu na różnice w ich charakterystykach prądowo-napięciowych. Wskazano również na możliwość wykorzystania wewnętrznych rezystorów podciągających mikrokontrolera dla przycisków zamiast rezystorów zewnętrznych. Omówiono standardowy układ sterowania przekaźnikiem z tranzystorem kluczującym, rezystorem w bazie i diodą gaszącą (freewheeling diode) równolegle do cewki przekaźnika, chroniącą tranzystor przed napięciem samoindukcji. Później użytkownik zgłosił problem z zapaleniem diody LED w prostym układzie testowym sterowanym z portu ATmega8 zaprogramowanego w BascomAVR. Mimo poprawnej składni programu i schematu testowego, dioda nie świeciła. Sugerowano sprawdzenie programowania oraz układu resetu mikrokontrolera. Zidentyfikowano brak wymaganego rezystora podciągającego (pull-up) na pinie /RESET, co jest konieczne do poprawnego uruchomienia uC po programowaniu. Zalecono zastosowanie standardowego układu resetu z rezystorem 10kΩ i kondensatorem, lecz problem nadal występował. Użytkownik podejrzewał nieprawidłowe działanie programatora (avrdude) lub problemy sprzętowe, takie jak zwarcia czy zimne luty. Problem pozostał nierozwiązany.
REKLAMA