In elke camper is wel een of andere vorm van een controle-paneel te vinden.
Hierop kan met zaken zoals de waterpomp aan- en uitschakelen, zekeringen vervangen. Ook worden er zaken als een laadcontroller voor zonnepanelen , volt- en amperemeters en nivometers voor de watertank gemonteerd.
Hoewel ik erg va eenvoudige techniek hou omdat het vaak ook erg betrouwbaar is, heb ik me toch laten verleiden door het ontwerpen en bouwen van een nogal ‘ingewikkeld’ controlepaneeltje :-)

Het idee ontstond door het lezen van diverse websites over de Arduino. Dit is een klein computertje die je middels je computer (via een USB kabel) kan programmeren. De Arduino heeft diverse digitale en analoge in- en uitgangen om zaken te kunnen meten en te kunnen aansturen. Daarbij zijn er ook legio sensoren beschikbaar die het aansturen en uitlezen erg makkelijk maken.
In principe is een eenvoudig controlepaneel met een Arduino al voor enkele tientjes te maken. Omdat het ook mijn eerste kennismaking met de Arduino was, kwam ik er uiteindelijk achter dat ik niet genoeg had aan een standaard Arduino ‘Uno’.
Het SRAM geheugen waarin variabelen worden opgeslagen (2Kb) gebruikte ik op een gegeven moment voor de helft waarna de schakeling raar gedrag begon te vertonen. Uiteindelijk heb ik zijn grotere broer besteld, de ‘Mega’ die naast nog veel meer inputs en outputs over 256kb geheugen beschikt (ipv 32kb) voor mijn programmacode en 8Kb SRAM, wat ruim voldoende is.
Ook de eerste temperatuursensor op basis van een DHT22 sensor bleek een nauwkeurigheid van +/- 2 graden celcius te hebben.. Daar heb je dan ook niet veel aan, dus bestelde ik er een met een DHT21 sensor.

Omdat elektronica toch altijd een beetje fragiel en storingsgevoelig is, wilde ik geen vitale dingen aansturen via mijn projectje. Zo had ik er voor kunnen kiezen de verbruikers automatisch los te koppelen van de accu als de spanning onder een bepaalde waarde zakt. De functie van de bekende ‘Cyrix’ is ook eenvoudig te realiseren. Simpelweg een ruim bemeten relais schakelen om de Huishoudaccu via de Dynamo te laden als de spanning boven een bepaald punt komt.
Sky is the limit eigenlijk, je kan het zo gek niet bedenken. Het aanzetten van een ventilator als de temperatuur of vochtigheid boven een waarde uitstijgt, etc etc..
Ik heb besloten om met dit paneel enkel zaken te METEN, mocht het paneel uitvallen, dan heb ik daar niet direct last van in het gebruik van alle voorzieningen in de bus.

Wat wil ik allemaal meten?

  • Accuspanning van de huishoudaccu
  • Stroom die van de huishoudaccu wordt afgenomen
  • Waternivo van schoonwatertank
  • Waternivo van vuilwatertank

Na het zien van enkele goedkope modules bedacht ik ook de volgende extra’s:

  • Temperatuur & vochtigheid
  • Een klokje
  • Een gassensor die butaan, propaan en LPG in de lucht meet

Om op diverse zaken geattendeerd te worden wil ik waarschuwingsledjes voor:

  • Controleledje wanneer accu wordt bijgeladen
  • Accuspanning te laag
  • Waternivo schoonwater laag
  • Waternivo vuilwater hoog
  • Hoge luchtvochtigheid
  • Gaslek?

Na de aanschaf van een aantal spulletjes en de eerste kleine meettestjes zag het er erg veelbelovend uit, dat ging makkelijk!
Vervolgens begonnen met bouwen va een frontpaneeltje voor alle bedienings- en afleeselementen.
Ik heb hiervoor een aluminium plaatje gebruikt en hierin het LCD schermpje, de 6 ledjes en de 4 knopjes zo netjes mogelijk ondergebracht.

Ik had alle losse sensoren nu gestest en kon alles meten wat ik wilde. Nu moest het geheel nog samengebouwd worden in 1 pakketje. Dit kostte nog aardig wat denk- en prutswerk. Ik besloot tot een aantal losse printplaatjes:

  • printplaatje met de 6 ledjes
  • printplaatje met de 4 knopjes

Achter het LCD-schermpje achtereenvolgens:

  1. het Arduino bord
  2. een ‘prototype’ bord dat eenvoudig op de pinnen van de Arduino past.
  3. een printplaat voor de stekkeraansluitingen van de sensoren en spanning en voltage-regulator

Bij het meten van het (stroom-)verbruik van de diverse onderdelen besloot ik een aantal zaken automatisch uit te schakelen nadat er een tijdje geen knop meer ingedrukt is geweest d.m.v. een relais, daarnaast kan het backlight van de LCD dan ook uit wat zorgt voor een verlaging van het verbruik van de schakeling van 344 naar 222 mA (zonder Gassensor van 207 naar 88 mA)

