基于stc89c52rc单片机的数控直流稳压电源的设计论文内容摘要:

/ CHS0:模拟输入通道选择, CHS2 / CHS1 / CHS0 ADC_START: 模数转换器 (ADC)转换启动控制位,设置为 “1” 时,开始转换 ,转换结束后为 0。 ADC_FLAG: 模数转换器转换结束标志位 ,当 A/D 转换完成后, ADC_FLAG = 1,要由软件清 0。 不管是 A/D 转换完成后由该位申请产生中断,还是由软件查询该标志位 A/D 转换是否结束 , 当 A/D 转换完成后, ADC_FLAG = 1,一定要软件清 0。 SPEED1, SPEED0:模数转换器转换速度控制位 ADC_POWER: ADC 电源控制位。 0:关闭 ADC 电源; 1:打开 A/D 转换器电源 .建议进入空闲模式前,将 ADC 电源关闭, ADC_POWER = AD 转换前一定要确认 AD 电源已打开, AD 转换结束后关闭 AD 电源可降低功耗,也可不关闭。 初次打开内部 A/D 转换模拟电源,需适当延时, 等内部模拟电源稳定后,再启动A/D 转换 , 议启动 A/D 转换后,在 A/D 转换结束之前,不改变任何 I/O 口的状态,有利于高精度 A/D 转换 ADC_DATA / ADC_LOW2 特殊功能寄存器 : A/D 转换结果特殊功能寄存器 模拟 /数字转换结果计算公式如下:结果 ( ADC_DATA[7:0],ADC_LOW2[1:0] ) = 1024 x Vin / Vcc Vin 为模拟输入通道输入电压, Vcc 为单片机实际工作电压,用单片机工作电压作为模拟参考电压。 取 ADC_DATA 的 8 位为 ADC 转换的高 8位 ,取 ADC_LOW2的低 2位为 ADC转换的低 2 位 ,则为 10 位精度。 如果舍弃 ADC_LOW2 的低 2位 ,只用 ADC_DATA寄存器的 8位 ,则A/D 转换结果为 8 位精度。 结果 ADC_DATA[7:0] = 256 x Vin / Vcc STC12C2052AD 系列单片机 A/D 转换精度只有 8 位,固无 ADC_LOW2 寄存器。 A/D 转换模块的参考电压源 STC12C5410AD 和 STC12C2052AD 系列单片机的参考电压源是输入工作电压 Vcc,所以一般不用外接参考电压源。 如 7805 的输出电压是 5V,但实际电压可能 是 到 ,用户需要精度比较高的话,可在出厂时将实际测出的工作电压值记录在单片机内部的 EEPROM 里面,以供计算。 如果有些用户的 Vcc 不固定,如电池供电,电池电压在 之间漂移,则 Vcc 不固定,就需要在 8路 A/D 转换的一个通道外接一个稳定的参考电压源,来计算出此时的工作电压 Vcc,再计算出其他几路 A/D 转换通道的电压。 如可在 ADC 转换通道的第七通道外接一个 (或 1V,或...)的基准参考电压源,由此求出此时的工作电压 Vcc,再计算出其它几路 A/D 转换通道的电压。 单元电路设计 利用 PWM 实现 D/A 功能的应用电路图 PWM 输出相当于 DAC0832 八位集成 D/A 转换器。 D/A 转换部分的输出电压作为稳压输出电路的参考电压。 稳压输出电路的输出与参考电压成比例。 8 位字长的 D/A 转换器具有 256种状态。 当电压控制字从 0, 1, 2,„„到 256 时,电源输出电压为 , ,„„。 每路电压输出值的计算:0 2256dat aV REF   REF 为参考电压, data 为输入 8 位的比特数据;我们这里用的 REF=5v。 A/D 转换应用线路,按键扫描 如上图所示键盘电路通过分压电路,第一个按键所得电压为 1/2Vcc,第二个按键分压2/3Vcc,第三个按键分压 3/4 Vcc,第四个按键分压 4/5 Vcc,那么利用单片机的 口对按键电压进行采样,再对键盘电压对键盘的按下与否进行判断处理。 AD 采样电路和 数字电压表 考虑到单片机的内部处理功能,可通过 STC 芯片的 AD 转换器增加数字电压表功能。 即由单片机的 口对电压进行采样,通过设置 ADC_CONTR 特殊功能寄存器 ,启动以及停止 AD转换。 然后读取寄存器 ADC_DATA / ADC_LOW2 ( A/D 转换结果特殊功能寄存器 )的值最后通过单片机将十六进制数转换为 ASCII 码利用液晶显示模块显示。 因此将输出电压直接送回单片机进行 AD 采样,显示即实现了监测输出电压值的功能。 另外由于可以采样得到输出电压,那么可以校准输出电压和预置电压,使输出电压值更为精确。 AD 采样电路 电压放大电路 运算放大器通常都是工作在闭环状态.将运算放大器的放大电路接上一定的反馈电路和外接元件,就可以实现各种数学运算.运算放大器反馈电路有各种形式,不同的反馈电路和不同的输入方式可以组成各种不同用咖运算放大电路. 图 5. 14 是输入信号加在反相输入端的比例运算电路.其中 R1 为输入端电阻, Rf 为反馈电阻,它以并联负反馈的方式将输出电压反馈到反相输入端,为了在输入信号 Ui= 0 时, 输出 U0= o,电阻的选择应满足 R2= R1// Rf.这样可保证运算放大器的反相输入端与同相输入端的外接电阻相等,使其处于对称平衡状态,以消除运算放大器的偏置电流对输出电压的影响,因此,称 R2 为平衡电阻. 由理想运放的两条重要结论可知, Ii≈ 0,U+≈ U。 通过 R1 的电流 I1,即: If=I1 又由于运放的通向输入端接地, U+=0,所以可得 U+≈ U,也就是说,当同相端接地, U+=0 时反相输入端电位 U≈ 0,它是一个不接地的“地”,称为“虚地”。 “虚地”的存在是运算电路在闭环工作状态下的一个重要特征。 由图 可得 因为 I1≈ If,所以可得 闭环电压放大倍数则为 上式表明,该电路的输出电压与输入电压之比仅由电阻 RF 与 R1 的比值决定,而与集成运放本身的参数无关.式中的负号表示输出电压与输入电压反相,因而称为反相比例运算放大 电路。 当 R1= RF 时, U0= Ui,反相输入比例运算电路就成了反相器. 那么此电路利用 PWM 模拟电压输出,后通过二次滤波,经过 OP27 放大电压后,电压为原来的两倍,即由原来的 0~5v 放大为 0~10v 变化。 接法如下: 显示电路设计: 数控电源的数据显示采用 LCD 液晶显示: 即用单片机的 P2 口输出,利用液晶显示模块,电路如下图所示: 第四章 软件部分 软件设计说明: 控制程序使用 C51 编写,在 KEIL C 平台下编译通过,运用 STC 软件将程序下载到芯片。 当按键按下,可进行电压调整,可调节电压 1v,调节电压以步进。 在按键加减的过程中, LCD 模块显示的电压随着上下变化,当按键不动作后,将单片机的 PWM 模拟输出电压经二次滤波电路输出,经线性,放大得到与显示电压值相同的电压。 同时将输出电压接至单片机的 口可监测输出电压值,可进行预置值与测量值的比较。 另外将 AD 采样口独立出来可以实现数字电压表的测量功能。 程序设计 流程图 设计流程图分为三大部分,即主程序流程图,键盘扫描流程图,键盘控制流程图。 主程序流程图: 键盘扫描流程图: 键盘控制流程图: 设计源程序 见附页 第五章 硬件调试 制版 电路原理图见附录 1,元件清单见附录 2。 开始 初始化:定时器初始化, AD 初始化 PWM 初值设定 等待中断 PWM 输出 PCB 图如下图所示 按照 PCB 图将元件焊接至铜板上,焊接时注意是否虚焊。 调试 准备就绪后,将变压器通电,开始进行测试,检测它们是否达到设计要求。 检查的项目包括输出电压范围,在整个输出电压范围内的步进调整值,输出电压与预置电压是否匹配和数字电压表功能的精准度。 数控电源系统的供电由直流稳压电源提供,由硬件电路的正负15V 电源, 5V 电源提供。 排除故障: 在测试调试的过程中要排除障碍,刚开始液显不能正常工作,检查是否上电,调节电位器,看背光灯是否变化,没有变化则应检查单片机的输出口是否与液显正确连接 ,用万用表排查虚焊。 当检查硬件没有问题之后,再进行测试,当还是无法达到要求工作时,那么就是程序问题。 根据流程图修改程序,在 KEIL 软件中编译无错后再下载至再次进行调试检测。 电压测试: 预置电压值 /v 显示电压值 /v 监测电压值 /v 绝对误差 /% 相对误差 /% 电压表测试: 被测电 压 /v 实际测量值 /v 绝对误差 /% 相对误差 /% 以上为电压测试结果,由于 PWM 的分辨率为 ,所以其误差范围可以限制在 0~左右, 在这个范围内产生误差是允许的。 因此监测电压与输出电压基本一致。 因为 PWM 输出为八位,分辨率 =PWM 占空比 /250,那么当站空比值变化 1 时,其电压变化为 ,后运放将电压放大变化。 所以可达到电压变化精度为。 用单片机控制电源时,输出直流 010V,液晶显示器显示清晰正确,误差极小,完美的实现了数控恒压源这。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。