Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
688 views
in Technique[技术] by (71.8m points)

Motor servo MG996R rotation angle

I have an MG996R servo motor connected to an STM32. I am programming the micro with the Arduino programmer.

The servo motor is used to open a lock.

After testing the servo with the lock, because the lock was stuck at certain angles, a noise was coming from the servo and after a few minutes the servo stopped working and it seemed that it was broken (also, smoke came out of it).

Is it possible to stop the servo at angles other than 90°?

Thanks in advance.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

A servo is not stopped at a certain degree it is driven to a certain angle by providing a specific duty cycle with the PWM control signal.

On a standard servo the PWM frequency is 50Hz. An on-time of 1ms is full travel in one direction, 2ms is full travel in the other direction, 1.5ms is mid position. For most servos this is 0°, 90°, 180°.

According to the datasheet of your servo it has a travel of ±60°

Read this:

https://www.arduino.cc/reference/en/libraries/servo/

If your gear train breaks and the motor releases its magic smoke just because the lock is a little stuck you're certainly doing something wrong. At least limit the motor current.

Stall current for this motor is 2.5A at 6V.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...