基于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中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

JSR-107缓存规范介绍

《JSR-107缓存规范介绍》JSR是JavaSpecificationRequests的缩写,意思是Java规范提案,下面给大家介绍JSR-107缓存规范的相关知识,感兴趣的朋友一起看看吧... 目录1.什么是jsR-1072.应用调用缓存图示3.JSR-107规范使用4.Spring 缓存机制缓存是每一

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

利用Python实现可回滚方案的示例代码

《利用Python实现可回滚方案的示例代码》很多项目翻车不是因为不会做,而是走错了方向却没法回头,技术选型失败的风险我们都清楚,但真正能提前规划“回滚方案”的人不多,本文从实际项目出发,教你如何用Py... 目录描述题解答案(核心思路)题解代码分析第一步:抽象缓存接口第二步:实现两个版本第三步:根据 Fea

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

MySQL精准控制Binlog日志数量的三种方案

《MySQL精准控制Binlog日志数量的三种方案》作为数据库管理员,你是否经常为服务器磁盘爆满而抓狂?Binlog就像数据库的“黑匣子”,默默记录着每一次数据变动,但若放任不管,几天内这些日志文件就... 目录 一招修改配置文件:永久生效的控制术1.定位my.cnf文件2.添加核心参数不重启热更新:高手应

Java中 instanceof 的用法详细介绍

《Java中instanceof的用法详细介绍》在Java中,instanceof是一个二元运算符(类型比较操作符),用于检查一个对象是否是某个特定类、接口的实例,或者是否是其子类的实例,这篇文章... 目录引言基本语法基本作用1. 检查对象是否是指定类的实例2. 检查对象是否是子类的实例3. 检查对象是否