基于cortex-m3的高效数控恒流源设计毕业设计内容摘要:
m3[6]为主控器,并选择 Stellaris Cortexm3 中的 LM3S615 芯片。 C6 20PFC7 20P12Y16M/8MR12C522US1R111KADC1ADC0PB4 PB5 PB6 PB7 PC0/TCK PC1/TMS PC2/TDI PC3/TDOGNDGNDGND105C4GNDGNDGNDGNDLDORSTOSC0OSC1C8104C9104C10104C11104GNDOSC1OSC0RSTLDOADC01ADC12PE3/CCP13PE2/CCP44RST5LDO6VDD7GND8OSC09OSC110PC7/C211PC6/CCP3/C2+12PC5/C1o/C1+13PC4/CCP514VDD15GND16PA0/U0Rx17PA1/U0Tx18PA2/SSIClk19PA3/SSIFss20PA4/SSIRx21PA5/SSITx22VDD23GND24PWM0/PD025PWM1/PD126U1Rx/PD227U1Tx/PD328PWM2/PB029PWM3/PB130GND31VDD32I2CSCL/PB233I2CSDA/PB334PWM4/PE035PWM5/PE136SWO/TDO/PC337TDI/PC238SWDIO/TMS/PC139SWCLK/TCK/PC040TRST/PB741C0+PB642C1/PB543C0/PB444CCP0/PD445CCP2/PD546Fault/PD647C0o/PD748U2LM3S615PWM0PWM1PWM4PWM5PB0PB1PB2PB3PA0 PA1 PA2PC4PC5PC6PC7PD4PD5PD6PD7R151KR14 10KPE3PE3CONTRO12CON25VVCCGND 图 lm3s615 最小系统 如图 所示,最小系统包括晶 振部分, LM3S615 芯片,复位部分。 最小系统几部份都完整了才能正常工作。 DCDC 核心 如图 [13], 开关管导通,电感电流 iLf 由零增加到最大值 ILfmax;开关管 V关断,二极管 D 续流,电感电流 iLf 从 ILfmax 降到零;开关管 V和二极管 D 都关断(截止),在此期间电感电流 iLf 保持为零,负载由输出 滤波电容 Cf 来供电。 高效数控恒流电源 9 图 DCDC 工作 如图 , 开关管导通,电感电流 iLf 由零增加到最大值 ILfmax;开关管 V 关断,二极管 D 续流,电感电流 iLf 从 ILfmax 降到零;开关管 V和二极管 D 都关断(截止),在此期间电感电流 iLf 保持为零,负载由输出 滤波电容 Cf 来供电。 L1VLF12060T680M2R3C1470uF/35V(YXF)C4104D1SK56D2SK56D2G1S3Q1IRF3205 图 DCDC 核心 如图 ,是本系统 DCDC 核心部分。 (1) 从电路可以看出,电感 L1 和电容 C C4 组成低通滤波器,此滤波器设计的原则是使 us(t)的直流分量可以通过,而抑制 us(t) 的谐波分量通过;电容上输出电压 uo(t)就是 us(t) 的直流分量再附加微小纹波 uripple(t)。 L1 的确定上有一定要求,如公式( 1), Vi 为输入的电压,在本系统中, Vi=8~20V。 Vsat 为漏源极电压, Vo 为输出电压, Vo=10V, Ipk 取两倍的 Vo。 L= (Vi Vsat Vo)ton / Ipk (Ipk = 2Vomax,Vsat = Vds) 经过计算和实际测量, L1 = 289uH。 (2) 电路工作频率很高, 在本系统中使用 20KHz 的频率, 一个开关周期内电容充放电引起的纹波 Uripple(t) 很小,相对于电容上输出的直流电压 Uo 有: |Uripple|max Uo 10 电容上电压宏观上可以看作恒定。 电路稳态工作时,输出电容上电压由微小的纹波和较大的直流分量组成,宏观上可以看作是恒定 直流。 驱动部分 如图 , PWM 信号通过施密特反相器 74LS14[1]两次整形,得到同相的 5V 的 PWM 信号,去推动 IR2101,通过 IR2101 得到了 10V— 15V的 PWM 驱动信号, PWM信号可以直接驱动 MOSFET。 图 IR2101 驱动 高效数控恒流电源 11 采样 R515k*(%)R8100K*(%)R6*(%)/1W567U1BOPA2365R710K*(%)AVCC5Voltage12BAT_132184U1AOPA2365R4100k*(%)R315k*(%)R1100k*(%)CurrentC6104C5103C2103C3104CC104 图 输出采样 如图 , U1 选 PA2365AID,内部有两个高速高精度运放, U1A 用于输出电压采样,因为输出端 BAT_1 的电压最大值为 11V, OPA2365 是 5V供电,但是 LM3S615 内的 10Bit ADC 参考电压为 ,所以选择 R R4 为 100K,而 R R3 为 15K,这样有利于单片机进行电压数据采集,而 U1B 是对采样电阻 R6 上的电压进行采集,再转换成电流信号,电阻 R6 为 ,在电流为 200mA 时,电压为 ,信号太弱,所以放大10 倍后再进行 ADC 采样。 软件设计 本软件系统使用定时器和中断模拟高效实时多任务系统,提高单片机的作用效率。 在整个系统工作过程中,使用三个任务进行整个系统控制。 12 图 主程序流程图 开始 设置系统时钟 初始化 LCD 初始化 LED 初始化 KEY 初始化PWM 初始化 ADC 硬件检测 初始化 Tick 显示当前电流电压和设定值 主循环 开系统总中断 高效数控恒流电源 13 主程 序流程图,主程序相当于一个任务,只用于显示当前电压电流和设定值等相关信息,这些信息通过全局变量进行控制,使用下面的各个中断都能使用,让程序联系更紧密。 图 ADC 中断服务子程序 ADC0_ISR 开始 清除 ADC 中断标志 获取 ADC 采样值 计算电流电压压 判断电流与设定值的大小,大于设定值减小占空比,小于设定值增大占空比。 中断返回 调整后占空比输出 是否过压 否 是 LED 报警 设电流为 是否过流 否 是 LED 报警 设电流为 14 ADC 中断服务程序用于获取 ADC 采样值,并进行计算。 将计算的电流电压与设定值进行比较,根据具体情况进行报警、调整占空比。 由于 ADC 采频率很高,对于本设计选用的芯片,可以达到 1M,这样的速度对于电流比较控制输出已经足够。 ADC 中断服务程序相当于一个任务,主要进行 ADC 采 样和计算,从而调整输出占空比。 图 定时器 tcik 中断服务子程序 Tick 中断服务程序用于获取按键值,进行控制设定值和复位。 复位按键主要对过流、过压、开路保护进行复位。 本中断服务程序相当一个任务,主要进行按键控制,对于不同功能按键进行对应功能处理。 这样比传统的按键扫描具有更多优势,比如,可以按住“ +”键,就可以自动上调。 在本设计中,按键具有自动扫描、定时控制的特点,与其它两个任务并行,减少内核开销。 软件系统使用各种中断模拟高效实时系统,在单片机开始运行时,先进行硬件初始化并启动任务。 初始化 LCD,让 LCD 开始工作;初始化 LED,让 LED 可以正确的进Tick_ISR 开始 检测按键 KEY1 中断返回 调整设定值输出 KEY2 KEY3 KEY4 设定值 +步进 设定值 步进 复位 步进值设定 高效数控恒流电源 15 行报警;初始化按键,让按键可以使用;初始化 PWM, PWM 开始输出,去控制开关管,并为开路检测提供电源;初始化 ADC,开中断,让 ADC 开始采样,并提供反馈数字量;硬件检测 PWM, ADC 输出,开路检测; Tick 定时器并开中断,用与键盘扫描。 单片机进入死循环,显示输出瞬时电压电流值,同时另外两个任务并行运行, ADC 一直工作,采集数据并反馈调节输入电流; Tick 定时器也一直工作,为键盘扫描提供时间间隔。 硬件初始化 这部分主要进行单片机内部资源初始化 和开机检测。 Stellaris Cortexm3单片机开始运行时,内部资源都要先使能,所以单片机开始运行时,硬件初始化是必要的。 看下面程序源码: void InitHardware(void) { Lcd_init()。 InitLed()。 InitKey()。 InitPWM()。 InitADC()。 HardTest()。 InitTick()。 } 这段程序是用于对单片机硬件初始化和开机检测,开机主要检测 PWM, ADC 输出,开路检测;并在 LED 上显示相关警报,并关断 PWM,无电流 输出,只有加上负载后,按电源复位键才能让恒流源正常工作。 ADC控制 在硬件初始化之后, ADC 模块开始工作,并实时对电压电流进行采样,与设定的输出电流比较,从而去控制 PWM,稳定电流输出 [10]。 同时在 ADC 中断服务程序中还进行电压电流保护,如 图。 程序见 附录二(部分程序源码)。 16 Tick 中断函数 在硬件初始化之后, Tick 中断服务程序主要进行键盘扫描,设定输出电流,步进可以调节,最小步进为 10mA。 并调整 PWM 的占空比,从而控制输出电流。 程序见附录二(部分程序源码 ),在整个软件系统中,使用 ADC 和 tick 的中断服务程序进行多任务模拟,进行并行执行,整个过程使用 PWMPulseWidthSet()设置 PWM输出,从而自动的稳定输出电流。 系统仿真 图 DCDC 控制 matlab 仿真 如图 ,为 DCDC 的控制仿真图 [9], 20V DC 电源通过理想的开关进行控制,理想开关通过 PWM 控制,控制波形如下图 所示。 高效数控恒流电源 17 图 PWM 控制波形 通过虚拟示波器可以看出电流波形如下图 所示: 图 电流波形 通过虚拟示波器 可以看出电压波形如下图 所示: 18 图 电压波形 在同一个虚拟示波器下观察波形如下图 所示: 图 DCDC 波形 从上面的图中可以看出,恒流源基本实现,但是为了能自动跟踪用户输入信号进行自动输出需要电流。 需要进行近一步修改: 高效数控恒流电源 19 图 DCDC 自动控制 matlab 仿真 图 DCDC 自动控制 PWM 波形 20 图 恒流源设计 可以看出电流可以根据用户需要进行自动调节,对于上面这个 PWM 产生过程中,实际是在 Stellaris Cortexm3 处理器中进行计算比较输出相关占空比的 PWM。 第四章 系统测试 输出电流测试 ❶ 测试条件: 负载为 5Ω; Ui=15V。 ❷ 测试仪器: UNIT 万用表 3 个; 1~5 , 30W 功率滑动变组器; GPSX303C 系列电源; DS1102E 示波器。 ❸ 测试方法: 给电流源上电,通过按键设定输出电流值,电流源自身检测到实际输出电流值以及通过外部电流表测量的电流值。 高效数控恒流电源 21 ❹ 测试数据: 表 输出电流测试 键盘设定值 /mA 显示输出电流 /mA 万用表测量值 /A 2100 2100 2020 2020 1500 1500 1000 1000 800 800 200 200 100 100 ❺ 结果分析: 从表 可以看出。基于cortex-m3的高效数控恒流源设计毕业设计
相关推荐
数字逻辑系统的计算机语言。 它可以使数字逻辑电路设计者用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,利用这种语言来描述自己的设计思想,然后利用 EDA 工具进行仿真,自动综合到门级电路,再用 ASIC 或 CPLD/FPGA实现其功能。 目前这种称之为高层设计的方法已被广泛采用。 据统计,在美国硅谷目前约有 80%的 ASIC 和 FPGA/CPLD 使采用 HDL 方法设计的。
代表阶级 共同点 小农经济 (落后性 ) (不符合历史发展趋势 ) 资本主义工商业 (进步性 ) (符合历史发展趋势 ) 公有制 ,平均主义 (空想性 ) 反映农民愿望 不能反映农民愿望 私有制 (现实性 ) ① 都具有反封建性;②都是纲领性文件; ③都未能真正实施 ★ 结论 : ② 从经济主张上看,后者是对前者的否定。 ① 从社会发展角度看 ,《 天 》 不符合历史发展趋势, 而 《 资 》
太原理工大学毕业设计 (论文 )用纸 3 2 开发环境概述 Java 语言 Java 是一种可以撰写的跨平台的应用软件的面向对象的程序设计的语言。 Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于数据中心、 PC、游戏控制台、移动电话和互联网、科学超级计算机,同时拥有全球最大的开发者专业社群。 Java 由四方面组成: ● Java 编程语言,即语法。 ● Java
EN 有效。 但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1时, /EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 MAX232
)。 VBA (Visual Basic for Applications) is a subset of Visual Basic, VBA is hosted in applications such as Word, Excel or CATIA. It provides a plete environment with an Editor, a debugger, a Help
的数据传输,从而最终达到流量数据在显示单元的显示的目 的。 第二章 涡轮流量计的设计原理 涡轮流量计的基本工作原理 涡轮传感器的工作原理是当流体沿着管道的轴线方向流动,并冲击涡轮叶片时,便有与流量 Q流速 V 和流体密度 P 乘积成比例的力作用在叶片上,推动涡轮旋转。 在涡轮旋转的同时,叶片周期性地切割电磁铁产生的磁力线改变线圈的磁通量。 根据电磁感应原理,在线圈内将感应出脉动的电势信号