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

[AVR] Detekcja przejścia przez zero - niskie napięcie

thenkles 28 Kwi 2009 20:43 4688 13
  • #1 6467806
    thenkles
    Poziom 11  
    Witam,
    Planuję zrobić ściemniacz do żarówki 24V. Żarówka podłączona jest do transformatora, który daje nominalnie 22,5V. I teraz nie wiem, jak zrobić wykrycie zera. Widziałem już parę takich układów, ale wszystkie na napięcie 230V. Domyślam się, że w tym przypadku można pominąć optoizolację, ale jak miałoby to wyglądać? Czy wystarczy rozwiązanie takie, jak w nocie katalogowej atmela (182), czyli podłączyć transformator do mikrokontrolera i do masy przez szeregowe rezystory? Jaką musiałyby one mieć wartość? Dodatkowo, czy mogę bezpośrednio z AVRa wysterować jakiś triak dla żarówki?

    Z góry dziękuję.
  • #2 6477944
    skynet_2
    Poziom 26  
    Optoizolację można pominąć na wejściu.
    trafo<=>mostek graetza<->rezystor 10k<->µC.
    Można też bez mostka ale ja nie lubię na cyfrówkę dawać ujemnych napięć i z mostkiem można precyzyjniej ustalić pozycję zera.
    Wyjście hmm najłatwiej przez optotriak bo nie załączysz ujemnej części okresu zwykłym triakiem ponieważ µC nie daje ujemnych napięć.

    Daj dławik i kondensatory do stabilizacji napięcia na µC bo triak strasznie duże zakłócenia daje.

    Pozdrawiam
  • #3 6486692
    thenkles
    Poziom 11  
    Już zaryzykowałem takie podłączenie jak w nocie katalogowej i stwierdziłem, że działa. Tzn. tyle, że wykrywa zera z odpowiednią częstotliwością, nie wiem jak bardzo zgodne jest to z rzeczywistą fazą. Być może później spróbuję z mostkiem. Na razie potrzebny mi układ wykonawczy. Mam rozumieć, że będzie on wyglądał tak samo jak przy 230V? Jakiego mogę użyć triaka dla żarówki 24V 250W?
  • #4 6619128
    thenkles
    Poziom 11  
    Przepraszam, że odkopuję temat, ale właśnie wziąłem się na poważnie za ten projekt i spróbowałem skorzystać z zaproponowanego rozwiązania z mostkiem. Podłączenie jak na załączniku. Niestety, ale układ nie wykrywa żadnych zer. Czy czegoś jeszcze mi tu brakuje, żeby działało poprawnie? Zaznaczam, że sam program działa dobrze.
  • #5 6621084
    janbernat
    Poziom 38  
    Ale te 10k to gdzie wpięte?
    Bo ATmegi mają dużo nóżek.
    Jak sprawdzasz że program działa?
  • #6 6622479
    Myrek1
    Poziom 23  
    No mają, ale musisz podłączyć to pod nóżkę z przerwaniem (INT) i w programie obsłużyć to przerwanie w trybie zbocza opadającego (będą chwilowe szpilki na wejściu).
  • #7 6622645
    thenkles
    Poziom 11  
    Oczywiście, że detekcja zera podłączona jest pod przerwanie. Program działa, ponieważ przy zwarciu wejścia do masy, zero jest zliczone. Tak samo było wcześniej, z prostszym układem detekcji zera. Niestety, nie działał on chyba zbyt dokładnie, bo coś nie mogłem złapać synchronizacji.
  • #8 6622843
    janbernat
    Poziom 38  
    Myślę że prostownik ładuje pojemność wejściową układu i napięcie nie ma gdzie się rozładować.
  • #9 6622865
    thenkles
    Poziom 11  
    A jeśli tak, to co mógłbym z tym zrobić? Lub jaki układ zastosować w zamian?
  • Pomocny post
    #10 6622919
    janbernat
    Poziom 38  
    Trzeba zrobić dzielnik i z odczepu sterować procesor.
    Dla 24V napięcie szczytowe na plusie prostownika będzie jakieś 34V-potrzeba ok.5V-podział ok 1:7.
    6.8k na prostownik-wejcie procesora-1k do masy.
    Najlepiej oscyloskopem zmierzyć

    Dodano po 2 [minuty]:

    I ja bym to dał na komparator i wykorzystał przerwanie z komparatora.
    Ale na przerwaniu też powinno chodzić.
  • #11 6623173
    thenkles
    Poziom 11  
    Dzięki, jako tako to teraz działa (rozwiązanie z dzielnikiem) ;).
  • #12 6623449
    janbernat
    Poziom 38  
    Pewnie że jako tako.
    To nie wykrywa zera tylko spadek napięcia wyprostowanej sinusoidy na wejściu INT poniżej progu przełączania procesora.
    Próg przełączania jest 0.3-0.7Vcc
    A sinusoida w dodatku nie jest prostokątem.
    Można obliczyć przesunięcie fazowe przy którym procesor wykrywa przerwanie(a nie 0) ale przy takim rozrzucie progu przełączania wejść procesora nie ma to sensu.
    Można też "dostroić" (przesunięciami czasowymi) konkretny egzemplarz procesora ale po wymianie na inną sztukę cały proces powtórzyć od nowa.
    No i pracować by musiał w stałej temperaturze.

    Dodano po 2 [minuty]:

    Dlatego rozwiązanie z komparatorem jest lepsze.
  • #13 6625202
    thenkles
    Poziom 11  
    Hmm, poszedłem za twoją radą i spróbowałem zrobić to na komparatorze. Wyjście z dzielnika (nie mogłem znaleźć w dokumentacji, jakie jest maksymalne napięcie, jakie można puścić na komparator) dałem na wejście AIN0, a, do AIN1 puściłem masę (z mostka oraz z mikrokontrolera razem). Oczywiście zmieniłem przerwanie (opadające zbocze z komparatora), pod które podpięty jest kod. Efekt jest taki, że zera są liczone, ale nie wszystkie. Te 100 zer jest naliczone w dobre kilka sekund. Czy coś nie tak podłączyłem? I jeszcze jedna sprawa. Gdy układ działa na przerwaniu zewnętrznym, to przy odłączonym triaku zliczanie działa mniej więcej dobrze (na oko, mam taki sekundnik zrobiony), jednak przy triaku podłączonym, momentami liczy więcej zer na sekundę. Jak rozumiem, triak wprowadza tutaj zakłócenia? Jak można to wytłumić? W tej chwili triak jest uruchamiany przez optotriak i zasilany z tych 24V. Jedynymi dodatkowymi elementami są rezystory ograniczające prąd.

    Z góry dziękuję za odpowiedzi.
  • #14 6626117
    janbernat
    Poziom 38  
    To działa tak:
    Na wejściu AIN1 masz masę (0) a na wejściu AIN0 masz napięcie dodatnie spadające do 0(prawie).
    Mo i teoretycznie komparator zmieni swój stan gdy na AIN0 pojawi się napięcie niższe niż na AIN1-czyli ujemne.
    Ale nam chodzi o różnicę napięcia AIN1-AIN0 więc...
    Daj na AIN1 dzielnik żeby było na nim jakieś napięcie-małe np. 0.5V
    Wtedy komparator zmieni swój stan gdy napięcie sinusoidy (po dzielniku) spadnie poniżej 0.5V.
    Oczywiście to nie będzie przejście przez 0.
    Napięcie przejdzie przez 0 później-trzeba to obliczyć i o tyle opóźnić moment załączenia triaka.
    A-i od obliczonego czasu opóźnienia odjąć czas załączania triaka-też nie włącza się natychmiast.
    Na komparator można podać do 5V.
    Komparator ma histerezę ok 40mV.

    Przemyślałem sprawę w drodze do pracy-to rozwiązanie będzie wrażliwe na napięcie zasilania.
    Są dwa napięcia + i - względem masy-można by dać prawdziwy komparator z zasilaniem +- i układ różniczkujący za nim.
    Z dwiema diodami zabezpieczającymi.
REKLAMA