以C8051FF330D单片机为控制核心的可编程恒流源控制器设计

发布时间:2024-01-12  

引言

在飞速发展的电子和电信技术系统中, 电源的优劣在一定程度上决定着电信设备的性能和寿命。因此, 人们对程控恒流器件的需求也日益迫切。虽然目前市场上的数控恒压技术已经比较成熟, 数控电压源产品也已朝着智能化和小型化的趋势发展, 且价格也越来越便宜。但是, 在恒流源方面, 尤其是数字控制的恒流技术则由于起步较晚, 高性能的数控恒流器件的开发和应用存在着巨大的发展空间。为此, 本文以C8051FF330D单片机为控制核心, 并利用C8051FF330D的I2C串行总线扩展外围器件, 同时以模块化设计方法,设计了一种程控恒流源。而且整个电源还具有功耗低、体积小, 电流纹波小、控制精度高和运行稳定等特点。


1 系统总体结构

该程控恒流源设计主要采用C8051FF330D单片机内部的10位电流型数模转换器和电流/电压转换电路来输出0~4 V的模拟量, 然后用这个电压信号来控制恒流源的输出电流, 以使其按照给定值变化。由于本系统扩展了I2C串行总线接口,以及以ZLG7290为核心的键盘和LED数码管显示器电路, 因而可用键盘进行电流值和时间间隔的设定, 其电流值设定范围为0~10 A, 时间间隔为0~10小时。另外, 系统还具有掉电保护功能, 故当其恢复用电后, 可使电流源从断点处恢复运行。


图1所示是本系统的硬件组成结构。其中,时钟电路采用外部晶体振荡器来提高时钟精度,JTAG接口电路则为系统提供全速、非侵入式的在线系统调试接口, 而外部复位电路可用于强制MCU进入复位状态。

以C8051FF330D单片机为控制核心的可编程恒流源控制器设计

图1 系统硬件组成结构图

2 硬件电路设计

2.1 模拟量输出接口电路

C8051F330D内部有一个10位电流型的D/A转换器IDA0, 它的最大输出电流具有0.5 mA、1 mA和2 mA三种不同的设置。同时, IDA0还具有灵活的输出更新机制, 并允许无缝满度变化, 可支持无抖动波形更新。IDA0的三种更新方式分别为写IDA0H、定时器溢出和外部引脚边沿出发。本设计采用P1.0输出, 并采用定时器溢出的更新方式。

C8051F330D内部电路中的数模转换器输出的0~1 mA电流信号通过基准电阻转换为0~2 V的电压信号后, 再经过放大电路转换为0~4 V的标准信号输出。其模拟量输出信号转换电路如图2所示。

以C8051FF330D单片机为控制核心的可编程恒流源控制器设计

图2 模拟量输出信号转换电路

2.2 掉电保护电路

在电信和其他通信系统中, 如果设备断电,将给系统造成巨大损失, 甚至可能使系统瘫痪。

为了避免系统掉电情况的发生, 本设计采用FM24CL04作为非易失存储器来保护系统参数及其它中间数据。与EEPROM不同, FM24CL04可以以总线速度进行写操作, 它使用的是工业标准两线I2C接口, 图3所示是本电源系统附带的掉电数据保护电路。

以C8051FF330D单片机为控制核心的可编程恒流源控制器设计

图3 掉电数据保护电路

由于FM24CL04存储器的写入速度极快, 因此, 在一个高噪声的通信环境中, 它受到干扰的可能性很小。此外, FM24CL04使用二线制串行总线及握手协议来进行双向传输, 由于这种方式占用的引脚少, 因此, 系统线路板占用的空间也比较小。

2.3 键盘及显示电路

本系统配置有4位键盘和8位LED数码管显示电路, 以用于显示编程数据和参数。键盘显示器接口电路采用广州周立功单片机发展有限公司的专用芯片ZLG7290B数码管显示驱动和键盘管理芯片。该芯片能够直接驱动8位共阴式数码管或者64位独立的LED, 同时, 也可以扫描和管理64位按键。本电路将ZLG7290B通过I2C总线与单片机进行连接, 仅需要两根信号线即可传递数据。

同时, 采用ZLG7290B专用芯片还可以简化电路和程序, 减轻电路的调试负担。而且, 作为工业级显示驱动芯片, ZLG7290B也具有较强的抗干扰能力。图4 所示是由C8051F330D 单片机和ZLG7290B专用显示驱动芯片组成的键盘及显示驱动电路原理图。

以C8051FF330D单片机为控制核心的可编程恒流源控制器设计

图4 键盘显示驱动电路

一般情况下, 在设计时, 为了使电源更加稳定, 可在图4电路的VCC和GND之间接入电解电容。由于电路中的数码管在工作时要消耗较大的电流, 因此, 其限流电阻的典型值可取的更大一些。另外, 由于数码管扫描和键盘扫描线共用,因此, 本电路采用二极管来防止按键对数码管显示的干扰。

