MC9S08AW模/数转换模块
S08AW60AW微控制器内部集成一个8位/10位精度可选的逐次逼近式ADC模块,使用时无需像51系列单片机那样再扩展片外的A/D转换器。本文利用A/D转换模块将输入的模拟量电压值转换为数字量进而来控制电机转速。其原理如图4所示,通过改变输入的电阻值来改变控制器输出的PWM值,因此这里的电位器相当于电机的调速踏板。
图4 模数转换原理图
S08AW60微控制器ADC模块的功能可由ADC模块寄存器控制,通过软件设置寄存器可完成模数转换过程。当转换结果传输到结果寄存器ADC1R中时,转换完成,可通过读ADC1R寄存器得到转换值。通过软件编程用查表的方法查得脉宽值, 当查表没有所对应的脉宽值时,可找出在表中的区域,然后在区间相邻两点经线性插值运算得到对应的值。
插值运算法如下:
S为当前脉宽值;AD_Value为当前的A/D转换值;,为相邻点的脉宽;,为相邻点的A/D转换值。
根据上面的分析,模数转换的流程图如图5所示:
图5 模数转换流程图
以上介绍了MC9S08AW的定时器和模数转换器的使用,而用MC9S08AW控制直流电机的程序总体设计步骤如图6所示。
图6 总体程序设计步骤
总结:本文用高性能单片机MC9S08AW对直流电机进行精确控制,完成了软硬件的设计并通过了实验验证,由于其内部集成了多个功能模块,其控制效率比普通51单片机更高、性能也更可靠。此设计可应用与工业、家电、车辆等多个领域。