DIY Home automation: thermostaat met stappenmotor

zelfbouw thermostaat

Handmatig de verwarming aanzetten, dat is zo vorige eeuw. Home automation is het helemaal! Er is van alles te koop op dit gebied, maar echte mancavers gaan natuurlijk zelf aan de slag. Zo bouwde Jangeox zijn eigen thermostaat met Arduino en een stappenmotor. Daar word jij toch ook warm van?

Het begon al een tijd geleden toen ik berekende hoeveel Newton ik nodig had om de verwarming te openen. Dan was er best wel wat budget nodig om deze stappenmotor met bijhorende tandwielen, tandriem en motorsturing aan de Arduino te koppelen.

Stappenmotor bestuurd door Arduino

Eén van deze displays en een bijbehorend toetsenbord later, is er nu eindelijk een werkende versie van mijn thermostaat. De bedoeling was dus om in de eerste plaats een thermostatische kraan te maken met een stappenmotor, bestuurd door een Arduino.

Dat is allereerst een noodzaak omdat we de kranen niet kunnen vervangen zonder het ganse gebouw met 96 appartementen zonder verwarming te zetten. Maar daar kwam ook bij dat ik meer besturing wil dan een standaardkraan die je kan kopen in de winkel. We kunnen ook geen “echte” thermostaat plaatsen omdat er geen aparte brander is per appartement. En tenslotte: het is gewoon ook megafun natuurlijk.
onderdelen zelfbouw thermostaat

Uiteindelijk is het een behoorlijk grote opstelling geworden. Er zijn nu 4 printplaten die op elkaar gemonteerd zijn. Drie van de vier zijn aangeschaft in China, het vierde is mijn eigen projectbord.

4 printplaten
Onderaan zit eerst een Arduino, daarboven een motorshield van Arduino om de stappenmotor te besturen, dan mijn projectbord en tenslotte de display.

projectbord

Dit is dus het deel dat ik zelf ineen heb geknutseld. Eerst was alles op een breadbordje gemonteerd en aan elkaar vastgemaakt met tijdelijke jumperwires.

breadbord
Maar het moet een definitieve vorm hebben, en daarom heb ik alle verbindingen op dit bord vast gemonteerd.

Ik ben er best wel fier op! Als je weet dat ik tot enkele maanden geleden nog zat te sukkelen om na 20 jaar opnieuw een soldeerbout vast te houden, dan ben ik toch redelijk ver gekomen nu.

Uitleg werking

Bovenaan heb ik een connector gesoldeerd waar de display in past. De verbindingen van display tot Arduino lopen dus nog eens door twee printplaten, maar dit is de properste oplossing. Anders hangen er overal losse kabeltjes omdat de display niet rechtstreeks op de Arduino past. Je kan die display trouwens op verschillende manieren besturen al naargelang welk project je gebruikt. Ik bestuur hem nu serieel, dat wil zeggen dat er weinig in/out-pinnen van de Arduino nodig zijn. Ik heb trouwens maar 2 van de 20 pinnen over, dus de limiet is al bereikt voor dit soort Arduino.

Onderaan hangen twee sensoren die de temperatuur meten. De ene sensor zal de kamertemperatuur meten, de andere zal vasthangen aan de radiator. Dat is niet echt nodig, maar de software die ik gemaakt heb regelt ook de radiatortemperatuur. Ik was ook gewoon nieuwsgierig naar die waarden.

Op de onderkant van de printplaat (links) heb ik een connector bevestigd waar de 7 pinnen van het toetsenbord in passen. Normaal zou ik voor het toetsenbord 7 van de 20 Arduino I/O pinnen nodig hebben. Maar die had ik dus niet! Vandaar dat ik een kleine schakeling gemaakt heb met 8 weerstanden en één condensator.

Het principe is dat de condensator oplaadt bij een druk op een toets. Afhankelijk van welke toets je indrukt, worden er twee weerstanden gecombineerd. Er zijn dus 3×4 = 12 combinaties mogelijk. Afhankelijk van de waarde van die twee weerstanden zal de condensator langer of minder lang opladen. Die laadtijd kan ik meten met 2 pinnen van de Arduino. Ik heb er dus maar 2 nodig in plaats van 7.

7 Comments
  1. Reply
    Jan 27 november 2016 at 11:46

    Is de code nog steeds beschikbaar?
    De link naar de website werkt helaas niet meer en zou er graag gebruik willen maken.

  2. Reply
    eddie 1 mei 2014 at 15:54

    Hoi Jan,

    bedankt voor het delen van je info het ziet er gaaf uit zeg.
    ik ben bezig met jou info om er zelf een te maken al zal het net nog te hoog gegrepen zijn voor mij.

    (net paar maanden bezig met arduino’s)

    groetjes Eddie.

  3. Reply
    maurice 24 mei 2013 at 20:44

    Hallo Jan,

    zou je het stukje code misschien willen delen welke de balk beneden weergeeft?

    alvast bedankt!

  4. Reply
    Robert 21 april 2013 at 12:13

    Link naar display?

    Leave a reply

    Stuur mij een email bij nieuwe reacties op deze blogpost. Je kunt je ook inschrijven zonder zelf te reageren.