Domácí síť mikrokontrolérů pro indikaci, regulaci a ovládání

jj zkoušel jsem i před čáskem, ale nějak jsem tu nic nenašel pro mě …fakt…jsem na takovém rozcestí a chtěl bych se dobře rozhodnout

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.

Když potřebuješ 2 dráty, tak toho zas tolik vhodného není.
Např. RS-485, CAN, M-Bus. Osobně bych se přiklonil ke 485 po její jednoduchost a spolehlivost. Stačí ti na ni uart, který má každý mcu a budič. Budiče se dají sehnat i galvanicky oddělené.
Nějaký řádek jsme prohodili tu:
viewtopic.php?t=1224&postdays=0&postorder=asc&start=0

koukám koukám nevíte třeba o nějakém příkladu ? o někom co toto v domě už dělal ?nevím jestli to dělají, že hlavní řídící systém je Pc(vše řídí PC) a nebo to vše řídí PIC a pc je jen doplňkovou periferii za účelem komfortu uživatele

To záleží pouze na tobě. Ovšem pokud je tam něco k řízení, pochybuju, že by to nezvládl MCU. Už vzhledem ke spotřebě a stabilitě bych nepoužíval PC jako hlavní řídicí systém. Samozřejmě se nechá udělat PC (relativně) spolehlivé, ale nemyslím, že to bude tvůj případ.

no já jsem to taky tak myslel že by to nebylo špatný přes procesory, viděl jsem verzi regulece topení pomocí Ubuntu …bylo tro krásně jednoduché, pár součástek a pc…ale já bych chtěl něco asi přes procíky a možností připojení na LAN.Uplně nej řešení aby se to dalo spravovat z nějakého pc.Asi bych byl blázen kdybych si myslel že ten systém už někde existuje a dá se použít i jinde…určitě bude potřeba to přizpůsobit na konkrétní potřeby a rozložení domu.nevíš prosímtě o nějaké třeba inspiraci a nebo něco coby blo podobně hotové na platformě PIC …

Jako dobrou inspiraci, ale s x52 najdete tady:

hw.cz/Teorie-a-praxe/Konstrukce/ … notku.html
hw.cz/Teorie-a-praxe/Konstrukce/ … -230V.html

Mohl by to být základ co všechno řídit, případně na co nezapomenout. K PC je to připojené přes RS232.

dějkuji…ale přesto kdyby měl někdo i nějakou jinou inspiraci a nebo dokončené projekty …budu rád a rád se třeba i nějak revanšuji

TAdy máš webový server: pandatron.cz/?171&maly_webovy_server

Jinak nevidím problém použít RS232, já tlačím RS po cca 60 m UTP při rychlosti 115 200 Baud.

jj tenhle servřík mám v plánu taky použít , ale spíš zatím potřebuji zatím nějaký systém který by mi vypínal světla …různé scény …teplotní čidla, zabezpečovačka…něco jednodušího než má moeller nikobus a nebo abb ibus…ale samozřejmě jednoduší …toto jsou profi řešení

Pokud vím, sběrnice I2C byla vymyšlena Plilipsem pro rozvod dat uvnitř televizního přijímače - tedy na jedné desce elektroniky. Rozhodně bych nezkoušel vytáhnout I2C mimo jednu desku a už vůbec ne přes nějaké kabely. Pro tento účel rozhodně RS232 nebo lépe RS485 (to už je jedno, jen se použije jiný převodník). Rozhraní USART mají dnes asi všechny modernější PICky, má jej třeba už stařičký PIC16F628. Jede to perfektně bez jakýchkoliv problémů.

Vl.

To je samozřejmě známý fakt, ale proč to v domácích podmínkách na nějakou konečnou vzdálenost nezkusit:). Rychlost by nebyla závratná, chybovost možná odstrašující, ale obojí se dá softwarově vyřešit…
Odměnou by byla nízká cena celého systému…vždyť hromady levných čidel a akčních prvků podporují přímo I2C, narozdíl od RS232/485…teploměry, čidla osvětlení, adc, dac, senzory tlaku…nebylo by potřeba žádných převodníků, ovládacích procesorů…a pokud by to bylo opravdu neřešitelné…na stejných drátech můžeš implementovat RS232/485…prostě kdybych dělal něco podobného, asi bych to zkusil…a pak třeba přešel na RS485…minimálně bych získal dobrou zkušenost:)

