嵌入式~PCB专辑59

本文详细介绍了PNP与NPN三极管的使用方法,包括其工作状态、开关原理,以及在单片机电路中的应用。同时讲解了STM32最小系统电路组成,包括电源、复位、时钟、启动方式和调试接口。还涉及了STM32的不同启动模式配置及其应用场景。
摘要由CSDN通过智能技术生成

 只发PCB电路相关59  随时更新~~    whaosoft aiot http://143ai.com

一、PNP与NPN两种三极管使用方法

总结关于NPN和PNP两种型号三极管的使用和连接方法。

    在单片机应用电路中三极管主要的作用就是开关作用。

PNP与NPN两种三极管使用方法

上图中,横向左侧的引脚叫做基极b,有一个箭头的是发射极e,剩下的一个引脚就是集电极 c。 

    首先来说一下NPN型,这种型号的三极管在用于开关状态时,大都是发射极接地,集电极接高电平,基极接控制信号。

    其次对于PNP型的三极管,用于开关状态时,一般都是发射极接高电平,基极接控制信号。三极管导通时,电流从发射极流向集电极。

三极管的开关原理

    三极管有截止、放大、饱和三种工作状态。

    放大状态主要应用于模拟电路中,且用法和计算方法也比较复杂,我们暂时用不到。

    而数字电路主要使用的是三极管的开关特性,只用到了截止与饱和两种状态。

    三极管的用法特点,关键点在于 b 极(基极)和 e 级(发射极)之间的电压情况,对于PNP 而言,e 极电压只要高于 b 级 0.7V 以上,这个三极管 e 级和 c 级之间就可以顺利导通。

    同理,NPN 型三极管的导通条件是 b 极比 e 极电压高 0.7V。

    总之是箭头的始端比末端高 0.7V 就可以导通三极管的 e 极和 c 极。

  以上图PNP三极管为例,基极通过一个 10K 的电阻接到了单片机的一个 IO口上,假定是 P1.0,发射极直接接到 5V 的电源上,集电极接了一个 LED 小灯,并且串联了一个 1K 的限流电阻最终接到了电源负极 GND 上。

    如果 P1.0 由我们的程序给一个高电平 1,那么e到 b 不会产生一个 0.7V 的压降,这个时候,发射极和集电极也就不会导通,那么竖着看这个电路在三极管处是断开的,没有电流通过,LED2 小灯也就不会亮。

    如果程序给 P1.0 一个低电平 0,这时 e 极还是 5V,于是 e 和 b 之间产生了压差,三极管 e 和 b 之间也就导通了,三极管 e 和 b 之间大概有 0.7V 的压降,那还有(5-0.7)V 的电压会在电阻 R47 上。这个时候,e 和 c 之间也会导通了,那么 LED 小灯本身有 2V 的压降,三极管本身 e 和 c 之间大概有 0.2V的压降,我们忽略不计。那么在 R41 上就会有大概 3V 的压降,可以计算出来,这条支路的电流大概是 3mA,可以成功点亮 LED。

三极管饱和状态

    最后一个概念,电流控制。前边讲过,三极管有截止,放大,饱和三个状态。我们要让这个三极管处于饱和状态,就是我们所谓的开关特性,必须要满足一个条件。三极管都有一个放大倍数β,要想处于饱和状态,b 极电流就必须大于 e 和 c 之间电流值除以β。这个β,对于常用的三极管大概可以认为是 100。

    那么上边的 R47 的阻值我们必须要来计算一下了。刚才我们算过了,e 和 c 之间的电流是 3mA,那么 b 极电流最小就是 3mA 除以 100 等于30uA,大概有 4.3V 电压会落在基极电阻上,那么基极电阻最大值就是 4.3V/30uA = 143K。电阻值只要比这个值小就可以,当然也不能太小,太小会导致单片机的 IO 口电流过大烧坏三极管或者单片机。

二、玩转三极管

