- Joined
- Jan 27, 2011
- Location
- Beautiful Sunny Winfield
I did a little searching for "PSU Monitor" and was surprised not to find anything. It seems to me that the PSU is one of the foundation pillars of a stable system. How often have we seen a system that doesn't operate due to a PSU that is insufficient or malfunctioning? (I have.)
I searched The Egg and Amazon expecting to find something that would tie into the PSU outputs and fit into a 3.5" drive bay and would indicate PSU voltages and perhaps other statistics such as air flow temperature and ripple on the voltage readings. I did not find anything. A broader search turned up monitoring S/W (using motherboard sensors) and ways to measure things using a meter and probes. I did not find an off the shelf product.
This makes me wonder why I'm not finding anything. It makes me think about what it would take to knock up something to meet this perceived need. Here's where my rambling thoughts go on this.
The heart of the system would be a Raspberry Pi. Reasons for this are the ease of developing S/W on the Pi (*) and ability to interface easily to other systems. Downside to the Pi is lack of analog inputs, but that can be addressed using external analog to digital converters (ADCs.) I would use voltage dividers (and double ended inputs for negative voltages) to scale the voltages to meet the requirements of the ADCs. I'm not sure what would be the best way to measure ripple. Oversampling? filter, rectify and measure the AC component? Then I would expose the readings by either running a web server on the Pi or export via MQTT. (Using MQTT, readings from multiple systems could be combined and displayed on a single web page.)
One alternative for analog measurements would be to use an Arduino for the measurements. If plugged into a USB port for power, it also provides a serial over USB connection to another host. It could be directly plugged into the PC being measured (with an obvious disadvantage if the host PC is not operating.) An Arduino Nano has 8 analog channels.
Alternative design. Use something like a microcontroller with LCD display to provide something closer to a real time display. Something like this costs about $30US and provides a decent display. There are oscilloscope projects based on this (http://mikrocontroller.bplaced.net/wordpress/?page_id=752) But I'm unsure how many analog inputs it has. There may be only two. (If I bring up the board in ST's board support tool it shows zero analog inputs.) It could also support an external ADC. Some microcontrollers have an Ethernet port and could even provide a web server (though the programming for that would not be for the faint of heart!)
For overall powewr measurement I'd go with this TP-Link plug or similar. It supports local communications and I found some Python code to interface with it. I use one to monitor power usage by my basement freezer.
Questions I have are:
- What prior art exists? I can't be the first person who has thought of this.
- What input (analog) signal conditioning would be appropriate? It is imperative to keep the ADC inputs below either 3V, 3.3V or 5V depending on the device.
(*) NB - I'm very familiar with Linux as it is my OS of choice and I write S/W for a living so "ease of developing S/W" is a relative term.
I searched The Egg and Amazon expecting to find something that would tie into the PSU outputs and fit into a 3.5" drive bay and would indicate PSU voltages and perhaps other statistics such as air flow temperature and ripple on the voltage readings. I did not find anything. A broader search turned up monitoring S/W (using motherboard sensors) and ways to measure things using a meter and probes. I did not find an off the shelf product.
This makes me wonder why I'm not finding anything. It makes me think about what it would take to knock up something to meet this perceived need. Here's where my rambling thoughts go on this.
The heart of the system would be a Raspberry Pi. Reasons for this are the ease of developing S/W on the Pi (*) and ability to interface easily to other systems. Downside to the Pi is lack of analog inputs, but that can be addressed using external analog to digital converters (ADCs.) I would use voltage dividers (and double ended inputs for negative voltages) to scale the voltages to meet the requirements of the ADCs. I'm not sure what would be the best way to measure ripple. Oversampling? filter, rectify and measure the AC component? Then I would expose the readings by either running a web server on the Pi or export via MQTT. (Using MQTT, readings from multiple systems could be combined and displayed on a single web page.)
One alternative for analog measurements would be to use an Arduino for the measurements. If plugged into a USB port for power, it also provides a serial over USB connection to another host. It could be directly plugged into the PC being measured (with an obvious disadvantage if the host PC is not operating.) An Arduino Nano has 8 analog channels.
Alternative design. Use something like a microcontroller with LCD display to provide something closer to a real time display. Something like this costs about $30US and provides a decent display. There are oscilloscope projects based on this (http://mikrocontroller.bplaced.net/wordpress/?page_id=752) But I'm unsure how many analog inputs it has. There may be only two. (If I bring up the board in ST's board support tool it shows zero analog inputs.) It could also support an external ADC. Some microcontrollers have an Ethernet port and could even provide a web server (though the programming for that would not be for the faint of heart!)
For overall powewr measurement I'd go with this TP-Link plug or similar. It supports local communications and I found some Python code to interface with it. I use one to monitor power usage by my basement freezer.
Questions I have are:
- What prior art exists? I can't be the first person who has thought of this.
- What input (analog) signal conditioning would be appropriate? It is imperative to keep the ADC inputs below either 3V, 3.3V or 5V depending on the device.
(*) NB - I'm very familiar with Linux as it is my OS of choice and I write S/W for a living so "ease of developing S/W" is a relative term.