基于STM32的舵机控制系统.docx

上传人:b****5 文档编号:3119574 上传时间:2022-11-17 格式:DOCX 页数:36 大小:1.53MB
下载 相关 举报
基于STM32的舵机控制系统.docx_第1页
第1页 / 共36页
基于STM32的舵机控制系统.docx_第2页
第2页 / 共36页
基于STM32的舵机控制系统.docx_第3页
第3页 / 共36页
基于STM32的舵机控制系统.docx_第4页
第4页 / 共36页
基于STM32的舵机控制系统.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

基于STM32的舵机控制系统.docx

《基于STM32的舵机控制系统.docx》由会员分享,可在线阅读,更多相关《基于STM32的舵机控制系统.docx(36页珍藏版)》请在冰豆网上搜索。

基于STM32的舵机控制系统.docx

基于STM32的舵机控制系统

摘要

随着越来越多的高科技产品逐渐融入了日常生活中,舵机的控制系统发生了巨大的变化。

单片机、C语言等前沿学科的技术的日趋成熟与实用化,使得舵机的控制系统有了新的的研究方向与意义。

本文描述了一个由STM32微处理器、舵机、LCD显示器、键盘等模块构成的,提供基于STM32的PWM信号舵机的控制系统。

该系统采用STM32微处理器为核心,在MDK的环境下进行编程,根据键盘的输入,使STM32产生周期性PWM信号,用此信号对舵机的速度及转角进行控制,并且通过LCD显示出数据。

结果表明该系统具有结构简单、工作可靠、精度高等特点.

关键词:

STM32微处理器;舵机系统;LCD显示;PWM信号

Abstract

Aswellasthehigh-techproductsgraduallyintegratedintothedailylife,servocontrolsystemhasundergonetremendouschanges.SCMandClanguageofthefrontierdisciplinessuchmaturetechnologyandpractical,Makesteeringcontrolsystemisanewresearchdirectionandmeaning.ThispaperdescribesaSTM32microprocessors,steering,LCDdisplayandkeyboard,etc.BasedontheSTM32servocontrolsystemofPWMsignal,ThissystemusesSTM32microprocessorasthecore,MDKintheenvironment,accordingtothekeyboardinputprogramming,STM32produceperiodicPWMsignal,withthissignaltothevelocityandAngleofsteeringgearcontrol,andthroughtheLCDdisplaydata.Thefeaturesofthesimplehardware,stableoperationandhighprecisionareincarnatedintheproposedsystem.

Keywords:

STM32microprocessors;Steeringsystem;LCDdisplay;pulsewidthmodulationsignal

第1章绪论

舵机(servomotor),又名伺服电机,主要是由外壳、电路板、马达、减速齿轮和电位器构成。

舵机主要适用于那些需要角度不断变化并可以保持的控制系统,比如人形机器人的手臂和腿,车模和航模的方向控制。

舵机的基本工作原理是发一个控制信号给舵机,经电路板判断转动方向,再驱动马达开始转动,透过减速齿轮将动力传至摆臂,同时由电位器检测送回讯号,判断是否已经到达指定位置。

早期在模型上使用最多,主要控制模型的舵面,所以俗称舵机。

舵机接收一个简单的控制命令就可以自动的转动到一个比较精确的角度,仿人型机器人就是舵机应用的最高境界。

随着工业的发展,舵机应用到那些需要角度不断变化并可以保持的控制系统,目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。

1.1课题背景

舵机最早出现在航空模型中,飞机的飞行姿态是通过调节发动机和各个控制舵面来实现的。

以简单的四通飞机来说,遥控器有四个通道,分别对应四个舵机,而舵机又通过连杆等传动元件带动舵面的转动,从而改变飞机的运动状态。

舵机因此得名:

控制舵面的伺服电机。

不仅在航模飞机中,在其他的模型运动中都可以看到它的应用:

船模上用来控制尾舵,车模中用来转向等等。

目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍,由此可见,凡是需要操作性动作时都可以用舵机来实现,随着舵机的应用越来越广泛,对舵机的精确控制要求也越来越高,因此一个好的舵机控制系统使舵机的控制精确会达到一个新的高度,让舵机达到理想的工作状态。

STM32系列32位闪存微控制器基于突破性的ARMCortex-M3内核,这是一款专为嵌入式应用而开发的内核。

STM32系列产品得益于Cortex-M3在架构上进行的多项改进,包括提升性能的同时又提高了代码密度的Thumb-2指令集,大幅度提高的中断响应,而且所有新功能都同时具有业界最优的功耗水平。

STM32F系列产品的目的是为MCU用户提供新的自由度。

它提供了一个完整的32位产品系列,在结合了高性能、低功耗和低电压特性的同时保持了高度的集成性能和简易的开发特性.它的优点有以下几个方面:

搭载ARM公司最新的、具有先进架构的Cortex-M3内核,出色的实时性能,优越的功效高级的、创新型外设,最大的集成性易于开发,加速了面市时间整个产品系列具有脚到脚、外设和软件的高度兼容性,为您提供最大的灵活性。

1.2课题的研究展望

舵机是随着生产发展而产生和发展的,而舵机的发展反过来又促进社会生产力的不断提高。

以前,舵机的发展过程是由诞生到在工业上初步应用、各种舵机建立和发展。

在进入计算机和自动化时代的今天,不仅对舵机提出了诸多性能良好、运行可靠、单位容量的重量轻、体积小等方面越来越多的要求,而且随着自动控制系统的计算装置的发展,在舵机转动的理论基础上,发展出多种高精度、快响应的控制舵机。

与此同时,电力电子学等学科的渗透使舵机这一较为成熟的学科得到新的发展。

当前科学技术突飞猛进,因此舵机正向多用途、多品种方向发展,向高精度和高稳定的方向发展。

