BIT第五届智能车设计手札——(二)电机驱动
0赞本来小车下半部分已经基本完成了,可是由于今天试验出了些差错,底座出了问题,所以今天就不上图了,过几天调好了之后再补上。小车的检测电路部分还没有调试完成,今天记录下直流电机的设计过程。
小车的驱动部分,实验室发了双直流电机(至今没有查到型号),一个驱动芯片L293。L293是双半桥驱动芯片,兼容TTL输入电平,输出最大电流1A,足以带动发放的直流电机。对电机的控制采用半桥驱动,如图所示。两路PWM控制一个电机,可以使其在四个象限工作。
刚开始调试的时候,PWM模块基本都正确设置,但是电机就是转不起来。因为对CodeWarrior 的PE功能太过依靠,没有像学单片机一样从对芯片的Datasheet入手,所以遇到问题不知道怎么解决。后来从Freescale的官网上发现,要完全了解568000这个系列的DSP,要同时看DSP56800E Reference Manual、56F801X Peripheral User Manual、和Device Technical Data Sheet三个PDF文档才行,他们分别讲了56800的内核、外设和电气特性。三者综合,才是完整地描述56800的特性。
从56F801X的Peripheral Reference Manual中的PWM模块可以找到这样一段话:“PWM pins outputs are in tri-state if Output Pad Enable (PAD_EN) bit in OUT register is cleared.”也就是说,想要PWM正常输出,要同时把PWMEN和PAD_EN两位同时置1。所以如果没有设置Output pad而想当然的调用PE的PWMC1_Enable()函数是达不到预期效果的。
至于步进电机的设计就更加简单,统一使用的是28BYJ48型四相八拍电机,电压为DC5V—DC12V,减速比1/64。技术参数如图。

常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A…),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。。。),八拍(A-AB-B-BC-C-CD-D-DA-A。。。)。由于步进电机在这里的作用只是使顶部旋转一圈,精度要求不是特别高,所以在这里选择双四拍方式控制。用DSP的GPIOC口控制步进电机4端,然后通过ULN2003达林顿阵列管驱动电机。
