使用IR2101半桥驱动电机的案例
作为一个电机驱动开发方面的菜鸟,近日研究了一下通过MOS管对整流后的电源斩波用以驱动直流电机进行调速的方案。
在驱动的过程中,遇到了很多问题,当然也有很多的收获。
写下来以供自己将来查阅,也为其他菜鸟提供一些力所能及的帮助。
1.研究目标
公司使用的电机驱动原来是用的模拟电路。驱动220V的高压直流电机。可是模拟电路的构成看不懂,方案是直接“借鉴”而来(你懂的哈)。所以一旦出现故障,就仅仅能束手就擒了。为了解决技术方面的问题,仅仅能使用自觉得能够的数字控制方案,用来进行直流电机的驱动调速以及提供更好的接口。
原方案仅仅提供下面接口:一个电位器用于进行调速,临时没有其他接口。为了显示转速,不得不又加了码盘和光电传感器以及一套计算及显示系统。包括一个51CPU用于计算从光电传感器中接收的信号。再经计算为转速后,显示到数码管上。
这样的方案的问题一个是调速精度不准确,误差较大,另外就是添加的显示系统在转速显示方面会有跳动感,就是转速显示值的不稳定。即使添加了滤波处理也无济于事。
现考虑的新方案是这种:通过将交流220V整流,成为370V的直流。将直流电压通过PWM控制斩波,通过调节占空比控制有效电压,将调制后的电压输出到电机,用以驱动电机。
2.调试过程
查阅了很多资料,终于选定使用IR2101作为驱动芯片,因为不考虑换向。所以使用半桥就能够了。參考IR2101的数据手冊上的电路。就開始搭建试验电路。
之后開始调试,发现怎么都不能输出近似于方波的脉冲。从示波器上观察输出的电压与芯片的电源电压一致,而不是与驱动电压一致,经过重复调试,又是换MOS管,又是检查外围电路,实在没有办法了,想到其他都试过了,就剩芯片了,于是更换了一片IR2101,惊喜地发现,成功了。这能够历经一个多星期才得到的结果哈。
3.电路
IR2101的芯片手冊见链接http://pdf1.alldatasheet.com/datasheet-pdf/view/102221/IRF/IR2101S.html。半桥驱动是手冊第一页的图。
驱动时。将HIN和LIN引脚相连,接到CPU的PWM输出就可以。
驱动时,发现假设PWM的频率小于10K,电机会发出明显的啸叫声音。大于10K时基本听不到了。
电路在低频时,每一个波形前明显有一个台阶,如图,因为不须要换向。因此,在输出电机的两线之间加了一个续流二极管,台阶消失。
使用IR2101半桥驱动电机的案例的更多相关文章
- IR2104s半桥驱动使用经验
多次使用IR2104s,每次的调试都有种让人吐血的冲动.现在将使用过程遇到的错误给大家分享一下,方便大家找到思路. 一.自举电容部分(关键) 1.听说自举电路必须要安装场效应管,于是我在使用过程中,安 ...
- MOSFET的半桥驱动电路设计要领详解
1 引言 MOSFET凭开关速度快.导通电阻低等优点在开关电源及电机驱动等应用中得到了广泛应用.要想使MOSFET在应用中充分发挥其性能,就必须设计一个适合应用的最优驱动电路和参数.在应用中MOSFE ...
- LLC半桥谐振变换器调试记录
1.判断二极管是否击穿 2.判断mos管是否烧坏 直接用声音档,发出响声说明击穿了 3.测试二极管的正负极方法 将万用表调到二极管档 1.信号发生芯片周围的电阻 2.反馈部分的电阻 3.实验准备部分: ...
- 电力电子实验 LLC半桥谐振变换器 记录
- MOSFET使用与H桥驱动问题
0.小叙闲言 最开始学习三极管的时候,很注重它的工作原理,后来到了实际应用,就直接把三极管或MOSFET直接当作一个开关器件使用.直到前这几天,接触到MOSFET组成的H桥驱动电路时,发现它纯当作一个 ...
- 培训补坑(day2:割点与桥+强联通分量)
补坑ing... 好吧,这是第二天. 这一天我们主要围绕的就是一个人:tarjan......创造的强联通分量算法 对于这一天的内容我不按照顺序来讲,我们先讲一讲强联通分量,然后再讲割点与桥会便于理解 ...
- MySQL/MariaDB数据库的半同步复制
MySQL/MariaDB数据库的半同步复制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL半同步复制概述 1>.MySQL默认的异步复制 默认情况下,M ...
- 嵌入式单片机STM32应用技术(课本)
目录SAIU R20 1 6 第1页第1 章. 初识STM32..................................................................... ...
- STorM32 BGC三轴云台控制板电机驱动电路设计(驱动芯片DRV8313)
1 序言 相信对云台有兴趣的小伙伴对STorM32 BGC这块云台控制板并不陌生,虽说这块控制板的软件已经不再开源,但是在GitHub上依旧可以找到两三个版本的代码,而硬件呢我们也可以从Olliw( ...
随机推荐
- java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
缺少slf4j的包: 添加依赖: 代码: 1 <dependency> 2 <groupId>org.slf4j</groupId> 3 <artifactI ...
- [luogu] P3210 [HNOI2010]取石头游戏(贪心)
P3210 [HNOI2010]取石头游戏 题目描述 A 公司正在举办一个智力双人游戏比赛----取石子游戏,游戏的获胜者将会获得 A 公司提供的丰厚奖金,因此吸引了来自全国各地的许多聪明的选手前来参 ...
- 原生javaScript完成Ajax请求
使用原生javaScript完成Ajax请求,首先应该创建一个对象XMLHttprequest,考虑到兼容低版本IE浏览器,使用ActiveXObject对象,代码入下: var request; i ...
- 数据库联表统计查询 Group by & INNER JOIN
原数据表 视频信息表 tab_video_info 播放记录表 tab_play_record 需求 统计播放量(已经开始播放)最多的前20个视频: SELECT a.video_id, SUM( ...
- 使用BabeLua在cocos2d-x中编辑和调试Lua
使用BabeLua在cocos2d-x中编辑和调试Lua BabeLua是一款基于VS2012/2013的Lua集成开发环境,具有Lua语法高亮,语法检查.自己主动补全.高速搜索,注入宿主程序内对Lu ...
- Oracle字符乱码、数据越界訪问典型Bug分析
Oracle字符乱码.数据越界訪问典型Bug分析 前言: 作为乙方,在甲方客户那里验收阶段发现两个诡异Bug. 下面就问题来源.问题根因.解决方式.怎样避免做具体描写叙述. .且两 ...
- 怎样利用JDBC连接并操作Oracle数据库
之前学习.NET的时候.以前利用ODBC进行连接数据库,而在Java中通常採用JDBC连接数据库,这里以oracle数据库为例简单的总结一下利用JDBC怎样连接并操作数据库. 1.连接 public ...
- C++ STL之list具体解释
list容器是一个双向链表,能够高效地进行插入删除元素. 构造函数 list<Elem> c;//空list list<int> c(3);//创建一个含有三个默认值是0的元素 ...
- JAVA设计模式之【建造者模式】
建造者模式 建造者模式为客户端返回的不是一个简单的产品,而是一个由多个部件组成的复杂产品 角色 Builder抽象建造者 buildPartX getResult ConcreteBuilder具体建 ...
- ES正常停止步骤
1. 停止所有index服务 2. 执行curl -XPUT $url/_cluster/settings?pretty -d '{"transient" : {"clu ...