当前位置:网站首页>Sliding rail stepping motor commissioning (national ocean vehicle competition) (STM32 master control)

Sliding rail stepping motor commissioning (national ocean vehicle competition) (STM32 master control)

2022-07-07 13:33:00 Xiao Lu who dreams of being a geek

Tips : When the article is finished , Directories can be generated automatically , How to generate it, please refer to the help document on the right


Preface

In the aircraft race : Commissioning experience of slide rail stepping motor


One 、 Slide rail stepping motor ?

It looks like this
 Insert picture description here
A treasure called precision trapezoidal screw linear guide slide module CNC mobile module platform stepper motor …

Two 、 Use

1. Slide action

 Insert picture description here
see , The position of the slide rail is a little in front of the aircraft , It is mainly used to adjust the pitch angle of the aircraft .

2. Driver ( I am using DM542)

It grows like this.
 Insert picture description here
This is his Handbook :http://www.yunkong.com/upload/file/contents/2019/09/5d71f45d04867.pdf

DM542 The point that needs attention is the working current , Do not exceed the rated current of the stepping motor .
Subdivision parameters will affect the number of turns of the same pulse motor .

3. The simplest driving method I use ( use GPIO Delay to generate pulse )

/**
  * @brief   The stepper motor rotates 
  * @param  tim          Square wave period   Company MS  The shorter the period, the higher the frequency , The faster the speed   Subdivided into 1 At least 10ms
  * @param  angle        The angle value that needs to be rotated 
  * @param  dir        Select forward and reverse ( Value range :0,1) 
  * @param  subdivide    Subdivision values 
  * @note    nothing 
  * @retval  nothing 
  */
void stepper_turn(int tim,float angle,float subdivide,uint8_t dir)  
{
  int n,i;
  /* Calculate how many square waves the step angle is divided into according to the subdivision */
  n=(int)(angle/(1.8/subdivide));
  if(dir==CW) // Clockwise 
  {
    MOTOR_DIR(CW);
  }
  else if(dir==CCW)// Anti-clockwise 
  {
    MOTOR_DIR(CCW);
  }
  /* On enable */
  MOTOR_EN(HIGH);
  /* Simulated square wave */
  for(i=0;i<n;i++)
  {   
    MOTOR_PLU(HIGH);
    Delay_us(tim/2);          //tim I set it up. 1000  It's a delay 0.5ms
    MOTOR_PLU(LOW);
    Delay_us(tim/2);
  }
  /* Off enable */
  MOTOR_EN(LOW);
}

There are also interrupts that generate pulses 、 perhaps PWM Peripherals generate pulses 、 I am using STM32F407 You can use peripherals , But I'm lazy .
 Insert picture description here

summary

I haven't written a blog for a long time , Write a blog record … Look at my blog , It's also my motivation to update . Insert picture description here

  • Be sure to remember the stepping motor 4 Don't connect the wrong cable ( I am red and green color blind because of this adjustment all morning , Lesson from blood )
     Insert picture description here
  • Another point is to be careful not to stall , It will burn out the motor
  • Add optocoupler to the MCU control board for safety , Prevent the current from reversing and burning the single chip microcomputer , It also increases the driving capacity .

bye ~
 Insert picture description here

原网站

版权声明
本文为[Xiao Lu who dreams of being a geek]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207071058265503.html