1 背景
新年伊始,不期而至的新冠肺炎让一切工作和生活发生了巨大改变,到现在也不知道本篇评测报告的完成是因此提前还是推后。GD32VF103V_EVAL开发板单独引出了MCU可用的IO口,几乎具备了所有的MCU包含的功能,可以处理控制具备相应IO口的器件,比如机械手臂机器人。机械手臂机器人可以提高生产的自动化水平,减轻劳动强度,保证产品质量,实现安全生产,特别是在恶劣的工作环境中,机器人可以代替人进行工作,意义更为重大。以下内容将简要阐述GD32VF103V_EVAL开发板控制THIRS-1型机械臂的开发流程。
2硬件系统
THIRS-1型机械臂有两种工作模式,本地模式和遥控模式。这里选择采用遥控模式,用RS232串口接收控制字节,根据控制协议,控制机械臂上的舵机。GD32VF103V_EVAL开发板则根据5向按键的状态,确定舵机的工作状态,然后通过RS232串口,根据对应的控制协议,发送控制字节。因此将开发板的RS232串口与机械臂上的RS232串口相连即可完成硬件系统搭建,如图1所示。
图1 硬件系统
3 软件系统
3.1 软件流程设计
根据GD32VF103V_EVAL开发板控制THIRS-1型机械臂的需求,软件流程图如图2所示。
图2 软件流程图
3.2开发环境搭建
开发板的文档有中英文两种,方便国人阅读。开发板的开发环境使用的是芯来科技的NucleiStudio IDE,该IDE也是基于一个开源项目Eclipse,官方已经配置好了一切,无需用户再行设置。开发环境和相关手册可以到https://www.riscv-mcu.com/quickstart-quickstart-index-u-GD32VF103C-START.html下载。
NucleiStudio IDE是一个免安装的软件,下载后直接解压到某个目录下即可直接运行。需要注意的是,NucleiStudio IDE是基于Java环境运行的,所以需要安装JDK运行环境,并正确配置好系统环境变量。
3.3新建工程
双击NucleiStudio_IDE_201909\NucleiStudio目录下的eclipse.exe运行NucleiStudio IDE,在首次运行的时候需要选择一个默认的工作路径。接下来创建一个工程,点击菜单栏File->New->C/C++ Project,界面如图3所示。
图3 新建C/C++ 工程
随后选择C Managed Build选项,然后点击Next。在弹出的C Project对话框中,输入Proejct Name,选择Project Type为Executable项下的GigaDevice RISC-V C Project,Toolchains为RISC-V Cross GCC,点击Next。在弹出的Project settings对话框中,选择MCU型号:GD32V103,点击Next。在弹出的Project settings对话框中,使用默认选项,点击Next。在弹出的Select Configurations对话框中,点击Select all,点击Next。在弹出的GNU RISC-V Cross Toolchain对话框中,使用默认选项,点击Finish。
在点击Finish后需要稍等片刻,一个最小工程就创建完成,该工程可以下载到开发板实现LED流水灯功能,创建后工程目录结构如图4所示。
图4 新建工程及main.c
开发板提供的例程如图5所示。
图5 开发板例程
其中02_GPIO_Key_Polling_mode是针对5向按键的工程文件,04_USART_Printf是实现串口通信的工程文件,可以从两个工程中main.c中复制相关代码加以利用,实现图2所示的软件流程。
需要说明的是,如何修改串口通信的参数设置,例程02中有函数gd_eval_com_init,可以在gd_eval_com_init上右击,选择Open Declaration,即可打开串口设置的代码段,如图6所示。默认波特率为usart_baudrate_set(com, 115200U);可以根据实际要求加以改变,其他设置根据通信协议无需更改。
图6 打开串口通信设置
4 测试
按照硬件系统设计要求实现硬件连接,根据软件流程完成程序编辑,编译并下载后,看到机械臂可以按照5向按键的操纵实现方位和俯仰的动作,如图7所示以及相关视频。
图7开发板控制机械臂
视频连接:https://kphshanghai.m.chenzhongtech.com/fw/photo/3x8y79bjnvikdd4?fid=1732745948&cc=share_wxms&groupName=E_2_181030224916592_G_1&appType=21&docId=34&photoId=3x8y79bjnvikdd4&shareId=119520801782&shareToken=X5dUOXkJlfQx_-9u3zlOQr0mM27w&userId=3xqqzrkiyhrg53s&shareType=2&et=×tamp=1580396001694
5 总结
新建工程创建过程很简单,向导很清楚,容易上手。生成的工作目录划分清楚,代码清晰。不足的是首次创建的时间、编译的时间、下载的时间有点长,开发过程中有关函数原型说明等资料较少,网络搜索的结果也很少有帮助,对单片机以及c语言编程较熟悉的工程师来说能较快加以解决,但不太适合初学者的入门。之后如能有更多时间和精力,计划用开发板做一个简易的示波器或频谱仪。
作者: ttgreat2019, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3898843.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
sdebit 2020-2-4 12:25