1.01k likes | 1.19k Views
第三篇 综合篇. 第 9 章 综合设计应用实例. 本章综合前面所讲知识,给出多个基于 PIC 技术的实际系统设计 实例 ,这些实例可以作为电子设计竞赛的练习项目、课程论文的选题以及本科毕业设计项目;也可作为课外科技活动的练习内容。这些应用实例都具有一定的综合性,除了需要 PIC 相关技术外,还需要 EDA 技术和 FPGA/CPLD 技术。本章主要讲述 PIC 编程器、 RF 射频无线遥控器、超生波距离测试仪、大型数码显示装置、电波数码显示钟以及 遥控电动机位置控制器 等应用实例 。 9.1 PIC 编程器
E N D
第9章 综合设计应用实例 本章综合前面所讲知识,给出多个基于PIC技术的实际系统设计实例,这些实例可以作为电子设计竞赛的练习项目、课程论文的选题以及本科毕业设计项目;也可作为课外科技活动的练习内容。这些应用实例都具有一定的综合性,除了需要PIC相关技术外,还需要EDA技术和FPGA/CPLD技术。本章主要讲述PIC编程器、RF射频无线遥控器、超生波距离测试仪、大型数码显示装置、电波数码显示钟以及遥控电动机位置控制器等应用实例。 9.1 PIC编程器 在第3章中详细介绍了PIC的硬软件基础和它们的设计。完成对系统的硬软件设计后,还必须使用相应的PIC编程器把设计完成的软件写入PIC的程序存储器中。在本章中首先介绍PIC的编程器的硬件设计和它与PC的接口,最后也将说明软件写入的顺序。 第3章和第4章虽然介绍说明了PIC及CPLD的原理、设计方法及其开法软件的使用,但综合性不够。在本章节中还将举大量的设计实例以增强对PIC和CPLD设计的理解,这些实例均由国内外的PIC和CPLD的设计专家所设计,具有很强的应用性。下面首先介绍PIC的编程器。
9.1.1 PIC编程器原理 作为PIC编程器有多种不同的类型,但其本质都大同小异。均是把HEX File文件写入PIC芯片的程序存储器。如图9.1所示就能完程此功能的框架图,整个系统由PIC编程器、PC 计算机和PIC编程器软件构成。 第3章中曾进介绍过,在完成了Sourse File源文件程序的设计后还必须对它进行编译。编译后生成HEX File文件 ( *.hex文件 ),为把数据写入PIC的程序存储器,整个写入系统还须对其以一定的技术指标进行处理。 图9.1 PIC编程器与计算机接口
9.1.2 主要技术指标 以下主要技术指标是编程器必须要实现的。 ● 对HEX文件内容进行解释,使之成为在PIC中能认知的地址和数据形式; ● 使PIC处于ICSP模式; ● 实现ICSP模式所需的电平生成 ( +13 V ); ● 变换成PIC能接授的电气信号; ● 按ICSP顺序把数据送入PIC; ● 检查写入PIC的数据。 图9.2为PIC编程器实物图。编程器还有很多其他的种类。如Microsoft公司的PIC写入器(图9.3) PRO MATE II:Universal Device Programmer 和PICSTART Plus:Low-Cost Development Kit等。它们均可直接由MPLAB控制写入。 编程器其主要构成如下: PICSTART Plus编程器、RS-232接口电缆、9 V电源、MPLAB-IDE开法软件和空白PIC芯片等 图9.2 PIC编程器实物图 图9.3 Microsoft编成写入器套
另外关于HEX File 文件的构造,在经过MPLAB编译后的HEX File文件具有如下形式的结构,其中各个记号的说明见表9.1。 BBAAAATTHHHHHHHH・・・・・・HHCC 表9.1 HEX File文件构造的记号说明
下面重点介绍目前在市场中出售的如图9.2所示的PIC编程器的设计。其型号为下面重点介绍目前在市场中出售的如图9.2所示的PIC编程器的设计。其型号为 AKI-PIC 编程器 Ver3。它由COM接口连接计算机,由写入器PIC16C57控制软件 和计算机软件共同完成程序的写入。 9.1.3 PIC编程器电路原理和器件说明 在PIC编程器电路设计中采用PIC16C57 PIC芯片作为中心控制器。PIC16C57芯片具有12位长,容量2K字节的EPROM作为存储控制软件。另搭载有80 Bytes的随机存储器RAM用于存储处理中间数据。该PIC的外围输入输出口有21 引脚。其主要完成PIC编程器与计算机及编程写入对象之间的控制,接口及数据的传送等。 当然要PIC编程器正常工作还须预先设计好写入器的控制软件并使PIC16C57正常动作。图9.4表示该PIC编程器PIC16C57芯片引脚分配图。 图9.4 PIC16C57芯片引脚分配图。
图9.5 RS-232驱动芯片及MTC1411 其次设计中将使用的芯片RS-232接口驱动集成芯片ADM232AAN和输出电平整合电路阵列MTC1413P。在使用计算机的COM1 (RS-232) 接口与PIC编程器相接续时接续电平必须满足RS-232标准。通常所说的高电平H通常会想到为5 V,低电平L为0 V。由于接口处通常是要通过电缆传送一定距离,所以会产生噪声问题,在输入输出接口处如同样使用5V和0V表示高低电平就可能不利于数据的传送。所以接口电平就会根据不同的接口有不同的接口电平。如用的RS-232口,接口上的电平高电位定义成-9 V到-15 V,低电位定义成了9 V到 15 V。 在PIC编程器RS-232接口设计中采用Ananlog Device公司的ADM232AAN专用芯片。它能很简单地把通常所定义的高低电平转化为RS-232的标准电平。如图9.5所示该芯片的内部框图及其输入输出引脚端口配置。
在图9.5中还可看到另一种将使用的集成芯片MTC1313P。该芯片拥有7个接续有晶体管的非门电路。使用该IC是为整合写入器控制PIC的输出控制电压,如TTL的5 V和写入所需控制电压13 V。该IC特性如下 ● 直流电流放大率 约 2800 ● 最大输出电流 500 mA ● 最小输出耐压 60 V 图9.6电子开关切换电路4066 及 LM317
下面两种将使用的芯片:电子开关切换电路4066B和LM317。其实物图及引脚配置情况如图9.6所示。开关电路4066B内部有4个完全独立的开关。它是CMOS 集成芯片,其动作电平范围为3 V到18 V间。在控制端为H高电平时,开关ON,输出为输入电压。控制端为L低电平时,开关OFF输入输出断开。 在PIC写入时需使用13 V电压,为生成该稳定13 V电压使用LM317。该芯片输出电压控制由外接调节电阻控制,输出电压范围可在1.25 V到37 V间,输出电压低于输入电压,如输出为37 V时,输入电压需要40 V左右。 整个PIC编程器的硬件设计电路图如图9.7所示。下面将对其重要部分电路进行详细说明。 1.PIC编程器硬件各主要部分说明 1)RS-232串形接口电路 如图9.8所示,本PIC编程器与计算机之间采用COM1接口,也即RS-232串行接口连接。RS-232接口是通常使用于调制解调器与计算机连接使用的串行接口。该接口特点是送信和收信各一条数据线。当然为完成通信还需要别的控制线等。如与Moderm相连接时还需送信请求 (RS),送信许可 (CS),数据端准备好 (ER),数据设置好 (DR),载波检出 (CD) 和被呼叫表示 (CI) 等信令信号。本设计仅使用其中送收信线路,其它线路均不使用。它们的接续方式可参照图9.8所示。在使用中传输数据时,计算机先输出RS信号,该信号传到PIC编程器直接作为CS信号返回使用。还有ER信号同样作为DR返回使用。
计算机侧控制软件和PIC编程器侧的控制软件共同动作控制,如PIC编程器侧未加电源,计算机侧认知为未接续。 另外关于RS-232接口电平,如图9.9所示定义,本设计出口电平约正负9 V (规定最大正负15 V) PIC编程器内部为TTL电平,如前所述使用AMD232A电平变换IC实现RS-232接口标准电平。其内部详细接续,引脚配置如图9.5所示。 2) PIC编程器动作控制电路 PIC编程器动作控制电路原理图如图9.10所示。如图,计算机侧的软件如何动作送收信数据以及对被写入PIC芯片的控制等均由PIC16C57的内存中的程序标准来控制。由于被写入PIC芯片的种类不同,它们的控制方法,控制引脚的配置均不同,这些所有的控制,设置均在写入控制器PIC16C57中设计好的标准Form数据库。这些标准数据库在PIC16C57中占用了1830字节。 3) 模式控制电路ICSP (In-Circuit Serial Programmer) 为对PIC芯片进行编程写入、读出及程序消除,如前些章节所述需要设置PIC为ICSP (In-Circuit Serial Programming) 模式。为设置PIC的ICSP模式就必有相应的设置方式,设置顺续。首先对PIC芯片先加电源Vdd (+5V) 后需设置RB6,RB7和MCLR为低电平L。完成后再设置使MCLR加+13V 电平完成整个ICSP模式的设置。由图9.11所示,PIC编程器的控制PIC16C57的输入输出均为通常的高H (+5 V),低L (0 V) 电平,所以该设计使用了Analogy模拟电路开关来控制 +13 V的输入输出。 如图9.11所示,当PIC16C57的输出端口23的控制信号为L低电平时,模拟开关处于ON状态。H低电平时,模拟开关OFF状态。
4) 电源电路 及 +13 V电平生成 在前面说明了为使PIC芯片设置为ICSP模式在MCLR端口需要接加+12 V到+13 V电平范围。所以在电源电路中使用了用于电压调整的3端IC芯片LM317以输出稳定的+13 V电压。LM317的输出电压由外接电阻 R1和R2来决定和调整。输出电压与它们的关系可用以下公式来计算。 图9.7 PIC编程器全电路硬件设计图
图9.8 RS-232串口及其引脚配置接续 图9.9 RS-232接口电平 图9.10 PIC编程器动作控制电路 图9.11 ICSP 控制电路
如图9.12所示,由于电路需要电流最低为10 mA,取R1的大小为120 Ω。在需要输出 +13 V电压时,由上公式可计算出R2为1128 Ω。实际电路中选用了1100 Ω。如在选用误差为5% 的电阻时,由于误差可能使输出电压超过规定值。关于这点设计时须注意。 另外LM317的输入与输出电压有约3 V的差,为使输出 13V电压。输入电压需16 V电压。在图9.12中还设计有输出稳定 +5 V电源电压的电路。 图9.12 电源电路 及+13 V电平生成
9.1.4 PIC编程写入方法 由于需要把设计好的应用程序写入PIC芯片就需要编程写入软件。这个软件一般与PIC编程器一起提供给用户使用。这里简单介绍针对以上介绍的PIC编程器的硬件由开法商提供给的软件的使用等。如图9.13即为用户写入完HEX File文件到PIC芯片后读出Check时所显窗口。 图9.13 PIC16F84芯片写入后读出情况
1. 操作方法 对PIC进行编程写入时顺序如下 ● 确认PIC编程器与计算机的连接窗口已设置为黄色; ● 选择开File选项后读入需使用的HEX File文件; ● 在Device芯片设定窗口中选将使用的PIC名; ● 设定芯片的Configuration字节; ● 选Program选项对PIC进行编程写入。 2. 功能说明 ● 打开HEX File文件 ● 在打开HEX File 文件后,HEX文件的内容在Program memory和EEPROM Data Memory小窗口中显示。 ● 别名保存 对从PIC芯片读出的内容以HEX File文件形式保存。 ● 通信端口 PIC编程器与计算机的通信接口选择。可选COM1到COM6等六种选择。 ● Configuration字节窗口 在Configuration字节输入数据以16进制表示。也能在Device设定项目中对 Configuration字节进行设定。 ● ID 在需对原Code码进行码保护时能指定不同的Code。如在不需Code码保护时, ID处设置为FFFFh。 ● Program memory窗口 该窗口中表示Program程序存储器的内容。在开HEX File时表示HEX File内容。在读出PIC芯片Program存储器内容时表示读出数据。
● EEPROM Data Memory窗口 表示EEPROM存储器中内容。 ● Message窗口 ● PIC编程器的状态表示 。 ● PIC种类设置 对将使用的PIC种类进行设置。 ● Program 把HEX File数据写入PIC芯片。在写入进行过程中,Message窗口中显示写入 状态。在写入完成后进行比较处理。自动确认写入正常与否。 ● 比较 对开HEX File和写入PIC的内容进行比较。同时也比较Configuration字节。 ● Read 读出PIC程序存储器中内容,并在Program memory和EEPROM Data Memory窗口中显示。 ● PIC芯片Blank空检查 PIC程序存储器为全1时表示该PIC芯片为Blank空状态。因为程序存储器为14 位所以全1即为3FFFh表示。EEPROM为8位所以全1即为FFh。 ● Configuration字节设置 设定振荡器的类型,Watchdog的使用/不使用,Power ON保护定时器使用/不使用,及Code保护等。通常如表9.2设定即可。
3.PIC编程写入具体顺序 (PIC16F84A) 在上面介绍了PIC编程器的硬件和软件,针对不同的PIC芯片它们的输入输出端口引脚配置及写入顺序等可能有些小区别。在本节中将详细介绍对PIC16F84芯片写入的顺序及ICSP等。其一般比较复杂,对一般开发者仅使用公司提供的PIC编程器和添付软件,不需了解它的运作过程。本节介绍些这方面的原理将有助于自己开发PIC编程器。 1) 设置ICSP 模式
I = 输入,O = 输出,P = 电源程序处于写入模式,MCLR电压必须VHH = +13V 。另外,VDD 需加+5V 电压。 为编程写入PIC16F84,软件必须对PIC的Flash Memory进行如表9.3所示的控制。这种控制以下的顺序 ● PIC VDD 加 +5 V 电源 ● 置 RB6,RB7 和 MCLR端口为 0 V电平 (低电平) ● MCLR端口加 +13 V ( VHH ) 电平 通过以上设置,使PIC为ISCP模式。 2) 程序的编程写入和读出 RB6端口引脚作为ICSP控制用的时钟 (Clock) 输入口,RB7端口引脚作为写入程序数据的输入输出双向端口。用此RB6,RB7端口引脚完成对PIC芯片的编程写入和数据读出。 当PIC芯片被设置成ICSP模式后,仅为RB6 引脚输入的时钟控制。不使用PIC本身的振荡器时钟控制。如在线写入时,必须在PIC动作开始前约72 ms在MCLR加VHH电平即可。否则在PIC运行动作后加VHH电平,程序地址已经从最初开始地址计数,如此时写数据,数据被存的地址就会搞错。 另外,对PIC芯片Flash Memory中存储的程序数据进行读出时,也是由RB6的输入时钟控制。
3) ICSP模式的详细原理 ● 串行输入输出数据格式及控制 如上所述对PIC芯片的编程写入和读出使用RB6,RB7端口。输入输出数据仅由RB7 引脚,由此看出数据必然是一位一位串行输入输出。数据的格式为6 位长的命令控制位和16 位的数据的组合。PIC芯片的程序存储器Flash Memory的字长为14 位。在此数据前加一位位的开始位和数据结束后的结束位,这样传送14位就变成传送16位。在数据存储器情况下,数据为8位,对它的传送用程序数据同样的16 位方式传送。数据格式是在START位后传8 位数据,余6位无效数据位。 图9.14 PIC编程写入读出信号图
数据的传送顺序由最低位位 (LSB) 到高位位。数据的写入和读出均由RB6 引脚的输入时钟下降沿触发实行。它们的信号控制方法如图9.14所 示。 ●ICSP的命令(Command)分类 ICSP使用的指令见表9.4,一共有9种。
在对PIC编程写入读出过程中必然有动作控制命令。它们的功能和分类如上表所示。如能与之前介绍的PIC编程写入读出信号图结合使用。这样能加深对设计的理解。在对PIC编程写入读出过程中必然有动作控制命令。它们的功能和分类如上表所示。如能与之前介绍的PIC编程写入读出信号图结合使用。这样能加深对设计的理解。 9.1.5 PIC编程器ICSP的程序设计流程图 图9.15是在ICSP模式下对PIC编程写入时的流程图,图9.16示在ICSP模式下对配置字节数据写入时的流程图。 在地址计数器内容超2000h时最上位数据位固定置1。在配置字节写入后,如进行通常的程序内存(Memory)写入时需使PIC复位(Reset)和再设置ICSP模式。 图9.15 PIC编程写入流程框图 图9.15 PIC编程写入流程框图
9.2 RF射频无线遥控器 在本节中将介绍简单的无线遥控器,包括发射机和接收机。在发射机和接收机电路设计中均采用PIC Chip 控制。在发设机电路中,采用PIC来控制发射信号的种类和对信号编码的控制。接收机中采用PIC来对发射机发出的信号进行识别和解码。下面就分别介绍发射机和接收机的电路设计等。 9.2.1 无线遥控器发射机 9.2.1.1.遥控器收发射机原理 该简单无线遥控器发射机实物图如图9.17。其具体电路设计图见图9.18所示 图9.17 遥控器发射机 图9.18 遥控器发射机电路图
9.2.1.2遥控器发射机硬件电路及元器件 在遥控器电路设计考虑中,电路将采用83 MHz的无线电波。工作原理是采用编码控制产生断续脉冲来完成发射电波。采用PIC16F84A芯片(如图9.19)编程来产生控制编码。这种方式能使简单改写PIC程序就能产生各种不同的编码,有利于对各种器件的控制和简化发射器电路的设计。具体电路设计时,编码控制由RA0和RA1输入端口选择控制,对振荡器的控制由RA4端口输出信号控制。 电路图9.20中使用的器件2SC1906三极管。它是作为高频振荡和高频功率放大器使用。也就是在电路设计时考虑到使用的是高频,所以在选择器件时考虑它的最大遮断频率。2SC1906的最大遮断频率为600MHz到1000MHz间。使用稍低最大遮断频率器件也可,如2SC1815 ( 最大遮断频率约80MHz ) 等。 图9.19遥控器发射机使用PIC 图9.20 2SC1906
下面将对遥控器发射机各部分电路原理做介绍 高频振荡电路 如图9.21所示高频振荡电路的基本型,该振荡电路的振荡频率可由下公式计算。通常在设计高频电路时,由于电路板的配线长度等的影响,会影响振荡频率。特别是频率越高,影响越大,设计时必须在实际电路板上实调。 图9.21 振荡器等效电路 图9.22 振荡器电路
对于振荡器输出信号至功率放大器输入间采用高频线圈耦合变压器。耦合变压器有多种形式。本设计采用一个线圈耦合方式。如图9.24所示,由输出线圈输出信号至三极管的基极。放大信号由集电极输出至天线。对于振荡器输出信号至功率放大器输入间采用高频线圈耦合变压器。耦合变压器有多种形式。本设计采用一个线圈耦合方式。如图9.24所示,由输出线圈输出信号至三极管的基极。放大信号由集电极输出至天线。 图9.25所示的功率放大器是非常简单的一种放大器,由于电路需工作于高频,放大倍率中等即可。这里要注意,在发射电波时请遵守国家对电波发射频率和功率大小的限制,本电路设计的发射功率很小,满足国家标准要求。 图9.26 控制码码控制电路 图9.25 功率放大器
● 控制码发生电路 对接收机的回路控制是由发信机的控制Code码来控制的。控制码的发生均由PIC软件实现。用PIC软件实现便于减少硬件,增加控制码的变化灵活性。本电路控制码使用8位编码组合,对控制码的识别采用特定断续间隔来区分。另外控制的种类区分采用8位的不同编码组合来实现。本设计仅控制两类。如果对控制输入电路另加设计可控制更多种类。 控制码发生电路如图9.26所示。电路采用PIC的输入输出端口RA4来控制振荡器工作 (振荡or停止)。在RA4端口输出H高电平时 (ON),从振荡器来看RA4端口与振荡器如断开一般。这样振荡器振荡工作。在RA4端口输出。为L低电平时(0V),如图9.26所示RA4端口接地即振荡三极管基极接地使得振荡停止。 ● 电源开关和控制Code码选择电路 对发送信机电路,一般要求在未按开关时全部电路不工作。电路仅在按开关时工作。因为不这样电池就会在不使用时被白消耗。所以控制开关就需兼电源开关和控制码选择二用。由于本设计仅控制两类,所以设置有两开关。从电路图9.27所示按任一开关均能完成对电路的供电。屏蔽另一路PIC输入端口采用了具有单通功能的二极管D1和D2。 图9.27 电源开关和控制Code码选择电路
9.2.1.3发送机控制编码设计 关于发送信机控制码的设计没有固定的标准,可自己设计控制码的格式,代表的控制码信号如图9.28所示。图中所示一个完整的控制由3个控制块(ST0,ST1和ST2)。发送机的程序管理着这3个控制块,也就是管理控制着发信的状态 (TX-STATUS)。针对各ST0,ST1和ST2块,又设计了子状态管理 (TX-SUBSTATUS)。下面具体介绍各功能块的设计和功 图9.28 发送控制码信号 一般称最初的块ST0为前文块,它用于接收机对接收信号进行确认 (收信正确与否等) 和同步作用 (信号的检出位置等)。由图9.28可看出ST0仅是ON或OFF交叉使用,在ST0结束时连续2 位 ON信号送出,后OFF信号送出。ST1是真正的控制码部分。ON和OFF具体就是自己设计的控制格式码,为防止接收机误动作,一般请不要使用全ON ( 8位均为1) 和全OFF (8位均为0) 的控制码方式。为提高可靠性,如图9.28所示在本设计中PIC的8位控制码的1 位在送出时变为3 位信号进行送信。最后的ST2块仅为终止块,信号格式为3 位的连ON (3位 连 1信号)。注意在前ST0和ST1设计中均不会出现3 位连ON。这样ST0,ST1和ST2就组成了一完整的送信控制信号。然后该相同控制码反复送出到使用者松开控制键。
在接收机端,接收信号并非限于从信号码开头接收但它会检查和锁定前文块的位置。通过检出ON-OFF-ON的反复认知前文块的位置。在ST1和ST2块中不存在这样的连续反复,所以在接收机端未收到该ST0块信号时会等待接收到该信号为止。在接收机端,接收信号并非限于从信号码开头接收但它会检查和锁定前文块的位置。通过检出ON-OFF-ON的反复认知前文块的位置。在ST1和ST2块中不存在这样的连续反复,所以在接收机端未收到该ST0块信号时会等待接收到该信号为止。 9.2.1.4发送信机端的程序设计 在上面介绍了该设计的控制码由PIC软件程序灵活控制。控制就必设计PIC的控制程序。图9.29为程序设计简单框图。 图9.29 PIC16F84A的控制程序框图
9.2.1.5遥控发射机安装调试 在电路板上不搭载PIC芯片时,振荡器的控制端即三极管的基极处于未控制状态。这时振荡器连续振荡。如图9.30所示在TR2振荡三极管的集电极与发射极间接入频率计即可确认振荡器工作与否。另外通过调整线圈的长短就可以调整振荡频率。 图9.30 振荡器动作确认 图9.31 振荡器频率时间特性
本电路设计采用的振荡器较简单,其频率时间特性不是很好。图9.31所示为振荡器的频率时间特性。在加电源后420秒 (7分间) 频率由82.985MHz增变为83.180MHz。变动幅度为195 KHz。通常发送信机在10秒以下送信即完成,由图9.31所示频率变动幅度为4 KHz,变动原因可能是三极管加电后发热使得它的静电电容发生小变化引起。在变动幅度4 KHz来说,接收机收信没有问题,但在电波较低时可能会产生影响。 图9.32 振荡频率对电源电压变化特性
1)电源电压变动对振荡频率影响 发送信机端使用干电池驱动,电池的能量消耗会使得电池输出电压有所降低。它的变化对振荡频率有何影响。由图9.32所示特性看到,电源电压在7 V到11 V间变化时频率变化幅度16 KHz,由此看到电源电压变化的影响比较小。 2)无线频率测试动作确认 在上节中使用频率计测频率。它接入电路就会产生一些影响,另外可采用无线频率计测试天线发射出的频率,这样精度较高。测试图如下图9.33所示。 图9.34 遥控器接收机 图9.33 无线频率计频率测试
9.2.2 无线遥控接收机 在9.2.1节中详细介绍了遥控器发送信机的电路设计、PIC的软件设计框图及控制码的考虑等。本节针对上节介绍的发射控制信号,将详细介绍遥控器接收机的设计及控制方法。图9.34示遥控器接收机的实物图。同样接收机也由PIC来控制。该遥控器接收机的具体电路设计如图9.35所示。 图9.35 遥控器接收机电路设计图
9.2.2.1遥控器接收机主要组成器件 在接收机电路设计中也采用了PIC芯片来控制整个接收机的工作,采用的PIC芯片与发送信机中采用的PIC都为PIC16F84A。由于PIC16F84A在第2章中有详细的功能等说明,在此就不再介绍。在此主要介绍另外的主要器件,如低噪声运算放大器LM358、用于高频放大用三极管2SK439和继电器驱动用开关三极管。详细见图9.36所示。 图9.36 LM358、2SK439和2SC1815 在对接收信号进行检波后由于电压幅度可能不符合PIC数字电平,而且比较小,所以在接收机中检波电路与PIC间的接口采用了LM358运算放大器来提升电平。它的工作就象一个比较器。由图9.35所示,在运算放大器的负输入端接有标准比较电压。如输入运算放大器正输入端的检波输出信号大于标准比较电压,运算放大器就处于打开OPEN状态。由RD54稳压管使运算放大器输出端7为5 V电平 (H高电平)。如运算放大器为关闭OFF状态,输出端即为0 V (L低电平)。低噪声运算放大器LM358芯片的实物,引脚配置如图9.36所示。
图9.37 高频耦合变压器 图9.38 继电器 为与发送信机发送的信号频率同频共振,接收机电路设计中也采用了高频耦合变压器,它仅用于接收送信信号时使用。它的外观和内部线圈接线如图9.37所示。在PIC正常接收信号后也还需输出控制信号。具体控制什么,得由设计目的而定。本设计控制采用小型继电器,实物见图9.38所示 9.2.2.2 遥控器接收机组成部分原理 本电路设计采用的是固定频率,接收信机的高频放大电路可使用简单的FET三极管组成的简单放大电路,虽简单但灵敏度较低。如要设计高灵敏度的接收机可使用FM接收机用的专用集成芯片比较好。下面将介绍遥控器接收机得各组成部分的电路原理。
● 高频放大电路 由电路图5.39所示,高频放大电路采用了使用FET的2段放大电路。在FET的Gate (G) 极输入信号即可放大该信号。在FET的Sourse (S) 极接有阻抗R是为给FET加以直流偏压。如该电阻加大,FET S极对地电压升高,即偏压加大 在放大电路放大倍数较大时,由于输出信号的再输入可能使得放大电路振荡,所以为避免振荡,该电阻一般选择较大,使得放大器的增益较低不易起振。 图9.39 接收机高频放大电路图 如图9.39所示电源由高频耦合变压器 (L1和L2) 的中间加入对TR1和TR2供电,这种方式能使共振电路特性较好,稳定度较高。共振电路的特性在电路分析中一般用Q值来评价。最理想情况即刚好取出共振频率。具体频率-电压特性如图9.39所示。
图9.40 频率-电压特性图 ● 高频检波电路 对高频放大电路放大后的接收信号,采用简单的二极管检波电路,如图9.41所示。这种电路经常用于收音机的AM信号检波,使用二极管的单向导通功能对高频信号进行整流变成直流信号。在电路中电容C6如取值较大,对C6充电时间较长,输出电压的振动变化就较小。该电路的整流检波原理如图9.42所示。 图9.40 检波电路 图9.41 检波电路输入输出原理图
● 电压比较电路 由于从天线接收的信号到高频检波电路输出,信号的强弱均受到电波的强弱的影响。所以在检波电路的输出信号是变化的信号。这种带有变化的电平信号是不能输入到PIC数字电路。必须进行处理所以就引入了如图9.43所示的电压比较电路。此电路的目的是比较判定接收信号的有无,如有信号时输出稳定的数字信号H电平至PIC的RA1端口,在无接收信号时输出L电平。 图9.42 电压比较电路 为使IC1电路在噪声下不产生误动作,在IC1的负输入端加以适当的正电压。如R4和R5取值为10千欧和100欧,电源电压为12V时,在IC1负端口加的电压约0.12V。在检波电路输出电压至IC1的正输入端口时,该电压在大于IC1负端口所加的电压时IC1输出高电平。还可看出在IC1的输出端还接有稳压二极管(稳压5V),这就使的IC1的输出不会超5V。因为PIC数字电路的高电平的5V。
● 继电器驱动电路 遥控控制器是为控制什么器件为目的而设计的。可控制的目的很多,不同的控制对象因它们所需控制电流、电压不同而使设计会不同。本设计仅控制小型继电器。其控制接续电路如图9.44所示。 图9.44 继电器控制接续电路 由图9.44所示控制端口由IC2 PIC输出控制信号。控制什么、控制方法等均由PIC根据接收信号而定。图9.43示二路控制,IC2 PIC为控制小型继电器,当然也可设计别的电路来控制别的器件。控制信号由PIC的输出端口RB5和RB7输出,在输出高电平时TR开关管导通,继电器S端和M端ON。电路中同时接有表示继电器工作状态LED。D4和D5二极管是为保护TR不损坏而设置。
9.2.2.3收信机程序设计流程图 对接收到的信号首先是要确认电波信号的存在。电波输入信号能连续5ms高电平后确认输入信号为ON,否则为OFF,如图9.45的开头部分所示。在发送信机设计章节中介绍了信号码为10ms间隔,为安全检出ON和OFF状态,在上升沿开始后5ms时检测信号。 图9.45 接收机接收编码Code ST0,ST1和ST2
在前面介绍了整发送信控制Code由三大块ST0,ST1和ST2组成,PIC程序对此三大块控制码接收信号状态 (RX STATUS) 进行管理。具体在各大块中又由RX SUBSTATUS来管理各位位。详细情况如图9.45所示。接收机PIC程序对接收的信号进行检查,如不能同步则重新接收直到同步为止。 在最初ON-OFF的三位检出后到ST0块终了标志 (ON连续2位后OFF) 均完整检出时才表明ST0正常检出,即接收信号同步。同步后即可开始接收ST1控制码信号码的检出,并把接收检出的控制码存入Count Data寄存器暂存。最后确认终了状态信号 (3 连续ON信号)。正常结束后PIC控制程序检查分析接收的控制码,针对该控制码对输出端口RB进行输出控制。 整个PIC的接收控制程序流程框图如图9.46所示。 图9.46 PIC控制程序流程框图
9.2.2.4 遥控器收信机安装调试 ● 遥控接收机调测。 ● 动作确认。 ● 接收机频率调整。 图9.46 接收机频率调整 在高频电路的设计和调测时一般不能单靠理论计算值。因为各种原因会使计算值和实际值相差甚远。就必须仔细调测。在本设计中调测的器件是耦合变压器的磁芯。如前器件介绍图所示,磁芯可以旋转上下调整,这会改变线圈的阻抗,也即改变共振电路的共振频率。整个电路采用了3个耦合变压器L1,L2和L3,均必须对它们进行调整。调整方法如图9.47示,调整顺序由L1,L2至L3分别针对本设计使用的频率83MHz左右进行逐分段调测后总调使的输出电压最大。 在整个调测完成后加载PIC芯片检查继电器动作和动作确认LED的显示情况。如无误整个设计即告成功。
● 接收机灵敏度调整 从整个电路设计来看它的灵敏度应该不是很好,因为采用了简单的调制解调方法、简单的放大器设计等。从整个灵敏度来看,如接收机使用1m的天线,发送信机使用20cm的天线,控制距离在1m到2m,这样好象并不实用,但从自动门等并非需要高灵敏度设计的场合也是有的,这就需要大家进一步进行研究和完善。
9.3 超声波距离测量仪 9.3.1 超声波测距原理 本节将介绍PIC的另一简单应用实例,即超声波距离测量仪。它的实物图如图9.48所示。在整个电路设计中采用了PIC16F873芯片。之所以采用该芯片是因为本设计中会使用A/D转换而PIC16F873也正具有模数转换端口。 超声波距离测量仪的原理是利用超声波发送出去后遇物体反射回测量仪。测量仪测试出整个时间,根据使用的时间长短即可换算成距离。另外还需说明的是由于环境气温的变化会使得超声波传播速度有所变化,本设计电路中可采用温度补偿设计,采用温变电阻器改变校正电压进行补偿测量误差。 图9.48 超声波据离测量仪实物
9.3.2 测距仪硬件电路及元器件 超声波距离测量仪的整体电路设计图如图9.49所示。下面将详细介绍说明电路设计中所采用的重要器件和各部重要的电路。电路设计主要参数如下: ● 超声波传感器 超声波传感器可使用T40-16 (送信) 和R40-16 (接收) 的器件。它们的共振频率约40 KHz。它们的实物图如图9.50所示。它们有二个电极。其中一个是与外壳相接,通常为接地。另一端为信号的输入输出端口。关于超声波传感器的具体内部结构和参数如图9.51所示。 图9.50超声波传感器实物
图9.51 超声波传感器内部结构和电参数 图9.49超声波距离测量仪全电路图
● PIC16F873芯片 如前所述本电路设计中因为会遇到模数转换。当然也可以使用专用模数芯片。 图9.52 PIC16F873外观及引脚配图 PIC芯片也有带模数转换端口的芯片如本次将使用的PIC16F873等。在第二章的PIC芯片介绍中有对其的详细说明,芯片引脚图如图9.52所示。 ● 低噪声运算放大器LM833N和低电压运算放大器LM358 对超声波的放大由于需要约60dB (1000倍增益),所以需要使用低噪声运算放大器。本设计使用LM833N,见图9.53的左图,也可选用NJM4580或uPC4570C等。
图9.53 LM833N和 LM358 LM358是单电源型运算放大器。本设计使用它来作为接收信号的检出。它也可用于电压比较器。它的外观和引脚配图如图9.53右图示。 ● NAND门4011B和驱动门4069UB 图9.54 NAND 4011B和 驱动门4069UB
如图9.54示4011B具有2输入的NAND逻辑电路,一片芯片有4个独立的NAND。它用于超声波的检出保持。4069UB芯片是驱动门芯片。一片芯片内有6个独立的驱动门,它用于送信电路的超声波驱动。如图9.54示4011B具有2输入的NAND逻辑电路,一片芯片有4个独立的NAND。它用于超声波的检出保持。4069UB芯片是驱动门芯片。一片芯片内有6个独立的驱动门,它用于送信电路的超声波驱动。 9.3.3 测距仪各部分设计电气原理 1.超声波接收电路设计原理 图9.55 超声波接收电路 图9.55示本设计采用的超声波接收电路。从超声波传感器接收的信号将通过二级由低噪声运算放大器LM833N组成的放大器,电压增益将达1000倍 (60dB)。第一级放大器增益为100倍 (40 dB),第二级放大器增益为10倍 (20 dB)。 对运算放大器的使用通常采用双电源工作,但本次设计采用单电源工作。因此,在运算放大器的同相输入端加有电源电压的一半偏压,即4.5 V,这样就使被放大的交流信号的中心电压在4.5 V。如采用运算放大器的负反溃使用法,在同相及反相输入端的电压大体相等。所以把运算放大器的同相输入端加以4.5 V的偏压,这就使得运算放大器能对交流信号的正负侧进行放大。
在对输入接收信号进行了二级60 dB的放大后还需要对信号进行检波,具体使用的检波电路如图9.56所示。具体使用了二级管的半波整流电路。在二级管输出端接有电容,该电容用于平滑输出电压,使之成为平滑的直流信号,该半波整流电路比较适用于高频信号的半波整流。 图9.56 检波电路 图9.57 信号检出 对信号检波后要输入到数字电路工作还需要对信号进行数字信号整形等。所以在检波后接有信号检出电路,如图9.56所示。电路采用了低电压运算放大器LM358组成电压比较器。如前所述运算放大器通常使用在负反溃方式,如图9.57示并未采用。这样在同相输入端比反相输入端有较小的电压差高输入时,运算放大器就会进入饱和状态。且运算放大器一般都有数万倍的放大倍率。所以在运算放大器同相输入端比反相输入电压差高有很小输入时,运算放大器输出都会接近电源电压输出Vcc (ON状态)。相反,如同相输入端比反相输入端输入电压低很小一点都会使输出接近为0 V (OFF状态)其详细动作如图9.56中的输入输 图9.56 信号检出出信号图所示。本次电路设计在运算放大器的反相输入端加有小偏值电压Vrf约0.4 V。