新闻中心

EEPW首页>嵌入式系统>设计应用> 基于CAN总线的一体化两相步进电机驱动器的设计

基于CAN总线的一体化两相步进电机驱动器的设计

作者: 时间:2012-08-04 来源:网络 收藏

1.6 SLA7033M驱动电路
SLA7033M是高性能集成功率放大器,该芯片由参考电压电路、触发脉冲产生电路、电压比较放大电路、电流控制电路、激励信号放大电路、电动势补偿电路等组成。INA、Ina、INB、INb为四个驱动信号输入端,OUT/a、OUTa、OUT/b、OUTb为四个驱动信号输出端,在输出端接二相作为负载。VREF为经过D/A转换后的基准电压输入端,通过调整D/A的输出基准电压,即可调整驱动器的输出电流的大小。电阻R11、R12为电流检测电阻,当主控芯片检测到该电阻上的电压超过阈值时,重新调整输出的电流大小,使输出电流不能超过最大值,以保护驱动芯片SLA7033M。

d.JPG

2 CAN中继器软件的设计
程序开始时先初始化各个输出端口以及各个相关的外设模块。程序以模块化进行设计,主程序只需循环检测相应的状态,当对应的状态满足要求时执行相应的操作,使得程序简洁以及实时性更强。当程序出现异常情况时,异常处理程序检查相应的异常情况,判断是哪些情况出现异常,记录相应的情况,同时可以把异常情况打包成数据发送到,方便主控核心进行异常情况的分析及处理。无异常情况则检查是否有数据包的标志位,假如有数据包,则数据包处理程序对数据包进行分析,并进行相应的操作。数据包处理程序具有识别是发送数据包还是接收到的数据包,如果是发送数据包,则把相应的数据包经过处理生成标准报文帧格式,随后经过CAN收发器发送帧数据给主控核心;如果接收到的数据包则要对该数据包进行解析,按照标准报文帧格式进行提取相应的数据,以及对相应的数据进行处理,假如收到的数据里的ID和该设备号ID一致,表明是该设备的数据,即对该设备进行操作;反之,表明不是该设备的数据,则对收到的数据不处理,同时推出数据包处理程序。主程序假如没有数据包处理或者数据包处理程序完成则检查温度是否超过预设值,假如已经超过预设的值,则执行超温处理程序;假如没有超温则往下执行。当没有超温或者超温处理程序完成后查询电流是否超过预设值,假如已经超过了输出电流的预设值则执行调整输出电流程序,对输出电流输出调整,即对D/A的输出值进行调整,使输出电流减少;若没有超过输出电流的预设值则返回检查异常情况,程序进行循环检测。

e.JPG

3 结束语
本文采用了以高性能的ARM处理器STMF103为一体化主控CPU,SLA7033M作为驱动芯片,将控制电路和驱动模电路集成在同一个模块上,减少系统中主控核心的负担,提高系统的实时性、可靠性,有一定的社会效益和广泛的推广价值。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