前言:中文期刊网精心挑选了pic单片机范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
pic单片机范文1
今年来世界处于和平状态,但防御作战是每个国家的军事要务,我国的武器平台和弹药技术也发展迅速。武器的杀伤力一直是研究的直接目的,然而武器的远程控制也是现如今军事作战的要点。智能引信是起爆控制系统不可缺少的功能,智能引信已成为军事研究的一个重要的发展方向。
一、PIC单片机的概述
(1)PIC单片机的组成。PIC单片机有硬件和软件两部分组成,由软件系统支配硬件设备工作。单片机是在一块集成电路芯片上装有CPU和程序存储器、数据存储器、输入/输出接口电路、定时/计数器、中断控制器、模/数转换器、数/模转换器、调制解调器以及其他部件等的系统。PIC单片机存储器容量有限,这取决于PIC的类型。PIC单片机的组成具有小型计算机的组成部分,其运算效率也很高,功能齐全能适应不同的控制要求。因此,电路才有可能做的很小巧,也有人称PIC单片机为小计算机。(2)PIC单片机的优良特性。PIC单片机具备探测目的的传感器通道、伺服控制通道、人机对话的系统功能。其应用系统可分为最小应用系统、最小功耗系统、典型应用系统。通过系统的归纳分析,单片机具备以下优良特征:抗干扰性好,可靠、安全性能高;运算速度快,控制能力强;内部数据保存时间长,可很好的保存数据不被破坏;系统配置规范,容易扩展。综合来看,PIC单片机具有运算速度快,抗干预能力强,可靠性、安全性高,灵活性能强,性价比高的优良特征。
二、起爆控制系统的概述
(1)起爆控制系统的组成。起爆控制系统主要由指挥员操作台、操作员操作台、安全员操作台三个操作台和一台便携工控计算机组成。在此组成结构之外,连接高速摄像系统、综合测试系统和预警系统启动信号输出和电视监视系统、广播通讯系统等的工作就绪状态记录功能。指挥员操作台发出命令指挥,操作员操作台根据指挥台的命令进行相应的操作,命令执行之后会返回相应的数据。这些数据通过摄像体统返回,电视监视系统和广播通讯系统分别记录返回的影像和声音。安全员操作台全程注视着任何危险的发生,并在发生危险时启动预警系统,切实保证试验场所有试验员的安全。(2)起爆控制系统的安全检测。起爆控制系统的试验是一个高危险的试验,所以试验的安全性是整个试验的重要点。系统安全检查设为两次自测,第一状态自测是检测整个系统是否正常运行,包括工作人员、视频监视、电压状况等是否正常,是一次全面的自测。当第一状态自测通过后点击第二状态自测,第二状态自测的主要工作目标是对引爆系统的自测,保证其电压输出正常,检测正常才可引爆。
三、智能引信技术的发展
复杂性体现在智能化武器具有高功能、高适应性、高可靠性、高安全性。相对于一般的引信来说,其技术水平达到了一个至高点。越是简单的操作系统,其设计构成就越复杂,为了达到智能的标准,智能化引信的设计由机、光、电、化等装置构成,在工作中更好的发挥智能化的作用。交叉性体现在其设计结构上,智能化引信综合应用了机械、微电子、信息、自动控制、传感测试、计算机接口及软件编程等多种学科集成的群体技术。多种集成技术的综合,必然错综复杂,而为了能很好的完成智能化的工作任务,需要将这些技术梳理清楚。从而交叉性的设计可很好的运用各种集成技术的专业特点,共同完成智能化的搭建。拟人性体现在武器作用过程中,模拟人的逻辑思维,运用人的学习和判断能力分析目标的种类和性质,根据已有的存储数据和实际的探测结果判定所要运行的命令。智能化的解释就是以人的思维方式来分析解决遇到的问题,运用人的灵活思考能力分析问题,人的判断能力判定问题,最后解决问题。
结语:起爆控制系统充分利用了PIC单片机的资源,通过智能引信的远程控制技术,大大提高了军事战斗力。无论是防御还是作战,为保家卫国做出了重大的贡献。基于PIC单片机的起爆控制系统,其运算精确、抗干预能力强、安全可靠、灵活性高,是符合军事研究的科学力量。PIC单片机不仅运用于起爆控制系统,还可用于其他各个领域,工业上的应用也体现了PIC单片机的应用价值。
参考文献
pic单片机范文2
关键词Microchip单片机功耗编程
--------------------------------------------------------------------------------
由美国Microchip公司生产的PIC系列单片机,由于其超小型、低功耗、低成本、多品种等特点,已广泛应用于工业控制、仪器、仪表、通信、家电、玩具等领域,本文总结了作者在PIC单片机开发过程中的一些经验、技巧,供同行参考。
1怎样进一步降低功耗
功耗,在电池供电的仪器仪表中是一个重要的考虑因素。PIC16C××系列单片机本身的功耗较低(在5V,4MHz振荡频率时工作电流小于2mA)。为进一步降低功耗,在保证满足工作要求的前提下,可采用降低工作频率的方法,工作频率的下降可大大降低功耗(如PIC16C××在3V,32kHz下工作,其电流可减小到15μA),但较低的工作频率可能导致部分子程序(如数学计算)需占用较多的时间。在这种情况下,当单片机的振荡方式采用RC电路形式时,可以采用中途提高工作频率的办法来解决。
具体做法是在闲置的一个I/O脚(如RB1)和OSC1管脚之间跨接一电阻(R1),如图1所示。低速状态置RB1=0。需进行快速运算时先置RB1=1,由于充电时,电容电压上升得快,工作频率增高,运算时间减少,运算结束又置RB1=0,进入低速、低功耗状态。工作频率的变化量依R1的阻值而定(注意R1不能选得太小,以防振荡电路不起振,一般选取大于5kΩ)。
另外,进一步降低功耗可充分利用“sleep”指令。执行“sleep”指令,机器处于睡眠状态,功耗为几个微安。程序不仅可在待命状态使用“sleep”指令来等待事件,也可在延时程序里使用(见例1、例2)。在延时程序中使用“sleep”指令降低功耗是一个方面,同时,即使是关中断状态,PortB端口电平的变化可唤醒“sleep”,提前结束延时程序。这一点在一些应用场合特别有用。同时注意在使用“sleep”时要处理好与WDT、中断的关系。
图1提高工作频率的方法
例1(用Mplab-C编写)例2(用Masm编写)
Delay()Delay
{;此行可加开关中断指令
/*此行可加开关中断指令*/movlw.10
for(i=0;i<=10;i++)movwfCounter
SLEEP();Loop1
}Sleep
decfszCounter
gotoLoop1
return
2注意INTCON中的RBIF位
INTCON中的各中断允许位对中断状态位并无影响。当PORTB配置成输入方式时,RB<7:4>引脚输入在每个读操作周期被抽样并与旧的锁存值比较,一旦不同就产生一个高电平,置RBIF=1。在开RB中断前,也许RBIF已置“1”,所以在开RB中断时应先清RBIF位,以免受RBIF原值的影响,同时在中断处理完成后最好是清RBIF位。
3用Mplab-C高级语言写PIC单片机程序时要注意的问题
3.1程序中嵌入汇编指令时注意书写格式见例3。
例3
…………
while(1){#asmwhile(1){
……#asm/*应另起一行*/
#endasm……
}/*不能正确编译*/#endasm
……}/*编译通过*/
……
当内嵌汇编指令时,从“#asm”到“endasm”每条指令都必须各占一行,否则编译时会出错。
3.2加法、乘法的最安全的表示方法见例4。
例4
#include<16c71.h>
#include
unsignedinta,b;
unsignedlongc;
voidmain()
{a=200;
b=2;
c=a*b;
}/*得不到正确的结果c=400*/
原因是Mplab-C以8×8乘法方式来编译c=a*b,返回单字节结果给c,结果的溢出被忽略。改上例中的“c=a*b;”表达式为“c=a;c=c*b;”,最为安全(对加法的处理同上)。
.3了解乘除法函数对寄存器的占用
由于PIC片内RAM仅几十个字节,空间特别宝贵,而Mplab-C编译器对RAM地址具有不释放性,即一个变量使用的地址不能再分配给其它变量。如RAM空间不能满足太多变量的要求,一些变量只能由用户强制分配相同的RAM空间交替使用。而Mplab-C中的乘除法函数需借用RAM空间来存放中间结果,所以如果乘除法函数占用的RAM与用户变量的地址重叠时,就会导致出现不可预测的结果。如果C程序中用到乘除法运算,最好先通过程序机器码的反汇编代码(包含在生成的LST文件中)查看乘除法占用地址是否与其它变量地址有冲突,以免程序跑飞。Mplab-C手册并没有给出其乘除法函数对具体RAM地址的占用情况。例5是乘法函数对0×13、0×14、0×19、0×1A地址占用情况。
例5
部分反汇编代码
#include01A7081FMOVF1F,W
#include01A80093MOVWF13
;借用
unsignedlongValue@0x101A90820MOVF20,W
charXm@0x2d;01AA0094MOVWF14
;借用
voidmain()01AB082DMOVF2D,W
{Value=20;01AC0099MOVWF19
;借用
Xm=40;01AD019ACLRF1A
;借用
Value=Value*Xm01AE235FCALL035Fh
;调用乘法函数
……01AF1283BCF03,5
}01B0009FMOVWF1F
;返回结果低字节
01B10804MOVF04,W
01B200A0MOVWF20
;返回结果高字节
4对芯片重复编程
对无硬件仿真器的用户,总是选用带EPROM的芯片来调试程序。每更改一次程序,都是将原来的内容先擦除,再编程,其过程浪费了相当多的时间,又缩短了芯片的使用寿命。如果后一次编程的结果较前一次,仅是对应的机器码字节的相同位由“1”变成“0”,就可在前一次编程芯片上再次写入数据,而不必擦除原片内容。
在程序的调试过程中,经常遇到常数的调整,如常数的改变能保证对应位由“1”变“0”,都可在原片内容的基础继续编程。另外,由于指令“NOP”对应的机器码为“00”,调试过程中指令的删除,先用“NOP”指令替代,编译后也可在原片内容上继续编程。
另外,在对带EPROM的芯片编程时,特别注意程序保密状态位。厂家对新一代带EPROM芯片的保密状态位已由原来的EPROM可擦型改为了熔丝型,一旦程序代码保密熔丝编程为“0”,可重复编程的EPROM芯片就无法再次编程了。使用时应注意这点,以免造成不必要的浪费(Microchip资料并未对此做出说明)。
参考文献
pic单片机范文3
[关键词]PIC单片机 LED 控制
一、点阵LED的结构
使用的LED为14*15点阵,由六片7*5点阵LED拼接而成,先分别用三片LED横向组成两个7*15点阵,再用两个7*15上下排列,组成需要的14*15点阵。当某一个LED所在的行驱动为低,列驱动为高时,这个发光管被点亮。
二、静态显示电路的构成
74LS164为TTL单向8位移位寄存器,可实现串行输入,并行输出。其中A、B(第1、2脚)为串行数据输入端,2个引脚按逻辑与运算规律输入信号,共一个输入信号时可并接。CLK(第8脚)为时钟输入端,可连接到串行口的同步时钟输出端。每一个时钟信号的上升沿加到CLK端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74LS164中。在给出了8个脉冲后,最先进入74LS164的第一个数据到达了最高位,再来一个脉冲,第一个脉冲就会从最高位移出。4片74LS164首尾相串,而时钟端则接在一起。
只要我们对每片LED上7位行驱动中的一位输入低电平,这行中相应列驱动为高的点就会被点亮。如此反复向每一行送入低电平,同时在相应的行被选中时,在列送入相应的数据,并反复的扫描,由于人眼存在视觉暂留效应就可以看到预期的画面信息。
三、编码方式
编码方式是由硬件设计方式决定的。因为送入下排三个LED中最后一片最后一位的列驱动是最先进入74LS164的数据,所以字模的编码顺序和在LED显示顺序正好相反。而且PIC16F877做串行输出时,串行输出寄存器SSPBUF中的8位数据的最高位是最先送出的,所以每行8个点是右面为高位,左面为低进行编码。后面的类推,要显示一个完整的14*15点阵共需要28组的8位2进制字模数据。
四、PIC16F877与LED电路的连接
PIC16F877中提供了两个串行通信模块,分别是同步串行口和通用同步异步接收发送器。其中MSSP模块又提供了两种工作方式,一种是串行外围接口(SPI),另一个工作方式是芯片间通信总线(IIC)。SSP模块主要用于单片机和其他外围接口或微处理器芯片间的串行通信,像串行EEPROM、显示控制器、模拟数字转换器等,都属于电路板上众多器件间的串行通信接口。USART则属于和电路板外部设备串行通信的接口,简单地说就是RS232接口,可以与PC通信。所以,我们选择SPI同步串行通信方式送入行选编码。SPI工作方式提供8位数据的传输,SCK引脚上的时钟速度决定数据的传输速度。在连接的器件中,由主控器件来产生时钟,其他器件以此外界的时钟为标准。因此在使用SPI方式时,必须确定那个器件为主控器件,其它则为从控器件。本电路使用PIC16F877作为主控器件,SSP模块工作在主控方式下。SCK引脚的时钟由单片机自己产生,因此可以在任何时候数据的传送,传送在有写入SSPBUF缓冲器的动作时开始,我们用SCK引脚输出串行输出同步时钟。本电路中的SPI模块中用来输入出数据,那么SDI引脚可以关掉不用,这时SSBUF寄存器里的内容全根据设定的时钟一位的由SDO引脚移出。在设置使用MSSP模块的SPI工作方式前第一件事是初始化MSSP模块,SSPCON寄存器包含了要设置的相关位,在设置完成后,置MSSP模式使能位SSPEN,便可以开始SPI方式的工作。同时,要复位SSP模块,只要先将SSPEN位清除0,然后重新设置SSPCON,再将SSPEN设置为1就可以。设定好SSPCON就相当于设定了SDO,SCK,SDI,SS 为串行通信用的引脚,因此除了SSPCON寄存器的设置外,对SPI工作方式用到的引脚也要设置。SDO和SCK为输出引脚,因此TRISC和TRISC必须清零。
PORTD端口寄存器读出的是相应的I/O引脚上的电平状态,而写PORTD 转贴于
端口寄存器则是写入其数据锁存器。另外,D端口还可以作为并行从动端口与单片机总线接口。这里,我们使用它的8 位并行数据输出功能,作为7位并行行选信号和一位使能信号的输出。
五、程序的编写
程序各模块功能说明:
INITIAL:初始化模块。设置串行口工作方式为SPI主动方式;RC3,RC5引脚为输出;SSPBUF寄存器在时钟上升沿送出数据;串行同步时钟为单片机内部时钟的四分频;清SSP中断标志;使能SSP模块。
I2C_OUT:串行口发送数据模块,要发送的数据存放在TXDATA寄存单元中。将TXDATA内容送入SSPBUF中后,检查SSPIF位。当此位被置1时,表示SSPBUF数据送完。SSPIF位需要手动清零,然后此模块返回。
SHOW:将表TABLE的段地址装入数据寄存器DATA1中。共有四个字符要显示,数据寄存器NUM中存放当前显示的是第几个字体符。
SHOW1:每送一次行选取数据后连续送四个列选数据,数据寄存器R1 中存放在送出的是每四个列选数据是的第几个,初始值为4。
SHOW2:初始化表地址段内偏移数据寄存器R0。由段地址和段内偏移相加得出要查表数据的页内地址,地址值存放W寄存器。查表得到地址W 内的数据内容放入TXDATA数据寄存器,即当前要送入的列选数据。
SHOW3:将行选数据寄存器R2中的内容送放D口,显示已经送出的四组列选数据。调用延迟模块。关闭D口,LED全灭。从新计算行选数据,然后存入行选数据寄存器R2中。通过R3寄存器判断是否一个字符是否全部显示完毕,如果没有完毕则回到SHOW1模块,送出下面四个列选数据;否则转到下一个模块。
NUMBER:将当前的段内偏移加上段地址作为新的段地址,这个新的段地址存放在DATA1数据寄存器中。判断是否所有字符都已经显示完毕。如果没有则转移到SHOW6模块准备显示下一个字符;如果所有字符都已经显示完毕,则回到主模块MAIN,循环显示四个字符。
DELAY:延迟模块。因为每次LED上只有一行是显示出来的,所以快速的刷新会在人的视觉系统中造成视觉暂留,人眼看到的就会是一幅完成的画面。延迟程序时间的长短应使人肉眼看到的画面连贯,无强烈闪烁。
参考文献:
pic单片机范文4
关键词:PIC单片机;电池充电;太阳能
引言
目前市场上太阳能充电器已经存在支持电源可调档的太阳能充电器,由单片机控制充电模式,一般支持5V-9V可调。文章的太阳能充电器由PIC单片机控制太阳能充电模式和非太阳能充电模式的切换,它可以实时采集电池的电压和电流,借此对充电过程进行智能控制和利用太阳能充电,从而实现天然资源的合理利用。
1 系统结构
本研究结构可分为太阳能充电器硬件电路部分和PIC程序设计部分两大块。太阳能充电器模块:太阳能充电器嵌入到智能充电器上,由微处理器控制可以调节不同输出电压和电流,本智能充电模块和太阳能充电模块共用一个微处理器,根据温度传感器发来的信息,判别充电的模式。该控制器能有效地防止蓄电池过充、过放、过流,而且在备用电池耗尽而太阳能源较充足的情况下,可以实现太阳能充电。PIC程序设计部分:充电时,启动充电计时,采样多组输出电压值和电流检测电阻两端的平均电压值做为测量值,由欧姆定律I=U/R计算出电流值,根据输出电压和电流判断是否接入电池,未接电池,则停止充电,进入空载,已接电池,则判别电池种类,根据不通电池选择不同充电曲线。
2 系统硬件结构
系统硬件结构由开关电源、电压电流控制电路、主输出电压电流采集模块、电池类别检测电路、充电状态指示电路、含有控制算法程序的智能控制器以及时钟振荡模块等硬件部分,系统的硬件模块图如图1所示。
图1 系统的硬件模块图
(1)开关电源:由两路电压输出端的开关电源电路组成,其一路作为本实用新型智能充电器的主电压输出端,用于连接电池;另一路作为辅助电压输出端,用于给智能充电器内部控制芯片提供工作电压。
(2)电压电流控制电路:输出电压经过PMOS管调制成占空比不同的方波电压,该电压经电感L1与电容C1平滑滤波后成为平稳的无脉动的且幅值大小与占空比成正比的电压,此电压用来给电池充电。
(3)主输出电压电流采集模块:输出电压经电阻构成的分压器传到单片机具有模数转换功能引脚中转变为数字量,作为反馈量,传送给电流的PID控制程序,达到稳定输出电流目的。
(4)电池类别检测电路:电阻R9和电阻R10连接端接电池类别信号。
(5)充电状态指示电路:双色LED灯受智能控制器6中单片机控制,对空载正在充电、已充满电和出现异常等状态做出不同显示。
(6)智能控制器:是一个内部集成了模数转换等功能的单片机。
(7)时钟振荡模块:用于给单片机工作提供所需的高频时钟信号。
3 系统软件的设计与实现
本系统软件主要由PIC单片机程序组成,程序设计流程图如图2所示,主要包括:配置单片机I/O口,初始化并启动模数转换器、定时器和PWM,检测充电标志,充电时,启动充电计时,采样多组输出电压值和电流检测电阻两端的电压值,按大小排序去掉最大值和最小值后,取平均值,作为测量值。
图2 程序框图
4 结束语
文章针对便携式太阳能充电器的设计进行了充电芯片选择和硬件和软件设计,后期了进行系统调试和试验,试验结果表明:采用PIC单片机控制太阳能充电模式的设计便携式户外充电器的方案可靠,成本低廉,性能稳定。能有效实现太阳能资源的合理利用,满足用户的户外需求。
参考文献
[1]林邦怀,周文灵.一种基于单片机的智能充电器设计[J].仪表技术,2007(2):27-29.
[2]胡燕燕,杨代华.基于单片机的智能充电器设计[J].电子元器件应用,2007(5):52-55.
pic单片机范文5
[关键词] 车载逆变电源 正弦脉宽调制 单片机
1 引言
随着社会的发展,人民生活水品的不断提高,汽车逐渐进入了大众的家庭中,有车族们已经不仅仅将汽车作为一种代步工具了,而开始将其作为一种享受生活的工具。有车族在户外需要使用的电子设备越来越多,例如汽车音响、车用DVD、车用冰箱、手提电脑、手机充电器和各种电源适配器等等,而这些电子设备一般都需要用市电220V供电,汽车所能提供的电源是蓄电池,一般小车是12V,因此要使用这些设备必须配备电源转换器,即车载逆变电源。车载逆变电源一般使用汽车电瓶或者点烟器供电,将汽车蓄电池的 12V直流电转变成一般电器所需要的220V交流电。在发达国家车载逆变电源是每辆车必须具备的。据统计,国内配备这种转换器的车辆还不足20%,加之每年汽车销售量居高不下,因而电源转换器在国内有很大的市场前景。
传统车载逆变电源都是准正弦波的逆变电源,也就是输出的交流电是方波220V,多采用PWM集成控制芯片控制逆变电路输出,如SG3525或TL494,存在着输出谐波大,效率低等问题,适用的负载较窄。本文介绍了一种输出为稳定、平滑的纯正弦波的车载逆变电源,以PIC单片机作为主控制器,产生逆变器的SPWM信号,经输出滤波后可等到标准的正弦波,同时具有稳压、过流保护、欠压保护等功能,使逆变电源的适用负载更广。
2 纯正弦车载逆变电源系统原理
纯正弦车载逆变电源系统原理如图1所示,主电路部分:蓄电池的12V直流电通过DC/DC升压电路升压为350V的高压直流电,DC/AC逆变电路将高压直流电转变为交流 SPWM波,通过LC滤波后得到纯正弦的220V/50HZ交流电。控制电路部分:主控电路是以Microchip的PIC16F74芯片为控制核心,该芯片是一款RISC高性能的CPU,仅含35个单字节指令,带有8位AD,双路PWM输出,3个定时/计数器,带UART接口,195个字节RAM,4k×14Bit的Flash存储器,保密性好,其指令速度在外部晶振20MHz下,可达200ns的指令周期。由PIC16F74产生两路SPWM控制信号,通过隔离驱动后控制DC/AC逆变电路的功率开关器件,并实时检测电压电流,保证输出电压恒定,电池欠压或过流时采取相应措施报警及保护。
3 主电路原理及设计
3.1 DC/DC升压电路设计
升压电路采用推挽式DC/DC变换电路。如图2所示,输入端Ui为蓄电池电压(+12V),由DC/DC变换将DC12V电压逆变为高频方波,经高频升压变压器升压,再整流滤波得到输出端为Uo的直流电压(350V)。变压器T1起隔离和传递能量的作用。在开关管VT1开通时,变压器T1的N1绕组工作并耦合到副边N3绕组;开关管VT1关断时,N1向N3释放能量;反之亦然。在输出端,有电解电容和四个二极管构成副边整流滤波电路。
3.2 DC/AC 逆变电路设计
DC/DC升压电路输出的直流高压350V通过逆变桥,把直流电压变为交流电压,再经过LC滤波电路得实现50HZ/220V交流电,如图3所示。
3.3 主电路核心器件的选择和参数计算
DC/DC电路中,输入电压10.5~12.5 V,输入最大电流15 A,考虑一倍的余量,推挽电路开关管VT1及VT2耐压不小于30 V,正向电流不小于30 A,选用IRFZ48N。变压器副边输出整流桥由4个高效整流二极管HER305组成。滤波电容选用47μF/450 V电解电容。升压高频变压器T的设计应满足在输入电压最低时,副边电压经整流后不小于逆变部分所需要的最低电压350 V,同时输入电压最高时,副边电压不能过高,以免损坏元器件。同时也必须考虑绕线上的电压降和发热问题。选EE型铁氧体磁芯,原副边绕组为10匝∶300匝。
DC/AC电路中,对角的两个开关管V1与V4或V2与V3作为一组,两组开关轮流工作,在一个周期中的短时间内,四个开关将均处于断开状态,即设定有死区时间,以防止开关管直通。显然,通过开关管的电流较小,但要承受较高反向电压,即高压电压峰值,加上一定余量一选择600V,选择SSS6N60A为输出逆变开关管,该管基本参数:Vdss=600V RDS = 1.2Ω,Id=3.2 A。
4 控制电路原理及软件设计
控制电路的主要功能是以PIC16F74为核心,产生SPWM信号控制全桥逆变器的四个功率管,同时保证输出电压在负载波动的情况下快速稳定,并且实时监控电池电压、负载电流,对欠压、过流等异常现象进行处理。
4.1 SPWM控制信号的产生
采用离线计算SPWM波形信号,计算出的实际脉宽转换成计时步阶后生成128个值的正弦表存入PIC的ROM中以供调用,设置SPWM的频率为50Hz,PIC单片机CCP功能模块的PWM功能实现主要依靠相关寄存器值的设定,且以定时器2(TMR2)作为PWM的时基。相关寄存器的设置如下。
4.1.1 SPWM周期的设定由寄存器PR2设定
(PWM)周期=(PR2+1)*4*Tosc*(TMR2)预分频
为提高分辨率,TMR2预分频设为1∶1,由此计算得PR2=0X9C。
4.1.2 定时器TMR2的控制寄存器T2CON设定
因为SPWM频率高,周期短,在每个周期内完成脉宽的调整比较困难,故在此寄存器中设置后分频为1∶3,这样每输出3个相同脉宽的SPWM波后改变一次脉宽值。
4.1.3 2个CCP模块的控制寄存器CCPlCON及CCP2CON的设定的设置类似,选择CCP模块作用于PWM功能模式,即bit3:O=1100。
4.1.4 CCPRlL脉宽写入寄存器写入的脉宽值在下个TMR2周期开始时转至CCPRlH,通过读CCPRlH的脉宽值来改变PWM脉宽。
4.1.5 寄存器TRISC对应于CCPl和CCP2的输入输出设置,应设置为输出形式,即TRISC的bit2:l=OO。
4.2 稳压及保护
利用PIC16F74的8位AD定时采集逆变器输出电压作为反馈,在CPU内部构成电压闭环,用软件实现PI调节,保证零误差调节,使输出电压有效值恒定,不受负载变化影响。为保证输出电压不至于在AD采样误差范围内频繁跳动,还必须应用软件滤波,对输出电压微调。
电池电压和负载电流的检测信号也送入CPU的AD,电池欠压时,CPU发出利用中断发出报警信号;负载过流时,CPU一方面发出报警信号,同时封锁SPWM信号,使输出电压下降为零,保护逆变电源。
5 样机实验结果
基于以上分析设计,制作了一台150W的实验样机,在带100W灯泡负载的实验条件下,测得输出电压波形如图4,实测电压有效值为218V,空载时226V,电压波动率在正负5%以内,输出波形为纯正弦波。
6 结论
本文设计了一种高性能的车载逆变电源,采用PIC单片机作为主控芯片产生SPWM信号,输出电压为纯正弦波,对车载逆变电源进行了完善的保护设计,结果表明,制作的车载逆变电源,所设计的电路基本能完成的测试功能,克服了传统的车载逆变电源只能产生方波交流电的缺点,提高了电源的适用范围。
参考文献
[1] 陈道炼. DC―AC逆变技术及其应用[M].北京:机械工业出版社,2003.
[2] 刘凤君. 正弦波逆变器[M].北京:科学出版社,2002.
[3] 陈国先. PIC单片机原理与接口技术[M].北京:电子工业出版社,2004.
pic单片机范文6
关键词:PIC18F2420 直流电机 电机控制
中图分类号:TM3 文献标识码:A 文章编号:1007-3973(2010)012-015-02
1 引言
电机控制系统是自动化应用中必不可少的环节,在很多领域得到广泛应用。然而在高温恶劣环境下,当遇到突发事件的时候,很多传统电器控制系统都无法可靠的运行,带来巨大的安全隐患和经济损失。电机控制系统的可靠反应成为安全生产活动的重要保障。根据以上需求,设计了基于PIC18F2420单片机的直流电机控制系统。
2 系统组成以及工作原理
直流电机控制系统,其结构图如图1所示。控制系统主要组成部分包括:PIC单片机,直流电机控制模块,外部事件反馈模块,通讯电路模块。该系统可以独立进行外部事件反应设置,对预定事件和突发事件做出相应的电机操作反应。并且通过通讯电路模块可以相互在系统之间或者与PC机进行数据传输和交换。形成控制网络。
2.1 微处理器系统
PIC单片机是Microehip公司推出的单片机系列,它采用先进的RISC技术。具有速度快、功耗低、高性能、价格低等特点,在仪器仪表、工业控制、计算机通讯等方面得到广泛的应用。本设计采用PIC系列中的中档单片机PIC18F2420作为控制核心,它除了具备所有PIC单片机固有的优点外,还具有增强型闪存程序存储器和高耐久性能,扩展级的芯片能在高达125"C的环境下正常工作,特别适合于高温环境下工作。
在本系统中,RA口直接与电机控制模块相连接,并且获取电机控制模块的反馈信号。以12C总线的方式利用RC3和RC4与DS1629连接,RC6和RC7用于联机通讯。
2.2 直流电机控制模块
为了配合高温恶劣环境作业,直流电机控制模块采用德国Infineon公司的TLE5205专用直流电机控制控制芯片,其结构如图2所示。
该芯片,输入电压达到40V,可以给电机提供高达5A的控制电流,能够在-40℃~125℃下正常工作,并且具有内部短路保护和出错标志位(EF)反馈功能。应用电路简单可靠,只需要两个I/O口就可以达到对直流电机的正反转控制要求。该控制模块的连接电路如图3所示。
2.3 外部事件反馈模块
采用带有实时时钟的温度传感器芯片DS1629作为外部事件反馈终端。它将数字化温度传感器、实时时钟集成在一起,这样不仅减少了系统空间,而且还具有可编程、宽电压、低功耗等特性。DS1629数字温度传感器的精度为±2.0℃,以0.5℃为刻度输出一个9位的温度测量值,以指示器件所在的环境温度。其测量温度范围是-55℃~+125℃;完全能够满足一般高温恶劣环境中的作业要求。同时,该芯片还具有温度中断与时钟中断功能,可以由用户设定四种不同的中断模式,方便了用户的使用。
该外部事件反馈模块,可以对工作环境温度急剧升高突发事件发出反馈信号。并且可以使用该模块对系统控制做时间参考,以弥补单片机在定时方面的缺陷,实现直流电机控制系统长时间定时控制的功能。DS1629需要外部输入32.768kHz脉冲信号,并且采用标准的12C总线进行通讯传输。模块电路如图4所示。
2.4 通讯电路模决
该直流电机控制系统可以根据突发事件,进行智能控制,同时记录相关的事件和状态。单片机在完成数据处理和储存后,有时需要与PC机(或其他智能设备)相连接,进行数据交换;而另些时候需要通过PC机(或其他智能设备)对控制系统的参数进行修改,通讯电路模块不可缺少。
PIC18F2420具有通用同步异步接收发送模块(USART),可以与PC机的串口连接通讯。为了把RC6和RC7分别设置成串行通信接口线,首先把它们的方向寄存器TRISC置1。USART功能模块包含有两个八位可读/写的状态,控制寄存器,并且带有一个八位波特率发生器BRG,支持USART的同步和异步工作方式。对USART方式进行初始化程序如下:
Void USARTinit(void)
{sPBRG=0x19;//讲传输的波特率设定为9600位,秒
TXSTA=0x04;//选择异步高速方式传输八位数据
RCSTA=0xS0;//允许同步串行口工作
TRISCbits.TRISC6=1:
TRISCbits.TRISC7=1;//将RC6和RC7设置为输入方式,对外保持高阻状态)
另外,本系统需要把RC6和RC7经过MAX232芯片进行电平转换,将TTL电平转换为RS-232电平.再与PC机的串口连接,进行通讯。
3 结束语
本设计硬件电路简单,功能可靠,经久耐用,能够在高温恶劣的环境下工作,具有解决高温突发事件的能力。
参考文献:
[1]胡玉波,喻寿益,基于PIC单片机的智能深度检测系统[J],仪器仪表应用,2006,8:113・115
[2]陈黎卿,任淼,基于VC的PIC单片机与PC机的接口设计[J],机电工程,2007,12(24):82-84