Stap 2: Hoe de Controller werkt
Het was een eenvoudige kwestie uit de mechanica van openen en sluiten van mijn jaloezieën met de Solarbotics GM3 versnelling Motor te werken. De enige wijziging die ik moest maken moest boren een klein gaatje in de schacht. De motor van het totale ontwerp, spanning 224:1 overbrengingsverhouding, slipkoppeling en lage kosten maakte het de perfecte motor voor dit project.De kern van mijn ontwerp is de veelzijdige en goedkope PICAXE microcontroller. De PICAXE is zeer gevoelig voor het leveren van spanningen. Neem de spanning veel meer dan 5 volt en u zal het rookt. Voeden van de PICAXE rechtstreeks met 4 AA batterijen (6.0v) zal het zo niet eens proberen het vernietigen. Het werkt goed wanneer aangedreven met 3 AA cellen (4.5V).
Ik wilde in mijn ontwerp gebruiken 4 AA cellen om twee redenen. Ten eerste, de extra AA-batterij zou een beetje meer tijd tussen batterij veranderingen bieden. De tweede reden - omdat een 4-cel batterijhouder ziet er beter uit zit op de top van het project controller dan de houder van een 3-cel.
Mijn ontwerp maakt gebruik van een licht afhankelijke weerstand (LDR) aangesloten op een van de PICAXE van analoog naar digitaal converter (ADC) ingangen om te controleren de buiten lichtniveau. De ADC wordt een programma variabele ingesteld op een waarde tussen 0 en 255 afhankelijk van de intensiteit van het licht schijnen op de LDR. Ik heb de mijne ingesteld om te openen de blinds op 250. Dit houdt ze van bij het krieken van de dag openen en mij te vroeg wakker. Ik heb deze ingesteld op de blinds op 200 die is ongeveer een uur na zonsondergang wanneer het net is begonnen om donker buiten te sluiten. U moet deze instellingen als u wilt aanpassen van de controller voor uw bijzondere lichtniveaus en persoonlijke voorkeuren aanpassen. Ik hoef te geven u een woord van waarschuwing hier. Als u deze controller in je slaapkamer gebruikt, moet u worden voorbereid op de blinds te openen op een moment in de ochtenden. Het zou echt makkelijk te krijgen gevangen in een pijnlijke situatie als ze geopend op een tijdstip dat u niet kunnen verwachtte.
Wanneer het licht schijnen op de LDR bereikt een bepaald niveau (donkere of lichte afhankelijk van of het ochtend of avond)) draait de PICAXE op één of beide uitgangen. De PICAXE-uitgangen hebben een maximale belasting van 20mA die niet genoeg is voor het aandrijven van de relais of de motor direct dus ik een Darlington Array gebruikte.
De Darlington Array is gewoon een set van 7 elektronische schakelaars, waarmee een lage stroom (de PICAXE-uitgangen) om over te schakelen van een hoge stroom (de relais en motor). Ik gebruikte 2 van de matrix kanalen (1 & 2 gebonden in parallel) om over te schakelen van het Relais aan en uit, en de resterende 5 kanalen (3-7 ook parallel) om de huidige motor wissel voort en vandoor. De matrix heeft ook circuits gebouwd in die de rest van het circuit tegen spanningspieken gemaakt door inductieve belastingen beschermen (b.v. Relais en motoren).
Het Relais die ik gebruikte is een kleine 5.0v DPDT relay, dat mooi in een 16 pins DIP aansluiting past. Ik de motor leads vastgehaakt op de 2 gemeenschappelijke (COM)-aansluitingen van de estafette en de motor uitgangen gevoed uit de darlington matrix met beide sets normaal gesloten (NC) en normaal gesproken open (NO) contacten in een patroon van diagonaal kruisende lijnen. Wanneer het Relais is uitgeschakeld de motor draait in één richting. Wanneer het Relais wordt geactiveerd de polariteit worden omgekeerd en de motor draait in de tegenovergestelde richting. Ik ben zeker dat er andere manieren om dit te doen maar ik deze opstelling.
De PICAXE beschikt over een puls breedte modulator (PWM) gebouwd in dat u gebruiken kunt voor de controle van de snelheid van de motor, maar versnelling met de Solarbotics motor die niet nodig was. Als u een ander type motor die u misschien wilt gebruiken het PWM-programma commando te vertragen een beetje. Wanneer de motor reverse, activeer ik de estafette over 10mS voordat de huidige motor is ingeschakeld. Dit moet houdt de relais-contacten van de overkoepelende en ze veel langer duren.
Ik code opgenomen in het programma om te voorkomen dat de controller probeert te openen van de blinds, wanneer deze reeds open en sluiten ze wanneer ze al gesloten zijn. Dit werkt prima met uitzondering van wanneer de controller eerst wordt ingeschakeld. Wanneer de macht voor het eerst is toegepast gaat de controller probeert te openen of sluiten van de blinds ongeacht wat de lichtniveaus zijn. Om deze reden, moet u handmatig de positie van de blinds zijn ingesteld op het tegenovergestelde van wat ze worden moeten voordat u de controller macht (bijvoorbeeld hen sluiten als het overdag en open ze als 's nachts).