【产品应用】DIY案例第一期:基于CW32的蓝牙无刷遥控车

以下文章来源于立创EDA 开源广场,作者:刘洪弟

产品应用案例简介:

聚焦CW32,着手PT2432,驱动无刷电机,集成CH571F,赋能蓝牙交互,串联智能终端,形成组合拳,对标外星科技。‍

开源协议: MIT

一、外观展示

二、电路展示

主控板,蓝牙,电机驱动,3.3v,5v ld

【产品应用】DIY案例第一期:基于CW32的蓝牙无刷遥控车_第1张图片

底板,RGB担当。上有若干打孔,连接主控板与轮子。

【产品应用】DIY案例第一期:基于CW32的蓝牙无刷遥控车_第2张图片

三、结构构成

【产品应用】DIY案例第一期:基于CW32的蓝牙无刷遥控车_第3张图片

万向轮

【产品应用】DIY案例第一期:基于CW32的蓝牙无刷遥控车_第4张图片

轮子(无刷电机本体)

【产品应用】DIY案例第一期:基于CW32的蓝牙无刷遥控车_第5张图片

魔术贴遮住的杂乱电线

【产品应用】DIY案例第一期:基于CW32的蓝牙无刷遥控车_第6张图片

四、核心芯片

主控芯片这里用的是国产的武汉芯源(CW)芯片CW32F030C8T6。

CW32F030C8T6可与海外品牌的MCU Pin2Pin替代,内核ARM® Cortex®-M0+ ,最高主频64MHz。

CH571K外围只需要一个电容和晶振,就能实现蓝牙功能。

电机是小型无感无刷电机,由电机驱动芯片PT2432直接驱动。PT2432内部集成过流,过温保护,堵转保护。

CW32F030C8T6输出pwm给PT2432进而控制电机转动,附加几个gpio控制正反转。

CH571K与CW32F030C8T6通过串口连接,透传远端蓝牙的发来的数据,解码后控制电机或ws2812。

五、代码

1.主控芯片CW32F030C8T6基于自封模板,https://github.com/liux-pro/cw32f030c8t6,带官方外设库,避免了找不到源头文件的麻烦。

用到了串口,定时器,PWM,SPI

文件 功能
ble.c 蓝牙模块 串口通信
clock.c 时钟设置
fast_hsv2rgb_8bit.c 色域转换
main.c 主要逻辑,流水灯
motor.c 电机控制
pwm.c pwm
ws2812.c ws2812

开发环境Keil5

https://github.com/liux-pro/ufo-vehicle

2.蓝牙芯片CH571K

这两次训练营都用到了蓝牙,索性提取出一个通用的蓝牙通信模块。

经过两次版本迭代,基于CH571K的简单通讯固件已经基本可用,具体功能详见readme。

开发环境 MounRiver Studio

https://github.com/liux-pro/BLELite

3.遥控器代码

实际是一个网页,遥控使用js开发,用vue简化数据处理。

利用Web Bluetooth API调用主机的蓝牙完成通信,Gamepad API手柄按键信息,实现扫码打开网页后即可通过手柄控制小车的功能,免安装APP。

六、设计图

1.控制

原理图

【产品应用】DIY案例第一期:基于CW32的蓝牙无刷遥控车_第7张图片

PCB

【产品应用】DIY案例第一期:基于CW32的蓝牙无刷遥控车_第8张图片

2.底盘

原理图

【产品应用】DIY案例第一期:基于CW32的蓝牙无刷遥控车_第9张图片

PCB

【产品应用】DIY案例第一期:基于CW32的蓝牙无刷遥控车_第10张图片

更多详细资料请查看:https://oshwhub.com/legend-tech/ufo-vehicle#P6


【附录】CW32资源

1.数据手册:

https://www.whxy.com/support/filelist?id=11&p=1

2.用户手册:

https://www.whxy.com/support/filelist?id=12&p=1

3.keil固件库:

https://www.whxy.com/support/filelist?id=13&p=1

你可能感兴趣的:(mcu,单片机,嵌入式硬件)