DSP在平行双轮电动车控制系统中的应用

2024-02-16 05:10

本文主要是介绍DSP在平行双轮电动车控制系统中的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DSP在平行双轮电动车控制系统中的应用

[日期:2008-6-18]来源:中电网  作者:刘庆伟,任 波,林青松[字体:大 中 小]
<script src="http://www.21ic.com/innews.js" type="text/javascript"></script>

 

1 引 言

2001年,美国发明家Kamen发明了一种新型的方便快捷的两轮交通工具“Segway”,行走平衡控制技术成为全球机器人控制技术的研究热点。以平行双轮电动车作为移动平台为机器人的研究提供了技术支持,同时由于他的行为与火箭飞行和两足机器人有很大的相似性,因而对其运动平衡控制研究具有重大的理论和实际意义。文献[2]介绍了平行双轮电动车的控制器电路,以C8051F020单片机为控制核心通过调整车体平台的运行位置,从而使车体平台始终保持平衡状态。然而其并没有考虑载人、载物的因素以及转向和特殊路面、打滑等方面。再者,作为一种交通工具,由于没有考虑初始自平衡的设计,将会给以后的产业化进程提出新的挑战。因此需要寻找控制方法、原理均不同的其他控制理论来设计,如模糊控制、智能控制等。

一般的单片或多片微处理器不能满足复杂、先进的控制算法时,DSP成为这种应用场合的首选器件。TI公司推出的面向运动控制、电动机控制的TMS320x24xx系例DSP控制器,把一个16位的定点DSP核和用于控制的外设、大容量的片上存储器集成在单一芯片上,能够实现软件包括电动机状态值的采样与计算,控制算法的实施以及PWM信号的输出,此外还包括故障检测与保护、数据交换与通信等。与单片机相比,在电机控制系统设计中,采用TMS320LF2407A具有更有效的控制能力,从而减小整个系统的成本。

2 平行双轮电动车的组成

平行双轮电动车像倒立摆一样本身不能自然保持稳定,必须施加适当的手段才能使之稳定。他主要由车体平台,两只带光电编码器的小型无刷直流电机,左、右车轮和只有在静止状态才起作用的两只保护导向轮组成。两只无刷直流电机安装在车体平台的下面,通过齿轮减速机构分别独立驱动左、右车轮运动,具有尺寸小、操作灵活、节省能源等优点。

平行双轮电动车的行走机构如图1所示,是一种两轮同轴左右平行布置、独立驱动的结构,其行走机构控制的关键是两轮行走机构在行走过程中的平衡控制。平行双轮电动车行走机构要求具有如下优点:

(1)可以实现零半径转弯,具有极强的灵活性。由于只有两个轮子,因而结构尺寸可以做得较小,转弯时占用的空间也相对较小。这一特点使他适用在狭窄和移动中需经常转弯的空间(如仓库等)。

(2)三轮或四轮车辆在爬坡时重心会发生倾斜,因而对坡度有限制。平行双轮电动车在爬坡时上体姿态和走平路时一样,重心不发生倾斜,所以平行双轮电动车可适应更大的爬坡的坡度。

3 TMS320LF2407A

TI公司的DSP产品TMS320LF2407A对电机的数字化控制非常有用。他将几种先进外设集成在芯片内,以形成真正的单芯片控制器,从而将DSP的高速运算能力与面向电机的高效控制能力集于一体,是目前最具竞争力的数字电机控制器。TMS320LF2407A主要特点:

(1) 采用高性能静态CMOS技术,使得供电电压降为3.3 V,减小了控制器的功耗;30 MIPS的执行速度使得指令周期缩短到33 ns(30 MHz),从而提高了控制器的实时控制能力。

(2)片内有高达32 kB的FLASH程序存储器,高达1.5 kB的数据/程序RAM,544 B双口RAM(DARAM)和2 kB的单口RAM(SARAM)。

(3)两个事件管理器模块EVA和EVB,分别提供两个16位通用定时器;8个16位的脉宽调制(PWM)通道;3个捕获单元;10位的16通道A/D转换器。他们能够实现:三相反相器控制;PWM的对称和非对称波形的输出;当外部引脚PDPINTx出现低电平时快速关闭PWM通道;可编程的PWM死区控制以防止上下桥臂同时输出触发脉冲;片内光电编码器接口电路用于对光电编码器信号进行正反向计数。时间管理器模块适用于控制交流感应电机、无刷直流电机、开关磁阻电机、步进电机、多级电机和逆变器。

4 无刷直流电动机的DSP控制策略

图2是三相无刷直流电动机调速控制框图。给定转速与速度反馈量形成偏差,经速度调节后产生电流参考值,他与电流反馈量的偏差经电流调节后控制PWM脉冲的占空比,实现电动机的速度控制。电流的反馈是通过测量电阻的压降来实现,速度反馈则是通过霍尔位置传感器输出的位置量,经过计算得到的。位置传感器输出的位置还用于控制换相。

5 平行双轮电动车的控制原理

以TMS320LF2407A为控制核心的运动控制器,根据光电编码器和姿态传感器检测到的平台运行的位移和姿态信号,通过一定的控制策略计算出控制量,再经PWM控制及驱动器放大后驱动无刷直流电动机运转,随时调整车体平台的运行速度,从而使车体平台始终保持平衡状态。控制器电路主要由TMS320LF2407A、电机驱动芯片、电池模块以及外围电路组成。其控制电路原理框图如图3所示。

