Od jakiegoś czasu borykałem się z samorozładowującym się akumulatorem w moim samochodzie. Nie znając przyczyny takiego stanu, zrobiłem układ, który w czasie rzeczywistym będzie podawał mi napięcie na klemach. Zarówno przy wyłączonym zapłonie, jak i podczas podróży, co być może pomoże mechanikowi w dalszej diagnozie, a mnie zawczasu zwróci uwagę na to, że rano czeka mnie podróż autobusem do pracy ;).
Układ pomiarowy zbudowany jest z Atmegi8 (taktowaną 1 MHz) oraz nadajnika radiowego 433 MHz (do kupienia na ebay.pl za przysłowiowe grosze np. taki).
Odbiornik to Arduino z odbiornikiem 433 MHz do kupienia w komplecie z nadajnikiem.
Nadajnik
Poniżej kompletny schemat nadajnika (jak ktoś chce, to mogę podesłać plik Eagla).
Wyjaśnienia pewnie wymaga użycie dwóch stabilizatorów. Stabilizator 12V jest dla nadajnika, którego maksymalne napięcie ma wynosić 12V (działa wg noty od 3,5, ale im większe napięcie tym większy zasięg, a na nim mi bardzo zależało).
Układ można zmontować na płytce stykowej, ale ja zrobiłem płytkę drukowaną. Nie jest to trudne, a opis dla początkujących użytkownik cube umieścił na Majsterkowie.
Układ zasilany jest napięciem wprost z badanego układu (w moim przypadku akumulatora). Maksymalne napięcie wynosić może 15V
Podłączenie układu do źródła napięcia większego niż 15V może uszkodzić mikroprocesor. Wynika to z faktu zastosowania dzielnika napięcia obliczonego na 15V
Kod programu nadajnika jest banalnie prosty.
Ja, podobnie jak Łukasz we wpisie o Systemie powiadamiania o nowych listach w skrzynce, użyłem biblioteki VirtualWire (aktualna wersja dostępna na stronie autora), jednak w przeciwieństwie do Jego kodu, mój kod działa ;).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
#include "VirtualWire.h" void setup() { vw_set_tx_pin( 10 ); // ustawiamy pin, do którego podłączona jest nóżka DATA naszego nadajnika vw_setup( 1000 ); // tutaj ustawiamy prędkość transmisji - im mniejsza, tym większa szansa, że dotrze ona do odbiornika bez zakłuceń pinMode( 9, OUTPUT ); // ustawiamy pin 9 jako wyjście (do niego mam podłączoną diodę, która miga wtedy, gdy wysyłam dane) digitalWrite( 9, LOW ); // a po uruchomieniu ustalamy, że nie będzie się świecić } #define rate 1000 // czas w ms, po którym ma nastąpić transmisja (1 s = 1000 ms) void loop() { static unsigned long oldm; // tutaj będziemy przechowywać czas, ostatniego pomiaru static uint8_t count; // to tylko na moje potrzeby - bez wpływu na funkcjonalność reszty programu uint16_t readV; // zmienna, w której będziemy przechowywać odczyt napięcia if ( millis() - oldm >= rate ) // pomiar co "rate"/1000 sekund { oldm = millis(); digitalWrite( 9, HIGH ); // Flash a light to show transmitting readV = analogRead( A0 ); // dokonujemy pomiaru // poniżej konwersja liczby 16-bitowej, do dwóch 8-bitowych, bo bibliotego VirtualWire wysyła dane 8-bitowe (tak mi się wydaje, ale nie sprawdzałem, tylko tak stwierdziłem ;)). byte little = readV >> 8; byte big = readV; // tablica 8-bitowa, 3-elementowa uint8_t msg[3] = { ' ', little, big }; count++; msg[0] = count; // wysyłamy naszą wiadomość vw_send( (uint8_t *)msg, 3 ); vw_wait_tx(); // Wait until the whole message is gone digitalWrite( 9, LOW ); // Flash a light to show transmitting } } |
Tak wygląda gotowy układ (aktualnie podłączony do ładującego się akumulatora :)).
Odbiornik
W przypadku odbiornika nie przykładałem się zbytnio do tego, czy przy lekkim dotknięciu się rozleci czy nie, więc zmontowałem go na płytce stykowej.
Schematu nie mam, ale ważna uwaga – pomiędzy GND a VCC powinny być włożone kondensatory, które będą nam filtrować zasilanie. Ja użyłem 4,7 uF w połączeniu ze 100 nF., a mimo to, przy zasilaniu z USB zasięg jest dużo mniejszy, niż po podpięciu Arduino pod zewnętrzny zasilacz (bo wtedy już napięcie jest stabilizowane, a przez USB nie).
Kod programu nie jest optymalizowany pod żadnym względem. Póki będzie siedział na ogromnej Atmedze, miejscem, ani zużyciem prądu się nie przejmuję.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
#include "VirtualWire.h" #define led_pin = 13; void sendPlotData(String seriesName, float data) { Serial.print("{"); Serial.print(seriesName); Serial.print(",T,"); Serial.print(data); Serial.println("}"); } void setup() { Serial.begin(115200); vw_set_rx_pin(2); // pin do którego podpięty jest pin DATA w odbiorniku vw_setup(1000); // Bits per sec vw_rx_start(); pinMode(led_pin, OUTPUT); } void loop() { uint8_t buf[VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN; static unsigned long oldm; static uint8_t count; uint16_t readV; static uint32_t odczyt; if (vw_get_message(buf, &buflen)) // Non-blocking { odczyt++; int i; digitalWrite(led_pin, HIGH); // Flash a light to show received good message // Message with a good checksum received, dump it. uint16_t analog; analog = buf[1] << 8; analog |= buf[2]; float V = 12.15 * analog / 824; // prosta proporcja, kalibrująca odczyty, tzn. miernikiem zmierzone napięcie wynosiło 12,15V, podczas, gdy nadajnik przysyłał wartość 824 Serial.print("Pomiar: "); Serial.print(buf[0]); Serial.print("\tValue: "); Serial.print(analog, DEC); Serial.print("\tIlosc odczytow: "); Serial.println(odczyt); sendPlotData("Voltage", V); digitalWrite(led_pin, LOW); } } |
W programie jest funkcja sendPlotData. Już wyjaśniam o co chodzi.
Jakiś czas temu natknąłem się na program MegunoLink. Ma on bardzo fajną funkcję do rysowania wykresów na podstawie danych przychodzących z portu COM.
Dodatkowo ma możliwość zapisywania wszystkiego tego, co przychodzi przez port COM do pliku. Dzięki temu, mogłem wyciągnąć potrzebne mi dane z pliku tekstowego, aby utworzyć wykres w czymś bardziej rozbudowanym.
Ostatecznie dane, które uzyskałem z blisko 24-godzinnego pomiaru napięcia wyglądają tak:
Rozwiązanie problemu (dla zainteresowanych):
Problemem okazał się uszkodzony regulator napięcia, który zamiast tylko “dawać” napięcie, również bardzo chętnie i łapczywie je pobierał. Dlaczego robił to w tak niekonsekwentny sposób? Tego nie wiadomo – “różne rzeczy mają na to wpływ”. W każdym bądź razie jedna z diód “padła”. Ale też tak nie do końca, tylko tak trochę ;). Jakby padła do końca, to prąd rozładowywania wynosiłby 5A, a nie 3A, jak w moim przypadku. Jutro jego wymiana i mam nadzieję, że problemy z dziadem się skończą :).
Sprawdź prąd pobierany przez radio. U mnie właśnie tryb uśpienia z pamięcią zapisanych stacji powoduje że od czasu do czasu mam przykrą niespodziewankę – padniętego akumulatora. A radio jest dobrej klasy, żadne chińskie padło.
Dłuższa historia z tym moim akumulatorem.
Na forum http://www.accordklubpolska.pl/viewtopic.php?t=44445 można o mojej przypadłości przeczytać więcej (to tak dla zainteresowanych).
Super układ podoba mi się
fajnie jakbyś podał plik eagla dzięki
Bardzo proszę plik sch oraz brd dla nadajnika:
https://www.box.com/s/r90actcjihcoiwuuucc7
Jesteś w stanie odnieść się do wykresów i wytłumaczyć zjawiska odpowiedzialne za taki ich kształt? Robiłeś poszukiwania pod tym kątem? Napisz coś o tym i podrzuć linki, ciekawi mnie to. O ile drugi wykres jestem sobie jeszcze jakoś w stanie wytłumaczyć, o tyle pierwszy jest dla mnie zagadką. Skąd wzięły się te szpilki? Czy akumulator znajdował się w stałej temperaturze? Napięcie na nim było mierzone z włączonym obciążeniem?
Nie myślałem, że kogoś zainteresują same wykresy, ale z chęcią opowiem :).
Pomijam wykres, który jest zrzutem ekranu z MegunoLink, a odnoszę się do ostatnich dwóch wykresów.
Pierwszy (“pomiar: noc 1; dzień 1”) wykres to pomiar napięcia przez noc, oraz dzień. I teraz po kolei:
Pierwszy tik, to moment odpalenia samochodu, tak tylko dla testu na paręnaście sekund. Widać spadek napięcia podczas odpalania oraz wzrost napięcia na odpalonym silniku. Następnie zgaszenie silnika i pójście do spania :). Długa pozioma kreska to noc.
Minuta 700. to poranne odpalenie samochodu, żeby się upewnić, czy przy takim napięciu samochód odpali i będę mógł później jechać. Samochód odpalił. I znowu – widać spadek napięcia w momencie rozruchu i wzrost, gdy alternator zaczął dostarczać napięcie.
Kilkadziesiąt minut później pojechałem załatwić kilka spraw. Widać jak pracuje alternator. Między czasie były trzy postoje (widać po spadkach napięcia, znowu przy odpalaniu). A później odczyt się urwał, bo musiałem z laptopem iść do klienta i dziwnie by patrzył, jakbym z antenkami do niego przyszedł ;).
Drugi wykres (to wieczorne wznowienie pomiarów). Widać wyraźnie, że o ile noc na pierwszym wykresie przebiegła całkiem stabilnie, to druga jest o wiele ciekawsza. Systematyczny spadek napięcia na akumulatorze, gdzie w 520. minucie pomiaru napięcie wynosiło poniżej 10 V, a następnie bardzo szybki, samoistny powrót napięcia w okolice 11,2V.
Akumulator już nie ruszył rozrusznika. Są to wykresy z minionego piątku no i wczorajszej soboty. Wieczorem akumulator przyniosłem do domu i ładowałem aż do teraz.
35 minut temu aku wrócił do samochodu i pomiar rozpocząłem na nowo. Napięcie teraz wynosi 13,17 V i odkąd go podłączyłem nie spadło ani o mV.
No tak, sporo to tłumaczy; myślałem że pomiar robisz bez ruszania auta. Ciekawa jest trzecia szpilka pierwszego wykresu, jechałeś na wysokich obrotach lub z wyłączoną klimą?
Zadziwiająca jest różnica między wykresami pierwszym a drugim, bo z tego co rozumiem, warunki pomiaru takie same a w jednym wypadku aku się trzymał dobrze a potem się rozładowywał. Może jakiś kabelek stracił izolację i ma przebicie do karoserii. Drgania podczas jazdy powodują stykanie i rozwieranie owego złącza?
Szpilkę w której minucie masz na myśli? Tę w okolicach 870 minucie sięgającej 14,2V? Jeśli tak, to powstała ona w wyniku odpalenia samochodu, przejechaniu kilkuset metrów, zgaszeniu silnika, pogrzebaniu w bagażniku oraz ponownym odpaleniu samochodu i ruszenie w dalszą, kilkunastominutową podróż.
Tak, pierwsza noc (pierwszy wykres do 700. minuty) oraz druga noc (cały drugi wykres) jest w tych samych warunkach. Z jedną różnicą – pierwsza noc to akumulator po ładowaniu, a druga po normalnym używaniu samochodu.
Problem był już rok temu, ale myślałem, że go rozwiązałem, jednak powrócił w zeszłym tygodniu. Zabawa dla eletryka-detektywa, więc będę mu chciał jakoś pomóc.
Są różne pomysły co może być nie tak – od zepsutego akumulatora (co wykluczam, bo na starym było to samo), przez zwarcia na rozruszniku, alternatorze, aż po uszkodzony regulator napięcia. Ktoś również zapytał mnie, czy nie mam jakiegoś audio działającego po wyłączeniu zapłonu i radio to nie jest, ale mam mały wzmacniacz, do którego cały czas dochodzi napięcie wprost z akumulatora. Wczoraj wypiąłem kabel zasilający no i zobaczymy. Chcę wykluczyć jak najwięcej elementów zewnętrznych, mogących doprowadzać do takiej sytuacji. Za elektrykę się nie zabiorę i wole pozostawić to komuś, kto się na tym zna.
Jakiś kabel może być jak najbardziej przyczyną, ale to jak szukanie igły w stogu siana :(
Powiem tak:
swietny artykul, ale mysle ze nie ma co szukac detali.
mam taki sam akumulator w aucie i musze go ladowac raz na tydzien. i historie mam analogiczna: badania u elektrykow, analizy, pomiary, kombinowanie przy komputerze pokladowym.
niestety winny calej historii jest sam akumulator, ktory po prostu nie trzyma. warto sie tego pozbyc i zainwestowac w cos, co sie samo z siebie nie rozladuje, na przyklad bosch.
na marginesie jeszcze: ladowarki akumulatorowe durnieja podczas ladowania centry futury. dzieje sie wszystko, od restartowania procesu ladowania przez liste bledow, komunikaty, ze aku jest zuzyte po poprawny cykl. to chyba jakis eksperymentalny produkt jest.
Tylko ja nie mogę uwierzyć w to, że to wina akumulatora. Przed jego wymianą to samo mi się działo, dlatego kupiłem nowy (we wrześniu 2012). W dodatku nawet w największe mrozy tej zimy nie było problemu z rozruchem. Jeszcze kilka dni testów i pewnie wizyta u elektryka.
Moim zdaniem to jednak jest ciekawy problem. Diagnoza takiego przypadku może wiele nauczyć, bo wymaga logicznego myślenia, trochę wiedzy i kształci umiejętność szukania informacji w sieci. A z tym, zwłaszcza w młodym pokoleniu, jest TRAGICZNIE.
:), a ile faktów trzeba w głowie powiązać, które mogą mieć wpływ na zależność. Jeżeli problem będzie zbyt trudny do rozwiązania dla profesjonalistów (a nie mam ochoty wymieniać całej instalacji elektrycznej), to będę musiał dodać jeszcze pomiar natężenia prądu, ale tu więcej zachodu, bo będę musiał go odłączać przed rozpoczęciem każdej podróży, ale przynajmniej da mi ogląd jakie prądy są pobierane. Chociaż chyba z samego czasu rozładowywania też to się da wyliczyć… Muszę to przemyśleć :).
Cęgowe badziewie (ale działające) np.voltcrafta do prądów stałych można kupić za ~200zł, ale tym raczej zmierzysz ampery, niż miliampery. Btw. u mnie złodziejem prądu okazała się syrenka alarmu, a konkretnie jej rozsypany układ podtrzymania bateryjnego.
U mnie podobnie było z akumulatorem jeździłem po elektrykach i innych ile czasu na to poświęciłem i wyszło, że to jednak ten akumulator.Niestety musiałem zainwestować w nowy.
Zapewniam Cię, że z elementów podobnych zapewne było tylko to, że nie mogłeś rano odpalić :). U mnie to na pewno nie akumulator, ale więcej Wam powiem może jutro :).
jednak mozna prosic o schemat odbiornika ?
sam mam problem z dzialaniem rf 433 wg poradnika o listach i walcze z tym kilka dni.
chcialbym wiedziec jak podlaczyc te kondansatory bo to chyba kluczowa kwestia w niedzialaniu u mnie rf 4333
Schemat Ci dam, jak go rozrysuję.
W skrócie jeszcze raz – bierzesz kondensator elektrolityczny (czyli taki w dość dużej obudowie) i dłuższą nogę wciskasz koło VCC odbiornika, a krótszą do GND. Bierzesz kondensator ceramiczny (taki w malutkiej, okrągłej, płaskiej obudowie) i jego nóżki wkładasz również przy VCC i GND odbiornika (tu nie ma znaczenia polaryzacja). Tyle.
Bardziej mnie ciekawi kod programu, bo w nim też może być problem. Masz dolutowane antenki do nadajnika i odbiornika?
Zrobilem wszystko wg wytycznych i lipa.
Nic nie przychodzi do odbiornika.
Zamieszczam kod nadajnika i odbiornika + linki do zbudowanych ukladow (odbiornik na arduino uno, nadajnik na zaprogramowanej atmege)
nadajnik:
linki do ukladow:
http://w518.wrzuta.pl/obraz/3ilnCPf5F04/nadajnik
http://w518.wrzuta.pl/obraz/6vKmjstm6Q0/odbiornik
ZADZIALALO!!!!
bawilem sie tym dalej i przypadkiem zrobilem tak ze na nadajniku parametr byl:
vw_setup(2000);
a na odbiorniku zmienilem na:
vw_setup(1000);
odpalilem i dane dochodza poprawne. narazie zasieg maly bo ok 10metrow z antenami w domu ale wreszcie cos wysyla/odbiera
dziwne ze ten rozny parametr spowodowal ze zaczelo dzialac
Jeżeli kody które zamieściłeś nie działały, to ja się nie dziwię – prędkości transmisji były różne, więc nie mogły działać.
Dodatkowo wyrzuć:
vw_set_ptt_inverted(true);
Dodatkowo sprawdź, czy atmega8 ma dobrze skonfigurowane fusebity – podłącz tylko diodę przez rezystor i migaj nią co 1 sekundę i obserwuj, czy wszystko jest OK.
Zasięg zwiększysz zmniejszając prędkość transmisji i podnosząc napięcie nadajnika – jak pisałem w artykule może on pracować do 12V.
Ja bez problemu uzyskałem zasięg między samochodem na parkingu a moim pokojem w bloku. Układ siedział pod maską i otoczenie kupy metalu w niczym nie przeszkadzało. Pamiętaj o filtracji przy nadajniku i odbiorniku.
Widzę, że LED-a masz wpiętego równolegle z nadajnikiem (i chyba w przypadku odbiornika jest to samo) byłbym ostrożny, bo to też może wpływać negatywnie na jakość transmisji.
Witam,
Chciałbym wwykorzystac ten schemat i zbudowac licznik energi volty ampery watty akumulatora do zasilania slonecznego zeby bylo mozna przegladac te parametry na stronie internetowej mojego serwera dodac jakies alarmy czy sterowanie przelacznikiem jak moc akumulatora spadnie ponizej jakiegos progu.
Jest to strasznie chyba rozbudowany temat czy moglby ktos mi pomoc w tym? Czy arduino uno da rady z trzema zrodlam vol amp watt
chcialbym to w formie wykresu na mojej stronie nie wiem jak to wszystko ugryzc bardzo prosze o jakies poradniki.
Pozdrawiam serdecznie!!
Cześć,
pomiar napięcia, to jeden kanał ADC. Pomiar prądu, to też jedno wejście ADC.
Przełącznik (rozumiem, że chodziło o przekaźnik) to jedno wyjście cyfrowe.
Waty to iloczyn napięcia i natężenia – 1W = 1V * 1A.
Czym dla Ciebie jest “moc akumulatora”? Jak ją chcesz liczyć?
Co do wykresów, to najtańszym rozwiązaniem jest chyba to, które zaprezentowałem w tym artykule.
To powoduje, że musisz zbudować odbiornik (to akurat najmniejszy problem) oraz postawienie tego na jakimś małym serwerze. Raspberry Pi do tego by się nadało.
Napisz więcej szczegółów, bo to, co napisałem wyżej, to tylko tak pobieżnie.
Jeżeli chcesz opierać się tylko na Arduino, to potrzebny byłby do tego jakiś Ethernet Shield (ale to jest drogie), albo jakiś Wireless Shield (to raczej jeszcze droższe).
Wg mnie sam odczyt i sterowanie to koszty:
Odbiornik i prezentowanie wyników:
80150 zł + karta pamięci (4 GB – 20 zł) =100170 zł (jeżeli masz serwer, to ten koszt odpada, a dochodzi jakiś konwerter RS232 => USB – koszt 5 zł na ebay.pl).Tyle.
Nie napisałeś o jakich prądach mówimy, o jakich napięciach. To taka podstawowa forma. Resztę załatwić powinno oprogramowanie.
—
Poprzedni komentarz się nie pojawił, ale już jest, jednak jeszcze raz napiszę wszystko w skrócie.
Jakie napięcia, jakie prądy?
Mierzyć będziesz tylko napięcie [U], natężenie [I].
Moc [W] = U*I.
Na pomiar napięcia jeden kanał ADC. Na pomiar prądu – jeden kanał ADC.
Jaką kwotę możesz na to przeznaczyć i o jakich warunkach pracy mówimy. Napisz coś więcej.
Trafił do spamu :) Już przywróciłem.
Masz padający akumulator bo mostek prostowniczy w alternatorze a dokładniej diody prostownicze mają upływ OOO
Eeee… :).
Napisałem już co było przyczyną. Padający akumulator nie powoduje upływu prądu, tylko spadek pojemności. Ja miałem upływ prądu przez diodę do alternatora. Co ma do tego akumulator? ;)
Juz tłumacze dokładniej ;)
Chciałbym zrobic dwa projekty z arduino.
Pierwszy licznik do komputera który słuzy jako tv i komputer. Na ładnym wyswietlaczu zeby stał obok plyty glownej z komputera i ladnie pokazywal dane takie jak Waty Volty Ampery, te dane chchciałbym jakos magazynowac i miec dostep do nich z internetu mam swoj IP i serwer na Atomie stronke tez mam jednynie nie wiem jak rozwiazac sprawe przegladania tych danych.
Zasilanie do tego licznika pewnie z portu usb komputera wtedy wlaczal by sie razem z komputerem i nie potrzebnie by nie chodził jakby byl wylaczony.
W jaki sposob najlepiej podlaczyc arduino czy poprzez usb i udostepniac dane o energi zuzytej po smb czy moze przez wifi widzialem gdzies na serwisie aukcyjnym plyte wifi 2.4ghz za 9zł do arduino tyle ze nie wiem czy ona bedzie dzialac ze zwyklkym routerem czy nie jest czasem do komunikacji “bezposredniej” z odbiornikiem tylko.
Jezeli chcialbym karte pamieci w arduino i tam trzymac ze wszystkie dane wtedy bym musiał pewnie zrobic skrypt na php który by z tego robił wykres. Ten program z tej strony pokazuje wykres tylko w programie.
Nastepna sprawa to jaka plyta arduino pod to zeby byla obsluga usb lcd itp najlepiej cos najmniejszego.
Drugim projektem który bym chciał zrobic jest to licznik do mierzenia amper voltow akumulatora ktory bedzie zasilany regulatorem ladowania z baterii slonecznych. Chciałbym miec podobny licznik zebym mogl ogladac przez internet tego typu dane i wykresy. Do tego chciałbym tez mierzyc voty i ampery jakie dochodza z paneli i volty ampery i waty zuzyte przez moj dom.
Napiecie akumulatora to 12v albo 24v w przyszlosci, narazie sie nie mam srodkow zeby robic na caly dom tylko na sam serwer lecz z biegiem czasu dodam kolejne panele i akumulator.
Czy da sie takie cos zrobic czy nie?
warunki pracy domowe nie mam zadnych specjalistycznych narzedzi itp :P
aha chciałem dodac ze posiadam przy komputerze amperomierz zakupiony ktory sie nie podlacza inwazyjnie czyli do kable z zasilaniem do komputera tam gdzie chcemy mierzyc prad tylko przeklada sie kabel z pradem przez taka dziurke i nie musimy kabla przecinac.
Moze mozna by bylo wykorzystac ten “przyrząd” indukcyjny czy nie wiem jak to inaczej nazwac zeby arduino zczytywal z tego ampery tylko nie wiem jak wtedy z voltami.
Po co chcesz mierzyć napięcie w gniazdku sieciowym (bo wciąż zakładam, że komputer zasilasz z 230V) :).
kr0nos: Teoretycznie 230V, a w praktyce to napięcie często się waha od 210V do 240V ;) Jak kolega chce dokładnie mierzyć moc, to fajnie by ją było mierzyć przy rzeczywistym napięciu :)
Co do przeglądania danych – serwer bazy danych (pewnie najprościej użyć MySql, ale to już wg Twoich preferencji i dostępnych zasobów). Ja, w innym moim projekcie, który rysował wykresy temperatury i wystawiał je na serwer używałem gnuplot http://www.gnuplot.info/. Do tego skrypt w cronie (używasz Linuksa?).
“Ten program z tej strony pokazuje wykres tylko w programie” mówisz o TEJ stronie i moim projekcie? Jeśli tak, to akurat wykresy są robione w graficznej nakładce dla gnuplota SciDAVis.
Pytając o “warunki pracy” miałem na myśli raczej to, czy “czujniki” będą “pod chmurką”, czy w domu, a w rozwinięciu chciałbym abyś napisał jakie prądy chcesz mierzyć?
Ja Twoją wypowiedź rozumiem tak:
Dwa układy pomiarowe:
Jeżeli Arduino miałoby być zasilane przez USB i pomiar odbywać się tylko w tym czasie, to zakładając, że serwer i komputer się “widzą”, to nie kombinowałbym tylko wykorzystał do tego sieć. Wysyłanie danych na serwer i dalsza ich obróbka już na serwerze.
Pobierasz z niego prąd stały, czy przez inwerter zmieniający napięcie na 230V?
Jeżeli to prąd stały, to jeśli do powiedzmy 10A, to możesz wykonać układ z bocznikiem i mierzyć na nim spadek napięcia i obliczać w ten sposób płynący prąd.
Swoją drogą nie dam głowy, czy ten bezinwazyjny czujnik prądu AC, który podałem w 1. punkcie, aby na pewno nie mierzy również prądu DC (nie udało mi się znaleźć żadnych szczegółów). Gdyby mierzył, to sprawa rozwiązana.
Małe Arduino to:
Arduino Micro, Arduino Pro Mini 5V, DC Boarduino – KIt – to dostępne w ofercie sklepu Nettigo.pl.
Ja od pewnego czasu wolę zrobić dedykowany układ, a Arduino używam tylko do prototypowania. Koszty wtedy spadają ponad 10-krotnie.
Co do podłączenia wyświetlacza (np. zgodnego ze sterownikiem HD77480) nie ma problemu. Poczytaj chociażby na Majsterkowo.pl ile pinów trzeba wykorzystać.
—
Napisałeś post w czasie kiedy i ja pisałem :). Właśnie pisałem o czujniku indukcyjnym :).
Nie znam sie na tych gnoplotach i tych nakladkach nie mam pojecia o czym do mnie mowisz :P uzywam windowsa na serverze.
Czujniki beda oczywiscie w domu.
Prady jakie chcesz mierzyc:
AC 220V w pierwszym czujniki i chciałbym tez napiecie mierzyc chociarz wiem ze tam jest 220V :P bardziej mi sie podoba gdyby na wyswietlaczu bylo duzo danych ;) wiem tez mierzylem watomierzem ze napicie czasami sie rozni nie wiem od czego to zalezy ale np jak mierzylem amperomierzem kiedy komputer jest wylaczony pokazuje za pobiera 0.10A znowu na wyswietlaczu w watomierzu pokazuje ze pobiera 5Watt gdzie 220v x 0.10a to 22watt dziwne to jest.
chciałbym zeby byly waty ampery i volty tylko wtedy trzeba bedzie uzyc innego sposobu do mierzenia napiecia poniewaz tamten czujnik indukcyjny zmierzy tylko ampery a nie volty
nrf24l01-modul-wifi-2-4ghz-wireless-arduino-wi-fi-i3389911857.html
polaczy sie z routerem wifi czy to jest tylko do sterowania odbiornikiem bezposrednio?
Co do małego Arduino to który model obsluguje wyswietlacz usb i sdcard? Nie znam sie za bardzo na tych modelach. No i zeby ta komunikacje zrobic do niego ;)
Watomierz mierzy moc czynną, czyli taką, za którą na prawdę płacisz. Moc czynna wyliczana jest tylko dla prądu przemiennego. Póki co, nie wiem jak to zrealizować od strony elektronicznej, bo nie zastanawiałem się nad tym niestety.
Pomiar napięcia przemiennego jest dość niebezpieczny (w porównaniu z napięciem stałym do powiedzmy 30V). Ja nie lubię dotykać się czegoś, na czym się nie znam, dlatego napięcie gniazdkowe pozostawiam w spokoju. Nie powiem Ci jak bezpiecznie zrobić układ, który by to mierzył.
ad. 1. wg mnie to odpowiednik modułu działającego np. na 433 MHz. Poczytaj jednak tu http://arduino-for-beginners.blogspot.com/2013/06/electric-imp-arduino-nrf24l01-fully.html może coś ciekawego się dowiesz.
Wysyłanie danych na serwer jak by miał się odbywać? Dokładnie tak, jak będziesz tego chciał. Możesz napisać aplikację klient-serwer. Możesz przesyłać dane na FTP. Możesz na maila.
Jeżeli nie znasz się na “gnuplotach” to albo się na nich poznasz :), albo znajdziesz inne narzędzie, albo sam je stworzysz. Przecież to Ty chcesz mieć wykresy :).
ad. 2. Skoro tak, to na wyjściu masz napięcie przemienne, a zatem moc (Waty) zmierzysz czujnikiem indukcyjnym. Jednak będzie to pomiar mocy biernej (chyba, że nota katalogowa czujnika mówi coś innego (ale jej nie znalazłem, widocznie słabo szukałem)).
Co to jest wyświetlacz na USB? Przecież Arduino nie jest hostem USB. Ja takiego wyświetlacza nie znam (co nie znaczy, że takiego nie ma).
Kartę SD obsługuje każde Arduino – kwestia zakupu modułu SD, lub stworzenie go samodzielnie + konwersja napięć 5/3,3V jeżeli Arduino zasilasz z 5V.
Tak zapytam – znasz się cokolwiek na elektronice i elektryce?
Ostatecznie nadal mi nie napisałeś jaki prąd maksymalny idzie z paneli słonecznych. Tak czy owak wydaje mi się, że musisz się podszkolić na jakiś prostych rzeczach, a nie brać się za “wysokie” napięcie.
Ze swojej strony (mam nadzieję, że nie potraktuje tego nikt jako spam) polecam dwa portale traktujące o mikrokontrolerach, które często odwiedzam:
http://mikrokontrolery.blogspot.com oraz http://mirekk36.blogspot.com/ a do tego powiązane forum forum.atnel.pl no i oczywiście forum Majsterkowe – https://majsterkowo.pl/forum/
Na pewno znajdą się tam ludzie, którzy będę potrafili lepiej wytłumaczyć te zagadnienia ode mnie :)
Znalazlem cos zawalistego kompletne rozwiazanie mojego problemu :D
http://openenergymonitor.org/
Dzieki za wszelka pomoc kr0nos ;)
Witam mam prośbę czy dałbyś radę zrobić schemat odbiornika wolałbym zrobić gotowy układ na płytce drukowanej, a i jak obliczasz dzielnik napięcia do odpowiedniego napięcia bo potrzebuje obliczyć do 30V. fakt faktem chce to zastosować w warsztacie samochodowym u kumpla i czy dałbyś radę też podrzuć kosztorys ile mniej więcej kosztują potrzebne elementy. dzięki
Dodatkowo w jakiej wersji programu eagle zapisałeś schematy, pytam bo mam wersje 5.3.0
No dobrze, to będę musiał zrobić ten schemat :). Z tym, że – do tej pory nie budowałem układu, który by się komunikował bezpośrednio z komputerem, więc tę część schematu będziesz musiał przygotować sobie sam – czy to przez komunikację bezpośrednio przez RS232, czy też przejściówkę do USB.
Czekam na chińską paczkę z czymś takim: http://www.ebay.pl/itm/400385842379?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649#ht_3154wt_1395
Płytkę zaprojektować też będziesz musiał sam, albo poczekać (ale to kilka tygodni, aż przyjdą mi potrzebne elementy, bo chcę zrobić nieco bardziej rozbudowaną wersję (z zapisem na kartę pamięci oraz z czymś w rodzaju breloczka, na którym będę mógł na szybko sprawdzić napięcie i prąd aku wraz z powiadamianiem, gdy napięcie spadnie poniżej założonego przeze mnie, żeby w zimie być przygotowanym na szybką reakcję gdy akumulator będzie padał).
Używam wersji 6.4.0 z darmową licencją.
Jak zrobię schemat odbiornika, to podrzucę Ci jeszcze dopracowaną wersję nadajnika (z dodatkowymi kondensatorami filtrującymi).
Co do kosztów, tak jak pisałem w którymś komentarzu wyżej:
Nadajnik:
Razem około 15 zł.
Odbiornik:
Razem około 15 zł
A zatem komplet około 30 zł.
Wzory na dzielnik napięcia są dostępne w Internecie. W tym konkretnym przypadku używałem programu MkAvrCalculator – http://www.atnel.pl/mkavrcalculator.html
W programie w zakładce chyba Utils jest w całkiem przyjemnej formie dodatek do obliczania napięcia.
Jako napięcie odniesienie użyłem VCC, ale lepszym rozwiązaniem byłoby wewnętrzne 2,56V, wtedy dzielnik robisz z 30V do 2,56V, a nie do 5V, chociaż z tym sobie na pewno poradzisz.
To poczekam aż to dopracujesz, jeżeli chodzi o komunikacje bezpośrednią to mogę nałożyć port com/usb który mam już.
Czy mógłbyś trochę dokładniej powiedzieć o sterowaniu nadajnikiem za pomocą 12V?
Zresztą, co ja będę mówił – łap – http://malinowepi.pl/post/45982694540/malinowe-radio-pierwsze-doswiadczenia-z
Pomyślałem więc, że gdyby zamiast 3.3 V dać na antenę 12V, to i zasięg byłby większy.
Mógłbyś poradzić?
Bardzo fajny projekt. Kompletuję podzespoły i ruszam z budową.
Witam, otóż mam taki dziwny problem, tzn kod nie chce mi się w ogóle kompilować, za każdym razem mam błąd w loop i setup nawet gdy jest pusty choć nie wiem dlaczego. Może mógłby ktoś podesłać całe pliki i porównam wtedy czy będzie nadal taki błąd czy zniknie.
Pytanie do Kronosa (i innych oczywiście również)
Opierając się na Twoim pomyśle zrobiłem bezprzewodowy czujnik temp. Układ działa dobrze. Odbiornik odbiera sygnały z czujnika i przelicza je na temp. Teraz na wzór “Lampki sterowanej przez internet” chciałbym odczytywać przez internet wyniki z mojego bezprzewodowego czujnika. Niestety po połączeniu tych dwóch programów na Arduino odbiornik RF nie odczytuje informacji z czujnika, ale mogę przez internet nim sterować. Nie mogę dojść dlaczego nie potrafi odczytać czujnika. Może biblioteki ze sobą nie mogą współpracować. Może ktoś pomoże ?????
Dzięki BARDZO!!!!
Pytanie – nieaktualne.
Udało mi się rozwiązać problem.
mam taki sam problem stare ako się rozładowało (6cio letnie) stwierdziłem stare to kupiłem nowe, a w nowym to samo napięcie spada a jak była badana pojemność to wszystko gra… (zwornica podłączony jakiś komputer podczas rozruchu i tam różne opcje z obciążeniem i bez itp) a napięcie spada po 5ciu nocach -5 z 12,3 do 10,7 i tu mam problem bo samochód ma zabezpieczenie przed zakwaszeniem akumulatora i już nie odpali. Żaden mechanik nie jest w stanie mi pomóc (byłem u 4rech tylko kasę zjadają) i już więcej nie szukałem (finanse za duże a efektów brak) artykuł fajny urządzenei też ale jak dla mnie zbyt trudne do zbudowania ;/ pożyczysz swoje ? :D
Jak policzyć jaki rezystor zastosować by na pin nieprzychodziło więcej niż 5V?
Przepraszam, że tak długo nie odpisywałem, ale na Chromie nie wyświetlały się komentarze. Aż postanowiłem przetestować IE 11 i jest fajnie ;).
@stanislawkonkiewicz:disqus Stanislaw Konkiewicz
przeczytaj tu: http://pl.wikipedia.org/wiki/Dzielnik_napi%C4%99cia
@KAWA
Jasne, że pożyczę ;). A tak na poważnie, do mojego urządzenia chciałem dodać jeszcze pomiar pobieranego prądu, ale odpukać, nie mam póki co żadnych problemów z aku, a więc i mobilizacji (i czasu tez) – brak. Sprawdzali czy jest dobry styk na “masie”?
Jaki jest “bezpieczny” zasięg tego nadajnika, który zastosowałeś w tym projekcie tak żeby nie tracić informacji?
To wszystko zależy od otoczenia w jakim bedzie pracował nadajnik i odbiornik. Jak wspominałem w artykule nadajnik działał pod maską samochodu. W linii prostej było to około 20 m od odbiornika (który znajdował się przy oknie w mieszkaniu na parterze).
Kiedy nadajnik był w mieszkaniu, to całe mieszkanie było “pokryte” zasięgiem.
było by mi bardzo miło gdyby podesłał mi Pan ten plik Eagl’a na mój e-mail: sypek1993@gmail.com Dziękuję!
Czy można prosić o wyjaśnienie uzytych cześci pomiędzy rezystorami 3 x 20k (R2,R3,R5) a pinem 23 ATMEGI? Rezystory są dzielnikiem napięcia, ale ta część w prawo od niego a szczegółnie diody – ewentualne przepięcia od rozrusznika lub alternatora ma to zwierać?
Diody chyba rozumiem: jedna zapobiega pojawieniu się 15V (więcej niż zasilanie VCC) na wejściu przetwornika A/D (pinie 23) ATMEGI, druga zaś zapobiega podłączeniu się do akumulatora odwrotnie, czyli plusa do minusa – po prostu zrobi zwarcie przez rezystancję R6 i R7 co zapobiegnie podaniu na pin 23 ujemnego napięcia. Jeżeli dobrze to rozumiem, to jeszcze zostaję kondensator C7. Poproszę o fachowe wytłumaczenie.