Page 1 of 1

Domotica met... waarom niet? I2C...

Posted: Mon Jan 03, 2005 8:51 pm
by GeertVc
Hallo iedereen,

Leuk om even een site te ontdekken (via www.bouwinfo.be) waar heel veel info wordt gevonden/uitgewisseld door doe-het-zelvers...

Ikzelf ben ook bezig met een nieuwbouw (momenteel sanitair aan het leggen). Ik ga ook zelf mijn elektriciteit aanbrengen, maar ook mijn eigen domoticasysteem maken.

De kern van het systeem zal een microcontroller zijn (8051 core) die hoofdzakelijk I2C-aangestuurde devices zal controleren. Het systeem zal dus volledig onafhankelijk van PC of wat dan ook kunnen draaien. Het is wel de bedoeling om via RS232 later een communicatie te leggen tussen PC en microcontroller.

In eerste instantie wil ik drukknoppen detecteren en stopcontacten sturen.

Voor de I/O zal ik de PCF8574 gebruiken, een I2C IO-expander van (oa) Philips. Deze heeft 8 IO pinnen per device. Er zijn 3 ingangen voorzien voor het vastleggen van het I2C adres, dus kan ik 8 van die devices plaatsen.
Daarenboven is er ook nog een speciale versie waarbij het vaste deel van het adres verschilt met de versie hierboven beschreven. Dus nogmaals 8 devices extra te plaatsen zonder enige vorm van additionele adresselectie of wat dan ook. In totaal dus max. 16 IO expanders met elk 8 IO's. Dat maakt 256 IO's in totaal. Voldoende om te beginnen, denk ik.

