0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于GD32F207ZE的平衡小车之底层接口的介绍和分享

GD32MCU 来源:djl 2019-10-23 08:38 次阅读

1方案介绍

本方案采用高性能GD32F207系列MCU开发平衡小车的底层接口。用到的各个模块分别有:I2C(GPIO模拟)、Timer(周期定时器)、Timer-PWM(PWM控制)、Timer-input(编码器输入)、SPI(GPIO模拟写OLED用)、USART(串口调试和蓝牙通信)、ADC(外部电压测量)。

2设计应用描述及心得总结

看了下提供的测试例程,简单重新新建了一个Template,里面分立的建了三个基本功能:LED、USART和SYSTICK,直接下到开发板就可以用了,直接删减相应的.C文件即可使用。

关于GD32F207ZE的平衡小车之底层接口的介绍和分享


初始模版好了,首先最重要的传感器,就地取材,就用MPU6050了,移植下官方的DMP,这个花了点时间,问题出现在MDP内部fifo的溢出,解决的方法如下如所示:

关于GD32F207ZE的平衡小车之底层接口的介绍和分享

这是因为读取不及时导致内部FIFO溢出,这里正好清除了一下,再次读取就OK了,修改read代码,如下图所示:

关于GD32F207ZE的平衡小车之底层接口的介绍和分享

MPU6050的读取数据如下所示:

关于GD32F207ZE的平衡小车之底层接口的介绍和分享

可以看出来MPU内部DMP的数据一开始很不稳定,这个过程得有好几秒,稳定了,就OK了,不过也可以通过寄存器,直接读取初始值,然后自己用算法拟合一个欧拉角对比下。

接下来是个大的范围TIMER应用,这里使用了TIMER4的两个通道做电机控制,输出频率是10K,分别使用TIMER3通道1和TIMER2通道2做编码器的输入,用一个TIMER也可以,这里使用了两个。还有个TIMER5作为内部周期定时器5ms,TIMER的调试还算顺利,直接上结果,counta和countb 是编码器的输入,这里接的就是TIMER4的两路PWM。

关于GD32F207ZE的平衡小车之底层接口的介绍和分享

此接口还用了个直接透传蓝牙模块,还有个APP可以链接,使用了串口2与蓝牙模块链接,使用了接收中断,中断函数里直接显示接收到的数据,这里APP的处理就是将手机的屏幕划分为9宫格,然后触摸一个地方传送一个数字,触摸结束(松手),默认发送一个0,这样可以根据数字的顺序,简单的软件实现划屏操作。

3作品实物图+视频

硬件焊接的匆忙,但整体已经出来了,如下所示:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2552

    文章

    51359

    浏览量

    755681
  • 编码器
    +关注

    关注

    45

    文章

    3663

    浏览量

    135027
  • 定时器
    +关注

    关注

    23

    文章

    3255

    浏览量

    115158
