标题: 这个单片机电机控制程序如何修改? 求帮助 [打印本页]

作者: freedom9001    时间: 2019-6-10 17:32
标题: 这个单片机电机控制程序如何修改? 求帮助
各位大师,能帮忙改改一下这个程序吗?
要求:出胶后,电机旋转180度,毛刷下降保持,然后电机来回45度往复旋转

  1. #include "Oiling_Tooling.Arduino.h"
  2. void System_Init()
  3. {
  4.     digitalWrite( Starting_switch_Pin , HIGH );
  5.     digitalWrite( Interrupt_switch_Pin , HIGH );
  6.     digitalWrite( Oil_injection_Pin , LOW );
  7.     digitalWrite( Brush_Pin , LOW );
  8.     digitalWrite( Electric_machinery_Pin  , LOW );
  9.     digitalWrite( Downward_pressure_Pin , LOW );
  10.     pinMode( Starting_switch_Pin , INPUT);
  11.     pinMode( Interrupt_switch_Pin , INPUT);
  12.     pinMode( Oil_injection_Pin , OUTPUT);
  13.     pinMode( Brush_Pin , OUTPUT);
  14.     pinMode( Electric_machinery_Pin , OUTPUT);
  15.     pinMode( Downward_pressure_Pin , OUTPUT);
  16. }



  17. #ifndef _Oiling_Tooling_Arduino_H_
  18. #define _Oiling_Tooling_Arduino_H_


  19. #include <Arduino.h>


  20. /*****************************************
  21. 定义引脚
  22. *****************************************/
  23. #define Starting_switch_Pin      13  //启动开关
  24. #define Interrupt_switch_Pin     2   //中断开关
  25. #define Electric_machinery_Pin   5   //驱动电机
  26. #define Downward_pressure_Pin    6   //驱动注油针下压
  27. #define Oil_injection_Pin        3   //注油
  28. #define Brush_Pin                4   //毛刷


  29. extern void System_Init();//初始化


  30. #endif







  31. #include "Oiling_Tooling.Arduino.h"


  32. int Electric_machinery_value=3000;  //电机运行值
  33. int Downward_pressure_time=200;      //驱动注油针下压时间
  34. int Oil_injection_time=500;          //注油时间
  35. int Brush_time=500;                 //毛刷动作时间

  36. void setup()
  37. {
  38.   System_Init();

  39. }

  40. void loop()
  41. {
  42.    if(digitalRead(Starting_switch_Pin)==LOW)
  43.    {
  44.       delay(50);
  45.       if(digitalRead(Starting_switch_Pin)==LOW)
  46.       {
  47.          if(digitalRead(Interrupt_switch_Pin)==HIGH)
  48.          {  
  49.             digitalWrite( Oil_injection_Pin , HIGH );
  50.             digitalWrite( Brush_Pin , LOW );
  51.             digitalWrite( Electric_machinery_Pin , LOW );
  52.             digitalWrite( Downward_pressure_Pin , LOW );
  53.             delay( 100);
  54.             digitalWrite( Brush_Pin , HIGH );  //毛刷到位
  55.             digitalWrite( Downward_pressure_Pin , HIGH );//注油针下压
  56.             delay( Downward_pressure_time······ );
  57.             digitalWrite( Oil_injection_Pin , HIGH );//开始注油
  58.             delay( Oil_injection_time );
  59.             digitalWrite( Oil_injection_Pin , LOW );  //结束注油      
  60.             delay( Brush_time);//防止油漏出
  61.             digitalWrite( Downward_pressure_Pin , LOW ); //注油针上升
  62.             delay(200);
  63.             for(int i=0;i<Electric_machinery_value;i++)  //电机动作
  64.             {
  65.                digitalWrite( Electric_machinery_Pin , HIGH );
  66.                delay(1);
  67.                digitalWrite( Electric_machinery_Pin , LOW );
  68.                delay(1);
  69.                if(digitalRead(Interrupt_switch_Pin)==LOW)
  70.                {
  71.                   delay( 50 );
  72.                   if(digitalRead(Interrupt_switch_Pin)==LOW)
  73.                   {
  74.                      digitalWrite( Starting_switch_Pin , HIGH );
  75.                      digitalWrite( Interrupt_switch_Pin , HIGH );
  76.                      digitalWrite( Oil_injection_Pin , LOW );
  77.                      digitalWrite( Brush_Pin , LOW );
  78.                      digitalWrite( Electric_machinery_Pin , LOW );
  79.                      return;
  80.                   }
  81.                }
  82.             }
  83.             digitalWrite( Brush_Pin , LOW );//毛刷上升
  84.           }
  85.        }
  86.        while(digitalRead(Starting_switch_Pin)==LOW)
  87.        {

  88.        }  
  89.     }
  90. }
复制代码




作者: 51hei团团    时间: 2019-6-11 02:26
直流电机还是步进电机?
作者: 鹏博士PBs    时间: 2019-6-11 07:58
这是多少拍的步进电机啊
作者: witheMe    时间: 2019-8-11 20:47
不清楚电机型没有对应的参数。很难帮你修改正确。你可以试试编码器
作者: MY黄土高坡    时间: 2019-8-12 09:06
程序存在什么问题吗?先做前两个流程,完成以后最后那个流程外加一个死循环就可以了






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1