在应用上,由于计算机技术迅速发展,将会出现由机器人工作的无人工厂,以计算机作为这些工厂的“中枢神经”,使实现无人化成为可能。

在这种时代里,某些特种舵机必须具有快速响应、高精度运动、快速启动和停止等使机器人比人的手脚更复杂而精巧的运动。

理论上,在舵机中应用了控制技术,使舵机具有更好的特性,因此舵机控制系统成为控制一些重要元件的重要的部分。

基于STM32的舵机控制系统会越来越多的应用在精度要求高的舵机系统中,舵机的控制将与其他的元件结合,功能越来越强大,使得舵机的作用也会越来越大。

课题任务及要求

本次设计的基于STM32的舵机控制系统是以STM32微处理器为核心,在MDK的环境下进行C语言的编程,编写键盘、ADC、显示的子程序,设计键盘中的某个按键,当按下该按键时,通过STM32产生PWM信号,该信号为舵机控制信号,控制多路舵机,实现可通过按键控制舵机的旋转角度和速度等有效准确的控制,并将其状态通过TFT彩色LCD显示,毕设方案:

1、熟悉科研课题的环境及毕业设计的具体要求;

2、阅读主要参考文献,收集有关资料;

3、学习STM32处理器;

4、学习舵机控制的技术资料;

5、学习基于固件库的程序开发方法;

6、掌握MDK编程环境的C语言开发平台;

7、完成论文。

1.3课题内容及安排

本文对基于STM32的舵机控制系统设计进行了详细的介绍,共分五章。

第1章简要介绍了整个课题的研究背景、目的、意义及整个任务的要求安排;第2章是针对此次课题的任务进行方案论证,尤其重要的对STM32微处理器其32位的处理能力及内嵌的语音对本设计的影响进行详细的阐述;第3章具体介绍了整个控制系统的硬件设计,包括键盘输入模块电路,转接板电路,显示电路的设计;第4章阐述了舵机控制系统的软件设计,包括STM32初始化子程序,数据处理子程序,显示子程序的设计。

第5章是针对硬件调试、软件调试和整机连调的结果进行了具体的分析和说明。

第2章硬件设计

硬件是整个基于STM32技术的舵机控制系统设计的基础,怎样选择合适的器件来组成整个硬件电路十分关键,也是本章叙述的重点。

除此之外,以下部分还会分别阐述本设计运用到的各个模块的特性和原理,以及它们所能实现的功能。

2.1STM32微处理单元

本设计的舵机控制系统需要STM32处理器,STM32微处理器完成键盘输入量对舵机的控制,并且通过LCD显示舵机的转动角度,作为舵机的主控制器,实现对舵机稳定和精确的控制。

作为微型移动机器人上的主控制器,需要处理的数据和事件比较多,因此需要一款功能强大的处理器——STM32这款32位的微处理器正是最佳的选择。

下面将着重介绍STM32的强大的功能以及本设计所用到的STM32中的SPI通讯的部分的工作原理。

STM32的突出的功能包括以下几点:

1.性能强劲。

在相同的主频下能做处理更多的任务,全力支持劲爆的程序设计。

2.功耗低。

延长了电池的寿命——这简直就是便携式设备的命门(如无线网络应用)。

3.实时性好。

采用了很前卫甚至革命性的设计理念,使它能极速地响应中断,而且响应中断所需的周期数是确定的。

4.代码密度得到很大改善。

一方面力挺大型应用程序,另一方面为低成本设计而省吃俭用。

5.使用更方便。

现在从8位/16位处理器转到32位处理器之风刮得越来越猛,更简单的编程模型和更透彻的调试系统,为与时俱进的人们大大减负。

6.低成本的整体解决方案。

让32位系统比和8位/16位的还便宜,低端的Cortex‐M3单片机甚至还卖不到1美元。

7.遍地开花的优秀开发工具。

免费的,便宜的,全能的,要什么有什么。

正是基于以上这么多的优点,使得STM32成为本设计中微型移动机器人上的主处理器的最佳选择。

下图2.1为STM32的系统结构图

图2.1STM32系统结构图

高级控制定时器由一个16位的自动装载计数器组成,它由一个可编程预分频器驱动。

它适合多种用途,包含测量输入信号的脉冲宽度(输入捕获),或者产生输出波形(输出比较,PWM,嵌入死区时间的互补PWM……)。

使用定时器预分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。

高级控制(TIM1)和通用(TIMx)定时器是完全独立的,它们不共享任何资源

TIM1定时器的功能包括:

1.16位上,下,上/下自动装载计数器

2.16位可编程预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值

3.4个独立通道:

输入捕获,输出比较,PWM生成(边缘或中间对齐模式),单脉冲模式输出,死区时间可编程的互补输出

4.使用外部信号控制定时器和定时器互连的同步电路

5.在指定数目的计数器周期之后更新定时器寄存器

6.刹车输入信号可以将定时器输出信号置于复位状态或者一个已知状态

7.如下事件发生时产生中断/DMA:

(1)更新:

计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)

(2)触发事件(计数器启动,停止,初始化或者由内部/外部触发计数)

(3)输入捕获─输出比较─刹车信号输入

高级定时器TIM的框图如下,

图2.2定时器TIM的框图

2.2舵机

图2.3舵机实物图

舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统 。

  舵机都有外接三根线,分别用棕、红、橙三种颜色进行区分,棕色为接地线,红色为电源正极线,橙色为信号线。

电源线和地线用于提供舵机内部的直流电机和控制线路所需的能源.电压通常介于4~6V,一般取5V

图2.4舵机的接线图

其工作原理是:

控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。

它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。

最后,电压差的正负输出到电机驱动芯片决

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1