博客列表

HD7279的驱动程序和使用方法
发表于:2014-09-16 00:00:45 | 分类:硬件小模块
浏览( ) | 评论( )

以前用HD7279搭了一个“数码管+按键”的小模块,最近新做了一版更加通用的,因为HD7279本身能够驱动8个共阴极段选数码管和64个按键,而每次使用的数码管大小可能不一样,按键可能这次用得多下次用得少,因此不如只把接口留出来,用什么就往上接什么,自己在家DIY点东西就很方便。原理图(DIP封装和SOP封装可以任选其一焊上去):PCB板:实物图:接线图:驱动的.h文件:/* * HD7279.h * *  Created on: Semptember 12, 2014 *      Author: Marianna Zhu */#ifndef HD7279_H#define HD7279_H#include <msp430f2616.h> //msp430f2616.h,尖括号可能无法显示在网页上 #include "timedelay.h"#define HD7279_KEY_H()      

使用LM2677-ADJ制作的恒压源问题
发表于:2014-09-06 09:42:51 | 分类:硬件小模块
浏览( ) | 评论( )

LM2677是TI公司生产的5A最大负载电流DCDC转换器,以前我用它设计过一个数控恒压源,采用数字PID控制,结果证明那是个bad idea;这段时间又用它设计了一个简单的用数字电位器反馈的可调恒压源,可还是不尽如人意。。。电路原理图非常简单:实物图: LM2677上下表面都加上了散热片,续流二极管采用了7.5A的MBR745,外加大电流的国产10A磁环电感。当输入电压+12V,输出为+5V的时候,它的最大工作电流被限制在了3.7A,再往上加负载的话,输出电压就会掉落到4.7V甚至更低。原来以为是电感的问题,抱着对国产电感品质的不信任,订购了淘宝上Pulse的正品电感P0850NL(额定电流5A),可是并没有任何改善。所以这是一次并不成功的尝试,而且到目前为止也不知道问题出在了哪里,可能是器件的参数不够牛掰,也可能是器件选型错误,或者是布线问题,anyway,大负载电流的情况下采用内部功率管的DCDC芯片,实现还是相当有难度的。 

两个74HC595驱动共阳4位段选数码管
发表于:2014-04-29 12:45:23 | 分类:硬件小模块
浏览( ) | 评论( )

74HC595-串入/串并出带锁存的移位寄存器,实在是灰常magic,用它来驱动8段数码管太方便了!除了静态驱动可无限串联的一位数码管,它还能用来动态驱动4位段选数码管,而且由于串入/串并出和锁存特性,动态驱动也能够不闪烁显示并无限串联。原理图(两个74HC595分别做段选和段显,数码管为0.56寸4位共阳SR410561N)PCB板需不需要使用三极管?74HC595的IO输出电流推荐为20mA,而数码管的限流电阻为1K欧姆时大概工作电流为10mA左右,因此使用74HC595的IO作为段选,提供数码管的阳极电流,不用再增加三极管了。74HC595的总电流不能超过70mA,所以这里只使用它驱动4个段选信号。(好吧,由于动态显示是扫描的,每一时刻只点亮一个,所以驱动8个段选信号是没有问题的,74HC595的资源就全部利用了)程序设计动态驱动4位段选数码管的原理是,每个小间隔,使能一个段选信号,点亮它对应的段显。循环使能这4个段选信号,由于人的视觉停留,看起来就好像是同时点亮的。所以程序设计的时候,就需要每个小间隔对它操作一次,在主函数或者定时器中断里面都可以。调试这个小模块的时候,我遇到了两个问题:第一,显示有闪

LM2596使用经验
发表于:2014-04-23 12:32:21 | 分类:硬件小模块
浏览( ) | 评论( )

LM2596是常见的开关稳压器,使用简单,价格便宜,容易购买,但是经常会遇到的问题是,带载能力达不到3A,实际上有时候连2A都达不到。(我调试的是从中发代理拿的国产TO-263芯片,TI(National)的原装可能会表现更好一些。)影响LM2596带载能力的主要有下面三个因素:第一,肖特基二极管的选型。用在这里的catch diode,可持续工作电流需要为最大负载电流的1.3倍以上,所以当使用3A负载时,就使用5A的肖特基二极管。第二,电感的选型。电感的额定工作电流需要在3A以上。 第三,散热设计。TI的技术手册《Thermal Design By Insight, Not Hindsight》中提到TO-263的散热设计:由于TO-263的底层是thermal pad,而表层是plastic,所以散热片安装在底层(直接接触thermal pad或者通过thermal via),比安装在表层的效果要好。测试的时候,采用+24V输入,+8V输出,由电子负载提供load,电流3A。底层和表层的散热片同时使用,不加风扇,发现几秒之内散热片就非常烫手,同时输出电压持续缓慢下降, 直到接近4V时,在开启和关断之间

使用IR2104S搭建的H桥-机器人队比赛经典版
发表于:2014-04-20 14:36:01 | 分类:硬件小模块
浏览( ) | 评论( )

