糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > Arduino UNO用L9110 电机驱动模块驱动两个直流电机

Arduino UNO用L9110 电机驱动模块驱动两个直流电机

时间:2019-01-04 06:11:38

相关推荐

Arduino UNO用L9110 电机驱动模块驱动两个直流电机

文章目录

一、简介二、工作原理三、使用前准备四、测试方法五、实验现象

一、简介

L9110电机驱动模块采用推挽式功率放大,设有固定安装孔,适合组装,工作电压为2.5-12V,最大工作电流为0.8A,可以同时驱动2个直流电机或者1个4线2相式步进电机。

二、工作原理

我们控制有刷直流电机主要是控制输出轴的旋转方向和旋转速度,通过H桥电路控制输出轴的旋转方向。关闭左上角和右下角的开关可以电机顺时针旋转,关闭右上角和左下角的开关可以使电机逆时针旋转,从而达到控制电机输出轴的旋转方向(工作原理图如下图所示)。输出轴的旋转方向可以通过PWM来控制。

原理图

三、使用前准备

点击图片购买两路电机驱动 H桥 L9110 电机驱动模块 步进电机点击图片购买130直流电机

点击图片购买原装正版Arduino uno r3开发板

点击图片购买USB2.0打印机数据线高速方口连接转接线 A公对B公点击图片购买杜邦线

四、测试方法

用USB2.0打印机数据线高速方口连接转接线与Arduino uno r3开发板连接在一起。Arduino uno r3开发板的3,5,6和9引脚分别接L9110 电机驱动模块IA1,IB1,IA2和IB2连接在一起,再和130电机连接(注意L9110电机驱动模块使用外部供电),如下图所示

代码如下:

/* * DC电机运行状态 IN1 IN2 IN3IN4* 电机A正转(调速) 1/PWM 0* 电机A反转(调速) 01/PWM * 空转 0 0* 刹车 1 1* 电机B正转(调速)1/PWM 0* 电机B反转(调速) 01/PWM* 空转00* 刹车11* This example code is in the public domain.*/// XY-2.5AD 连接Arduino引脚编号int IN1 = 3;int IN2 = 5;int IN3 = 6;int IN4 = 9;int pinNum; // 控制引脚号int ctrlVal; // 电机运行控制void setup() {pinMode(IN1, OUTPUT);pinMode(IN2, OUTPUT);pinMode(IN3, OUTPUT);pinMode(IN4, OUTPUT);Serial.begin(9600); }void loop() {if (Serial.available()) {// 检查串口缓存是否有数据等待传输 char cmd = Serial.read(); // 获取电机指令中电机编号信息switch(cmd){case 'p': // 设置引脚编号pinNum = Serial.parseInt();Serial.print("Pin Number ");Serial.print(pinNum);Serial.print(" ,");break; case 'a': // 模拟模式控制电机ctrlVal = Serial.parseInt();analogWrite(pinNum, ctrlVal);Serial.print("Set Value ");Serial.print(ctrlVal);Serial.println(".");break; case 'd': // 数字模式控制电机ctrlVal = Serial.parseInt();digitalWrite(pinNum, ctrlVal);Serial.print("Set Value ");Serial.print(ctrlVal);Serial.println("."); break; default: // 未知指令Serial.println("Unknown Command");break; }}}

五、实验现象

输入p3d1p5d0第一个电机正转,输入p6d0p9d1第二个电机反转。

如果觉得《Arduino UNO用L9110 电机驱动模块驱动两个直流电机》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。