发作品签到
标准版

基于CW32f030利用android实现与循迹功能切换

工程标签

2.0k
0
0
0

简介

基于CW32的可实现手机控制前后左右以及切换循迹功能的小车,串口接收手机socket发送过来的数组,串口回传控制电机PWM输出控制小车速度和行走,循迹功能PID算法精准定位黑线,不再是摇头晃脑的小车。

简介:基于CW32的可实现手机控制前后左右以及切换循迹功能的小车,串口接收手机socket发送过来的数组,串口回传控制电机PWM输出控制小车速度和行走,循迹功能PID算法精准定位黑线,不再是摇头晃脑的小车。

开源协议

GPL 3.0

创建时间:2022-05-18 06:48:33更新时间:2022-06-16 02:13:36

描述

## 基于CW32国产芯片的一款循迹以及android可控制小车

利用超性价比超值的芯源半导体公司的芯片引脚为48pin的芯片不仅在运行速度上快,而且关键便宜,可移植性高。拥有自己独立的固件库,可谓是国产的又一崛起。

## 制作的背景
本来打算作一个一个无刷电机版本的,而且这样跑起来更快,更加的顺畅,奈何在功率控制板方面的一个价钱方面稍稍贵了点,本着一个参加活动白嫖的心,所以硬是不愿意多出点钱,关键咋这也不富裕。所以成本有限,只能在软件上下下功夫,只用到了买主控板的少些部分原件,其余的都是直插,这样焊接不仅友好,但是,不是我焊接能力不行,是因为我上面说了,我的值班室只有直插原件,所以尽量能把钱少花就少花,想象一下50块不到就可以制作循迹小车和手机控制,是不是就很棒,而且最主要的是感觉很商业,不仅可以循迹运货,途中出现问题了,还可以切换到手机控制调整,虽然现在只是一个秉着一个试验来看效果不是很明显,但是假以时日加以改进,我相信还是可以达到想要的效果的。

致谢!!

起初做这个车也是刚好有这些模块东拼西凑找别人借的,因为实在没有办法,但是做到用有限的卷做到最大的限度效果,我觉得还是算可以了,凑回来的这些原件用完还是得还回去得。哈哈也值了,起码能做出东西了,也很感谢本次训练营给我带来得收获,起初只是一个小白。从零到现在参加了三次训练营,每次都足了面子,让我这个菜鸡从中获取到不仅也是知识,还包括很多板子,下载器、烙铁等等。同时也感谢这次得合作方芯源带来得技术支持,从本次用得芯片效果来看还是感觉很良好的。
## 外观

附带一下装车图吧,图片拍的比较少,简单看一看就好了

 

使用的原件

ESP8266一块   , 小车外架一个包括在四个电机,  tb6612驱动电机芯片一块      反射式传感器5个 循环起来精度更好。CW32_48Pin主控芯片一块,还有就是电池,供电需要两个地方 ,一块是给芯片,芯片这边供电也是需要有足够得电的,因为有五个传感器。最好也是5v供电,然后降压到传感器供电,一个就是tb6612的电机供电最少要5v-12v,也不要超过12v,供电不够会导致电机转不动。

 

包括调试的过程中,已经耗掉了我两块锂电池了,还好自己有充电的,不然后面使用的时候就没有电演示了。

 

 

主控芯片这块功能还是挺多的,用起来也很够用  以下是官网的一个主要参数

内核:ARMCortex-M0+ 

 64MHz

存储容量

64K 字节FLASH,

8K 字节RAM,

128字节OTP存储器

 时钟管理

4~32MHz晶体振荡器

32KHz低速晶体振荡器

内置48MHz RC振荡器

内置32KHz RC振荡器

内置10KHz RC振荡器

内置150KHz RC振荡器

时钟监测系统

允许独立关断各外设时钟

支持39路I/O接口

 所有I/O口支持中断功能

所有I/O支持中断输入滤波功能

• 五通道DMA控制器

• 模数转换器

12位精度,±1 LSB

 最高1M SPS转换速度

内置电压参考

模拟看门狗功能

内置温度传感器

• 双路电压比较器

• 实时时钟和日历

 支持由Sleep/DeepSleep模式唤醒

• 定时器

16位高级控制定时器,支持6路捕获/比较通道和3对互补PWM输出,死区时间和灵活的同步功能

  四组16位通用定时器

 三组16位基本定时器

 窗口看门狗定时器

  独立看门狗定时器

通信接口

  三路低功耗UART,支持小数波特率

  两路SPI 接口 12 Mbit/s

  两路I2C 接口 1 Mbit/s

  IR调制器

• 串行调试接口(SWD)

 

实现过程

 

主要就是在ESP8266的一个AP模式下,利用串口1的一个重定向发送AT指令到ESP8266的一个初始化过程,利用串口2在串口助手回传串口1接收到的显示回来起到一个可视化的这么一个调试的过程。主要是方便查看手机socket流发送过来的字符数组,然后边看边调试。

这就是一个调试的过程

自己写的这么一个app控制页面,比较单一,利用是ESP默认的地址连接192.168.4.1   端口:333

循迹这个功能就是,利用PID算法,这个可以多区去网上看一看,这个都是有一定的公式的,就是利用每次发生变化的比值相比较,然后逐渐缩小变化值,这样才能让车以一个平稳的状态来行走。

 

一个小问题。

在逐渐调试的过程中发现了一个问题,也算是比较严重的问题,因为数组是实时传输数据的,也是为了在控制车这方面利用的android的一个控件更好的实现,这个控件有三种识别的效果:按下、手起、还有按下移动。就是按下的时候车才会动,手移走就停下。所以这个实时传输的一个问题在车控制的方能是没有问题的,但是在循迹这方面就有一个小bug就是循迹起来由于传输的数据帧快是快了,但是在循迹要求这块这方面就不是很理想,所以最好就是利用控制板上的一个按键来切换这两个功能,这样才是最理想的。否则在手机上切换的话,实现起来不是太理想。达不到完美的效果。

 

下面附带了演示视频以及手机app和工程代码

 

设计图

原理图(1 / 3)
PCB

BOM

IDNameDesignatorFootprintQuantity
1BOOTBOOT1SW-TH_DEALON_MS-12D19-G21
2QMB-09B-03BUZZER1BUZ-TH_BD9.0-P4.00-D0.6-FD1
3100nFC1,C2,C3,C5,C6,C8,C9,C10,C11,C12,C13,C14,C15RAD-0.213
420pfC4,C7RAD-0.22
5321034SG0ABK00A01CN4CONN-TH_321034SG0ABK00A011

附件

序号文件名称下载次数
1
app-debug.apk
30
2
app控制视频.mp4
1265
3
Cw32_project.rar
50
4
循迹视频.mp4
534
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航