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

problem z optotriak i pomiarem adc

rogeros 06 Sie 2010 17:31 1857 11
  • #1 8371513
    rogeros
    Poziom 13  
    Witam.
    Próbuje stworzyć swoją własną centralkę alarmową.
    Czujniki ruchu chciałem odizolować optycznie od reszty układu poprzez optotriaki. Niestety jest to jeden z moich pierwszych projektów więc nie do końca przemyślałem wszystkiego i jeden z optotriaków podłączyłem pod dedykowaną nóżkę procesora ADC6 (mowa tu o atmega8 w obudowie TQFP gdzie jest jedna noga dodatkowa tylko do ADC - 19 nóżka).

    No trudno stało się (będzie nauczka) . Jako że druki optotriak został podłączony do PORTC.0 a to także ADC więc stwierdziłem, że pomiar czy czujka jest załączona czy też nie będę wykonywał właśnie poprzez ADC.

    Niestety w mojej przygodzie z mikrokontrolerami nie miałem wcześniej styczności z ADC a przeszukałem już dużo postów bez rozwiązania problemu stwierdziłem, że odważę się napisać na forum.

    Dla ułatwienia przedstawię schemat:
    problem z optotriak i pomiarem adc

    Oraz kod w bascom:


    $regfile = "m8def.dat"  
    
    $crystal = 8000000        
    Dim Pomiar_adc As Word
    
    Config Portd.3 = Output
    Config Portd.5 = Output
    Config Portb.0 = Output
    Config Portd.1 = Output
    Config Portd.0 = Output
    Config Portc.4 = Output
    Config Portc.3 = Output
    
    
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    
    
    Enable Adc
    
    Led_czujka1 Alias Portc.4
    Led_czujka2 Alias Portc.3
    Led_alarm_g Alias Portd.1
    Led_alarm_r Alias Portd.0
    Buzz Alias Portd.3
    Alarm_audio Alias Portd.5
    Alarm_led Alias Portb.0
    
    
    Do
    
    Pomiar_adc = Getadc(0)
    If Pomiar_adc < 512 Then
       Set Led_czujka2
    Else
       Reset Led_czujka2
    End If
    
    Pomiar_adc = Getadc(6)
    If Pomiar_adc < 512 Then
       Set Led_czujka1
    Else
       Reset Led_czujka1
    End If
    
    Loop
    


    I teraz tak. Z założenia mojego schematu zwarcie do masy złącza
    X1-3 powinno zapalić diodę Led_czujka1
    X2-1 powinno zapalić diodę Led_czujka2

    Niestety zupełnie nie wiem dlaczego ale obie diody zapalają mi się jednocześnie bez względu na to czy zwieram X1-3 czy też X2-1.

    Bardzo proszę o pomoc w rozwiązaniu problemu.
    Z góry dziękuje.
  • #2 8371560
    landy13
    Poziom 31  
    Cały projekt do niczego. Optotriaki się do tego nie nadają - nawet gdy uda Ci się je załączyć to jak je wyłączysz? Zastosuj transoptory.
    I nie ADC tylko zwyczajnie pin zwierany do masy.
    Na koniec po co ta optoizolacja jeśli zasilanie wspólne?
  • #3 8371582
    rpal
    Poziom 27  
    Mi się ten schemat nie podoba specjalnie. Jeśli już się uparłeś na optoizolację to chyba lepiej byłoby użyć zwykłych transoptorów. Kolektor łączysz z zasilaniem przez opornik i dodatkowo z którymś z wejść choćby INTx i wówczas wykrywaniem może się zająć przerwanie. Konfigurujesz piny uP jako wejścia i po kłopocie. ACD tutaj wg mnie nie ma nic do rzeczy a jest jedynie zbędnym kłopotem bo i tak wartość napięcia na kolektorze transoptora ciebie nie interesuje tylko jego brak lub obecność czyli pracujesz w standardzie TTL.
  • #4 8371943
    tmf
    VIP Zasłużony dla elektroda
    Oczywiście pomysł z triakami jest do bani - nie da się ich wyłączyć w obwodzie prądu stałego - chociaż tu prąd może być tak mały, że nie wystarczy do podtrzymania triaka i w efekcie przypadkowo to może działać.
    Co do tego co piszą landy13 i rpal, podłączenie wszystkiego pod ADC nie jest złym pomysłem, a wręcz świetnym - poczytajcie co to takiego i po co się stosuje wejścia parametryczne.

    Dodano po 1 [minuty]:

    rogeros - sorki, ale cały twój schemat jest obsysający. Projekt centralki to poważna sprawa, a w twoim schemacie jest pełno błędów - np. sterowanie tego BUZ11. Przemyśl wszystko jeszcze raz i pooglądaj gotowce, bo póki co porywasz się z motyką na słońce.
  • #5 8372191
    landy13
    Poziom 31  
    tmf napisał:
    podłączenie wszystkiego pod ADC nie jest złym pomysłem, a wręcz świetnym
    Może i byłby to dobry pomysł, gdyby podłączyć czujnik bezpośrednio do procesora (i gdyby to nie był zwykły styk, jak podejrzewam). Ale przez triak?
  • #6 8372204
    tmf
    VIP Zasłużony dla elektroda
    A kto pisze, że przez triak? W 3 kolejnych postach masz, że triak to zły pomysł. Natomiast podłączenie przez transoptor jest już jak najbardziej ok.
  • #7 8372246
    landy13
    Poziom 31  
    tmf napisał:
    A kto pisze, że przez triak? W 3 kolejnych postach masz, że triak to zły pomysł. Natomiast podłączenie przez transoptor jest już jak najbardziej ok.
    Niech Ci będzie. Ale autor nie pisze jakie wyjścia ma w czujnikach, można się domyślać że on/off (skoro początkowo miały sterować triakami). W tym przypadku ADC chyba niewiele pomoże?
  • #8 8372290
    tmf
    VIP Zasłużony dla elektroda
    Pomoże. Na wejściu parametrycznym stan utrzymuje się za pomocą dodatkowych rezystorów. ADC tu może posłużyć zamiast całej analogówki opartej na komparatorach.
  • #9 8372337
    landy13
    Poziom 31  
    Dzięki za uświadomienie. Oby autor też z tego skorzystał.
  • #10 8373720
    rogeros
    Poziom 13  
    no to koledzy skutecznie mnie sprowadziliście na ziemie :)

    jak się okazuje moja wiedza na temat optotriaków jest w mizernym stanie.
    byłem przekonany iż podając napięcie na diodę układu (noga 1 i 2) to zwierane są nóżki (6 i 4) a po odłączaniu rozwierane. kłaniają się podstawy.

    No dobrze w takim razie inaczej. Czujka ma dwa wyprowadzenia gdzie "nie ma ruchu" zwiera złącza z chwilą wykrycia ruchu rozwiera je.

    Czy jeśli na czujkę dam minus (czy też plus) z układu to czy powrót od czujki mógłbym bezpośrednio podłączyć do nóżki procesora i za pomocą ADC wykrywać czy przez czujkę przepływa napięcie czy też nie?

    I czy możecie koledzy wytknąć mi palcami błędy w moim schemacie?

    Dodano po 0 [sekundy]:

    no to koledzy skutecznie mnie sprowadziliście na ziemie :)

    jak się okazuje moja wiedza na temat optotriaków jest w mizernym stanie.
    byłem przekonany iż podając napięcie na diodę układu (noga 1 i 2) to zwierane są nóżki (6 i 4) a po odłączaniu rozwierane. kłaniają się podstawy.

    No dobrze w takim razie inaczej. Czujka ma dwa wyprowadzenia gdzie "nie ma ruchu" zwiera złącza z chwilą wykrycia ruchu rozwiera je.

    Czy jeśli na czujkę dam minus (czy też plus) z układu to czy powrót od czujki mógłbym bezpośrednio podłączyć do nóżki procesora i za pomocą ADC wykrywać czy przez czujkę przepływa napięcie czy też nie?

    I czy możecie koledzy wytknąć mi palcami błędy w moim schemacie?
  • #11 8373814
    tmf
    VIP Zasłużony dla elektroda
    Płynie prąd, napięcie po prostu jest :) Jeśli podasz na ten styk masę to możesz go podłączyć bezpośrednio do procesora, musisz tylko pamiętać o rezystorze podciągającym. Jednak takie połączenie nie jest zalecane - czujka zapewne będzie daleko, a w długim kablu indukować się będą zakłócenia, podczas najbliższej burzy pewnie wszystko szlag trafi. Także pin procesora trzeba zabezpieczyć - jak to wygoogluj sobie. Poza tym lepiej zrobić układ prądowy niż napięciowy - będzie bardziej odporne na błędy. Poczytaj o gotowych centralkach na stronach producentów, zorientujesz się mniej więcej jak to jest zrobione.
  • #12 8380402
    rogeros
    Poziom 13  
    Zgadza się. Czujki od centrali oddalone byłyby o ok 3m od centrali.
    I faktycznie nie ciekawie byłoby aby podczas burzy centrala
    otrzymywała fałszywe wywołania od czujek albo co gorsza
    uszkodziła się.

    Nie jestem leniwy i próbowałem odnaleźć informacje jak zabezpieczyć port przed takimi przypadłościami. Znalazłem tylko informację jak zabezpieczyć się przed drżeniem styków. Podobnie jak z instalacjami alarmowymi na stronach producentów. Takich informacji niestety też nie ujawniają :(

    Dlatego skromnie poproszę o wytknięcie mi palcami błędów.
    Lub naprowadzenia jak poprawić mój schemat.

    Dodam tylko, że programować potrafię dobrze i zabezpieczenie przed fałszywymi alarmami także zrobię programowo natomiast tworzenie
    i opracowywanie schematów to jestem kompletna noga.
REKLAMA