Skocz do zawartości

Kontroler grzałek (arduino wg jolo) nie działa?


MrOD

Rekomendowane odpowiedzi

Cześć

W końcu znalazłem czas aby pomęczyć koncepcję zaproponowaną kiedyś przez jolo - zbudowanie autonomicznego sterownika do grzałek na bazie arduino.
Wszystko mam podłączone tak:
59f244e332c82_Zrzutekranu2017-10-26o22_20_11.png.60077b595aefb3f753e8b6a8e6f4ebe5.png

Tranzystor to BUZZ11A.
Chucham dmucham na DHT22, na porcie szeregowym wypluwam sobie odczyty z DHT. W miejscu gdzie jest peltier na schemacie podłączyłem woltomierz a potem wentylator 12V. Zarówno w jednym jak i drugim przypadku zero sygnałów że działa. Do złącza zasilania podpięte 12V 2.5A. Gdzie może być problem?
Wcześniej sprawdzałem czy działa z brzęczykiem 5V - podpięty do pinu 3 (tam gdzie tranzystor) i do uziemienia z płytki. Działało... z tranzystorem nie chce dać znaku życia.

#include <dht.h>
#include <Timer.h>

dht DHT;
Timer timer;

#define DHT_PIN 2
#define PWM_PIN 3


void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  timer.every(5000, updatePWM);
  Serial.begin(9600);
}

void loop() {
  timer.update();
}

void updatePWM() {
  digitalWrite(LED_BUILTIN, HIGH);
  int chk = DHT.read22(DHT_PIN);
  if (chk == DHTLIB_OK) {
    byte pwm = map(constrain(DHT.humidity, 60, 100), 60, 100, 0, 255);
    analogWrite(PWM_PIN, pwm);
    
    Serial.print("Cykl_updatePWM ");
    Serial.print(DHT.humidity);
    Serial.print(" ");
    Serial.print(DHT.temperature);
    Serial.print(" PWM ");
    Serial.println(pwm);
    
  } else {
    analogWrite(PWM_PIN, 255);
    Serial.println("Cykl_updatePWM - DHT_NOT_OK ");
  }
  digitalWrite(LED_BUILTIN, LOW);
}

 

Odnośnik do komentarza
Udostępnij na innych stronach

Myślę że to kwestia tranzystora - z danych technicznych wynika, że niekoniecznie będzie się włączał przy tak niskim napięciu bramki. Potrzebujesz albo go sterować przez dodatkowy sterownik, albo wziąć jakiegoś MOSFETa niskonapięciowego, np IRLZ44N. 

PS - i nie wiem czy ten schemat jest kompletny, ale minusy zasilania muszą być połączone ze sobą. Czyli tam gdzie jest źródło tranzystora i masa Arduino. 

jolo-astrojolo.png

Odnośnik do komentarza
Udostępnij na innych stronach

Usuń rezystor pomiędzy bramką i źródłem. Z nim robisz klasyczny dzielnik napięcia z dwóch rezystorów, który powoduje że na bramce tranzystora masz 2.5V (Arduino Mini 5V) albo 1.65V (Arduino Mini 3.3V). W obu przypadkach to poniżej progu wysterowania bramki (dla tego mosfetu = 3V). Jeśli używasz Arduino Mini 3.3V to zmień mosfet. Nie wysterujesz go dla grzałki poziomem 3.3V. Uwaga @jolo na temat masy jest trafna. Ten wąs z pinu zasilania 12V musi być wspólna masą z Arduino. Zupełnie przy okazji... po co Ci ten kondensator przy DHT22? Aż taką dużą masz odległość pomiędzy czujnikiem i Arduino, żeby wygładzać napięcie?

  • Like 2
Odnośnik do komentarza
Udostępnij na innych stronach

No pięknie chłopaki, wielkie dzięki!
Wywaliłem rezystory (obydwa), spiąłem masy i wentylator zaczął reagować :)
Jedno i drugie razem pomogły, osobno zastosowane nie działają. No to teraz w wolnej chwili pozostaje pomierzyć co mi tam wyszło (ale pewnie tranzystor będzie trzeba zmieniać) :P
(Arduino nano 5V tak na marginesie, testowo bo docelowo to jeszcze nie wiem)
 

Odnośnik do komentarza
Udostępnij na innych stronach

Ochrona prądowa - piny cyfrowe mają określony limit natężenia prądu. Maksymalny prąd per pin dla Arduino to ok 40 mA. Jeśli przekroczysz ten prąd to będzie problem. R = 5V/0,040A = 125 ohm, a to oznacza że rezystor poniżej 125 ohm może obciążać pin Arduino ponad akceptowalny limit (w zależności od oporności bramka - źródło).

Docelowo MUSISZ (!) mieć rezystor pomiędzy bramką i źródłem (dolny), który będzie działał jako pull-down tj. ustawiał w stanie spoczynkowym bramkę mosfetu na poziom 0. W przeciwnym razie mosfet będzie praktycznie niekontrolowalny i może się załączać losowo. Wartość tego rezystora musi być jednak dużo większa niż rezystora górnego np. 10K. W takiej sytuacji dzielnik napięcia spowoduje że 5V z pinu wyniesie 5V * 10K/(10K+0.22K) = 4,89 V, co dla tego mosfetu nadal wydaje się mało ale powinien zadziałać.

  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.

© Robert Twarogal * forumastronomiczne.pl * (2010-2023)