Jinak ani tak nejde o to, jestli příslušný procesor má hardwarový UART nebo I2C…vždy to jde vyřešit softwarově a dokonce jsou na to již hotové knihovny od Microchipu…

No, je to samozřejmě věc názoru, ale nedá mi to, abych se tedy nezeptal:

  • proč zkoušet přenášet data na delší vzdálenost systémem, který k tomu zjevně není určen?

  • proč nepřenášet data na delší vzdálenost systémem, který k tomu zjevně je určen?

  • je lepší vymýšlet software na opravu “odstrašující chybovosti” nebo použít přenos, který nechybuje? Není lepší chybám předcházet, než je pak složitě opravovat? Cena MAX232 se pohybuje okolo 20,- Kč, stojí to za to?

  • zda má, či nemá příslušný procesor hardwarový UART nebo I2C - promiň, ale myslím, že právě o to jde!! Sériová komunikace je pro procesor velmi pomalou záležitostí. Celou to dobu, kdy softwarově převádí data z paralelního tvaru na sériový a jeden bit za druhým “vystrkuje” z nějakého pinu ven, nemůže dělat nic jiného! Naopak při HW komunikaci se do UARTu jen pošle jeden byte dat a hotovo - procesor se již o něj dále nestará a za tu dlouhatánskou dobu, než se převod provede, může udělat spoustu jiné práce! Kvůli ničemu jinému výrobce ty HW záležitosti do mikrořadičů nemontuje. Totéž platí o příjmu sériových dat, o A/D převodu atd.

Nedalo mi to a pohledal jsem na internetu. Je tam spousta článků o tzv. inteligentních domech, které využívají buďto sběrnicových systémů nebo bezdrátového přenosu (např. zde: asb-portal.cz/tzb/osvetleni- … -1396.html). Přesný typ datové sběrnice nebývá uveden, ale naopak se často uvádí, že tato sběrnice může bý vedena souběžně se silovými kabely v běžné silnoproudé elektroinstalaci! To mi tedy nepřipadne na I2C, to musí být naopak velmi odolný systém! A jakpak by ne, když se tím řídí např. kotly pro vytápění domů!

Taky je tu ještě jiná věc. Pokud se nepletu, systémy jako RS232 jsou určeny pouze pro komunikaci pouze dvou zařízení mezi sebou. U domovního komunikačního systému potřebuješ komunikovat s více zařízeními a k tomu je určena právě sběrnice RS485. Podrobněji např. zde: hw.cz/docs/rs485/rs485.html.

Vl.

no to je vše hezké , ale tady se mluví o komunikaci mezi PICkem a PC…co třeba systém který je autonomní bez pc…funguje jako nějaké uzavřený okruh a dá se popřípadě do něj vstoupit přes třeva 485 …nějaký systém co komunikuje jen mezi Picama, špatně chápete můj zámer co jsem se chtěl zeptat …mě jde o urobení nějakého systému jako je od firky moeller Nicokub a nebo od ABB I-bus…prostě autonomní akční čelny co zapínají a vypínají zařízení, regulují osvětlení (PWM)…které komunikují mezi sebou a nejlépe s možností připojit se k tomu přes PC…ale né aby to ovládal jen PC…aby záleželo na PC

Ale já samozřejmě mluvím o komunikaci mezi PIC! Jenže pokud budu chtít komunikovat mezi dvěmi nebo i více mikrořadiči na vzdálenostech řádově metrů nebo možná i desítek metrů a ještě k tomu v prostředí, kde určitě bude dost rušení od silových rozvodů, tak nutně musím v prvé řadě řešit otázku vhodné sběrnice! A pokud se ještě navíc chcete “připíchnout” kdekoliv v domě s nějakým udělátkem a např. zobrazit teplotu, jak zaznělo v úplně prvním vašem požadavku, tak to tedy nevím … jen tak přijít, za chodu zastrčit někam do sběrnice nějakou krabičku, přečíst displej a pak to opět za chodu vytáhnout a odejít … no nevím, snad to půjde … :slight_smile:

Vl.

niekto tu zbernicu musi riadit… res je to najjednosuchsie riesenie. A ten niekt osa raz v priebehu slucky opyta aj na zariadeneie ktore tam moze a nemusi byt pripojena…ak je odpovie a master vybavi komunikaciu s nim

Však jo, heff hned na začátku psal, že byc chtěl použít PIC16F628 a jako nadřízený uC něco,co má ethernet …

Takže základní představu má, teď jen to vymyslet a zprogramovat :slight_smile:.

Vl.

