sxyxybaobao 发表于 2019-5-28 14:37:09

MC9S12HY64汽车仪表步进电机实验


MC9S12HY64汽车仪表步进电机实验:我的程序中为何一加仪表回零程序马上卡死?望老师指导?谢谢!

/************************************************************/
/*                         主函数                           */
/************************************************************/
void main(void)
{
DisableInterrupts;
INIT_PLL_24MHz ();
initialize_tim0();
init_motor();
INIT_AD();
      EnableInterrupts;

/**for(j=0;j<1080;j++)       //逆时针转动180度,指针归位
{
      delay200us(1);      
      motor_step(0,1);      
      motor_step(1,0);
      motor_step(2,1);
      motor_step(3,1);
}

      oil_actual=0;            
      water_actual=0;
      QY_actual=0;
      YW_actual=0;
      **/


   TIM0_TFLG1_C4F = 1;         //清除标志位
   TIM0_TC4 =TIM0_TCNT + 125;//设置输出比较时间为4us*125=500us
   TIM0_TIE=0x10;            //使能通道四中断

   TIM0_TFLG1_C7F = 1;         //清除标志位
   TIM0_TC7 =TIM0_TCNT + 1250; //设置输出比较时间为4us*1250=5000us=5ms   

   for(;;)
{

    POWER=POWER_PT1AD;//读取PT1AD的电平状态赋值给变量POWER      
    if(POWER==1)      //如果POWER的值为1
      POWOK=1;      //点火开关开启电源工作自锁
      else
          POWOK=0;      //否则关闭电源   


   if(TIM0_TFLG1_C7F==1)   //5ms一个周期
      {
          TIM0_TFLG1_C7F = 1;          //清除标志位
          TIM0_TC7 = TIM0_TCNT + 1250;//设置输出比较时间为5ms


          AD_in3 = AD_capture(3);       //调用带返回值的起动AD转换函数 AD02赋值给AD_in3
          AD_in2 = AD_capture(2);       //调用带返回值的起动AD转换函数 AD00赋值给AD_in2

          AD_in1 = AD_capture(1);       //调用带返回值的起动AD转换函数 AD03赋值给AD_in1
          AD_in0 = AD_capture(0);       //调用带返回值的起动AD转换函数 AD05赋值给AD_in0

jenkins 发表于 2019-5-28 19:13:17

本帖最后由 jenkins 于 2019-5-28 19:15 编辑

哈哈,我是专业搞这个的,发完整的程序看看。你用那个型号电机?

leezee 发表于 2019-5-28 21:33:23

一直不是很明白仪表指针回零的原理,按说有专门的上电回零程序的话,那指针拆下来后,随便安回去上电都能自动停到零位啊,实际上却不是这样

LinuxTux.China 发表于 2019-5-29 09:17:00

leezee 发表于 2019-5-28 21:33
一直不是很明白仪表指针回零的原理,按说有专门的上电回零程序的话,那指针拆下来后,随便安回去上电都能自动 ...

我记得当初是这样做,不管指针在哪个位置,程序控制归零,所以会听到指针那个电机齿轮打转的声音

wjb444 发表于 2019-5-29 13:48:32

回0有个挡块,会堵转

wjb444 发表于 2019-5-29 13:49:02

检测过流

bccuje_love 发表于 2019-6-3 12:02:12

leezee 发表于 2019-5-28 21:33
一直不是很明白仪表指针回零的原理,按说有专门的上电回零程序的话,那指针拆下来后,随便安回去上电都能自动 ...

电机里面有个挡块,电机的角度一般330度,

leezee 发表于 2019-6-3 20:35:04

那意思是电机反向转到挡块的位置就是指针的零位啦? 有空拆个坏电机看看{:lol:}

sxyxybaobao 发表于 2020-3-1 20:38:58

VID29-05步进电机
页: [1]
查看完整版本: MC9S12HY64汽车仪表步进电机实验