news 2026/4/18 9:57:41

[技术讨论] 【每周分享】CW32L011直流无刷电机驱动无霍尔测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[技术讨论] 【每周分享】CW32L011直流无刷电机驱动无霍尔测试

有幸拿到了武汉芯源的CW32L011直流无刷电机驱动开发板。
产品参数:
主控MCU:CW32L011K8T6 LQFP32(7*7)
PCBA:7.4 * 11.6 cm 黑色沉金工艺
驱动能力:12~72V 800W MAX; 需要与电容\场效应管参数配合;大功率使用建议安装散热器;有配套铝合金外壳。
外接栅极驱动器FD6288驱动直流无刷电机。支持有感/无感方波/FOC驱动,可驱动400W以内的任何一款低压三相无刷直流电机。



电路板板正面为芯片等控制元件,背面为功率元件,将控制芯片(小信号)放在正面,功率元件(大功率)放在背面的布局方式,功率元件是主要的热源,这种布局非常有利于散热。将发热大户(功率元件)独立出来,防止它们的热量直接传导给对温度敏感的控制芯片(如MCU、精密运放),从而保证控制部分的性能和寿命。主要的发热元件提供了最短、最高效的散热路径




CW32L011就最小系统,包括电源输入,电源去耦/滤波电容,复位电路,时钟电路,程序下载与调试接口。可以实现换向,调速,开关使能等控制



栅极驱动器外围电路,栅极驱动器用的是FD6288T,这是一款专为高压、高速应用设计的三相半桥栅极驱动芯片,主要用于驱动MOSFET和IGBT,非常适合用于直流无刷电机控制。FD6288T集成了三个独立的半桥驱动电路,能够同时驱动三对高侧和低侧功率MOSFET或IGBT。它采用高低压兼容工艺,支持单芯片集成高侧和低侧驱动电路。FD6288T工作电压范围在5.0V 至 20V。输出电流1.5A(源电流)/-1.8A(灌电流)。输入逻辑兼容 3.3V 和 5V 系统。内置 VCC/VBS 欠压锁定(UVLO)保护。内置直通防止功能,避免高侧和低侧 MOSFET 同时导通。内置 200ns 死区时间,进一步防止直通。内置输入信号滤波功能,有效抑制噪声干扰。该栅极驱动器通过ABC三组共六个引脚引入CW32L011的PWM引脚,实现对电机的转速控制。



驱动FET及电压电流采样电路,FET选用意法半导体的STP75NF75,是一颗N沟道功率MOSFET,高达75V耐压、低导通电阻9.5mΩ、连续漏极电流最大80A,这种低导通电阻可有效减小大电流下的发热。为了更好散热采用TO220封装。该器件通过优化栅极电荷特性(典型值117nC @10V)与雪崩耐受能力,适配直流电机控制应用。下图中六个FET组成三个半桥。每个半桥各有一个10mΩ封装位2512的采样电阻,该电阻引入CW32L011的ADC采样引脚,监控每个半桥上的电流。




官方提供的测试例程有两个,分别是有霍尔传感器和无霍尔传感器的两个版本。手头上的电机是无传感器的3205。3205B无刷电机相比传统有刷电机,它更加耐用、噪音更低、效率更高。3205B表示电机的直径为32mm,厚度为5mm,非常适合小型四轴飞行器和稳定器的云台应用。它的转速高达每分钟几千转,能够快速响应云台和四轴飞行器的运动指令,确保系统的稳定性


拿到板卡的第一时间,就是写入程序,让电机转起来。
就是这个转起来的过程不是很顺利,开始想用StlinkV2,下载程序。但是一直失败,能够识别下载器,但是不能识别目标元件。
考虑到StlinkV2是优化过的,又用ST官方Nucleo开发板板载下载器测试,同样不能识别目标元件。


咨询厂家技术,该芯片推荐DAPlink下载器。又买了一个DAP下载器。到货后,连接目标板,出现同样的问题。


