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

[Atmega8][Bascom] - Termometr + dioda/wentylator LCD

drakoo320 29 Sty 2014 12:37 4227 37
  • #1 29 Sty 2014 12:37
    drakoo320
    Poziom 12  

    Witam,
    Mam taki kod programu do obsługi ds18b20:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Chciałbym jeszcze podpiąć wentylator (5V) który będzie się włączał powyżej 25C...
    Dopisałem do kodu:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    I podpiąłem wentylator jednak nie ruszył... więc w ramach testu podpiąłem diode led, przy t1>=0 dioda się pali ale bardzo slabo w ogole jej nie widać zmierzyłem napięcie wyszlo niecałe 1.7V. Przynajmniej wiem dlaczego nie działa mi wentylator...
    Myslałem że jeśli dziele temp. uzyskaną z termometru / 16 to uzyskuje już ją w stopniach np. 23C jednak gdy ustale t1=>23 to dioda się w ogole nie zapala mimo iz temp. jest wieksza niz 23 C

    W czym problem? Dlaczego atmega mi tak zaniża napięcie? googlowalem rozne uklady i wszyscy maja podpieta diode przez rezystor z GND do portu w atmedze. [/code]

    0 29
  • Arrow Multisolution Day
  • #3 29 Sty 2014 12:49
    drakoo320
    Poziom 12  

    Właśnie znalazłem błąd brakowało mi:

    Config Pinc.5 = Output

    Bez tego coś przebijało ale nie tak jak powinno teraz jest okej :)

    Ale jeśli już temat jest założony w jaki sposób sterować obrotami wentylatora?
    Im większa temp. wieksze obroty wentylatora?

    0
  • Arrow Multisolution Day
  • #5 29 Sty 2014 13:00
    drakoo320
    Poziom 12  

    drakoo320 napisał:
    Właśnie znalazłem błąd brakowało mi:

    Config Pinc.5 = Output

    Bez tego coś przebijało ale nie tak jak powinno teraz jest okej :)

    Ale jeśli już temat jest założony w jaki sposób sterować obrotami wentylatora?
    Im większa temp. wieksze obroty wentylatora?


    edit:

    A jednak... diody migają ładnie, >23C zielona (powinien sie wlaczyc wentylator) <23 czerwona jednak wentylator nie chce dzialac ;/ Po podłączeniu go bezposrednio + - do płytki działa, pod atmegą już nie.

    Dodano po 26 [sekundy]:

    Nie mam jeszcze gotowego schematu ;p

    Wentylator posiadam 5V (komputerowy). Jest podpięty pod Portc.5 i jak wyzej ifem zmieniam PORTC.5 = 1 powyzej danej temp. jednak wentylator się nie włącza... Przy podłączeniu wentylatora korzysta się z rezystorow?

    0
  • Pomocny post
    #6 29 Sty 2014 13:10
    BlueDraco
    Specjalista - Mikrokontrolery

    Litości... Port ma wydajność prądową do 20 mA. Wszelkie odbiorniki potrzebujące większego natężenia prądu muszą być podłączane przez jakieś wzmacniacze, np. tranzystor MOS.

    Takie są skutki niepokazywania schematu. ;)

    0
  • #7 29 Sty 2014 13:13
    dondu
    Moderator Mikrokontrolery Projektowanie

    No widzisz, gdybyś opracował schemat nawet na kartce papieru i załączył zdjęcie, to moglibyśmy pomóc, a tak w ciemno doradzać jest trudno tym bardziej, że z opisu sądzę, że kompletnie nie wiesz co robisz.

    Zrób chociaż zdjęcia tego układu i pokaż nam.

    0
  • Pomocny post
    #9 29 Sty 2014 13:25
    dondu
    Moderator Mikrokontrolery Projektowanie

    Rozumiem, że te dwa przewody w lewym górnym rogu to wentylator?
    Czy masz multimetr? Jeśli tak to podłącz wentylator do 5V pomijając ATmegę i zmierz prąd jaki przez niego płynie.
    Następnie przeczytaj artykuły: http://mikrokontrolery.blogspot.com/2011/03/datasheet-mikrokontroler-prady-pinow.html

    0
  • #10 29 Sty 2014 13:32
    drakoo320
    Poziom 12  

    Ok, dzieki za odpowiedź, tak dwa górne (zielony i niebieski) to wentylator.
    Jak dobrze myśle to 0,21A


    W artykule jest napisane jaki jest max pobor na dany pin, ale nie widzę gdzie jest napisane jak rozwiązać moj ten problem.

    0
  • #12 29 Sty 2014 14:56
    drakoo320
    Poziom 12  

    Nie mam zadnych musze kupić. Można prosić o jakiś link + schemat jak to podlaczyć?

    A nie jednak mam BD137 << ale w jakie sposób to podłączyc?

    0
  • #14 29 Sty 2014 15:56
    drakoo320
    Poziom 12  

    Po co dioda? Bez przekaźnika się nie da?

    0
  • #15 29 Sty 2014 16:06
    dondu
    Moderator Mikrokontrolery Projektowanie

    Albo w ogóle nie czytasz, albo czytasz po łebkach artykuły spiesząc się i dlatego nie rozumiesz, co masz zrobić. Nie spiesz się czytaj dokładnie i wyciągaj wnioski.
    Elektronika wymaga cierpliwości i nie lubi pośpiechu.

    Podałem Ci link do tematu na forum, w którym w pierwszym poście jest schemat podłączenia wentylatora.
    Do tego schematu masz dodać diodę, a nie przekaźnik.

    0
  • #16 29 Sty 2014 16:18
    drakoo320
    Poziom 12  

    Rozumie, ale czy ta dioda jest konieczna? ja mam podpiętą diodę pod inny pin w procesorze i działa... Znalazłem tranzystor bc211 podłączyłem go tak jak na układzie i przez rezystor 10k al dalej nie rusza wentylator.

    zmieżyłem sobie napiecie i gdy jest <23 C swieci mi sie dioda czerwona i na wyjsciach z tranzystora jest 0V natomiast powyzej 23C bez podlaczonego wentylatora na jest 5V ale gdy tylko podepne wentylator spada do 3V i nie umie ruszyc, gdy jeden przewod wypne z wentylatora znowu wraca na 5V

    0
  • Pomocny post
    #17 29 Sty 2014 16:25
    kulamario
    Poziom 22  

    Witam
    Kolega dondu ma racje dioda i tranzystor jest potrzebny ale jeśli chcesz na szybko sprawdzić kod czy działa zamiast wentylatora podłącz LED i w ten sposób sprawdzisz czy kod jest poprawnie napisany bo jak dla mnie raczej nie
    Sprawdź ten kod zmień sobie Porty w LCD i 1Wire oraz Wentylator czyli LED w programie.

    Code:
    $regfile = "m8def.dat"
    
    $crystal = 8000000
    $hwstack = 32
    $swstack = 32
    $framesize = 32






    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0



    Cls

    Config 1wire = Portd.7
    Config Pinb.6 = Output
    Led Alias Portb.6
    Led = 1
    Dim Odczyt(2) As Byte
    Dim Db(2) As Byte
    Dim T As Integer
    Dim Ulamek As Integer
    Dim A As Byte
    A = 0
    Cls


     Do
     1wreset
     1wwrite &HCC
     1wwrite &H44
     Waitms 750

     1wreset

    1wwrite &HCC
    1wwrite &HBE

     Db(1) = 1wread(2)
     T = Makeint(db(1) , Db(2))
     T = T * 10
     T = T / 16
     Ulamek = T Mod 10
     T = T / 10
     Locate 1 , 1
     Lcd "Temperatura " ; T ; "." ; Ulamek

     If T > 30 Then Led = 0   ' TU ZMIEN SOBIE WARTOSC DO WLACZENIA WENTYLATORA
     If T < 20 Then Led = 1   ' TU ZMIEN SOBIE WARTOSC DO WYLACZENIA WENTYLATORA





     Loop
     End

    0
  • #18 29 Sty 2014 16:31
    dondu
    Moderator Mikrokontrolery Projektowanie

    drakoo320 napisał:
    Rozumie, ale czy ta dioda jest konieczna? ja mam podpiętą diodę pod inny pin w procesorze i działa...

    O czym Ty piszesz? Jaką diodę masz podłączoną pod inny pin?
    Odpowiedź na Twoje pytanie jest tutaj: https://www.elektroda.pl/rtvforum/viewtopic.php?p=13175227#13175227
    Miałeś ... ale nie czytałeś.

    0
  • #19 29 Sty 2014 16:33
    drakoo320
    Poziom 12  

    Podłączyłem równolegle 2x rezystor 4k7 i wentylator ruszyl, ale jest nap. 4V nie cale.

    0
  • Pomocny post
    #20 29 Sty 2014 16:50
    emarcus
    Poziom 35  

    drakoo320 napisał:
    Rozumie, ale czy ta dioda jest konieczna? ja mam podpiętą diodę pod inny pin w procesorze i działa... Znalazłem tranzystor bc211 podłączyłem go tak jak na układzie i przez rezystor 10k al dalej nie rusza wentylator.

    zmieżyłem sobie napiecie i gdy jest <23 C swieci mi sie dioda czerwona i na wyjsciach z tranzystora jest 0V natomiast powyzej 23C bez podlaczonego wentylatora na jest 5V ale gdy tylko podepne wentylator spada do 3V i nie umie ruszyc, gdy jeden przewod wypne z wentylatora znowu wraca na 5V


    Tak, ta dioda jest konieczna jeżeli obciążenie ma charakter indukcyjny (znów nie doczytałeś(!).
    Przyjmuje się że, LED ma raczej charakter rezystancyjny i tu nie jest wymagane takie zabepieczenie przed BEMF.
    Poprawnie podłączony BC211 powinien załączyć twój wentylator pod warunkien poprawnie dobranego rezystora bazy w odniesieniu do obciązenia. Zmniejsz rezystor na ok 5k.
    Przede wszystkim ten twój program wymaga gruntownego uporządkowania .
    Masz tam całą masę błednych/nieptrzebnych, nic nie wnoszących operacji.

    e marcus

    0
  • #21 31 Sty 2014 16:21
    drakoo320
    Poziom 12  

    Jeszcze takie jedno pytanie na koniec... W jaki sposób w eaglu narysować wentylator?

    0
  • #23 31 Sty 2014 18:06
    drakoo320
    Poziom 12  

    Mogę prosić jeszcze na koniec o sprawdzenie poprawności schematu?

    [Atmega8][Bascom] - Termometr + dioda/wentylator LCD
    [/img]

    0
  • #25 01 Lut 2014 13:17
    drakoo320
    Poziom 12  

    [Atmega8][Bascom] - Termometr + dioda/wentylator LCD

    Teraz jest okej?

    W eaglu można zrobić projekt płytki drukowanej?

    0
  • Pomocny post
    #26 01 Lut 2014 13:20
    dondu
    Moderator Mikrokontrolery Projektowanie

    Schemat - OK, chociaż warto byłoby, byś pokazał jeszcze część zasilającą.
    Tak - kliknij w menu ikonę Generate/switch to board

    EDIT:
    Kondensator na AREF nie jest potrzebny, bo nie używasz przetwornika ADC.

    0
  • #27 01 Lut 2014 13:52
    drakoo320
    Poziom 12  

    Dziękuję za pomoc proszę jeszcze o sprawdzenie poprawności projektu płytki (eagel nie wykrył błędów).

    [Atmega8][Bascom] - Termometr + dioda/wentylator LCD

    0
  • #28 01 Lut 2014 13:58
    kulamario
    Poziom 22  

    Daj schemat w pliku Eagle to ci zrobię PCB
    Bo na twoim nie masz wszystkich ścieżek połączonych będziesz robił mostki na tak malej PCB?

    0
  • Pomocny post
    #30 01 Lut 2014 14:07
    kulamario
    Poziom 22  

    nie mogę otworzyć pliku
    nie wiem co jest nie tak
    jaka wersje Eagle masz?
    spakuj plik i daj na elektrodę załącznik
    OK
    otworzyłem plik
    pełno nie połączonych połączeń (UŻYWAJ W EAGLE NET NIE WIRE)
    powiedz czy rezystor do ustawiania kontrastu ma być potencjometrem(Dużym)?
    i czy kondensatory C1 i C2 maja być takie ogromne?
    Jeżeli pod złączem JP1 ma być wentylator to trzeba dodać diodę
    po za tym jakieś zasilanie tego tez byś się przydało (dodać złączkę na zasilanie?)
    D1 i D2 rozumiem ze to maja być złączki na diody LED?

    0