当前位置:网站首页>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
List of articles
Preface
In the aircraft race : Commissioning experience of slide rail stepping motor
One 、 Slide rail stepping motor ?
It looks like this
A treasure called precision trapezoidal screw linear guide slide module CNC mobile module platform stepper motor …
Two 、 Use
1. Slide action
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.
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 .
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 .
- 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 )
- 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 ~
边栏推荐
猜你喜欢
随机推荐
flask session伪造之hctf admin
xshell连接服务器把密钥登陆改为密码登陆
如何让join跑得更快?
clion mingw64中文乱码
Cinnamon taskbar speed
MongoDB命令汇总
高端了8年,雅迪如今怎么样?
JS determines whether an object is empty
靠卖概念上市,认养一头牛能走多远?
Vscade editor esp32 header file wavy line does not jump completely solved
Problems that cannot be accessed in MySQL LAN
ESP32 ① 编译环境
【面试高频题】难度 2.5/5,简单结合 DFS 的 Trie 模板级运用题
Toraw and markraw
QQ的药,腾讯的票
User management summary of mongodb
Fast development board pinctrl and GPIO subsystem experiment for itop-imx6ull - modify the device tree file
[1] ROS2基础知识-操作命令总结版
Error lnk2019: unresolved external symbol
Some principles of mongodb optimization