三极管的管型及管脚的判别是电子技术初学者的一项基本功,为了帮助读者迅速掌握测判方法,笔者总结出四句口诀:“三颠倒,找基极;PN结,定管型;顺箭头,偏转大;测不准,动嘴巴。”下面让我们逐句进行解释吧。

1 三颠倒,找基极

    我们知道,三极管内部有两个PN结,三极管是PNP型还是NPN型的区别就是两个PN结的连接方式不同。

    如图1所示是三极管及等效电路。

图1:三极管及等效电路

    测量三极管是要使用万用表的欧姆档,档位的选择可以是Rx100档位,也可以是Rx1k档位。

    我们知道,万用表在欧姆档时红表笔在万用表内接的是电池的负极,黑表笔连接着表内电池的正极。

    下面的测量都是基于三极管没有损坏的情况下测试的,如果三极管已损坏,下面的测试方法就不合适了。

     在我们不知道被测三极管是什么类型的时候(PNP型还是NPN型),这个时候一般也不会知道各管脚是什么电极。测试的第一步是先找出来这个三极管的基极。我们先任取三极管三个引脚中的两个(例如取1脚和2脚),用万用表两只表笔测量一下这两脚之间的电阻(正向电阻),然后将表笔翻转再测量一下两脚之间的电阻(反向电阻);接下来依次测量1脚、3脚之间的正、反向电阻,以及2、3脚之间的正、反向电阻。比较这三次测量出来的正、反向电阻,一定有两次的测量结果接近:即两次测量的正向电阻接近、负向电阻也接近;那么剩下的一次必然是正、反向电阻都较大,于是,可以得出结论,正、反向电阻都偏大的那一次,未测量的那个引脚就是这只三极管的基极(图2)。

图2:NPN型和PNP型三极管结构

三极管的发射极箭头方向一定是电流方向对吗?

三极管的发射极箭头方向一定是电流方向,这是错误的。这应该是书本没有告诉我们的知识。

    三极管B,C,E极之间的有没有电流以及电流的方向取决于B,E极,C,E极之间的电压偏置。

    根据偏置电压的方向和大小,一般三极管有三种工作状态:截止状态,放大状态以及饱和导通状态。

    截止状态下,B,E极之间,C,E极之间都没有电流流过。

    放大状态或者饱和导通状态下,如果是NPN型的三极管,电流从B极以及C极流向E极,如果是PNP型的三极管,电流从E极流向B极以及C极。不管是NPN不容小觑是PNP,E极电流的方向和三极管电气符号所标的箭头方向是一致的。

2 PN结,定管型

    找出这只三极管的基极引脚之后,就可以根据基极与另外两个电极之间PN结的方向来确定该只三极管是PNP型还是NPN型。

     将万用表的黑表笔连接到该只三极管的基极,红表笔连接到另外两个电极中的任何一个,如果表头指针偏转角度很大,则说明这只三极管是NPN型三极管,如果表头指针偏转角度很小,说明这只三极管为PNP型三极管。

3 顺箭头,偏转大

    从上面两个步骤我们已经找出了这只三极管的基极,以及这只三极管是那种类型的三极管,接下来就要判断哪个引脚是集电极,哪个引脚是发射极了。

     这时我们可以用测试穿透电流的方法来确定集电极和发射极。 

1、对于NPN型三极管,用万用表的黑表笔、红表笔颠倒测量两个电极之间的正、反向电阻,虽然两次测量中万用表偏转角度都很小,但仔细观察,总能判别出哪一次的偏转稍大,哪一次的偏转稍小,偏转角度稍大的电流流向是:黑表笔-集电极-基极-发射极-红表笔,电流流向正好与三极管电路符号中的箭头方向一致(这就是我们这一步骤的口诀“顺箭头”)。由此可以判断,此时黑表笔接的是集电极,红表笔接的是发射极(图3)。 

2、对于PNP型三极管,道理类似。

图3:测试穿透电流的⽅法来确定集电极和发射极

