当前,步进电机已经在工业应用,如自动剥线机、工业机器人、雕刻机、植毛机工作台等涉及到精确定位的场合,得到广泛的应用。常用的步进电机控制系统由驱动模块和控制器模块组成。驱动模块实现功率放大,控制器模块用于产生电机转动的控制信号,上述控制方法将会大量占用控制核心的资源,影响控制系统的实时性及灵活性。本文设计的步进电机驱动器,将控制电路和驱动模电路集成在同一个模块上,减少系统中主控核心的负担,提高系统的实时性、可靠性,可以使系统设计变得更加灵活、方便。
1CAN中继器硬件的设计
1.1系统的硬件结构
本文设计的基于CAN总线的一体化两相步进电机驱动器系统框图如图1所示,包括CAN收发器L9616、MCUSTM32F103C6、光耦隔离、驱动芯片SLA7033M、温度传感器和D/A转换。CAN收发器L9616接收主控核心发送过来的帧数据包后,再把数据包发送给MCU。STM32F103C6是一体化步进电机驱动器的核心,负责对CAN收发器L9616传送过来的数据包进行解析,同时做出相应的操作,生成对应的驱动信号和转动方向;另一面MCU控制高精度D/A转换器,经D/A转换输出的电压送给驱动芯片SLA7033M,使SLA7033M输出电流恒定,同时在SLA7033M的输出端加入采样电阻,MCU实时监控SLA7033M的输出电流,当输出电流大于阈值时,关闭驱动信号,保护芯片SLA7033M;另外MCU还对加在芯片SLA7033M上面的散热器进行温度实时监控,当散热片上的温度超过预设值时关闭驱动信号,起保护SLA7033M的作用。MCU对SLA7033M的输出电流进行采样以及对温度实时监控,有效地保护了SLA7033M,使SLA7033M工作的寿命更加长,工作更加稳定。由于MCU输出的信号属于弱的信号,而SLA7033M输出的信号是大电压大电流信号,为了确保MCU正常工作,采用光耦隔离,使控制信号与驱动信号分离,同时控制和驱动两部分的电路采用独立的电源供电,它们之间互不干扰,信号通过光耦传输。
1.2STM32F105微控制器
STM32F105是基于最新ARMV7.0内核Cortex-M3的32位闪存微控制器,这是一款专为嵌入式应用而开发的内核,带有用于电机控制的PWM输出,特别适合在电机控制场合的应用。STM32F10内置CAN收发FIFO,可以降低采用外置CAN控制器的成本以及提高系统的稳定性。STM32F103具有较大容量的FLASH和RAM,以及丰富的外设,因此采用STM32F103作为主控芯片可以方便地实现CAN数据收发、A/D转换、D/A转换、PWM输出等。
1.3CAN收发电路
CAN收发器采用ST公司的L9616。终端匹配电阻采用跳线的方式供用户安装时自行选择。在差分信号线上并上瞬态抑制二极管,可以起到对L9616的I/O的保护作用。光电隔离部分采用最高转换速率可达10Mbit/s的高速光耦6N137,电阻R2、R5起到限流作用。VCC5_1是由DC/DC隔离电源单独产生的5V电压。
1.4电源电路
步进电机采用5V供电。用开关稳压集成芯片LM2596代替传统的三段稳压器,仅需要极少的外围器件即可构成高效的稳压电路且不需加散热片。LM2576产生的5V电压供给电机驱动芯片,主控CPU工作所需的3.3V电压由LDO芯片LM1117-3.3产生。CAN收发电路单独供电的DC/DC电路采用隔离电源模块,使驱动器和和CAN总线接口实现完全的电气隔离。