Kaw's Lair Kolejny blog do marudzenia

22Lut/1311

Budzik z Raspberry Pi

To jest wyjątkowo nudny blog, podejrzewam, wpisy co kilka miesięcy. Ktoś to czyta? :D

Ale do rzeczy. Kaw potrzebuje budzika, nie żeby wstawać o konkretnej godzinie, ale raczej po to by nie spać pół dnia. Dlatego te wszystkie paskudztwa piszczące odpadają. Radio też, radio nadaje dziwną muzykę.  Komputer i foobar byłby do tego doskonały, ale ciągnie bez obciążenia około 140W, to byłby bardzo drogi budzik. Mamy jednak raspberry pi, które ma w sobie DAC, działa na Linuksie i nadaje się do tego doskonale. Wrzucamy tam MPD, dodajemy MPC, MPC wrzucamy do crona i tadaaah. No prawie, bo powstaje kolejny problem - głośniki. Głośniki ciągną 12W, oraz co ważniejsze - pierdzą. Jakby miały  być włączone całą noc, to nie dość, że żrą mi prąd to jeszcze kochają wydawać te piękne dźwięki powodowane przez telefony komórkowe. Malinka na szczęście ma pełen zestaw pinów GPIO dostępnych z poziomu userlandu Linuksa, na ich bazie można zrobić coś co pozwoli malince włączyć głośniki kiedy będę potrzebne.

Problemy do rozwiązania:

  • Ma być sterowalne z 2 niezależnych miejsc, malinki (3,3V) i dużego peceta (5V, po to aby były włączone kiedy jedno z tych urządzeń ich potrzebuje);
  • Ma sterować napięciem 230V;
  • Ma być względnie małe aby się dało zapakować w rurkę termokurczliwą;
  • Galwaniczna izolacja obwodu sterującego i roboczego;

Na potrzeby pierwszego problemu zastosujemy jakąś prostą wersję bramki OR. Nie można sobie po prostu połączyć dwóch kabelków razem, bo mamy różnicę napięć sterujących, i gdyby były połączone - PC swoimi 5V zabiłby przynajmniej jeden port raspberry pi, jeśli nie  cały moduł GPIO/CPU. Poza tym oba urządzenia mają dwa osobne układy zasilania, więc nawet jakby miały poziomy TTL (5V), to i tak mogłoby to być dla nich niezdrowe. Generalnie zostają nam dwie opcje, diody lub tranzystory. Mi bardziej do gustu przypadły diody + tranzystor (celem wyrównania napięcia);

Włączenie/wyłączanie obwodu wysokiego napięcia można zrobić na kilka sposobów, głównie na przekaźnikach lub triakach. Przekaźnik jest większy ale zapewnia sterowanie większym prądem (niż triak) bez zbędnego nagrzewania się. Tylko ze ma cewkę, a cewki nie lubią się z mikroprocesorami. Lubią czasem wygenerować wysokie napięcie, i to jeszcze wsteczne. Można je oczywiście zabezpieczyć diodą, ale meh. Weźmiemy Solid State Switch, czyli triak. W moim wypadku BT136 (max 6A), i tutaj drobna uwaga, w wypadku triaków wypada zwrócić uwagę na to czy jest izolowany. Jeśli nie jest (a ten konkretny nie jest) to na tej blaszce, którą montujemy do radiatora występuje wysokie napięcie podczas pracy, więc albo zaizolować albo no-touchie-b-ała;

Galwaniczną izolację chcemy dlatego, by w razie uszkodzenia jakiegoś tranzystora, nie doszło do sytuacji kiedy wysokie napięcie pojawi się na pinach sterujących. To by najpewniej zabiło malinkę i przynajmniej port USB w pececie (o użytkowniku nie mówiąc). Taką izolację zapewniają na przykład transformatory, ale transformatory są tylko dla prądu zmiennego, są względnie duże... bla, bla, weźmiemy optoizolator. Optoizolatory na ogół składają się z diody LED i fototranzystora. To chyba dość jasno tłumaczy, jak działają? ;)

Zabierzmy się do poskładania wszystkiego w całość, układ jest prosty i w zasadzie można go poskładać przeglądając noty katalogowe poszczególnych elementów. Potrzebujemy, od strony gorącej:

  • Jakiś triak (u nas BT136);
  • Optoizolator ze sterownikiem dla triaka (MOC3041);
  • Rezystor 220-330R;
  • Złącze ARK-2;

