Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

stan niski na pinie atmega8

torque21 01 Kwi 2014 01:30 1725 16
  • #1 01 Kwi 2014 01:30
    torque21
    Poziom 6  

    Cześć,
    zwracam się do was forumowicze, gdyż mam pewien problem. Napisałem program w C na atmege8, który odczytuje mi stan portu ( ustawiony pull up) i teraz podłączyłem przez tranzystor kolektor do pinu mikrokontrolera, emiter do masy, i bazę do czujnika przez rezystor, ale mam problem bo przy włączeniu zasilania zostaje wykryty stan niski na pinie(nie chciane). Wydaje mi się, że to nie problem programu tylko brakuje mi czegoś w podłączeniu?



    stan niski na pinie atmega8



    Edytuj

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 16
  • #2 01 Kwi 2014 02:06
    kicked
    Poziom 11  

    A wysłałeś wcześniej FF na port, że chcesz go odczytywać ?
    Kłania się budowa portu...

    0
  • #3 01 Kwi 2014 02:40
    torque21
    Poziom 6  

    napisałem, że mam ustawiony pull up, nie dodałem że mam ustawiony kierunek wyjściowy, to co zrobiłem to mi działa tylko mam taki problem jak pisałem, przy załączeniu zasilania mam zapalenie diody, a tego nie chce, tzn mam stan niski wykryty na wejściu,

    chciałem przez tranzystor, i jest on podłączony tak jak na rysunku, label to wyjscie z czujnika



    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #4 01 Kwi 2014 08:40
    BlueDraco
    Specjalista - Mikrokontrolery

    Tranzystor na schemacie wygląda na zbędny, rezystor przy LED ma zbyt małą wartość. Jaki czujnik masz podłączony do tranzystora i w jaki sposób?

    0
  • #5 01 Kwi 2014 10:12
    dondu
    Moderator Mikrokontrolery Projektowanie

    Do tego co napisał BlueDraco dodam:

    torque21 napisał:
    ... mam taki problem jak pisałem, przy załączeniu zasilania mam zapalenie diody, a tego nie chce, tzn mam stan niski wykryty na wejściu,...

    Zaświeca się na pół sekundy i gaśnie, czy świeci się cały czas?
    Jeżeli to pierwsze to zastosuj opóźnienie przed pętlą główną.

    0
  • #6 01 Kwi 2014 13:03
    Sławek-K
    Poziom 15  

    Po PORTB=0xFF; dodaj jeszcze jedno _delay_ms(500), bo tak to stan wysoki ( zgaszenie LED) trwa chyba jeden takt zegara i znów zapalenie i Ty tego nie widzisz.
    2) A może spróbuj PINB=0xFF; aby włączyć podciaganie do Vcc.
    No chyba , że coś źle zrozumiałem, to przepraszam za wprowadzenie w błąd..

    0
  • #7 01 Kwi 2014 15:40
    torque21
    Poziom 6  

    zapala się na pół sekundy i gaśnie, a potem działa w zależności od czujnika,
    a jaka jest tego przyczyna, że zapala się przy starcie zasiania? pin jest zwarty do masy? ale dlaczego jak czujnik nic nie wykrywa to tranzystor nie przewodzi więc pin nie powinien być zwarty do masy

    0
  • #8 01 Kwi 2014 15:49
    dondu
    Moderator Mikrokontrolery Projektowanie

    torque21 napisał:
    ale dlaczego jak czujnik nic nie wykrywa to tranzystor nie przewodzi więc pin nie powinien być zwarty do masy

    Niestety nie mamy możliwości testowania Twojego układu z podłączonym czujnikiem - nie mamy go na naszych biurkach.
    Pamiętaj, że rezystor pull-up ma kilkadziesiąt kΩ. Odłącz więc czujnik pozostawiając bazę tranzystora be sterowania i zobacz, czy nadal ten problem występuje?

    W ostateczności zrób opóźnienie, o którym pisałem.

    0
  • #9 01 Kwi 2014 16:22
    torque21
    Poziom 6  

    gdy baza tranzystora jest nie podłączona przy starcie zasilania to nie świeci się dioda, ale jak podłącze bazę(w trakcie działania układu) to się świeci te 0.5 sek

    0
  • #10 01 Kwi 2014 17:13
    BlueDraco
    Specjalista - Mikrokontrolery

    I wciąż oczekujesz, że zgadniemy jaki to czujnik i w jaki sposób podłączyłeś do bazy tranzystora. Bez tej informacji nie da się nic wyjaśnić, a z tą informacją rozwiązanie będzie zapewne trywialne.

    0
  • #11 01 Kwi 2014 17:20
    torque21
    Poziom 6  

    ok zapomniałem napisać czujnik ma wyjście stan niski/wysoki(0/5V) i to podłączyłem do bazy przez rezystor

    0
  • #12 01 Kwi 2014 17:44
    BlueDraco
    Specjalista - Mikrokontrolery

    A o wyjściu czujnika nadal nic nie wiadomo - bramka logiczna? otwarty kolektor/dren? styk?

    0
  • #13 01 Kwi 2014 17:51
    torque21
    Poziom 6  

    styk
    output: 100 mA / 5 V power supply

    0
  • #14 01 Kwi 2014 18:02
    BlueDraco
    Specjalista - Mikrokontrolery

    Czyli nadal nie wiadomo...

    0
  • #15 01 Kwi 2014 22:33
    torque21
    Poziom 6  

    szczerze to nie rozumiem już o co chodzi

    Cytat:
    Czyli nadal nie wiadomo...

    0
  • #16 01 Kwi 2014 22:52
    Fredy
    Poziom 27  

    Problem jest w czujniku.
    Po właczeniu zasilania to on ci daje przez chwilę stan wysoki na wyjsciu co zapala ci diodę.
    Jeżeli masz zasilanie wspólne czujnika i procesora to daj opóżnienie na początku programu aby procesor nie złapał tej błednej informacji.
    Dodaj jeszcze polaryzację bazy na wszelki wypadek - np 10k do +Vcc, bo może ten czujnik jednak jest open colector.

    0
  • #17 02 Kwi 2014 02:41
    dondu
    Moderator Mikrokontrolery Projektowanie

    Pomaganie ma sens wtedy, gdy pytający dostarcza nam informacje na podstawie, których możemy stwierdzić przyczynę problemu. Ty nam te informacje dozujesz (dopiero gdy na ich podanie naciskamy) przez dobę, za każdym razem uchylając małego rąbka tajemnicy Twojego projektu. Efekt - Zarówno Ty jak i my tracimy czas.

    Elektronika to dziedzina ścisła - jeden rezystor o nieprawidłowej wartości może położyć na łopatki wielki projekt. Dlatego ponownie poproszę o kompletny schemat Twojego układu. Kompletny to także czujnik, bo do tej pory nie mamy pojęcia z czym mamy do czynienia.

    A jeśli nie masz zamiaru tych materiałów nam dostarczyć, to zrób co piszemy (dodaj opóźnienie) i zamknij ten temat.

    A do kompletu dwie lektury:
    http://mikrokontrolery.blogspot.com/2011/04/pieklo-poczatkujacych.html
    http://mikrokontrolery.blogspot.com/2011/04/fora-dyskusyjne-sa-bardzo-pomocne.html

    A gdy już schemat zrobisz, to założę się, że sam dojdziesz, co jest przyczyną.

    0