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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2015-11-17 18:49:17

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

Inteligentny domek na Raspberry Pi

[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

 

#2  2015-11-17 19:26:45

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Inteligentny domek na Raspberry Pi

2386

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:27:29)

Offline

 

#3  2015-11-17 19:31:23

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

Re: Inteligentny domek na Raspberry Pi

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

 

#4  2016-07-31 07:50:27

  pimowo - Użytkownik

pimowo
Użytkownik
Zarejestrowany: 2013-02-24

Re: Inteligentny domek na Raspberry Pi

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

 

#5  2016-10-14 19:22:44

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

Re: Inteligentny domek na Raspberry Pi

[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

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.006 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00006 SET CHARSET latin2
0.00003 SET NAMES latin2
0.00065 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='3.142.212.119' WHERE u.id=1
0.00065 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.142.212.119', 1733366368)
0.00041 SELECT * FROM punbb_online WHERE logged<1733366068
0.00046 SELECT topic_id FROM punbb_posts WHERE id=293170
0.00006 SELECT id FROM punbb_posts WHERE topic_id=27909 ORDER BY posted
0.00043 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.00142 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.00076 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27909
Total query time: 0.00498 s