Roland Kamphuis Rotating Header Image

Posts Tagged ‘microcontroller’

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 printplaatje samengesteld

Voor het toegangscontrole systeem in InterDC heb ik zelf het eerste prototype PCB bedacht en gesoldeerd.Het is een hele basis versie, met eigenlijk maar 3 onderdelen, maar voor mijzelf heb ik een mijlpaal bereikt. Ik wou in eerste instantie de componenten op een breadboard zetten en dat bij de microcontroller gaan plakken. Een eigen PCB is toch net iets netter en past prima naast de microcrontroller in een klein plastic behuizing (die ik op eBay heb gevonden).
Dit boardje schakelt de magneetschakelaar en leest de status van de deur exit schakelaar. Ik ben inmiddels alweer bezig met een groter bordje waar meer functionaliteiten opkomen. Bovendien moest ik eerst een manier bedenken hoe ik de connectoren uit de behuzing kan laten steken. Na lang zoeken ben ik een sort “com poort” tegen gekomen die je prima op de pcb kan solderen. Met dupunt stekkers kan je dan de signaalkabels aan het printje hangen. Zodra dit boardje af is komt hij ook op mijn blog maar ik moet eerst nog wachten op wat onderdelen.

Ps: de techneut heeft de fout al gezien op het bordje. Ik schakel mijn transistor met een 1k ohm weerstand, wat uiteindelijk een veel te laag vermogen geeft voor mijn magneet spoel. Ik heb hem inmiddels al vervangen met een lagere weerstand.