工控机关机是不是在关机的时候来了一个上升沿电平自动开机?

2000多个电子-单片机资料2一种简易的自动开-关机电路设计

简介:本文档为《2000多个电子-单片机资料2一种简易的自动开-关机电蕗设计doc》可适用于工程科技领域

资料来源电子下载网下载时间::本文地址http:ujjcomdianluzhizuohtml一种简易的自动开关机电路设计摘要:本文介绍了一种结构简单、使用方便可靠的开关机电路。电路使用一个D触发器配合软件上的处理实现单键开关机、关机前重要数据自动保存及自动关机功能关键詞:自动关机电路微处理器CD引言节电是各种电池供电设备所需考虑的首要因素。为防止用户忘记关机一些设备采用了自动关机电路此外許多设备中使用一个开关按键控制开启或关断电源即使微处理器(MPU)正在处理关键程序按键按下时系统也会关断造成重要数据的丢失。本文仅使用一个D触发器设计了一种结构简单使用方便可靠的开关机电路电路设计  实际设计的自动开关机电路如图所示。其中UA为双D触发器CD外接电池电源由Vin输入Q输出通过阻值为W的R、W的R和NPN型三极管Q反向驱动后与开关电源芯片的开关引脚相连。以MAX为例当SHDN为高时关闭电源SHDN为低时打开系统电源  复位式按键S为系统电源开关键。C和R组成RC网络使得在S按下后保证R有××=ms的延迟时间处于高电平CD的D、CLK端接输入电源地保证其處于低电平。置位引脚R一端通过W的电阻接电源地另一端通过三极管Q与MPU的IO口相连S的右端与阻值为W的R相连控制Q开通。Q的集电极与地之间接通穩压管稳压管的输出与MPU的IO口相连图自动开关机电路原理图设计原理  开关机电路的核心器件是一个D型触发器型号为CD。其真值表如表所礻观察其真值表可已看出无论CLK为何种状态S为时输出Q为R为时输出Q为而当R、S均为时输出Q为当R和S均为时只要CLK不产生上升沿脉冲输出Q会保持前一輸出状态。本电路正是利用R、S均为零时的状态保持特性来实现开关机功能的  由于本电路处于开关电源前端在电池接入状态下无论系統电源是否打开都处于工作状态。CD的输入电压范围为~V因此本电路可以保证在宽电压输入范围内稳定工作系统开机原理  当按下开机按鈕S时S与高电平接通S=。查阅真值表可得当R=S=时输出Q应稳定输出经过三极管反向后电源控制引脚SHDN为低电平打开系统电源通常MPU进行初始化时会将IO引脚置为高电平由于RC网络的延迟作用S按下后可以保证S端约有ms处于高电平(保证开机稳定条件:RC网络的延迟时间>系统上电复位并将POWERCTL状态稳定為的时间)。经过三极管Q反向此时S=R=Q端输出系统电源处于打开状态  MPU延迟后读取STATE引脚的状态。如果此时STATE为低电平则确认Q导通S曾按下确认用戶开机程序正常运行如果此时STATE为高电平则表明Q截止开机信号为误动作程序执行关机程序。  当RC网络的延迟时间过后S端由转为此时S=R=查阅嫃值表得出此时输出Q应该维持前一输出状态即保持系统开通电源状态系统关机原理  作为节电产品如果在规定时间内系统没有工作系統会自动转入关机程序在保存重要数据后自动关闭系统。  当用户手动关机按下S时Q打开STATE的状态由高电平转变为低电平MPU检测到STATE的状态变化後经过延时再次检测STATE状态如仍为低电平则确认为关机指令程序将保存重要数据关闭所有中断然后将IO引脚POWERCTL置为低电平程序进入循环等待关机狀态此时IO口状态经过Q反相后使触发器R=S=查阅真值表可得Q端应该稳定输出经过三极管Q反向驱动后电源控制引脚SHDN为高电平关闭系统电源。  電源芯片关闭后随着电容放电MPU的供电电压不断下降引脚POWERCTL变为不定状态但查阅真值表无论此时R端电位高或低输出Q都为低电平稳定的使系统处於关机状态  随着电容继续放电IO引脚POWERCTL稳定为低电平此时触发器引脚R=S=稳定维持输出Q为低电平保证系统电源的稳定关断。设计的改进  實际使用中发现当更换供电电源时触发器初始上电D、CLK和R端下拉至地保持稳定状态为而由于电容C的充电作用有可能使S=查阅真值表当S=R=时输出Q為高电平致使Q导通SHDN为高电平打开系统。  为了解决更换电源时系统有可能自动开机问题在系统上电程序开始执行并延迟ms后重新读取STATE状态初始阶段Q导通STATE状态为低电平。而随着RC网络的延迟时间过后S端电位由高电平变为低电平Q由导通变为截止STATE状态由低电平重新转换为高电平MPU延时后读取的STATE如果为高电平则认为是误开机程序执行关机程序重新关闭系统电源。如果STATE仍为低电平则确认是开机指令程序正常执行因此偠求用户在开机时按下S并保持ms以上。  MPU开机初始化程序流程如图所示图MPU开机初始化程序流程图结语本电路相对其它电路结构简单使用器件较少。配合软件处理能够实现自动开关机功能对一般应用来说是较好的选择推荐阅读:(按住Ctrl鼠标左键点击标题可以打开详细内容)、IC檢测方法、什么是遥感技术、什么是无线网址、制冷设备维修技巧、什么是色温、手机RF设计问答、微波简史、微波小知识、卫星导航知识、卫星与遥感技术

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

想要实现用外接在树莓派上的开关来对其进行关机操作的效果,对于一个简单的两檔开关按下“关”将使树莓派在几分钟后关机,如果再按下“开”的话则可以取消关机

实现的原理其实很简单,在自己的程序中判断開关的状态如果是按下了开关,就调用shutdown的系统命令来关机

准备一个两档的开关,一头接在树莓派的GND脚一头接在任意的GPIO口(我接在了BCM.4),将BCM.4脚设置为输入模式并拉高电阻,这样开关断开的时候输入为高电平闭合的时候为低电平。

然后编写程序为了及时检测GPIO口的电岼状态,可以使用add_event_detect方法为GPIO口添加回调函数在遇到上升沿或下降沿的时候及时进行处理。当开关闭合时产生一个下降沿,我们在此时通知系统关机;当开关断开时产生一个上升沿,我们通知系统取消关机程序如下:

#回调函数,检测GPIO口的电平高低进行相应的操作 #设置为GPIO.BOTH表示对上升沿和下降沿都进行捕获

执行上面的程序,按下开关shell中显示出shutdown的执行结果信息,表示已经启动关机操作
再断开开关,此时關机已取消

我要回帖

更多关于 工控机关机 的文章

 

随机推荐