4 测不准,动嘴巴

    如果在“顺箭头,偏转大”的测量过程中,由于颠倒前后两次测量指针偏转角度都很小,实在难以区分,就要“动嘴巴”了,具体方法是,在“顺箭头,偏转大”的判别方法的两次测量中,用两只手分别捏住两表笔与管脚的结合部位,用嘴巴含住基极,仍用“顺箭头,偏转大”的判别方法即可区分出来集电极和发射极,其中原理是由于人体起到直流偏置电阻的作用,湿测量效果更加明显。

三、三极管的应用电路

    三极管有三个工作状态:截止、放大、饱和,放大状态很有学问也很复杂,多用于集成芯片,比如运放,现在不讨论。

    其实,对信号的放大我们通常用运放处理,三极管更多的是当做一个开关管来使用,且只有截止、饱和两个状态。

    截止状态看作是关,饱和状态看作是开。

    Ib≥1mA时,完全可以保证三极管工作在饱和状态,对于小功率的三极管此时Ic为几十到几百mA,驱动继电器、蜂鸣器等功率器件绰绰有余。

三极管电路举例

    把三极管箭头理解成一个开关,如下图为NPN型三极管,按下开关S1,约1mA的Ib流过箭头,三极管工作在饱和状态,c极到e极完全导通,c极电平接近0V(GND),负载RL两端压降接近5V。

    Ib与Ic电流都流入e极,根据电流方向,e极为低电平,应接地,c极接负载和电源。

    如下图为PNP型三极管,按下开关S2,约1mA的Ib流过箭头,三极管工作在饱和状态,e极到c极完全导通,c极电平接近5V,负载RL两端压降接近5V。

    Ib与Ic电流都流出e极,根据电流方向,e极为高电平,应接电源,c极接负载和地。

    如下图NPN三极管,对于NPN三极管更应该在b极加一个下拉电阻,一是为了保证b、e极间电容加速放电,加快三极管截止;二是为了保证给三极管b极一个已知逻辑状态,防止控制输入端悬空或高阻态时对三极管工作状态的不确定。

 如下图是PNP三极端,对于PNP三极管,更应该在b极加一个上拉电阻,原理同上。

    下图NPN三极管,对于感性负载,必须在负载两端并联一个反向续流二极管,因为三极管在关断时,线圈会自感产生很高的反向电动势,而续流二极管提供的续流通路,同时钳位反向电动势,防止击穿三极管。

    续流二极管的选型必须是快恢复二极管或肖特基二极管,两者响应速度快。

   如下图的NPN三极管,对于某些控制信号为低电平时,可能并不是真正的0V,一般在1V以内,为保证三极管完全截止,不得不在三极管b极加一个反向稳压管或正向二极管,以提高三极管导通的阈值电压。

    根据个人经验,推挽输出的数字信号不用加,OC输出、二极管输出以及延时控制有必要加,通常稳压管正常的工作电流≥1mA。

    下图是用三极管实现继电器的延时控制的例子。

    为三极管延时导通,快速关断的一个仿真电路,D1、R2、C1、D2构成延时导通Q2的回路,C1的电压为12V的时候Q2导通,R3、Q1、R4、R1构成快速关断Q2的回路,C1通过R3和Q1快速放电。

要点

  • 对于NPN三极管,在不考虑三极管的情况下,b极电阻与下拉电阻的分压必须大于0.7V,PNP同理。

  • b极电流必须≥1mA可保证三极管处于饱和状态,此时Ic满足三极管最大的驱动能力。

  • 另外,对于三极管的放大倍数β,指的是输出电流的驱动能力放大了β,比如100倍,并不是把输出电流真正的放大了100倍。

四、STM32最小系统电路

STM32最小系统硬件组成

    最小系统为单片机工作的最低要求,不含外设控制,原理简单,分析最小系统是STM32入门的基础。

    组成:

  • 电源

  • 复位

  • 时钟

  • 调试/下载接口

  • 启动

电源

    3.3V的电源从这里接入,其中电容起到滤波的作用。