Hoe ga ik mijn 'hardware' opzetten?
  • . Er komen zeker twee kasten. Zoals iemand hier op het forum al heeft gezegd, ik wil geen gemeenschappelijke kast(en) waar zowel sterkstroom als zwakstroom in gaat.

    . Alle schakelaars zullen gewone drukknoppen van het merk Niko zijn. Sommigen dubbelvoudig uitgevoerd, de meesten enkelvoudig. Sommigen zullen ook een 'verklikkerlampje' hebben, bijvoorbeeld om aan te geven dat er iemand in de badkamer zit om of aan te geven dat de boiler aan het opwarmen is (knipperende LED in dit geval).

    . De verbinding tussen de schakelaars (drukknoppen) en de IO pinnen van de IO expanders zal via UTP gebeuren.
    Het is de bedoeling dat een UTP kabel wordt gebruikt voor een aantal groepen schakelaars. Ik bedoel wel degelijk groepen, omdat verschillende drukknoppen kunnen gebruikt worden om één en hetzelfde lichtpunt te bedienen.
    Om eea deftig te kunnen bekabelen, zullen de UTP kabels achteraan de schakelaars op een klein PCB'tje worden bevestigd dmv een RJ45 connector en stekker. Die print zal worden gemonteerd op de plaats waar normaal gezien de twee schroeven van de klauwen zijn bevestigd. Daar zullen langere schroeven in bevestigd worden. Afstandsbusjes moeten het printje op een afstand van de achterkant van de schakelaar houden. Althans, da's wat ik in mijn hoofd heb. Hopelijk lukt het... :?:
    Wat zal er op dit printje zitten? Wel, niet veel. Enkel twee RJ45 connectoren en een blokje met een 3-tot 4-tal schroeven.
    Waarom doe ik het zo? Enerzijds om de UTP kabel op een deftige manier tot bij de schakelaar te brengen, anderzijds omdat ik denk dat een directe montage van de fijne, dus broze, UTP adertjes in de schakelaar heel snel zullen leiden tot breuk. Zo'n schakelaar is immers voorzien op montage van een draad met minstens 1,5mm2.
    Een connector moet daar soelaas in brengen. De connectoren zullen via koperbaantjes op de PCB 1 op 1 met elkaar verbonden worden, omdat ik moet kunnen vertrekken naar een andere schakelaar.
    De verbinding naar de schakelaar zelf wordt dan 'afgetakt' via het schroefblokje, ook op het kleine PCB'tje gemonteerd. Daar kan ik dan met iets dikkere draad werken.
    De schakelaars zelf worden dan vastgemaakt met de 4 openingen op de zijkanten van het schakelaar-frame. Daarvoor heb ik speciaal Helia75 inbouwbakjes genomen, omdat die op iedere zijde een uitklapbaar stukje hebben, waar later een schroef kan worden ingedraaid.

    . De meeste stopcontactkringen zullen via een pulsar of relais (daar ben ik nog niet uit) kunnen aan- of afgeschakeld worden. Het aansturen van de pulsar of relais gebeurt via een TOR schakelingetje, die zijn aanstuurpuls krijgt van zo'n IO expander.
    Het is de bedoeling om bijv. boilertjes 's morgens te laten opwarmen gedurende de daluren van het elektriciteitsnet. Ook wasmachine/droogkast/vaatwas zullen op afzonderlijk schakelbare stopcontacten geplaatst worden en dan 's nachts geactiveerd.
    Indien er de nood bestaat om tijdens de dag te wassen, dan zal er daarvoor een mogelijkheid zijn. Een druk op een drukknop in de nabij heid van het desbetreffende toestel, zal de 'off' toestand van het stopcontact overrulen voor bijv. 2 uren, zodat ook in gevallen van nood tijdens de dag kan gewassen, gedroogd,.. worden.
    Er zullen ook groepen stopcontacten gedefinieerd worden, omdat het simpelweg niet haalbaar is om alle stopcontacten apart van stroom/spanning te voorzien (heb momenteel zo'n 110 stopcontacten voorzien).
    Een goede en doordachte keuze is hier dus zeker nodig! Ik zal daar de nodige tijd moeten voor uittrekken.
In een later stadium (maar wel heel kort na de implementatie van schakelaars en stopcontacten, dus nog voor we in ons huis trekken) zullen dan ook temperatuursmetingen worden gedaan, opnieuw met een I2C gestuurd IC (PCF8591). Deze heeft 4 gemultiplexte ingangen, dus met zo'n IC kan ik op 4 plaatsen de temperatuur meten.
Wetende dat er opnieuw 8 zo'n devices kunnen aangestuurd worden via I2C zonder extra hardware, geeft me al de mogelijkheid om op 32 verschillende plaatsen de temperatuur te meten.

Verder ben ik van plan om ook de inhoud van de hemelwaterputten te meten, de circulatiepompen van vloer- en radiatorverwarming aan te sturen, bewegingsdetectoren te plaatsen in bepaalde ruimtes en magneetcontacten op de binnen- en buitendeuren en ramen te observeren. Dit laatste om je erop attent te maken dat er nog dingen open staan, mocht je vertrekken van huis.

Er zal ook een 'alles uit' schakelaar staan, die dan de nodige signalistatie zal geven als er iets verkeerd is (bijv. zoals hierboven weergegeven, als er nog een raam open staat).

Ook een 'panic' button zal niet ontbreken, alsook een aanwezigheidssimulator.

De buitenverlichting zal ook in groepen worden aangestuurd, afhankelijk van waar je je op een bepaald moment bevindt. Ben ik achteraan, dan wil ik daar licht, niet aan de voorzijde. Zo simpel... :wink:

De drukknoppen zullen ook getest worden op lengte van indrukken. Bijvoorbeeld kort drukken op een schakelaar die een deel van de buitenverlichting aanstuurt, zal enkel die groep aansturen. Druk je daarentegen bijv. 3 seconden op de knop, dan kunnen bijv. wél alle lichten rond het huis worden aangeschakeld.

In de living worden ook sferen gecreeerd. Afhankelijk van de situatie (bezoek, tv kijken, boek lezen, gewoon niets doen) zal er een andere sfeer kunnen gekozen worden.

Er zal ook orientatieverlichting worden voorzien, om 's nachts op een niet-stoorbare manier bijv. keuken of badkamer te bereiken.

In iedere ruimte komt ook een RC5/6 detector, waardoor je eigenlijk alle verlichting via RC-commando's zal kunnen aan- of afzetten.

In een latere fase zullen ook verschillende audiobronnen in verschillende plaatsen kunnen afgespeeld worden. Het is de bedoeling dat dit ook via afstandsbediening kan gerealiseerd worden.

Zo, da's een heel klein beetje hoe ik het zie. Ik ga nu afsluiten, anders kom ik er nooit mee klaar... ;-)

Indien interesse in meer info, ga gerust je gang. Als ik tijd heb, dan beantwoord ik die wel, indien mogelijk.

-- Geert

Posted: Mon Jan 03, 2005 10:55 pm
by jvanhambelgium
Geert,

Dat gaat een serieus hobby-pakket worden ;-0 Maar wel cool als het allemaal in werking is...Good Luck! maar je bent precies ook wel thuis in de materie dus niet ondoenbaar...

Ik ga het proberen met ne Siemens S7 met 24VDC inputs/outputs die dan RELAIS of TELERUPTORS aansturen (zoals ik reeds beschreef op het bouwinfo-forum)

Ach, zolang je maar voldoende bekabeling hebt liggen op alle schakelplaatsen kan je later nog alles omvergooien .... maar olala als je dan nog draad moet gaan trekken ;-)

Posted: Fri Jul 22, 2005 5:05 pm
by Beens
Hoi,

Ik ben ook al een keer aan zo'n project begonnen, ongeveer 4 jaar geleden. Ik had gebuik gemaakt van een AVR controller de AT90S2313.

Als iemand interesse heeft voor schema's en printen, laat maar horen.
Ik heb een schema voor 8 ingangen, 8 uitgangen en een controllerprint.

