[DSP编程] 请问霍尔传感器是如何获取无刷电机的速度的?下面是程序代码。

[复制链接]
 楼主| dcqzx 发表于 2015-8-18 21:10 | 显示全部楼层 |阅读模式
请问霍尔传感器是如何获取无刷电机的速度的?下面是程序代码。
hall_change_time_sum+=isr_time_inc;
                hall_change_time_sum-=hall_change_time[hall_change_time_index];
                hall_change_time[hall_change_time_index]=isr_time_inc;
                isr_time_inc=0;
                hall_change_time_index++;
                hall_change_time_index &=0x3;
                hall_change_time_ave=hall_change_time_sum>>2;

                speed_tmp = ((long)200000)/hall_change_time_ave;
                system.now_speed = speed_tmp;

                speed_no_change_inc=0;
          }
          else
          {
                speed_no_change_inc++;
                if(speed_no_change_inc>1000)
                        {
                        speed_no_change_inc=0;
                        system.now_speed=0;
                        }
          }

        if(IsrTicker&0xff==0xff)
                {
                pid1_spd.Ref = system.speed_close_loop;
                pid1_spd.Fdb = system.now_speed*3;
                pid1_spd.calc(&pid1_spd);
                }
zhangmangui 发表于 2015-8-22 23:22 | 显示全部楼层
代码有些乱    我自己的思路   
霍尔传感器就是电机转动一周来一个脉冲      采集速度  
也就是单位时间内计算脉冲的个数   
 楼主| dcqzx 发表于 2015-8-24 15:18 | 显示全部楼层
zhangmangui 发表于 2015-8-22 23:22
代码有些乱    我自己的思路   
霍尔传感器就是电机转动一周来一个脉冲      采集速度  
也就是单位时间内 ...

speed_tmp = ((long)200000)/hall_change_time_ave;  其中200000代表什么呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

10

帖子

0

粉丝
快速回复 返回顶部 返回列表