基于dsp的全向运动控制系统软件设计毕业设计内容摘要:
部中断 (两个驱动保护、复位和两个可屏蔽中断 ) [6][7]。 为了满足机器人大量扩展传感器的需要和减少处理器外围数字逻辑器件的使用数量,该运动控制卡采用 Altera 公司的复杂可编程逻辑器件( CPLD)来扩展 DSP 的 I/O端口和实现外围数字逻辑电路设计 [8]。 基于 DSP 的全向运动控制系统 软件设计 9 硬件系统结构图 通过第 2 章关于运动学模 型的建立,为使得系统能够按照建立的数学模型进行运动, 除了 节的 DSP 主控制芯片外还 需要 其它的 硬件的支持,本课题设计的硬件系统结构图如图 9 所示。 其主要的工作方式为: PC 上位机选择相应的运动方式,经过RS232 协议连接无线模块,由无线模块发送数据。 DSP 下位机的无线模块接收上位机发送的数据,经 RS232 通信协议发送给 DSP。 DSP 接收到数据进行相应的处理,分析出要进行的运动形式及各种参数,同时利用 I2C 协议采集指南针的数据,将这些信息通过第 2 章的全向运动学模型分析的各种公式转换成各个电机的速度值。 为使得电 机能够稳、准、快的执行,本设计采用经典 PID 控制,以增量式编码器采集的值为反馈。 在进行的过程中液晶模块实时显示运动方式和参数及指南针的值,同时将编码器的值通过无线模块传送给 PC 上位机。 DSP 下位机将按照程序设定执行上位机设定的运动方式, 只有上位机重新发送新的运动方式才会改变。 P C 上 位 机无 线 通 信模 块R S 2 3 2无 线 通 信模 块D S P 下 位 机指 南 针 模 块电 源 模 块电机驱动模块电 机 1增 量 编 码 器电 机 2增 量 编 码 器电 机 3增 量 编 码 器液 晶 显 示R S 2 3 2图 9 硬件系统结构图 根据系统要求分配系统配置(见表 1): 基于 DSP 的全向运动控制系统 软件设计 10 表 1 DSP2407A系统资源分配 功能模块 名称 实现功能 通讯模块 SCI( PA0、 PA1) 通过无线模块 与电脑上位机通讯 (2 个 I/O) 电机调速 电机转向 PWM : PE PE PE6 3 个 PWM 控制控制调速,( 3 个 I/O) 正反转: PC0 PF2 PF45 每个电机两个正反转控制信号控制正反转 (6 个 I/O) 编码值读取 CAP: PF0、 PF PA3 利用 CAP 脉冲捕捉功能获取编码器脉冲,得到速度 (3 个 I/O) 液晶显示 PF PA47 液晶使能控制 IO 口 (5 个 I/O) PB07 液晶数据 8 位数据口 (8 个 I/O) 指南针模块 IIC:PE PE3 软件模拟 IIC 与指 南针通信, PE1 是 SCL , PE3 是SDA(2 个 I/O) 硬件系统 基本 模块 根据图 9 硬件系统结构图 所示,本节将分析几个重要的模块。 分为 电源模块、无线通信 模块、指南针模块、液晶显示模块, DSP 下位机模块、电机 及 驱动模块 和全向轮。 其中 DSP 下位机 节已经介绍,在此不再 叙述。 电源模块 在控制系统中,主要用到系统板电源模块 、 DSP、外围器件和 12V 电机供电。 TMS320LF2407A 不采用 5V供电而是采用低电压 供电方式。 电池选用 15V的锂电池,需要将 15V转换为 12V、 5V、。 电机需要大电流在此选用两块 2576 开关电源进行处理。 一块转换为 12V单独供电机,另一块转换 5V供外围 5V器件和 DSP开发板。 在开发板上 选用 LM1117 作为系统板电源模块的主芯片,把输入的 +5V 变为+。 无线通信模块 DSP2407A 处理器内嵌的异步串行接口 SCI 是一个标准的通用异步接收 /发送通讯接口,接收和发送都是双缓冲的,有自己的是能和中断位,支持半双工和全双工工作。 通讯接口有 SCITXD 和 SCIRXD 的 TTL 电平信号。 本设计是使用 ASWLCOM 无线模块。 本设计用的 是 RS232 电平接口 , 通讯 波特率设置 9600bps,无奇偶校验位, 8 位数据位和一个停止位。 ASWLCOM 的链接方法如图 10 所 示。 基于 DSP 的全向运动控制系统 软件设计 11 图 10 无线发送接收模块 连接图 指南针模块 采用 CY— 26 平面数字指南针模块图具有磁偏角补偿功能,通过硬磁补偿和设置地磁夹角能够表示成全向机器人的夹角。 指南针模块使用 232( 9600bps)协议及 IIC协议。 本设计中采用 IIC 通信协议。 测量范围 : 0176。 ~ 360176。 、分辨率: 176。 、测量精度 : 1 176。 、重复精度 : 1 176。 、响应频率: 30 HZ。 DSP 2407A 中 SCI 已经使用了无线模块,所以 在本很设计中使用 IIC 通讯协议进行通信。 IIC 通信模块地址及数据含义见表 2。 表 2 内部数据 模块内部地址 地址的数据含义 0x00 未用到 0x01 角度值高 8 位 0x02 角度值低 8 位 0x03 磁偏角高 8 位 0x04 磁偏角低 8 位 0x05 未用到 0x06 未用到 0x07 校准等级值 实际当前角度值为上表“角度值高 8 位”与“角度值低 8 位”合成的 16 位数据,数据范围 03599(因为分辨率为 176。 ) 实际当前磁偏角值为“磁偏角高 8 位”与“磁偏角低 8 位”合成的 16 位数据,数据范围 03599(因为分辨率为 176。 ) 通过 IIC 控制指南针命令, 磁偏角的值,范围 03599(因为分辨率为 176。 ) ,是由 2个 8位的数据组成,当修改模块磁偏角时,分为高 8 位值,低 8位值,写入模块。 其命令见表 3。 基于 DSP 的全向运动控制系统 软件设计 12 表 3 模块命令表 命令值 作用 0x00+0x31 角度测量 0x00+0xC0 校准 0x00+0XC1 停止校准 0x00+(0xA0+0xAA+0XA5+0XC5) 恢复出厂设置 0x00+(0xA0+0xAA+0XA5+IIC_ADDR) IIC 地址修改 0x03+磁偏高 8 位值 磁偏角修改 0x03+磁偏高 8 位值 磁偏角修改 液晶显示模块 使用 英寸 TFT 全彩屏,显示运动过程中各种状态和参数 如图 11, 通过显示模块能够很好的显示运动状态,同时系统出现问题也能通过显示反应出来。 图 11 液晶显示 电机及驱动模块 电机使用 Faulhaber 带双路编码器减速电机 2230 12V220, 减速后速: 220RPM(转每分钟) , 每圈脉冲: 512CPR(脉冲每圈) ,对于编码器将在下章介绍。 对于电机驱动本设计选用 L298N,它 是一款具有 15 管脚 Multiwatt 封装的大功率集成驱动芯片。 它是一个 能够 承受高电压, 大 电流的双 H 桥驱动。 L298N 可驱动 2 个电机, OUT1, OUT2 和 OUT3, OUT4 之间可分别接电机。 L298N 功能模块如表 4 所示。 表 4 L298N 功能模块 ENA IN1 IN2 运转状态 0 X X 停止 1 1 0 正转 1 0 1 反转 1 1 1 刹停 1 0 0 停止 基于 DSP 的全向运动控制系统 软件设计 13 L298N驱动电路如图 12所示。 单个电机的控制方法 如下: 通过 IO口控制 IN1和 IN2,使能 ENA 为 PWM,则通过控制 IN1 和 IN2 来实现正反转,通过 ENA 的 PWM 占空比调节 速度 快慢。 N1N2N3N4E1E2Input 15Input 27Input 310Input 412Enable A6Enable B11GND8Vss9Vs4motor 112motor 123motor 2113motor 2214Sense 11Sense 215*1L298NGNDGNDD1 D2D8D7D3 D4D6D5MB1MotorMB2Motor5V 12VGND100uFC2C1C4GNDGND100uFC3GND 图 12 L298N 电机驱动电路原理图 全向轮 作为全向 运动的驱动部分,驱动轮与普通驱动轮有着重要的区别。 在驱动轮的边缘处有侧滑的小轮,他们能够使得轮子向前后提供驱动力,同时能够使的侧面与地面很小的摩擦力,实现侧面移动。 4 系统运动控制 的 MATLAB仿真 本设计的 全向运动控制系统 使用三轴全向控制 ,即控制 3 个电机相互协调运动来实现全向轮动。 电机 的 控制对整个 系统是至关重要的。 本章主要分析系统的 PID 控制和 MATLAB仿真。 电机 PID 控制 电机是运动系统的执行机构,不管 DSP 计算的多么正确,但是电机执行达不到要求,同样系统是无法实现全向运动的。 为使得电机能够稳、准、快的执行 , 而 PID 是根据偏差的比例、积分、微分的线性组合进行反馈控制,是迄今为止工业中应用最为广泛的一种控制方法。 所以本设计 采用 PID 分别对三个电机进行闭环控制。 数字 PID 可分为位置式 PID 和增量式 PID 控制。 由于位置式 PID 是全量输出,所以每次输出均与过去的状态有关,计算时要对 e( k)进行累加, DSP 运算量大。 而增量式PID 控制的优点是只输出 增量,计算误差动作时造成的影响小,同时对控制算法不需要基于 DSP 的全向运动控制系统 软件设计 14 累加,增量只跟最近几次的偏差采样值有关,易获得较好的控制效果 [9]。 本设计采用增量式 PID,其闭环系统见图 13所示。 P I D 调 节 器P W M脉 宽 调 制电 机 驱 动 电 机编 码 器s ( t )+e ( t )_V ( t ) 图 13 电机闭环控制系统 已知模拟 PID 控制算法的传递函数 为式 (8): 11PdiUSD S K S T sE S T (8) 数字式 PID 前一刻输出的值 为式 (9): (9) 前一时刻减去后一时刻的值 为式 (10): (10) 数字 PID最终输出量 为式 (11): (11) 转速检测 本设计选用增量式 PID 即 节中所阐述的 PID。 对于 PID 控制反馈必不可少,在本设计使用的是 Faulhaber 带双路编码器减速电机 ,即增量式光电编码器 来做为反馈环节 ,其工作原理如图 14。 光源经过码盘和检测光 栅照射的信号 通过光电检测器件检测,检测出的正弦值经转换电路转换成矩形波,最后出来 A 相 B 相 Z 相。 A 相 B 相相差 90度,通过软件能够很好的得到此时电机的速度和方向。 对 AB 相的采集是电机闭环控制的反馈量,关乎电机 PID 控制是否能达到稳准快的要求。 本设计使用输入捕捉 CAP 功能对脉冲进行采集,将采集量进行相应处理即得到 PID 控制的反馈。 10 00( 1 ) ( 1 ) ( ) ( 1 ) ( 2 )k dpiiTTu k K e k e i e k e k ( 1 ) ( ) ( 1 )( ) ( 1 ) ( ) 2 ( 1 ) ( 2 )p i dk u k u kk e k e k k e k k e k e k e k ( ) ( 1 ) ( )u k u k u k 基于 DSP 的全向运动控制系统 软件设计 15 14 增量式编码器输出信号波形 MATLAB 仿真 在三轴控制系统中, PID 是应用最广泛的控制算法。 针对电机模型,这里设定电机的模型为2 3() 2 3 4Gs ss ,针对此电机模型进行 MATLAB 仿真,观察 PID 控制算法的控制效果 [10][11]。 控制结果比较曲线如图 15 所示。 绿色曲线为期望值,蓝色曲线为 PID控制跟踪曲线,红色曲线为误差曲线,实际速度可以通过编码器反馈。 可以看出 PID 控制方式的响应速度、跟踪精度可以达到系统要求。 针对 三轴运动控制系统 设计以下速度合成实验,假设机器人坐标系和场地坐标系具有同样的方位,要求机器人(作为整体)沿 45176。 ( 45 )的方向从静止开始,匀加速运动 2 秒,达到 ,然后匀 速运动 2 秒,再在。基于dsp的全向运动控制系统软件设计毕业设计
相关推荐
111 iiiDiIiipii eeeTTeTTeeKuu 式 5 式 4称为增量型 PID控制算式;式 5称为递推型 PID 控制算式; 增量型控制算式具有以下优点: (a)计算机只输出控制增量,即执行机构位置的变化部分,因而误动作影响小; (b)在 i 时刻的输出 iu ,只需用到此时刻的偏差,以及前一时刻,前两时刻的偏差 1ie 、 2ie ,和前一次的输出值
.................. 30 ........................................................................................................ 32 按键设计 ................................................................
DSP 的扩展端口控制外围设备的方法 , 测试基于TMS320VC5402 DSP最小系统 的 基本 I/O口。 二、实验设备 计算机、仿真器、 DSP 最小系统 板 三、实验原理 1. 程序框图如图 52所示。 图 52 程序流程 define LBDS (*((unsigned int *)0xaaaa)) //定义指示灯寄存器地址和寄存器类型; for ( i=0。 i8。 i++ ) {
”。 二者相差的程度用转差率 s 来表示 : 00n nns (25) 一般交流电动机在额定负 载时的转差率约为 1%9%。 n + 基于 DSP 交流变频调速系统的设计 第 8 页 共 43 页 8 交流电机的调速方式 根据电机学原理知识,可以得到交流电机的转速公式为 : spfsnn 116010 (26) 由式 (26)可以看出,交流电机调速方法主要有三大类
、实验步骤与内容 MATLAB辅助 DSP 实现 FIR ,其总体过程为在 DSP 中编写处理程序 , 在 MATLAB中利用滤波器设计、分析工具 ( FDATOOL) ,根据指定的滤波器性能快速设计一个FIR ,然后把滤波器系数以头文件形式导入 CCS 中 ,头文件中 MATLAB 辅助 DSP 实现 FIR 数字滤波器含滤波器阶数和系数数组 ,在 MATLAB中调试、运行 DSP 程序并显示
择 可以利用定时器 /计数器配合光电编码器的输出脉冲信号来测量电机的转速。 具体的测速方法有 M 法、 T 法和 M/T 法 3种。 M 法又称之为测频法,其测速原理是在规定的检测时间 Tc 内,对光电编码器输出的脉冲信号计数的测速方法,如图 2 所示,例如光电编码器是 N线的,则每旋转一周可以有 4N个脉冲,因为两路 6 脉冲的上升沿与下降沿正好使编码器 信号 4 倍频。 现在假设检测时间是