单片机控制的直流斩波器设计(编辑修改稿)内容摘要:
,但它有损于液晶屏的寿命。 1 VSS 电源地端 2 VDD 电源+ 5V 端 3 VEE 液晶显示器对比度调整端 4 RS 寄存器选择,高选数据寄存器、低选指令寄存器 5 R/W 读写信号,高为读、低为写 6 E 使能端,高电平跳变为低电平时有效 7~ 14 D0~ D7 双向数据口 1 16 LED+、 LED 调节液晶背光 郑州大学 本科毕业论文 9 123456A B C D654321DCBATitleNumberRevisionSizeBDate:1May2010 Sheet of File:D:\PROGRAM FILES\EXAMPLES\BACKUP~11.DDBDrawn By:V C C5 VRSRWED0D1D2D3V C C5 VS1K1S2K2S3K3S4K4S7k7S5K5S8K8S6K6S9K9R2410KR254.7KR262.2KV C C5 VR2720KR2810KR2920KR30K30KAnJianG N D1V C C2VO 3RS 4RW 5E6D B 07D B 18D B 29D B 3 10D B 4 11D B 5 12D B 6 13D B 7 14BG V C C15BG G N D16LCD 1602U4LCD1602 图 28 1602 与单片机引脚连接图 郑州大学 本科毕业论文 1 第三 章 系统软件设计 单片机传统的开发语言是汇编语言,因为汇编语 言是最接近机器码的一种语言。 其主要优点是占用资源少、程序执行效率高。 但是不同的 CPU,其汇编语言可能有所差异,所以不易移植。 作为一种结构化的程序设计语言, C 语言的特点就是可以使你尽量少地对硬件进行操作,具有很强的功能性、结构性和可移植性,因此常常被优选作为单片机系统的编程语言。 用 C 编写程序比汇编更符合人们的思考习惯,开发者可以摆脱与硬件无必要的接触,更专心的考虑功能和算法而不是考虑一些细节问题,这样就减少了开发和调试的时间。 C 语言具有良好的程序结构 ,适用于模块化程序设计,因此采用 C 语言设计单片机应用系统程 序时,首先要尽可能地采用结构化的程序设计方法,将功能模块化,由不同的模块完成不同的功能,这样可使整个应用系统程序结构清晰,易于调试和维护。 不同的功能模块,分别指定相应的入口参数和出口参数,对于一些要重复调用的程序一般把其编成函数,这样可以减少程序代码的长度,又便于整个程序的管理,还可增强可读性和移植性。 综上, C 语言具有很强的功能性和结构性,可以缩短单片机控制系统的开发周期,而且易于调试和维护,已经成为目前单片机语言中最流行的编程语言。 本程序设计正是将每一功能模块化,一个一个模块进行 C 语言的编写, 再一块一块调试,从整个设计下来的结果看,用 C 语言编写程序达到了很好的效果。 本设计使用单片机对开关电源进行数字的控制,代替原来的 PWM 控制芯片 KA7500[9]。 原先的 KA7500 所实现的功能是对输出的电压以及电流进郑州大学 本科毕业论文 2 行反馈采样,通过误差放大器之后对输出的 PWM波的占空比进行相应的调节,起到了稳压恒流的作用。 改用 PIC18F4520 后,采取双通道 A/D 采样,分别为电压采样和电流的采样,转换为相应之后进行 PID( Proportional Integral Differential)算法 ,同样起到了稳压恒流的作用。 同时外围增设键盘和 LCD显示电路,对输出的电压和电流有实时的控制和监测。 本章将对整个软件部分的设计思路及其具体实现进行阐述。 软件设计总体思路 本系统的软件主要有主程序模块、中断服务程序模块组成。 其中,主程序模块主要完成系统的初始化模块、 PWM 波发生模块、 ADC 信号采集模块以及 PID 算法处理模块、键盘以及 LCD 显示模块。 中断服务程序主要完成 TMR0 定时 10ms 和 A/D 模块的数据采集滤波处理功能。 系统主程序模块 主程序模块的程序框图如图 31 所示。 郑州大学 本科毕业论文 3 图 31 主 程序框图 始初化模块 主程序中的初始化模块主要完成系统全局变量的初始化、 ECCP 模块的初始化、 A/D 转化的初始化、 LCD 显示的初始化、 TMR0 定时器的初始化和 CPU 中断系统的初始化。 初始化模块的程序框图如图 32 所示。 ECCP模块的初始化将设置有两路互补推挽输出的 PWM波, A/D转化初始化将 A/D模块初始化为 10 位的 A/D 转换, TMR0 初始化完成每 10ms 采样一次电压及电流值。 图 32 初始化模块框图 PWM 波发生模块 在 PIC18F4520 中 ,CCP1模块为带有增强的 PWM功能的标准 CCP模块 [10]。 这些增强的功能包括提供 2路或 4路输出通道、用户可选的极性(高电平有效或低电平有效)、死区控制以及自动关闭和重启。 因此,增强型 PWM 模式提供了更多的 PWM 输出选项以适应范围更广的控制应用。 图 33所示为 PWM操作的简化框图。 所有的控制寄存器都是双重缓冲郑州大学 本科毕业论文 4 的,并且在一个新的 PWM周期 的开始时刻( Timer2复位时的周期边界)被装载以防止在任何输出上出现毛刺。 但 PWM延迟寄存器 PWM1CON例外,该寄存器在占空比边界或周期边界(选择两者中首先出现的那个)被装载。 由于缓冲,模块将不会立即启动,而要等到分配的定时器复位为止。 这意味着增强型 PWM 波形并不完全与标准的 PWM 波形吻合,而是偏移一个完整的指令周期( 4TOSC) [11]。 图 33 增强型 PWM 模式工作原理示意图 每个增强型 CCP模块至多有 4路 PWM 输出,这取决于选定的操作模式。 这些输出, P1A至 P1D,与 PORTC和 PORTD上的 I/O引脚复用。 输出是否有效取决于选定的 CCP操作模式。 因此,若想要单片机工作于半桥输出的增强型的 PWM模式,必须按照以下几个步骤: (1) 通过分别设置 CCP1CON寄存器的 P1M1:P1M0 和 CCP1M3:CCP1M0 位可配置模块的输出模式和极性。 如图 34所示为 CCP1CON寄存器各配置位。 郑州大学 本科毕业论文 5 图 34 CCP1CON寄存器配置位 由于本设计中为两路互补推挽的 PWM波输出 ,所以设置 P1M1:P1M0=10,即半桥输出: P1A和 P1B为带死区控制的调制输出; P1C和 P1D被指定为端口引脚。 同时设置 CCP1M3:CCP1M0=1100,使 P1A和 P1B都为高电平有效。 (2) 使 P1A和 P1B都为输出模式,即配置 TRISC和 TRISD的相应引脚为 0。 (3) 设置 PWM波的周期。 PWM 周期可以通过写 PR2寄存器来指定。 用以下公式来计算 PWM周期。 PWM周期 =[(PR2)+1]4T OSC(TMR2 预分频值 ) 根据本系统所需 PWM波的实际情况,原先的 PWM控制芯片所产生的 PWM波的频率要求为 25kHz,即周期为 410 5s。 而单片机外部的振荡器为16MHz, TOSC=1/1610 6s,经计算的 PR2=159。 (4) 设置 PWM波的占空比。 通过写 CCPR1L寄存器和 CCP1CON5:4位来指定 PWM占空比。 最高分辨率可达 10位。 CCPR1L包含占空比的高 8位,而CCP1CON5:4包含低 2位。 由 CCPR1L:CCP1CON5:4 表示完整的 10位值。 计算占空比的公式如下: PWM占空比 =(CCPR1L:CCP1CON5:4)T OSC(TMR2 预分频值 ) 可以在任何时候写入 CCPR1L和 CCP1CON5:4,但是在 PR2和 TMR2发生匹配(即周期结束)前占空比值不会被锁存到 CCPR1H中。 在 PWM模式中,CCPR1H 是只读寄存器。 CCPR1H寄存器和一个 2位的内部锁存器用于给 PWM占空比提供双重缓冲。 这种双重缓冲结构非常重要,可以避免在 PWM工作过程中产生毛刺。 同样根据本系统所需 PWM 波的实际情况, PWM 的占空比在 25%左右。 郑州大学 本科毕业论文 6 所以需要配置 CCPR1L 和 CCP1CON5:4,经计算得 CCPR1L=0X28,同时CCP1CON5:4=00。 (5) 设置死区延时。 在半桥输出模式下,两个引脚用作输出端来驱动推挽式负载。 PWM 输出信号在 P1A引脚上输出,而互补的 PWM输出信号在P1B引脚上输出。 如图 35所示。 图 35 半桥 PWM 波输出波形示意图 在半桥应用中,模块在所有时间以 PWM频率的调制信号驱动电源开关,关闭电源开关通常比打开它需要更多的时间。 如果上方的电源和下方的电源开关同时切换(一个打开,另一个关闭),两个开关可能会在一段很短的时间内都处于打 开状态,直到一个开关完全关闭为止。 在这很短的间隔内,很大的电流(直通电流)可能流过两个电源开关,从而导致半桥供电电源短路。 为了避免在切换期间流过这种潜在的破坏性直通电流,一般延迟打开其中的一个开关等待另一个开关完全关闭。 在半桥输出模式下,可编程的死区延迟可用来避免直通电流破坏构成半桥的电子开关。 该延迟在信号从非有效状态到有效状态转换时发生。 PWM1CON 寄存器(如图36所示)中的 PDC6:PDC0位根据单片机指令周期设置延迟时间( TCY或 4个郑州大学 本科毕业论文 7 TOSC) [13]。 图 36 PWM1CON寄存器 其中 bit6bit0 为 PWM 延迟计数位,延迟时间为 PWM 信号变为有效的预计时间和实际时间之差,其单位为 FOSC/4( 4T OSC)周期 [14]。 根据本设计的情况,设定延时时间为占空比时间的 5%,即 510 7s,故对 PWM1CON 寄存器赋值为 0x84。 A/D 转换模块 在本系统中需要对电压和电流进行相应的 A/D 转换,硬件电路的设计已经在前一章进行了较为详细的描述,在此不再赘述。 这一小节主要介绍PIC 单片机中的 A/D 转换的 原理以及在本实验中所需要用到 A/D 转换功能的程序设计。 PIC 单片机中的 A/D 转换模块 [15]如图 37所示。 可用软件选择模拟参考电压为器件的正电源电压和负电源电压( VDD和 VSS)或 RA3/AN3/VREF+引脚和 RA2/AN2/VREF/CVREF引脚上的电平。 A/D转换器具有可在休眠模式下工作的特性。 要使 A/D转换器在休眠状态下工作, A/D转换时钟必须来自于 A/D 模块内部的 RC振荡器。 采样保持电路 [16]的输出是转换器的输入,转换器采用逐次逼近法得到转换结果。 器件复位操 作将强制所有寄存器进入复位状态,这将迫使 A/D模块关闭并中止正在进行的转换。 可以将每个与 A/D转换器相关的端口引脚配置为模拟输入或数字 I/O。 ADRESH和 ADRESL寄存器保存 A/D转换的结果。 当 A/D转换完成之后,转换结果被装入 ADRESH:ADRESL寄存器对,GO/DONE位( ADCON0寄存器)被清零且 A/D中断标志位 ADIF被置 1。 上电复位时, ADRESH:ADRESL寄存器中的值保持不变。 上电复位后, ADRESH:ADRESL郑州大学 本科毕业论文 8 寄存器中的值不确定。 在根据需要配置好 A/D模块之后,必须在转换开始之前对选定的通道进行采样。 必须将模拟输入通道相应的 TRIS位选择为输入。 采集时间一结束,即可启动 A/D转换。 可将采集时间编程设定在 GO/DONE位置 1和实际转换启动之间。 图。单片机控制的直流斩波器设计(编辑修改稿)
相关推荐
电后中断可唤醒 l 看门狗定时器 1双数据指针 l掉电标识符 功能特性描述: AT89S52 是一 种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。 使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。 片上 Flash 允许程序存储器在系统可编程,亦适于常规程器。 在单芯片上,拥有灵巧的 8 位 CPU
ectrical machine ring should match close, fasten tasseled phase can be to get very wide frequency band, because of the fast speed ring should be good, dynamic configuration sexual can perturbation
的最底端,另四条分别放置 在水塔内不同高度如图 35 所示。 图 35 传感器连接示意图 吉林工业职业技术 学院论文 15 此原理的电路设计比脉冲调制 式红外发射接收器 结构简单,方便。 此电路的灵敏度可以达到本设计的要求,能够准确地分辨出有水信号和无水信号不用调试便可很方便的使用。 由此可知,这种设计方案简单实用,元器件选用方便,费用低。 此电路无需调试,解决了第一种方案中调试繁琐
8位双向 I/O口, P2口缓冲器可接收,输出 4TTL门电流,当 P2口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时, P2口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。 P2口当用于外部程序存储器或 16位地址外部数据存储器进行存取时, P2口输出地址的高八位。 在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,
=1225r\min 确定电机型号 ( P167181)确定电机型号为 Y90s4 安装形式为 B3 型。 5 传动机构的设计 传动机构主要由电机、皮带轮、蜗轮蜗杆减速器、轮盘、气缸组成。 轮盘的旋转由电机控制,采用两级减速,气缸驱动卡爪实现抓紧和松开动作。 传动路线如图: 7 图 3 总传动路线图 Fig 3 total transmission map 计算传动装置总传动比和分配各级传动比
20 φ 19012020 28 单回 10KV 永阳线与10KV 阳城 I线联络线 新建 10KV 阳城 I 回线 42杆 10KV 永阳线 34杆 JKLYJ150 φ 19012020 4 单回 10KV 永阳线与10KV 永城 I回环城路支线联络线 新建 10KV 永城 I 回环城路支线粮食局配变 10KV 永阳线 3杆 JKLYJ150 φ 19012020 1 单回 建设期限为 XX