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

Dlaczego Atmega8 i transoptor TCST 1103 nie działają poprawnie?

duzymurzyn 01 Maj 2012 14:39 4770 6
REKLAMA
  • #1 10849520
    duzymurzyn
    Poziom 2  
    Witam, podłączyłem transoptor wg tego schematu:
    Dlaczego Atmega8 i transoptor TCST 1103 nie działają poprawnie?

    Napisałem prosty programik mający zapalać diodę podłączoną do innego pinu w momencie, kiedy szczelina transoptora będzie zasłonięta, czyli na pinie transoptora będzie 0, niestety nie działa.

    Pin do którego podłączony jest transoptor jest ustawiony jako wejście z podciągnięciem do stanu wysokiego. Jeśli dobrze rozumuję, w momencie kiedy szczelina nie jest niczym przysłonięta, transoptor przewodzi i pin jest zwierany do masy. W celu sprawdzenia poprawności działania transoptora włączyłem między emiter a masę diodę LED, przy takim podłączeniu ledwo świeci, napięcie między pinem procesora a masą jest równe ok. 1,8 V. Gdy zasłaniam szczelinę, dioda gaśnie, czyli transoptor działa. Sprawdziłem również poprawność programu, gdy zwieram pin do masy przewodem, diodka wynikowa się zapala, więc w programie błędu nie ma. Sprawdziłem układ podłączając transoptor do różnych pinów, ten sam efekt, próbowałem również zastosować zewnętrzne podciągnięcie pinu do stanu wysokiego, napięcie jest wtedy wyższe ale efekt działania programu ten sam, czyli żaden. Gdzie może leżeć błąd?
    Dzięki za odpowiedź, pozdrawiam
  • REKLAMA
  • #2 10849579
    stanleysts
    Poziom 27  
    "Gdzie może leżeć błąd? "

    W kodzie? (pokaż go)
  • REKLAMA
  • #3 10850194
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #4 10850402
    excray
    Poziom 41  
    Błąd na schemacie. Nóżkę 3 transoptora podłącz bezpośrednio do masy. Jeśli dalej nie będzie działać zmniejsz wartość R2 do 1k.
  • REKLAMA
  • #5 10852316
    duzymurzyn
    Poziom 2  
    Zrobiłem według zaleceń - podłączyłem nóżkę 3 (w datasheecie oznaczona D) bezpośrednio do masy, R2 zastąpiłem najpierw 1k, potem 300 ohm, niestety dalej coś nie gra, układ zachowuje się tak jakby pin wejściowy, podciągnięty do vcc nie dawał zasilania na transoptor. Kod nie zgadza się ze schematem, bo próbowałem czy na różnych portach będzie zachowywał się tak samo:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Cytat:
    Nie jest to najlepszy sposób podłączenia T/O do uC.

    A jak powinienem podłączyć go najsensowniej? Przeglądając forum natknąłem się na właśnie takie podłączenie, toteż tak próbowałem.
  • Pomocny post
    #6 10852422
    excray
    Poziom 41  
    Na schemacie transoptor masz podpięty pod PC1 a w kodzie pod PB0. To jak jest w końcu? Poza tym samo możesz dać dodatkowo opornik 10k między pin 4 transoptora a +5V zapewniając zewnętrzne podciąganie. To wewnętrzne jest słabe.

    Dlaczego Atmega8 i transoptor TCST 1103 nie działają poprawnie?
  • #7 10852603
    duzymurzyn
    Poziom 2  
    Rzeczywiście zamieszałem w tym schemacie, podłączałem pod PB0, od czasu zrobienia pierwszego schematu sprawdziłem czy może to wina portu więc przeniosłem transoptor z PC1 na PB0.

    Ale wracając do tematu, Twoja porada okazała się skuteczna, podłączenie zewnętrznego podciągnięcia rozwiązało sprawę, teraz bez problemu zczytuje stan z transoptora, wielkie dzięki!

    A tak już z własnej ciekawości i dla rozwiania wątpliwości, czemu podciągnięcie wewnętrzne mogło sprawiać kłopoty?

    W każdym razie, problem rozwiązany, temat do zamknięcia.
REKLAMA