Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Monitor licznika elektrycznego

hursamir 10 Paź 2009 19:42 2645 11
  • #1 10 Paź 2009 19:42
    hursamir
    Poziom 9  

    Witam. Mam projekt do zrobienia na uczelnie. Monitor oparty na fotodiodzie do odczytywania i przesylania droga radiowa migniec diody licznika elektrycznego(1000/1kWh). Jestem na kierunku komputery i sieci komp. i z elektronika nie mialem ze wiele do czynienia. Trzeba opracowac kosztorys takiego projektu i tu powstaje problem. Ni z cholery nie wiem jak policzyc elementy bo nie wiem jakich uzyc. Co prawda bylo troche elek. na architekturze PC ale nie za wiele. Wedlug wstepnego projektu i art. (m.i elektroda.pl) znalezionych w necie mam tak :
    1) 2 x ATmega8
    2) 2 x XBee 1mW Chip Antenna
    3) LCD - 2x16 AC 1602C-BLW
    4) Fototranzystor BPW17N T3/4
    5) Modul nawigacyjny do obslugi LCD - nie mam pojecia
    6) Modul zasilajacy ??
    7) DS1307 Real-Time Clock Mini Board - nie wiem czy konieczny

    Na stonce -< Link >- znalazlem podobny projekt z zdjeciem jak on wyglada i jakie elementy zostaly uzyte ale niestety jest to oparte na Arduino a co za tym idzie nie nadaje sie do mojego projektu. Zwracam sie zatem do Was o pomoc w celu przeanalizowania tego co juz mam i co jeszcze bedzie mi potrzebne. Programowanie i skladanie tego ukladu jest przewidziane na przyszly semestr takze na razie sie tym nie przejmuje (mozna powiedziec ze mam podstawy C za soba i caly rok programowania przed). Poza tym znalazlem swietny material filmowy dla poczatkujacych jak to wyglada - WinAvr, PonyProg. Moze komus sie przyda -< Link >- Jest to tylko ogolny zarys ale moim zdaniem calkiem spoko(English). Jest to moj pierwszy art. na tym forum wiec prosze o wyrozumialosc jesli dane nie sa wystarczajace.

  • Pomocny post
    #2 10 Paź 2009 21:48
    shg
    Specjalista techniki cyfrowej

    hursamir napisał:
    2) 2 x XBee 1mW Chip Antenna

    Nie wiem, czy to nie za drogie?
    Można użyć modułów na 800 z kawałkiem MHz, ale wypadało by do tego dorobić własny protokół transmisji (korekcja błędów, szyfrowanie itp.).
    hursamir napisał:
    5) Modul nawigacyjny do obslugi LCD - nie mam pojecia

    A co to? Do typowego LCD 2x16 z kontrolerem HD44780 wystraczy wymieniony wcześniej mikrokontroler.
    hursamir napisał:
    6) Modul zasilajacy ??

    15 zł, transformator, mostek prostowniczy + stabilizator, to akurat mały problem.
    hursamir napisał:
    7) DS1307 Real-Time Clock Mini Board - nie wiem czy konieczny

    Przyda się. Można użyć do tego mikrokontrolera, ATmega8 może pracować z dodatkowym kwarcem "zegarkowym" 32768 Hz, ale to wymaga nieco papraniny, zwłaszcza z odrębnym zasilaniem. Sprzętowy RTC jest prostszy i w wypadku zaniku zasilania może pracować na własnym ogniwie litowym, które starczy mu na jakieś 10 lat. Maxim ma też lepsze RTC w swojej ofercie, na przykład bardzo dokładny DS3231, tylko cena trochę dołująca.

    Ważną rzeczą jest też radzenie sobie z zanikami zasilania. Jeżeli urządzenie będzie podłączone za licznikiem, to nie ma problemu, może się razem z nim wyłączyć, bo i tak w tym czasie licznik niczego zliczać nie będzie, ale wypadało by żeby RTC w urządzeniu pracował nieprzerwanie. Druga kwestia to gromadzenie danych, nie możesz raczej polegać na tym, że komputer będzie 24 godziny na dobę zbierał dane, więc w wypadku braku komunikacji układ powinien gdzieś je przechowywać. Najlepiej, gdyby dane gromadzone były w układzie znajdującym się przy liczniku, wtedy uniezależniasz się także od problemu chwilowego braku komunikacji. Do tego można by użyć jakiegoś flasha, albo większego EEPROM-u (na I2C na przykład). Rozmiar tej pamięci trzeba by ustalić na podstawie jakiegoś założenia, tzn. sposobu gromadzenia danych i maksymalnego dopuszczalnego czasu bez komunikacji. Można by również zrealizować "kompaktowanie" danych, gdy zabraknie pamięci to istniejące dane konwertowane były by do zapisu o mniejszej rozdzielczości (np. normalny zapis co 10 minut zamieniany był by na zapis zużycia co minutę, zwalniając tym samym 5/6 z dostępnej pamięci). Protokół komunikacji i oprogramowanie musiały uwzględniać taką sytuację i umożliwić wysłanie "paczki" archiwalnych danych na żądanie, ale to w sumie banał.

    hursamir napisał:
    ale niestety jest to oparte na Arduino a co za tym idzie nie nadaje sie do mojego projektu.

    Arduino to tylko płytka z AVR (schemat jest dostępny w sieci), po drobnych modyfikacjach można tego użyć.

    Całkowity koszt udało by się zamknąć się w okolicy 200zł. Do tego jeszcze trzeba by jakieś płytki, albo metodą "domową", albo z "płytkarni" koszt każdej z płytek szacowałbym na jakieś kilkanaście złotych.

    Projekt ciekawy i wbrew pozorom dość rozbudowany, radziłbym zabrać się do niego jak najszybciej ;].

  • #3 12 Paź 2009 05:49
    hursamir
    Poziom 9  

    shg napisał:
    Można użyć modułów na 800 z kawałkiem MHz, ale wypadało by do tego dorobić własny protokół transmisji (korekcja błędów, szyfrowanie itp.).

    Nie da rady. Moja znajomosc elektroniki nie pozwala mi na takie szalenstwo :)

    shg napisał:
    15 zł, transformator, mostek prostowniczy + stabilizator, to akurat mały problem.

    Chodzilo mi o zasilanie z bateri. Nie ma mowy zeby podpiac sie za licznik (chyba by mnie nauczyciel zabil gdybym mu wysunal taki pomysl)

    shg napisał:
    ... Do tego można by użyć jakiegoś flasha, albo większego EEPROM-u (na I2C na przykład). Rozmiar tej pamięci trzeba by ustalić na podstawie jakiegoś założenia, tzn. sposobu gromadzenia danych i maksymalnego dopuszczalnego czasu bez komunikacji....


    Swietny pomysl. Nie pomyslelismy o tym wczesniej. Wyobrazam sobie 2 zmienne powiedzmy lampka i count. Zmienna lampka bedzie odpowiadac za liczenie migniec diody na liczniku. Kiedy doliczy 1000 zresetuje sie zwiekszajac count++(1kWh). Kazdy count z koleji bedzie wysylany do odbiornika dodajac aktualna cena za 1kWh do istniejacej juz ceny. Lepsza bedzie do tego zadania flash albo EEPROM? Nie prog. wczesniej uC wiec nie mam pojecia jak duza w/w pamiec byla by tutaj potrzebna. Intiger w C to 2 byte's. Czy w takim wypadku powiedzmy 8Kb wystarczy? Jakis konkretny model albo wsio rawno? Wielkie dzieki.

  • #4 12 Paź 2009 07:56
    atom1477
    Poziom 43  

    Zastanawiam się czy użycie XBee nie będzie równie skomplikowane jak odpalenie prostej komunikacji pomiędzy na przykład dwoma RFM12B.
    Szyfrowanie to parę operacji (XOR, permutacja macierzy), Korekcja błędów to CRC zrealizowane w jednej pętli i potem zwykłe sprawdzanie.
    Zrobienie tego będzie najprostszą rzeczą w całym tym urządzeniu.
    A różnica w cenie ogromna. RFM12B jest po 20zł., XBee? Nie sądzę :D

    Dziwnego masz prowadzącego który zabija za pomysł zasilania z sieci. Albo Ty jakiś strachliwy jesteś i się boisz mu to zaproponować.
    Co w tym takiego złego? Nie wyklucza to przecież wykorzystania modułu zasilania awaryjnego na wypadek gdy zabraknie zasilania z sieci.

    EEPROM 8KB spokojnie wystarczy. To ma tylko liczyć mignięcia więc teoretycznie wystarczyła by jedna zmienna np. 4-ro bajtowa. Myślę że EEPROM w procesorze by wystarczył (jak użyjesz procesora z EEPROMem, ale teraz to standard w procesorach).

  • #6 11 Lut 2010 03:05
    hursamir
    Poziom 9  

    Witam. Pierwsza czesc tematu zaliczona na 72% :) Dzieki za sugestie. Zalaczam caly raport (nie kopiowac - Angole maja swira na punkcie kopiowania - raport jest zapisany w bazie wiec jakiekolwiek przekopiowanie kontekstu = sprawa karna + wydalenie z universytetu). Teraz nadchodzi druga czesc gdzie zasugerowany projekt musi zostac zbudowany. Wedlug w/w raportu do budowy licznika wymagane sa nastepujace elementy:
    Microcontroler – ATMega8
    Receiver – RX 433Mhz
    Transmitter – TX 433Mhz
    Starburst LED – PSA 08-11EWA
    RTC DS 3231
    Fototransistor BPW 17N

    Kumpel kupil nastepujacy zestaw Arduino(ATmega328) a powinien byc ATmega8. Ogolnie ma problem z przesylaniem danych z transmitera do odbiornika (XBee - raport zaklada ze w celach edukacyjnych mozna uzyc XBee). To sa moje pierwsze kroki w elek. ale postanowilem kupic caly zestaw i sam zrobic wszystko uzywajac w/w elemenetow. Czy mozna wymienic mC w Arduino? Jaki dev. kit powinienm kupic aby zbudowac dzialajacy prototyp? Najlepiej byloby gdybym mogl zaprogramowac i przestestowac mC na takiej plycce a nastepnie przepiac wszystkie elementy na development plytke (bez koniecznosci lutowania). Da sie tak? Trzymajac sie projektu Starburst LED wymaga az 18 pinow (albo zle zrozumialem schemat) Jak zatem moge kontrolowac 3 Starburst z ATmega 8?

    Załączniki:
  • #7 27 Lut 2010 17:32
    hursamir
    Poziom 9  

    Ok juz sobie sam odp. na w/w pytania (no tak to jest jak sie jest na sieciach a ma sie projekt z elekt. :)) Mam za to inne pytanie. Do prog. uzywam Arduino sciagnietego z ich strony ale jest bardzo nieporeczny. Czy jest jakis inny IDE ktorego moglbym uzyc?

  • #8 25 Mar 2010 03:58
    hursamir
    Poziom 9  

    Mam takie pytanie odnosnie crystal'a. Do w/w projektu uzywamy ABRACON - AB15T-32.768KHZ. Dlaczego 32.768KHZ? Czytalem ogolnie na ten temat ale na postawione pytanie odp. nie znalazlem. Czy ktos moglby mi to po chlopsu wytlumaczyc?

  • #9 25 Mar 2010 07:25
    PiotrPitucha
    Poziom 32  

    Witam
    Sprawa kwarca jest prosta 32.768KHz czyli 32768Hz to 15 potęga liczby 2, czyli łatwo z niej uzyskać impulsy sekundowe, kwarce 32.768KHz są stabilne i tanie ze względu na masową produkcję, ponadto większość układów RTC jest przystosowane sprzętowo do dzielenia tej częstotliwości.
    Co do samego układu to zainteresuj się modułem Butterfly dostępnym np. w JM, masz tam procesor w wersji P pobierającej bardzo mało prądu.
    Masz tam wszystko co Ci potrzebne a bateria pastylkowa taka jak w BIOS komputera starcza na kilka lat, problem jest tylko w wyświetlaczem, bo jest tam LCD dedykowany do płytki a nie alfanumeryczny.
    Piotr

  • #10 26 Mar 2010 01:43
    hursamir
    Poziom 9  

    PiotrPitucha napisał:
    Witam
    Sprawa kwarca jest prosta 32.768KHz czyli 32768Hz to 15 potęga liczby 2, czyli łatwo z niej uzyskać impulsy sekundowe,.....Piotr


    Sorry ale dalej nie wiem co ma 32768 do 1 sekundy.

    Dodano po 1 [godziny] 8 [minuty]:

    Znalazlem taki art. na ten temat. Nie wiem czy dobrze zrozumialem. Krysztal 32.768kHz zawiera kondensator 12pF wiec jego naladowanie dokladnie 32768 razy daje czas 1 sekundy?

  • Pomocny post
    #11 26 Mar 2010 07:41
    PiotrPitucha
    Poziom 32  

    Witam
    Wracam do sprawy kwarca łopatologicznie, najprostszy dzielnik częstotliwości dzieli przez 2, dokładając następny na jego wyjście mamy podział przez 4, dokładając następny mamy podział przez 8...... dokładając piętnasty mamy podział przez 32768.
    Jeśli na wejściu damy kwarc 32768 to po 15 dzielnikach mamy impulsy sekundowe.
    Drugim z typowych kwarców jest 4194304, co jest 22 potęga liczby 2, jeśli realizujesz dzielenie programowo a nie sprzętowo to również dzielenie przez 2 i potęgi liczby 2 jest bardzo proste.
    Kondensator przy kwarcu umożliwia w pewnych granicach zmianę częstotliwości kwarcu i kalibrację zegara.
    Piotr

  • #12 30 Mar 2010 03:00
    hursamir
    Poziom 9  

    Wielkie dzieki PiotrPitucha za pomoc.
    Co do raportu to wlasnie nad nim pracujemy i w najblizszym czasie zamiesze go na forum (moze komus sie przyda). Pozdro

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME