[极海APM32M3514电机]+读取霍尔信号
[复制链接]
本帖最后由 kjsm 于 2025-1-3 09:37 编辑
这次试下使用APM32M3514对三相霍尔信号读取;
霍尔传感器
电机中的霍尔传感器为单极性霍尔传感器,即在靠近N磁极时表现为高电平,在靠近S磁极表现为低电平。
直流无刷电机的霍尔传感器布置方式为120°和60°两种,对应着两种控制序列。
120°霍尔的分布
霍尔信号的波形如下图:
开发板上的霍尔信号连接的是PA3/PA1/PA0引脚;
我打算通过GPIO的外部中断来对霍尔信号进行读取,通过外部中断的上升/下降沿触发中断
GPIO的中断信号:
配置GPIO为输入引脚及配置GPIO使用外部中断功能
配置外部触发中断的模式,上升沿和下降沿均触发,使能中断
触发中断后,写入同一个中断处理函数
如图蓝色为U相的霍尔信号输入,黄色线是每次进入外部中断进行一次IO口翻转。三路霍尔信号120°的霍尔上升和下降均触发;所以一个蓝色霍尔信号,有六次翻转。
将三相的霍尔信号进行整合按HC-HB-HA记录;定义一个数组Hall_Three.HallUVW[3];
HC为1时;Hall_Three.HallUVW[2]就置1否则为0依次类推;
三相霍尔信号组合,通过串口打印出霍尔的状态;
|