2.2 控制模块硬件设计
控制模块使用的是Silabs公司的C8051F040单片机作为系统的微处理器进行电机的控制及系统的其他处理工作。
控制模块硬件图如图3所示(仅画出使用的引脚)。主电机选择了7.2 V的无刷直流电机。由于有刷电机换向是通过碳刷及整流子,但是碳刷及整流子在电机转动时会产生火花,碳粉因此会造成组件损坏,而无刷直流电机是用电路来进行换向的且体积小、易控制,因此不存在这些问题。无刷直流电动机是以自控式运行的,所以不会像变频调速下重载启动的同步电机那样在转子上另加启动绕组,也不会在负载突变时产生振荡和失步。
无刷直流电机构造复杂,因此对它的直接控制通过电子变速器来实现。根据单片机PWM信号的占空比来控制电子调速器中MOSFET的导通关断时间从而控制电流,达到控制电机转速的目的。这种方法具有电流大,输出电流线性度高等优点,使电机的效率得到提高。
模型车的转角控制是用一个舵机实现的。舵机的控制简单、输出力矩大、输出角度精确、工作电压低,非常适合用于模型车的转角控制。舵机内部有一套精密的减速齿轮组,直流电机的输出经这套减速齿轮减速后输出。单片机输出PwM信号来控制舵机的转角,该信号进入舵机内部的信号调制芯片获得直流偏置电压,将此直流偏置电压与内部一个标准电路产生的周期为20 ms宽度为1.5 ms的基准电压比较,获得电压差输出。电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。
系统的电源采用了7.2 V的电池,而C8051F040的高电平是3.3 V,因此需要进行电平转换。本系统使用的是贴片式的LM1117进行电平转换。如图4所示,由于该芯片的输入、输出的允许压降很小,所以用了两片规格不同的LM1117实现两级电平转换,中间再串联二极管,利用二极管的固有压降来满足芯片的压降要求。
3 软件设计
3.1 无线模块软件设计
无线模块应用程序是将上位机的运动控制信号发送给电机控制模块,另外还要把微处理器的电机控制量上传给上位机。复位时进行系统初始化并开中断,置标志位ST,完成后系统进入休眠模式(ST=00)。当上位机有数据采集要求时,通过串口与之通信,此时将会触发系统的串口中断激活系统。随后,中断服务程序将系统置为发送命令状态(即ST=01),先解析命令信号,接着将命令信号打包发送出去,发送成功后将进入等待接收数据模式(即ST=10)。此后,如果有数据发送过来,底层将数据上交到应用层后,就直接将数据通过串口上传给上位机,完成一次数据传输。其程序流程如图5所示。