Remote Battery Voltage Monitoring
edited January 2021 in Configuration and Operation
I've got my Kiwi setup at a remote location and was wondering if there was an inexpensive way to monitor the battery voltage which is currently charged via solar. I know there are out of the box solutions for this as I used work in the cellular industry but those boxes were quite expensive for what I need. Unfortunately, my solar controller doesn't have this ability.
I saw a video online where you can read voltage from the BBB but I'm unsure if I can use those pins because of the daughter board location.
Does anyone have a similar setup that could offer any advice?
I designed and built an APRS/solar_charger for monitoring the PS at a remote KiWi site. It's not quite what you are asking for but since the Kiwi data is IP over microwave, the use of out-of-band monitoring means I can see the power situation and termperature even if/when the microwave link is down.
You can see the present condition of N6GN/K2 this way
If you are interested, write me.
I have some FrSky Smart Port voltage and current sensors, they output 3.3V serial data (inverted).
The only thing stopping me using them is the dense bit of wet carbon between the keyboard and chair.
Perhaps you can build an LC-oscillator using a varicap, so its frequency becomes voltage dependent. Then you could monitor its frequency on the kiwi receiver, for example using the 27 MHz ISM band.
Although intended for monitoring mains voltage, I did a somewhat similar thing using the ESP8266, described here:
The source code is linked, and making it read supply voltage rather than mains voltage would be trivial. The '8266 has only a single A/D input, but the addition of a simple analog MUX chip like the 4051 would easily expand this to 8 inputs - although one would probably want to level-convert the MUX drive to 5 volt logic (e.g. an NPN and two diodes).
* * *
If a network connection isn't in the cards (the ESP8266 has 2.4 GHz WiFi only) this also includes a Morse beacon that telemeters the information - in this case, on 10 meters: This was added so that telemetry could be seen by anyone interested, but also so that we could still receive it should the WiFi connection drop for some reason.
* * *
Finally, the same, basic low-power TX could be driven by a PIC or Arduino, of course to produce Morse telemetry.
To get back to an aspect of your question: I suppose that a BBG GPIO pin with an A/D input would be available, but I chose to leave the KiwiSDR unit unmodified - both for practical reasons (a spare could be swapped out) and also to avoid the possibility of conducting undesired signals in/out of the chassis (e.g. static, RFI, lightning, etc.)
That's similar to what I'm looking to do and being able to monitor the shed temp would be a bonus as well. I have an ethernet connection but I'm not really interested in setting up wifi although I could if it boils down to it and have been looking at charge controllers that have RS232 output that can be converted to eth via a converter/server. That seems to be more my speed than Arduino at this point in time. Haha I've never done anything with the ESP8266 but it doesn't seem too difficult. It would be handy to be able to measure the bank voltage, solar array input voltage, current readings, etc... So I would need more than just the one input.
I'll check it out.
System telemetry is as old as spaceflight, probably older. Surely the low-bandwidth data involved could be multiplexed onto any data channel, or on a special admin-only dedicated channel?
Given the low cost of sensors, some key electrical parameters would seem to be a worthwhile fit. For a few dollars more, we could have temperatures (multiple), pressure & humidity too - not a bad idea for any kind of equipment mounted outside the normal domestic environment, or even within.
That's why I chose APRS as the data channel. It stays up when the Kiwi system is down, has built-in worldwide distribution and can be done with cheap hardware within amateur radio. With the Arduino as controller a whole host of sensors are similarly cheap and easily added, should they be desired. As it was I only added voltage and temperature sensors but an upgrade is almost trivial. It transmits only one short APRS packet every few minutes.
Also because the whole thing was Kiwi-centric and meant for a quiet remote site, the solar charge controller is very low-rate PWM so doesn't generate RFI virtually all commercial solar charging systems seem to do, even the 'RF quiet' ones.
Initially there was a CW ID on a local 10m crystal sending the battery voltage (only) but that took almost as much hardware as the APRS/charge-controller solution.
"Perhaps you can build an LC-oscillator using a varicap, so its frequency becomes voltage dependent. Then you could monitor its frequency on the kiwi receiver, for example using the 27 MHz ISM band." (HB9TMC)
Haha, that principle was also my very first thought while reading KU4BY's opening post. But I didn't dare to post it as it seemed too weird to me... 🤣
Of course, it would be quite simple, but probably not that accurate as digital telemetry. And if the kiwi should stop working due to undervoltage, it would be no more possible to get any information at all. Another disadvantage would be the need of manual reading; it would be difficult to implement some kind of automatic warning. So overall only of limited use - but still a nice and ham-like idea!
That's an interesting idea but I don't think it would be accurate enough for what I'm wanting to do and I'm also wanting to monitor multiple sensors. Plus the addition of even a small amount of RF near the Kiwi seems to dampen the receive. I had the receiver about 200 feet from my house and when I keyed up 5W of JT65 at the house it killed the Kiwi's RX altogether.
I just found out that a friend of mine is doing something similar to what I am attempting by using a raspberry pi and an MCP3008 ADC along with some sensors. That should give me 8 channels if I read correctly. So I'm seeing what I can do with something like that now.
All these ideas for external sensors, processors and data links are surely possible (for you clever guys), but my sloppy contribution was meant to refocus on the existing BB hardware and Kiwi IP channels with the minimum of additional sensors.
I'd love to get some comment from John, firstly whether he could adapt the software to provide a comprehensive and flexible service, then whether existing BB IO has capacity enough, finally how interested he would be advising on sensors and interfacing.
Just one other thing that occurs to me and has been discussed on here before, what other kit is used on the solar battery voltage and does any of it already have voltage monitoring?
If you have a router or wireless bridge it might be possible to swap that out for one that runs a wide voltage range and has voltage monitoring.
For example if you had say a wireless bridge running from a fixed supply replace it with one that runs the required range with monitoring. I'm sure there are a bunch but Mikrotik or Ubiquiti would be good to look at. A 30-second search gives Mikrotik RBGrooveGA-52HPacn, 11-30V with monitoring. The UBIQUITI BULLET5 is good for up to 24V and I would be very surprised if they don't show voltage (I've got an old 2.4GHz one I'll try and check).
On the previous thread I was looking at the advantages of POE out control for rebooting network devices but on the "auto" feature I did run into some issues with the input voltage swinging widely due to solar disrupting the output current monitoring (on a POE fibre to Ethernet switch). As long as you only want to manually turn devices off and on it works fine.
Yes Stu, there are solar chargers out there already that do what I am trying to do but I am being cheap about it as the sole purpose of my solar system at this point is to power my kiwisdr.
I opted to go with my Raspberry Pi B model and an MCP3008 ADC. There is a ton of information online showing the many different types of sensors. I've got it running now and when I run the python script I get output like this:
Battery Voltage: 0.00V
Solar Input Voltage: 0.00V
Sensor 3 Voltage: 0.00V
Sensor 4 Voltage: 0.00V
Sensor 5 Voltage: 9.47V
Temperature Reading: 1023.00
Sensor 7 Voltage: 3.09V
Sensor 8 Voltage: 2.82V
Sensor 5 and 6 are the only 2 sensors in use right now. 5 is hooked to a 9V battery and I haven't figured out the code for the temperature sensor yet. I'm no programmer. Channels 6 & 7 are open pins not connected to sensors and I suspect that is why I am seeing bogus info on those pins.
Eventually I might even figure out how to send the data over to a self hosted webpage but for now I'm gonna get a few current sensors, figure out the temp sensor, and maybe even try to learn Python...😂