APP下载

基于STM32 的自动收集装置设计*

2021-01-24刘妙男朱宇航张贵研崔新忠

科技创新与应用 2021年4期
关键词:舵机机械手角度

马 涛,刘妙男,张 焱,朱宇航,张贵研,崔新忠

(大连海洋大学 信息工程学院,辽宁 大连 116023)

习近平总书记在2019年中国海洋经济博览会的贺信中指出,海洋是高质量发展战略要地,要加快海洋科技创新步伐,提高海洋资源开发能力,培育壮大海洋战略新兴产业。水下作业工具是海洋事业的重要支柱,我们必须以多元化的眼光看待水下作业工业的功能,本文针对水下作业工具如何自动收集抓取海珍品进行设计,提高抓取效率,解决我国沿海地区渔业捕捞效率低,劳动力不足等问题。

1 自动收取装置的总体设计

自动收集装置的结构主要由三部分组成:控制模块(STM32F103)、舵机以及收集装置。控制模块主要由STM32F103 单片机组成,通过编写C 语言控制程序,控制舵机张开角度,从而达到控制收集装置的作用。其总体设计图,如图1 所示。

2 自动收集装置控制系统设计

2.1 STM32F103 简介

STM32F103 系列内核工作频率高达72MHz,内置高速储存器(高达 512KB 的 Flash 和 64KB 的 SRAM),丰富的IO 端口和大量连接到内部两条APB 总线的外设,2 个12 位模数转换器、2 个通用16 位定时器、2 个集成电路总线、2 个串行外设接口、3 个通用同步/异步收发器、1 个通用串行总线、1 个控制器局域网络等。STM32F103 系列工作于零下40 到105 摄氏度的工业温度范围,供电电压2.0-3.6V,一系列的省电模式保证低功耗应用的要求。

图1 自动收集装置的总体设计图

2.2 PWM 控制

首先将正弦半波以等宽的方式分割成N 份,此时就可以把正弦半波看成由N 个脉冲序列所组成的波形。它们的脉冲宽度相同,幅值不同,此时可以当作N 个矩形脉冲来看,也可以得到矩形脉冲和正弦半波的面积一样,就如图2 所示。这就是PWM 波的形成,其可以分为等幅和不等幅。

2.3 通信设计

2.3.1 方式的选择

图2 PWM 波代替正弦半波

因为本课题是针对水下作业工具自动收集装置设计的,所以需要有足够长距离来实现通信。对串行通信来说是将数据字节的各位一位一位的传送,这样的话必然导致速度过慢,但由于这种通信方式的传输线路少,很适合做长距离的通信。因此选用有线串行通信是很合适的。

2.3.2 接口选择

485 通信主要有以下特点:

(1)RS-485 接口输出对电路芯片的损伤较小,也可以很好的与TTL 的电平相兼容,当电压在2-6V 为1,当电压在-6-2V 为 0。

(2)传输速度很快,其速率可以达到10Mps。

(3)拥有很强的抗干扰能力。

(4)传输距离远,1000m 左右,RS-485 既可以实现远距离通信,又保证了传输效率和抗干扰能力,所以是非常适用于水下通信的。

2.3.3 硬件配置

对于RS-485 来说逻辑“1”以两条线间的电压差+2-+6V 表示,逻辑“0”以两条线间的电压差-6-2V 表示,而TTL电平为5V 为1,0V 为0,所以想实现两者间的通信,需要对电平进行转化。对此需要将上位机的USART1_TX与STM32 的 USART1_RTS 相连,将上位机的 USART2_R TS 经 RS-485 与 STM32 的 USART2_TX 相连,则可以传送数据,如图3 所示。

图3 通信示意图

把波特率设置为9600,停止位1 位,数据位8 位。通过发送不同的数据对水下作业工具进行控制。

2.4 舵机设置

2.4.1 舵机的选择

数字舵机每秒可以发送高达300 个脉冲,基于这种快速脉冲信号,电机的转速会显著提高,转矩也会更加恒定,减少它的死区区域。因此,使用数字舵机可以更快的响应,并且转矩和灵敏度可以保持更好的工作状态,有效的减少水下高压强和水下洋流的影响,所以选择数字舵机。

表1 数对应的功能

2.4.2 舵机的控制

舵机接受单片机产生的PWM 波信号,当PWM 波信号进入控制电路就会产生相应的偏置电压,使电机得到响应,通过其减速齿轮组带动电位器移动。当电压差为零时,电机停止转动,从而达到伺服效果,通俗的说就是给舵机一个特定的PWM 信号,舵机就可以旋转到指定的位置。