Děkuji Vlastíku …přesně tak , chápeš … jen jak to udělat …nebo kde se inspirovat ,to nejni sranda :frowning:

No právě …

Pokud by se dal ten systém koncipovat tak, aby už z principu nemohlo docházet ke kolizím na sběrnicích, tak by to neměl být až tak velký problém. Jenže to by asi mohl dávat povely ke komunikace pouze jeden MASTER uC, který by poslal na sběrnici adresu SLAVE zařízení a požadavek, co po něm chce. “Poslouchaly” by samozejmě všechny najednou, ale jen to se shodnou adresou by poznalo, že příkaz platí jemu a udělalo by, co se po něm chce (většinou pošle vlastní data MASTERu).

Jenže pokud chceš, aby každé zařízení, které je na sběrnici připojeno, mohlo samo kdykoliv poslat požadavek na kterékoliv další zařízení na síti, tak v tu chvíli jsou vlastně všichni na stejné úrovni a protože kterékoliv zařízení může poslat na sběrnici svůj požadavek naprosto kdykoliv, musí se nutně řešit výskyt kolizí, kterých bude tím více, čím více tam bude těch zařízení navěšeno.

Je to vlastně téměř princip I2C. Microchip má na svých stránkách nějaké povídání s příklady pro I2C, jeden je např. zde: search.microchip.com/searchapp/s … id=2&q=i2c

Princi I2C je např. zde: best-microcontroller-project … orial.html.

Ale ani I2C neumožňuje SLAVE zařízení poslat požadavek na sběrnici - to může udělat vždy jen MASTER. Existuje sice režim MULTI-MASTER, ale to bude pro programátora ještě větší záhul …

Nevím … pokud ti tady někdo neporadí něco lepšího, asi bych pro začátek trošku slevil s požadavků a zkusil bych nejprve rozchodit jednoduchou komunikaci mezi jedním MASTER a třeba dvěmi SLAVE zařízeními, přičemž požadavek na data by dával vždy MASTER.

Určitě bych použil uC, který má přímo HW prostředky pro I2C, u PIC je to modul MSSP. V datasheetu je podrobně popsáno jeho chování.

Pokud tomu po letmém pročtení správně rozumím, zajistí modul kompletní komunikaci, včetně rozpoznání Start Condition a shody adresy zařízení. Řekl bych však, že určitě neřeší kolize na sběrnici - to se musí ošetřit softwarově a nebude to žádná sranda.

Vl.

Vicemene podobny problem je u pristupovych systemu. Natahane stovky metru dratu a na nich sedi jedna az osm krabicek, ktere ctou elektronicke klice (karty, privesky…) monitoruji dverni kontakty a pousteji proud do zamku.
Krabicky jsou zapojeny do koncentratoru, ktery si povida s PC. Spojeni koncentratoru s PC po RS232, delka do peti metru. Krabicky s koncentratorem az 1km po 485. Napajeni i komunikace galvanicky oddelene. Komunikace optrony napajeni trafkem na hrnickovem jadre cca 30kHz.

Takhle to mela firma Hoermann pred asi patnacti lety. Nas tehdejsi sef chtel abychom udelali levnejsi pajc. Prvni co skrtnul bylo galvanicke oddeleni napajeni, pote prevodniky na 485, ze se to bude tahat na RS232 urovnich. Na varovani nedbal, tak to stalo par desitek tisic na materialu a dva mesice prace dvou lidi. Pote se to predelalo podle hoermaniho vzoru a chodi to dodnes.

Komunikaci ridil koncentrator stylem otazka-odpoved. Zjistene posilal nadrizenemu PC. Krabicky slo za behu pripojit nebo odpojit za predpokladu jiste opatrnosti :sunglasses:.
Ja jsem v dalsim kole setreni nakladu napsal softwarovy koncentrator. V PC byla karta s osmi porty 485 na tom povesenych 8x8 krabicek. Na kazdou mohly byt pripojeny 4 senzory a osm kontaktu. V PC SCO Unix :sunglasses:

Takhle nejak bych to videl pro Vas dum. Je to pomerne levne a odolne.

Kdo si troufne, může takovou síťku s PIC řídit jednou moc pěknou věcí, co jsem teď (vcelku omylem) vyhrabal na Netu… viz odkazy, snad se někomu hodí. Má to celkem 3x RS232, z toho 1x “plnohodnotnou”

quattro.haje.cz/index.php?option … &Itemid=29
friendlyarm.net/products/mini2440