L9110H电机驱动模块-FPGA

这篇具有很好参考价值的文章主要介绍了L9110H电机驱动模块-FPGA。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        L9110H电机驱动芯片,该芯片内部集成了一个H型全桥式高电压大电流电机驱动电路,可以单独驱动一个直流电机。

1.1  电机驱动原理

        H型全桥式驱动电路包含四个三极管和一个电机,其电路图如图1.1所示。将四个三极管分成两组,若两组三极管同时导通或同时关断,此时电机不会工作;如果想使用该驱动电路驱动电机运转,就必须导通其电路中位于对角线上的一对三极管。此时两组三极管的状态必须互补:当一组导通时,另一组必须关断。当三极管Q1、Q4导通,Q2、Q3关断时,电机两端所加为正向电压,此时电机将会顺时针转动;当三极管Q2、Q3导通,Q1、Q4关断时,机两端所加为反向电压,此时电机将会逆时针转动。要注意的是,在直流电机运转的过程中要使电机不断在四个象限之间切换,即在顺时针转动和逆时针转动之间切换。即四个三极管在Q1、Q4导通且Q2、Q3关断,和Q1、Q4关断且Q2、Q3导通这两种状态之间切换。

L9110H电机驱动模块-FPGA

1.1 H型全桥驱动电路示意图

        为了方便控制三极管的导通和关断,一般会在基础的H型全桥驱动电路上增加四个与门和两个非门。这种设计方案的电路如图1.2所示。通过这样的电路设计,只需要一个信号ENABLE就可以控制H型全桥式驱动电路上所有三极管的开关;然后再分别给两个非门提供一个方向输入信号,这样只需要两个信号DIR-L和DIR-R就可以控制H型全桥驱动电路的四个三极管的导通和关断,以达到控制电机转动方向的效果。这样的设计减少了系统管脚的使用率,仅仅只用三个信号就能控制电机的运转。

L9110H电机驱动模块-FPGA

1.2 具有使能控制和方向逻辑的H型全桥驱动电路示意图

        电机驱动模块运行状态逻辑真值表如表1.1所示。

1.1 电机驱动模块运行状态逻辑真值表

IB

IA

运行状态

X

X

停止

1

0

正转

0

1

反转

1

1

刹停

0

0

停止

        通过FPGA芯片控制L9110H电机驱动模块上的管脚IB和IA来控制风扇的开关、转动方向和转动速度,即当IB信号为PWM波、IA信号为低电平时风扇正转,此时风扇的转速由PWM波的占空比决定;当IB信号为低电平、IA信号为PWM波时风扇反转,此时风扇的转速同样由PWM波的占空比决定。

电机驱动的代码非常简单,只需要控制管脚IA和IB的值,如下所示文章来源地址https://www.toymoban.com/news/detail-505862.html

module motor_driver(
    input           clk     ,
    input           rst_n   ,
    input   [2:0]   gear    ,//档位可根据需要进行设置

    output          IA      ,
    output  reg     IB
);

    parameter   [31:0]  StepLockOut = 32'd200000;//250Hz

    reg     [32:0]  StepCounter ;

always @(posedge clk or negedge rst_n)begin
    if(!rst_n)
        StepCounter <= 0;
    else if(StepCounter == StepLockOut -1)
        StepCounter <= 0;
    else
        StepCounter <= StepCounter + 1;
end

always @(posedge clk or negedge rst_n)begin
    if(!rst_n)
        IB <= 0;
    else
    case(gear)
        3'd0:begin
            IB <= 0;
        end
        3'd1:begin
            if(StepCounter <= StepLockOut/5 -1)
                IB <= 1;
            else
                IB <= 0;
        end
        3'd2:begin
            if(StepCounter <= StepLockOut/5*2 -1)
                IB <= 1;
            else
                IB <= 0;
        end
        3'd3:begin
            if(StepCounter <= StepLockOut/5*3 -1)
                IB <= 1;
            else
                IB <= 0;
        end
        3'd4:begin
            if(StepCounter <= StepLockOut/5*4 -1)
                IB <= 1;
            else
                IB <= 0;
        end
        3'd5:begin
                IB <= 1;
        end
        default:IB <= 0;
    endcase
end

assign IA = 0;

endmodule

