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

ATmega8 - Błąd w kodzie Bascom do sterowania wentylatorem PWM

Adi663 15 Lip 2014 22:13 2976 9
REKLAMA
  • #1 13799838
    Adi663
    Poziom 9  
    Witam
    Czy ktoś może mi powiedzieć gdzie jest błąd w kodzie zamieszczonym poniżej?
    W tym projekcie atmega ma sterować obrotami wentylatora (wolniej/szybciej) po naciśnięciu przycisku.
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 13799926
    cziken08
    Poziom 9  
    Napisz coś więcej, jak się zachowuje układ po zaprogramowaniu. Może jakiś schemat wrzuć.
  • REKLAMA
  • #4 13800327
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #5 13800509
    Adi663
    Poziom 9  
    Zapomniałem dodać wentylator pracuje na 12v 0.1A i jest sterowany przez BUZ 11.
  • #6 13802154
    Konto nie istnieje
    Poziom 1  
  • #7 13804537
    Adi663
    Poziom 9  
    szczywronek napisał:
    Adi663 napisał:
    gdzie jest błąd
    Nie znam BASCOM'a więc mogę się mylić... ale wydaje wydaje mi się, że tu:
    Kod: text
    Zaloguj się, aby zobaczyć kod
    ;]


    Zadziałało dzięki za pomoc

    emarcus napisał:
    Adi663 napisał:
    Witam
    Czy ktoś może mi powiedzieć gdzie jest błąd w kodzie zamieszczonym poniżej?
    W tym projekcie atmega ma sterować obrotami wentylatora (wolniej/szybciej) po naciśnięciu przycisku.
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Tu konfigurujesz Timer1 do pracy w trybie (1) 'Phase Correct PWM, 8-bit'.
    mniej/więcej jak na poniższej ilustracji:

    ATmega8 - Błąd w kodzie Bascom do sterowania wentylatorem PWM
    Z tych parametrów częstotliwośc PWM wynosi ok 250Hz, co jest OK dla kontroli jasności diody; jednak dla kontroli obrotów silnika jest raczej za mało. Ustaw na kilka kHz.
    Druga rzecz: Zmieniasz wypełnienie w zakresie od zera co 1 stopień (256 stopni) co przelicza sie 0.4% na jednostkę. Z praktycznych obserwacji - silnik nie ruszy jeżeli wypełnienie jest poniżej 10% chociaż to jest jeszcze zależne od budowy i obciążenia silnika.
    Okropnie dużo klikania przyciskiem, zaczym zauważysz zmianę obrotów.
    W Bascom jest wbudowana funkcja DEBOUNCE dla przycisków S1 i S2.

    e marcus


    Obecnie kod wygląda tak:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Co do zmiany prędkości wentylatorów to nie ma problemu bo jeśli się przyciśnie i przytrzyma przycisk to też zmieniają się obroty. Mam jeszcze tylko problem z samymi wentylatorami jażeli nie pracują na pełnych obotach to dziwnie buczą (NMB model: 3110GL-B4W-B24) poza nimi mam jeszcze jeden i znim przy zmianie obrotów nic się nie dzieje działa prawidłowo (Yate Loon D80SM-12A). Da się to jakoś wyeliminować?
  • REKLAMA
  • Pomocny post
    #8 13805721
    Konto nie istnieje
    Poziom 1  
  • #9 13809420
    Adi663
    Poziom 9  
    Obecnie układ wygląda jak na schemacie. Mogę go jakoś zmodyfikować czy jednak zmienić wentylatory. Na filmiku niżej słychać dźwięk który wydają te wentylatory.

    ATmega8 - Błąd w kodzie Bascom do sterowania wentylatorem PWM



  • #10 13819697
    Adi663
    Poziom 9  
    Temat zamknięty podłączyłem kondensator 100uF i wszystko działa jak miało działać. Dzięki z pomoc
REKLAMA