This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LMD18200T 的输出电压过低

Guru**** 2478545 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1243948/too-low-output-voltage-of-lmd18200t

您好、我在为电机控制配置 Arduino 与 LMD18200T 之间的连接时遇到问题。
当电机驱动器和 Arduino 未连接时测量 Arduino GND、引脚9、5和引脚6之间的电位差时、通常测量接近5V 和0V 的值。 但是、将 LMD18200T 的 GND、PWM、DIR 和制动引脚分别连接到 Arduino 的 GND、9、5和6引脚后、出现问题。
之后、在测量 GND 和制动端子之间的电压时、测得 OUT1和 OUT2之间的电压为5.40V。
我认为接近12V 电源电压的值会通过 analogWrite (pwmPin、255)作为 OUT1和 OUT2之间的电压进行测量;但我不明白该值为什么太低。
我想知道当它连接到电机驱动器时、为什么引脚6相当于制动引脚、在保持0V 电压之前会升高到5.40V。

const int pwmPin = 9;// PWM 引脚(连接到 LMD18200T 引脚9)
const int dirPin = 5;//方向引脚(连接到 LMD18200T 引脚5)
const int brakePin = 6;//制动引脚(连接到 LMD18200T 引脚6)

//电机控制参数
const int speed = 0;//电机转速(0-255)

void setup(){
//将电机控制引脚初始化为输出
pinMode (pwmPin、输出);
pinMode (dirPin、输出);
pinMode (brakePin、输出);

void loop(){
//设置电机方向
digitalWrite (brakePin、LOW);
digitalWrite (dirPin、HIGH);
analogWrite (pwmPin、255);

//等待几秒钟
延迟(5000);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您在 E2E 论坛发帖。  

    我有几个问题可以帮助您了解问题的根本原因:

    1. Arduino 和 LMD 器件的 GND 是否相同? 这两个 GND 之间是否存在偏移?
    2. 如何测量 OUTx 电压? 平均? 峰值?
    3. PWM 引脚的 PWM 频率和占空比是多少?

    此致、

    巴勃罗·阿梅特