你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32控制舵机

[复制链接]
STMCU小助手 发布时间:2022-6-21 13:26

b6b361444887c2e3a7e4aa422530dbde.png

在电子领域,舵机主要用于机器人项目,因为它们的准确性和易于操作性。舵机体积更小,而且非常有效和节能。它们提供高扭矩,根据电机规格可用于提升或推动重物。在本文中,我们将了解舵机以及如何将舵机与 STM32F103C8 板连接。还连接了一个电位器来改变舵机轴的位置,并连接了一个 LCD 来显示角度值。

电路图和连接


5be9b9310848b45a6e2494919f62f471.png


SMT32F103C8 引脚详细信息

在STM32F103C8 中,我们有 10 个ADC 引脚(PA0-PB1),这里我们使用其中一个(PA3),去读取模拟信号。通过电位器设置舵机的轴位置。

此外,STM32 有 15 个PWM 引脚(PA0、PA1、PA2、PA3、PA6、PA7、PA8、PA9、PA10、PB0、PB1、PB6、PB7、PB8、PB9),我们同样只用其中一个引脚向舵机的PWM引脚提供脉冲(通常为橙色)。


STM32F103C8与LCD的连接

c9a9a992c706b9ecb8ee405c5567a99c.jpg

舵机与STM32F103C8的连接

014009ef44dd3a1c0b27b3d929d4e2fd.jpg

电位器连接


我们在这里使用了两个电位器

1.其中一个与LCD连接的用来改变 LCD 的对比度。它有 3 个引脚,中间引脚连接到 LCD 的 V0,两端分别接+5V,GND。

2.另一个用来控制模拟电压输入来改变舵机的轴位,中间输出接STM32的(PA3),两端分别接+3.3V,GND。


程序
还是在Arduino IDE 中编程。

  1. #include<Servo.h> //舵机库
  2. #include<LiquidCrystal.h> //LCD 库
  3. //声明LCD 引脚连接到STM32 的哪个引脚
  4. const int rs = PB0, en = PB1, d4 = PB10 , d5 = PB11 , d6 = PC13, d7 = PC14;
  5. LiquidCrystal lcd(rs,en,d4,d5,d6,d7); //初始化 LCD
  6. int servoPin = PA0; //舵机PWM
  7. int potPin = PA3; //电位器ADC输入
  8. Servo servo; // Servo类型
  9. void setup()

  10. {

  11.   lcd.begin(16,2); //16*2类型LCD
  12.   lcd.setCursor(0,0); //设置光标在第一行第一列
  13.   lcd.print("Hello World"); //LCD显示Hello World
  14.   lcd.setCursor(0,1); //将光标设置在第二行第一列
  15.   lcd.print("SERVO WITH STM32"); // SERVO WITH STM32
  16.   delay(3000); //延时3秒
  17.   lcd.clear(); //清屏
  18.   servo.attach(servoPin); // servoPin (即 PA0)作为舵机控制
  19. }

  20. void loop()
  21. {
  22.   lcd.clear();
  23.   int angle; //声明舵机位置变量
  24.   int reading;//声明读取的ACD值
  25.   reading = analogRead(potPin); //STM32 PA3将模拟电压 (0-3.3) 转换为数字形式
  26.   angle = map(reading, 0, 4096, 0, 170);// reading在0-4096中的映射重新映射到0-170
  27.   servo.write(angle); //设置舵机位置
  28.   lcd.setCursor(0,0); //设置LCD光标在第一行第一列
  29.   lcd.print("ANGLE:"); //LCD 显示 ANGLE:
  30.   lcd.print(angle); //LCD 显示舵机位置
  31.   delay(100); //延时100ms
  32. }

复制代码


收藏 评论0 发布时间:2022-6-21 13:26

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版