Från Arduino och perfboard att PCB med fristående MCU (3 / 3 steg)
Steg 3: Genomföra hela koden...
Koden är fäst i slutet.
Den består av allmänna MCU sånt, förbereda ADC och tid/avbryter. Den viktigaste delen är den kontroll delen. MCU får värdena från ADC, konverteras den med PID controller till en korrekt varvtal och snabbar det upp tills det givna värdet nås.
Detta värde är inte exakt den önskade varvtal (33,3 rpm). Därför signal ljusa barriärer en per ljud till mikrokontroller, som använder en timer avbryta för att beräkna den faktiska hastigheten och ändra inställt värde för PID-regulator.
Denna kontroller hastigheten efter det angivna värdet. Efter 10 sekunder är hastigheten exaclty 33,3 rpm och mätning av vrida hastighet hållplatser (annars vi har svängningar på grund av höga system samlas och PID-regulator).
Om turntablespeed når en tröskel över eller under given hastighet värdet, börjar mätas igen.
Den faktiska styrspänningen och därför varvtal visas i metervara LED spänning på den högra sidan av PCB. Lysdioden i mitten styrs av PWM av MCU, medan dess lätta kontroller Matningsspänning. Därför kan man se direkt på LED, om motor hastigheten ändras.
Med den här enheten kontrolleras min skivspelare exakt till dess hastighet på 33.33 rmp - oavsett vad som händer på enheten. Med att lägga till ett läge för 44 rpm fart blir min skivspelare komplett.