这个应该比较简单,用定时器就能实现……是自带驱动器的那种42、57、86的步进电机还是小型的那种实验 用的?自带驱动器的话就简单很多了,只需要一个IO口发脉冲就好了,另外一个IO口还能控制方向,用定时器控制脉冲频率就可以实现电机的高低速运转(我这里是写了简单的加减速,不用加减速的话直接换频率就好了,不用渐变频率,当然有加减速肯定是最好的了,档位切换会平稳许多,尤其是高速运转的时候,肯定是要加减速,不然有些电机会堵转):
如果要控制精度高的话,一般驱动器上还带有细分。
如果是实验用的话,下面这个模块应该就好了,另外淘宝上也有很多类似的模块(https://detail.tmall.com/item.htm?spm=a230r.1.14.9.yrvBo7&id=18566053714&cm_id=140105335569ed55e27b&abbucket=6):
霍尔传感器有很多种,其中包括两类,数字类的和模拟类的,数字类的可以用普通IO口,模拟类的接到单片机ADC上面输入
电机也分很多种,有步进电机、直流电机等,需要找到对应的型号才能确定程序
您可以參考之前論壇校際比賽的自動往返小車,採用直流馬達和霍爾感測器
就有控速(驅動板PWM),正/反轉(驅動板IO)的設計,霍爾感測和永久磁鐵加裝在輪旁和輪上即可計算轉速(rad/s)
以上供參考