电子说
产品简述
MS35229N 是一款 12V 静音步进电机驱动芯片,工
作电压最大可以到 15V,输出 RMS 电流 1A。芯片内置
256 细分的微步进驱动技术,静音与低振动特性适合于
各种精微控制系统。
芯片集成通用的 I 2C 接口以及内部指令缓存器,使
得控制电机运行得更加流畅。输入逻辑电平兼容 3.3V/5V
的标准工业接口。
主要特点
◼步进电机驱动,支持全步进到最高
256 微细分步进
◼静音、低振动
◼I 2C 串行总线通信控制
◼具有指令缓存功能,电机按照当前指
令转动时,预存下一条指令
◼欠压保护、限流保护、过流保护、
过温保护
◼待机保持电流可调节
◼内置系统时钟,省去外部时钟
◼省电休眠模式下电流<1μA
◼QFN16 封装
应用
◼机器人,精密工业设备
◼摇头机
◼监控摄像机
◼静音对焦系统
产品规格分类
内部框图
管脚图
管脚说明
极限参数
芯片使用中,任何超过极限参数的应用方式会对器件造成永久的损坏,芯片长时间处于极限工作
状态可能会影响器件的可靠性。极限参数只是由一系列极端测试得出,并不代表芯片可以正常工作在
此极限条件下。
电气参数
VM=12V 。注意:没有特别规定,环境温度为TA= 25°C ±2°C。
如有需求请联系——三亚微科技 王子文(16620966594)
功能描述
MS35229N 通过 I 2C 总线去控制电机的转动。步进电机控制器可以选择全步进 1/256 的步进模式。
1. I 2C 总线接口
芯片接口为 I 2C,SDA 是一个双向数据线,SCL 是时钟输入。图 1 和 2 分别显示了一个写和一个读
周期的信号时序。当时钟信号为高电平时,SDA 有一个下降沿作为起始条件;时钟信号为高电平时,
SDA 的上升沿作为结束条件。SDA 的其它所有变化都发生在时钟信号为低电平时。
MS35229N 的通信中,在起始条件后,由 7 位芯片地址和 1 位读/写位(高为读,低为写)组成的
第一个字节(ADDR)被发送到 MS35229N。7 位地址的第 1 位、第 2 位由 ADDR1 和 ADDR0 的高低电平控
制,末 5 位为固定的 10000。地址的第 8 位是读/写位。如果是一个【写】操作,接下来的一个字节包
含寄存器地址指针(MAP),用来选择的所要读或写的寄存器。如果是个【读】操作,将输出 MAP 所指
的寄存器的内容。MAP 自动递增,寄存器的数据将会依次输出。每一个字节由一个应答位(ACK)分隔开。
在每次输入字节读取后 MS35229N 输出应答位,每一个传输的字节后微控制器发送应答位给
MS35229N。
注意读操作时不能设置 MAP,因此需要一个终止的写操作作为一个头码。如图 2 所示,在作为
MAP 的应答后发送一个停止条件,则写操作终止。
2. 寄存器说明
寄存器地址指针(MAP)。MAP 有 8 位字长,它包含读和写的控制端口地址,在每个控制端口读或
写完成后自增。MAP 位如图 1 或 2 所示。
寄存器表如下
注:
1. 电机框图中的 LOGIC 部分,分为通信模块和功能模块。通信模块负责 I 2C 通信,功能模块负责电机
运行控制。
2. 在上电复位之后,通信和功能模块的寄存器都被置为初始态,0x07 初始值 0xFF,0x08 初始值 0x0F。
3. 通过 cmd_nRST 复位后,仅功能模块的寄存器被置为初始态,但是通信部分的寄存器并不会被复位。
此时读取寄存器仍会读到之前的配置值。
4. 写入 寄存器的数据在其所属地址(的数据)写入完成后确定。
5. msMode、rt、freq 和 pulse 寄存器有缓存寄存器,除这些之外的寄存器组则没有。
6. FLAG 管脚为开漏输出,上拉后默认输出高电平。当以下任一情况发生:
① 一组配置运行结束。
② 欠压事件发生。
③ 过流事件发生。
此时,FLAG 管脚会输出一个宽度为 t 的低电平脉冲信号,可用于通知主控。脉冲宽度 t 计算如下:
t(μs)=127÷fCLK(MHz)
2.1 cmd_nRST
注:1. 置 0 时,功能模块 寄存器被置为初始态。在开始配置其他寄存器前需要首先将此位设置为 1。
2. 置 0 时,输出端口将呈高阻状态,同时部分内部模块将被关闭以降低待机功耗,实现‘指令省电’。
注:
1. 初始态仅在释放复位信号(上电复位或 cmd_nRST 指令复位)后存在,请勿将 Cycle 设置到禁用范围。
2. fCLK为提供给主逻辑的时钟频率,此处以外接时钟 24MHz 为例。
例:cycle = 0x02EE
脉冲频率 = 24e6/(750×16)=2000[pps]
如有需求请联系——三亚微科技 王子文(16620966594)
当电机运行结束后,若运行电流配置值>保持电流配置值,则每 10ms 当前电流衰减 1 个单位,
(amp 满幅值 127 单位)。若保持电流配置值>运行电流配置值,运行结束后电流不衰减。
注:运行结束指电机指令停止且缓存器内无缓存的配置。
2.17 ocpClr, otsClr
ocpClr 和 otsClr 分别用于清除过流事件缓存和过温事件缓存。
当发生过流事件或过温事件,可以从这两位寄存器中读取到【发生过】的记录,不代表一直在发
生。向对应的标识位写 1,可将其置为 0。
2.18 pulseRecord, recordRev
pulseRecord 用于记录已运行的 pulse 数,默认值为 0x0000。当 recordRev = 0(初始态),运行 rt
= 0 的配置时正向记录(累加),rt = 1 时逆向记录(累减),记满 0xFFFF 后若继续累加则翻转为
0x0000,0x0000 后若继续累减则翻转为 0xffff。
recordRev 用于变更记录极性,recordRev = 1 时, rt = 0 为逆向记录,rt = 1 为正向记录。向
pulseRecord(0x0A, 0x0B 地址)直接写入可变更当前记录值,当前记录值在 0x0B 地址写入完成后变更
(仅写入 0x0A 不会变更,但对 0x0A 地址的写入会被保持,在下一次 0x0B 地址写入后生效)。在桥驱
关闭时(pdEN = 0 或过流事件、过温事件发生时),不会记录运行的 pulse 数。
2.19 缓存功能
MS35229N 拥有 1 组 Cache 寄存器,可在电机正在运行时暂时寄存输入的指令,电机执行完当前
任务之后会接续按照寄存的指令继续运行。
步进电机的运行指令(msMode, cycle, rt, pulse)在 confLoad 写入后确定。当前指令运行时,再次载
入的配置会暂存于 Cache 寄存器,在当前指令完成后被接续。Cache 中已经寄存配置时仍可接收后载
入的配置,新输入的配置会覆盖原有配置。
在写入 confLoad 时,需要避免配置载入时刻与上一配置完成时刻同时发生。建议通过中断检测
FLAG 引脚或者寄存器读取 motorRunning 位,待电机停止运行时,再对 confLoad 写 1 载入。如实际应
用中,确实需要提前对 confLoad 进行操作,那么需要确保在电机运行结束前完成操作。
5. 芯片的步数计数功能
芯片内置一个计数器,当正转时增量计数,反转时减量计数,客户可以通过读此计数器的值来确
定位置。也可以通过比较此计数器与实际发送的值,来计算由于欠压、过流、过温等异常导致的丢步。
详情见寄存器 pulseRecord、 recordRev 的描述。
6. 芯片的时钟
芯片内置集成一个 OSC 时钟振荡器,频率为 20MHz。此时钟的波动范围约±3%。
典型应用图
封装外形图
QFN16
——爱研究芯片的小王
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !