文档库 最新最全的文档下载
当前位置:文档库 › 智能车 舵机控制和光电编码器测速

智能车 舵机控制和光电编码器测速

智能车 舵机控制和光电编码器测速
智能车 舵机控制和光电编码器测速

智能小车舵机控制精编版

智能小车舵机控制精编 版 MQS system office room 【MQS16H-TTMS2A-MQSS8Q8-MQSH16898】

1 //只利用一个定时器 T0,定时时间为,定义一个角度标识,数值为 1、2、3、4、5, //实现、1ms、、2ms、高电平的输出,再定义一个变量,数值最大为 40,实现周期为 20ms。 //每次进入定时中断,判断此时的角度标识,进行 //相应的操作。比如此时为 5,则进入的前 5 次中断期间,信号输出为高电平,即为的 //高电平。剩下的 35 次中断期间,信号输出为低电平,即为的低电平。这样总的时间 //是 20ms,为一个周期。 //用51板上s1和s2按键 //用P1^7输出 PWM信号控制舵机 #include "" unsigned char count; //次数标识 sbit pwm =P1^7 ; //PWM信号输出 sbit jia =P3^0; //角度增加按键检测IO口 sbit jan =P3^1; //角度减少按键检测IO口 sbit jianwei=P3^4; //按键位 unsigned char jd; //角度标识 sbit dula=P2^6; sbit wela=P2^7; unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e void delay(unsigned char i)//延时 { unsigned char j,k; for(j=i;j>0;j--) for(k=125;k>0;k--); } void Time0_Init() //定时器初始化 { TMOD = 0x01; //定时器0工作在方式1 IE= 0x82; TH0= 0xfe; TL0= 0x33; //晶振, TR0=1; //定时器开始 } void Time0_Int() interrupt 1 //中断程序 { TH0 = 0xfe; //重新赋值 TL0 = 0x33; if(count

编码器使用教程与测速原理

编码器使用教程与测速原理 我们将通过这篇教程与大家一起学习编码器的原理,并介绍一些实用的技术。 1.编码器概述 编码器是一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器,我们可以通过编码器测量到底位移或者速度信息。编码器从输出数据类型上分,可以分为增量式编码器和绝对式编码器。 从编码器检测原理上来分,还可以分为光学式、磁式、感应式、电容式。常见的是光电编码器(光学式)和霍尔编码器(磁式)。 2.编码器原理 光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器是由光码盘和光电检测装置组成。光码盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,检测装置检测输出若干脉冲信号,为判断转向,一般输出两组存在一定相位差的方波信号。 霍尔编码器是一种通过磁电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。霍尔编码器是由霍尔码盘和霍尔元件组成。霍尔码盘是在一定直径的圆板上等分地布置有不同的磁极。霍尔码盘与电动机同轴,电动机旋转时,霍尔元件检测输出若干脉冲信号,为判断转向,一般输出两组存在一定相位差的方波信号。

可以看到两种原理的编码器目的都是获取AB相输出的方波信号,其使用方法也是一样,下面是一个简单的示意图。 3.编码器接线说明 具体到我们的编码器电机,我们可以看看电机编码器的实物。 这是一款增量式输出的霍尔编码器。编码器有AB相输出,所以不仅可以测速,还可以辨别转向。根据上图的接线说明可以看到,我们只需给编码器电源5V供电,在电机转动的时候即可通过AB相输出方波信号。编码器自带了上拉电阻,所以无需外部上拉,可以直接连接到单片机IO读取。

智能车舵机PD运算