还记得当年在机器人队的时候,H桥是我们电控组的老大难,经常听到队友说的话就是“哎呀!H桥又烧了!”“哎!这个H桥怎么刚焊上就同臂导通了!”,我就是深为其苦的人之一。到今日离在机器人队的日子已经五年有余,正好公司的项目可能会用到它,所以重新设计了一版,顺便记录遇到的问题,也算是给曾经的学习过程做一个总结。集成的H桥芯片也有很多,比如L298N,但是一般负载电流会受到限制。使用分立元件搭建的H桥,比如桥臂驱动芯片配合N沟道MOSFET,能够达到非常大的负载电流和非常高的频率,而且可以更换器件,从而具备更多的可定制性。这里桥臂驱动芯片采用IR2104S,MOSFET管采用IRF540N。原理图:PCB板:焊接好的成品板: 遇到的问题一,采用+12P(图中的+12V)和VPP分开的设计?机器人队的H桥第一版,(MOSFET管和负载的)VPP和(IR2104S和光耦的)+12P,由外部分别供电;为了简化对锂电池的要求,并且方便模块化的使用,第二版的+12P经VPP从LM2596给出(它在市场上很常见,而且开关特性适应宽电压输入)。这里仍然采用了第一版的设计,即V

74HC595驱动8段数码管的时钟线处理
发表于:2013-12-25 13:22:28 | 分类:硬件小模块
浏览( ) | 评论( )

P { margin-bottom: 0.08in; }问题:当多个数码管串联时,不论是多少个,为什么处在末端的几个模块都有可能出现乱码? 使用示波器的10x探头观察,会发现高速时钟线上会出现驻波(standing wave)。其实信号线上都会有驻波,只是强度大小不同而已。驻波强度和信号的0/1频率没有关系,而是上升下降的频率有关。 一般来说,判断电平值的信号线,驻波并没有多大的影响;但是读取边沿的信号线,驻波的影响就不可忽视。驻波造成了74HC595的时钟线读取错误:本来应该读取1个数据的时候,它读取了多个进去。 解决方法有两个:第一,降低信号线频率,将GPIO_Speed_50MHz改为GPIO_Speed_2MHz。降低了信号线频率,驻波的强度也会随之降低,原来会出现的乱码现象也会消失。从前我一直不明白,既然STM能够做到50MH的IO口操作频率,为什么还要提供2M、10M、50M三种选项呢?直接都设置成50MHz不就可以了吗?原来它们是有各自适用的范围的。 第二,使用GPIO_Speed_50MHz频率,但是在信号线上串联一个68欧姆的电阻。在高速时钟线上,阻抗

74HC595驱动8段数码管的程序
发表于:2013-12-24 15:01:38 | 分类:硬件小模块
浏览( ) | 评论( )

//使用STM32F103作为MCU,74HC595驱动8段数码管的程序#define HC595_OE_H()          GPIO_SetBits(GPIOB, GPIO_Pin_12)#define HC595_OE_L()        GPIO_ResetBits(GPIOB, GPIO_Pin_12)#define HC595_RCK_H()          GPIO_SetBits(GPIOB, GPIO_Pin_13)#define HC595_RCK_L()        GPIO_ResetBits(GPIOB, GPIO_Pin_13)#define HC595_SCK_H()          GPIO_SetBits(GPIOB, GPIO_Pin_1

74HC595驱动8段数码管的最大串联数量
发表于:2013-12-23 10:08:08 | 分类:硬件小模块
浏览( ) | 评论( )

74HC595是8位串行输入串/并行输出的锁存移位寄存器。它的串入并出特性,非常适合驱动8段数码管;串入串出特性,非常适合首尾串联。8段数码管采用共阴或者共阳都可以,因为74HC595的吸入/灌出电流均达到20mA。它的使用方法也很简单,并行输出接到8段数码管上,串行输入与输出首尾连接即可。单片机提供第一个74HC595的串行输入,最后一个74HC595的串行输出悬空。所有的74HC595共用2根时钟线、1根使能线。因此,理想情况下单片机提供4个IO口,能驱动后续的无限多个74HC595。原理图如下:但实际情况下,74HC595驱动8段数码管,究竟最多能串联多少呢?换一种问法:第一,电路板能够通过的最大电流?第二,推挽输出能够驱动多少个高阻态输入?第三,推挽输出可以传输多长距离?第四,末端位置的电源线和地线的变化? (图中左端的数码管比右端稍暗,是因为限流电阻的关系。所处的位置对它的亮度影响不大。) 第一,电路板能够通过的最大电流?限流电阻取1K时,每个74HC595大概需要8mA的电流。电源线宽度为25mil,铜层厚度为1oz,则最大电流为1.7A。因此,可以串联的74HC595个数为1

一款实用的电源防反接电路
发表于:2013-11-17 16:05:29 | 分类:硬件小模块
浏览( ) | 评论( )

P { margin-bottom: 0.08in; }A:link { }如果将电源的极性接反,可能会损坏电源或者烧掉电路板。下图是一个实用的防反接电路:当电源正向接入,且输入电压范围为+9V~+28V时,MOS管的栅极电压,为2/3Vin即6V~18.7V(栅极电压不能超过20V),MOS导通,电路板正常供电。当电源反向接入,且输入电压范围为+9V~+28V时,MOS管的栅极电压,为肖特基二极管D4的压降0.7V,MOS管截止,电路板无电流通过,同时LED灯会被点亮。如果输入电压大于+28V或者小于+9V,就需要调整R23和R24的值,使之满足上面的条件。

使用LM2677制作的3V至24V数控可调恒压源
发表于:2013-06-13 19:34:44 | 分类:硬件小模块
浏览( ) | 评论( )