AMEYA360:纳芯微高集成单芯片SoC如何高效智能控制车载步进电机?

news2024/11/15 4:41:48

 随着现代汽车电子技术的快速发展,步进电机作为一种精确且可靠的执行元件,在汽车电子系统中的应用日益广泛。为了实现车载步进电机应用的精确控制,纳芯微推出了集成LIN和MOSFET功率级的单芯片车用小电机驱动SoC——NSUC1610,可以帮助客户实现安全可靠的车载电机控制。

  本文将结合步进电机的结构与驱动方法,重点介绍基于NSUC1610的步进电机控制原理及其实际应用

  步进电机结构及其驱动方法

  与人们熟知的大部分电机一样,步进电机的结构也是由定子和转子组成。转子由轴承、铁芯、磁钢等构成。转子铁芯带有齿轮,是步进电机单部步距的行程;定子是由铁芯、定子绕组和支撑结构构成。

  步进电机结构

  根据绕组方式,步进电机主要分为两大类:一类是单极性步进电机,它是由带中心抽头(公共线)的单绕组组成,其电流均由1、2、3、4四根线的相线流入中心抽头公共线,因此电流方向是单向的。另一类是双极性步进电机,由没有中心抽头的绕组构成,其电流方向是双向的。

  步进电机的分类

  单极性步进全步运转示意图

  单极性步进电机和双极性步进电机的驱动方式不尽相同,上图中单极性步进电机的A、B、C、D分别是两相四线,5为抽头的公共线。在驱动电机全步运行时,步骤如下:

  第一步:

  A相通电,B、C、D相不通电,A相产生磁场,且磁极是S极,吸引转子的N极;

  第二步:

  A、B相全部通电且电流相同,产生相同的磁极,两个S极磁场矢量合成,吸引转子向A、B相之间旋转;

  第三步:

  B相通电,A相断电,B相产生磁场,且磁极是S极,吸引转子的N极;

  第四步:

  B、C相通电且电流相等产生相同的磁性,两个S极磁场矢量合成,即可吸引转子向BC相之间旋转。

  依次类推五六七八步,使整个步进电机旋转起来。

  双极性步进全步运转示意图

  双极性步进电机的驱动是直接驱动A+、A-、B+、B-两相四根线来实现运转的。步骤如下:

  第一步:

  A相通电,B相不通电,A相产生磁场且A+磁极是S极,A-磁极是N极,吸引转子的N极至A+,S极至A-;

  第二步:

  A、B相全部通电且电流相同,产生相同的磁极,两个S极的N极磁场矢量合成,吸引转子N极向A+、B+相之间旋转;

  第三步:

  B相通电,A相断电,B相产生磁场且磁极是S极,吸引转子的N极至B+;

  第四步:

  B相通电,A相断电且电流相等,产生相同磁性,两个S极磁场矢量合成,吸引转子N极,向B+、A-相之间旋转。

  依此类推五六七八步,整个步进电机便旋转起来。

  基于NSUC1610的步进电机控制

  纳芯微NSUC1610采用数字恒流控制技术,由PWM 100%控制每个周期的电流输出,实现对输出电流的精确调节。这意味着,在输出电流未达到设定电流值之前,PWM输出on,一旦达到设定电流值便输出off;如果在输出off之后的输出电流低于设定值,就会在下一个周期重新输出高电平,继续增加输出电流,以便在PWM输出off时使电流及时衰减至设定值。

  硬件电流控制

  NSUC1610的电流控制采用三种衰减方式,以适应不同类型和需求的步进电机。第一种是慢衰减(slow decay)方式,打开电流输出时,上桥臂输出PWM波,下桥臂输出常高;关闭电流时,关闭上桥臂,下桥臂保持常高,通过MOSFET的体二极管实现泄放。这种方式是将电流的电能转化为热能,但泄放能力有限。

  异步慢衰减

  第二种是快衰减(fast decay)方式,打开电流输出时,上下桥臂均输出PWM波;关闭电流输出时,通过打开反向的上下桥臂,直接将能量泄放至电源充电,此时泄放能力较大。

  同步快速衰减

  第三种是混合衰减(mix decay)方式,它结合了前两种方式,一段时间采用慢衰减方式,一段时间采用快衰减方式,并调控两者的时间比例。

  至于具体采用哪一种衰减方式来衰减电流,需要根据电机的电感参数及电机的转速等合理选择。

  混合衰减

  在采用NSUC1610驱动双极性步进电机时,只需将电机的A+、A-、B+、B-四根线直接与MOUT0、MOUT1、MOUT2、MOUT3相连,VSS、ISNS管脚直接接地,外围电路只需加一些必要的电容、电阻及二极管等被动元件,即可实现用单芯片控制双极性步进电机,同时还可以实现与LIN主机的通信,大大地提高系统的集成度和可靠性。

  基于NSUC1610的步进电机图

  从步进电机的驱动原理来看,通过给电机的两相通上交流电流即可使电机旋转。实际上,这是比较粗糙的步进电机控制方式,这种控制方式产生的电流突变点较多,转距不恒定,旋转也就不太平顺。

  为了让电机较为平顺丝滑地旋转,通常采用微步驱动方式。微步驱动方式不同于全步驱动方式,它是在8步全步中去掉了4步,插入了中间点临界电流,即0电流。通过不断类推,不断插入中间电流,即可减小电流突变,细化电机的电流变化,使之接近正弦,从而实现微步。微步的目标是产生A、B相位差90°的正弦电流。

  微步原理

  NSUC1610利用数字恒流控制实现了微步正弦电流控制,具体实现原理是采用比较器恒流控制。方法是在正端接入一个桥臂电流采样信号,负端接入一个DAC输出电压信号,在每一个微步控制期间触发固定的DAC输出。

  如果桥臂电流信号大于DAC,则打开相应的桥臂输出;如果桥臂电流小于DAC值,则关闭相应的桥臂输出,这样即可实现每一个微步期间的闭环恒流控制。在整个步进区间中,根据正弦公式改变DAC输出,即可实现电流信号的正弦输出,从而实现步进电机的微步控制。

  步进电机微步电流控制

  在电机旋转过程中,会出现一定概率的堵转而导致电机失步。为了检测电机是否出现堵转失步,可以通过测量电机的反电动势来判定。由于电机的反电动势与其转速成正比,因此需要为测量到的反电动势设定一个合理的阈值,小于设定阈值即可认为电机出现了失步。

  在整个电流控制区间,电机的反电动势大部分是不可测量的。只有当电流为0,桥臂没有导通驱动电机时,测量的两个桥臂电压才是真实反电动势。

  步进电机失速检测

  电机的启动和停止时速度为0,如果直接满速启动或停止,那么电机的启停就会很突然,出现不平顺。为了实现较为平缓的速度控制,可以采用梯形加减速的方式实现位置控制。由于速度控制的曲线是梯形,位移曲线就是S型。从图中可以看到,电流波形在加速减速阶段较为稀疏,而在匀速阶段较为密集。一般步进电机停止前,会有一段大的稳定电流,旨在防止电机转到目标位置时出现过冲;接着进入hold状态,利用一个小的hold电流可使扭矩保持不变。

  步进电机位置控制

  更高效智能的车载步进电机控制

  通过采用数字恒流控制技术,NSUC1610实现了对步进电机电流的精确调节,以适应不同类型和需求的步进电机。NSUC1610还支持微步驱动方式,使步进电机的旋转更加平顺丝滑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1966459.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全面掌握VS Code:提升开发效率的终极指南

