首页 百科知识 底层控制板的基本电机编程技巧

底层控制板的基本电机编程技巧

时间:2022-10-04 百科知识 版权反馈
【摘要】:将L298电机驱动板连接在底层控制主控板上。接线方式为:INA接到底层控制板的PD4端口上;PWMA接到底层控制板的PD5端口上;PWMB接到底层控制板的PD6端口上;INB接到底层控制板的PD7端口上;VCC接到底层控制板的+5 V上;GND接到底层控制板的GND端口上。PWM的信号频率约为490 Hz。在底层控制板中,这个函数工作在引脚3、5、6、9、10和11处。下载这个程序之后,智能家居机器人的两个驱动轮会从速度为0加速到速度最大,然后循环这个过程。

将L298电机驱动板连接在底层控制主控板上。连接很简单,M1、M2 接线柱接入两个直流电机;驱动电机用的供电电源连接到VIN、GND端口。

L298驱动器与底层控制板接线如图3.3.4所示。接线方式为:INA接到底层控制板的PD4端口上;PWMA接到底层控制板的PD5端口上;PWMB接到底层控制板的PD6端口上;INB接到底层控制板的PD7端口上;VCC接到底层控制板的+5 V上;GND接到底层控制板的GND端口上。

图3.3.4 L298驱动器和底层控制板接线

根据图3.3.4所示的连线方法,可以通过程序控制 M1 和 M2 两个直流电机的正转、反转、停止以及PWM调速。

PWM 调速通过调整占空比来模拟不同电压值,从而控制加到电机两端的电压,PWM调速如图3.3.5所示。

图3.3.5 PWM调速

3.3.3.1 底层控制板的模拟输出函数

analogWrite()函数将模拟值(PWM波)输出到管脚。它可用于在不同的光线亮度情况下调节发光二极管的亮度或以不同的速度驱动电机。调用analogWrite()后,该引脚将产生一个指定占空比的稳定方波,直到下一次调用analogWrite()(或在同一引脚时调用digitalRead()或digitalWrite()函数)为止。PWM的信号频率约为490 Hz。

在底层控制板中,这个函数工作在引脚3、5、6、9、10和11处。在使用的时候,用户并不需要在调用analogWrite()之前为设置输入引脚而调用pinMode()函数。

L298驱动电机测试程序如下:

/*L298 TEST*/

int INA = 4; //电机 A 正反转控制端

int PWMA = 5; //电机 A 调速端

int INB = 7; //电机 B 正反转控制端

int PWMB = 6; //电机 B 调速端

void setup(){

pin Mode(INA,OUTPUT);

pin Mode(INB,OUTPUT);

}

void loop(){

int value;

for(value = 0 ; value 〈= 255; value+=5){

digital Write(INA,HIGH);

digital Write(INB,HIGH);

analog Write(PWMA,value); //PWM 调速

analog Write(PWMB,value);

delay(50);

}

}

下载这个程序之后,智能家居机器人的两个驱动轮会从速度为0加速到速度最大,然后循环这个过程。如果没有出现这个现象,则需要仔细检查一下程序代码和接线端口是否正确。

3.3.3.2 跳帽使用说明

图3.3.2标注了跳帽的具体位置,这里介绍跳帽的使用说明(见表3.3.3)。

表3.3.3 跳帽的使用说明

注:(1)Enable:跳帽短接;Open:跳帽打开;X:跳帽任意状态。

(2)电机正反转控制需由程序代码对相应引脚进行设置才能控制。

3.3.3.3 控制信号真值表

控制信号真值如表3.3.4所示。

表3.3.4 控制信号真值

注:“H”表示高电平;“L”表示低电平;“PWM”表示脉宽调制信号;“X”表示任意电平。

当在非 PWM 模式下时,对电机进行正反转控制,需对PWM控制引脚作如下处理:

(1)作为模拟输出,使用 analogWrite (PWMA, x) 函数,x 选取可驱动电机的输出数值 (转速根据数值可调整)。

(2)作为数字输出,使用 digitalWrite (PWMA, x) 函数,x选取HIGH(置高)或 LOW(置低)。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