Arduino通过L9110进行电机控制
L9110S是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。
该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过750~800mA的持续电流,峰值电流能力可达1.5~2.0A;同时它具有较低的输出饱和压降与静态电流;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。
L9110S被广泛应用于玩具汽车电机驱动、自动阀门电机驱动、电磁门锁驱动等电路上。
基本参数:
- 极限参数:800mA / 2.5V-12V
- 低静态工作电流: 0.00 uA
- 宽电源电压范围:2.5V-12V ;
- 每通道具有800mA 连续电流输出能力,精确快速的正反转控制;
- 超低的饱和电压降;
- TTL/CMOS 输出电平兼容,可直接连CPU ;
- 输出内置钳位二极管,适用于感性负载;
- 精确的脉宽控制和后级驱动集成于单片IC 之中;
- 具备管脚高压保护功能;
- 工作温度:-30 ℃-80 ℃。
管脚
序号 | 符号 | 功能 |
---|---|---|
1 | OA | A路输出管脚 |
2 | VCC | 电源 |
3 | VCC | 电源 |
4 | OB | B路输出 |
5 | GND | 地址 |
6 | IA | A路输入 |
7 | IB | B路输入 |
8 | GND | 地线 |
线路图
实物连线图
驱动代码
/*
L9110 控制小型直流电机实验
实验目的:通过L9110的简单连接控制直流电机的 方向 与 速度
实验设计:Joystick 充当油门与前向后方向的控制,控制杆随着方向上将速度由小至大推进
注意:一个L9110只能控制一个电机,且需要将 IA 与 IB 与 Arduino 连接
*/
const int IA = 5; // pin 5 connected to pin IA
const int IB = 6; // pin 6 connected to pin IB
byte speed = 255; // change this (0-255) to control the speed of the motor
void setup() {
pinMode(IA, OUTPUT); // set pins to output
pinMode(IB, OUTPUT);
Serial.begin(9600);
}
void loop() {
int offsetX=525; //当控制杆位于中位时的模拟输入值,不同的控制杆可能有不同的偏差。
int x =analogRead(A0);
bool isFoward = x <= offsetX;
speed = x==offsetX ? 0: (isFoward ? (255- map(x,0,offsetX,0,255)): map(x,0,1024,0,255));
Serial.println(speed);
isFoward ? forward() : backward();
}
void backward()
{
analogWrite(IA, 0);
analogWrite(IB, speed);
}
void forward()
{
analogWrite(IA, speed);
analogWrite(IB, 0);
}
L9110控制电机速度和方向非常简单,按上述真值表中的定义,只要向输入端IA/IB输入高电平则为转动,IA 正转,IB为反转。
速度是通过调幅PWM 信号进行控制,也就是对IA/IB 写入 1~255 的速度范围则可控制电机的转速。
Arduino通过L9110进行电机控制的更多相关文章
- C#与Arduino通过串口通信来控制LED灯的状态
一.引言 最近摆弄了一段时间的Arduino,发现Arduino做一些电子类项目.监控.机器人.电子玩具比较容易,并且Arduino与.NET程序集成也不难.接下来介绍一个简单的小程序,C#做的一个W ...
- arduino 语音音箱 :语音控制、MP3播放、报时、回复温湿度情况
arduino 语音音箱 :语音控制.MP3播放.报时.回复温湿度情况 效果图 线路图 包装后的效果 功能 需要材料 arduino板 MP3播放模块及喇叭 时钟模块 温湿度模块 语音识别模块 面包板 ...
- stm32电机控制之控制两路直流电机
小车使用的电机是12v供电的直流电机,带编码器反馈,这样就可以采用闭环速度控制,这里电机使用PWM驱动,速度控制框图如下: 由以上框图可知,STM32通过定时器模块输出PWM波来控制两个直流电机的转动 ...
- stm32电机控制之控制两路直流电机!看完你会了吗
手头上有一个差分驱动的小车,使用两个直流电机驱动,要实现小车的在给定速度下运动,完成直线行驶,转向,加速,刹车等复杂运动. 使用的电机是12v供电的直流电机,带编码器反馈,这样就可以采用闭环速度控制, ...
- 【一】工程配置与电机控制part1
前言 学校发的无刷电机: 我们准备的有刷电机: 带霍尔编码器! 电机参数: 名称:驰名电机(直流减速电机) 型号:JGA25-370 电压:12V 转数:1360r/min 做云台,核心是使用PID控 ...
- arduino入门学习实现语音控制LED灯
需要的准备的硬件arduino+PC+麦克风实现语音命令控制LED灯的亮灭. 首先需要将写好的arduino程序烧录到arduino uno主板中,下面是代码如下: int val;//定义变量val ...
- webots自学笔记(三)控制器与电机控制
原创文章,来自“博客园,_阿龙clliu” http://www.cnblogs.com/clliu/,装载请注明原文章出处. 上一次建了四足机器人的模型,模型文件在上一篇有下载地址,这一次用控制器让 ...
- YASKAWA电机控制(2)---调试
2015 5 23 基础调试—点动 上次接线由于没有接地,导致外壳带电,非常危险. 由于上次接线端子被弄坏,这次自己重做.由于没有压线钳,只用尖嘴钳把线压近端子,有可能会松动. 接线的时候Lc1.Lc ...
- YASKAWA电机控制(1)---接线
实验室所购置电机型号为YASKAWA-AC SERVO MOTOR SGM7J-01AFC6S型,配SGD7S-R90A00A002伺服控制器.电机和控制器的操作说明书由安川中文官网安川电机资料提供. ...
随机推荐
- 惰性求值——lodash源码解读
前言 lodash受欢迎的一个原因,是其优异的计算性能.而其性能能有这么突出的表现,很大部分就来源于其使用的算法--惰性求值. 本文将讲述lodash源码中,惰性求值的原理和实现. 一.惰性求值的原理 ...
- ORACLE如何找到引起账号锁定的IP的一点思考与总结
在ORACLE数据库中,如果没有修改过FAILED_LOGIN_ATTEMPTS的话,默认10次尝试失败后就会锁住用户.此时再登录数据库,就会遇到ORA-28000: the account is l ...
- linux后台执行程序
当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件.对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨).为 ...
- Windows 版本说明,Enterprise、Ultimate、Home、Professional知多少
关于Windows 的安装光盘版本很多种,很多人不知道选择哪些. Ultimate 旗舰版,VISTA开始有了这个级别,是最全最高级的,一般程序开发的电脑,玩游戏的电脑,建议用它,不过对配置稍有一些要 ...
- TCP/IP协议族(笔记)
1.HTTP HTTPS DCHP ICMP SMTP IMAP MIME POP PPTP 协议族 tcp/ip 是基于tcp和ip这两个最初的协议之上的不同的通信协议的大集合 TCP/IP不是一 ...
- 如何用Jupyter notebook打开本地数据集
首先打开本地Jupyter notebook,出现类似页面并进入网页端Home. 网页端界面类似如下: 需要注意的是,Jupyter notebook只能打开当前目录下的数据集,如csv,所以需要使用 ...
- 常用Dockerfile举例
FROM ubuntu:14.04 MAINTAINER sss ENV JAVA_HOME /opt/jdk RUN \ echo 'export PATH=$JAVA_HOME/bin:$PATH ...
- Vue项目使用webstorm开发 保存浏览器不自动更新问题
1.首先进去编辑器的设置页面 2.按照以下步骤进行操作,把如下选项的√去掉即可:
- JavaScript判断数据类型的方法
typeof操作符 typeof 操作符作用:是用来检测变量的数据类型.对于值或变量使用 typeof 操作符会返回如下字符串. 数据类型undefined的判断示例 变量定义了但未初始化,就是und ...
- A - Packets 贪心
A factory produces products packed in square packets of the same height h and of the sizes 1*1, 2*2, ...