完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我正在尝试使用 WeMOS D1 ESP8266 控制无刷电机
电机控制器和电机规格如下: 11.1v LiPo 电池为控制器和 ESP8266(VIN、GND、 D9) 电机控制器用户手册在这里: 20210522_193447.jpg 接线照片在这里 20210522_193646.jpg 打开控制器会旋转其风扇。但电机不旋转。 发出哔哔声以启动电机的准备程序是什么? 这是一些代码: 代码:全选#include Servo ESC1; int pos = 0; //Sets position variable void arm(){ setSpeed(0); //Sets speed variable delay(1000); setSpeed(90); //Sets speed variable delay(1000); setSpeed(135); //Sets speed variable delay(1000); setSpeed(0); //Sets speed variable delay(1000); } void setSpeed(int speed){ int angle = map(speed, 0, 100, 0, 180); //Sets servo positions to different speeds ESC1.write(speed); //angle } void setup() { ESC1.attach(2); //Adds ESC to certain pin. GPIO2 is pin 9 arm(); } void loop() { int speed; //Implements speed variable for(speed = 0; speed <= 70; speed += 5) { //Cycles speed up to 70% power for 1 second setSpeed(speed); //Creates variable for speed to be used in in for loop delay(1000); } delay(4000); //Stays on for 4 seconds for(speed = 70; speed > 0; speed -= 5) { // Cycles speed down to 0% power for 1 second setSpeed(speed); delay(1000); } setSpeed(0); //Sets speed variable to zero no matter what delay(1000); //Turns off for 1 second } |
|
相关推荐
1个回答
|
|
|
首先,需要了解无刷电机的运作原理和控制方法。无刷电机是基于PWM进行控制的,因此需要使用PWM输出来控制电机速度。
以下是基本的步骤: 1. 将无刷电机与电机控制器连接好,并将电机控制器连接到WeMOS D1 ESP8266的D9引脚(这是一个支持PWM输出的引脚)。 2. 在Arduino IDE中,使用Servo库来控制PWM输出。将ESC1变量设置为Servo类的对象,并使用attach()函数将其连接到D9引脚。 3. 通过ESC1.writeMicroseconds()函数发送PWM信号来控制电机的速度和方向。在大多数情况下,对无刷电机进行加速需要将电机先解锁,然后将电机转速逐渐增加到所需速度。这可以通过将电机速度在代码中逐渐增加来实现。 4. 在开始之前,确保电机控制器与WeMOS D1 ESP8266的地线相连,并且使用与电池相同的电源来给控制器和WeMOS D1 ESP8266供电。 下面是一个简单的示例代码,可以用作起点: 代码:全选#include Servo ESC1; // 让我们利用 PWM 输出控制舵机 void setup() { ESC1.attach(D9); // 将 ESC1 附着到 D9 引脚 } void loop() { for (int i = 1000; i <= 2000; i+=10) { // 加速到最大速度 ESC1.writeMicroseconds(i); // 发送 PWM 信号控制电机速度 delay(250); // 延迟以等待电机加速 } ESC1.writeMicroseconds(1000); // 停止电机 delay(2000); // 停止 2 秒,然后再重复加速 } 请注意,该代码仅仅是一个起点,并不考虑电调器的解锁流程等内容。您需要在代码中进行更多的控制,以便根据您的具体需求控制电机的速度和方向。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
944 浏览 0 评论
1671 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5015 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1252浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2334浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2526浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1051浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 01:49 , Processed in 0.696110 second(s), Total 71, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4585
