以下文章来源于立创EDA 开源广场,作者:刘洪弟
产品应用案例简介:
聚焦CW32,着手PT2432,驱动无刷电机,集成CH571F,赋能蓝牙交互,串联智能终端,形成组合拳,对标外星科技。
开源协议: MIT
一、外观展示
二、电路展示
主控板,蓝牙,电机驱动,3.3v,5v ld
底板,RGB担当。上有若干打孔,连接主控板与轮子。
三、结构构成
万向轮
轮子(无刷电机本体)
魔术贴遮住的杂乱电线
四、核心芯片
主控芯片这里用的是国产的武汉芯源(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.控制
原理图
PCB
2.底盘
原理图
PCB
更多详细资料请查看: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