Gear Clock (2 / 3 steg)
Steg 2: Konstruera klocka elektronik
Mikrokontroller
Hjärnan hos detta projekt är en PIC 16F628A mikrokontroller. Det hålla reda på tid och aktiverar stegmotor när det behövs.
Knappar
Gränssnittet är mycket enkelt, det består av två knappar. När vänster knapp trycks framåt klockan tid med motorn. När den högra knappen trycks minskar klocktiden med motorn. Det enda problemet är när du behöver korrigera tid genom många timmar du skulle behöva hålla knappen intryckt under lång tid. Stepper motor är också alltid strömförande för att förhindra att växlarna glider. För att lösa detta problem när båda knapparna trycks stepper motor är deenergized och minut redskap kan vara snurrade fritt.
Motor
Motorn är en unipolär stegmotor som har skördats från en gammal 5 1/4 tums diskettenhet. Detta är den motor som används för att flytta Läs skriva huvuden och tillbaka, få en av denna storlek och styrka måste du hitta en fin gammal en. Moderna diskettenheter har inte steppers med denna nivå av vridmoment.
Denna motor flyttar 1,8 grader per puls vilket innebär att med 200 pulser det kommer att göra ett helt varv. Eftersom det är en bipolär motor är det enkelt för PIC att driva den med endast 4 transistorer.
Koden
Koden är i princip uppdelad i två delar, det finns en iterativ loop som övervakar knappar för en förändring i staten och kontrollerar om den interna klockan har passerat 9 andra märket. Om ett av dessa villkor har inträffat stepper motor drivs på ett lämpligt sätt.
Den andra delen av koden är avbrott driven och det håller reda på tiden. Ett avbrott utlöses var 0.1 sekunder och justerar en intern klocka som behövs. Det finns en sann kör klocka inuti, om du ansluter klockan PIC stift 6 till en dator serieport som fungerar på 9600 bps kommer du att se inre klocka värdena uppdateras en gång per sekund. Klockan värdet är i det här fallet godtyckliga eftersom det aldrig visas och kommer inte att vara samma som vad redskap visar men samma kod kommer att användas i framtida projekt som kommer att använda denna kod display tid.