Stap 3: De hele code implementeren...
De code is gekoppeld aan het eind.
Het bestaat uit algemene MCU dingen, zoals de voorbereiding van de ADC en tijd/Interrupts. Het belangrijkste onderdeel is het deel van de controle. De MCU krijgt de waarden van de ADC, zet deze met de PID-regelaar aan een juiste motorsnelheid en versnelt het omhoog totdat de opgegeven waarde is bereikt.
Deze waarde is niet precies de gewenste motorsnelheid (33.3 rpm). Daarom signaal lichtschermen één per geluid aan de microcontroller, die gebruik maakt van een timer onderbreken om de werkelijke snelheid en wijzigen van de ingestelde waarde voor de PID-regelaar te berekenen.
Deze besturing de snelheid na de gegeven waarde. De snelheid is na 10 seconden exaclty 33.3 rpm en de meting van het omzetten van snelheid stopt (anders zal er trillingen als gevolg van de hoge massa's en de PID-regelaar).
Als de turntablespeed een drempel boven of onder de gegeven snelheid waarde bereikt, begint de meting weer.
De werkelijke stuurspanning en daarom motorsnelheid wordt aangetoond door de LED voltage meter gegeven aan de rechterkant van de PCB. De LED in het midden wordt gecontroleerd door de PWM van het MCU, terwijl de lichte besturing de output van de spanning. Men ziet dus direct bij de LED, als de motor snelheid verandert.
Met dit apparaat is mijn draaitafel geregeld precies van de snelheid van 33.33 rmp - ongeacht wat er gebeurt op het apparaat. Met het toevoegen van een modus voor de 44 rpm-snelheid zal mijn draaitafel niet compleet zijn.