到了这里,关于L9110H电机驱动模块-FPGA的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 智能小车 - DRV8833电机驱动模块

    基本兼容TB6612模块管脚 ,可驱动1.5A以下的直流电机和4线步进电机。 芯片中共有两个全H桥。因此最多可以同时驱动两个直流电机或一个步进电机。 (如果将4个电机中两个两个正负极相接,一个芯片也可带动4个电机) 管脚说明: ANI1:AO1的逻辑输入控制端口,电平0-5V。 AI

    2024年02月02日
    浏览(52)
  • FPGA驱动步进电机-Sin曲线加速

    以下由特权同学的FPGA文档摘取 Sin 曲线控制 step 脉冲信号生成的功能框图如下所示。 ①判断步进电机驱动的目标频率 stepper_delay_target 与当前频率 stepper_delay_current的值是否一致,若一致,则不做任何加速、减速操作,保持当前速度运行;若目标频率高于当前频率,则执行加速

    2024年02月02日
    浏览(44)
  • 探索全桥电机驱动模块:实现精确控制与高效驱动

    全桥电机驱动模块是一种在现代工程应用中广泛使用的电机驱动方式。对于需要精确控制和高效驱动的场景,如机器人、无人机、电动车等,全桥电机驱动模块提供了理想的解决方案。本文将介绍全桥电机驱动模块的原理和实际应用场景,并对几种常见的全桥驱动芯片进行详

    2024年02月12日
    浏览(70)
  • ESP32设备驱动-步进电机A4988驱动模块

    在本文中,我们将介绍如何通过ESP32芯片驱动A4988 步进电机驱动器模块。 A4988 驱动器模块用于以相对简单的方式控制步进电机。 仅使用 ESP32 和 A4988 驱动模块的两个引脚,我们就可以控制步进电机的旋转速度和旋转方向。 步进电机是直流无刷同步电机。 它们以预定义值的离

    2024年02月13日
    浏览(39)
  • 【mcuclub】直流电机-MX1508驱动模块

    编号 名称 功能 1 A1 1通道正转逻辑输入 2 A2 1通道反转逻辑输入 3 B1 2通道正转逻辑输入 4 B2 2通道反转逻辑输入 5 OB2 2通道反转输出 6 OB1 2通道正转输出 7 OA2 1通道反转输出 8 OA1 1通道正转输出 9 VCC 电源正(2-8V) 10 GND 电源地 MX1508采用H桥电路结构设计,采用高可靠性功率管工艺,特

    2023年04月08日
    浏览(47)
  • 【常见直流电机驱动模块与arduino使用最全教程】

    驱动 直流电机 是基于微控制器设计的一种非常常见的应用,电机驱动器的选择可能非常重要。 如果您的唯一要求是在不考虑控制速度或方向的情况下打开和关闭电机,那么继电器或 MOSFET 就可以解决问题。但在大多数应用中,您会希望能够调整电机参数,为此,您需要一个

    2024年02月03日
    浏览(58)
  • Driver8833电机驱动模块的使用(STM32为主控)

    一、硬件 STM32C8T6、STLINK下载器 Driver8833:TI公司的DRV8833是双桥马达驱动器解决方案,包括有两个H桥驱动器,可驱动两个DC电刷马达,或一个步进马达, 螺线管和其它电感负载. DRV8833具有PWM绕组电流调整/限制,H桥的输出电流1.5A RMS,2A峰值,工作电压2.7V-10.8V。 编码电机 二、Driver8833的使

    2024年02月01日
    浏览(42)
  • 关于TMC2209步进电机驱动模块 – SilentStepStick的知识概况

    TMC2209 SilentStepStick 是一款用于两相双极步进电机的步进/方向驱动器,具有高达 2.8A 峰峰值和 2A RMS 的电流。它可以在 1 至 1/256 步进模式下驱动 2 相双极步进电机。最重要的是,TMC2209 提供了一个简单的 UART 接口,可以在任何具有 UART 端口的微控制器的帮助下进行调整和控制。

    2024年02月05日
    浏览(48)
  • L298N双路电机驱动模块使用指南

    哦吼,这个模块上手很快!!! L298N,是一款接受高电压的电机驱动器,直流电机和步进电机都可以驱动。一片驱动芯片可同时控制两个直流减速电机做不同动作,在6V到46V的电压范围内,提供2安培的电流,并且具有过热自断和反馈检测功能,可对电机进行直接控制,通过主

    2024年02月07日
    浏览(41)
  • L298N 直流电机驱动模块与 Arduino

    原文地址 L298N 电机驱动器可以控制两个直流电机的速度和旋转方向。 此外,它还可以控制双极步进电机,例如NEMA 17。如果您想了解更多信息,请查看本教程。 L298N电机驱动器和Arduino控制步进电机:Control Stepper Motor with L298N Motor Driver Arduino (lastminuteengineers.com) 只有当我们可以

    2024年02月02日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包