• Arduino通过L9110进行电机控制


    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 地线

    厂家Datasheet

    线路图

    线路图

    实物连线图

    fritzing

    驱动代码

    /*
     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 的速度范围则可控制电机的转速。

  • 相关阅读:
    版本控制系统Git
    CI框架中一个类中调用另一个类中已经加载对象测试
    关于PHP的框架
    node之http模块
    airtest之脚本批量运行
    airtest之一个脚本在多设备上运行
    npm概念
    node概念
    python -m xx.py和python xx.py的区别
    命令行运行脚本
  • 原文地址:https://www.cnblogs.com/Ray-liang/p/9786101.html
Copyright © 2020-2023  润新知