6 van de 8 sensoraansluitingen krijgen permanent spanning, 2 ervan worden na enige inactiviteit uitgeschakeld.
(8 aansluitingen in totaal is niet allemaal nodig volgens mijn plannen, maar wie weet in de toekomst..)
Bij het opbouwen van de printplaatjes werden vooral de verbindingen van het sensorbord naar het prototype-bordje erg dik omdat ik kabelschoentjes heb gebruikt om alle draden ook eenvoudig te kunnen losmaken. Achteraf gezien had ik hiervoor een andere oplossing moeten kiezen, met dunne draadjes en een multiconnector ofzo, zoals ik later gebruikt heb om de ledjes aan te sluiten.

Tja, nu alles bij elkaar voegen tot een net pakketje achter het aluminium frontplaatje. Inmiddels is het frontplaatje zwart gespoten en heb ik ook de rode knopjes zwart gemaakt.
Het prototype-bordje en de Arduino zitten al prima aan elkaar vast. Helaas zitten de montage-gaten op een andere plek zodat er geen M3 boutje door beide bords heen kan. Ook de LCD printplaat heeft weer gaten op een andere plek. Met enige creativiteit heb ik van zwart kunstof hoekprofiel prima verloopjes gemaakt. Helaas is er niet overal plek voor moertjes.. ontwerpfoutje?

De printplaat van de sensorconnectors zit zo vol dat ik daar geen gaatjes meer bij kan boren. Uiteindelijk heb ik deze er met tie-wraps bijgeklemd. Ben hier niet helemaal tevreden over, maar laat het maar even zo.

Nu de software nog afmaken..
Programmeren doe ik al tientallen jaren dus dit geeft niet zoveel problemen. Het programmeren doe je in een speciaal voor Arduino (en compatibelen) geschreven programmeeromgeving. De taal is op C++ gebaseerd.

Ik laat de gebruiker door pagina’s heen bladeren die allen weer andere informatie toont. Pagina 1 is een verzamelpagina van de belangrijkste gegevens. Ik vond een library voor het opbouwen van een menu met submenuutjes waarin het mogelijk is waarden te wijzigen. Deze library heb ik gebruikt om niet twee maal het wiel te hoeven uitvinden, maar heb hierin wel diverse zaken aangepast.
De library heet MenWiz en is hier te downloaden.

Ten tijde van schrijven ben ik nog niet helemaal klaar met de pagina op het LCD schermpje, er zal nog wel wat veranderen.
Het ‘settingsmenu’ heeft nu de volgende opties:

  • Spanning & stroom
    -   Charge LED -> spanning instellen waarop de charge LED dient aan te gaan
    - Voltage Low LED -> spanning instellen waaronder de voltage low LED moet gaan knipperen
    - Amp sensor connected -> indien ‘nee’ dan worden geen gegevens over stroom en vermogen getoond
  • Water
    - Schoon water LED -> nivo in % is in te stellen waaronder LED dient te knipperen
    - Afvalwater LED -> nivo in % is in te stellen waarboven LED dient te knipperen
    - Winterstand (leeg) -> indien ‘ja’ dan worden er geen nivo’s getoond (ook leds zijn dan buiten werking)
  • Temp / Humidity
    - Sensor connected -> indien ‘nee’ dan worden er geen meetgegevens getoond van deze sensor (vochtled ook buiten werking)
    - Vocht LED -> nivo in % is in te stellen waarboven LED dient te knipperen (wellicht reageren op dauwpunt is nuttiger?)
  • LPG lek sensor
    - Sensor connected -> indien ‘nee’ dan worden geen meetgegevens getoond, led is ook buiten werking
    - Alarm drempel-> sensorwaarde (getal) is in te stellen waarboven LED dient te knipperen. (uit testjes weet ik dat dit rond de 80 moet zijn)
  • Power save
    - Sleep after -> tijd is in te stellen waarna scherm uitgaat en spanning van een/enkele sensoren wordt gehaald
  • Clock
    - Tijd & datum -> tijd & datum van de clock instellen
  • Diagnostics
    - Diagnose pagina ?-> Indien ‘ja’,  geeft een extra pagina met directe waarden van de aangesloten sensoren.

De Gassensor zit nu nog in de schakeling, maar deze ga ik denk ik niet inbouwen. Het verbruik van deze sensor is zo’n 100 mA wat ik erg hoog vind (er zit een klein verwarmingselementje in) Omdat deze altijd aan moet staan vind ik dit niet bruikbaar.
Ik heb het idee om hiervoor in de plaats de vulling van de LPG tank te meten. Omdat ik een staande LPG tank gebruik, kan ik er druksensoren onder plaatsen en zo het gewicht van de fles meten :-) Voor het todo lijstje..


Linkjes:

Arduino.cc
Arduino Mega 2560
Protoboard voor Arduino MEGA
LCD scherm 20×4 karakters (i2C)
Stroomsensor
Relais module
Temperatuur-/vochtigheidssensor
Klokmodule
Gassensor
Voltage regulator

Post to Twitter Post to Facebook Send Gmail

Geplaatst op donderdag 21 februari 2013 , Klussen

508 website
RSS.

508

Mercedes L508DG