基于ACM32 MCU的电动滑板车方案介绍

2024-03-08 14:44

本文主要是介绍基于ACM32 MCU的电动滑板车方案介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    随着智能科技的快速发展,电动滑板车的驱动系统也得到了长足的发展。国内外的电动滑板车用电机驱动系统分为传统刷式电机和无刷电机两种类型。其中,传统的刷式电机已经逐渐被无刷电机所取代,无刷电机的性能和寿命都更出色,已成为电动滑板车驱动系统的主流。

     根据QYRESEARCH数据显示,2020年,全球电动滑板车产量为425万辆。预计2027年产量达到1001万辆,2021-2027年复合增长率12.35%。2020年全球总产值达12.1亿美元。全国范围内,2020年中国的产量达364万辆,占全球电动滑板车总产量的85.52%;其次北美产量达53万辆,占全球的12.5%,电动滑板车行业总体继续保持稳健增长,协调发展的良好态势,欧美日大部分从中国进口电动滑板车。

01    ACM32F403系列芯片规格介绍

•  采用M33内核,主频最高可达180MHz,处理性能最高可达248DMIPS(基于Dhrystone 2.1测试)

•  工作电压范围:1.7V~3.6V

•  eFlash:256KB/512KB

•  SRAM:96KB/192KB

•  高速高精度ADC,12位分辨率,2Msps

•  高级定时器1个,支持六步 PWM 输出,32位通用计时器1个,16位通用计时器6个

•  通讯接口丰富:UART×4,LPUART×1,SPI×3,I2C×2,I2S×1,CAN×2,USBFS×1

•  封装类型丰富:QFN32/LQFP48/LQFP64/LQFP100

•  车规级工作范围:-40℃~125℃

•  工业级ESD标准:4000V(HBM)

•  内建 AES、 CRC、 TRNG等算法模块,支持数学硬件加速

02   电动滑板车驱动方案

    我们推荐的电动滑板车方案采用ACM32F403作为主控芯片,主要电力来源为24V锂电池组,通过电源转换,为控制系统供电,同时也提供MOS的门级驱动。通过HALL传感器获取轮毂电机的位置信息以及相位,通过高速ADC采样相关电流。

03   有感FOC电机控制

      系 统 采 用 磁 场 导 向 控 制 (Field-oriented Control,FOC) 算法,FOC算法的实质是运用坐标变换将三相静止坐标系下的电机相电流转换到相对于转子磁极轴线静止的旋转坐标系上,通过控制旋转坐标系下的矢量大小和方向达到控制电机目的。

具体控制过程如下:

(1)设置iq_Ref的值来控制电机转矩输出,将iq_Ref设置为0

(2)测量三相定子电流ia、ib、ic。参照结合基尔霍夫定律:ia+ib+ic=0因此,实际上只要测量A相和B相定子电流ia和ib,C相定子电流就能够借助上面的公式计算出来

(3)将测得的三相定子电流借助Clarke变换变换到二相静止坐标系α-β坐标系中,得到iα和iβ

(4)借助位置编码器检测转子角度,得到电角度θ。如下图,d-q旋转坐标系相对于α-β静态坐标系逆时针旋转角度θ,得到id,iq。在稳态条件下,Id和Iq是常数

(5)将id和iq的实际值与各自信号的参考值id_Ref和iq_Ref进行比较得到误差信号。将误差信号输入PI控制器,得到应当需要施加在电机上的电压矢量Vd和Vq

(6)借助新的电角度,将PI控制器输出的电压矢量Vd和Vq借助Park逆变换到静止参考系α-β,求出正交电压值Vα和Vβ

(7)Vα和Vβ经Clarke3逆变换得到三相定子应当需要施加的电压值Va、Vb、Vc

(8)3相电压值Va、Vb、Vc可用于计算新的PWM占空比值,并借助SVM机制更新各相PWM输出,生成所需的电压矢量。这个过程也称为SVPWM

(9)参照结合控制对象当前状态更新参考值iq_Ref,然后返回1)开始新一轮调整

  结 语  

             随着社会环保意识的提高和城市交通拥堵问题的加剧,电动滑板车作为一种绿色、便携、省钱的交通工具,将会越来越受欢迎。各国向人们提供旅游补贴,提倡绿色旅游,中国对欧洲的自行车和电动滑板车出口猛增。中国有一个完整的产业链,从零部件到整车装配,电动滑板车的未来仍是一个不断升温的过程。

这篇关于基于ACM32 MCU的电动滑板车方案介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/787433

相关文章

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

MySQL中闪回功能的方案讨论及实现

《MySQL中闪回功能的方案讨论及实现》Oracle有一个闪回(flashback)功能,能够用户恢复误操作的数据,这篇文章主要来和大家讨论一下MySQL中支持闪回功能的方案,有需要的可以了解下... 目录1、 闪回的目标2、 无米无炊一3、 无米无炊二4、 演示5、小结oracle有一个闪回(flashb

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4