3 软件设计

3.1 主程序设计

本系统采用C语言来进行软件设计, 以实现系统的各项功能。系统应用程序采用模块化结构设计, 主要包括主程序、参数调用修改子程序、DAC0初始化程序等。图5所示是其主程序流程图。

以C8051FF330D单片机为控制核心的可编程恒流源控制器设计

图5 主程序流程图

3.2 模块函数程序设计

模块函数程序主要是为结构化模块设计定义一些函数, 如各定时器的初始化函数、SMBUS初始化及处理函数、DAC0的初始化和处理函数,另外, 也包括往铁电存储器中写入字节的函数和从目标地址读取数据等函数。其中DAC0的初始化程序代码如下:

Void DAC_Init (void)

{

REF0CN =0X30; /*内部偏压发生器和电压基准缓冲器工作, 基准从VREF脚输出*、

ID0CB =0XF2;

}

存储器写入函数如下:

Viod EEPROM_ByteWrite ( uchar i2caddr,uchar addr, uchar dat )

{

While (smb_busy)

Smb_busy = 1;

Target = i2caddr;

Smb_w =write;

Smb_sendwordaddr = 1;

Smb_randomread = 0;

Smb_ackpoll =1;

Word_addr = addr;

Smb_singlebyte_out = dat;

Psmb_data_out =&smb_singlebyte_out;

Smb_data_len =1;

Sta = 1;

}

……

4 结束语

本文给出了用C8051FF330D的内部电流型D/A转换器和电流/电压转换电路来设计可编程恒流源控制器的设计方法。由于C8051F330D单片机的运算速度比普通单片机要快, 而且功耗比较低, 同时内置有DAC和ADC, 由此可在电子产品开发过程中减小产品体积, 降低硬件连线的复杂程度。实验证明, 本设计的程控电流源具有输出电流稳定准确等特点, 而且电流随负载和环境温度变化小, 输出电流误差范围为±5 mA, 同时其输出电流也较大, 是一款价格低廉, 性能稳定,操作简单的实用性通信电流源。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    学单片机有前途吗?学单片机先学什么?;随着科技的不断的进步,我们的生活都发生了翻天覆地的变化,我毕业就一直深圳上班,老家在西安那边。 刚毕业的那会,每次回家要么坐飞机,要么做绿皮火车,但飞......
    学会了再学高端是水到渠成的事情。在做项目时对于高端的设备才选用16位或者32位的单片机比如STM32系列或ARM系列单片机! 因些,不论是学习单片机还是做产品89c51都是一款成熟而又经典的芯片并没有过时,最后......
    学单片机需要多少C语言基础,C语言单片机编程教程;很多学员和朋友经常找我给他们推荐C语言的书,他们可能想和我当年一样,闷头大干一场,学个几个月的C语言,把C语言吃透,再开始单片机程序开发! 别!别......
    学单片机怎么入手?学单片机前先学什么?;看到身边的很多电子产品都涉及到单片机,自己身边又有很多同学或者同事从事嵌入式单片机程序开发,工资普遍也比较高。 对于背后无人,家里无矿的普通人,掌握......
    新手学单片机如何入手,单片机入门培训课程有哪些?;有时候会收到一些小伙伴的咨询:零基础可以学会单片机吗? 这句话听起来挺搞笑的,谁不是从零基础开始学起的?这又......
    单片机好学还是plc好学?想转行选plc还是单片机?;很凑巧,单片机PLC我都学过。 我在学校的时候读的是电气工程专业,学校的知识覆盖面很广,基本每个东西都有学到一点。 什么......
    需求也更大,只会arduino可能会找不到工作。 很多人可能会问,学单片机之前需要先学习arduino吗? 我个人建议是不用,51单片机其实已经非常适合新手入门了,在学习51单片机的同时学习c语言,学完基本语法和单片机......
    怎么样才能学好单片机;很多单片机初学者问我的第一句话就是怎样才能学好单片机?对于这个问题我今天就我自己是如何开始学单片机、如何开始上手、如何开始熟练这个过程给大家讲讲。先说说单片机,我们......
    初学者想自学单片机需要买什么呢?;我刚开始学习单片机的时候一脸懵逼,看了下网上一些扫盲文。 模拟电路、数字电路、微机原理、C语言、寄存器、数据手册、数据结构等等一大堆专业名词… 不知道的还以为单片机......
    STM32单片机寄存器的功能解析;“大神”叫你先上STM32,51是小朋友玩的,所以你就不学51了 初学者建议从51单片机开始,虽然很多人建议直接上STM32,但本人还是建议先学习51单片机,简单......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>