埃尔法哥哥@基于ARM STMF103的一体化步进电机驱动器设计( 二 )


埃尔法哥哥@基于ARM STMF103的一体化步进电机驱动器设计
本文插图
1.5 光电隔离电路
连接在控制芯片与驱动芯片之间的光耦隔离电路 , 主芯片负责产生驱动芯片需要的控制信号 。 当输入端为高电平时光耦中的光敏二极管导通 , 同时光敏三极管也导通 , 使对应的输出端也为高电平 。 使用了光耦隔离 , 使得驱动电路的高压电路与控制电路的低压电路完全隔离 , 互不干扰 , 提高了系统的抗干扰能力和稳定性 。
1.6 SLA7033M 驱动电路
SLA7033M 是高性能步进电机集成功率放大器 , 该芯片由参考电压电路、触发脉冲产生电路、电压比较放大电路、电流控制电路、激励信号放大电路、电动势补偿电路等组成 。 INA、Ina、INB、INb 为四个驱动信号输入端 , OUT/a、OUTa、OUT/b、OUTb 为四个驱动信号输出端 , 在输出端接二相步进电机作为负载 。 VREF 为经过 D/A 转换后的基准电压输入端 , 通过调整 D/A 的输出基准电压 , 即可调整驱动器的输出电流的大小 。 电阻 R11、R12 为电流检测电阻 , 当主控芯片检测到该电阻上的电压超过阈值时 , 重新调整输出的电流大小 , 使输出电流不能超过最大值 , 以保护驱动芯片 SLA7033M 。
埃尔法哥哥@基于ARM STMF103的一体化步进电机驱动器设计
本文插图
2 、CAN 中继器软件的设计
程序开始时先初始化各个输出端口以及各个相关的外设模块 。 程序以模块化进行设计 , 主程序只需循环检测相应的状态 , 当对应的状态满足要求时执行相应的操作 , 使得程序简洁以及实时性更强 。 当程序出现异常情况时 , 异常处理程序检查相应的异常情况 , 判断是哪些情况出现异常 , 记录相应的情况 , 同时可以把异常情况打包成数据发送到 CAN 总线 , 方便主控核心进行异常情况的分析及处理 。 无异常情况则检查是否有数据包的标志位 , 假如有数据包 , 则数据包处理程序对数据包进行分析 , 并进行相应的操作 。 数据包处理程序具有识别是发送数据包还是接收到的数据包 , 如果是发送数据包 , 则把相应的数据包经过处理生成标准报文帧格式 , 随后经过 CAN 收发器发送帧数据给主控核心;如果接收到的数据包则要对该数据包进行解析 , 按照标准报文帧格式进行提取相应的数据 , 以及对相应的数据进行处理 , 假如收到的数据里的 ID 和该设备号 ID 一致 , 表明是该设备的数据 , 即对该设备进行操作;反之 , 表明不是该设备的数据 , 则对收到的数据不处理 , 同时推出数据包处理程序 。 主程序假如没有数据包处理或者数据包处理程序完成则检查温度是否超过预设值 , 假如已经超过预设的值 , 则执行超温处理程序;假如没有超温则往下执行 。 当没有超温或者超温处理程序完成后查询电流是否超过预设值 , 假如已经超过了输出电流的预设值则执行调整输出电流程序 , 对输出电流输出调整 , 即对 D/A 的输出值进行调整 , 使输出电流减少;若没有超过输出电流的预设值则返回检查异常情况 , 程序进行循环检测 。
埃尔法哥哥@基于ARM STMF103的一体化步进电机驱动器设计
本文插图
3 、结束语
文采用了以高性能的 ARM 处理器STMF103 为一体化步进电机主控 CPU , SLA7033M 作为驱动芯片 , 将控制电路和驱动模电路集成在同一个模块上 , 减少系统中主控核心的负担 , 提高系统的实时性、可靠性 , 有一定的社会效益和广泛的推广价值 。