Hur man styr en stegmotor med en FPGA (5 / 9 steg)
Steg 5: Den grundläggande idén bakom koden
Jag hittar i FPGA design det enklaste sättet för mig att samla mina tankar och räkna ut hur jag ska styra något med ett tillståndsdiagram.
Jag visste från min forskning, som för att köra stegmotor fullt step-läge, jag behövde till aktivera en spole på en gång, detta innebar en tråd bör vara drivande hög i taget. Så, i varje min aktiv, Sig4, Sig3, Sig2 och Sig1, utdata är Signal, som innehåller signalen till var och en av kablarna. På var och en av dessa stater drivs endast en signal. Detta innebär att en av spolarna kommer att vara aktiva.
Gå mellan dessa aktiva stater beror på riktning. Om jag vill bo går åt samma håll, dvs dir var lika med 1 och fortfarande är lika med 1, jag går en riktning genom staterna, om jag vill ändra riktning, dvs, dir ändringar från 1 till 0 gå motsatt riktning i staterna.
Om jag i någon av dessa aktiva stater och sv, eller aktivera stängs av, jag flyttar till Sig0 staten där det finns ingen signal hög, så inga spolar är på, detta kommer att stoppa motorn. Om aktivera aktiveras igen återvända jag tillbaka till aktiv USA.
Den hastighet som motor stammen är den hastighet som du flyttar genom dessa stater eller Klocksignalen skickas till denna stat maskin.