采用微硅陀螺仪和倾角传感器的组合构成姿态传感器来检测车体平台的运行姿态。其中,微硅陀螺仪检测的是平台绕转动轮轴转动的角速率,倾角传感器检测的是平台相对于水平面的倾角。控制板采集来自倾角和角速度传感器的信号并对信号进行调理(消波、整形、偏移),然后将信号传送到TMS320LF2407A的ADCIN00和ADCIN01通道中,经过DSP的运算处理(控制算法由电动车系统的数学模型推导而出),通过DSP的两路PWM将控制信号发出,再经过电机驱动模块驱动电机运转,控制小车保持平衡状态。

6 检测电路的工作原理

考虑到来自输入的噪声干扰等因素,要对传感器的输出电压进行调理。相同的输入电路共有8路(1路为倾角传感器输入电路;1路为角速度传感器输入电路;1路为小车驾驶者的转弯信号输入(保留功能);1路为电池电量检测;其余4路为预留电路),下面仅就其中1路加以说明。电路图如图4所示。

其中U4C为多端输入的电压并联负反馈电路,假设偏置电压与传感器输入电压分别为V1,V2,则:

由此得:

这里取R31=R15=R16,所以有V8=-(V1+V2),即:基本运算电路中的反相加法电路。然后将其输出电压V8再经过反向放大器U4D进行放大,调节W18使输出为0~2.4 V,其中D15与D16为过电压保护电路。

图5为偏置电压产生电路,VREF1P,VREF1N为图4中的偏置电压的输入端,由于偏置电压值要求比较高,所以选用TL074对CPUREF这个精度比较高的电压进行放大来提供。

7 软件设计

软件设计框图如图6所示,包括初始化部分、数据处理和转换部分、闭环控制算法以及控制量输出部分等。初始化程序设置用户要求的变量和系统初始状态,主要完成设置系统寄存器初值、建立中断、外围部分初始化的工作。数据处理和转换部分完成对输入信号进行数据采集并进行平滑滤波处理。闭环控制算法根据闭环极点配置算法进行编程。

8 行走仿真

经过对控制参数的多次调整,样车终于能够比较平稳的行走。样车在平衡状态下(速度初始值为零)采集到有关数据,通过软件处理后生成样车在直线行走时的速度变化折线图,如图7所示。样车平台绕轮轴的倾角变化折线图如图8所示。

由图7可以看出,速度曲线首先从零点向正方向变化,且变化的速度很快,然后很快下降到零点,在零点保持一段时间后,速度曲线又很快向负方向变化,然后迅速变化到零点,保持一段时间后,速度曲线重新开始新的一个变化周期。对应于样车,即样车向一个方向很快运动,然后迅速停止,保持一定时间后,又向另一个方向很快运动,然后迅速停止,保持一定时间后,再开始一个新的运动周期。

由图8可以看出,倾角首先从零点上升到最大点,然后下降到最低点,再从最低点上升到最高点,如此周而复始,其最高点和最低点倾角绝对数值都比较小。

从速度、倾角变化折线图可以看出:样车在保持平衡状态下,其直线行走的速度在一个比较窄的范围内绕零点周期性地变动,也就是说,样车在有规律地做往返振荡运动;样车绕轮轴的倾角围绕零点在一个较小的范围内做有规律的波动。从上面的变化规律可以看出,样车处于一个动平衡的状态,因此可以得出这样的结论:控制系统的建模和控制器的设计是合理有效的,完全可以通过一系列的控制手段,较好地实现平行双轮电动车的行走。

9 结 语

本文针对平行双轮电动车的技术要求和具体特点,以美国TI公司生产的TMS320LF2407A作为控制核心,将DSP芯片运用于平行双轮电动车的控制系统设计中,可以实现硬件体积小、系统抗干扰能力强、响应速度快、控制方案灵活等特点。对其后续的研究工作,如电机的控制可以引入多种控制策略,以求得到更好的控制性能、精度和转矩的平稳性,具有深远的意义。

这篇关于DSP在平行双轮电动车控制系统中的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/713574

相关文章

Java中的Lambda表达式及其应用小结

《Java中的Lambda表达式及其应用小结》Java中的Lambda表达式是一项极具创新性的特性,它使得Java代码更加简洁和高效,尤其是在集合操作和并行处理方面,:本文主要介绍Java中的La... 目录前言1. 什么是Lambda表达式?2. Lambda表达式的基本语法例子1:最简单的Lambda表

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

SpringShell命令行之交互式Shell应用开发方式

《SpringShell命令行之交互式Shell应用开发方式》本文将深入探讨SpringShell的核心特性、实现方式及应用场景,帮助开发者掌握这一强大工具,具有很好的参考价值,希望对大家有所帮助,如... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

MySQL 分区与分库分表策略应用小结

《MySQL分区与分库分表策略应用小结》在大数据量、复杂查询和高并发的应用场景下,单一数据库往往难以满足性能和扩展性的要求,本文将详细介绍这两种策略的基本概念、实现方法及优缺点,并通过实际案例展示如... 目录mysql 分区与分库分表策略1. 数据库水平拆分的背景2. MySQL 分区策略2.1 分区概念

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1