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

相关文章

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

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

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

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

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和

python中time模块的常用方法及应用详解

《python中time模块的常用方法及应用详解》在Python开发中,时间处理是绕不开的刚需场景,从性能计时到定时任务,从日志记录到数据同步,时间模块始终是开发者最得力的工具之一,本文将通过真实案例... 目录一、时间基石:time.time()典型场景:程序性能分析进阶技巧:结合上下文管理器实现自动计时

Java逻辑运算符之&&、|| 与&、 |的区别及应用

《Java逻辑运算符之&&、||与&、|的区别及应用》:本文主要介绍Java逻辑运算符之&&、||与&、|的区别及应用的相关资料,分别是&&、||与&、|,并探讨了它们在不同应用场景中... 目录前言一、基本概念与运算符介绍二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. &:非短

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2