舵机上有三根线,分别是地线(GND)、电源线(VCC)、信号线(SIC)。单片机产生的PWM 信号就是从信号线输入到舵机的。通常舵机接受的PWM 信号频率为50Hz,周期为20ms。当高电平的脉宽在0.5ms-2.5ms 之间时舵机就可以对应旋转到不同的角度,如图4 所示。

图4 脉冲宽度对应的输出角度

3 自动收取装置功能实现

3.1 控制系统操作

图5 闭环控制系统

如图5 所示,采用闭环控制系统,输入端为PWM 占空比数值,输出端为机械手。当收集装置远离机械手时,达到最远端,此时收集装置位置记为1,当收集装置在机械手正下方时,此时收集装置位置记为0。通过调整占空比PWM 数值,增大舵机的角度,从而控制机械手的张开度,让收集装置的位置为1,此时如果需要完成抓捕动作,就需要调整PWM 数值,减小舵机的角度,当机械手闭合时,收集装置通过弹簧拉力作用,使收集装置的位置为0,使其处于机械手正下端,完成一次抓捕收集动作。其中通过收集装置不同位置,为本系统提供负反馈调节作用。从而合理控制机械手的开合度。

3.2 舵机控制流程图

图6 舵机控制流程图

如图6 所示,这是水下自动收集装置的控制流程,当程序开始后先对舵机模块进行初始化,之后接受上位机发出的吸纳后,当信号数据的高四位都为0 时进入舵机模块,这时判断低四位是否为零,如果是0 则舵机处于关闭状态,如果不为0 且低四位不大于5,这时就可以对舵机进行控制。

3.3 舵机控制程序设计

STM32 产生对应的PWM 信号,而想要PWM 信号就必须用上STM32 的TIM 定时器,由于基本定时器没有产生PWM 信号的功能,因此就只能选用通用定时器和高级定时器。对于舵机控制程序,STM32 的主要作用是通过通信系统收到的指令,调节PWM 的占空比实现调速的控制。

程序设计主要按以下几个步骤:

(1)对TIM3 和PB0 端口进行使能和配置。先将PB0端口进行初始化,再通过设置RCC_APB2ENR 时钟使能GPIO 口,把输出模式调为复用推挽模式。对TIM3 的APB1 进行使能再和寄存器RCC_APB1ENR 进行对应。(2)TIM3_ARR 和 TIM3_PSC 配置 ARR 为定时器计数上限,是16 位的寄存器,设置为19。PSC 为定时器的分频系数,通过这个值为7199 可以计算出PWM 的频率为50Hz。依据舵机最适合的频率进行分配。(3) 设置TIM3_CH3PWM 模式及通道方向。想要调整舵机的转动角度,就先要对TIM3_CCMR1 来配置,使其利用相应位来控制PWM 模式为1,对此也需要配置CH3 为输出,进而要设置 TIM3_CCMR1 的 CC1S[1:0]为 00。(4)占空比调节。首先占空比和频率都是固定的,只有通过修改TIM3_CCR1 和ARR 的比值才能控制其输出的占空比,当设置范围为5 到25 时,才能将时间调至为0.5ms 到2.5ms,从而控制舵机转动的角度。

3.4 收取装置

自动收集装置如图7 所示,主要包括支撑臂1,在这个支撑臂的端部设置有通过舵机2 驱动的机械手3,支撑臂1 上还固定连接有辅助支架4,所述辅助支架4 所述辅助支架4 上转动支撑有相互啮合的第一齿轮5 和第二齿轮6,所述第一齿轮5 通过过渡齿与设置在舵机2底部输出轴上的主动齿7 相连。

图7 收集装置整体结构图

4 结束语

经测试,基于STM32 收集装置能够顺利实现自动收集功能,对于海洋水产业的智能捕捞具有很好的辅助效果,可以预见会带来更多的便捷,同时也能够解放人力,降低水下作业对人带来的风险。

猜你喜欢

舵机机械手角度
神奇的角度
直升机某型舵机自动测试系统设计分析
基于机器视觉的开关操纵机械手研究
人体体感感知机械手设计与实现
拆弹帮手
一个涉及角度和的几何不等式链的改进
基于单片机控制机械的压铸机械手优化设计
基于dsPIC单片机的飞艇舵机控制实现
角度不同
人啊