Jaki mikrokontroler wybrać...

Chcę sobie dorobić komputerek zliczający zużytą energię, z przeliczeniem na koszt w zł., wyliczający średnie zużycie dzienne/miesięczne/roczne. Prognozowane zużycie itp.

Jako źródło danych będę używał tego licznika, który już posiadam:

formatting link
I teraz, ponieważ mam plan dwutaryfowy potrzebuję czegoś, co:

- ma zegar czasu rzeczywistego,

- ma pamięć flash (aby w razie zaniku napięcia w sieci dane nie zostały utracone,

- jakiś licznik impulsów w postaci rejestru,

- potrafi bezpośrednio odczytywać sygnały o nap. około 12V, tzn. potrafi bez zbędnej komplikacji odczytać impulsy z powyższego licznika,

- pozwala na prostą komunikację z pecetem w celu odczytu co jakiś czas danych, najchętniej poprzez sieć ethernet,

- pozwala wysterować jakiś wyświetlacz tekstowy LCD.

Trochę szperałem po sieci i znalazłem na allegro takie coś:

formatting link

Wygląda nieźle, ale mam obawy czy da się w jakiś prosty sposób podłączyć do tego ten licznik, co powyżej. Jak to zrobić najprościej?

Kiedyś (lat temu 10) bawiłem się hobbystycznie elektroniką, ale miałem sporą przerwę. Sterowałem za pomocą złącza równoległego w amidze różnymi urządzeniami, ale nie mam pojęcia jak obsłużyć USB, kartę SD, czy ethernet w takiej zabawce. Czy są dostępne gotowe biblioteki do obsługi tego typu urządzeń I/O. Czy taki moduł posiada jakąś namiastkę systemu operacyjnego, za pośrednictwem którego można mieć dostęp do urządzeń I/O w jakiś sensowny sposób? Np. dostęp do protokołu TCP/IP?

Może możecie wskazać jakieś ciekawe strony o współczesnych mikrokontrolerach dla zielonych w tym temacie?

Reply to
Marcin Wasilewski
Loading thread data ...

To nie problem

Raczej szukasz takiego z pamięcią EEPROM. Niektóre mają także podtrzymywaną baterią pamięć RAM. Pamięć EEPROM można dodać na zewnątrz (mały scalak 8-pin).

O co dokładnie chodzi?? O licznik sprzętowy????? Sądzę, że korzystanie ze sprzętowego licznika będzie zbędne (jeśli idzie o pomiar zużytej energii), jeśli chcesz liczyć zużycie chwilowe, to się przyda :)... Ale ma to chyba każdy mikrokontroler...

A kto napisał, że w.w. licznik podaje impulsy 12V??!! On ma wyjście typu OC...

Poprzez sieć ethernet już nie jest tak prosto... Poza tym - pytanie, czy chcesz wysyłać pakiety i odbierać je dedykowaną aplikacją, czy chciałbyś mieć dostęp "przez przeglądarkę"??

Nie znam układu, który by nie był w stanie tego zrobić ;)... poza tymi, które mają za mało pinów ;)...

Podłączenie licznika to żaden problem. Albo robi się to WPROST albo przez optoizolator (zależy czy na pinach SO+ i SO- występuje napięcie czy nie i czy są połączone z siecią...)

A po co Ci dostęp do TCP/IP, jeśli ten moduł nie ma obsługi Ethernetu??!! Powiem tak - nie ma na tym systemu operacyjnego, to nie ten typ urządzeń... Najprościej łączyć się z komputerem przez port COM, można używać USB i wirtualnego portu COM (z punktu widzenia komputera i mikrokontrolera widziany jest normalny interfejs szeregowy, konwersję na USB robi układ FT232 obecny na płytce). No ale to tylko na kilka m będzie działać....

Pozdrawiam Konop

Reply to
Konop

Użytkownik "Konop" snipped-for-privacy@gazeta.pl napisał w wiadomości news:hdote8$lr4$ snipped-for-privacy@inews.gazeta.pl...