Verder ben ik niet geraakt omdat ik last had van RSI :(

Ik vroeg mij eigenlijk af waarom je utp kabel gebruikt op een 16 aderige multikabel kun je meer drukknoppen aansluiten. Of ben je van plan je netwerk via elke drukknop te laten lopen?

Dan moet je volgens mij minimaal op RS485 overschakelen want dan haal je niet met je extender.

mvgr

Henri boonen

Re:

Posted: Mon Aug 15, 2005 8:22 am
by GeertVc
Beens wrote:Ik vroeg mij eigenlijk af waarom je utp kabel gebruikt op een 16 aderige multikabel kun je meer drukknoppen aansluiten. Of ben je van plan je netwerk via elke drukknop te laten lopen?

Dan moet je volgens mij minimaal op RS485 overschakelen want dan haal je niet met je extender.

mvgr

Henri boonen
Ik heb UTP kabel gebruikt omwille van de volgende redenen:

- is relatief goedkoop
- wordt gebruikt in ster
- wordt (bijna) naar iedere schakelaar afzonderlijk gebracht (het is wel zo dat ik meestal twee drukknoppen per punt heb)
- hoeft maar enkele mA (10-20mA) stroom te geleiden

Ik ga dus niet in een lus werken (ben geen voorstander van een lus die door gans het huis loopt).

Alle controle van de signalen (input/output) gebeurt op IO expanders die zich heel dicht bij de uP bevinden, dus van lange afstanden is helemaal geen sprake.

Het is wel zo dat ik een (domotica)kast beneden en boven heb. Daar ik met slechts 1 uP wil werken, moet ik dus de kast boven I2c-matig verbinden met de kast beneden via een I2c buffer. Daar die buffers volgens spec tot 1 mile (ca 1,6km) kunnen gaan, zie ik helemaal geen probleem in die manier van werken.

Best rgds,

--Geert

Posted: Sat Dec 10, 2005 12:20 pm
by Gizzmo
Klikt inderdaad interessant ... dus alle ervaringen eninfo is welkom

Wat je daar verteld over dat de kern van een UTP kabel niet sterk genoeg is ... daar kan ik wel inkomen ... maar eens ge de draadjes hebt bevestigd aan de schakkelaar moet je er normaal gesproken ook nooit meer achter zijn zou ik denken ... dus normaal ook geen probleem?

Iemand hier al slechte/goede ervaring mee?

GreetZ
David

Posted: Mon Dec 12, 2005 8:35 pm
by superintegrator
Ik zou zeggen veel succés en ik hoop wanneer het af is het stabiel en bedrijfszeker draait.

Wat ik helemaal niet uit je project begrijp is waarom je niet gewoon een product kiest dat op de markt is EN dat specifiek is gemaakt om al je beschreven noden uit te voeren, en dat z'n degelijkheid al lang bewezen heeft, en misschien na prijsvraag wel goedkoper zal zijn dan je eigen bouwpakket ? ik heb zoiets van \"waarom het warmwater uitvinden als...\"

Volg een dag opleiding bij installateur of leverancier en dan kun je het product makkelijk zelf installeren en programeren.

Posted: Wed Dec 14, 2005 4:21 pm
by JeroenB
Hallo Geert,

Het is inderdaad een mooi en ambitieus project. Ik heb met hetzelfde idee rondgelopen maar heb na wat research het idee om van scratch te beginnen laten varen. Ik zag het niet zitten om een goede controller te maken van printplaat en bouwstenen.
Omdat ik toch met I2C wilde werken (vanwege zijn veelzijdigheid) is mijn oog gevallen op een goedkope, kant en klare controller C-Control2 station die ondermeer I2C protocol ondersteunt en op een DIN rail gemonteerd kan worden. http://www.cc2net.de/Die_C-Control_II/D ... on_ii.html.
Bij http://cctools.hs-control.de/home.php kan je kant en klare I2C uitbreidingskaarten kopen voor zowel digitale in en uitgangen (met of zonder relais), analoge in- en uitgangen, mulpiplexers, lcd-controllers,…. Sommigen passen ook in een behuizing die op een din rail gemonteerd kunnen worden.

Heb jij (of iemand anders) ervaring met die producten of bedenking er bij??

Jeroen

My Home(made) Project : http://www.domotix-forum.be/phpBB2/viewtopic.php?t=285

Posted: Wed Dec 14, 2005 9:40 pm
by kdw
Ik ben ook testen aan het doen met I2c. Ik gebruik een Basic Stamp als microprocessor. Die heeft speciale functies om via I2C te communiceren (I2CIN en I2COUT). Verder gebruik ik dan de PCF8574 als I2C-interface. Voor het aansturen van de teleruptor (of relais) gebruik ik een 74HCT540 + een ULN2803 (24V) De eerste tests geven prima resultaten.

Groeten