1方案介绍
基于gd32f207zet6的平衡小车,底层接口用到的各个模块分别有:i2c(gpio模拟)、timer(周期定时器)、timer-pwm(pwm控制)、timer-input(编码器输入)、spi(gpio模拟写oled用)、usart(串口调试和蓝牙通信)、adc(外部电压测量)。
2设计应用描述及心得总结
看了下提供的测试例程,简单重新新建了一个template,里面分立的建了三个基本功能:led、usart和systick,直接下到开发板就可以用了,直接删减相应的.c文件即可使用。
初始模版好了,首先最重要的传感器,就地取材,就用mpu6050了,移植下官方的dmp,这个花了点时间,问题出现在mdp内部fifo的溢出,解决的方法如下如所示:
这是因为读取不及时导致内部fifo溢出,这里正好清除了一下,再次读取就ok了,修改read代码,如下图所示:
mpu6050的读取数据如下所示:
可以看出来mpu内部dmp的数据一开始很不稳定,这个过程得有好几秒,稳定了,就ok了,不过也可以通过寄存器,直接读取初始值,然后自己用算法拟合一个欧拉角对比下。
接下来是个大的范围timer应用,这里使用了timer4的两个通道做电机控制,输出频率是10k,分别使用timer3通道1和timer2通道2做编码器的输入,用一个timer也可以,这里使用了两个。还有个timer5作为内部周期定时器5ms,timer的调试还算顺利,直接上结果,counta和countb 是编码器的输入,这里接的就是timer4的两路pwm。
此接口还用了个直接透传蓝牙模块,还有个app可以链接,使用了串口2与蓝牙模块链接,使用了接收中断,中断函数里直接显示接收到的数据,这里app的处理就是将手机的屏幕划分为9宫格,然后触摸一个地方传送一个数字,触摸结束(松手),默认发送一个0,这样可以根据数字的顺序,简单的软件实现划屏操作。
3方案实物图
硬件焊接的匆忙,但整体已经出来了,如下所示:
如何进行医疗产品辐射发射的测试
IC Park 承办2017 ICCAD年会,透出“中关村”范儿
PCB设计布线的走线技巧
9月11-13日 广州第20届广东教装展
简单的报警电路 蜂鸣器报警电路图解说明
关于GD32F207ZET6的平衡小车底层接口设计的分析和应用
如果FPGA上只有一个GPIO该如何进行模拟测量
iPhone 7或使用新的天线模块封装技术以节省空间
ARM入局服务器芯片市场困难重重 Inter迎重大机遇
爱立信与微软携手合作,共同开发联网汽车云服务加快汽车交付
广和通荣膺AIoT新维奖,闪耀物联网全场景
手机屏幕太小?MHL技术传递音视频极致体验!
小蚁科技将推新款无人机 YI Pixie:避开大疆的优势领域,瞄准入门级市场
以大数据、人工智能为依托 汽车之家“元宇宙”打破次元壁
美国服务器租用有延迟是怎么回事,该如何解决
功率放大器热耗的计算公式
Kioxia和西部数据合作开发第六代162层3D闪存技术
Android4.1系统 HTC One XL升级版曝光
如何防蓝光?那种方法效果最佳?
业务安全领跑者丨芯盾时代作为“身份安全”代表厂商被推荐