基于dsPIC30F5015的苗盘自动输送机构控制系统

2019-05-24 09:53陈彩蓉尹文庆刘海马
农机化研究 2019年9期
关键词:同步带子程序伺服电机

胡 飞,陈彩蓉,尹文庆,刘海马,刘 鑫,凌 龙

(南京农业大学 工学院/江苏省智能化农业装备重点实验室,南京 210031)

0 引言

国内移栽基本以手工和半自动移栽为主,自动移栽机的应用改善了操作人员的工作条件,提高了工作效率,解决了劳动力短缺带来的问题,有利于提高移栽作业的自动化水平[1]。

穴盘苗移栽试验台用于模拟移栽机在田间移栽的作业工况,完成穴盘苗移栽试验要求。苗盘自动输送机构是移栽试验台的关键部件,目前移栽装备中苗盘输送机构采用的驱动源主要有机械式、液压式、气压式等。机械式驱动主要采用平面四杆、曲柄滑块、圆柱凸轮、棘轮、不完全齿轮及槽轮等机构进行驱动及定位[2-3],具有结构简单、制作方便、传递动力大等优点,但大多存在冲击大、运动精度低、传动比固定及调整不方便等问题。液压式驱动适用于高速重载的系统,但液压传动效率偏低、传动比不稳定,且液压油泄漏容易对环境产生污染,维护、保养不方便。气压式驱动具有结构简单、成本低、速度快、泄漏影响小及维修简单等优点[4],但其工作时冲击较严重,定位精度低。伺服电机驱动具有响应速度快、驱动力大、信号处理方便等优点,可采用多种灵活的控制方式。它可以满足自动移栽过程中苗盘输送平稳、响应速度快、定位准确及调整方便的要求。

本文提出了一种以伺服电机为动力源、光电编码器为测量传感器、dsPIC30F5015高性能微控制器为核心的新型苗盘自动输送机构控制系统,以实现苗盘的自动输送和精确定位,可在一定程度上提高移栽机的自动化水平。

1 系统总体结构与工作原理

苗盘自动输送机构主要由机械装置和控制系统两部分组成,机械装置主要由同步带、同步带轮、苗盘托板、苗盘驱动杆、支架、轴等部分组成,如图1所示。伺服电机从同步带轮主动轴输入动力,通过固定在同步带表面的支架与驱动杆驱动苗盘直线运动,完成苗盘的平稳输送与精确定位。

图1 苗盘输送机械装置Fig.1 Seedling tray delivery mechanism

控制系统主要作用是根据移栽作业要求,利用计算机及dsPIC30F5015给出控制信号,对伺服电机的速度和位置进行有效地跟踪与控制。控制系统总体结构如图2所示。其中,上位机主要包括计算机、参数设定及通信等模块,主要实现对苗盘输送过程的速度和位置等参数的设定及速度和位置反馈量的采集及显示;下位机主要包括dsPIC30F5015、伺服电机驱动及数据采集等模块[5],通过串口通信模块可以与上位机实现双向通信。

系统工作过程中,在上位机LabVIEW程序中设置速度、位置等参数,通过串口输出设定值,然后通过dsPIC30F5015将位置及转速设定值转化为对应的PWM波,伺服驱动器将位置设定值与实际位置值进行比较、运算后,去控制伺服电机;同时,机械装置上的位置传感器将实际位置反馈到dsPIC30F5015中,并上传到LabVIEW中进行显示、存储。

图2 控制系统总体结构Fig.2 The overall structure of control system

2 系统硬件设计

硬件系统采用主从结构,主机是高性能的计算机,从机采用具有高速数据处理能力的微控制器,两者之间通过串行总线进行通信,主要由dsPIC30F5015、伺服电机驱动器、伺服电机、光电编码器及计算机等部分组成。

2.1 dsPIC30F5015微控制器

采用dsPIC30F5015作为下位机的控制器,它是Microchip公司的一款16位微控制器,内核含有DSP数据处理引擎,大大提高了内核的运算和数据吞吐能力,同时具有丰富的外围设备,指令执行速度达30MIPS,具有很强的高速计算和快速中断处理能力,能够满足电机高速控制的要求[6-9]。

