基于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

相关文章

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

MySQL容灾备份的实现方案

《MySQL容灾备份的实现方案》进行MySQL的容灾备份是确保数据安全和业务连续性的关键步骤,容灾备份可以分为本地备份和远程备份,主要包括逻辑备份和物理备份两种方式,下面就来具体介绍一下... 目录一、逻辑备份1. 使用mysqldump进行逻辑备份1.1 全库备份1.2 单库备份1.3 单表备份2. 恢复

redis中session会话共享的三种方案

《redis中session会话共享的三种方案》本文探讨了分布式系统中Session共享的三种解决方案,包括粘性会话、Session复制以及基于Redis的集中存储,具有一定的参考价值,感兴趣的可以了... 目录三种解决方案粘性会话(Sticky Sessions)Session复制Redis统一存储Spr

SpringBoot实现虚拟线程的方案

《SpringBoot实现虚拟线程的方案》Java19引入虚拟线程,本文就来介绍一下SpringBoot实现虚拟线程的方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录什么是虚拟线程虚拟线程和普通线程的区别SpringBoot使用虚拟线程配置@Async性能对比H