0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CW32L011电机驱动控制开发板-软件

mingming8756 ? 来源:mingming8756 ? 作者:mingming8756 ? 2025-08-13 10:44 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.修改工程目录 (个人习惯)

源文档是这样目录

wKgZPGib-qSAbbKSAABcnOclEw4485.pngwKgZPGib-qSAYk_EAAA_Ffu5AjQ136.png

wKgZO2ib-qSATxHLAABcnOclEw4944.png

整改后的目录

wKgZO2ib-qSAOj3BAACGu1RmklA853.png

2.使用的工具 keil 作为编译器 vscode 作为浏览和编辑器

3.软件工程分析

wKgZO2ib-qSAB1FYAADx7C2T63A581.png

4.工程文件分析

1)BLDC-MOTOR文件夹里面

①compu采样文件

// 用于采集速度样本数据

void SampleSpeed(void);

// 用于采集开环电流相关样本数据

void SampleOI(void);

// 用于采集电流样本数据

void SampleI(void);

// :用于采集电压样本数据

void SampleV(void);

②control控制文件

// 检查电机是否满足启动条件(如电源信号传感器等)

void MotorStartCheck(void);

// 控制电机启动前的延时(如软启动、防止瞬时电流过大)

void MotorStartDealy(void);

// 执行电机开环启动操作(如PWM输出、继电器吸合等)

void MotorStartOPEN(void);

// 电机运行 开环 :维持电机正常运行(如速度调节、电流控制等)

void MotorRunOPEN(void);

// 控制电机停止(如关闭PWM、刹车、自由停车等)

void MotorStop(void);

// 检测到电机异常(如过流、堵转、温度过高)时执行

void MotorError(void);

// 当错误超过阈值(如多次重启失败)时执行保护动作

void MotorErrorOver(void);

// 等待启动条件 : 信号(如按键、通信指令)以允许电机启动

void WaitStart(void);

// EN 检查电机使能信号是否有效(如硬件使能引脚状态)

void ENCheck(void);

③global.参数文件 各种参数的初始化 和系数校准

wKgZO2ib-wuAVAe-AACeSSz7Ogc545.pngwKgZPGib-x2AL1iVAACigYQy_Lc871.png

④init初始化文件

以名字为准顾名思义就是各种初始化包含主控内部rcciogpio电机pwmadc等操作

⑤MOTOR 电机文件

void PWMtimer_init(void);// PWM 定时器初始化函数 设置 PWM 频率、占空比、死区时间等

void Halltimer_init(void);//霍尔传感器定时器初始化 计算转速/位置

void Commutation(unsigned int step,unsigned int PWM_ON_flag);//电机换相控制函数

void UPPWM(void);// 更新 PWM 占空比函数

unsigned char HALL_Check(void);// 霍尔信号检测函数

void Hall_init(void);// 霍尔传感器初始化函数 感觉这个应该在霍尔函数里面吧

void HALL_MOTOR_START(void);// 霍尔启动电机函数

void MOTOR_STOP0(void);// 电机制动/停止函数

⑥sensorless传感器文件 现在这个应该就是无感里面的反电动势输入初始化了

extern void SENSORLESS_TIM_Config(void);///定时器初始化函数好像不用加全局声明吧?

extern unsigned char Sensorless_START(void);//传感器启动

2)USER文件夹里面之后主函数文件还有cw的中断文件以及启动文件

我添加了一些注释进去

循环之前的初始化部分

初始化电位器的斜率

初始化相关外设

检测电流偏执

上电检测电位器是否归零

wKgZO2ib-qSAai7IAACeyhMMPO0272.png

20mS采集一次速度设定值,并检查传感器

开环电流检测

wKgZO2ib-qSAJObaAAA4_IHWN_o312.png

每100ms做一次电流检测和电压检测做做一次速度计算

wKgZO2ib-qSAYP9uAACHb2mySFA440.png

故障判断是实时判断的这个优先级最高了

wKgZPGib-qSAKUJDAAAmyQniSDQ298.png

接下来是任务调度包含启动开环启动闭环启动开环转闭环转停止模式刹车模式错误模式

wKgZPGib-qSANUP8AACOvUYzfmk082.png

中断函数计时器任务函数时间调度就是用来各个任务调度的时间的恩

