电动自行车的后轮电机是一个直流无刷电机,可直接采用电机自身的霍尔检测器的信号来采集速度信息,而不增加其他位置和速度检测元件。采用霍尔信号对转速测量通常采用两种方法,一种是使用一路信号进行测量,一种是利用三路霍尔,通过逻辑电路或算法,产生六倍于一路霍尔信号频率倍频信号,然后对其进行测量。
本文介绍以STM32单片机位核心、一路霍尔信号进行电动机转速测量系统。

1、## 无刷直流电动机霍尔测速的原理 ##
无刷直流电机的工作原理本质上与有刷电机类似,有刷直流电机采用机械的电刷和换向器对绕组中的电流进行换向。而无刷电机采用电子方式对绕组电流换向。直流电机中转矩是通过永磁体磁场和绕组中的电流相互作用产生的,在有刷电机中,换向器通过切换电枢绕组实现电枢电流的换向与合适的磁场。而无刷直流电机中,霍尔位置传感器探测转子旋转磁场的位置,通过逻辑与驱动电路,给相应的绕组激励。总的说来,绕组根据电机永磁体的磁场作出反应,从而产生需要的转矩。如下图是一种三相8极(四对磁极)无刷直流电机基本组成:

(https://img-blog.csdn.net/20160905204802682)

(https://img-blog.csdn.net/20160905205332983)

旋转的永磁体转过双极型数字霍尔传感器时,会使双极型数字霍尔传感器状态发生改变,即发出一个低频脉冲。如果电机磁极对数是上图中8极磁体无刷直流电机中,则电机每转一圈,就会有8个脉冲出现。
(https://img-blog.csdn.net/20160905210241922)

2、## 转速算法的选取 ##
单片机转速测量的算法很多,主要有频率测速法(M法)、周期测速法(T法)、MT法等。
M 测速法:通过在相同的时间T间隔内计算传感器输出的脉冲个数来算出转速;设霍尔传感器输出的信号每转 R个脉冲,对应的转速为N(r/min),则f=RN/60,就可算出实际转速为N=60M/RT(r/min).
根据上式可确定这种测速法的分辨率为:Q= 60(M+1)/RT-60M/RT =60/RT
其中:R为每转的信号数,T为间隔时间,M为T时间内测得的脉冲数。
可见这种测速法的分辨率取决于电机转一周的输出方波R和测速周期T,极对数越多或测量周期越长,则分辨率越小,但一般电机的R不大,且测量周期不宜过大,因为测量周期过大为影响测速的反应速度,降低系统的实时性。所以这种方法是不可取的。
T法测速:通过测量传感器发出的相邻两个脉冲之间的T来算出转速。用一个计数器对一个已知频率为f的时钟脉冲计数;传感器每输出一个脉冲都想CPU申请一次中断,CPU响应中断读出计数值M,并将计数器清零。则可计算出转速的公式为:N=60f/MR (r/min)。
这种测速的分辨率为:Q=60f/R(M-1)-60f/MR=60f/RM(M-1)=RN*N/(60f-RN)
其中,f为时钟频率,R为每转输出的信号数,,M为中断读到的计数值。
可见这种测速法的分辨率与转速有关,转速越低,Q越小,因此,这种测速法在低速时有叫强的分辨率。
3、## 软件设计与实现 ##
/*
函数名:
函数功能:主函数
*/

 int main(void){  u32 temp=0; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2delay_init();            //延时函数初始化  uart_init(9600);                //9600   LED_Init();         //初始化与LED连接的硬件接口TIM1_PWM_Init(199,7199);            //不分频。PWM频率=10000/(199+1)=50hzTIM_SetCompare1(TIM1,100);TIM2_Cap_Init(0XFFFF,72-1);     //以1Mhz的频率计数 Lcd_Init();      //LCD初始化LCD_Clear(WHITE); //清屏xianshi();while(1){delay_ms(10);           if(TIM2CH1_CAPTURE_STA&0X80)//成功捕获到了一次高电平{temp=TIM2CH1_CAPTURE_STA&0X3F;temp*=65536;                    //溢出时间总和temp+=TIM2CH1_CAPTURE_VALwNum(10,55,temp,6);LCD_ShowNum(10,55,temp,6);//LCD显示捕获的周期值delay_ms(10000);TIM2CH1_CAPTURE_STA=0;          //开启下一次捕获}}
}

/*
函数名:
函数功能:输入捕获中断处理函数
*/


u8  TIM2CH1_CAPTURE_STA=0;  //输入捕获状态
u16 TIM2CH1_CAPTURE_VAL;    //输入捕获值//定时器5中断服务程序
void TIM2_IRQHandler(void)
{ if((TIM2CH1_CAPTURE_STA&0X80)==0)//还未成功捕获   {     if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET){       if(TIM2CH1_CAPTURE_STA&0X40)//已经捕获到高电平了{if((TIM2CH1_CAPTURE_STA&0X3F)==0X3F)//高电平太长了{TIM2CH1_CAPTURE_STA|=0X80;//标记成功捕获了一次TIM2CH1_CAPTURE_VAL=0XFFFF;}else TIM2CH1_CAPTURE_STA++;}    }if (TIM_GetITStatus(TIM2, TIM_IT_CC1) != RESET)//捕获1发生捕获事件{   if(TIM2CH1_CAPTURE_STA&0X40)        //捕获到第2个上升沿         {               TIM2CH1_CAPTURE_STA|=0X80;      //标记成功捕获到一次周期TIM2CH1_CAPTURE_VAL=TIM_GetCapture1(TIM2);}else                               //还未开始,第一次捕获上升沿{TIM2CH1_CAPTURE_STA=0;          //清空TIM2CH1_CAPTURE_VAL=0;TIM_SetCounter(TIM2,0);TIM2CH1_CAPTURE_STA|=0X40;      //标记捕获到了第1次上升沿}           }                                              }TIM_ClearITPendingBit(TIM2, TIM_IT_CC1|TIM_IT_Update); //清除中断标志位}

利用电动自行车后轮无刷直流电机霍尔信号的一种测速方法相关推荐

  1. diy无感无刷电机霍尔安装_无刷直流电机霍尔传感器安装方法研究

    无刷直流电机霍尔传感器安装方法研究 常亚辉 ; 王莎莎 ; 李建春 ; 郭立杰 [期刊名称] <导航与控制> [年 ( 卷 ), 期] 2015(014)004 [摘要] 针对有位置传感器 ...

  2. 无刷直流电机MATLAB仿真,基于有感无感两种方式 无刷直流电机霍尔换相建模

    无刷直流电机MATLAB仿真,基于有感无感两种方式 无刷直流电机霍尔换相建模 无刷直流电机反电动势过零检测建模 通过有传感器与无传感器两种方式搭建的电机matlab仿真 ID:511067340757 ...

  3. Arduino基础篇(九)-- 无刷直流电机转速和方向控制

    本文选择Arduino MEGA 2560开发板做调试,通过调整PWM的占空比,控制BLDC3525,内置有感有霍尔驱动,实现对无刷直流电机的转速控制,通过调整数字口输出高低电平,从而实现电机方向控制 ...

  4. 【市场趋势】专为无刷直流电机设计的单片机现世!取代有刷已成大势?

    在节能减排已经成为消费者的新需求时,各种工业企业也开始了转型,配合国家的政策向节能减排发展.在动力部分,要想配合节能减排的方针政策,主要就是提高技术,选择适合的电机,那么什么电机既能满足生产需求又能做 ...

  5. 学习带霍尔传感器的BLDC方波调速

    带霍尔传感器的BLDC方波调速 基本原理 BLDC控制框图 三路霍尔信号图 120°Hall换相真值表 PID 调节控制电机转速 程序应用 按键读取 启动后调速 PWM换相调压 霍尔信号处理 基本原理 ...

  6. 测定无刷直流电机转子霍尔信号与绕组对应关系的方法

    无制直流电动机用转子位置信霍尔信来控制逆变焕相,这就要求霍尔信号与定子三相绕组有正确的对应关系,一般情况下在霍尔信号线上标明Ha.Hb.Hc,与霍尔信号相对应的电机绕组上标上A.B.C以表示对应关系. ...

  7. ABLIC Inc.全球首款(*1)“ZCL(*2)霍尔IC”将为无刷直流电机的研发和制造带来创新

    日本千叶--(美国商业资讯)--ABLIC Inc.(社长:Nobumasa Ishiai,总部:千叶县千叶市,以下简称:ABLIC)已研发出一款ZCL™霍尔IC(磁传感器),将有望革新无刷直流电机的 ...

  8. 注意-更正並替換:ABLIC Inc.全球首款(*1)“Zero Crossing Latch霍尔IC”将为无刷直流电机的研发和制造带来创新

    日本千叶 -- (美国商业资讯) -- ABLIC Inc.(社长:Nobumasa Ishiai,总部:千叶县千叶市,以下简称:ABLIC)已研发出一款Zero Crossing Latch霍尔IC ...

  9. 【转载】无刷直流电机与永磁同步电机比较

    无刷直流电机与永磁同步电机比较 现代电机与控制技术以电流驱动模式的不同将永磁无刷直流电动机分为两大类:1)方波驱动电机,也即无刷直流电机(BLDC):2)正弦波驱动电机:也即永磁同步电机(PMSM). ...

最新文章

  1. volatile 的内存语义
  2. 防火墙双机热备三大协议(VRRP-VGMP-HRP)原理
  3. python程序员发展-Python程序员的进化史
  4. python万年历_Python实现的简单万年历例子分享
  5. 【渝粤题库】国家开放大学2021春2109刑事诉讼法学题目
  6. Win8 IIS 安装和部署网站问题
  7. 使用反射调用构造器创建对象
  8. 全面拥抱云原生应用研发的拐点已经到来
  9. easyui菜单 java_EasyUI:主界面以及菜单功能
  10. GitHub 上四万 Star 大佬的BATT求职回忆
  11. 程序员代码面试指南读书笔记1
  12. 7.10 18级多校适应训练1题解
  13. python添加pip环境变量win7_windows环境下面配置pip环境变量
  14. network secruity studay day4
  15. Elasticsearch之近义词/同义词的使用
  16. mysql通过触发器获取数据表的操作id_MySQL触发器初试:当A表插入新记录,自动在B表中插入相同ID的记录...
  17. html5拼图游戏canvas,canvas拼图游戏
  18. 多个pdf怎么合并成一个pdf?多个pdf文件怎么合并成一个文件?
  19. Spring Boot简介,四大核心,特性
  20. 模拟海_学前教育系未来之星 课堂模拟大赛

热门文章

  1. 本地mysql访问线上_MySQL线上与本地实时同步
  2. linux中initrd的含义,什么是initrd
  3. 《数学分析》即《实变函数论》笔记(序)
  4. Vue从零开始之VueRouter
  5. 关于@Around、@Before、@After、@AfterReturning、@AfterThrowing执行顺序以及执行结果总结
  6. 有道云笔记导入语雀(Windows环境),自用有效
  7. pipeline与make_pipeline
  8. python 邮件服务器地址_python实现的接收邮件功能示例【基于网易POP3服务器】
  9. C#实现10进制转32进制和64进制,排除0、l(L)和o
  10. oppo手机run的apk 无法正常启动 Caused by: java.lang.ClassNotFoundException DexPathList[ */base.apk]