收藏 人收藏

    相关推荐

    AN207 GD32G5x3三角函数加速器TMU的使用说明

    电子发烧友网站提供《AN207 GD32G5x3三角函数加速器TMU的使用说明.pdf》资料免费下载
    发表于 01-21 17:30 0次下载
    AN<b class='flag-5'>207</b> <b class='flag-5'>GD</b>32G5x3三角函数加速器TMU的使用说明

    GD32F527的设备限制

    电子发烧友网站提供《GD32F527的设备限制.pdf》资料免费下载
    发表于 01-17 15:54 0次下载
    <b class='flag-5'>GD32F</b>527的设备限制

    AN030 GD32F47x&F42x与GD32F45x&F40x系列间的差异

    电子发烧友网站提供《AN030 GD32F47x&F42x与GD32F45x&F40x系列间的差异.pdf》资料免费下载
    发表于 01-17 15:42 0次下载
    AN030 <b class='flag-5'>GD32F</b>47x&<b class='flag-5'>F</b>42x与<b class='flag-5'>GD32F</b>45x&<b class='flag-5'>F</b>40x系列间的差异

    GD32F207xx数据表

    电子发烧友网站提供《GD32F207xx数据表.pdf》资料免费下载
    发表于 01-16 15:12 0次下载
    <b class='flag-5'>GD32F207</b>xx数据表

    GD32 MCU 移植教程】9、从 STM32F10x 系列移植到 GD32F30x 系列

    GD32F30x 系列 MCU 是基于 Arm® Cortex®-M4 处理器的 32 位通用微控制器,与 STM32F10x 系列 MCU 保持高度兼容。本文主要从以下三个方面进行介绍:硬件资源
    的头像 发表于 09-07 09:57 945次阅读
    【<b class='flag-5'>GD</b>32 MCU 移植教程】9、从 STM32<b class='flag-5'>F</b>10x 系列移植到 <b class='flag-5'>GD32F</b>30x 系列

    GD32 MCU 移植教程】8、从 STM32F4xx 系列移植到 GD32F4xx 系

    GD32F4xx 系列 MCU 是基于 Arm® Cortex®-M4 处理器的 32 位通用微控制器,与 STM32F4xx系列 MCU 保持高度兼容。本文主要从以下三个方面进行介绍:硬件资源对比
    的头像 发表于 09-06 09:40 1476次阅读
    【<b class='flag-5'>GD</b>32 MCU 移植教程】8、从 STM32<b class='flag-5'>F</b>4xx 系列移植到 <b class='flag-5'>GD32F</b>4xx 系

    GD32 MCU 移植教程】7、从 GD32F10x 移植到 GD32E103

    本应用笔记旨在帮助您快速将基于 GD32F10x 2.0 版本及以上固件库开发的应用程序从GD32F10x 系列微控制器移植到 GD32E103 系列微控制器。GD32E103 和
    的头像 发表于 09-05 09:40 580次阅读
    【<b class='flag-5'>GD</b>32 MCU 移植教程】7、从 <b class='flag-5'>GD32F</b>10x 移植到 <b class='flag-5'>GD</b>32E103

    GD32 MCU 移植教程】6、从GD32F1x0和GD32F3x0移植到GD32E230

    GD32E230 系列是 GD 最新推出的 Cortex_M23 系列产品,该系列资源上与既有的 GD32F1x0 以及 GD32F3x0 兼容度非常高。由于
    的头像 发表于 09-04 09:38 677次阅读
    【<b class='flag-5'>GD</b>32 MCU 移植教程】6、从<b class='flag-5'>GD32F</b>1x0和<b class='flag-5'>GD32F</b>3x0移植到<b class='flag-5'>GD</b>32E230

    GD32 MCU 移植教程】5、GD32E230 系列移植到 GD32F330 系列

    移植到 GD32F330 系列的需求,本文 档专门针对既有的 GD32E230 代码如何移植到 GD32F330 做一个详细的介绍
    的头像 发表于 09-03 10:05 1368次阅读
    【<b class='flag-5'>GD</b>32 MCU 移植教程】5、<b class='flag-5'>GD</b>32E230 系列移植到 <b class='flag-5'>GD32F</b>330 系列

    GD32 MCU 移植教程】2、从 GD32F303 移植到 GD32F503

    GD32E503 系列是 GD 推出的 Cortex_M33 系列产品,该系列资源上与 GD32F303 兼容度非常高,本应用笔记旨在帮助您快速将应用程序从 GD32F303 系列微控
    的头像 发表于 08-31 09:36 1545次阅读
    【<b class='flag-5'>GD</b>32 MCU 移植教程】2、从 <b class='flag-5'>GD32F</b>303 移植到 <b class='flag-5'>GD32F</b>503

    【「ARM MCU嵌入式开发 | 基于国产GD32F10x芯片」阅读体验】+书籍整体概况

    系统的概念,ARM简史,以及前期的准备工作,视频时长112min。 第二章介绍GD32F10x的架构,包含计算机架构,Cortex-M3架构;第三章通用输入/输出端口GPIO介绍,内容非常丰富,
    发表于 08-25 22:48

    STM32平衡小车原理图

    STM32f103c8t6平衡小车原理图
    发表于 07-05 10:54 1次下载

    GD32F303红枫派开发板使用手册】第二十讲 SPI-SPI NAND FLASH读写实验

    通过本实验主要学习以下内容: •SPI通信协议,参考19.2.1东方红开发板使用手册 •GD32F303 SPI操作方式,参考19.2.2东方红开发板使用手册 •NAND FLASH基本原理 •SPI NAND介绍 •使用GD32F
    的头像 发表于 06-20 09:50 1020次阅读
    【<b class='flag-5'>GD32F</b>303红枫派开发板使用手册】第二十讲 SPI-SPI NAND FLASH读写实验

    GD32F470紫藤派开发板使用手册】第十一讲 SPI-SPI NOR FLASH读写实验

    通过本实验主要学习以下内容: •SPI简介 •GD32F470 SPI简介 •SPI NOR FLASH——GD25Q32ESIGR简介 •使用GD32F470 SPI接口实现对
    的头像 发表于 05-17 09:57 1910次阅读
    【<b class='flag-5'>GD32F</b>470紫藤派开发板使用手册】第十一讲 SPI-SPI NOR FLASH读写实验

    关于STM32F207VF外设USB接口遇到的问题求解

    各位大神,小弟想请问两个问题: (1)对于STM32F207VF IC 如果作为USB device 使用,USB connector 的vbus,dp,dm,id 必须要接到PA9,PA12
    发表于 04-29 07:29