Visual SCode Visual Studio Code(简称VS Code)是一款由微软开发的免费、开源且跨平台的代码编辑器。它支持多种编程语言,通过其强大的扩展库,可以满足各种开发需求。本教程将详细介绍如何从安装到高级使用,帮助你充分…

降低Anki对C盘空间占用的四种方法

Anki安装后,笔记中所用到的各种媒体和资源文件默认保存在C盘,例如我的电脑上是保存在“C:\Users\asus\AppData\Roaming\Anki2”,其中asus是我电脑的登录用户名。随着笔记收集越来越多,对C盘的占用也越来越大,因此&…

5问5答!您想了解的数据采集DAQ关键指标都在这里了

1、什么是采样率,它对测量结果有何影响? 采样率是数据采集卡每秒采集数据的次数。采样率对测量结果的准确性有直接影响。如果采样率过低,可能会错过信号的重要部分,导致数据失真。 理论上根据采样定理,采样率应为信…

【C++BFS】802. 找到最终的安全状态

本文涉及知识点 CBFS算法 LeetCode802. 找到最终的安全状态 有一个有 n 个节点的有向图,节点按 0 到 n - 1 编号。图由一个 索引从 0 开始 的 2D 整数数组 graph表示, graph[i]是与节点 i 相邻的节点的整数数组,这意味着从节点 i 到 graph…

【Qwen-Audio部署实战】Qwen-Audio-Chat模型之对话机器人部署测试

系列篇章💥 No.文章1【Qwen部署实战】探索Qwen-7B-Chat:阿里云大型语言模型的对话实践2【Qwen2部署实战】Qwen2初体验:用Transformers打造智能聊天机器人3【Qwen2部署实战】探索Qwen2-7B:通过FastApi框架实现API的部署与调用4【Q…

02.计算器存储器的原理

02.计算器存储器的原理 目录介绍 01.什么是存储器 1.1 了解存储器是什么1.2 存储器类型 02.存储器系统设计 2.1 存储器分层设计2.2 存储器层次结构2.3 高速缓存设计思想2.4 虚拟内存访问内存 03.存储器类型 3.1 按照材质划分3.2 按芯片类型划分3.3 内存 vs CPU3.4 存储器访问…