复位电路

    当RESET引脚被拉低产生外部复位时,产生复位脉冲,从而使系统复位。

    有三种复位方式:

  • 上电复位

  • 手动复位

  • 程序自动复位

    上电复位,在上电瞬间,电容充电,RESET出现短暂的低电平,该低电平持续时间由电阻和电容共同决定,需求的复位信号持续时间约在1ms左右,计算方式如下:

t = 1.1RC(固定计算公式)  

1.1*10K*0.1uF=1.1ms

    手动复位:按键按下时,RESET与地导通,从而产生一个低电平,实现复位。

时钟 

    晶振的作用是为最小系统提供最基本的时钟信号,电容的作用是保证晶振输出的震荡频率更加稳定。

BOOT启动电路

    STM32 芯片的 BOOT0 和 BOOT1 引脚,可使用跳线帽设置它们的电平从而控制芯片的启动方式,它支持从内部 FLASH 启动、系统存储器启动以及内部 SRAM 启动方式。

    一般使用JTAG或者SWD调试下载程序,会下载到闪存里,所以可以直接将BOOT0引脚和BOOT1引脚置为低电平。

 STM32三种启动模式对应的存储介质均是芯片内置的,它们是:

  • 用户闪存 = 芯片内置的Flash。

  • SRAM = 芯片内置的RAM区,就是内存啦。

  • 系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区,它是使用USART1作为通信口。

调试接口

    STM32有两种调试接口,JTAG为5针,SWD为2线串行(一共四线)。

    此外还有采用USB进行程序烧写和数据输出:和电脑USB口连接也可以进行小负载驱动供电

    通常采用CH340G的芯片,实现USB转串口。使用该芯片将电脑的USB映射为串口使用,注意电脑上应安装串口驱动程序,否则不能正常识别。

五、STM32的启动模式配置与应用

三种BOOT模式

    所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式

  • Main Flash memory
    是STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。

  • System memory
    从系统存储器启动,这种模式启动的程序功能是由厂家设置的。一般来说,这种启动方式用的比较少。系统存储器是芯片内部一块特定的区域,STM32在出厂时,由ST在这个区域内部预置了一段BootLoader, 也就是我们常说的ISP程序, 这是一块ROM,
    出厂后无法修改。一般来说,我们选用这种启动模式时,是为了从串口下载程序,因为在厂家提供的BootLoader中,提供了串口下载程序的固件,可以通过这个BootLoader将程序下载到系统的Flash中。但是这个下载方式需要以下步骤:
    Step1:将BOOT0设置为1,BOOT1设置为0,然后按下复位键,这样才能从系统存储器启动BootLoader
    Step2:最后在BootLoader的帮助下,通过串口下载程序到Flash中
    Step3:程序下载完成后,又有需要将BOOT0设置为GND,手动复位,这样,STM32才可以从Flash中启动可以看到, 利用串口下载程序还是比较的麻烦, 需要跳帽跳来跳去的,非常的不注重用户体验。

  • Embedded Memory
    内置SRAM,既然是SRAM,自然也就没有程序存储的能力了,这个模式一般用于程序调试。假如我只修改了代码中一个小小的地方,然后就需要重新擦除整个Flash,比较的费时,可以考虑从这个模式启动代码(也就是STM32的内存中),用于快速的程序调试,等程序调试完成后,在将程序下载到SRAM中。

开发BOOT模式选择

    通常使用程序代码存储在主闪存存储器,配置方式:BOOT0=0,BOOT1=X。

Flash锁死解决办法

    开发调试过程中,由于某种原因导致内部Flash锁死,无法连接SWD以及Jtag调试,无法读到设备,可以通过修改BOOT模式重新刷写代码。

    修改为BOOT0=1,BOOT1=0即可从系统存储器启动,ST出厂时自带Bootloader程序,SWD以及JTAG调试接口都是专用的。重新烧写程序后,可将BOOT模式重新更换到BOOT0=0,BOOT1=X即可正常使用。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值