OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7192|回复: 32

无刷电机不能自启动,软件方面会有什么原因造成?

[复制链接]

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
发表于 2016-7-6 22:58:15 | 显示全部楼层 |阅读模式
1金钱
如题

最佳答案

查看完整内容[请看2#楼]

找到问题了 是换相子函数的问题 有些PWM通道的使能和失能可能冲突 void ComHandler(void)//换相子函数 { TIM8->BDTR&=0
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-7-6 22:58:16 | 显示全部楼层
星丶落 发表于 2016-7-11 09:59
把那行再写上  不注释掉试试

找到问题了  是换相子函数的问题  有些PWM通道的使能和失能可能冲突

void ComHandler(void)//换相子函数
{
        TIM8->BDTR&=0<<15;//
        HALLcount++;
        if(bHallStartStep!=3&&bHallStartStep!=4)
        PWM_A=0;
        if(bHallStartStep!=0&&bHallStartStep!=5)
                PWM_B=0;
        if(bHallStartStep!=1&&bHallStartStep!=2)
                PWM_C=0;
         

        if(bHallStartStep==0)//AB
        {
//                TIM8->CCER|=1<<0;           //OC1 输出使能
//                TIM8->CCER&=0<<4;           //OC2 输出失能       
                TIM8->CCER&=0<<8;           //OC3 失能
                TIM8->CCER|=1<<0;           //OC1 输出使能
            TIM8->CCR1=led0pwmval;
                PWM_B=1;
                LED0=0;
                LED1=0;
                BEEP=0;
        }
  else if(bHallStartStep==1)        //AC
        {
//                TIM8->CCER|=1<<0;           //OC1 输出使能
//                TIM8->CCER&=0<<4;           //OC2 输出失能       
                TIM8->CCER&=0<<8;           //OC3 失能
                TIM8->CCER|=1<<0;           //OC1 输出使能
            TIM8->CCR1=led0pwmval;
                PWM_C=1;
                LED0=1;
                LED1=0;
                BEEP=0;
        }
        else if(bHallStartStep==2)        //BC
        {
                TIM8->CCER&=0<<0;           //OC1 输出失能
                TIM8->CCER|=1<<4;           //OC2 输出使能       
//                TIM8->CCER&=0<<8;           //OC3 失能
            TIM8->CCR2=led0pwmval;

                PWM_C=1;
                LED1=1;
                LED0=1;
                BEEP=0;
        }
        else if(bHallStartStep==3)        //BA
        {
                TIM8->CCER&=0<<0;           //OC1 输出失能
                TIM8->CCER|=1<<4;           //OC2 输出使能       
//                TIM8->CCER&=0<<8;           //OC3 失能
            TIM8->CCR2=led0pwmval;

                PWM_A=1;
                LED1=1;
                LED0=0;
                BEEP=0;
        }
        else if(bHallStartStep==4)//CA
        {
                TIM8->CCER&=0<<0;           //OC1 输出失能
//                TIM8->CCER&=0<<4;           //OC2 失能       
                TIM8->CCER|=1<<8;                //OC3 使
                TIM8->CCR3=led0pwmval;

                PWM_A=1;
//                BEEP=1;
                LED0=0;
                LED1=1;
               
        }
        else if(bHallStartStep==5)        //CB
        {
                TIM8->CCER&=0<<0;           //OC1 输出失能
//                TIM8->CCER&=0<<4;           //OC2 失能       
                TIM8->CCER|=1<<8;           //OC3 使能
        TIM8->CCR3=led0pwmval;

                PWM_B=1;
                LED0=1;
//                BEEP=1;
                LED1=0;
        }       
  TIM8->BDTR|=0x8000; //允许PWM输出
}
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-7-6 23:17:22 | 显示全部楼层
帮顶
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-7-7 09:48:43 | 显示全部楼层
帮顶      
回复

使用道具 举报

3

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2015-7-1
在线时间
11 小时
发表于 2016-7-7 10:09:24 | 显示全部楼层
我也在研究电机,多多指教
回复

使用道具 举报

28

主题

190

帖子

0

精华

高级会员

Rank: 4

积分
758
金钱
758
注册时间
2012-8-23
在线时间
71 小时
发表于 2016-7-7 10:24:35 | 显示全部楼层
无感无刷的三段式启动 1、转子预定位 2、开环同步加速 3、过零检测成功后进入闭环加速
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-7-7 10:57:35 | 显示全部楼层
月光疾風 发表于 2016-7-7 10:24
无感无刷的三段式启动 1、转子预定位 2、开环同步加速 3、过零检测成功后进入闭环加速

额 有感的  用手拨一下才能动
回复

使用道具 举报

16

主题

111

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1102
金钱
1102
注册时间
2016-4-3
在线时间
148 小时
发表于 2016-7-7 13:26:30 | 显示全部楼层
xiaobudonglaosh 发表于 2016-7-7 10:57
额 有感的  用手拨一下才能动

问题很简单!
你肯定是要等hall状态变化了才换向,当你上电后,电机没动,hall就一直没有变化,需要用手拨一下才行。
回复

使用道具 举报

2

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
392
金钱
392
注册时间
2016-5-26
在线时间
35 小时
发表于 2016-7-7 17:41:29 | 显示全部楼层
霍尔程序状态判断部分有问题吧,你可以看一下那部分,应该是上电初始化霍尔状态没有读出来
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-7-8 07:57:13 | 显示全部楼层
dasuantou 发表于 2016-7-7 13:26
问题很简单!
你肯定是要等hall状态变化了才换向,当你上电后,电机没动,hall就一直没有变化,需要用手 ...

............我知道
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-7-8 08:05:32 | 显示全部楼层
星丶落 发表于 2016-7-7 17:41
霍尔程序状态判断部分有问题吧,你可以看一下那部分,应该是上电初始化霍尔状态没有读出来

我用几个LED来做霍尔六个状态的标志,霍尔状态能能检测出来。
现在给我的感觉就是上电之后,能检测出电机的初始霍尔状态,但是检测出来以后,给电机通电的时候  就卡在这里了。偶尔能自启动,偶尔会抖动很小的一下。
回复

使用道具 举报

16

主题

111

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1102
金钱
1102
注册时间
2016-4-3
在线时间
148 小时
发表于 2016-7-8 10:30:12 | 显示全部楼层

基于霍尔传感器的BLDC启动是不可能有抖动的!
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-7-8 10:36:03 | 显示全部楼层
dasuantou 发表于 2016-7-8 10:30
基于霍尔传感器的BLDC启动是不可能有抖动的!

我说的抖动是转了很小的一个角度 就停了
回复

使用道具 举报

2

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
392
金钱
392
注册时间
2016-5-26
在线时间
35 小时
发表于 2016-7-8 13:58:15 | 显示全部楼层
xiaobudonglaosh 发表于 2016-7-8 08:05
我用几个LED来做霍尔六个状态的标志,霍尔状态能能检测出来。
现在给我的感觉就是上电之后,能检测出电 ...

我仍感觉是你写的霍尔程序部分的问题,楼主可否把你的程序发一下,你这么给我们表述我们也不太好回你到底是哪儿的问题
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-7-8 14:18:43 | 显示全部楼层
星丶落 发表于 2016-7-8 13:58
我仍感觉是你写的霍尔程序部分的问题,楼主可否把你的程序发一下,你这么给我们表述我们也不太好回你到底 ...

#include "bldc.h"
#include "led.h"
#include "timer.h"
#include "beep.h"


u16 led0pwmval;//占空比30%                
unsigned char bHallStartStep;//相序
unsigned char bHallSteps[2][8]={
{7,5,3,4,1,0,2,7},//正转
{7,2,0,1,4,3,5,7}//反转
};

unsigned int HALLcount=0;

void TIM2_Hallcap_Init(void)//三路霍尔输入捕获
{
        RCC->APB1ENR|=1<<0;//使能TIM2
        RCC->APB2ENR|=1<<2; //使能PA
       
        GPIOA->CRL&=0XFFFFF000;        //PA0、PA1、PA2清除之前设置  
        GPIOA->CRL|=0X00000888;        //PA0、PA1、PA2 输入   
        GPIOA->ODR&=0XFFFFFFF8;                    // 下拉
        TIM2->ARR=0XFFFF;
        TIM2->PSC=0;
       
        TIM2->DIER&=0x0000;   //禁止所有中断
        TIM2->CCMR1|=1<<0;  //CC1S=01          选择输入端 IC1映射到TI1
        TIM2->CCMR1|=1<<8;  //CC2S=01   选择输入端 IC2映射到TI2
        TIM2->CCMR2|=1<<0;        //CC3S=01       

        TIM2->CCER|=1<<0;
        TIM2->CCER|=1<<4;
        TIM2->CCER|=1<<8;
//        TIM2->DIER|=1<<0;           //允许更新中断       
        TIM2->CR1|=0x01;            //使能定时器2
       
        MY_NVIC_Init(2,0,TIM2_IRQn,2);//抢占2,子优先级0,组2
}


void Gethallval(void)//根据霍尔状态换相
{
        u8 bHStatus = 0;
        if(PAin(0)==1)
        {
                TIM2->CCER|=1<<1;//改为下降沿捕获
                bHStatus |= BIT2;
//                LED0=0;
        }
        else
        {
        TIM2->CCER|=~(1<<1);//上升沿捕获
//        LED0=1;
        }
       
        if(PAin(1)==1)
        {
                TIM2->CCER|=1<<5;//改为下降沿捕获
                bHStatus |= BIT1;
//                LED1=0;
        }
        else
        {
        TIM2->CCER|=~(1<<5);//上升沿捕获
//        LED1=1;
        }               
        if(PAin(2)==1)
        {
                TIM2->CCER|=1<<9;//改为下降沿捕获
                bHStatus |= BIT0;
//                BEEP=1;
        }
        else
        {
        TIM2->CCER|=~(1<<9);
//        BEEP=0;
        }
  bHallStartStep=bHallSteps[0][bHStatus];//得到初始相位
        if(bHallStartStep==7)
        {
                return;
        }
       
        TIM2->SR&=0XFFF1;//清除捕获标志位       
        TIM2->DIER|=0X0E<<0;//允许捕获输入中断
        ComHandler();
}


void TIM2_IRQHandler(void)//捕获输入中断函数
{
        u8 bHStatus = 0;
        if(PAin(0)==1)
        {
                TIM2->CCER|=1<<1;//改为下降沿捕获
                bHStatus |= BIT2;
//                LED0=0;
        }
        else
        {
        TIM2->CCER&=~(1<<1);//上升沿捕获
//        LED0=1;
        }       
        if(PAin(1)==1)
        {
                TIM2->CCER|=1<<5;//改为下降沿捕获
                bHStatus |= BIT1;       
//                LED1=0;
        }
        else
        {
        TIM2->CCER&=~(1<<5);//上升沿捕获
//        LED1=1;
        }               
        if(PAin(2)==1)
        {
                TIM2->CCER|=1<<9;//改为下降沿捕获
                bHStatus |= BIT0;
//        BEEP=1;               
        }
        else
        {
        TIM2->CCER&=~(1<<9);//上升沿捕获
//        BEEP=0;
        }
    TIM2->SR&=0XFFF1;//清除中断标志位
       
        bHallStartStep = bHallSteps[0][bHStatus];//正转步序

        if (bHallStartStep == 7)
        {
                TIM8->BDTR&=0<<15;//禁止PWM输出
                PWM_A=0;
                PWM_B=0;
                PWM_C=0;//下桥臂关
                return;
        }
    ComHandler();       
        return;
}



void ComHandler(void)//换相子函数
{
        TIM8->BDTR&=0<<15;//
        HALLcount++;
        if(bHallStartStep!=3&&bHallStartStep!=4)
        PWM_A=0;
        if(bHallStartStep!=0&&bHallStartStep!=5)
                PWM_B=0;
        if(bHallStartStep!=1&&bHallStartStep!=2)
                PWM_C=0;
         

        if(bHallStartStep==0)//AB
        {
                TIM8->CCER|=1<<0;           //OC1 输出使能
                TIM8->CCER&=0<<4;           //OC2 输出失能       
                TIM8->CCER&=0<<8;           //OC3 失能
            TIM8->CCR1=led0pwmval;
                PWM_B=1;
                LED0=0;
                LED1=0;
                BEEP=0;
        }
  else if(bHallStartStep==1)        //AC
        {
                TIM8->CCER|=1<<0;           //OC1 输出使能
                TIM8->CCER&=0<<4;           //OC2 输出失能       
                TIM8->CCER&=0<<8;           //OC3 失能
            TIM8->CCR1=led0pwmval;
                PWM_C=1;
                LED0=1;
                LED1=0;
                BEEP=0;
        }
        else if(bHallStartStep==2)        //BC
        {
                TIM8->CCER&=0<<0;           //OC1 输出失能
                TIM8->CCER|=1<<4;           //OC2 输出使能       
                TIM8->CCER&=0<<8;           //OC3 失能
            TIM8->CCR2=led0pwmval;
                PWM_C=1;
                LED1=1;
                LED0=1;
                BEEP=0;
        }
        else if(bHallStartStep==3)        //BA
        {
                TIM8->CCER&=0<<0;           //OC1 输出失能
                TIM8->CCER|=1<<4;           //OC2 输出使能       
                TIM8->CCER&=0<<8;           //OC3 失能
            TIM8->CCR2=led0pwmval;
                PWM_A=1;
                LED1=1;
                LED0=0;
                BEEP=0;
        }
        else if(bHallStartStep==4)//CA
        {
                TIM8->CCER&=0<<0;           //OC1 输出失能
                TIM8->CCER&=0<<4;           //OC2 失能       
                TIM8->CCER|=1<<8;                //OC3 使
                TIM8->CCR3=led0pwmval;

                PWM_A=1;
//                BEEP=1;
                LED0=0;
                LED1=1;
               
        }
        else if(bHallStartStep==5)        //CB
        {
                TIM8->CCER&=0<<0;           //OC1 输出失能
                TIM8->CCER&=0<<4;           //OC2 失能       
                TIM8->CCER|=1<<8;           //OC3 使能
        TIM8->CCR3=led0pwmval;
                PWM_B=1;
                LED0=1;
//                BEEP=1;
                LED1=0;
        }       
  TIM8->BDTR|=0x8000; //允许PWM输出
}
[/mw_shl_code]
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-7-8 14:27:51 | 显示全部楼层
星丶落 发表于 2016-7-8 13:58
我仍感觉是你写的霍尔程序部分的问题,楼主可否把你的程序发一下,你这么给我们表述我们也不太好回你到底 ...

直接给你整个文件吧  这代码是我从一本教程上移植过来的   本来是STM8的芯片 我改到我的战舰开发板上了

STM32控制电机.rar

1.26 MB, 下载次数: 491

回复

使用道具 举报

2

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
392
金钱
392
注册时间
2016-5-26
在线时间
35 小时
发表于 2016-7-8 15:01:02 | 显示全部楼层
xiaobudonglaosh 发表于 2016-7-8 14:27
直接给你整个文件吧  这代码是我从一本教程上移植过来的   本来是STM8的芯片 我改到我的战舰开发板上了
...

周末帮你看一下
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-7-8 15:02:02 | 显示全部楼层

谢谢  麻烦了
回复

使用道具 举报

16

主题

111

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1102
金钱
1102
注册时间
2016-4-3
在线时间
148 小时
发表于 2016-7-9 10:42:27 | 显示全部楼层
xiaobudonglaosh 发表于 2016-7-8 10:36
我说的抖动是转了很小的一个角度 就停了

你用的是P+N还是ALL N的功率级?
如果使用ALL N的方式,要注意自举电容的充电问题。
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-7-9 14:10:58 | 显示全部楼层
dasuantou 发表于 2016-7-9 10:42
你用的是P+N还是ALL N的功率级?
如果使用ALL N的方式,要注意自举电容的充电问题。

P+N  昨天拿示波器测了一下  应该是缺相  但是我不知道什么原因导致的缺相,只有W相有PWM输出,而且是我换了三个不同的定时器,都是缺U和V的PWM输出,不知道 程序哪里出了问题。。
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-7-9 14:13:54 | 显示全部楼层

昨天拿示波器测了一下  应该是缺相  但是我不知道什么原因导致的缺相,只有W相有PWM输出,而且是我换了三个不同的定时器,都是缺U和V的PWM输出,不知道 程序哪里出了问题。。
回复

使用道具 举报

2

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
392
金钱
392
注册时间
2016-5-26
在线时间
35 小时
发表于 2016-7-9 17:42:45 | 显示全部楼层
xiaobudonglaosh 发表于 2016-7-9 14:13
昨天拿示波器测了一下  应该是缺相  但是我不知道什么原因导致的缺相,只有W相有PWM输出,而且是我换了三 ...

我看你程序还是六步换相的啊。我前段时间作为新手研究过无感无刷六步换相的,也研究过有感无刷FOC SVPWM的,有感无刷六步换相的暂时还没研究过,只能给个建议,把bldc.c文件里第35行允许更新中断的注释去掉试试,我也不太确定是否可行。至于三相PWM输出这个问题,我研究的六步换相是只有一个相位是输出PWM的,其他两相之中有一相输出高低电平与PWM的那相组成回路,每换相一次,输出PWM的相改变一次,完成AB→AC→BC→BA→CA→CB→AB的六步换相。希望可以对你有所帮助。
回复

使用道具 举报

16

主题

111

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1102
金钱
1102
注册时间
2016-4-3
在线时间
148 小时
发表于 2016-7-9 19:13:56 | 显示全部楼层
xiaobudonglaosh 发表于 2016-7-9 14:10
P+N  昨天拿示波器测了一下  应该是缺相  但是我不知道什么原因导致的缺相,只有W相有PWM输出,而且是我 ...

根据海绵宝宝我的经验,你可以先不用读取霍尔状态换向,而是直接32MS后直接换向,这样在比如8%duty下,用手捏住电机后,用示波器观察每项的相电压波形,应该是梯形的斩波波形,这样就可以确认软件和硬件都是好的,最后再加上霍尔读取换向部分。
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-7-11 07:48:51 | 显示全部楼层
星丶落 发表于 2016-7-9 17:42
我看你程序还是六步换相的啊。我前段时间作为新手研究过无感无刷六步换相的,也研究过有感无刷FOC SVPWM ...

35行我好像已经注释掉了
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-7-11 07:51:58 | 显示全部楼层
dasuantou 发表于 2016-7-9 19:13
根据海绵宝宝我的经验,你可以先不用读取霍尔状态换向,而是直接32MS后直接换向,这样在比如8%duty下,用 ...

现在关键是我已经示波器检测出 三路PWM只有W相那一路有PWM输出,而且我换了好几个定时器了都这样,这个好奇怪
回复

使用道具 举报

2

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
392
金钱
392
注册时间
2016-5-26
在线时间
35 小时
发表于 2016-7-11 09:59:48 | 显示全部楼层
xiaobudonglaosh 发表于 2016-7-11 07:48
35行我好像已经注释掉了

把那行再写上  不注释掉试试
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-7-11 12:30:11 | 显示全部楼层
星丶落 发表于 2016-7-11 09:59
把那行再写上  不注释掉试试

不注释掉 不转    现在问题的关键是电机缺相转动  而且都是缺U V相   只有W相有pwm    硬件没有问题我可以确定    就是单片机的三路PWM只有一路输出   
回复

使用道具 举报

2

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
392
金钱
392
注册时间
2016-5-26
在线时间
35 小时
发表于 2016-7-12 11:24:52 | 显示全部楼层
xiaobudonglaosh 发表于 2016-7-11 22:09
找到问题了  是换相子函数的问题  有些PWM通道的使能和失能可能冲突

void ComHandler(void)//换相子函 ...

OK  找到问题就行
回复

使用道具 举报

书生意气 该用户已被删除
发表于 2017-2-14 13:15:44 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2017-2-16 13:55:11 | 显示全部楼层
书生意气 发表于 2017-2-14 13:15
请问楼主这个问题解决了我吗??我也遇到了,电机给一个力才能运行,否则就卡住了,我是参考你的程序来写的 ...

是换相子函数的问题,我每次使能一个PWM定时器通道,另外的一个就关闭。
你可以手动转一下电机,然后用示波器看看到底有没有PWM输出
回复

使用道具 举报

书生意气 该用户已被删除
发表于 2017-2-18 21:48:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2017-2-22 14:50:21 | 显示全部楼层
书生意气 发表于 2017-2-18 21:48
请问楼主的Hallcount变量是测速的吧,我参考楼主的程序,用电位器调速,定时器定时1000ms时发现Hallcount ...

是测速的,跟电位器没关系
回复

使用道具 举报

书生意气 该用户已被删除
发表于 2017-3-31 09:47:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-22 15:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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