几经周折还是不能测试。各种测量都结束了,只能是主控芯片的问题了。
下单买了几片。
到货,吹掉,焊接,齐活





用stlink连接测试,同样找不到目标芯片。
用DAPlink连接测试,能识别芯片并下载程序。下载后,接入电机,通电后电机抖动三五下就停止了。
将CW32L011和FD6288全部点焊后,再次通电,电机终于正常转动了。

这个项目的图纸和代码,厂家已经开源。
图纸都已经看明白,代码看了个大概,还有几处细节没明白。

无刷电机的极对数可以在程序中修改对应的宏定义#define MPolePairs 7

void MotorStartCheck(void)
{
unsigned int dd=0;

if(MOTORSTATE==STATEERROR)return;

if(SetSpeed>0&&(GPIO_ReadPin(EN_GPIO_PORT,EN_GPIO_PIN)==GPIO_Pin_SET))
{

for(dd=0;dd<100;dd++);
if(GPIO_ReadPin(EN_GPIO_PORT,EN_GPIO_PIN)==GPIO_Pin_SET)
SampleSpeed();
if(SetSpeed>0)
{

if(GPIO_ReadPin(DR_GPIO_PORT,DR_GPIO_PIN)==GPIO_Pin_SET)//·½Ïò¶ÁÈ¡
{
for(dd=0;dd<500;dd++);
if(GPIO_ReadPin(DR_GPIO_PORT,DR_GPIO_PIN)==GPIO_Pin_SET)
{ Dir=0; }
}
else if(GPIO_ReadPin(DR_GPIO_PORT,DR_GPIO_PIN)==GPIO_Pin_RESET)
{
for(dd=0;dd<500;dd++);
if(GPIO_ReadPin(DR_GPIO_PORT,DR_GPIO_PIN)==GPIO_Pin_RESET)
{ Dir=1;}
}

MOTORSTATE=STATESTARTDELAY;TargS1=0;TimeCountSTDelay=0;
}
}
}



void MotorStartOPEN(void)
{
if(MOTORSTATE==STATEERROR)return;

if(TImeUP<100)TImeUP=100;//100ms×îµÍ
SpeedD=TImeUP/100; //Ôö¼Ó1%Õ¼¿Õ±ÈÐèÒªµÄʱ¼ä
HALL_MOTOR_START();
MOTORSTATE=STATERUNOPEN;
}


void MotorRunOPEN(void)
{
if(MOTORSTATE==STATEERROR)return;
if(SetSpeed==0)
{
MOTORSTATE=STATESTOP;
}

if(TimeCountPID>=SpeedD)
{
TimeCountPID=0;

if(TargS1<SetSpeed)
{
TargS1++;
if(TargS1>=SetSpeed)TargS1=SetSpeed;
OutPwmValue=TargS1*OnepercentPWM;
UPPWM();
}
else if(TargS1>SetSpeed)
{
TargS1=SetSpeed;
OutPwmValue=TargS1*OnepercentPWM;
UPPWM();
}
}
}


void MotorStop(void)
{
if(MOTORSTATE==STATEERROR)return;
Motor_Start_F=0;
MOTOR_STOP0();

if(SampleData[3]<180) //·´µç¶¯ÊÆ´ïµ½Ðü¿ÕÖµ
{
RealS1=0;TimeCountTemp=0;Sta=0;
}

if(RealS1==0||RealS==0)
{
TimeCountTemp=0;
while(TimeCountTemp<500);
Sta=0;
MOTORSTATE=STATESTARTCHECK;
}
}

void MotorError(void)
{
MOTOR_STOP0();
Motor_Start_F=0;
MOTORSTATE=STATEERROROVER;
}

