Roland Kamphuis Rotating Header Image

Posts Tagged ‘hardware’

Hardware project: kwh meten

Afgelopen weken ben ik iedere vrijdag bezig geweest met een nieuw hardware project. Met het nieuwe project ben ik bezig een slimme stroometer te bouwen die via ethernet uitleesbaar is. Ideaal voor het datacenter (Interdc) om het stroomgebruik per rack bij te kunnen houden.
Ik was eerst begonnen met ampère meters die je op over de kabel heen klemt en op basis van magnetische inductie kunnen bepalen hoeveel ampère stroom erdoor heen ging. Deze ampère meters waren moeilijk verkrijgbaar dus keek ik naar een alternatieve oplossing. Op internet las ik hoe veel hobbyisten heel creatief een pulsenteller hadden gemaakt die werkt aan de hand van het lampje dat knippert op de stroommeter. Ik heb weliswaar geen hoofdmeter per rack zitten, maar ik had wel een kleine kWh teller al laten aansluiten. Bleek dat die meter  zelfs een eigen uitgang had om de pulsen door te geven. Het was dus een kwestie van een kabeltje eraan hangen en de microcontroller laten tellen. Tenminste dat dacht ik.

kwh_teller

Microcontroller met ethernet en poe en de benodigde hardware

De microcontroller was de grootste obstakel, de microcontroller loopt op 32mhz singlecore en moet 10 meters gelijktijdig in de gaten houden of er een signaal (pulse) binnenkomt. Een buzzywait constructie werkte niet, als op meter 1 en 10 tegelijk een pulse binnenkomt, was de pulse signaal al verdwenen voordat de while-loop bij poort 10 aankwam. Daarnaast moest dezelfde microcontroller ook nog een communicatie via ethernet opzetten.
Uiteindelijk heb ik het dan ook opgelost door op basis van interrupts te gaan werken. Het systeem wordt tijdelijk onderbroken zodra een status van een kWh meter wordt veranderd. Doet zijn tel actie en gaat vervolgens verder waar hij was gebleven. Het resultaat; precieze kWh stroommeting waarbij ik nauwkeurig terug kan rekenen naar Ampères.

kwh_meters

De kwh meters van iedere groep

ampere_tang_meten

Natuurlijk met de ampere tang controleren of mijn gemeten pulsen overeenkomen

Eerste elektronica project

Ik heb mijn eerste hardware + software elektra projectje afgerond. Officieel heb ik informatica gestudeerd, wat inhoud dat je alles leert op gebied van software enginering. Het hardware gebied valt onder buurstudie Technische informatica. Ik vond het altijd al mooi om met elektronica te knoeien, maar had uiteindelijk niet gekozen voor Technische informatica. Ik was van mening dat de Technische informatica mensen niet heel diep op het software gedeelte ingaan, en juist het vergaande softwareontwikkeling fascineerde mij. Artificial intelligence, Security (het op diep niveau in software beveiligen en hacken), virtual reality & gaming (3d) zijn allemaal specialisatie thema’s die ik gekozen heb tijdens mijn studie.

Nu, alweer 2 jaar na mijn studie, wou ik toch eens wat verder gaan met de hardware kant. Dus kocht ik een kleine microprocessor (16 mhz, 2 kb ram, 32kb rom, 16-bit) om hardware elementen aan te sturen. De software hiervoor schrijven ging zonder problemen, dat was immers ook mijn vakgebied. Het enige wat ik moest leren was hoe je bepaalde modules aan de microcontroller kon aansluiten en hoe in het algemeen elektronica werkt.

Het eerste project die ik net heb afgerond was een simpel systeem die maar een paar dingen moest doen:
– 5 lampen kunnen schakelen
– De lampschakelaars kunnen uitlezen
– Een elektrische deurschakelaar aansturen
– Een magneetcontact uitlezen
– Temperatuur meten (als je toch bezig bent..)
En dat moet allemaal via ethernet bedienbaar zijn.

Ik heb gebruik gemaakt van de arduino als ondergrond. Ik vind de ontwikkeltaal van de arduino zelf een beetje vaag (is een soort c), dus heb veel c++ modules geschreven zodat ik zo min mogelijk in de Main klasse hoefde te zetten. Immers moesten ook meerdere functies herhaald worden (5x lamp, 5 x lampschakelaar) en dan zijn objecten wel zo handig.
Ik heb ook mijn 2e printplaat moeten solderen. Waar ik nog paar weken geleden posten over mijn eerste printplaat, is deze al toch een stuk uitgebreider. Ook heb ik netjes connectoren naar buiten gebruikt. Het hele geheel netjes in een projectbox gezet zodat de hele set netjes dicht kan.
Power krijgt de set via ethernet, dus het grote voordeel ervan is dat je geen aparte voeding hoeft aan te sluiten, en de poe switch achter de noodstroomvoorzieningen zit.

Resultaat: een microcontroller waarmee ik via mijn mobiele app de lampen aan en uit kan zetten, temperatuur kan uitlezen en de deur open doen. De microcontroller zit verder in ons eigen ontwikkelde BMS applicatie verwerkt, betekend dat er automatisch mee gecommuniceerd wordt bij bepaalde acties. (bijv. iemand staat bij deur, de deur na invoeren van pincode openen).

Het volgende project wordt een bestaand breadboard prototype van rfid lezer vervangen door projectbox met gesoldeerde printplaat. (en nieuwe functionaliteiten toevoegen).
Ook ben ik bezig met een nieuw project om stroom te kunnen meten. Zo kunnen dan straks InterDC klanten realtime hun stroomverbruik inzien.

Foto van mijn bureau in het hardware lab