指示灯具网站建设,做花型设计哪个网站下载素材好,同创企业网站源码,兰州网站设计有限公司文章目录 一、直流有刷电机二、减速比三、霍尔编码器3.1 霍尔编码器3.2 霍尔编码器测速原理 四、测速程序设计4.1 跳变沿检测4.2 计算转速 一、直流有刷电机
宏观上说直流有刷电机由固定部分#xff08;定子#xff09;和旋转部分#xff08;转子#xff09;组成。在定子上… 文章目录 一、直流有刷电机二、减速比三、霍尔编码器3.1 霍尔编码器3.2 霍尔编码器测速原理 四、测速程序设计4.1 跳变沿检测4.2 计算转速 一、直流有刷电机
宏观上说直流有刷电机由固定部分定子和旋转部分转子组成。在定子上装有两个励磁的磁极N和S。在其转子部分有电枢铁芯。电枢铁芯上有绕组线圈线圈的首尾接有两个圆弧形铜片称为换向片。两个换向片之间互相绝缘。换向片固定在转轴上换向片与转轴之间也相互绝缘。换向器上固定着一对电刷电刷与换向器互相接触。绕组线圈通过换向片和电刷与电源连接。下面是直流有刷电机的结构图。 电机是怎么转起来的呢
这时候就要搬出我们高中所学的物理知识了因为电机能转起来离不开一个力——安培力。
首先复习一下安培力主要是知道什么是安培力以及如何判断安培力的方向。通电导线在磁场中受到的作用力叫做安培力。判断安培力的方向我们用到左右定则什么是左手定则伸开左手使拇指与其他四指垂直且在一个平面内让磁感线从手心流入四指指向电流方向大拇指指向的就是安培力方向即导体受力方向。 有的资料上可能说是洛伦兹力磁场对运动电荷的作用力称为洛伦兹力安培力是洛伦兹力的宏观表现。
了解了上面的知识我们开始正式探讨电机是怎么转起来的。
看上面的电机结构图如果外部电源上正下负接到电刷两边那么绕组线圈中的电流方向为顺时针我们来对绕组线圈做一个受力分析。 电流方向垂直于磁场方向的部分是不受安培力作用的也就是上图的蓝色部分。上图的红色部分中我们用左手定则分析一下受力。根据左手定则上半部分受到垂直屏幕向内的安培力。下半部分受到垂直屏幕向外的安培力。上下两部分受力相反这时电机就转起来了。同理如果改变外部电源的接入方向改成上负下正上下两部分受力依旧相反电机依旧可以转动只不过转动方向相反。
至此我们了解了直流有刷电机的转动原理以及如何控制正反转。
二、减速比
首先回答一个问题为什么要有减速电机
用简单几个字总结一下为什么会有减速电机目的是降低转速增加扭矩。至于到底是怎么降低转速增加扭矩我们继续往后看。
什么是减速比
用到减速电机我们难免会碰到一个概念——减速比。那么什么叫减速比首先我们先看一下减速电机内部的结构。 减速电机内部有两个齿轮一个是转自连接轴上的齿轮一个是输出主轴上的齿轮。转子转动N圈主轴转动一圈这就实现了降低转速。比如我们常见的1:30减速比的减速电机就是转子转动30圈主轴转动一圈。如此一来就实现了降低转速增加扭矩的目的。减速比就是小齿轮数比大齿轮数的比值。 扭矩实际可以理解为电机转动的力量。如果我们不使用减速电机拿一个小马达我们会发现它转的很快但是很容易用手捏住制动力量很小。但是如果是减速电机我们发现转速比较慢但是我们需要用比制动小马达更大的力来制动。减速比越大电机转动的力越大。 举一个更加常见的例子比如我们的山地车。我们上坡时可以调节变速器让我们用很轻松的力就能上坡实际就是上面的原理我们蹬好多圈车轮才能转一圈但是我们用的力小了如果把我们和变速器看作一个电机实际也就是扭矩大了。 三、霍尔编码器
3.1 霍尔编码器
什么是编码器
编码器是把角位移或直线位移转换成电信号的一种装置。
编码器按照工作原理可以分为增量式编码器和绝对式编码器绝对式编码器的每一个位置对应一个确定的数字码二进制数。增量式编码器就是每转过单位的角度就发出一个脉冲信号。
从编码器检测原理上来分还可以分为光学式、磁式、感应式、电容式。我们常见的是光电编码器光学式和我们要介绍的主角霍尔编码器磁式。一般来说光电编码器是霍尔编码器精度的几十倍。
编码器的作用。
了解了什么是编码器那么我们用编码器有什么实际作用呢通常我们会使用编码器来检测电机的转速和旋转方向。那我们常用的控制算法PID算法来说PID算法是为了实现闭环控制要想实现闭环控制就需要有一个反馈。我们的编码器测得的转速就可以作为反馈搭配PID算法实现转速的闭环控制。
霍尔编码器的工作原理。
其实从上面的介绍就能大概了解到编码器的工作原理。我们这次主要介绍对象是霍尔编码器。霍尔编码器由码盘和霍尔元件组成。霍尔码盘与电机主轴同轴码盘上等分的分布有多个磁极电机转动时霍尔元件会输出若干个脉冲信号我们正是利用这些脉冲信号实现电机的测速和电机转向的判断。
霍尔编码器的线数。
什么是霍尔编码器的线数转动一圈我们会产生几个脉冲取决于编码器的线数。比如我们的霍尔编码器线数为13。那么霍尔编码器的码盘旋转一圈会产生13个脉冲。
3.2 霍尔编码器测速原理
我们正是通过检测霍尔编码器输出的脉冲信号来测速。通常会有三相输出A、B和Z。A和B的输出是正交的。Z是用来标记旋转一周的起始位置我们通常不使用。 如何判断电机转向
我们通过A相出现脉冲时检测B相电平来判断电机旋转方向。
A检测到上升沿脉冲时B为低电平正转A检测到上升沿脉冲时B为高电平反转
如何判断电机转速
我们通过检测单位时间内产生的脉冲数来确定电机转速。为什么可以这么做因为电机转动一圈产生的脉冲数是确定的。比如我们有一个减速比为1:30的减速电机霍尔编码器的线数为13。那么霍尔码盘旋转一圈产生13个脉冲霍尔码盘旋转30圈电机主轴旋转一圈。综上所述电机主轴旋转一圈会产生13 * 30 390个脉冲。注意这里是只检测A相的上升沿脉冲电机旋转一圈有390个脉冲。 有的小伙伴可能会疑问是转一圈A和B一共产生390个脉冲还是A和B都产生390个脉冲答案是后者。 接下来我们只需要检测单位时间内A相或者B相输出的脉冲数就可以计算电机转速了。
四倍频 什么是四倍频由上面的介绍可知霍尔编码器输出有A相和B相两条线。我们如果只用A相检测高电平脉冲数那么就是上面介绍的那种。如果我们A相和B相都检测而且不止检测上升沿脉冲也检测下降沿脉冲那么此时霍尔码盘旋转一圈会产生四倍于之前的脉冲数。这就是所谓的四倍频。利用四倍频可以提高检测精度。
四、测速程序设计
上面介绍了这么多理论知识下面我们动手来实现一下利用霍尔编码器用一个1:30减速比的减速电机来实现测速。
4.1 跳变沿检测
检测跳变沿可以用两种方法一种是使用外部中断另一种是使用定时器的输入捕获功能。这里使用的是外部中断只检测A相输出的上升沿因此只需要配置一个引脚的外部中断来检测上升沿并在中断中进行计数即可。外部中断初始化函数与中断服务函数如下
/***函数名称Exit_Init*函数功能初始化外部中断*输入参数无*返回值无*备 注无**/
void Exit_Init (void)
{// 定义结构体NVIC_InitTypeDef NVIC_InitStructure;EXTI_InitTypeDef EXTI_InitStructure;GPIO_InitTypeDef GPIO_InitStructure;// 开启时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOE,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); // 开启AFIO时钟GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource0); //选择GPIO管脚用作外部中断线路// 配置GPIO结构体GPIO_InitStructure.GPIO_Pin GPIO_Pin_0;GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode GPIO_Mode_IPD; // 下拉输入GPIO_Init(GPIOB, GPIO_InitStructure);GPIO_SetBits(GPIOB,GPIO_Pin_0);//EXTI0 NVIC 配置NVIC_InitStructure.NVIC_IRQChannel EXTI0_IRQn; //EXTI0中断通道NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority1; //抢占优先级NVIC_InitStructure.NVIC_IRQChannelSubPriority 3; //子优先级NVIC_InitStructure.NVIC_IRQChannelCmd ENABLE; //IRQ通道使能NVIC_Init(NVIC_InitStructure); //根据指定的参数初始化VIC寄存器EXTI_InitStructure.EXTI_LineEXTI_Line0; // EXIT0EXTI_InitStructure.EXTI_ModeEXTI_Mode_Interrupt; // 中断EXTI_InitStructure.EXTI_TriggerEXTI_Trigger_Rising; // 上升沿触发EXTI_InitStructure.EXTI_LineCmdENABLE; // 使能EXTI_Init(EXTI_InitStructure);
}
/***函数名称EXTI0_IRQHandler*函数功能外部中断0中断服务函数*输入参数无*返回值无*备 注无**/
u32 gCunt 0; // A相上升沿计数变量void EXTI0_IRQHandler(void)
{// 如果EXIT0中断标志位被置1if(EXTI_GetITStatus (EXTI_Line0)1){gCunt gCunt 1;}EXTI_ClearITPendingBit (EXTI_Line0); // 清除中断标志位
}4.2 计算转速
知道了怎么检测跳变沿并计数我们就可以进行下一步单位时间内读取跳变沿计数值。我们初始化一个定时器来进行时间控制。配置每一秒进入一次中断读取一次跳变沿计数值然后计算转速。转速的单位是RPM也就是转每分。我们用一秒的脉冲计数乘以60认为是一分钟的脉冲数以此来计算电机转速。定时器配置函数以及中断服务函数如下
/***函数名称TIM2_Iint*函数功能初始化定时器2*输入参数per自动重装载值psc预分频系数*返回值无*备 注无**/
void TIM3_Iint (u16 per,u16 psc)
{// 结构体定义TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;NVIC_InitTypeDef NVIC_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); // 使能TIM2时钟TIM_TimeBaseInitStructure.TIM_Period per; // 自动装载值TIM_TimeBaseInitStructure.TIM_Prescaler psc; // 分频系数TIM_TimeBaseInitStructure.TIM_ClockDivision TIM_CKD_DIV1; // 不分频TIM_TimeBaseInitStructure.TIM_CounterModeTIM_CounterMode_Up; // 设置向上计数模式TIM_TimeBaseInit(TIM3,TIM_TimeBaseInitStructure);TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE); // 开启定时器中断TIM_ClearITPendingBit(TIM3,TIM_IT_Update); // 使能更新中断NVIC_InitStructure.NVIC_IRQChannel TIM3_IRQn; // 定时器中断通道NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority3; // 抢占优先级NVIC_InitStructure.NVIC_IRQChannelSubPriority 4; // 子优先级NVIC_InitStructure.NVIC_IRQChannelCmd ENABLE; // IRQ通道使能NVIC_Init(NVIC_InitStructure); TIM_Cmd(TIM3,ENABLE); // 使能定时器
}// TIM3中断服务函数
// 1s进入一次
u32 gSpeed 0; // 转速void TIM3_IRQHandler(void) // TIM3中断
{if(TIM_GetITStatus(TIM3,TIM_IT_Update)){gSpeed (gCunt * 60) / (30 * 13);printf (Speed %d RPM\r\n,gSpeed);gCunt 0; // 清零上升沿计数变量}TIM_ClearITPendingBit(TIM3,TIM_IT_Update);
}该文章会绑定一个资源资源是通过串口输入占空比范围是0~999然后串口会打印电机转速。电机驱动模块使用的是TB6612。关于TB6612可以查看博主STM32外设系列专栏。
文章转载自: http://www.morning.xbtlt.cn.gov.cn.xbtlt.cn http://www.morning.rwmft.cn.gov.cn.rwmft.cn http://www.morning.qllcm.cn.gov.cn.qllcm.cn http://www.morning.tsqrc.cn.gov.cn.tsqrc.cn http://www.morning.qbfqb.cn.gov.cn.qbfqb.cn http://www.morning.phnbd.cn.gov.cn.phnbd.cn http://www.morning.hphfy.cn.gov.cn.hphfy.cn http://www.morning.qrnbs.cn.gov.cn.qrnbs.cn http://www.morning.bpmz.cn.gov.cn.bpmz.cn http://www.morning.ckhyj.cn.gov.cn.ckhyj.cn http://www.morning.pjxw.cn.gov.cn.pjxw.cn http://www.morning.xbptx.cn.gov.cn.xbptx.cn http://www.morning.ymfzd.cn.gov.cn.ymfzd.cn http://www.morning.zbkwj.cn.gov.cn.zbkwj.cn http://www.morning.jgmlb.cn.gov.cn.jgmlb.cn http://www.morning.tnbas.com.gov.cn.tnbas.com http://www.morning.rcntx.cn.gov.cn.rcntx.cn http://www.morning.ypdhl.cn.gov.cn.ypdhl.cn http://www.morning.ns3nt8.cn.gov.cn.ns3nt8.cn http://www.morning.qptbn.cn.gov.cn.qptbn.cn http://www.morning.ltdrz.cn.gov.cn.ltdrz.cn http://www.morning.jzykq.cn.gov.cn.jzykq.cn http://www.morning.smnxr.cn.gov.cn.smnxr.cn http://www.morning.webpapua.com.gov.cn.webpapua.com http://www.morning.nqgjn.cn.gov.cn.nqgjn.cn http://www.morning.fsfz.cn.gov.cn.fsfz.cn http://www.morning.brkc.cn.gov.cn.brkc.cn http://www.morning.gdgylp.com.gov.cn.gdgylp.com http://www.morning.bflwj.cn.gov.cn.bflwj.cn http://www.morning.jcxgr.cn.gov.cn.jcxgr.cn http://www.morning.ykrkb.cn.gov.cn.ykrkb.cn http://www.morning.srgbr.cn.gov.cn.srgbr.cn http://www.morning.mzzqs.cn.gov.cn.mzzqs.cn http://www.morning.lztrt.cn.gov.cn.lztrt.cn http://www.morning.xfcjs.cn.gov.cn.xfcjs.cn http://www.morning.nlgyq.cn.gov.cn.nlgyq.cn http://www.morning.cwyrp.cn.gov.cn.cwyrp.cn http://www.morning.zdqsc.cn.gov.cn.zdqsc.cn http://www.morning.jgykx.cn.gov.cn.jgykx.cn http://www.morning.gywfp.cn.gov.cn.gywfp.cn http://www.morning.pqcbx.cn.gov.cn.pqcbx.cn http://www.morning.qckwj.cn.gov.cn.qckwj.cn http://www.morning.wnnts.cn.gov.cn.wnnts.cn http://www.morning.bwqr.cn.gov.cn.bwqr.cn http://www.morning.lkcqz.cn.gov.cn.lkcqz.cn http://www.morning.jbztm.cn.gov.cn.jbztm.cn http://www.morning.pkfpl.cn.gov.cn.pkfpl.cn http://www.morning.ywpwg.cn.gov.cn.ywpwg.cn http://www.morning.qhczg.cn.gov.cn.qhczg.cn http://www.morning.dpbdq.cn.gov.cn.dpbdq.cn http://www.morning.fkwp.cn.gov.cn.fkwp.cn http://www.morning.ylqb8.cn.gov.cn.ylqb8.cn http://www.morning.fdrch.cn.gov.cn.fdrch.cn http://www.morning.pghry.cn.gov.cn.pghry.cn http://www.morning.zfqr.cn.gov.cn.zfqr.cn http://www.morning.nlgnk.cn.gov.cn.nlgnk.cn http://www.morning.wqpr.cn.gov.cn.wqpr.cn http://www.morning.webife.com.gov.cn.webife.com http://www.morning.zwzwn.cn.gov.cn.zwzwn.cn http://www.morning.fdfdz.cn.gov.cn.fdfdz.cn http://www.morning.snmsq.cn.gov.cn.snmsq.cn http://www.morning.qhkx.cn.gov.cn.qhkx.cn http://www.morning.byxs.cn.gov.cn.byxs.cn http://www.morning.kryr.cn.gov.cn.kryr.cn http://www.morning.wpqwk.cn.gov.cn.wpqwk.cn http://www.morning.tktyh.cn.gov.cn.tktyh.cn http://www.morning.hqbk.cn.gov.cn.hqbk.cn http://www.morning.snkry.cn.gov.cn.snkry.cn http://www.morning.c7624.cn.gov.cn.c7624.cn http://www.morning.ryrgx.cn.gov.cn.ryrgx.cn http://www.morning.kdbcx.cn.gov.cn.kdbcx.cn http://www.morning.hpnhl.cn.gov.cn.hpnhl.cn http://www.morning.lhwlp.cn.gov.cn.lhwlp.cn http://www.morning.wjplr.cn.gov.cn.wjplr.cn http://www.morning.gcqs.cn.gov.cn.gcqs.cn http://www.morning.xxgfl.cn.gov.cn.xxgfl.cn http://www.morning.lqgtx.cn.gov.cn.lqgtx.cn http://www.morning.kjmws.cn.gov.cn.kjmws.cn http://www.morning.stcds.cn.gov.cn.stcds.cn http://www.morning.bpmmq.cn.gov.cn.bpmmq.cn