void MotorErrorOver(void)
{
unsigned char times=0;

LEDOFF;TimeCountTemp=0;
while(TimeCountTemp<200);
while(1) //ָʾµÆÉÁ˸
{
if(times<ErrorCode)
{
if(TimeCountTemp<200){LEDON;}
else if(TimeCountTemp<=400)//LED flashing
{
LEDOFF;
}
else if(TimeCountTemp>400)
{
if(times<ErrorCode)
{
times++;TimeCountTemp=0;
if(times>=ErrorCode);
else LEDOFF;
}
}
}
else if(TimeCountTemp<500);
else {times=0;TimeCountTemp=0;}

//if(ErrorCode==10)
{ //ÉϵçµçλÆ÷û¹éÁãʱ£¬ÐèÒª¼ì²âµçλÆ÷Êý¾Ý£¬¹éÁãÔòÇå¹ÊÕÏ£¬È»ºó¿ÉÒÔÆô¶¯µç»ú
SampleSpeed();
if(SetSpeed==0)
{
ErrorCode=0;LEDON;MOTORSTATE=STATWAITSTART; break;
}
}
}
}


测试视频如下


测试中感觉不方便的主要有以下两点
1.在Keil中StLink下载器不能识别CW32L011。
2.接入12V时,DAPlink不能仿真程序。断掉12V,用DAPlink供电,可以仿真。







---------------------
作者:地瓜patch
链接:https://bbs.21ic.com/icview-3489450-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 10:40:54

下雪天怎么上班?用UU远程高效居家办公

近期&#xff0c;北方多地受大雪天气影响&#xff0c;有的家门被封、有的交通堵塞&#xff01; 寒冷天气陆地变滑&#xff0c;打工人的通勤路简直难上加难。但雪休可望而不可即&#xff0c;年终手头工作项目刻不容缓。 不想冒雪出门上班&#xff1f;不想大雪天被困在通勤路上&…

作者头像 李华
网站建设 2026/4/18 8:03:47

第五十六篇|AIM奈良国际学院的数据建模:古都城市学习节律与制度型语言学校的结构边界

第五十六篇&#xff5c;AIM奈良国际学院的数据建模&#xff1a;古都城市学习节律与制度型语言学校的结构边界 系列延续&#xff1a;日本语言学校结构数据工程 关键词&#xff1a;AIM奈良国际学院、奈良留学、教育数据建模、语言学校制度、学习节律、结构化字段、语校网 一、问题…

作者头像 李华
网站建设 2026/4/18 3:33:50

04.机器学习中的线性代数?

什么是机器学习中的线性代数? 在机器学习 (ML) 中,线性代数涉及使用数学运算来表示和操作 ML 模型内的数据、参数和运算。它提供语言和工具来表达数据在模型中的流动方式以及模型的“学习”方式。 强大的现代机器学习和生成式 AI 的核心是由线性代数驱动的。无论是训练神经网…

作者头像 李华
网站建设 2026/4/18 8:48:30

混合开发模式是救星还是坑?3个案例揭秘节省40万成本的秘诀

亲爱的小伙伴们&#xff0c;今天咱们来聊一个让无数企业又爱又恨的话题——混合开发模式&#xff01;&#x1f4bb;&#x1f680; 你是不是也经常听到“混合开发能省40万成本”的说法&#xff0c;心里直犯嘀咕&#xff1a;这到底是真香警告&#xff0c;还是隐藏的深坑&#xff…

作者头像 李华
网站建设 2026/4/18 11:04:02

让创业更有后劲,长沙用金融铺就“成长跑道”

近几年&#xff0c;关于年轻人创业的讨论很多&#xff0c;但按照一线创业人提供的经验来看&#xff0c;比起最初一刻的选择&#xff0c;更难的是后面一长段时间的坚持&#xff1a;项目怎么从实验室走到市场&#xff1f;第一笔订单之后&#xff0c;第二批设备钱从哪里来&#xf…

作者头像 李华
网站建设 2026/4/18 8:38:28

SQL必会必知整理-13-联结表

13.1 联结联结是利用SQL的SELECT能执行的最重要的操作&#xff0c;很好地理解联结及其语法是学习SQL的一个极为重要的组成部分。13.1.1 关系表外键为某个表中的一列&#xff0c;它包含另一个表的主键值&#xff0c;定义了两个表之间的关系。这样做的好处如下&#xff1a;信息不…

作者头像 李华