dsPIC30F5015中的MCPWM(Motor Control PWM)是专门用于电机控制的模块,它简化了PWM波生成的软件和硬件,具有8个PWM I/O引脚,4个占空比发生器,每个PWM的输出引脚都可以被单独使用,为电机控制等应用提供了很大的灵活性。

dsPIC30F5015带有正交编码器接口QEI(Quadrature Encoder Interface), QEI模块有与位置编码器三相对应的接口,根据QEI模块的功能,结合芯片自带的PWM模块,可以实现对伺服电机位置与速度的精确控制。

2.2 伺服电机驱动模块

驱动装置是实现系统主要功能的重要环节,采用伺服电机进行苗盘输送与精确定位,与传统的机械或气动定位方式相比,具有输送平稳、定位精度高等优点。本设计中采用日本安川(YASKAWA)公司的SGMJV-02ADA21伺服电机和SGDV-1R6A01A伺服驱动器来提供动力。安川SGMJV-02ADA21伺服电机的主要参数为:额定功率200W,额定转矩0.637N·m,额定电压200V,额定电流1.6A,转速范围0~6 000r/min,额定转速3 000r/min。

移栽作业时,苗盘输送机构一般工作在低速、高扭矩的工况下,需要在电机与同步带主动轴之间增加减速器来降速增扭。综合考虑运行速度、响应时间和稳定性等多个因素,选择传动比为64的PLE-60减速器。根据同步带轮的尺寸大小,当伺服电机在600~3 000r/min范围内运行时,苗盘直线运动速度为45~225mm/s。苗盘输送可调节范围宽,能够满足自动移栽机在不同工况下的作业要求。

2.3 光电编码器

为提高苗盘位置的控制精度,在同步带从动轴端安装光电编码器,用于向dsPIC30F5015发送苗盘当前的位置数据。综合考虑控制精度、输送速度及成本等因素,选用欧姆龙E6B2-CWZ1D增量式编码器作为系统的位置传感器,分辨率为1 000脉冲/转,线性驱动输出,5~24V电源输入。

2.4 主电路连接

安川伺服系统的主电路连接如图3所示。其中,电源通断由空气开关1QF控制,电路的启停和自锁功能由电磁接触器1KM控制,指示灯PL由继电器1RY控制,用来显示报警信号。

3 软件设计

3.1dsPIC30F5015软件设计

采用模块化程序设计思想,在MAPLAB IDE开发环境下运用C语言开发下位机软件,主要包括主程序、正交编码器、电机控制及串口通信等模块,各模块以子程序形式出现。

图3 主电路连接图Fig.3 The chart of main circuit connection

主程序实现对微控制器的初始化和子程序调用[10],在系统上电或复位后,主程序开始执行,首先对各部分进行初始化,包括I/O口、重置各变量初始值、时钟的初始化和配置,UART初始化等,主程序流程如图4所示。

图4 主程序流程图Fig.4 The flow chart of main program

定时器中断程序主要对实时位置、速度信号进行采集转换,并由串口发送到上位机。串口中断主要发送、接收数据,并进行分解转换。PWM中断用于已发送脉冲数的采集,内部相关数据的处理等。正交编码器中断主要实现位置的采集比较和方向的判断等。

3.1.1 串口通信模块

dsPIC30F5015通过UART(通用异步传输模式)与上位机进行通信。dsPIC30F5015的串口模块提供了RS-232C数据终端设备接口,上位机可以和任何使用RS-232C接口的串行设备进行通信。上位机将传输给下位机的位置、速度和方向3个量组合为一个控制指令字符串:“a_xxxx_yyyy_zz_f”。其中,“a”为指令识别标志;“_”为空格;“xxxx”为1~5 000的任意整数;“yyyy”为40~1 000以10为间隔的任意整数;zz为步进电机位置;“f”为0或1。

串口接收到的字符串无法直接用于PWM的生成,要通过判断指令中的空格和字符串结束标志将其分解为位置、速度和方向3个数值,同时将其转化为脉冲数、周期和方向3个可直接用于PWM波形生成模块的数据。

3.1.2 PWM波形生成

PWM波形生成模块主要是通过访问MCPWM模块中自带的时基定时器PTMR、时基周期寄存器PTPER、PWM信号发生器等来实现。系统采用MCPWM输出模式,PWM4/3/2/1引脚处于独立输出状态,PWM中断优先级为6,PWM时基1∶1分频后输出[11]。PWM周期的计算公式为

