太白金星

Using android to implement tracking function switching based on CW32f030

 
Overview
## 基于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和工程代码
 
参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2025-05-08 23:53:41

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
community

Robot
development
community

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号