题目要求
首先,非常感谢立创EDA、武汉芯源、重庆优易特、创芯工坊举办的这次训练营。
第1次参加训练营,
最初计划做
直流电机风力小车。完成实物,小车跑起来,能够自如控制CW32的IO口,对我来说就是很大进步。
风力小车实现的功能有:按键控制开启关闭、LED渐变氛围灯、1W白光LED前大灯、蜂鸣器、风力马达驱动 、OLED显示。
风力小车完成后,就想能不能做个更高级的。曾经在B站上见过别人的避障寻迹小车,觉得很酷。现在这么好的机会,我要用CW32F030来DIY一个自动驾驶小车。
最终的自动小车,在风力小车基础上增加了 电压测量、减速电机驱动(同时去掉风力电机)、红外避障,实现了L5级的自动驾驶(L5级有夸大嫌疑)。
原理图、PCB设计说明
自动小车PCB全家福:
自动小车由4种PCB组成。分别是 CW32主控板X1、减速电机驱动&障碍检测板X1、障碍检测独立小板X2、车轮X4
【1】CW32主控板电路,参考了本次训练营的示例工程,CW32小蓝板、CW主控板、无刷电机驱动板。把它们按需求增减和修改。
【2】减速电机驱动&障碍检测(正前方)电路,参考了oshw开源社区 技小新的 《STM32-四驱智能小车》、OHSW
HUB开源硬件的《立创课堂-迷你智能小车》。
【3】(左侧和右侧)障碍检测独立小板电路,是从【2】上面剪切下来的。
【4】小车车轮,无原理图。
备注:由于画板时,主控板和电机驱动避障板分别建立工程。 电机驱动避障板电路链接:https://oshwhub.com/nice663/xiao-ju-jian-su-dian-ji-qu-dong-hu-bi-zhang
原理图、PCB存在的问题:
【1】主控板5V的 CON(用来接锂电池的)正负极丝印弄反了(画板要细心再细心)。
【2】CW32的PC13连接到蓝色LED,写代码时查手册,才发现此IO口无法复用到GTIM的PWM输出。最终氛围灯只做了红灯和绿灯渐变。
软件说明
【GPIO】 参考代码: 芯源官方示例 Examples/GPIO/gpio_input_out 用于前大灯、蜂鸣器、电机驱动IC、避障信号状态读取、按键等
【基本定时器1】参考代码:芯源官方示例 Examples/BaseTimer 用于每隔一定时间(0.5秒)执行ADC转换
【通用定时器】 参考代码: 芯源官方示例 Examples/GTIM/GTIM_PWM_output 用于LED渐变氛围灯
【
UART】 参考代码: 芯源官方示例 Examples/UART_printf 用于调试时打印信息
【ADC】 参考代码: 芯源官方示例 Examples/ADC/ADC_sgl_sw 用于电压测量,电压值ADC转换后在OLED上显示,和万用表测量的值一样
【IIC】 参考代码: 李芳老师的示例 2CW32 BLDC hall pid 用于点亮OLED屏
【避障和减速电机驱动】 参考代码:技小新或OSHWHub开源硬件的 《立创课堂-迷你智能小车》。
训练营上传到B站的教学视频(如优易特杨工的、李芳老师的)很有参考价值。
先把各个部分单独研究,再把它们综合起来完成最终工程。
不开源代码,所有相关参考代码上面已经列出。
如果也想做CW32避障小车,聪明的你自己研究,肯定收获更大,能做出更好的小车。
自动小车简介
【1】真正的悬浮车顶设计(加了电机驱动板进化成自动小车后,底壳合不上了)
【2】直径38mm 12辐,嘉立创PCB定制专属车轮,全尺寸备胎
【3】上下双出,梯形排气孔(其实是USB供电口)
【4】四引擎动力,全时四驱
【5】全车全LED光源,车内有渐变氛围灯
【6】三组红外感应器,自动避障驾驶,无需司机
【7】全液晶仪表 (0.96寸OLED)
【8】采用国产高性能CW32F030C8T6为
主控芯片(多多支持国产)
【9】采用立创EDA标准版画PCB,专业版画外壳和面板(多多支持国产)
【10】立创EDA、武汉芯源、重庆优易特,专家团队指导开发
演示视频
自动小车原视频超过了上传文件大小50M限制,经过压缩处理后上传。视频清晰度不高,见谅。
自动小车原视频B站链接:
https://www.bilibili.com/video/BV1BF411V7k5?spm_id_from=333.337.search-card.all.click&vd_source=52d9aa1d12b4e4017271eb13df97e091
其它附件上传
提示:参加活动的作品必须把工程相关的程序附件上传至开源平台或个人的代码存储云端,附件最大支持50M上传(请勿在立创工作区上传,有限制)