/**********************舵机增量式PID算法*********************** double ref = 0;//设置参数设定值 double feb = 0;//采样反馈过程值 int pwm_var = 0; //PID调整量 int PWM_out = 0; //PWM输出量 double Uo = 0; double Ek = 0; double Ei = 0; double Ed = 0; #define Kp 8 //PID调节的比例常数 #define Ti 0.05 //PID调节的积分常数 #define Td 0.02 //PID调节的微分时间常数 #define T 0.02 //采样周期 #define Kpp Kp * ( 1 + (T / Ti) + (Td / T) ) #define Ki (-Kp) * ( 1 + (2 * Td / T ) ) #define Kd Kp * Td / T //#define Kpp 4 //#define Ki 0.8 //#define Kd 20 //误差的阀值,小于这个数值的时候,不做PID调整,避免误差较小时频繁调节引起震荡 #define Emin 3 //调整值限幅,防止积分饱和 #define Umax 100 #define Umin -100 //输出值限幅 #define Pmax 15500 #define Pmin 200 /////////////////////////////////////////////////////////////////// ////// PID运算 ///////

编码器测速

飞思卡尔智能车舵机和测速的控制设计与实现 时间:2010-04-1411:53:10来源:电子设计工程作者:雷贞勇谢光骥五邑大学 2.1舵机工作原理 舵机在6V电压下正常工作,而大赛组委会统一提供的标准电源输出电压为7.2V,则需一个外围电压转换电路将电源电压转换为舵机的工作电压6V。图2为舵机供电电路。 舵机由舵盘、位置反馈电位计、减速齿轮组、直流动电机和控制电路组成,内部位置反馈减速齿轮组由直流电动机驱动,其输出轴带动一个具有线性比例特性的位置反馈电位器作为位置检测。当电位器转角线性地转换为电压并反馈给控制电路时,控制电路将反馈信号与输入的控制脉冲信号相比较,产生纠正脉冲,控制并驱动直流电机正向或反向转动,使减速齿轮组输出的位置与期望值相符。从而达到舵机精确控制转向角度的目的。舵机工作原理框图如图3所示。 2.2舵机的安装与调节 舵机的控制脉宽与转角在-45°~+45°范围内线性变化。对于对速度有一定要求的智能车,舵机的响应速度和舵机的转向传动比直接影响车模能否以最佳速度顺利通过弯道。车模在赛道上高速行驶,特别是对于前瞻性不够远的红外光电检测智能车,舵机的响应速度及其转向传动比将直接影响车模行驶的稳定性,因此必须细心调试,逐一解决。由于舵机从执行转动指令到响应输出需占用一定的时间,因而产生舵机实时控制的滞后。虽然车模在进入弯道时能够检测到黑色路线的偏转方向,但由于舵机的滞后性,使得车模在转弯过程中时常偏离跑道,且速度越快,偏离越远,极大限制车模在连续弯道上行驶的最大时速,使得车模全程赛道速度很难进一步提高。为了减小舵机响应时间,在遵守比赛规则不允许改造舵机结构的前提下,利用杠杆原理,采用加长舵机力臂的方案来弥补这一缺陷,加长舵机力臂示意图如图4所示。

智能车中的舵机入门

单片机控制舵机 修改浏览权限 | 删除.什么是舵机: 舵机如下所示: 有三根线,一般依次是地,电源(5V左右),信号(信号的幅值>=3.3V),不清楚各个脚打开舵机一测量就知道了。 2.其工作原理是: 控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏 置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。当然我们可以不用去了解它的具体工作原理,知道它的控制原理就够了。就象我们使用晶体管一样,知道可以拿它来做开关管或放大管就行了,至于管内的电子具体怎么流动是可以完全不用去考虑的。 3.舵机的控制: 舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为 0.5ms~2.5ms范围内的角度控制脉冲部分。以180度角度伺服为例,那么对应的控制关 系是这样的: 0.5ms--------------0度;

1.0ms------------45度; 1.5ms------------90度; 2.0ms-----------135度; 2.5ms-----------180度; 重要说明: 1:上面部分还是成线形关系的,Y=90X-45(X单位是ms,Y单位是度数:) 2:上面所说的0度45度等是指度45度位置(什么意思呢:我说明一下就知道了,就拿45度位置来说,若舵机停在0度位置,下载45度位置程序后则舵机停在45度,即顺时针走了45度,若当时舵机在135度位置,则反转90度到45度位置。所以舵机不存在正转反转问题。这点非常重要。 3:若想转动到45度位置,要一直产生1.0ms的高电平(即PA0=1; Delay(1ms);PA0=0;Delay(20ms);要不停的产生这个高低电平,产生PWM脉冲 请看下形象描述吧: 下面是我在ATMEGA32上的测试程序,开发软件:ICC AVR #include typedef struct BYTE_BIT { unsigned BIT0:1; unsigned BIT1:1; unsigned BIT2:1;

测速编码器

测速编码器技术参数 电机的位置检测在电机控制中是十分重要的,特别是需要根据精确转子位置控制电机运动状态的应用场合,如位置伺服系统。电机控制系统中的位置检测通常有:微电机解算元件,光电元件,磁敏元件,电磁感应元件等。这些位置检测传感器或者与电机的非负载端同轴连接,或者直接安装在电机的特定的部位。其中光电元件的测量精度较高,能够准确的反应电机的转子的机械位置,从而间接的反映出与电机连接的机械负载的准确的机械位置,从而达到精确控制电机位置的目的。本文主要介绍高精度的光电编码器的内部结构、工作原理与位置检测的方法。 一.光电编码器的介绍: 光电编码器是通过读取光电编码盘上的图案或编码信息来表示与光电编码器相连的电机转子的位置信息的。根据光电编码器的工作原理可以将光电编码器分为绝对式光电编码器与增量式光电编码器,下面我就这两种光电编码器的结构与工作原理做介绍。 1、绝对式光电编码器 绝对式光电编码器如图所示,他是通过读取编码盘上的二进制的编码信息来表示绝对位置信息的。编码盘是按照一定的编码形式制成的圆盘。图1是二进制的编码盘,图中空白部分是透光的,用“0”来表示;涂黑的部分是不透光的,用“1”来表示。通常将组成编码的圈称为码道,每个码道表示二进制数的一位,其中最外侧的是最低位,最里侧的是最高位。如果编码盘有4个码道,则由里向外的码道分别表示为二进制的23、22、21和20,4位二进制可形成16个二进制数,因此就将圆盘划分16个扇区,每个扇区对应一个4位二进制数,如0000、0001、…、1111。 按照码盘上形成的码道配置相应的光电传感器,包括光源、透镜、码盘、光敏二极管和驱动电子线路。当码盘转到一定的角度时,扇区中透光的码道对应的光敏二极管导通,输出低电平“0”,遮光的码道对应的光敏二极管不导通,输出高电

飞思卡尔光电编码器测速程序

#include /* common defines and macros */ #include /* derivative information */ #pragma LINK_INFO DERIV ATIVE "mc9s12xs128" volatile uint speed_back=0,temp=0; void delay_ms(uint ms) { volatile uint x=0; while(ms--) { for(x=2800;x>0;x--) { _asm(nop); _asm(nop); _asm(nop); _asm(nop); _asm(nop); _asm(nop); } } } //注意外接16M晶体。 //飞思卡尔推荐配置,主频道50MHZ,速度更快! void Init_PLL(void) { CLKSEL = 0X00; //disengage PLL to system PLLCTL_PLLON = 1; //turn on PLL SYNR = (0xc0|0x18); //SYDIV=0X18=24 REFDV = (0x40|0x07); //REFDIV=0X07=7 POSTDIV = 0x00; //pllclock=2*osc*(1+SYDIV)/(1+REFDIV)=100MHz; _asm(nop); //BUS CLOCK=50M _asm(nop); _asm(nop); _asm(nop); _asm(nop); _asm(nop); _asm(nop); _asm(nop); _asm(nop);

