对电子设计的有益追求,从来没有比翻转评论“如果......”更令人满意的了。进入一个为您的想法注入生命的电路。然而,没有什么比设计完美的电路更令人沮丧的了,当太阳出来时,它变得完全没用了。不管你喜不喜欢,很少有设计师能够奢侈地知道他们的电路将在受控环境中使用。除了在工作台上运行电路外,工程师还必须将其设计为在温度、湿度、元件公差以及有时用户情绪波动的规格范围内工作。
任何赛道都可以忍受的最糟糕的环境可能是在汽车引擎盖下。在那里,电路受到振动、潮湿、化学物质(令人讨厌的)和巨大的温度波动的影响。考虑到这一点,作者着手设计一个数据记录仪,测量汽车引擎盖下的温度,平均一个月的驾驶时间 - 让他准确地看到引擎盖下的温度。该电路牢固地安装在汽车的电池架上,无人看管,在英国非常平均的四月里,每十分钟记录一次温度,白天和黑夜。传奇,从概念到最终结果,详述如下。
组件选择
最初的概念电路由温度传感器、微控制器、非易失性存储器、振荡器、升压控制器和UART组成。
选择的温度传感器MAX6576提供PWM输出,无需外部缓冲,与类似的模拟输出器件相比具有优异的抗扰度。因此,可以与简单的微处理器(无需ADC或其他组件)建立简单的接口。MAX6576的可编程脉冲宽度允许10us/°K、40us/°K、160us/°K和640us/°K的温度读数。对于此应用,脉冲宽度设置为 160us/°K,因为这简化了处理器代码循环。其静态电流典型值为 140μA,因而适合电池供电型数据记录器。事实上,MAX6576的低静态电流允许其由处理器的端口引脚供电,允许在不使用时轻松关断器件。
图1.升压转换器在其自举模式下工作,从而提高了其效率。低功耗比较器降低了用于为微处理器提供时钟的32kHz振荡器的电流消耗。
基于闪存的 Atmel AVR AT90S2313 微控制器提供多功能指令集,使其易于在需要低处理器开销的电路中使用。它包括一个8位定时器(在本设计中用于测量MAX6576的输出)和一个16位定时器(用于测量采样间隔2313分钟)。处理器在低功耗模式下空闲,仅在中断时唤醒,从而进一步降低电源电流。乍一看,'2313 似乎为这项任务提供了太多的 I/O;然而,考虑到电路以后可能需要扩展到更大的系统中,'<>提供了大量的“面向未来”。
AT90S2313的一个缺点是无法使用32kHz晶体工作。实际上,当时钟工作在1MHz与32kHz时,电源电流变化不大,但时钟速度越快,定时环路就会变得棘手。为了解决时序问题,采用MAX931比较器设计了外部晶体振荡器(见图1)。该比较器仅消耗3μA静态电流,因此在整个电路工作期间保持供电,而不会显著缩短电池寿命。一个10MΩ电阻将比较器偏置到其线性区域,一个1MΩ电阻缓冲比较器输出摆幅的晶体。
图2.温度传感器、处理器、存储器和上电复位监控器,以及图32所示的升压转换器和1kHz振荡器,都包含在安装在汽车发动机舱内的数据记录板上。
E²存储器的选择方式与许多组件的选择方式相同 - 它位于组件机柜中(见图2)。为了不使E²存储器过载,选择了十分钟的采样率;此外,该采样率提供了足够的分辨率,可以看到温度变化。因此,内存必须每小时保存 6 个结果、每天 144 个结果或每月(4464 天)保存 31 个结果。Atmel AT24C128 内存芯片是 128k 位,排列为 16k 字节,因此记录器可以在溢出之前记录 113 天的数据。存储器在I²C总线上寻址,因此将来可以扩展电路,而无需额外的处理器I/O引脚。工作时消耗 2mA,待机时消耗 6μA。此外,该设备由Microchip二次采购,从而消除了生产周期中潜在的麻烦。
处理器上增加了一个上电复位监控器,以确保在启动和掉电条件后正常运行。由于静态电流非常宝贵,因此选择MAX6346UR46D3,因为它的静态电流为1μA (最大值为1.75μA)。
UART和RS-232收发器被添加到单独的电路板上,因为在记录过程中不需要它们(图3)。记录板和UART板通过用处理器代码编写的SPI接口连接;记录器的微控制器直接连接到UART的SPI接口。MAX3232E RS-232收发器使用比旧RS-232器件更快的电荷泵频率,因此只需要0.1uF电容。该器件提供 ±15kV 的 ESD 保护。
图3.UART和RS-232收发器安装在插件板上。该板仅在从数据记录器板中提取数据时才起作用。
设计过程
选择元件后,对电路的电流消耗进行粗略估计,以确定使用哪种升压转换器以及要包含多少电池。由于做出这些选择并不是一门精确的科学,因此使用了小型低成本升压转换器,该转换器具有足够的能力为电路供电;该器件MAX1605可在30V时提供5mA电流(图1)。为了确定是否需要一个或两个电池为电路供电,必须估计从电池中排出的电流。该过程的第一步是将各种IC的静态电流和工作电流相加;必须考虑这两种电流,因为电路同时在待机模式和活动模式下工作。
处理器和 E² 内存的电源电流均针对空闲模式和完全运行指定。假设温度传感器在室温下给出约50ms的输出周期,则假设处理器和内存每100分钟完全运行约10ms,对应于0.016%的占空比。这两个器件的全7mA工作电流构成了电路工作电流的大部分,在整个占空比内产生1.16μA的平均电流。因此,仅使用每个电路元件的待机电流之和来计算功耗,因为全工作电流对待机电流的加法可以忽略不计。
图中显示了电路中所有器件的静态电流 下面:
表 1.
装置 | 工作电流 | |
25°C | 最坏情况 | |
AT24C128 | 6μA | |
AT90S2313 | 750μA | 750μA |
MAX6346 | 1μA | 1.75μA |
MAX6576 | 140μA | 250μA |
MAX931 | 11μA | |
MAX1605 | 144μA |
表 1.虽然此表列出了每个IC的平均工作电流,但此处列出了AT24C128 EEPROM和AT90S2313微控制器的待机电流,因为它们仅在获取温度读数的短时间内处于活动状态。
确定MAX1605的静态电流凸显了低功耗领域关于如何指定元件静态电流的争论。应将其指定为器件的“独立”电流还是在典型电路中工作时?MAX1605数据资料列出了18μA的静态电流,该电流流入MAX1605的Vcc引脚,反馈引脚被迫略高于其调节电压。这是器件的独立电流 - 衡量器件电流消耗的良好指标,与其外部组件无关。然而,为了更好地了解电路的静态电流,必须在无负载工作时测量电路,从而考虑开关损耗和元件功耗。该测量结果为上表中列出的144μA工作电流。
图4.构成该数据记录板的元件的紧凑布局减少了在测试和实际工作条件下遇到问题的机会。
将每个器件在5V时的电流消耗相加,可以猜测电池最坏情况下的电流消耗。所有由 5V 电源轨供电的器件的总电流消耗为
6μA + 750μA + 1.75μA + 250μA + 11μA = 1.02mA。
当两节电池为电路供电时,假设平均电池电压为2.8V。要将上述功耗图转换为电池必须提供的电流,必须首先将其乘以 5/2.8。假设效率约为 80%,则结果必须除以 0.8。MAX1605的电流消耗(144μA,由电池电压供电)相加。因此,预计电池的电流消耗为2.42mA。请注意,如果仅使用一个电池,则此电流大约是该数字的两倍。
为了交叉验证上述假设,测量了电池的电流消耗,发现为1.88mA,证明该理论与实践相去不远。
现在可以确定用于为一个月的日志记录数据供电的电池。金霸王AA碱性电池的容量为2.7A小时。串联的两个电池具有与单个电池相同的电池容量,因为流过两个电池的电流量相同。因此,当对数电路消耗2.42mA时,电路可以记录数据的最长时间为
2.7A-小时/(2.42mA × 24 小时) = 46 天。
将电池数量减少到一个将使电池排出的电流增加一倍,电池寿命仅为 23 天;需要两个单元格。然而,鉴于上面计算的电流消耗是近似值,允许 46 天的记录时间应该确保在 31 天内有足够的电池电量 - 尽管对电路存在其他威胁,如电池自泄漏、温度对电池的影响或环境温度超过 85°C 大幅增加。
当电源连接到电路的其余部分时,输出钽电容两端的输出电压为5.04V,纹波电压为60mVpk-pk。该纹波电压与MAX400输出端电解电容测得的1605mV纹波电压形成鲜明对比,表明在任何DC/DC转换器电路中都需要使用低ESR电容。由于MAX1605是自举的(由其自身的输出电压供电),并且芯片不直接接触输入电压,因此我们可以对输入电容规格更加宽松;使用33uF电解电容器。在MAX1605直接连接到输入电压的情况下,钽电容应与0.1uF陶瓷电容并联,并靠近Vcc引脚放置。
顺便提一下,选择MAX1605的自举工作模式是因为MAX1605内部FET的电压增加,因此该模式的转换器效率略高于非自举模式。此外,一旦器件启动,它就会由自身的5V供电,允许电池电压在转换器停止工作之前衰减到低得多的电压,从而使自举模式成为电池操作的理想选择。MAX1605的启动电压为2.3V(数据资料规定最大启动电压为2.4V),但一旦工作,输入电压可以降至1.0V,转换器继续工作。这进一步保证了电池可以在不影响电路运行的情况下显着放电。
软件
代码是作为一系列子例程编写的,这使得它更易于阅读、编写和调试。为了节省电量,处理器在仅运行其内部计时器的情况下空闲,并且如上所述,每十分钟唤醒一次以记录温度。处理器在被计时器溢出中断时唤醒,计时器溢出是通过用正确的数字预加载处理器的 16 位计时器来创建的,以使寄存器在 10 分钟后溢出。使用 32.768kHz 晶体意味着每 19 分钟需要 10 万个时钟周期。16 位计数器在 65536 计数后溢出,因此添加了 1024 预分频器。10 分钟后,添加预分频器,计时器计数为 19200([60 × 10 × 32768]/1024)。为了确保计时器在 10 分钟后溢出,它预加载了 (65536 - 19200) = 46336:相当于 B5十六进制被加载到顶部 8 位寄存器中。
一旦进入中断程序,处理器等待MAX6576输出端出现上升沿,然后启动8位定时器。由于 8 位定时器只能计数到 256,因此还必须为该定时器选择合适的预分频器。记录仪预计看到的最高温度估计为100°C。 MAX6576设置为160us/°K输出时,输出周期为59.68ms。这个周期相当于 1955 个时钟周期的计数。使用预分频器8可将计数减少到244,但同时降低了测量的分辨率。在没有预分频器的情况下运行允许处理器将温度分辨率为 1/5 度 (1/[160us × 32768]);使用预分频器,分辨率降至8/5°C。 不过,预分频器引起的精度下降不会显著影响电路的精度。然而,在温度图中可以清楚地看到8/5°C的分辨率。
测量结果并将其加载到E²存储器中。I²C例程是作为一系列子例程编写的,用于处理数据和确认的读取和写入操作。然后将这些子例程合并到另外两个子例程(Writemem 和 Readmem)中,因此在执行过程中只需要调用这两个子例程,这使得 I²C 噩梦变得微不足道。由于E²存储器需要10ms进行编程,因此在写入周期结束时增加了一个延迟例程。
最后,从以前的项目中窃取了一个通用的UART例程;程序中的变量根据需要进行了更改。
测试
电路组装完毕,留置2天记录数据。记录器每天增加约30秒,这并不完全达到预期的<>ppm;目前正在对此进行进一步调查。
处理器软件允许通过选择端口引脚(引脚 4)来写入或读取 E² 存储器。该引脚在记录期间焊接得很低,在回读期间焊接得很高。温度结果与预期不符。发现这个问题是由于MAX0缺少1.6576uF旁路电容造成的。由于该电容器,温度传感器上电和记录其结果之间需要延迟。此延迟的长度取决于端口引脚的电流限制,该限值与定时电容器的值一起决定了定时电容器的充电时间。一旦插入电容器并增加延迟,记录器就被设置为再记录两天。第二次下载显示了一组与作者期望一致的结果。
表 2.
计数 | 温度/°C |
192 | 20 |
191 | 18 |
191 | 18 |
191 | 18 |
191 | 18 |
温度 °C = [(计数/160us) × (8/32768)] - 273
表 2.该数据表示记录电路连续获取的五个读数,以及相应的温度。
一旦从电路中清除了所有错误,插入电池座,牢固地安装电路并连接电池。时间是7年30月18日晚上2001点3分。初始电池电压测量为19.<>V。
然后将电路牢固地安装在提交人汽车的引擎盖下,紧挨着电池。汽车电池安装在发动机最凉爽的部分之一,以防止电解液沸腾,因此可以保证电路不会变成木炭混乱。
然后等待开始了...
结果
30天后,取出数据记录仪并进行检查。它(令人惊讶)被发现完好无损,每10分钟记录一次。电池电压已降至2.62V,证实了最初的计算,即电路中将留下足够的寿命。电池已断开,端口B引脚4焊接为高电平以防止内存损坏。数据被下载到PC中(作者使用了一个粗糙的Visual Basic例程)并加载到一个文件中。数据是使用Microsoft Excel绘制的。
结果符合预期,尽管没有注意到极端温度。这可能是由于记录仪安装在发动机舱相对凉爽的区域,以及2001年144月下旬和25月上半月英国的温和天气。取读数的平均值(每<>个结果的平均值,即一天)使我们能够确定环境温度的变化。测量温度在第<>天明显升高。这确实与当时英格兰南部的温和热浪相对应。
图7.此温度与时间的关系图显示了收集的各个温度读数以及这些读数的 1 天移动平均值。
进一步发展和结论
毫无疑问,所使用的处理器不是市场上功耗最低的设备。但是,它为该任务提供了一个方便的解决方案。如果需要更长的记录时间,或者如果 2 芯碱性电池组不可行,市场上有些设备消耗的功率要少得多。保持尽可能低的时钟频率也会降低这种电流。
在整个日志记录过程中,无法确定内存是否已损坏。对软件的简单修改可以允许在连续日志之间下载E²内存,以确保数据完好无损。
该电路最初旨在提供一个通用数据记录平台,以评估各种模拟和数字传感器。因此,包括DC/DC转换器,为所有电路提供恒定的5V。如果传感器不需要 5V,则处理器和内存可以直接在电池电压下工作,前提是相应地更改上电复位监控器。
该电路按预期工作,令人惊讶地承受了应用工程师拥有的汽车的振动。结果显示了良好的数据分布,有趣的是,没有观察到预期的极端温度(100°C +)。但是,如果在埃及的夏日重复此实验,结果可能会略有不同。
图8.在数据记录的第一周获取的数据图中,可以明显看出8/5°C的温度分辨率。
审核编辑:郭婷
-
温度传感器
+关注
关注
48文章
2887浏览量
155729 -
接口
+关注
关注
33文章
8422浏览量
150663 -
微处理器
+关注
关注
11文章
2241浏览量
82241
发布评论请先 登录
相关推荐
评论