2 转子识别及端口复用的键盘设计
2.1 转子识别
本系统采用转子编码的方式自动识别转子。因为本系统共有21个转子,所以要用7片磁钢片来完成转子的编码,其中,2片磁钢片与2只霍尔传感器提供同步信号,其它5片磁钢片完成编码任务。电机通过中轴带动转子转动,磁钢片嵌在转子的下端面,与转子一起转动。7片磁钢片呈一定角度分布在同一同心圆上,其下方安装了2只固定的霍尔传感器,高度相差2~6 mm,也分布在同一同心圆上。2个长方块表示产生同步信号的磁钢片,5个圆块表示完成编码的磁钢片。
在产生同步信号的磁钢片下面有2只固定的霍尔传感器A44E,它们在一个同心圆上,相隔角度144。,与产生同步信号的磁钢片严格对应。当转子转到该位置时,传感器1和传感器2同时产生低电平。规定2只传感器都产生低电平为同步信号,每运转一周仅产生一个同步信号。设转子逆时针运转。因为在低速时就应该完成转子识别,约定转速为1000r/mln时识别转子(其它转速也可)。规定:传感器1产生脉冲(磁钢片接近传感器时,传感器输出低电平),而传感器2没有产生脉冲,编码为“1”;反之,传感器1没有脉冲,而传感器2有脉冲,编码为“0”。如果2只传感器都没有脉冲,就说明对应的磁钢片掉了,此时系统发出报警。各磁钢片相隔24。,相邻信号的时间间隔T为:
T=(1/1000)*6O*1000*(e4/a6o)一4(ms)
当同步信号来了以后,就进入转子识别子程序,程序延时4 ms,单片机读转子编码的第一位;再延时4 ms,读转子编码的第二位;以此类推,先后读出转子编码的五位数字。具体过程是以传感器2的脉冲来编码,当有磁钢片经过传感器2时编码为0,没有时编码为1。由此可以得出图的转子编码为“00000”,即为1号转子。不难看出, 2号转子的编码为“00001”;3号转子的编码为“00010”。改变编码磁钢片的位置,就可得出不同的转子编码,从而用7片磁钢片实现了32个转子的编码。
利用编码识别转子的硬件实现仅需占用单片机的2根I/O口线,简单方便。