搜索
bottom↓
回复: 8

MC9S12HY64汽车仪表步进电机实验

[复制链接]

出0入0汤圆

发表于 2019-5-28 14:37:09 | 显示全部楼层 |阅读模式

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

出0入0汤圆

发表于 2019-5-28 19:13:17 来自手机 | 显示全部楼层
本帖最后由 jenkins 于 2019-5-28 19:15 编辑

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

出0入0汤圆

发表于 2019-5-28 21:33:23 | 显示全部楼层
一直不是很明白仪表指针回零的原理,按说有专门的上电回零程序的话,那指针拆下来后,随便安回去上电都能自动停到零位啊,实际上却不是这样

出5入0汤圆

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

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

出0入0汤圆

发表于 2019-5-29 13:48:32 来自手机 | 显示全部楼层
回0有个挡块,会堵转

出0入0汤圆

发表于 2019-5-29 13:49:02 来自手机 | 显示全部楼层
检测过流

出0入0汤圆

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

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

出0入0汤圆

发表于 2019-6-3 20:35:04 | 显示全部楼层
那意思是电机反向转到挡块的位置就是指针的零位啦? 有空拆个坏电机看看

出0入0汤圆

 楼主| 发表于 2020-3-1 20:38:58 | 显示全部楼层
VID29-05步进电机
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-4 11:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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