The invention relates to power systems and uninterruptible power supplies. More particularly, the invention relates to systems and techniques of managing uptime and power for SBCs (Single-Board Computers).
Uninterruptible power supplies (UPS) and systems provide back-up power to computer systems and other critical systems, where a loss of line power can result in an interruption of programs and/or loss of valuable data. Uninterruptible power supplies can also provide a power conditioning function to prevent transient spikes, low-voltage conditions, and/or distorted power waveforms from disturbing operation of the computer or other critical system supplied with power via the UPS. Often, UPS systems include a battery connected through an inverter to the AC output line of the system at the same frequency and with substantially the same waveform as the normal AC power input to the system. A UPS with battery back up can condition power, neutralize surges, and provide backup power when utility power is unreliable or as a stop gap to provide power while a generator or other transfer switch clicks on. A UPS helps improve uptime of computer systems.
Single board computers (SBCs) provide an expanding new technology in computer systems. Single-board computers (SBCs) afford a complete computer built on a single circuit board, with microprocessor(s), memory, input/output (I/O) and other features required of a functional computer. By putting all the functions on a single board, a smaller overall computer system can be obtained. Machine and process control systems often use SBCs. SBCs often range in price from about $35 to a several hundred dollars. Millions of these small computers have been sold and used in a variety of applications including home automation, security, displays, kiosks, weather tracking, sensor tracking, remote systems integration, and other targeted systems.
SBCs can be about the size of a credit card and perform a set of targeted functions. Many have video resolution in the 1080p range, GPIO ports (i.e., general-purpose input/output ports), static RAM, and GHz processors.
Uninterrupted power supplies (UPS) provide emergency power to a load when an input power source fails. If power drops, a UPS provides enough power to the computer so it can shut down without corruption. In some cases, the UPS will send a shutdown command to the computer via a serial (USB) connection.
It is difficult to manage uptime and restart remote systems, regardless of power outages or hardware/software failures. Phone calls to remote facilities often result in frustration and loss of credibility. Operators are often unfamiliar with restart procedures and are frustrated with the need for remote technical support. Additionally, current UPSs often involve significant upfront, installation, maintenance, and disposal costs.
The systems and methods of the invention provide a UPS with improved functionality to ensure computers, and in particular SBCs, remain operational in the event of a power outage or other power anomaly. In many applications, such as display systems, for example, space for computers behind the display is limited. There is no room for a battery backup, and single board computers are often used to drive video content. For example, many SBCs such as Raspberry Pi and BeagleBone systems can be used to power interactive displays, RFID readers, and the like. The single board computers use less power and less space. For example, some SBCs use from 3-12 watts of power while PCs often use 75-100 watts of power. Other single board computers (SBCs) operate on 5 volts and about 2 amps. The invention provides a battery and power management system in a small footprint and enclosure to provide power, monitor the health of batteries, and monitor the health of remote single board computer systems.
The invention monitors power-flow and communicates power outages and anomalies to single board computer systems to minimize disruptions. Even when power is cut off, the invention provides an automatic restoration process to the single board computer systems to minimize operator frustration when restoring power and monitoring system health.
The invention uses GPIO port signals (general-purpose input/output ports) on single board computers to communicate with the power system and other sensors. If power drops, the system continues to provide power through a battery and capacitive power back up and warns the computer that power is off so the computer can save critical data. If power is restored within a specified time, the system continues as though nothing happened, but if power remains off for a specified amount of time, the system of the invention warns the computer (e.g., PC, SBC, etc.) that power will be shut off. After a specified amount of time, the system turns off power to the computer. After main power is restored, the system turns power to the computer back on, which will auto-boot the computer.
The computer (PC, SBC, and the like) provides a heartbeat signal back to the system as a monitor to ensure the computer (PC, SBC, and the like) is responding. If the computer turns off or becomes unresponsive, the system will power-cycle the computer to force a reboot.
The timespan settings (predetermined times) for warning that power is off and for determining a lack of power to effect a shutdown can be set via dip-switches, touch screen, web service interface, and other hardware and/or software selection devices.
Some SBCs are sensitive to input even when they are powered off. The system of the invention includes logic and processing modules to ensure signals are not received when the SBC is off. Additionally, some example systems of the invention include a remote boot function that adds additional capabilities to force a reboot from a remote location. When network access is available, the system with a remote boot controller calls a web service, obtains commands, and reboots the SBC.
The invention provides battery backup, monitors battery charge/health, tracks the health of SBCs and initiates a reboot if the SBC health becomes unstable. The invention further provides a failsafe for proper shutdown of remote/critical SBC systems when the battery charge is low. Similarly, the invention starts up SBC systems when power is restored and the batteries are charged enough to sustain SBC operations. The invention can also accept and process remote commands to configure the power system and cleanly reboot SBCs.
The power lifeguard of the invention is a power management system. The power management system include a battery backup; and a computer controller (system) that monitors operational status of the battery back up and monitors operational status of a computer system to which the power management system is operatively connected. In some example systems of the invention, the power lifeguard system is a single printed circuit board (PCB). In some example systems of the invention, the small footprint and enclosure dimensions of the power lifeguard makes it particularly useful with single board computers (SBCs). As outlined above, some of the SBCs operate on 12 watts or less.
The power lifeguard systems of the invention identify the operational status of the computer systems, including the loss of power to the computer system and/or the loss of a communication (e.g., heartbeat) signal from the computer system to the power lifeguard, such as from an SBC, for example.
The controller (system) of the power lifeguard systems receives its status signals using GPIO ports. The computer controller system can include multiple general purpose input/output (GPIO) ports that receive a battery status signal to monitor the operational status of the battery back up and/or a heartbeat signal to monitor the operational status of the computer system to which the power management system is operatively connected. The lifeguard power management system can also include a charge controller operatively connected to the battery back up that limits the rate at which current is added to or drawn from the battery back up.
The power lifeguard systems can include a switch controlled by the computer controller that provides power to the computer system, including to SBCs. The SBCs and other computer systems can include communication code to communicate with the lifeguard power management system.
Some example lifeguard power management systems include a remote interface that initiates the turning off the uninterrupted backup source of power to the computer system via a computer network.
The invention also includes a method of managing power (including removing power) from a computer system using the lifeguard power management system. One example method of the invention includes sensing an unresponsive computer system with a computer controller system, providing an uninterrupted backup source of power to the computer system, warning the computer system of an imminent booting of the computer system, and turning off the uninterrupted backup source of power to the computer system.
Sensing an unresponsive computer system can include identifying a loss of power to the computer system and/or identifying a loss of a communication signal from the computer system to the computer controller. The method for removing power after a power outage and warning the computer system can include confirming the uninterrupted backup source of power to the computer system has dropped below a predetermined level, setting a general purpose input/output (GPIO) port to communicate with the computer system that a boot event is imminent, waiting a predetermined period of time to provide the computer system an opportunity to shut down in a controlled manner, and setting a general purpose input/output (GPIO) port to operate a switch to remove power from the computer system. Additionally, power can be removed from the computer system using a remote system connected to a computer network that sends a soft reboot signal to a remote interface via a computer network.
Similarly, the method of removing power to the computer system after loss of communication signal (including a heartbeat) and warning the computer system can include identifying a loss of a heartbeat signal from the computer system to the computer controller system. In one example system, the method of managing power to a computer system includes turning off the uninterrupted backup source of power to the computer system by setting a timer to a predetermined period of time, monitoring the heartbeat signal from the computer system at a general purpose input/output port of the computer controller system during the predetermined period of time, confirming that the loss of the heartbeat signal from the computer system at the general purpose input/output port of the computer controller system has not recovered during the predetermined period of time, setting a general purpose input/output (GPIO) port to communicate with the computer system that a boot event is imminent, waiting a predetermined period of time to provide the computer system an opportunity to shut down in a controlled manner, and setting a general purpose input/output (GPIO) port to operate a switch to remove power from the computer system.
Additionally, turning off the uninterrupted backup source of power to the computer system can include receiving a soft reboot signal from a remote interface via a computer network to operate the switch to remove power from the computer system.
The system of the invention also manages power to the computer system by restoring power to initiate a boot sequence of the computer system. A method of managing power to a computer system of claim 18, wherein Restoring power to the computer system to initiate a boot sequence of the computer system can include receiving a battery status signal at a general purpose input/output (GPIO) port of the computer controller system, determining a voltage level of the uninterrupted backup source of power to the computer system is within a predetermined voltage range based upon the received battery status signal, and setting a general purpose input/output (GPIO) port of the computer controller system to operate a switch to restore power to the computer system.
The power management systems and methods of the invention provide new capabilities not available with current systems, including computer (SBC) uptime management and restarting capabilities in a small footprint enclosure that provides installation savings and on-going support savings over other UPSs that often involve significant upfront, installation, maintenance, and disposal costs.
As shown in
The controller 107 of the power lifeguard 101 does not require an operating system but does have the ability to run simple programs. Turning a controller on and off will not corrupt the controller. Many SBCs will start up when power is turned on without any additional action. The controller 107 manages the more complex SBC 190. If the SBC 190 crashes or is turned off, the controller 107 of the power lifeguard 101 recognizes the outage and turns the SBC 190 back on by cycling power to the SBC 190. The power lifeguard 101 connects to the SBC 190 via digital GPIO ports as shown in
In some example systems of the invention, communication between the power lifeguard 101 and the computers (PCs, SBCs, and the like) is conducted via GPIO high/low signals. Table 1 below shows an example power lifeguard 101 with GPIO ports listed based on their connections and their function.
Returning to
Similarly, battery pack 103 also supplies DC voltage in a similar voltage range. Further, capacitors with directional power flow can also be used to supply the needed voltage. When the SBC 190 requires higher current, additional batteries can be added to the battery pack 103 in a parallel configuration. Battery life will be determined based on the current draw of the SBC 190. The external power source 180 provides power out 122 to charge controller 105. Charge controller 105 limits the rate at which current is added to or drawn from the battery pack 103. Charge controller 105 prevents overcharging and from overvoltage conditions, which can reduce battery performance or battery lifespan. Charge controller 105 automatically switches the source of power (power out 122) to the SBC 190 from external power source 180 to battery power when the power level of the external power source 180 falls below a pre-established level. In this fashion, the charge controller 105 provides the power lifeguard 101 with continuous power.
The system 100 also uses a battery status connection 124 from battery 103 to controller 107 that indicates the charge level of the battery 103. Users can configure the controller 107 with pre-determined monitoring rules using hardware and/or software and/or firmware on controller 107. A program runs on the controller 107 to enforce the pre-determined monitoring rules.
For example, the controller 107 senses the voltage level of the battery 103 through battery status connection 124 that provides a signal to indicate battery charge level. The controller 107 will not power-up the SBC 190 unless the battery 103 is at a level capable of sustaining operation of SBC 190 in the event of an outage of external power source 180. If the controller 107 senses an acceptable voltage level (via status connection 124), battery power can be provided to the SBC 190 via power switch 109. To power on the SBC 190, the controller 107 can set a general-purpose input/output (GPIO) digital pin high at power switch connection 111 to provide power (via a MOSFET, for example) to the SBC 190. After power is provided at power switch connection 111 to MOSFET switch 109, the DC voltage can be regulated to the operational voltage of the SBC 190. For example, in one example configuration of the invention, once the DC voltage passes through the MOSFET power-on switch 109, the voltage is reduced to 5 volts for operation of the SBC 190. If the SBC requires a different operational power voltage, the controller 107 and power-on switch 109 can be configured to supply the required operational voltage.
Additionally, when the controller 107 senses the voltage level of the battery 103 through battery status connection 124 has dropped below a pre-determined level, or when the controller 107 is reset, the controller 107 initiates a boot imminent event notification 126 to the SBC 190. In initiating the boot imminent event notification 126, the controller 107 sends a general-purpose input/output (GPIO) control signal to inform the SBC 190 that power will be shut off and back on (i.e., to boot the SBC 190). After the system 100 sends the boot imminent event notification 126 (for example, by setting a digital GPIO pin high), the controller 107 waits a pre-determined amount of time to give the SBC 190 ample time to cleanly shut down. After the pre-determined amount of time, power is shut off to the SBC 190.
As shown further in
When the heartbeat GPIO pin 138 goes from high to low (that is, YES, there is a transition from high to low), the process continues to block 208 where a timer is set in case the loss of the heartbeat signal 128 (that is, a drop in voltage) is an anomaly. In some example systems of the invention, the timer value is fixed, while in other example systems of the invention, the timer value can be changed and set to different amounts of time using software and/or hardware and/or firmware.
In block 209, the controller 107 checks to see if the heartbeat signal 128 changes back from low to high during the time period (duration) that the timer is counting. If the heartbeat signal 128 changes back from low to high during the time period (that is, YES, the signal transitioned back to high), it is likely that the signal loss was insignificant, and in block 215, the controller 107 turns the timer off, and the process returns to block 205 where the controller monitors the heartbeat signal 128. If, in block 209, the heartbeat signal 128 does not return to high during the time period (that is, NO, the signal did not transition back to high), it is likely that the signal loss was significant, and the process continues to block 211.
In block 211, the controller 107 determines if the duration of time for which the time is set has expired. If the timer duration has not expired, the process returns to block 209, and the controller 107 again checks to see if the heartbeat signal 128 changes back from low to high during the time period (duration) that the timer is counting. If, in block 211, the heartbeat signal 128 remains low when the timer expires, the process continues to block 213, and indicates to the controller 107 that SBC heartbeat failed. That is, the heartbeat signal 128 was initiated by the SBC 190, and the heartbeat signal 128 coming in to GPIO heartbeat port 138 later went from high to low, and the heartbeat signal 128 did not reappear for a given amount of time. The controller 107 then issues the boot imminent signal 126 from the boot imminent port 136 on the controller 107 to the SBC 190 indicating that the controller 107 will initiate a normal power down/power up event to reboot the SBC 190.
As shown in
When the batteries reach a sustainable level in block 314 (that is YES, the batteries are OK), the controller 107 sets a GPIO port 111 high to turn on a MOSFET power switch 109 and voltage regulator 110 in block 317. The MOSFET power switch 109 and voltage regulator 110 provide power to the SBC 190 at input power port 188.
As operations continue, the controller 107 continually checks the status of the batteries 103 in block 318. As long as the status of the batteries 103 remains OK, operations continue. If the battery level drops to an unsafe pre-determined level (that is, NO, the batteries 103 are not OK in block 318), the controller 107 prepares to initiate a boot imminent process in block 321. The controller 107 sets GPIO port 136 high to alert the SBC 190 that power will be shut off. After setting the GPIO boot imminent port 136 high, the controller 107 waits a pre-determined amount of time in block 322 to give the SBC 190 an opportunity to shut down in a controlled manner. The wait time can be a fixed amount of time in some example systems of the invention and can be configured for different amounts of time in other example systems of the invention.
After the wait-period, the controller 107 sets the GPIO port 111 controlling the MOSFET low in block 323, which turns off power to the SBC 190. After turning off power to the SBC 190, the process returns to the start block 301. Turning off power to the SBC 190 also resets the heartbeat as described above. The SBC 190 restarts when power is turned off and then back on as outlined above.
In the event of a lockup, a user can perform a hard reset of the power lifeguard 101 by grounding the reset port 132 of the controller 107 using a switch or other control mechanism to reset the entire system. See
In one example system of the invention, the pre-determined times described above can be adjusted using DIP-switches to adjust startup, heartbeat, reboot, and power-off timers. For example, in order to account for short power outages and system reboot times, timespans are configurable via dip-switches, an interactive touch screen, values provided by a web service, and other hardware and/or software selection devices. Examples of the configurable timespans and descriptions are shown below in Table 2.
With a delayed timespan setting, if the heartbeat goes off and on for a short time, a boot will not occur. Also, the pre-determined time between a boot imminent signal and a shutdown can also be configured using DIP-switches. Additionally, a display screen can be incorporated to show basic functional values including battery charge, heartbeat status, boot imminent, and other timer settings.
Table 2 below shows example time settings for a number of the pre-determined time measures using DIP switch settings (to implement the different timespans).
In one example system of the invention, the controller can communicate status, timer configurations, and other settings using a network connection to the Internet or other computer network. The invention can be configured to accept (remote) boot commands via the network from remote users.
For example, there may be times when a computer (PC, SBC, and other computing devices) becomes non-responsive. As shown in
The power lifeguard systems and methods of the invention provide a smarter version of a UPS to ensure computers, and in particular SBCs, remain operational in the event of a power outage or other power anomaly. The invention provides a small system package that can be used in many applications and environments where traditional power control systems could not be sited, including single board computers.
Number | Date | Country | |
---|---|---|---|
62328236 | Apr 2016 | US |