第6章 轮式巡线机器人的设计与制作_第1页
第6章 轮式巡线机器人的设计与制作_第2页
第6章 轮式巡线机器人的设计与制作_第3页
第6章 轮式巡线机器人的设计与制作_第4页
第6章 轮式巡线机器人的设计与制作_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1机器人控制技术与实践

2第六章轮式巡线机器人的设计与制作6.1轮式巡线机器人6.2硬件设计6.3软件开发环境 6.4STM32的I/O端口的应用6.5系统整体调试3

轮式移动机器人是最常见的机器人类型,是机器人应用领域的重要研究发展方向。轮式机器人的移动方向有时需要外加环境标识的引导,其中引导线是一种常用的方式。第六章轮式巡线机器人的设计与制作46.1轮式巡线机器人

轮式机器人是最常见的机器人,它不仅移动速度快、稳定性好,而且移动方向易于控制,广泛应用于安防、医疗、工业等多个领域。轮式机器人为了到达目的地,有时需要一定的引导方式,最常见的就是沿着地面引导线行走。56.2硬件设计

机器人包括底盘结构、舵机、轮子、传感器、稳压模块、电池等。66.2硬件设计

1、机械结构轮式巡线机器人的主体采用两轮加万向轮的结构,车前侧安装两个传感器,用于检测地面信息,车后侧安装万向轮实现车身稳定及转向功能。76.2硬件设计

2、电路设计轮式巡线机器人系统的电路主要包括主控板、传感器、电源、驱动器等组成。86.2硬件设计

(1)主控板为了完成轮式巡线机器人的控制,主控板选用STM32单片机开发板。与MCS-51等单片机相比运算速度更快、集成度更高、对数据量的处理功能更强大,具有高性能、低功耗、低成本等特性,较适合用于小型机器人的开发。96.2硬件设计

(2)驱动器的选择适合轮式机器人驱动的方式主要有速度舵机和直流电机等方式。其中,直流电机转速快、力矩大,更加适合快速移动、负重要求较高的机器人;速度舵机控制精度较高,更加适合机械臂、抓手等高精度定位的领域。106.2硬件设计

(3)电源模块稳定的供电电压是保障硬件电路稳定工作的前提。主控制板芯片的工作电压为2-3.6V,舵机和小直流电机的工作电压为4.8-7.2V,选择了额定电压为7.4V的2S锂电池供电。116.2硬件设计

(4)传感器轮式巡线机器人的传感器主要用于探测,白色地图中黑色边界线,所以选用型号为SEN1595的灰度传感器。126.2硬件设计

(5)电路连接架构轮式巡线机器人控制电路的主要硬件及其主要参数确定后,可参考下图将各硬件相连组成机器人的控制系统,进行各模块的测试。136.3软件开发环境

Keil是一款基于微控制器的软件开发平台,是目前ARM内核单片机开发的主流工具。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器在内的完整开发方案,通过一个集成开发环境将这些功能组合在一起。146.3软件开发环境

1、KeilMDK开发环境的安装(1)安装mdk_514.exe以管理员身份安装,右键点击出现下图的界面,并根据提示完成安装。156.3软件开发环境

(2)安装Keil.STM32F1xx_DFP.1.0.5.pack为了能在KEIL中对STM32M3进行正常的编程及编译,需要继续安装相关的库函数包。166.3软件开发环境

2、下载及调试软件(1)代码下载及调试程序编译好后,需要将编译后的hex文件下载到STM32开发板的主控CPU,程序才能运行,执行相关动作。STM32开发板下载程序的方法有串口下载和J-Link下载。如果通过J-Link下载器进行下载,则需要准备J-Link下载器。176.3软件开发环境

2、下载及调试软件(2)代码调试机器人调试的过程中,遇到问题需要进一步确认原因,此时需要可视化的调试工具。186.4STM32的I/O端口的应用

STM32-M3单片机有7组16位的并行I/O口:PA、PB、PC、PD、PE、PF、PG,共112个,这些端口既可以作为输入(Input),也可以作为输出(Output);可按16位处理,也可按位方式(1位)使用。如果将PA-PG口作为输入或输出时,需要先进行相关的配置。STM32的部分有复用功能,既有普通的输入输出口功能,又能作为串口等复用功能。196.4STM32的I/O端口的应用

