查看:
4777
|
回复:
11
|
GD32 MCU 开发板 Workshop 报告:多路舵机测试平台
本帖主对外承接开发,
联系作者
|
|||
|
该帖子为嘉立创认证过的开发案例,案例是对作者实际开发产品的介绍,您可以通过这些案例去找到和自己产品相关的一些方案或解决途径。
查看更多案例 >>
发表于2019-05-16 22:39:58
|
显示全部楼层
1#
电梯直达
多路舵机测试平台 一、方案简介 介绍方案之前先来介绍一下什么是舵机及舵机的控制原理: 1、什么是舵机 舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。
2、舵机的控制原理 舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。以180度角度伺服为例,那么对应的控制关系是这样的: 舵机上有三根线,分别为VCC、GND、信号线。小型的舵机工作电压一般为4.8~6V,大功率的舵机有的为12V或24V。信号线的控制不需要另外接驱动模块,直接用单片机的管脚控制就行了。控制信号一般要求周期为20ms的PWM信号。 3、方案简介 本方案基于GD32E231C8T6,ARMCortex-M23内核的MCU为主控,制作一个多路舵机测试系统,通过单片机timer2输出两路PWM信号驱动SG90型号舵机,并通过USART0与USB转TTL模块与上位机进行通讯,在上位机界面可以方便的设置每通道舵机的旋转角度,并能自动或手动测试每一通道舵机的好坏。
二、GD32 MCU产品介绍 GD32E231 MCU主要规格参数: Cortex-M23内核 32-bit处理器主频高达72MHz Flash:64KB SRAM:8KB ADC:12-bit OP-AMP:两路 16位通用定时器:5个 基础定时器:1个 PWM高级定时器:1个 SPI:两路 I2C:两路 USART:两路 I2S:一路 操作电压:1.8V~3.6V 温度范围:-40~85℃
三、方案介绍+方案系统框图 本方案分上位机开发和下位机单片机编程两部分,上位机用C#开发,主要是界面部分和对应功能的实现,下位机主要是接收上位机下发的指令来执行相应的动作,大体流程是通过上位机发送相应指令给GD32E231,GDE231接收到相应指令后并解码成功,由Timer2产生两路PWM信号,两路PWM信号输出至PB4和PB0脚来驱动两路舵机,本实验采用的是SG90型号的舵机,也可换用其他型号舵机进行测试。
四、照片实力和功能的实现
五、代码分享 |
|||
|
发表于2019-05-17 18:46:05
|
显示全部楼层
2#
由于手头只有一个舵机,实际上单片机可以输出更多的PWM信号,上位机也可以做相应的修改,暂时做简单的两路测试
|
|||
|
发表于2019-05-17 19:00:05
|
显示全部楼层
3#
其实单单单片机定时器这块儿学明白了,就可以做出很多东西,比如说调光电路,模拟电压,做简单的波形信号发生器,控制一些电磁阀的开度,控制硬盘内音圈电机的转向,模拟音频信号输出等等等等,跟值得大家一探究竟
|
|||
|
发表于2019-05-17 19:02:28
|
显示全部楼层
4#
也可以调节电机的转速,迷你4轴上的直流电机就是用PWM来调节的。
|
|||
|
发表于2019-05-18 09:01:21
|
显示全部楼层
7#
我用的板子自带的GD-Link,
|
|||
|
发表于2019-05-18 09:02:25
|
显示全部楼层
8#
没有试过Fly_MCU
|
|||
|
发表于2019-05-18 09:22:11
|
显示全部楼层
9#
FlyMcu应该是不能下载的,因为板子上没有串口的RTS和DTR硬件电路
|
|||
|
发表于2019-05-18 18:35:29
|
显示全部楼层
10#
多个舵机连到一起就可以组成机械臂了
|
|||
|
发表于2019-05-18 22:21:43
|
显示全部楼层
11#
上位机修改了多次点击打开或关闭串口出现的死机状况 |
|