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.

ATTINY45 - Sprawdzenie poprawności układu - automatyczne podlewanie

RADMOR_MAN 09 Mar 2013 21:58 2811 6
  • #1 09 Mar 2013 21:58
    RADMOR_MAN
    Poziom 17  

    Witam, jestem początkujący i buduję sobie automatyczne podlewanie do kwiatków. Szkic programu od razu mi urósł w głowie, później jednak uświadomiłem sobie, że np. odczepienie czujnika i zalewa mi dom. Wykombinowałem zatem układzik, który moim zdaniem zabezpieczy mnie przed tego typu sytuacją. Ma ktoś jakieś sugestie odnośnie błędów na schemacie, ew. uproszczenia jakiegoś fragmentu kodu? Zastanawiam się jak będzie działać PWM na tej parze driver+mosfet. Jest to raczej dosyć szybkie połączenie, więc chyba nie powinno być problemów? PWM raczej będzie konieczny, z pompką jeszcze nie testowałem układu, ale na pewno trzeba będzie ją trochę "skręcić". Użyta zostanie pompka do spryskiwaczy od samochodu. Najpierw wydawało mi się, w sumie trochę bez pomyślunku, że pobiera ona na tyle mały prąd, że wysteruję wszystko driverami, które mają ok 1A const jednak doczytałem i zorientowałem się, że to naiwne i około tych 3A trzeba przewidzieć. Pompka zostanie przytwierdzona do 5l butelki po wodzie. Elektrody wykonałem z mosiężnych łusek od nabojów myśliwskich. Testuję układ od około dwóch tygodni, pomiar działa bardzo dobrze. Dodam jeszcze prostą regulację stopnia podlewania i wysuszenia, dipswitch 6pin, 3 piny i 5 kombinacji w fajnym, szerokim zakresie na wysuszenie i tyle samo na podlanie. I w sumie attiny45 zostanie wykorzystany w 100% jak dodam regulację. Studiuję we Wrocku, mieszkam w Słupsku, więc w wakacje układ będzie zdany kompletnie na siebie. Jeśli wszystko ok z moim schematem, jutro biorę się za zaprojektowanie PCB i niedługo pochwalę się efektem ;)

    ATTINY45 - Sprawdzenie poprawności układu - automatyczne podlewanie

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0 6
  • #2 09 Mar 2013 23:41
    excray
    Poziom 39  

    Kolego kiedyś rozważałem taki sam projekt i podsunę Ci jeszcze kilka swoich wątpliwości:
    - sonda musi być zasilana sygnałem AC inaczej szybko zacznie korodować
    - dobrze jakby układ miał orientację w porach dnia nocy - w najprostszym przypadku czujnik oświetlenia z opóźnieniem czasowym (latem jasno się robi dość wcześnie). Tak aby pompka nie włączała się nam o 1 w nocy budząc wszystkich w pokoju.

    0
  • #3 10 Mar 2013 00:19
    RADMOR_MAN
    Poziom 17  

    Rozważałem zasilanie sygnałem AC, ale zrealizowałem to inaczej. Tryb uśpienia swoją drogą, w sumie niepotrzebny bajer, ale bądźmy oszczędni. Spójrz na budowę pętli while, tak ją skonstruowałem, że odlicza do 450, a procesor śpi 8 sekund. odczyt z sondy jest robiony jeśli zmienna odczyt przypisana do warunku w pierwszym while jest równa 1. W sumie daje to odczyt wilgotności co godzinę, napięcie jest podawane na sondę tylko raz na godzinę przez 0,1s. Z czujnikiem zmierzchu słuszna uwaga, nie pomyślałem o tym, na dłuższą metę pompka co 3-4 noc będzie męcząca. Rezygnuję zatem z regulacji stopnia podlania, powiedzmy, że jest to bardziej uniwersalny parametr niż moment rozpoczęcia podlewania, a do zwolnionego wejścia podepnę prostacko fotorezystor.

    0
  • #4 12 Mar 2013 00:32
    RADMOR_MAN
    Poziom 17  

    Wprowadziłem drobne korekty do schematu, w kodzie zrobiłem diametralny porządek, powinno się go dużo przyjemniej czytać. Kod się ładnie kompiluje jednak na tym etapie prac zostanie przetestowany dopiero ,,in vivo'', dodam, że zajmuje 1502/4096 bajtów na attiny45, wszystkie nogi wykorzystane. Uporam się trochę z uczelnią (mało elektronicznie, już pół-inżynier budownictwa na PWr) i w weekend usiądę do projektowania PCB. Ktoś by powiedział budownictwo, po co komu programowanie, wszyscy jadą na kartkach, a ja pisze skrypty w matlabie i visualu ,np. 300 długości do siłowego odczytania z a-cada, wykorzystując obwody regionów (metoda zaiste brute-force, ale konieczna w przypadku np. splajnów) skryptem w matlabie dosłownie liczy się samo i zajmuje tyle co napisanie paru sprytnych linijek. Mikrokontrolery to dla mnie super zabawa + uczę się C (na razie tylko adruino, ale już niebawem..) i układam sobie to, co stosuję w "inżynierskiej" praktyce.

    ATTINY45 - Sprawdzenie poprawności układu - automatyczne podlewanie

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #5 13 Mar 2013 21:38
    bgolab
    Poziom 22  

    Walczyłem z tym problemem i dałem sobie spokój gdy uświadomiłem sobie, że w domu jest 40 doniczek na 2 kondygnacjach.

    Problem rozwiązałem skutecznie przy pomocy blumatu.
    http://blumat.pl/

    0
  • #6 13 Mar 2013 23:24
    excray
    Poziom 39  

    Ja z kolei swego czasu jak rozważałem ten projekt trafiłem na kule nawadniające i też zrezygnowałem. Niestety dzisiaj wszystko można taniej i lepiej kupić aniżeli samemu robić.

    0
  • #7 14 Mar 2013 01:14
    RADMOR_MAN
    Poziom 17  

    No cóż, mogę jedynie zdobyć się na krótki wywód o następującej treści skoro odbiegamy od tematu. Kiedyś dzieci bawiły się na podwórku, jeździły na rowerach, ludzie robili sami kiełbasy, bimber, byli kreatywni, inżynierowie liczyli bez kalkulatorów i wszystko stało. Teraz wszyscy siedzą przed kompami, garbaci i bez emocji, jemy spleśniałą kiełbasę, nic nam się nie chce, inżynier nie zna tabliczki mnożenia, hale się walą. Ja tam "Π∑r**ΓΣ" to i jeszcze coś mi się chce pomimo tego, że nikomu nie opłaca. Kupiłem dzisiaj pompkę i uruchomiłem, wygląda to dobrze. Próbuję trochę zmodyfikować algortym programu, ale coś robię nielogicznie, nawet przy kompilacji rozmiar programu spada 3-krotnie. Chcę zrobić w ten sposób, że jeśli w poprzednim program wykryje, że jeśli w poprzednim "przejściu" była noc, a w obecnym mamy już dzień i dodatkowo kwiatek wymaga podlania to zanim podleje - zaczeka kilka godzin zanim wszyscy wstaną (czekanie realizuję pętlą for, żeby nie dawać długiego delay'a - nie wiem, czy daje to jakieś wymierne efekty?)

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0