wKgZO2ib-qSATKvaAADIaZjOAiQ812.png

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电机驱动
    +关注

    关注

    60

    文章

    1327

    浏览量

    87997
  • CW32
    +关注

    关注

    1

    文章

    257

    浏览量

    1315
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CW32L011电机开发板控制教程

    CCW32L011电机驱动开发评估:https://oshwhub.com/beauty_light/
    的头像 发表于 08-14 13:22 ?42次阅读
    <b class='flag-5'>CW32L011</b><b class='flag-5'>电机</b><b class='flag-5'>开发板</b><b class='flag-5'>控制</b>教程

    CW32L011电机驱动板实测,接上松下的三相伺服电机转起来

    最近我测评了一款由武汉芯源半导体推出的CW32L011电机驱动,它专为驱动无刷无感电机设计,在
    发表于 08-13 14:14

    CW32L011电机驱动电机控制开发板-硬件1

    CW32L011电机驱动电机控制开发板-硬件介绍 后面有
    的头像 发表于 08-12 14:20 ?332次阅读
    <b class='flag-5'>CW32L011</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b><b class='flag-5'>开发板</b>-硬件1

    开源电机驱动,免费学习

    CW32L010_BLDC_ESC_Driver电机驱动开发板 项目与资料开源项目详细开源资料可点击复制链接转到浏览器: CW32L010_
    的头像 发表于 07-01 14:51 ?246次阅读
    开源<b class='flag-5'>电机</b><b class='flag-5'>驱动</b>,免费学习

    CW32L010 ESC Driver 电机控制套件快速上手指南

    使用电位器调速的工程。 使用 Keil 打开工程,编译后,通过SWD接口将生成的固件烧录到 CW32L010 开发板中。 第四步:焊接电机与电容 接下来,我们将无刷电机和滤波电容焊接
    发表于 06-23 22:50

    CW32L010 ESC Driver 电机控制套件使用

    的PCB图和原理图上的烧录引脚,连接DAP-Link,即可将程序烧录到开发板上。 3、使用效果 电机的运行效果如下。 4、总结 CW32L010 电机
    发表于 06-13 18:12

    新品发布 | 96MHz主频 M0+内核低功耗单片机CW32L011产品介绍

    CW32L011是基于 eflash 的单芯片低功耗微控制器,集成了主频高达 96MHz的 ARM?Cortex-M0+内核、高速嵌入式存储器(多至 64K字节 FLASH 和多至 6K 字节
    发表于 05-07 15:55 ?4988次阅读
    新品发布 | 96MHz主频 M0+内核低功耗单片机<b class='flag-5'>CW32L011</b>产品介绍

    新品发布 | 96MHz主频 M0+内核低功耗单片机CW32L011产品介绍

    基于华虹半导体90nm ULL eFlash工艺打造的CW32L011系列,以更具竞争力的成本为用户提供卓越性能。这一经过市场验证的制程方案,既确保了芯片的稳定可靠性,又大幅降低了整体系统成本,是价格敏感型应用的理想选择,欢迎广大用户朋友申请样品评测!
    的头像 发表于 05-07 14:24 ?565次阅读
    新品发布 | 96MHz主频 M0+内核低功耗单片机<b class='flag-5'>CW32L011</b>产品介绍

    北京迅为RK3568开发板OpenHarmony系统南向驱动开发内核HDF驱动框架架构

    北京迅为RK3568开发板OpenHarmony系统南向驱动开发内核HDF驱动框架架构
    的头像 发表于 03-11 14:13 ?1191次阅读
    北京迅为RK3568<b class='flag-5'>开发板</b>OpenHarmony系统南向<b class='flag-5'>驱动</b><b class='flag-5'>开发</b>内核HDF<b class='flag-5'>驱动</b>框架架构

    迅为RK3568开发板驱动指南Linux中通用SPI设备驱动

    迅为RK3568开发板驱动指南Linux中通用SPI设备驱动
    的头像 发表于 01-23 11:02 ?2965次阅读
    迅为RK3568<b class='flag-5'>开发板</b><b class='flag-5'>驱动</b>指南Linux中通用SPI设备<b class='flag-5'>驱动</b>

    dsPIC33EDV64MC205电机控制开发板用户指南

    电子发烧友网站提供《dsPIC33EDV64MC205电机控制开发板用户指南.pdf》资料免费下载
    发表于 01-21 14:34 ?10次下载
    dsPIC33EDV64MC205<b class='flag-5'>电机</b><b class='flag-5'>控制</b><b class='flag-5'>开发板</b>用户指南

    CW32L010 Motor Control Driver无刷电机驱动上手体验

    CW32L010无刷电机驱动开发板上手体验
    的头像 发表于 12-26 09:26 ?1194次阅读
    <b class='flag-5'>CW32L</b>010 Motor Control Driver无刷<b class='flag-5'>电机</b><b class='flag-5'>驱动</b><b class='flag-5'>板</b>上手体验

    方案介绍|CW32L010安全低功耗MCU:驱动高速风筒新力量

    ,适合大规模生产?。 CW32L010高速风筒应用方案概述 1、电机控制CW32L010通过PWM信号精确控制
    发表于 12-10 09:57

    基于CW32L010F8P6的电机驱动简易测试

    基于CW32L010F8P6的一款开源电机驱动,可驱动无刷电机(无感或有感),直流
    的头像 发表于 11-19 09:38 ?1240次阅读
    基于<b class='flag-5'>CW32L</b>010F8P6的<b class='flag-5'>电机</b><b class='flag-5'>驱动</b><b class='flag-5'>板</b>简易测试

    电机控制方案开发流程

    电机控制应用广泛,电机控制软件方案核心是MCU,功率器件、驱动器件;本文介绍
    的头像 发表于 10-12 16:36 ?1932次阅读
    <b class='flag-5'>电机</b><b class='flag-5'>控制</b>方案<b class='flag-5'>开发</b>流程