一、I/O端口的配置及使用1、I/O端口配置在KeilMDK的头文件“stm32f10_gpio.h”里,端口定义按照下面的结构体操作:typedefstruct{u16GPIO_Pin;GPIOSpeed_TypeDefGPIO_Speed;GPIOMode_TypeDefGPIO_Mode;}GPIO_InitTypeDef;。206.4STM32的I/O端口的应用

2、驱动发光二极管配置好端口后,可以通过程序设置端口输出电平的高低,这里以端口接一个发光二极管为例。要求当端口输出低电平时,发光二极管亮;端口输出高电平时,发光二极管灭。#include"stm32f10x.h"#include"led.h"#include"delay.h"intmain(void){LED_Init();//初始化LED,包括端口配置SysTick_Init();//初始化时钟while(1){GPIO_SetBits(GPIOD,GPIO_Pin_5);//PB5输出高电平Delay_ms(1000);//延时500msGPIO_ResetBits(GPIOD,GPIO_Pin_5);//PB5输出低电平Delay_ms(1000);//延时500ms}}216.4STM32的I/O端口的应用

2、驱动发光二极管配置好端口后,可以通过程序设置端口输出电平的高低,这里以端口接一个发光二极管为例。要求当端口输出低电平时,发光二极管亮;端口输出高电平时,发光二极管灭。#include"stm32f10x.h"#include"led.h"#include"delay.h"intmain(void){LED_Init();//初始化LED,包括端口配置SysTick_Init();//初始化时钟while(1){GPIO_SetBits(GPIOD,GPIO_Pin_5);//PB5输出高电平Delay_ms(1000);//延时500msGPIO_ResetBits(GPIOD,GPIO_Pin_5);//PB5输出低电平Delay_ms(1000);//延时500ms}}226.4STM32的I/O端口的应用

二、PWM波产生驱动电机和舵机需要PWM波来来实现能量、信号等参数的调节。通过对IO口输出固定频率的高低电平,是常见的PWM波生成方法,这种方法较适合固定占空比的PWM波。如果机器人在行走过程中需要调速,则一般考虑由定时器产生PWM波。STM32的定时器除了TIM6和TIM7,其他的定时器都可以用来产生PWM输出。其中高级定时器TIM1和TIM8可以同时产生7路的PWM输出。而通用定时器也能同时产生4路的PWM输出。236.4STM32的I/O端口的应用

三、舵机和电机驱动1、I/O口驱动舵机控制电机运动转速的是高电平持续的时间,当高电平持续1.5ms时,该脉冲序列发给经过零点标定后的舵机,舵机不会旋转。当高电平持续时间为1.3ms时,电机顺时针全速旋转,当高电平持续时间1.7ms时,电机逆时针全速旋转。下面介绍如何给STM32微控制器编程使PD端口的第9、10脚(PD9、PD10)产生舵机的控制信号。246.4STM32的I/O端口的应用

三、舵机和电机驱动2、I/O口驱动直流电机直流电机工作时由于需要的电流较大,通常要用到电机驱动器。电机工作电压大小和电机转动速度有一定的关系。电机可以实现正传和反转,正反转取决于电源的供电(+或者-);电机的速度也可以通过PWM波等方式调速实现。电机旋转方式控制端IN1控制端IN2调速使能ENM1正转高低PWM调速反转低高停止低低256.4STM32的I/O端口的应用

四、传感器数据采集1、读取数字灰度传感器STM32单片机接数字式灰度传感器,实际上是使用STM32单片机I/O口的输入功能。当遇到黑线时,传感器返回高电平;当遇到白线时,传感器返回低电平。2、读取模拟灰度传感器当机器人行走的地图颜色情况较多,不是只有黑白两种状态时,这时就要借助模拟传感器获取不同颜色的灰度信息,并据此判断地图颜色信息。模拟传感器产生的信号是模拟信号,由于单片机只能处理数字信号,不能直接读取模拟信号。因此,要将模拟灰度传感器的信号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论