找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1052|回复: 4
打印 上一主题 下一主题
收起左侧

这个单片机电机控制程序如何修改? 求帮助

[复制链接]
回帖奖励 100 黑币 回复本帖可获得 100 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
ID:559089 发表于 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. }
复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:328014 发表于 2019-6-11 02:26 | 只看该作者
直流电机还是步进电机?
回复

使用道具 举报

板凳
ID:282095 发表于 2019-6-11 07:58 | 只看该作者
这是多少拍的步进电机啊
回复

使用道具 举报

地板
ID:542954 发表于 2019-8-11 20:47 | 只看该作者
不清楚电机型没有对应的参数。很难帮你修改正确。你可以试试编码器
回复

使用道具 举报

5#
ID:597048 发表于 2019-8-12 09:06 | 只看该作者
程序存在什么问题吗?先做前两个流程,完成以后最后那个流程外加一个死循环就可以了

回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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