欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    深入浅出解析智能车测速部分.docx

    • 资源ID:3634974       资源大小:40.29KB        全文页数:7页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    深入浅出解析智能车测速部分.docx

    深入浅出解析智能车测速部分深入浅出解剖智能车测速部分 作者:IT民工在打滚 作者简介:笔者大一、二参加第三、四届智能车竞赛,大三担任校区实验中心助理引导学校同学参加第五届智能车竞赛,荣获全国智能车竞赛电磁组竞赛特等奖。自从大三开始到此刻一直从事运动控制系统开发,对运动控制了解还算比较透切。在此,跟学弟们分享下他熟识的,望能对学弟们参加竞赛有所帮助,让大家少走些弯路尽早走上自控的正轨,让咱们一起努力将咱们祖国自控技术推向更高的台阶。当然更希望此文能抛砖引玉。文中有错漏地方还望各位多多包涵。 智能车运动控制系统包含:运算处理器、执行机构、反馈机构。自动化行业里完成的运动控制系统包含三环控制,三环控制分别为:电流环,属于三环中的内环;转速环,属三环中的中间环;位置环,属三环中的最外环。这三环运动控制算法在不同系统有所取舍,有些系统只需用其中的一环或两环,例如:张力控制系统只需用到电流环足以;智能车则需要电流环+速度环。据我了解几乎没有同学上两环控制算法的,都是单单一个速度环。要控制好电机应该上两环控制,只有这样才能最好的发挥电机的驱动能力。这里稍微解析下吧,我们都知道当电机的力矩小于负载时,电机旋转速度将降低;电机输出的力矩大于负载时,电机带动负载做加速运动;只有当电机输出力矩等于负载大小时,运动系统才进入匀速运行状态。当我们给小车一个速度值时,如比当前值大,咱们得加大电机力矩,让车速尽快到达设定速度;如比当前速度小,则减少力矩或者给反向力矩。总言之,电流环是让车速尽快到达设定值。电流环控制算法建议使用PI控制,信号处理频率10KHZ为宜。速度环建议使用PID控制算法、处理频率1KHZ就可以了。 上段讲解控制算法,接下来重点跟大家聊聊速度反馈部分。在工业自动化上速度反馈传感器有编码器、旋转变压器两大类。旋转变压器输出模拟信号适用于模拟量控制系统,其体积比较大,随着微处理器的发展其被选用得越来越少;编码器输出数字量抗扰性能较好、制造工艺简单、能很好与微处理器衔接,因此现代运动控制系统基本选用此传感器作为反馈单元。纵观各届竞赛同学们选用的反馈元器件颇多的,有用光栅+光电管搭建的、有用霍尔+磁铁搭建的、有用鬼子的二手货+外部转换模块的、有用山寨欧姆龙的、有用广州展昌自动化Mini系列编码器的。对以上产品每位 同学都持有各自的想法,咱们先不论好坏,先给大家讲讲编码器种类吧。编码器可分为:增量式编码器、绝对式编码器两类。好,咱们一类一类解说。增量式编码器有单相脉冲信号、双相脉冲信号、三相脉冲信号,这不难理解单相就是只有单路脉冲信号,双相脉冲信号的有AB相两相脉冲相位差是90°,这可以用以判别编码器旋转方向,A相比B相前置90°时编码器为顺时针旋转,反则为逆时针旋转,这两相脉冲除了可以判断旋转方向外还可以做四倍频,四倍频后可以将精度提高4倍,这部分应用很简单,现在很多处理器都具有四倍频功能也就是正交编码器信号模块,咱们使用的K60MCU就具有这个功能,不知是否有同学使用,没使用的同学尽快应用上这个好东西啦,三相脉冲输出型编码器有ABZ三相脉冲信号,AB相跟两相的一个用法,Z相信号是零位信号,用于校验AB相脉冲的 或者特殊系统对机械零位的,这个信号可用可不用,今后出来工作了设计的产品就最好用上咯。是啦,编码器信号输出有电压信号、有集电极开路输出。接下来说说增量式编码器使用过程中需注意的地方,增量式输出的是脉冲信号,由它的工作机理我们知道编码器在一个地方往复运动也会输出脉冲,如只用单相脉冲测试的话很容易测到错误脉冲,以至速度偏差大,最终系统不稳定,因此建议大家使用双相信号测试。增量式编码器测速就介绍到这,以下介绍绝对式测速法。绝对式编码器测速法我引用广州展昌自动化科技有限公司的Mini1024J 10bit精度的编码来解说吧 ,这样比较好讲解,大家也好理解。 绝对编码器光码盘上有许多道光通道刻线,每道刻线依次以2线、4线、8线、16 线。编排,这样,在编码器的每一个位置,通过读取每道刻线的通、暗,获得一组从2的零次方到2的n-1次方的唯一的2进制编码,这就称为n位绝对编码器。这样的编码器是由光电码盘的机械位置决定的,它不受停电、干扰的影响。如下图 Mini1024J绝对式编码器的转盘被均匀分成1024格,并每格依次标上0、1、2、31023,无论转盘处在哪个位置,读取到位移数据都在01023之间。绝对编码器在每个位置上读取数值都是唯一的,断电数据不会丢失。因此,此类编码器的抗干扰特性、数据的可靠性远远高于增量式编码器。 绝对式编码器测速原理 由绝对式编码器工作原理可知,如10位精度的绝对式编码器在其转轴上均匀的标上1024个独立的标志位,外部每次读取的位置都是唯一的,单位时间内转轴的角度变化量就是轴的角速度 W =2*/1024*T 式中:W为角速度;N_NUM为本次读取的位置值;L_NUM为上次读取的位置值;T为读取周期; 执行机构线速度V = W*K*R 式中:V为线速度;K为齿轮传动比;R执行机构转动轮半径; 以上介绍了测速原理及计算公式,接下来介绍判断旋转方向的原理。首先假设在读取周期内旋转角度小于180°,则可分成四个区域,如下图所示: L_NUM N_NUM 0 L_NUM 0 N_NUM 512 顺时针旋转 512 顺时针旋转 L_NUM N_NUM 0 L_NUM 0 N_NUM 512 逆时针旋转 512 逆时针旋转 由上图可分析得N_NUM-L_NUM 在0 512 或 -1023 -512区间内为顺时针;在512 1023或-512 0区间内为逆时针。当假设条件成立时,如果没过零点,则|N_NUM-L_NUM|512;如果过了零点,则|N_NUM-L_NUM|512;顺时针越过零点时,可理解为编码器开始走下一圈,此时应加1023;逆时针越过零点时,可理解为编码器退回上一圈,此时应减1023;经运算后数值大于0为顺时针,小于零位逆时针。 硬件接线框图 单个传感器与单片机连接结构框图 双传感器与单片机连接结构框图 绝对式编码器测速流程图 代码也跟大家分享下吧 SSI读取函数 /* 编码器SSI程序 函数功能:读取传感器位移数据 注:延时时间不能偏差太大,根据MCU实际工作频率做相应的修改 */ unsigned int SSI(unsigned char add) uchar k; uint dat1=0; if(add=0) CSn_L=0; delay_us(1); /t_clkFE>=500ns for(k=0;k<10;k+) CLK=0; delay_us(1); CLK=1; delay_us(1); dat1=(dat1<<1)+DAT;/C5 for(k=0;k<6;k+) CLK=0; delay_us(1); CLK=1; delay_us(1); CSn_L=1; else CSn_R=0; delay_us(1); /t_clkFE>=500ns for(k=0;k<10;k+) CLK=0; delay_us(1); CLK=1; delay_us(1); dat1=(dat1<<1)+DAT;/C5 for(k=0;k<6;k+) CLK=0; delay_us(1); CLK=1; delay_us(1); CSn_R=1; return dat1; 引脚定义&变量定义 /引脚定义 #define CSn_L PORTB_BIT0 /左轮编码器片选 #define CSn_R PORTB_BIT1 /右轮编码器片选 #define CLK PORTB_BIT2 /读取时钟 #define DAT PORTB_BIT3 /数据输出 uint N_num2;/本次位移值 uint L_num2;/上次位移值 int VL; /左轮转速 int VR; /右轮转速 定时中断服务函数 /* 定时计数器 |N_numx-L_numx|<512 ; N_numx> L_numx 顺时针旋转 N_numx< L_numx 逆时针旋转 |N_numx-L_numx|>512 ; N_numx> L_numx 逆时针旋转 N_numx< L_numx 顺时针旋转 */ #pragma CODE_SEG _NEAR_SEG NON_BANKED void interrupt 26 MDC_ISR(void) L_num0=N_num0; /上传上次位移数据 N_num0=SSI(0); /读取当前位移数据 L_num1=N_num1; N_num1=SSI(1); VL = (N_num0-L_num0);/求差 VR = (N_num1-L_num1); if(VL>512) /逆时针越过零点,退回上一圈 VL = VL-1023; if(VL<-512)/顺时针越过零点,开始下一圈 VL = VL+1023; if(VL<0)/逆时针旋转 VL = 0x8000|(-VL); Sci0Write(uchar)(VL>>8); Sci0Write(uchar)(VL&0x00ff); MCFLG_MCZF=1; /清除中断标志 asm cli;

    注意事项

    本文(深入浅出解析智能车测速部分.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开