这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 测试海凌科HLK-DL03三相无刷电机电调模块

共1条 1/1 1 跳转至页

测试海凌科HLK-DL03三相无刷电机电调模块

专家
2026-11-12 14:49:59     打赏

  HLK-DL03 是海凌科出的三相无刷电机电调模块,

image.png

它的工作参数:

image.png

它家的这个模块的PWM信号控制端在控制上比较特殊,其他家的大部分都是根据PWM的占空比调速,而这个模块有特殊的时序要求。

image.png

按照这个描述,在Arduino下进行简单的测试,代码如下:

/**
测试HLK-DL03 电机调速器模块
工作电压:7.75V
转动电流:最大250mA
D1(GPIO5)接调速器模块的 S 引脚
电机:三相八线 带霍尔 B3040M 无刷电机
这个程序也可以用来测试1503电机,工作电压可以低至2.8V
*/
#include <Servo.h>
Servo esc;                 // 创建 Servo 对象
const int escPin = 5;     // 电调信号线连接的 GPIO 引脚 (可根据需要修改)
// 定义脉冲宽度常量 (单位: 微秒)
const int STOP_PULSE = 900;    // 0.9ms 停止
const int MIN_PULSE  = 1000;   // 1.0ms 启动/低速
const int MAX_PULSE  = 2000;   // 2.0ms 满速
void setup() {
  Serial.begin(115200);
  esc.attach(escPin);        // 将 Servo 对象附加到引脚,默认频率为 50Hz
  Serial.println("正在初始化电调...");
  // 1. 发送停止信号,确保电调处于待命状态
  esc.writeMicroseconds(STOP_PULSE);
  delay(3000); // 保持停止信号至少2秒,等待电调自检完成并发出长鸣音
  Serial.println("电调初始化完成,开始运行演示。");
}
void loop() {
  // 演示:从低速缓慢加速到高速,再缓慢减速回停止
  Serial.println("加速...");
  // 从启动脉冲宽度(1000us)线性增加到最大脉冲宽度(2000us)
  for (int pulse = MIN_PULSE; pulse <= MAX_PULSE; pulse += 10) {
    esc.writeMicroseconds(pulse);
    delay(50); // 每步增加后保持一小段时间,让电机响应
  }
  delay(2000); // 保持在满速运行2秒
  Serial.println("减速...");
  // 从最大脉冲宽度线性减小回停止脉冲宽度(900us)
  for (int pulse = MAX_PULSE; pulse >= STOP_PULSE; pulse -= 10) {
    esc.writeMicroseconds(pulse);
    delay(50);
  }
  delay(2000); // 停止2秒后,开始下一轮循环
}

实际上,我尝试用它驱动3.7V版本的1503电机的时候,把电压调到3.7V,依旧可以正常工作。接着调低电压,即使调到了2.8V,也能正常工作。这个真算是个意外的惊喜。也就是说,这个电调模块可以通吃1S / 2S ,12V的三相无刷电机。

在拿到HLK-DL03 之前还买其他家的电调模块:

image.png

介绍资料中两个PCB板略有不同,有是直角,一个做了导角。介绍中没有说明是不同型号的,以至于我拿到手的时候,也没仔细看板子上电源部分的说明,按照固有思维,把直角板的红的导线当做电源正极,黑的当做负极上电,结果直接烧坏了。这一点我是真你不能理解,按照习惯,正极用红色导线、负极用黑色导线不好吗?非要搞反,倒是是啥意思呢?






关键词: 大懒猫的试用笔记     HLK-DL03    

共1条 1/1 1 跳转至页

回复

匿名不能发帖!请先 [ 登陆 注册 ]