飞思卡尔--智能车舵机讲解

飞思卡尔--智能车舵机讲解

2.2 舵机的安装 完成了玩具车的拆卸之后要做的第二步就是安装舵机,现在市场上卖的玩具车虽然也具有转向 功能,但是前轮的转向多是依靠直流电机来驱动,无论向哪个方向转都是一下打到底,无法控制转 过固定的角度,因此根据我们的设计需求,需要将原有的转向部分替换成现有的舵机,以实现固定 转角的转向。舵机的实物图如图 2.1所示。 需要说明的是由于小车系玩具车改装,在安装舵机是需要合理的利用小车的结构,将舵机安装 牢固,同时还需注意合理利用购买舵机是附赠的齿轮,从而将舵机固定在合适的位置。舵机的安装 方式有俯式、卧式多种,不同的安装方法力臂长短、响应速度都有所不同,这一点请自己根据实际 情况合理选择,图 2.2 为舵机的安装图。 5

图 2.1 舵机实物图图 2.2 舵机安装图 舵机安装过程中有一点需要尤其注意,由于舵机不是360°可转的,因此必须保证车轮左右转 的极限在舵机的转角范围之内。 舵机安装完毕之后就可以对小车的转角进行控制了,但是由于玩具车的车体设计往往限制了小 车的转角,因此可以对小车进行局部的“破坏”来增大前轮的转角,要知道在比赛中追求速度的同 时一个大的转角对小车的可控性会有一个很大的提升,如图2.3 所示,就是对增加小车转角的一个 改造,这是我在去年小车比赛中的用法。将阻碍前轮转角的一部分用烙铁直接烫掉。 但是这种做法也有风险,由于你的改造会破坏小车的整体 7

结构,有可能会对小车的硬件结构造 成破坏,因此如果你的小车在改造之后显得过于脆弱的话那你就要对你的小车采取些加固措施了。 3.4 舵机转向模块设计 舵机是小车转向的控制机构,具有体积小、力矩大、外部机械设计简单、稳定性高等特 点,无论是在硬件还是软件舵机设计是小车控制部分的重要组成部分,舵机的主要工作流程 为:控制信号→控制电路板→电机转动→齿轮组减速→舵盘转动→位置反馈电位计→控制电路板反馈。图 3.11 为舵机的实物图。 7

51红外循迹小车报告(舵机版)最终版

简易教程

前言 往届全国大学生电子设计竞赛曾多次出现了集光、机、电于一体的简易智能小车题目,此次,笔者在通过多次论证、比较与实验之后,制作出了简易小车的寻迹电路系统。 整个系统基于普通玩具小车的机械结构,利用小车的底盘、前后轮电机及其自动复原装置,能够平稳跟踪路面黑色轨迹运行。系统分为检测、控制、驱动三个模块。首先利用光电对接收管和路面信号进行检测,然后经过比较器处理,对软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。 智能小车能在画有黑线的白纸“路面”上行驶,这是由于黑线和白纸对光线的反射系数不同,小车可根据接收到的反射光的强弱来判断“道路”---黑线,最终实现简单的循迹运动。 个人水平有限,有错误不足之处,还望各位前辈同学多多包含,指出修正,完善。谢谢! 李学云王维 2016年7月27号

目录 前言 (1) 第一部分硬件设计 (1) 1.1 车模选择 (1) 1.2传感器选择 (1) 1.3 控制模块选择 (2) 第二部分软件设计及调试 (3) 2.1 开发环境 (3) 2.2总体框架 (3) 2.3 舵机程序设计与调试 (3) 2.3.1 程序设计 (3) 2.3.2 调试 (3) 2.3.3 程序代码 (4) 2.4 传感器调试 (5) 2.4.1 传感器好坏的检测 (5) 2.4.2 单片机能否识别信号并输出信号 (5) 2.5 综合调试 (7) 附录1 (9) 第一篇舵机(舵机及转向控制原理) (9) 1.1概述 (9) 1.2舵机的组成 (10) 1.3舵机工作原理 (11) 1.4舵机使用中应注意的事项 (12) 1.5如何利用程序实现转向 (12) 1.6舵机测试程序 (13) 附录2 (14) 第二篇光电红外传感器 (14) 2.1传感器的原理 (14) 2.2红外光电传感器ST188 结构图 (15) 2.3传感器的选择 (15) 2.4传感器的安装 (16) 2.5使用方法 (16) 2.7红外传感器输入输出调试程序 (17)

