摘要:采用dsPIC30F6010A高性能数字信号控制器,提出并实现了一种新型的集成CAN总线接口的步进电机驱动装置。根据dsPIC30F6010A芯片外设模块的参数特点,设计了PWM驱动电路、电机相电流测量电路和CAN总线收发器电路,开发了基于C语言的模块化应用程序。实际测试表明,该集成CAN总线的步进电机驱动装置可以直接接入CAN总线网络,实现了对电机运行参数和运行状态的远程控制功能。
关键词:步进电机驱动器;CAN总线;dsPIC30F6010A;PWM驱动电路;相电流测量电路
步进电机作为一种数字伺服执行元件,具有结构简单、运行可靠、定位方便等优点,在精密机械运动控制领域有着广泛的应用。控制器局域网CAN总线是德国BOSCH公司为现代汽车电控系统推出的一种多主机数据通讯总线,具有高可靠性和高实时性等突出优点,广泛应用于汽车制造和自动化控制领域,已成为国际上应用最广泛的现场总线之一。CAN总线采用具备CAN通信能力的控制设备作为智能节点,不仅极大地降低了控制系统的布线数量与成本,而且有效地提高了控制信号数据传输的准确性与灵活性。近年来随着汽车网络技术的发展,以嵌入式微控制器为核心的具有CAN总线接口的各种电控单元已经成为了研究的重点。本文基于dsPIC30F6010A高性能数字信号控制器,提出并实现了一种集成CAN总线的步进电机驱动装置,为步进电机控制单元的智能化和网络化提供了一种高集成度的一体化设计方案。
1 集成CAN总线的步进电机驱动装置系统构成
本文设计的集成CAN总线的步进电机驱动装置如图1所示,主要由dsPIC30F6010A高性能数字信号控制器、FAN7384PWM驱动电路、双H桥功率放大电路、步进电机相电流反馈电路、CAN收发器和CAN总线端口等6部分构成。
dsPIC30F6010A的通用数字I/O口接收CMD输入信号,作为步进电机控制的使能信号,该使能信号具有最高的优先级,只有当该使能信号有效时,dsPIC30F6010A才会接受CAN总线的控制指令,产生相应的PWM驱动脉冲,通过FAN7384驱动电路和双H桥功率放大电路,实现步进电机的驱动控制功能。步进电机相电流反馈电路将电机相电流信号通过采样电阻SHUNT1和SHUNT2转换为直流电压信号,由dsPIC30F6010A内部的高速A/D转换模块采样并转换为数字信号,从而实现电机相电流的精确闭环控制。dsPIC30F6010A内嵌的CAN总线模块通过CAN1RX/CAN1TX管脚与CAN收发器实现数据通讯功能。步进电机的转速设定有两个途径,一种途径是由SPD电压信号经dsPIC30F6010A的模拟量输入接口采样设定,另一种途径可以通过CAN总线通讯方式以数字量的形式直接设定。
2 硬件设计
2.1 数字信号控制器dsPIC30F6010A
本文采用美国MICROCHIP公司的高性能数字信号控制器dsPIC30F6010A作为主控芯片。该芯片的内核采用改进型的哈佛架构,工作速度最高可达30 MIPS,内嵌的DSP引擎不仅集成了两个具备可选饱和逻辑的40位宽累加器,而且包含了一个17位乘17位单周期的硬件乘法器,非常适用于高速数据处理的应用场合。该芯片内部集成了一个电机专用的PWM控制模块,该PWM模块具备4个占空比发生器和8个PWM输出引脚,分别为PWM1H/PWM1L、PWM2H/PWM2L、PWM3H/PWM3L、PWM4H/PWM4L,这8个PWM输出引脚可组合为4组互补输出的PWM引脚对,能够满足多种类型的电机控制应用要求。
dsPIC30F6010A芯片的外设非常丰富,不仅集成了高达16通道的高速10位A/D转换模块,而且还集成了2个2.0B标准的CAN总线模块,只需外接CAN收发器,就可以胜任集成CAN总线的步进电机驱动装置的硬件设计要求。
dsPIC30F6010A芯片的高速A/D转换模块具有4路采样保持器,可同时对4路模拟量电压信号进行采样,最高采样速率可达1 MHz。本设计充分发挥这一硬件优势,将步进电机相电流反馈电路和直流母线电压监视电路的电压信号接入A/D转换模块,实现了主控芯片对电机相电流信号和直流母线电压信号的同时采样功能,有效地提高了步进电机驱动装置的控制精度和响应速度。
dsPIC30F6010A芯片内嵌的CAN总线模块实现了一个完整的CAN控制器系统,该CAN模块具备2个可区分优先级的接收报文存储缓冲器和3个可指定优先级的发送缓冲器,并支持自检操作的可编程环回通讯模式,最高波特率可达1Mbps。本设计将步进电机驱动功能与CAN总线通讯功能整合为一体化设计,集成CAN总线的步进电机驱动装置不再仅是一个电机驱动器,而成为了一个智能化的电机控制单元,该控制单元可以直接接入标准的CAN总线网络,成为CAN总线上的一个智能节点,实现了步进电机的网络控制功能。
2.2 PVCM驱动与功率放大电路
FAN7384是美国FAIRCHILD半导体公司生产的一款单片高压半桥驱动集成电路,广泛用于功率MOSFET半桥自举驱动电路设计中。本装置共设计了四组结构相同的半桥驱动和功率放大电路,每一组电路都是由一个FAN7384半桥驱动器和两个FDS3992功率MOSFET构成。图2为PWM1H/PWM1L驱动与功率放大电路原理图,其他三组驱动与功率放大电路与其结构完全相同。
FAN7384具有独立的高端输入(HIN)和低端输入(LIN)通道。由于HIN/LIN管脚兼容3.3 V和5 V逻辑电平输入,所以可以直接接收dsPIC30 F60IOA芯片的PWM1H和PWM1L脉冲信号。FAN7384的高端输出(HO)和低端输出(LO)通道具备250 mA的驱动能力,可以直接驱动两个FDS3992功率MOSFET,二极管D16和电容C40构成自举充电电路,充电电流由电阻R52限定。由FAN7384半桥驱动器和FDS3992功率MOSFET构成的PWM驱动与功率放大电路只需单路15V控制电源供电,克服了常规驱动电路需要多路隔离直流稳压电源供电的缺点,并且具有高端(HO)和低端(LO)欠压锁定保护功能,大大简化了硬件电路设计。
2.3 电机相电流测量电路
图1中双H桥功率放大电路底部的SHUNT1和SHUNT2是电机两个绕组的相电流采样电阻,SHUNT1和SHUNT2电阻的取值为0.1 Ω。电机相电流测量电路如图3所示。
电流检测电阻SHUNT1上的电压信号通过R28、R29、R33、R34和C27组成的滤波电路,以差分方式馈至运算放大器MCP6024的信号输入端。M CP6024是轨到轨(Rail-to-Rail)输入/输出型运算放大器,具有低噪声、低漂移的优良特性,带宽典型值为10 MHz,完全能够满足频率为40 kHz的PWM驱动方式下的电机相电流测量电路的要求。MCP6024将IMOTOR1的输出电压幅值限定在0 V至5 V的A/D转换模块采样电压范围内,在R28=R29=R33=R34且R27=R35的前提条件下,运算放大器MCP6024的增益为:
Gain=(Rshunt1×R27)/(R28+R29) (1)
该测量电路的最大检测电流数值为:
IMAX=VREFxGain=2.5xGain (2)
2.4 CAN总线收发器电路
本设计采用MCP2551作为CAN总线收发器芯片,MCP2551是一个可容错的高速CAN总线收发器件,适用于dsPIC30F6010A内部的CAN总线模块与物理总线接口电路设计。MCP2551可为CAN总线模块提供差分收发能力,该芯片完全符合ISO-11898标准,工作速率高达1Mbps。CAN总线收发器电路如图4所示。
MCP2551的TXD管脚直接接到dsPIC30F6010A的CAN1TX信号输出端,RXD管脚直接接到dsPIC30F6010A的CAN1RX信号输入端,CANH和CANL管脚直接接入CAN总线端口,R5为终端匹配电阻。MCP2551可以通过Rs引脚选择三种操作模式:当Rs引脚电压为0V时芯片进入高速模式;当兄引脚引脚电压为5 V时芯片进入休眠模式;当Rs引脚通过外接电阻R6与0 V电压相连时则进入斜率控制模式。本设计将R6阻值设为0 Ω,MCP2551工作在高速模式下,CAN总线收发器的输出驱动具有快速的上升和下降时间,可以满足高速CAN总线的通讯速率要求。
3 软件设计
本集成CAN总线的步进电机驱动装置的软件采用C语言进行开发,应用程序包括初始化模块、模数转换模块、PWM驱动脉冲模块、电机相电流测量模块、CAN总线通讯模块。主程序流程图如图5所示。
数字信号控制器dsPIC30F60IOA上电复位后首先调用初始化模块,完成控制器通用I/O口的设置、内部高速模数转换器、电机专用PWM控制器和CAN总线控制器的初始化任务,然后进入主循环程序。在主循环程序中第一步先调用模数转换模块,读入图1中SPD电压信号并转换成步进电机的转速数据;第二步调用CAN总线通讯模块。接收上位节点的控制命令,并产生应答信号;第三步先检查电机使能信号CMD,如果该信号为有效则使能PWM驱动脉冲模块以产生步进电机驱动脉冲信号PWM1H/PWM1L~PWM4H/PWM4L,否则就禁止PWM驱动脉冲模块;第四步调用电机相电流测量模块,dsPIC30F6010A内部的高速模数转换器读入图1中IMOTOR1和IMOTOR2电压信号并转换成步进电机相电流数据,从而实现对电机相电流的精确闭环控制。
4 系统实现
本文提出的集成CAN总线的步进电机驱动装置采用模块化设计方案,分别设计了dsPIC30F6010A主控通讯电路板和PWM驱动放大电路板。该装置的最高驱动电压为80 V,适用于多种类型的步进电机和控制软件算法,PWM驱动脉冲的工作频率设计为40 kHz,以实现尽可能短的反应时间。集成的CAN总线接口实现了2.0B标准CAN协议报文的收发功能,完成了与上位计算机的通讯任务。实现的集成CAN总线的步进电机驱动装置及其通讯波形如图6所示,图6(a)和图6(b)分别是实验电路板及CAN总线通讯波形。
5 结论
基于dsPIC30F6010A高性能数字信号控制器,本文提出的集成CAN总线的步进电机驱动装置实现了CAN总线通讯电路和步进电机驱动电路一体化设计,具有系统集成度高和编程灵活的特点,不仅可对多种类型步进电机的相电流实现精确闭环控制,而且以嵌入式微控制器技术为核心,实现了从独立的步进电机驱动器到具有CAN总线通讯能力的智能控制单元的技术升级。嵌入式CAN总线接口技术和步进电机驱动技术是当前汽车电子和自动化控制领域里的共性技术,具有CAN总线接口的步进电机驱动装置可以直接接入分布式CAN总线网络,驱动装置成为了CAN总线中的智能节点,可实时接收上位节点的控制指令,对步进电机的运行参数和运行状态实施远程网络控制。