Od strony sterującej:

  • Dwie diody z rodzaju 4148;
  • Rezystor ~8k (pull-down za diodami);
  • Rezystor ~4k7 (ograniczenie prądu bazy tranzystora);
  • Tranzystor (w zasadzie dowolny NPN, tutaj BC337);
  • Rezystor 220R (ograniczenie prądu diody optoizolatora);
  • Opcjonalnie:
    • Jakiś LED (powiedzmy czerwony);
    • Rezystor ograniczający prąd na tym ledzie, ~6k;
  • Złączkę szpilkową (1x4), jakieś kabelki;

Schemat urządzenia:

uklad-rpi-sch-v11

 

Płytka drukowana:

uklad-rpi-v11

I opis, mamy cztery piny na wejściu - masę, wejście 1, wejście 2, +5V. Pierwsze i ostatnie potrzebne dla wyrównania poziomów napięć, tranzystor musi mieć skądś prąd aby wzmocnić sygnał wejściowy. Piny wejściowe (dwa środkowe) są połączone przez diody, to zabezpieczenie aby prąd przez nie nie płynął w niewłaściwych kierunkach. Konkretniej od strony 5V na stronę 3.3V. Rezystor za nimi ściąga linię sterowania w dół, nie chcemy stanów n nieustalonych. Rezystor podłączony do bazy tranzystora (NPN) ogranicza prąd bazy. Przy poziomach TTL, jak nie chce się wam liczyć poprawnej wartości 4,7k będzie ok. Rezystor między tranzystorem a LEDem optoizolatora ogranicza prąd diody optoizolatora, co by się nie spaliła. Taka sama sytuacja w wypadku diody LED informującej o tym czy układ jest włączony.

Całość jest banalnie prosta i wygląda tak:

Triak nie ma radiatora, więc prąd na nim nie powinien być większy niż około 1-1,5A, przeliczając to na moc: 230-345W max. Ja dodatkowo zalałem całość silikonem (czego sie podobno nie robi, ale to wysokie napięcie na triaku...). Ale że prąd pobierany przez głośniki to około 0,05A, nic mu się nie stanie.

Jak na razie działa to doskonale, z poziomu r-pi włączenie głośników jest tak proste jak napisanie, "gpio -g write 17 1", a od strony PC wystarczyło podłączenie do zasilania portu USB komputera (włączają się kiedy włącza się zasilanie kompa). Zasilanie zapewnia r-pi, bo jest włączone cały czas i nie ciągnie za dużo prądu.

 

A kolejnym razem zrobimy albo zegar rozmawiający z r-pi po I2C, albo sterowanie MPD po I2C.

Zakres tematyczny: Artykuły, Zrób to sam Dodaj komentarz
Komentarze (11) Trackbacks (0)
  1. Nie powinieneś prowadzić ścieżek pod transoptorem – szczególnie niskonapięciowych blisko wysokonapięciowych nóżek.

  2. Fajny projekt
    ale z ciekawości: cóż za piecem dysponujesz, że w idlu ciągnie tyle co 2 moje w stresie? Czyżby nieśmiertelny pentium4 bądź też jakiś phenom wraz z pokaźnym zbiorem dysków?

    • Oj tam fajny, fajny to będzie jak w końcu zrobię sterowanie do mpd po i2c. Ten jest tylko prostym rozwiązaniem irytującego problemu. ;)

      Druga opcja, Phenom II + cztery dyski + Radeon 7850;

  3. Ciekawe, ale jednocześnie przekombinowane rozwiązanie :P Poza tym, ile ten piec je w StandBy/Sleep? Bo moje rozwiązanie na problem budzenia to PC + AIMP, którego opcja budzika potrafi wybudzić komputer ;)

    • W S3 mało, bo mogę go wyłączyć z prądu i podłączyć do innego gniazdka i dalej śpi. ;P Ale ja wcale nie chcę go wybudzać, póki go nie potrzebuję. Bo to by wyglądało tek, że wybudza się komp, wstaje i go usypiam… no po co. :D

  4. Witam.
    Mam pytanie co do rezystorów użytych w opisie. Zaczynam zabawę z elektroniką. Czy rezystor „220-330R” to dowolny opornik od 220-330 Ohmów?

  5. Złożyłem układ i staram się nauczyć jego obsługi, a jako, że jestem jeszcze zielony w tych sprawach chciałby, prosić o jakąś pomoc w obsłudze układu. Czy można prosić o zalinkowanie jakiegoś artykułu, poradnika, czy czegoś, co pomogłoby mi nauczyć się obsługiwać tego typu komponenty?


Leave a comment

Brak trackbacków.