测速编码器说明书

BEN测速编码器在智能车舵机控制中的应用2.1 舵机工作原理 舵机在6 V电压下正常工作,而大赛组委会统一提供的标准电源输出电压为7.2 V,则需一个外围电压转换电路将电源电压转换为舵机的工作电压6 V。图2为舵机供电电路。 舵机由舵盘、位置反馈电位计、减速齿轮组、直流动电机和控制电路组成,内部位置反馈减速齿轮组由直流电动机驱动,其输出轴带动一个具有线性比例特性的位置反馈电位器作为位置检测。当电位器转角线性地转换为电压并反馈给控制电路时,控制电路将反馈信号与输入的控制脉冲信号相比较,产生纠正脉冲,控制并驱动直流电机正向或反向转动,使减速齿轮组输出的位置与期望值相符。从而达到舵机精确控制转向角度的目的。舵机工作原理框图如图3所示。 2.2 舵机的安装与调节 舵机的控制脉宽与转角在-45°~+45°范围内线性变化。对于对速度有一定要求的智能车,舵机的响应速度和舵机的转向传动比直接影响车模能否以最佳速度顺利通过弯道。车模在赛道上高速行驶,特别是对于前瞻性不够远的红外光电检测智能车,舵机的响应速度及其转向传动比将直接影响车模行驶的稳定性,因此必须细心调试,逐一解决。由于舵机从执行转动指令到响应输出需占用一定的时间,因而产生舵机实时控制的滞后。虽然车模在进入弯道时能够检测到黑色路线的偏转方向,但由于舵机的滞后性,使得车模在转弯过程中时常偏离跑道,且速度越快,偏离越远,极大限制车模在连续弯道上行驶的最大时速,使得车模全程赛道速度很难进一步提高。为了减小舵机响应时间,在遵守比赛规则不允许改造舵机结构的前提下,利用杠杆原理,采用加长舵机力臂的方案来弥补这一缺陷,加长舵机力臂示意图如图4所示。

51单片机PID调增量式光电编码器测速.

编码器输出的A向脉冲接到单片机的外部中断INT0,B向脉冲接到I/O端口P1.0。当系统工作时,首先要把INT0设置成下降沿触发,并开相应中断。当有有效脉冲触发中断时,进行中断处理程序,判别B脉冲是高电平还是低电平,若是高电平则编码器正转,加1计数;若是低电平则编码器反转,减1计数。 基于51单片机的直流电机PID闭环调速系统原理详解与程序 (2013-08-04 01:18:15) 转载▼ 标签: 分类:单片机 51单片 机 直流电 机 pid pcf8591 基于51单片机的直流电机PID闭环调速系统 1.电机转速反馈: 原理:利用光电编码器作为转速的反馈元件,设电机转一周光电编码器发送N个PWM波形,利用测周法测量电机转速。 具体实现:将定时器0设置在计数模式,用来统计一定的时间T内接受到的脉冲个数M个,而定时器0置在计时模式,用来计时T时间。则如果T时间接受到M个PWM波形,而电机转一圈发出N个PWM波形,则根据测周法原理,电机的实际的转速为:real_speed=M/(N*T),单位转/秒。若将定时器1置在计数模式,则PWM波形应该由P3^3脚输入。 代码实现:

//定时器0初始化,用来定时10ms void Init_Timer0(void) { TMOD |= 0x01; //使用模式1,16位定时器,且工作在计时模式 TH0=(65536-10000)/256; //定时10ms TL0=(65536-10000)%6; EA=1; //总中断打开 ET0=1; //定时器中断打开 TR0=1; //定时器开关打开 } // 计数器1初始化,用来统计定时器1计时250ms内PWM波形个数 void Init_Timer1(void) { TMOD |= 0x50; //使用计数模式1,16位计数器模式 TH1=0x00; //给定初值,由0往上计数 TL1=0x00; EA=1; //总中断打开 ET1=1; //定时器中断打开 TR1=1; //定时器开关打开 } //定时器0的中断服务子函数,主要完成脉冲个数的读取,实际转速的计算和PID 控制以及控制结 //果输出等工作 void Timer0_isr(void) interrupt 1 { unsigned char count; TH0=(65536-10000)/256; //重新赋值 10ms TL0=(65536-10000)%6;

飞思卡尔 智能车舵机控制

