本文主要是分享调试中遇到的问题,详细的制作步骤可以参考下面这个博主的文章:
【DIY】使用STM32及PID算法实现一个磁悬浮玩具
1.PCB中霍尔传感器钻孔直径尽量选用47.2mil及以上
使用立创EDA画PCB时,如果直接添加霍尔传感器,它的孔径是正合适的。但是实际调试的过程中,很可能需要多次调整霍尔传感器的位置(浮子会经常打到霍尔传感器,可能引起短路),在拆卸的时候,如果板子上的孔径太小,残留在孔里的焊锡十分难清理(这时候多半板子上已经装了一圈的永磁铁了,不拆下来烙铁头容易被吸住,非常麻烦)。因此最好把孔径设置得大一号。
2.安装在板子上的永磁铁要与浮子相吸
博主一开始的想法就是永磁铁用来给浮子提供浮力,所以酒吧浮子放在永磁铁上面,感受有没有斥力。后面发现根本就浮不起来,后面才想到浮子工作时并不是在永磁铁的正上方,而是在侧上方,永磁铁的磁场线已经发生了变向。
因此确定方向的时候,把浮子放在永磁铁上面,如果相吸,证明永磁铁的安装方向正确。
3.定时器中断设置为1KHz以上
磁悬浮的控制需要用到PID,很多同学联系PID都是用的平衡小车等电机驱动的项目,这类项目多采用50Hz的中断频率。其实博主看到了其他人使用的是很高频率的中断频率,但是我还是觉得可以用50Hz,结果调了好久都调不出,最后还是乖乖用了1KHz的频率。
4.如果PID总是调不稳,可以试试调整浮子形状
经过博主的测试,倒三角式的、半径达的浮子更容易悬浮
5.磁悬浮线圈磁力线的改变会不会影响到Z轴霍尔的检测呢?
答案是不会影响的,原因如下:由于X轴的两组磁悬浮线圈同名端连接在一起,组成一组磁悬浮线圈,如图5.3的 XY轴磁悬浮线圈同名端连接示意图所示,由于同名端相连,在通入单向电流时,流入两组磁悬浮线圈的电流绕向相反,这样磁悬浮线圈在Z轴霍尔的位置处产生的磁力线是大小相等,方向相反的。大小相等是因为两组磁悬浮线圈串联,流过的电流相等,所以产生的磁力线大小相等,方向相反是由于两组磁悬浮线圈电流流向相反。因此,在Z轴霍尔的位置处,两组磁悬浮线圈磁力线合成矢量为零。
先占坑,后续有时间更新