当前位置:   article > 正文

51单片机SG90舵机控制原理_sg90舵机三根线怎么接

sg90舵机三根线怎么接

舵机三根线的接法:黄线接信号线,红线接vcc,褐色线接GND

舵机控制原理:通过控制PWM来控制舵机转动的角度,关于PWM的知识可以去智能小车专栏进行学习,转动周期设置为20ms,控制高电平的时间来进行舵机转动的角度。

对于180°舵机
t = 0.5ms——————-舵机会转动 0 ° 
t = 1.0ms——————-舵机会转动 45°
t = 1.5ms——————-舵机会转动 90°
t = 2.0ms——————-舵机会转动 135°
t = 2.5ms——————-舵机会转动180

这段代码中包含了定时器,中断,pwm的知识,都可以去51智能小车专栏中学习,其中定时器选择了定时器1,运用了两个字符型变量其中timer1决定了高电平的时间,count起到了计数器的功能,运用if语句进行判断两个字符型变量的大小来决定什么时候为高电平是么时候为低电平

  1. // _nop_()延时一个机器周期
  2. #include <reg52.h>
  3. #include <Delay.h>
  4. sbit PWM = P3^2; //设定PWM输出的I/O端口
  5. unsigned char count = 0;
  6. unsigned char timer1 ;
  7. /*
  8. 对于180°舵机
  9. t = 0.5ms——————-舵机会转动 0 °
  10. t = 1.0ms——————-舵机会转动 45°
  11. t = 1.5ms——————-舵机会转动 90°
  12. t = 2.0ms——————-舵机会转动 135°
  13. t = 2.5ms——————-舵机会转动180
  14. */
  15. /*延时程序*/
  16. /*定时器T0初始化*/
  17. void Timer0_Init()
  18. {
  19. TMOD &= 0x00;
  20. TMOD |= 0x01; //定时器T0设置成方式1
  21. TH0 = 0xff; //定时常数 0.1ms 晶振为11.0592MHz
  22. TL0 = 0xa4;
  23. ET0 = 1;
  24. TR0 = 1;
  25. EA=1;
  26. }
  27. /*T0中断初始化*/
  28. void Time0_Init() interrupt 1
  29. {
  30. TR0 = 0;
  31. TH0 = 0xff; // 0.1ms
  32. TL0 = 0xa4;
  33. if(count <= timer1) //5==0° 15==90°
  34. {
  35. PWM = 1;
  36. }
  37. else
  38. {
  39. PWM = 0;
  40. }
  41. count++;
  42. if (count >= 200) //T = 20ms清零
  43. {
  44. count = 0;
  45. }
  46. TR0 = 1; //开启T0
  47. }
  48. void main()
  49. {
  50. Timer0_Init();
  51. while(1)
  52. {
  53. timer1 =5;//舵机恢复到0度的位置
  54. count=0;//让定时器重新计数
  55. Delay(3000);
  56. timer1 =10;//舵机旋转45
  57. count=0;
  58. Delay(3000);
  59. timer1=15;//舵机转动90
  60. count=0;
  61. Delay(3000);
  62. }
  63. }

简单运用了一个延时函数方便代码以后的移植性

Delay.c//1ms级的延时函数

  1. void Delay(unsigned int xms)
  2. {
  3. unsigned char i, j;
  4. while(xms--)
  5. {
  6. i = 2;
  7. j = 239;
  8. do
  9. {
  10. while (--j);
  11. } while (--i);
  12. }
  13. }

Delay.h

  1. #ifndef __DELAY_H__
  2. #define __DELAY_H__
  3. void Delay(unsigned int xms);
  4. #endif

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/456569
推荐阅读
相关标签
  

闽ICP备14008679号