式中TCY—系统时钟周期;

PTPER—PWM时基周期。

3.1.3 位置检测与反馈

正交编码器接口模块用于检测伺服电机的位置和速度,选择对输入信号进行4倍频,提高分辨率,并通过与MAXCNT寄存器匹配复位。把编码器的脉冲存入到芯片的计数器POSCNT,根据转向进行增或减计数。每个PWM周期对光电编码器采样一次,从POSCNT寄存器中读取采样脉冲数,将前后2次采样脉冲数的差作为本次PWM周期的脉冲增量,即苗盘输送机构机械转角增量[6],根据机械装置尺寸参数、减速比等即可计算出苗盘的直线位移。

3.2 上位机软件设计

LabVIEW是美国国家仪器公司(National Instruments)的一种虚拟仪器开发环境,使用图形化编程语言编写程序,大大减少了使用 C#、Java 等编程语言开发系统的时间[12]。LabVIEW集成了支持GPIB、VXI、RS-232和RS-485等协议的硬件及数据采集卡的全部功能,还内置了丰富的扩展函数库,可以方便地建立自己的虚拟仪器[13]。上位机软件要实现的主要功能是串口通信、电机控制指令的发送和反馈量的实时显示等,主要包括串口通信、信息采集及发送、信息接收和显示等模块。

采用LabVIEW自带的NI-VISA接口函数来实现上位机与dsPIC30F5015的串口通信,主要包括初始化端口,设定端口号、波特率和奇偶校验位等信息,并使得通信参数与下位机中保持一致。通讯子程序所图5所示。

图5 串口通信子程序Fig.5 The program of serial port communication

信息采集及发送模块主要采集速度、位置和方向等数据,将其编码成“a_xxxx_yyyy_zz_f”格式经串口发送。为了便于参数的设定和调整,程序中还进行了输入量的单位转换和同步显示,子程序如图6所示。信息接收和显示模块主要进行数据帧的接收、解码和显示,子程序如图7所示。

图6 信息采集及发送子程序Fig.6 The program of information collection and transmission

图7 信息接收和显示子程序Fig.7 The program of information receiving and displaying

根据控制系统的功能需求,将上位机前面板分为串口通信参数设置,位置、速度和方向等信息实时显示,电机控制等部分显示界面采用图形与数字结合,兼顾形象化和准确性。前面板如图8所示。

图8 LabVIEW前面板Fig.8 LabVIEW front panel

4 系统试验与分析

基于本文设计的控制系统中进行了位置控制性能试验,采用72(6×12)穴孔的苗盘,外形尺寸为540mm×280mm×45mm,穴孔间距为42mm。根据苗盘输送作业的要求,将苗盘穴孔间距的整数倍42、126、504mm分别作为苗盘输送的试验距离。每个输送距离测量5次并将平均值作为测量结果,如表1所示。

表1 定位精度测量Table 1 Measuring result of positional accuracy

由表1可以看出:苗盘输送机构定位误差绝对值小于0.32mm,相对误差小于0.5%,具有良好的位置控制精度。

5 结论

从苗盘自动输送机构控制系统的实际功能和性能需求出发,完成了基于dsPIC30F5015和 LabVIEW的苗盘自动输送控制系统的设计。该系统实现了苗盘输送位置等信息的实时显示、控制、上位机和下位机的数据接收与显示等功能。试验过程中,启动、运行良好,反应速度快,苗盘定位误差小于0.32mm,相对误差在0.5%范围之内,能够满足苗盘自动输送和精确定位的实际需求,为研发具有自主知识产权的农业机器人及其控制系统奠定了基础。

猜你喜欢
同步带子程序伺服电机
同步带刮泡装置研发及应用
风电聚氨酯齿型同步带性能试验设计及应用
齿形对汽车同步带传动噪声的影响规律研究
齿形对汽车同步带振动影响规律的试验研究
专利名称:一种适应压铸环境的伺服电机
生产线中的伺服电机定位控制
伺服电机控制在电阻焊机的应用研究
伺服电机驱动的连铸结晶器振动位移系统模糊自整定PID控制
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索