Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
[url=http://obrazki.elektroda.pl/6809150300_1435589662.jpg][img]http://obrazki.elektroda.pl/6809150300_1435589662_thumb.jpg[/img][/url] [url=http://obrazki.elektroda.pl/4575909700_1435589665.jpg][img]http://obrazki.elektroda.pl/4575909700_1435589665_thumb.jpg[/img][/url] [url=http://obrazki.elektroda.pl/2450147400_1435589669.jpg][img]http://obrazki.elektroda.pl/2450147400_1435589669_thumb.jpg[/img][/url] [url=http://obrazki.elektroda.pl/2336351100_1435589673.jpg][img]http://obrazki.elektroda.pl/2336351100_1435589673_thumb.jpg[/img][/url]
Witam.
Przedstawiam projekt w trakcie budowy, może będzie inspiracją dla innych :)
Jest to inteligentny dom w oparciu o Raspberry Pi, v 1.2 B.
Cudem udało się zmieścić na PCB:
Atmega 16 do obsługi peryferii (kompilacja softu oraz programowanie AVR'ka z poziomu rPi ),
32 wejścia parametryczne (NO, NC, EOL, 2EOL/NO, 2EOL/NC, 3EOL) w oparciu o ADC i filtr dolnoprzepustowy na opamp microchipa
16 wyjść izolowanych na optotranzystorach
16 wejść 1wire dla czujników DS18x oraz slave 1wire
Magistrala CAN oraz RS485 do komunikacji z resztą modułów.
Zasilacz oraz ładowarka dla akumulatora żelowego 12V/4Ah
Zegar DS1307 + podtrzymanie bateryjne.
PCB powstało na szybko z wagi, potrzeby monitorowania oraz kontroli tego, co się dzieje w domku na działce. :D
Część softu w gcc na Linuxa już dawno temu powstało (Deamon + serwer TCP do komunikacji z panelem www, oraz innymi aplikacjami) oraz panel w PHP (OOP) + HTML + Jquery do podglądu całości i apka na Androida (w tych czasach manipulator na ścianie to nie dla mnie, a tablet działa jak pilocik).
[url=http://obrazki.elektroda.pl/4332965100_1435589569.png][img]http://obrazki.elektroda.pl/4332965100_1435589569_thumb.jpg[/img][/url]
Wejścia dla 1Wire ,to mux 4051 + pull up rezystor na każdym wejściu 1.5k
Wyjścia to MCP23017 + optotranzystor
Ładowarka to LM317 + BC547 sterowany z AVR wyłączający ładowanie przez zwarcie nogi Adj LM317 do GND
CAN standardowa aplikacja MCP2515 + MCP2551 zasilanego z 5V z dzielnikiem rezystorowym do komunikacji
RS485 - MAX3483 standardowa aplikacja .
Schemat układu dla wejść (całego schematu jako takiego nie mam)
Co można więcej napisać o wejściach , tak samo jak wyżej , wejścia parametryczne , pomiar napięcia na wejsciu + rezystor pullup 4.7k a dalej program rozróżnia np w 3EOL który rezystor zawiódł (u mnie korzystam tylko z 3EOL/NO)
Na PCB obok Raspberry wyprowadzona reszta pinów rPi nieużywanych, aby nad nim zamontować kolejne z modułem GSM oraz resztą peryferii.
Co do samego PCB, wejścia oparte o filtry dolnoprzepustowe dla odfiltrowania syfu z kabelków, mux na 4xHC4051, pomiar na nich zbiera atmega i uśrednia pomiar (więc nie ma żadnych wahań, pomimo że 1 wejście jest oddalone ok. 120m razem z przewodem w ziemi 2x20m2 do zasilania domku, odczytu a rPi pobiera od avr dane przez SPI co 25mS),
1Wire również mux na HC4051 w celu łatwiejszego podłączenia dużej ilości czujników DS18x (teraz zamontowanych jest ok. 18szt. w domku).
Po dokończeniu, system ma kontrolować:
Stan szklarni (temperatura,wilgotność,siłownik do otwierania okienka w przypadku możliwego przegrzania + system nawadniania).
Oświetlenie zewnętrze oraz wewnętrzne.
Nawadnianie ogrodu.
Komunikacja z stacją pogodową już wykonaną i zamontowaną na dachu przez CAN.
Cała konfiguracja dla systemu, dane z wejść, czujników, stanu, zdarzeń jest w SQL.
Pomimo że inny system gromadzi dane z 46 ds18x co minutę to przyrost bazy jest niewielki.
W chwili obecnej czekam na resztę części od dostawcy, aby zamknąć projekt do końca, więc na bieżąco będą dodawane kolejne fotki oraz postępy prac.
Powoli ale panel www już się powoli tworzy :)
PHP (MVC + ORM) + CSS responsive na potrzeby urządzeń mobilnych + klient TCP
[url=http://obrazki.elektroda.pl/4070841000_1437630842.png][img]http://obrazki.elektroda.pl/4070841000_1437630842_thumb.jpg[/img][/url]
[url=http://www.fotosik.pl/zdjecie/1129eb7b76e7c65d][img]http://images78.fotosik.pl/82/1129eb7b76e7c65dmed.jpg[/img][/url]
[url=http://www.fotosik.pl/zdjecie/0e5bb06128cffab0][img]http://images77.fotosik.pl/82/0e5bb06128cffab0med.jpg[/img][/url]
[url=http://www.fotosik.pl/zdjecie/92f462014baaae4d][img]http://images77.fotosik.pl/82/92f462014baaae4dmed.jpg[/img][/url]
[url=http://www.fotosik.pl/zdjecie/997c22c690f42687][img]http://images76.fotosik.pl/83/997c22c690f42687med.jpg[/img][/url]
[url=http://www.fotosik.pl/zdjecie/fabf777eb29350c2][img]http://images76.fotosik.pl/83/fabf777eb29350c2med.jpg[/img][/url]
nowy moduł do pomiaru ilości zużycia enegri elektrycznej w fazie testów
Ostatnio edytowany przez szewczyk (2015-11-17 19:02:35)
Offline
2386
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:27:29)
Offline
Bezpiecznik jest za trafo i przy aku (w przypadku odwrotnego podłaczenia + dioda schottky ) , AVR wybudza timerem adc + tranzystor mosfet do pomiary napięcia co minutę . Sam lm317 sterowany jest za pomocą PWM tylko w przypadku zasiania AC .
Offline
Na początek wielkie brawa... Widać ogrom pracy :)
Bardzo mnie zastanawia co napisałeś:
[quote=szewczyk]kompilacja softu oraz programowanie AVR'ka z poziomu rPi[/quote]
Możesz podpowiedzieć:
* jak AVR jest podłączony pod malinę?
** jakiego programu do programowania AVR używasz?
Offline
[quote=pimowo]Na początek wielkie brawa... Widać ogrom pracy :)
Bardzo mnie zastanawia co napisałeś:
[quote=szewczyk]kompilacja softu oraz programowanie AVR'ka z poziomu rPi[/quote]
Możesz podpowiedzieć:
* jak AVR jest podłączony pod malinę?
** jakiego programu do programowania AVR używasz?[/quote]
Przepraszam że tak po długim czasie .
przez SPI + pin (dowolny z malinki do RESET AVR)
** jakiego programu do programowania AVR używasz
avrdude :) ustawiam reset na stan niski i można programować AVR'ka , samo oprogramowanie powstaje w gcc-avr też na malince .
wybrałem to rozwiązanie z tego względu że mam komunikacie AVR-Malinka po SPI oraz programowanie AVR przy zmianach w programie (co już nastąpiło wielokrotnie a projekt dalej rośnie )
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00008 | SET CHARSET latin2 |
0.00003 | SET NAMES latin2 |
0.00117 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.224.68.243' WHERE u.id=1 |
0.00198 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.224.68.243', 1733340783) |
0.00062 | SELECT * FROM punbb_online WHERE logged<1733340483 |
0.00075 | DELETE FROM punbb_online WHERE ident='3.147.6.176' |
0.00065 | DELETE FROM punbb_online WHERE ident='54.36.148.149' |
0.00064 | SELECT topic_id FROM punbb_posts WHERE id=306008 |
0.00094 | SELECT id FROM punbb_posts WHERE topic_id=27909 ORDER BY posted |
0.00058 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27909 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00048 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27909 ORDER BY p.id LIMIT 0,25 |
0.00101 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27909 |
Total query time: 0.00898 s |