智能车的制作中,看经验来说,舵机的控制是个关键.相比驱动电机的调速,舵机的控制对于智能车的整体速度来说要重要的多. PID算法是个经典的算法,一定要将舵机的PID调好,这样来说即使不进行驱动电机的调速(匀速),也能跑出一个很好的成绩. 机械方面: 从我们的测试上来看,舵机的力矩比较大,完全足以驱动前轮的转向.因此舵机的相应速度就成了关键.怎么增加舵机的响应速度呢?更改舵机的电路?不行,组委会不允许.一个非常有效的办法是更改舵机连接件的长度.我们来看看示意图: 从上图我们能看到,当舵机转动时,左右轮子就发生偏转.很明显,连接件长度增加,就会使舵机转动更小的转角而达到同样的效果.舵机的特点是转动一定的角度需要一定的时间.不如说(只是比喻,没有数据),舵机转动10度需要2ms,那么要使轮子转动同样的角度,增长连接件后就只需要转动5度,那么时间是1ms,就能反应更快了.据经验,这个舵机的连接件还有必要修改.大约增长0.5倍~2倍. 在今年中,有人使用了两个舵机分别控制两个轮子.想法很好.但今年不允许使用了.

接下来就是软件上面的问题了. 这里的软件问题不单单是软件上的问题,因为我们要牵涉到传感器的布局问题.其实,没有人说自己的传感器布局是最好的,但是肯定有最适合你的算法的.比如说,常规的传感器布局是如下图: 这里好像说到了传感器,我们只是略微的一提.上图只是个示意图,意思就是在中心的地方传感器比较的密集,在两边的地方传感器比较的稀疏.这样做是有好处的,大家看车辆在行驶到转弯处的情况: 相信看到这里,大家应该是一目了然了,在转弯的时候,车是偏离跑道的,所以两边比较稀疏还是比较科学的,关于这个,我们将在传感器中在仔细讨论。 在说到接下来的舵机的控制问题,方法比较的多,有人是根据传感器的状态,运用查表法差出舵机应该的转角,这个做法简单,而且具有较好的滤波"效果",能够将错误的传感器状态滤掉;还有人根据计算出来的传感器的中心点(比

编码器位置与速度检测

制作速度检测部件 实验报告 专业:机械设计制造及其自动化 姓名:xxx 学号:xxx 实验时间:2012-2013学年第2学期

制作速度检测部件 一、实验原理: 1.利用外部中断0对信号源在一定时间内产生的脉冲进行计数,并对外部中断0设置为跳变沿中断(IT0=1) 2.利用定时器0进行计时,并在中断程序中读取这段时间内产生的脉冲数,再利用脉冲数与路程之间的对应关系求得编码器的速度。 3. 光电开关的使用,如图: 测速方法: M 法测速 测取c T 时间内旋转编码器输出的脉冲个数1M ,用以计算这段时间内的平均转速,称作M法测速,图12所示。电机的转速为 r/min 601 c ZT M n = , M 法测速的分辨率: c c c ZT ZT M ZT M Q 60 60)1(6011= -+= M 法测速误差率: c T 1 M 图12 M 测速法原理图

% 1001%10060 ) 1(60 60%1111max ?=?-=M ZT M ZT M ZT M c c c δM 法测速适用于高速段, T 法测速 记录编码器两个相邻输出脉冲的间的高频脉冲个数M2,f0为高频脉冲频率,图13所示。 电机转速 r/min ZM f 60ZT 60n 2 t == T 法测速的分辨率: )1(6060)1(602202020-=--=M ZM f ZM f M Z f Q 或Zn f Zn Q -= 02 60 T法测速误差率: % 10011 %10060 60 )1(60%22 020 20max ?-=?-=M ZM f ZM f M Z f δ T 法测速适用于低速段。 M/T 法测速 把M 法和T 法结合起来,既检测TC 时间内旋转编码器输出的脉冲个数M1,又检测同一时间间隔的高频时钟脉冲个数M2,用来计算转速,称作M/T 法测速。采用M/T 法测速时,应保 2 M 2f M T t =图13 T 测速法 c T 1 M 2 M 图14 M/T 法测速原理图

机器人智能小车电机选择直流电机 步进电机 舵机

常用于机器人的电机有直流电机,步进电机,伺服电机。 直流电机:用于驱动机器人的移动,加上电源后,电机将一直转动,颠倒电机的电源和地线就会改变电机的转动方向。价格便宜,适用于大多数机器人应用。 点击参见:直流电机的H桥驱动原理和驱动电路选择 步进电机:也是直流电机的一种,步进电机内部有多个线圈,同时给一个或两个线圈加电,电机将转过一定的角度,要想电机连续转动,就要依次给给个线圈加电,加电的过程就是给电机施加 脉冲电流的过程。改变脉冲的频率就改变了电机的转速,改变施加脉冲的顺序就改变了电 机的转动方向。用于机器人需要位置控制的场合,如机械臂。 点击参见:步进电机的驱动原理和驱动电路 步进电机分类和选择 伺服电机:一个连续转动的直流电机,加一个闭环反馈控制的回路,以实现精确的位置控制。舵机即是伺服电机的一种,常用于飞机模型中用于转向控制。可用于驱动机器人的腿,手臂,头部和 其他肢体。 点击参见:数码舵机的原理与故障分析 点击参见:舵机的原理与单片机的控制

电机的技术参数 1、电机的电压 电压是选择直流电机的一个重要参数,小型的趣味机器人用的直流电机一般为1.5v-6v, 在这个电压范围内电机都可以工作,电压越高,转速越高。也有采用固定电压的高质量的电 机,如12V,24V直流电机。一般情况下电机都可以在高于或低于其工作电压的情况下 运行,如12V电机,可以在8v下工作,但转速降低,输出转矩变小,电机无力。如果长 时间在高于其工作电压30%-40%的电压下工作,电机线圈会发热,可能使电机永久 损坏。 2、电机的电流 空载电流:指电机不加轮胎及其他任何负载的情况下的电流。 负载电流:指加上轮胎,和其他重物下电机工作的电流。 通常空载的电流很小,负载电流是其实际工作的电流,是选择驱动电路的依据。当电机的负 载超过了电机所能承受的最大值时,电机将停止转动,电流不再增加,这就是堵转。 3、电机的转速 指的是电机的主轴每分钟转过的转数。单位为转数/分钟(r/min),机器人需要的电机转速 一般在100-200转每分钟,甚至更低的转数,而一般的直流电机的转速在4000~7000转每 分钟,无法直接在机器人上使用,必须经过降速。可以自己设计齿轮比来降速,也可以采用 现成的减速齿轮箱。 4、转矩 就是电机能够带动多大的负载,转矩越大电机越有劲。额定转矩:电机在正常工作下能够驱动负载的大小。测量方法是在电机轴上固定一个杠杆,杠杆上挂上重物,让电机带动重物旋转。 单位为g/cm,单位厘米所能带动的重物克数越大,转矩也就越大。 文章网址: https://www.wendangku.net/doc/3112575264.html,/wqb_lmkj/blog/item/41249a100292d2195aaf5394.html?timeStamp=1316176239437

M法与T法在编码器测速方面的区别和频率问题

编码器的测速原理:M/T法 大家都比较清楚在闭环伺服系统中,编码器的反馈脉冲个数和系统所走位置的多少成正比,但对于怎样通过编码器所反馈的脉冲个数来求得电机的旋转速度了解的人就不是很多了。 根据脉冲计数来测量转速的方法有以下三种:(1)在规定时间内测量所产生的脉冲个数来获得被测速度,称为M法测速;(2)测量相邻两个脉冲的时间来测量速度,称为T法测速;(3)同时测量检测时间和在此时间内脉冲发生器发出的脉冲个数来测量速度,称为M/T 法测速。以上三中测速方法中,M法适合于测量较高的速度,能获得较高分辨率;T法适合于测量较低的速度,这时能获得较高的分辨率;而M/T法则无论高速低速都适合测量。以下只对T法测速进行详细介绍。 T法测速的原理是用一已知频率fc(此频率一般都比较高)的时钟脉冲向一计数器发送脉冲,计数器的起停由码盘反馈的相邻两个脉冲来控制,原理图见图1。若计数器读数为m1,则电机每分钟转速为nM=60fc/Pm1(r/min) 图1 T法测速原理 其中P为码盘一圈发出的脉冲个数即码盘线数,m1为 相邻两个脉冲间高频脉冲个数。测速分辨率:当对应转速由n1变为n2时则分辨率Q的定义为Q=n2-n1,Q值越小说明测量装置对转速变化越敏感即分辨率越高。因此可以得到T法测速的分辨率为 Q=60fc/Pm1-60fc/P(m1+1)= n2M P/(60fc+ nMP) 由上式可见随着转速nM的降低,Q值越小,即T法测速在低速时有较高的分辨率。 MT法测速之定量分析 速度测量是工控系统中最基本的需求之一,最常用的是用数字脉冲测量某根轴的转速,再根据机械比、直径换算成线速度。脉冲测速最典型的方法有测频率(M法)和测周期(T法)。定性分析: M法是测量单位时间内的脉数换算成频率,因存在测量时间内首尾的半个脉冲问题,可能会有2个脉的误差。速度较低时,因测量时间内的脉冲数变少,误差所占的比例会变大,所以M法宜测量高速。如要降低测量的速度下限,可以提高编码器线数或加大测量的单位时间,使用一次采集的脉冲数尽可能多。 T法是测量两个脉冲之间的时间换算成周期,从而得到频率。因存在半个时间单位的问题,可能会有1个时间单位的误差。速度较高时,测得的周期较小,误差所占的比例变大,所以T法宜测量低速。如要增加速度测量的上限,可以减小编码器的脉冲数,或使用更小更精确的计时单位,使一次测量的时间值尽可能大。 M法、T法各且优劣和适应范围,编码器线数不能无限增加、测量时间也不能太长(得考虑实时性)、计时单位也不能无限小,所以往往候M法、T法都无法胜任全速度范围内的测量。因此产生了M法、T法结合的M/T 测速法:低速时测周期、高速时测频率。 定量分析:

基于51单片机的光电编码器测速报告

课程设计报告 课程名称:微机原理课程设计 题目:基于51单片机的光电编码器测速

光电编码器是高精度位置控制系统常用的一种位移检测传感器。在位置控制系统中,由于电机既可能正转,也可能反转,所以要对与其相连的编码器输出的脉冲进行计数,要求相应的计数器既能实现加计数,又能实现减计数,即进行可逆计数。其计数的方法有多种,包括纯粹的软件计数和硬件计数。文中分别对这两种常用的计数方法进行了分析,对其优缺点进行了对比,最后提出了一种新的计数方法,利用80C51单片机内部的计数器实现对光电编码器输出脉冲的加减可逆计数,既节省了硬件资源,又能得到较高的计数频率。本设计就是由单片机STC89C52RC芯片,光电编码器和1602液晶为核心,辅以必要的电路,构成了一个基于51单片机的光电编码器测速器。该系统有两个控制按键,分别用于控制每秒的转速和每分钟的转速,并将速度用1602液晶显示出来。该测速器测速精准,具有实时检测的功能,操作简单。 关键词:光电编码器,51单片机,C语言,1602液晶

一、设计任务与要求 (4) 1.1 设计任务 (4) 1.2 设计要求 (4) 二、方案总体设计 (5) 2.1 方案一 (5) 2.2 方案二 (5) 2.3 系统采用方案 (5) 三、硬件设计 (7) 3.1 单片机最小系统 (7) 3.2 液晶显示模块 (7) 3.3 系统电源 (8) 3.4光电编码器电路 (8) 3.5 整体电路 (9) 四、软件设计 (10) 4.1 keil软件介绍 (10) 4.2 系统程序流程 (10) 五、仿真与实现 (12) 5.1 proteus软件介绍 (12) 5.2 仿真过程 (12) 5.3 实物制作与调试 (13) 5.4 使用说明 (14) 六、总结 (15) 6.1 设计总结 (15) 6.2 经验总结 (15) 七、参考文献 (16)

关于智能车舵机

伺服马达原理与控制, 模拟舵机和数字舵机的区别, 以及常见问题解决 伺服马达原理与控制 1、伺服马达内部结构 伺服马达内部包括了一个小型直流马达;一组变速齿轮组;一个反馈可调电位器;及一块电子控制板。其中,高速转动的直流马达提供了原始动力,带动变速(减速)齿轮组,使之产生高扭力的输出,齿轮组的变速比愈大,伺服马达的输出扭力也愈大,也就是说越能承受更大的重量,但转动的速度也愈低 伺服马达内部结构图 2、伺服马达的工作原理 伺服马达是一个典型闭环反馈系统,其原理可由下图表示:

伺服马达工作原理图 减速齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到使伺服马达精确定位的目的。 3、如何控制伺服马达 标准的微型伺服马达有三条控制线,分别为:电源、地及控制。电源线与地线用于提供内部的直流马达及控制线路所需的能源,电压通常介于4V—6V之间,该电源应尽可能与处理系统的电源隔离(因为伺服马达会产生噪音)。甚至小伺服马达在重负载时也会拉低放大器的电压,所以整个系统的电源供应的比例必须合理。 输入一个周期性的正向脉冲信号,这个周期性脉冲信号的高电平时间通常在1ms—2ms 之间,而低电平时间应在5ms到20ms之间,并不很严格,下表表示出一个典型的20ms周期性脉冲的正脉冲宽度与微型伺服马达的输出臂位置的关系:

4、伺服马达的电源引线 电源引线有三条,如图中所示。伺服马达三条线中白色的线是控制线,接到控制芯片上。中间的是SERVO工作电源线(红色),一般工作电源是5V。第三条是地线。 5、伺服马达的运动速度 伺服马达的瞬时运动速度是由其内部的直流马达和变速齿轮组的配合决定的,在恒定的电压驱动下,其数值唯一。但其平均运动速度可通过分段停顿的控制方式来改变,例如,我们可把动作幅度为90o的转动细分为128个停顿点,通过控制每个停顿点的时间长短来实现0o—90o变化的平均速度。对于多数伺服马达来说,速度的单位由“度数/秒”来决定。 6、使用伺服马达的注意事项 除非你使用的是数码式的伺服马达,否则以上的伺服马达输出臂位置只是一个不准确的大约数。 普通的模拟微型伺服马达不是一个精确的定位器件,即使是使用同一品牌型号的微型伺服马达产品,他们之间的差别也是非常大的,在同一脉冲驱动时,不同的伺服马达存在±10o 的偏差也是正常的。 正因上述的原因,不推荐使用小于1ms及大于2ms的脉冲作为驱动信号,实际上,伺服马达的最初设计表也只是在±45o的范围。而且,超出此范围时,脉冲宽度转动角度之间

基于51单片机的光电编码器测速

摘要 光电编码器是高精度位置控制系统常用的一种位移检测传感器。在位置控制系统中,由于电机既可能正转,也可能反转,所以要对与其相连的编码器输出的脉冲进行计数,要求相应的计数器既能实现加计数,又能实现减计数,即进行可逆计数。其计数的方法有多种,包括纯粹的软件计数和硬件计数。文中分别对这两种常用的计数方法进行了分析,对其优缺点进行了对比,最后提出了一种新的计数方法,利用80C51单片机内部的计数器实现对光电编码器输出脉冲的加减可逆计数,既节省了硬件资源,又能得到较高的计数频率。本设计就是由单片机STC89C52RC芯片,光电编码器和1602液晶为核心,辅以必要的电路,构成了一个基于51单片机的光电编码器测速器。该系统有两个控制按键,分别用于控制每秒的转速和每分钟的转速,并将速度用1602液晶显示出来。该测速器测速精准,具有实时检测的功能,操作简单。 关键词:光电编码器,51单片机,C语言,1602液晶

目录 一、设计任务与要求 (3) 1.1 设计任务 (3) 1.2 设计要求 (3) 二、方案总体设计 (4) 2.1 方案一 (4) 2.2 方案二 (4) 2.3 系统采用方案 (4) 三、硬件设计 (6) 3.1 单片机最小系统 (6) 3.2 液晶显示模块 (6) 3.3 系统电源 (7) 3.4光电编码器电路 (7) 3.5 整体电路 (8) 四、软件设计 (9) 4.1 keil软件介绍 (9) 4.2 系统程序流程 (9) 五、仿真与实现 (11) 5.1 proteus软件介绍 (11) 5.2 仿真过程 (11) 5.3 实物制作与调试 (12) 5.4 使用说明 (13) 六、总结 (14) 6.1 设计总结 (14) 6.2 经验总结 (14) 七、参考文献 (15)

飞思卡尔智能车的数据采集(CCD摄像头)程序,舵机,电机控制程序

*********************************************************************************** * Test.c * Description: This file includes I/ O function for test, the PWM outputs function for test, function * testing sensors. * (c) Copyright 2006,Zhao Cheng * All Rights Reserved * * By : Zhao Cheng * Note : Don't change this file if possible. **********************************************************************************/ #include #include #define HIGHSPEED 8000 #define LOWSPEED 11000 /* 速度变量,0-24000 数值越大,速度越慢*/ void PWMout(int, int); /* 24000-20000 */ void IOtest(void) { static unsigned char i=0,j=0x01,k; DDRB = DDRA = 0xFF; PORTB = 0xf0;

for(;;) { k=(~j)&0x7f; PORTA = PORTB = k; while (TCNT != 0x0000); while (TCNT == 0x0000) { if(i>9) { j=j<<1; i=0; } i++; } if(j>=0x80) j=0x01; } } void PWMtest(void) { int counter=-4500;

M法与T法在编码器测速方面的区别和频率问题

编码器的测速原理: M/T法大家都比较清楚在闭环伺服系统中,编码器的反馈脉冲个数和系统所走位置的多少成正比,但对于怎样通过编码器所反馈的脉冲个数来求得电机的旋转速度了解的人就不是很多了。 根据脉冲计数来测量转速的方法有以下三种: (1)在规定时间内测量所产生的脉冲个数来获得被测速度,称为M法测速;(2)测量相邻两个脉冲的时间来测量速度,称为T法测速;(3)同时测量检测时间和在此时间内脉冲发生器发出的脉冲个数来测量速度,称为M/T法测速。 以上三中测速方法中,M法适合于测量较高的速度,能获得较高分辨率;T 法适合于测量较低的速度,这时能获得较高的分辨率;而M/T法则无论高速低速都适合测量。 以下只对T法测速进行详细介绍。 T法测速的原理是用一已知频率fc(此频率一般都比较高)的时钟脉冲向一计数器发送脉冲,计数器的起停由码盘反馈的相邻两个脉冲来控制,原理图见图 1。 若计数器读数为m1,则电机每分钟转速为nM=60fc/Pm1(r/min)图1 T法测速原理其中P为码盘一圈发出的脉冲个数即码盘线数,m1为相邻两个脉冲间高频脉冲个数。 测速分辨率: 当对应转速由n1变为n2时则分辨率Q的定义为Q=n2-n1,Q值越小说明测量装置对转速变化越敏感即分辨率越高。 因此可以得到T法测速的分辨率为Q=60fc/Pm1-60fc/P(m1+1)= n2M P/(60fc+ nMP)由上式可见随着转速nM的降低,Q值越小,即T法测速在低速时有较高的分辨率。

MT法测速之定量分析速度测量是工控系统中最基本的需求之一,最常用的是用数字脉冲测量某根轴的转速,再根据机械比、直径换算成线速度。 脉冲测速最典型的方法有测频率(M法)和测周期(T法)。 定性分析: M法是测量单位时间内的脉数换算成频率,因存在测量时间内首尾的半个脉冲问题,可能会有2个脉的误差。 速度较低时,因测量时间内的脉冲数变少,误差所占的比例会变大,所以M法宜测量高速。 如要降低测量的速度下限,可以提高编码器线数或加大测量的单位时间,使用一次采集的脉冲数尽可能多。 T法是测量两个脉冲之间的时间换算成周期,从而得到频率。 因存在半个时间单位的问题,可能会有1个时间单位的误差。 速度较高时,测得的周期较小,误差所占的比例变大,所以T法宜测量低速。 如要增加速度测量的上限,可以减码器的脉冲数,或使用更小更精确的计时单位,使一次测量的时间值尽可能大。 M法、T法各且优劣和适应范围,编码器线数不能无限增加、测量时间也不能太长(得考虑实时性)、计时单位也不能无限小,所以往往候M法、T法都无法胜任全速度范围内的测量。 因此产生了M法、T法结合的M/T测速法: 低速时测周期、高速时测频率。 定量分析: M/T法中的“低速”、“高速”如何确定呢?假定能接受的误差范围为1%、M 法测得脉冲数为f, T法测得时间为t。

相关文档
相关文档 最新文档