Dlaczego pamięć flash się wg ciebie do tych zastosowań nie nadaje?

No wydaje mi się (ale może się nie znam), że sprzętowy licznik jest przyjemniejszy w odczytywaniu, niż np. obsługa wejścia I/O na przerwaniach, ale może się nie znam.

Czyli jak to najprościej obsłużyć?

Np. SO+ łączę z +5V mikrokontrolera, poprzez rezystor 330 ohm, SO- łączę z wejściem I/O mikrokontrolera i z masą mikrokontrolera poprzez rezystor 10k. I rozumiem, że na wejściu wysterowanym na 0 poprzez rezystor 10k wpięty do masy, podczas trwania impulsu uzyskam logiczną jedynkę?

No tak by było fajnie, tylko to pewnie już jakiś system operacyjny jest potrzebny z obsługą stosu TCP/IP i miniserwerem http.

Powiem tak - nie ma na tym systemu operacyjnego, to nie

Do moich potrzeb wystarczy.

PS. są jakieś gotowe moduły z procesorami serii 68000 na pokładzie? Bo jednak assembler m68k jest dużo przyjemniejszy od tego ATMEL-a. Chociaż z drugiej strony ten atmel i tak posiada sporo więcej rejestrów niż procki pecetowskie.

Reply to
Marcin Wasilewski

Marcin Wasilewski pisze:

Zegar czasu rzeczywistego i przechowywanie danych możesz zrealizować na osobnym układzie np DS1307 z podtrzymaniem bateryjnym. Ma 64 bajty RAM i zegar. Do tego dowolny procek który będzie ci łatwo poznać. Np coś z rodziny AVR. Zaletą jest dobre darmowe środowisko np WinAVR. Mozesz też zapisywać dane do wbudowanej pamięci EEprom po wykryciu zaniku napięcia. Do USB możesz zastosować FT323R albo bawić się w biblioteki CDC tla AVR.

Reply to
Mario

ZTCP to pamięci Flash zapisuje się blokami, kasuje się blokami itp. Sposób obsługi jest po prostu bardziej złożony. Pamięci EEPROM mają poza tym większą liczbę cykli, więc możesz częściej je zapisywać przy tej samej żywotności układu. Przy bardzo małych ilościach danych nie ma sensu wchodzić we Flash'a.

Piszesz procedurę obsługi przerwania, która robi inkrementację zmiennej ;)... proste :)... a tak na serio - jeśli układ dostaje częstotliwość typu FCPU/4 na wejście, to programowo tego nie zliczysz, sprzętowo tak ;)... policz sam jakiej częstotliwości impulsów się spodziewasz. Oczywiście zawsze możesz stosować licznik sprzętowy, ale chodzi mi o to, że w tym wypadku realizacja tego programowo nie będzie żadnym utrudnieniem :)...

Ja bym podłączył SO+ do pinu mikrokontrolera, a SO- do masy :)... jeśli połączenie będzie krótkie - zadziała :). Można dać 1k szeregowo między SO+ i pin celem zabezpieczenia. Ew. więcej, ale wtedy podciągnięcie do plusa realizować po stronie SO+, a nie pinu procesora... Większość procesorów ma możliwość sprzętowego podciągnięcia swojego wejścia do zasilania...

No to tak będzie najprościej :)... szukaj pod FT232R (inne wersje niż R też mogą być, ale wymagają więcej elementów dookoła, więc nie polecam :)). I wystarczy Ci dowolny mikrokontroler ze sprzętowym UARTem (prawie każdy :)). Producent układu FT232 udostępnia sterowniki na Winde, Linucha i na MACa :)... pod tymi systemami taki układ będziesz widział jak zwykły port COM.

Chcesz to w ASM pisać?? Nie lepiej w C albo w Bascomie (skoro to pojedynczy projekt)??

Reply to
Konop

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.