【Yolov8】实战三:手把手教你使用YOLOv8以及pyqt搭建中医耳穴辅助诊断项目原理及模型部署

摘要 今天,学习RTMPose关键点检测实战。教大家如何安装安装MMDetection和MMPose。 实战项目以三角板关键点检测场景为例,结合OpenMMLab开源目标检测算法库MMDetection、开源关键点检测算法库MMPose、开源模型部署算法库MMDeploy,全面讲解项目…

Spring源码解析(26)之AOP的核心对象创建过程

一、前言 在上一节中我们介绍了在Spring 解析xml配置文件的时候,给我们往容器中生成了很多BeanDefinition,其中最重要的是advice对象,而advice对象最外层是用一个advisor对象包裹起来,而我们的advice对象的创建需要三个参数&#…

|迁移学习| 迁移学习详解及基于pytorch的相关代码实现

🐑 |迁移学习| 迁移学习详解及基于pytorch的相关代码实现 🐑 文章目录 🐑 |迁移学习| 迁移学习详解及基于pytorch的相关代码实现 🐑🐑 前言🐑🐑 迁移学习详解🐑🐑 迁移学…

第34篇 子程序FINDSUM求和<一>

Q:如何设计汇编语言程序求数组[1:n]的和? A:基本原理:可编写一段实现子程序FINDSUM,子程序中使用一个loop来实现数组的求和运算。子程序FINDSUM的参数N存储在内存中,主程序从该内存中将其读取到一个寄存器…

MES系统如何实现生产任务的自动或辅助调度

MES系统(Manufacturing Execution System,制造执行系统)通过一系列集成化的功能模块和智能算法,实现生产任务的自动或辅助调度。以下是MES系统实现生产任务自动或辅助调度的具体方式: 1. 生产计划与排程 计划制定&am…

【C++从小白到大牛】类和对象

目录 一、面向过程和面向对象初步认识 二、类的引入 三、类的定义 类的成员函数两种定义方式: 1. 声明和定义全部放在类体中 2. 类声明放在.h文件中,成员函数定义放在.cpp文件中 成员变量命名规则的建议: 四、类的访问限定符 【访问限…

4.2.2、存储管理-段式存储和段页式存储

段式存储 段式存储是指将进程空间分为一个个段,每段也有段号和段内地址,与页式存储不同的是,每段物理大小不同,分段是根据逻辑整体分段的. 地址表示:(段号,段内偏移):其中段内偏移不能超过该段号对应的段长,否则越界错误,而此地址对应的真正内存地址应该是:段号对应的基地址段…

lambdafunctionbind

lambda匿名函数 定义: 捕捉:传值/传引用/mutable 混合捕捉,=表全普通捕捉 即使全部捕捉, 编译器实现时也不一定全部传入, 编译器只会传入要用到的变量 lambda内可使用的变量的范围 lambda内只能用捕捉对…

Linux gcc day 9

cpu是一个只可以执行指令,不是cpu要打印而是我们要打印,然后编译成指令再给cpu,再通过操作系统进行操手 进程状态: 为什么会有这些状态? 进程的多状态,本质都是为了满足未来不同的运行场景 有那些状态&am…

linux系统的检测脚本,用于检查linux的网络配置,包括网络接口状态、IP地址、子网掩码、默认网关、DNS服务器、连通性测试等等

目录 一、要求 二、脚本介绍 1、脚本内容 2、脚本解释 (1) 检查是否以 root 用户身份运行 (2)显示脚本标题 (3)打印主机名 (4)获取网络接口信息 (5&#xff09…

React学习之props(父传子,子传父),Context组件之间的传参。

目录 前言 一、什么时候需要使用props? 二、使用 1.父传子 2.子传父 二、什么时候需要使用Context? 第一步: 第二步使用: 第一种: 第二种: 演示: 总结 前言 React学习笔记记录,pr…

python | TypeError: list indices must be integers or slices, not tuple

python | TypeError: list indices must be integers or slices, not tuple 在Python编程中,TypeError: list indices must be integers or slices, not tuple 是一个常见的错误。此错误通常发生在尝试使用非整数(如元组)作为列表索引时。本…

WSL和Windows建立TCP通信协议

1.windows配置 首先是windows端,启动TCP服务端,用来监听指定的端口号,其中IP地址可以设置为任意,否则服务器可能无法正常打开。 addrSer.sin_addr.S_un.S_addr INADDR_ANY; recv函数用来接收客户端传输的数据,其中…

游戏加速器哪个好用

对于游戏加速器,确实有很多不同的选择,每个加速器都有其独特的特点和优势。不过,我可以给你推荐一个最新上线的较受欢迎且评价较高的游戏加速器,供你参考: 深度加速器: 广泛支持:支持国内外众多…