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

Pomiar temperatury wysyłany SMSem

12 Gru 2012 22:30 2595 12
  • Poziom 38  
    Witam, mam potrzebę zrobić prosty i względnie tani układ do pomiaru temperatury w 3 punktach, który po przekroczeniu pewnych wyznaczonych granic wyśle SMSa z powiadomieniem. Ma to być temperatura powietrza, więc pewnie w granicach -10 do +30°C. Wymyśliłem, że zrobię to na bazie jakiegoś prostego mikrokontrolera pracującego na 3.3V + starej Nokii 3510 (akurat taką mam do dyspozycji). Czyli w skrócie: 3 czujniki temperatury(jeszcze nie wiem jakie) + MCU + telefon sterowany kodami AT.

    Nie jest to chyba zbyt skomplikowane ustrojstwo, ale chciałem zapytać, czy nie istnieje już gdzieś opis gotowego takiego rozwiązania, bo po do odkrywać Amerykę na nowo, skoro ktoś już może to zrobił :)
  • Computer Controls
  • Poziom 21  
    Jeżeli chodzi o czujniki, to myślę, że DS18B20 będą się do tego zadania całkiem nieźle nadawać. Raz że pobierają mało energii, dwa że są całkiem precyzyjne a trzy, że są to czujniki cyfrowe z magistralą, która pozwala na ich użytkowanie na całkiem sporych odległościach... Jeżeli chodzi o mikrokontroler, energooszczędny, to myślę, że w tego typu zadaniu świetnie sprawdzi się któryś z układów z rdzeniem CORTEX M0+. Znajdziesz takie w ofercie NXP(luty 2013) i Freescale (już dostępne)...

    Co do GSM to się nie wypowiem, bo nie mam wiedzy na ten temat...

    Pozdr :)
  • Poziom 38  
    Electix napisał:
    CORTEX M0+

    Chyba pchanie tutaj ARM'a nie ma sensu :) Tak się składa, że mam parę niepotrzebnych ATTiny, ATMega8 i kilka różnych '51, więc raczej te wykorzystam.
    Na ARM (Cortex M3) robiłem pracę magisterską (też komunikowała się po GSM, ale przez dedykowany moduł). No ale tutaj potrzebuję czegoś maksymalnie prostego i taniego. Zapewne sam to zaprojektuję, ale zanim to zrobię, chciałem dowiedzieć się, czy nie ma już jakiegoś gotowego rozwiązania, żeby się nie męczyć.
  • Poziom 21  
    Pocieszny napisał:

    Chyba pchanie tutaj ARM'a nie ma sensu


    A to niby dlaczego? Rdzenie CORTEX M0+ zostały zaprojektowane też i po to, by zastąpić tą całą drobnicę 8/16 bit. Mają mieć ceny na poziomie 0,40$/szt. na dodatek są wydajniejsze obliczeniowo i mniej prądożerne, a w razie potrzeby, zawsze można je zastąpić silniejszymi rdzeniami CORTEX, przy niewielkich zmianach w samym oprogramowaniu.

    Ta szuflada z częściami, jest moim zdaniem jedynym argumentem przemawiającym za ATTiny czy MCS51...
  • Computer Controls
  • Poziom 13  
    Pobierasz temperaturę:
    Tak jak wspomniał Electix bierzesz 3 * DS18B20 najlepiej(bo najmniej roboty), ewentualnie LM35(tańszy ale trochę więcej roboty). Pełno jest przykładów w internecie na ten temat.

    Wysyłanie/Odbieranie SMS
    A z telefonem komunikujesz się za pomocą komend AT(jeśli Twój telefon je obsługuje, a większość telefonów je obsługuje). Tylko będziesz musiał dobrze ustawić napięcia komunikacji.
    Najprostszy sposób w wykonaniu(nie najlepszy) wg mnie to bierzesz telefon+kabel do PC na port COM+MAX232+mikrokontroler. Komunikacja jak przez zwykłego RS232. Wysyłasz komendę "AT" jak dostaniesz odpowiedz "OK" to znaczy, że połączenie działa.
  • Poziom 38  
    Znalazłem całkiem fajny opis układu na AT89C2051 + DS18B20 (akurat jedno i drugie mam). -> http://mirley.firlej.org/termometr_uniwersalny?page=1
    Czy w tej konfiguracji podłączenie 2 dodatkowych DS18B20 do tego samego portu będzie sprawiało jakiś problem? W temacie 1-wire jestem jeszcze dość zielony.


    Co do komunikacji z telefonem, to układ zamierzam zasilić napięciem 3.3V - tak więc wystarczy podłączyć UART bezpośrednio do linii FBUS w Nokii i powinno się to chyba komunikować bez problemu.
  • Poziom 21  
    Coś to za prosto jest to podłączone do tego mikrokontrolera. Ja nie znam struktury wewnętrznej tego MCU i w związku z tym nie wiem czy wewnętrznie nie jest to zrealizowane, ale z tego co pamiętam to magistrala 1-WIRE wymaga podciągnięcia do VCC i najczęściej tą funkcję w najprostszych układach załatwiał rezystor 4,7kΩ. W bardziej złożonych układach, gdzie transmisja odbywa się na większą odległość i jest więcej urządzeń pracujących na magistrali. Rośnie pojemność obciążenia i wtedy żeby zachować specyfikację czasową i stromość zboczy przebiegów, używa się układów "wspomagających" rezystor podciągający. Do tego warto też taką magistralę zabespieczyć przed przepięciami i zakłóceniami, stosując transile, czy dedykowany do tego zastosowania gotowy układ.

    Co do szczegółów, zajrzyj TU
  • Poziom 38  
    Sprawa się trochę skomplikowała, bo dowiedziałem się, że FBUS w Nokiach działa z prędkością 115200bps, a AT89C2051 tego raczej nie uciągnie. Mam jeszcze ATTiny2313 i ATMega8. Czy ich UARTy dadzą sobie rady z takim baudrate?
  • Użytkownik usunął konto  
  • Poziom 38  
    No tak, zagalopowałem się trochę z tym pytaniem :)

    A czy ktoś się orientuje, czy komendy AT można wpisywać przez FBUS, czy tylko przez "oficjalny" port szeregowy wyprowadzony na złączu systemowym (niestety Nokia 3510 go nie ma)?
  • Poziom 34  
    Pocieszny napisał:
    Sprawa się trochę skomplikowała, bo dowiedziałem się, że FBUS w Nokiach działa z prędkością 115200bps, a AT89C2051 tego raczej nie uciągnie. ...

    A kto Ci to powiedzał ? Poradzi sobie nawet z większymi przepływnościami bitowymi. Osobiście pracowałem na 57600b/s. Wszystko pracowało bez problemu. Gorzej tylko z dobraniem sensownego kwarcu, który nie utrudniałby zbytnio pisania 1-wire - proponowałbym 7,2MHz (ewentualnie 3,57MHz). Robiłem już kiedyś coś takiego: https://www.elektroda.pl/rtvforum/topic1791751.html Należy tu zastosować tryb 2 dla UARTU 8051.

    Struktura portu w 8051 jest dosyć prosta. Rezystor podciągający ma dużą wartość, zatem należałoby na wszelki wypadek dodać podciąganie zewnętrzne.
  • Poziom 10  
    Witam i poruszam ciekawy temat.
    Czy udało się autorowi wykonać tytułowe zadanie?
    Bardzo interesuje mnie działający układ.

    Pozdrawiam znawców
  • Poziom 38  
    Tak, udało mi się zrobić to urządzenie. W najbliższym czasie wrzucę opis do działu DIY.