[Nut-upsuser] Supporting a DIY UPS with minimal effort butmaximum gain
Kelly Byrd
kbyrd at memcpy.com
Thu May 16 21:52:06 BST 2024
Ok, my super long reply is waiting on moderation. In the meantime, I have
started:
https://github.com/networkupstools/nut/wiki/DIY-UPS-with-and-Arduino
On Thu, May 16, 2024 at 10:59 AM gene heskett via Nut-upsuser <
nut-upsuser at alioth-lists.debian.net> wrote:
> On 5/16/24 08:59, Jim Klimov via Nut-upsuser wrote:
> > I agree with earlier posters, such documentation can help future
> > tinkerers. There is probably more than just one to hold the hand and
> > walk through the ordeals :)
> >
> > Perhaps a new page at https://github.com/networkupstools/nut/wiki
> > <https://github.com/networkupstools/nut/wiki> can be a good location...
> >
> > Jim
> >
> Great Idea Jim.
> >
> > On Thu, May 16, 2024 at 1:29 PM Bill Gee <bgee at campercaver.net
> > <mailto:bgee at campercaver.net>> wrote:
> >
> > Hi Kelly -
> >
> > As an Arduino nerd, I am interested in this! I am sure others on the
> > list would be interested. If nothing else, it would be nice to have
> > some documentation in the archives.
> >
> > I assume you set it up as an online system rather than a standby
> > system.
> > Right? If true, then the choice of inverter is fairly critical.
> It
> > has to be bomb-proof reliable.
> >
> > What did you choose for battery voltage? What is the power capacity
> of
> > the inverter?
> >
> > Which Arduino did you use? All of my Arduino projects use the Pro
> > Mini,
> > though it would be quite easy to get some other model for this.
> >
> > Thanks -
> > ===============
> > Bill Gee
> >
> > On 5/15/24 20:11, Kelly Byrd wrote:
> > > I put together my own DIY UPS, it's a RV charger/converter, an
> > > inverter, and some batteries. I use an Arduino and the
> > HIDPowerDevice
> > > library (https://github.com/abratchik/HIDPowerDevice
> > <https://github.com/abratchik/HIDPowerDevice>
> > > <https://github.com/abratchik/HIDPowerDevice
> > <https://github.com/abratchik/HIDPowerDevice>>) to get it to talk to
> > NUT.
> > > Been working great for months!
> > >
> > > The Arduino is connected to two modules:
> > > * AC detection circuit to measure mains power on/off
> > > * Voltage divider and an external ADC to get a reasonably good DC
> > > voltage level for the battery which I turn into the a charge
> > percentage.
> > >
> > > This uses the USBHID driver in NUT and "just works" as long as
> > you're
> > > using NUT 2.8.2 or later. I used the example code in the
> > HIDPowerDevice
> > > library as a starting point for running on my Arduino.
> > >
> > > I can share more specifics about the Arduino side of things off
> > list if
> > > you want, the NUT side of things is pretty boring and normal.
> > >
> > > On Wed, May 15, 2024 at 3:27 PM Kiril Zyapkov via Nut-upsuser
> > > <nut-upsuser at alioth-lists.debian.net
> > <mailto:nut-upsuser at alioth-lists.debian.net>
> > > <mailto:nut-upsuser at alioth-lists.debian.net
> > <mailto:nut-upsuser at alioth-lists.debian.net>>> wrote:
> > >
> > > Hello,
> > >
> > > I found out about NUT just days ago while searching for a
> > solution
> > > for my home setup. After some digging through the interwebs,
> > I come
> > > to you with questions.
> > >
> > > I'm putting together a DIY 12V UPS, very similar to what this
> > guy did:
> > >
> > > [1]
> > >
> >
> https://baldpenguin.blogspot.com/2015/10/diy-12v-ups-for-home-network-equipment.html
> <
> https://baldpenguin.blogspot.com/2015/10/diy-12v-ups-for-home-network-equipment.html>
> <
> https://baldpenguin.blogspot.com/2015/10/diy-12v-ups-for-home-network-equipment.html
> <
> https://baldpenguin.blogspot.com/2015/10/diy-12v-ups-for-home-network-equipment.html
> >>
> > >
> > > The objective is to keep a bunch of mini PCs and network gear
> > online
> > > for as long as the battery lasts and then provide a mechanism
> > for a
> > > graceful shutdown of my NAS and other appliances for which
> > cutting
> > > power would not be healthy. The project above is missing the
> > > "connected" part. I want to get mine to play with NUT nicely.
> > Other
> > > prior art is this project:
> > >
> > > [2] https://github.com/xm381/Raspberry-Pi-UPS
> > <https://github.com/xm381/Raspberry-Pi-UPS>
> > > <https://github.com/xm381/Raspberry-Pi-UPS
> > <https://github.com/xm381/Raspberry-Pi-UPS>>
> > >
> > > Mentioned in a previous thread here:
> > >
> > > [3]
> > >
> >
> https://alioth-lists.debian.net/pipermail/nut-upsuser/2018-August/011198.html
> <
> https://alioth-lists.debian.net/pipermail/nut-upsuser/2018-August/011198.html>
> <
> https://alioth-lists.debian.net/pipermail/nut-upsuser/2018-August/011198.html
> <
> https://alioth-lists.debian.net/pipermail/nut-upsuser/2018-August/011198.html
> >>
> > >
> > > A valid approach -- emulates an existing protocol on an
> arduino.
> > >
> > > Are there other similar projects that you know of? I found
> > plenty of
> > > "DIY UPS" projects, but none were "smart".
> > >
> > > I am able to put together firmware for some micro which will
> take
> > > care of measuring voltages, currents, possibly also turn
> on/off
> > > loads, serial or USB or IP are options. Not sure yet what
> > hardware
> > > features I'll put together, but this depends somewhat on the
> > > approach for getting this thing integrated with NUT. PSUs and
> > > batteries are already on the way, and my junk drawers have
> most
> > > other parts I may need.
> > >
> > > So, options found so far:
> > >
> > > * Use genericups. Least favorite option, very limited features
> > >
> > > * Use the same approach as [2]. If I were to go that route --
> > which
> > > is the best protocol to pick for emulation? I'm looking for
> > > something simple, extensible/flexible and well-documented.
> > >
> > > But what I really wish was possible was the ability to
> > describe my
> > > device in some format, feed it to a generic driver in NUT and
> > > profit. I see some efforts have been made in this direction,
> most
> > > notably:
> > >
> > > [4]
> > >
> > https://github.com/networkupstools/nut/wiki/Data-Mapping-File-(DMF)
> > <https://github.com/networkupstools/nut/wiki/Data-Mapping-File-(DMF)
> >
> > >
> > <
> https://github.com/networkupstools/nut/wiki/Data-Mapping-File-(DMF) <
> https://github.com/networkupstools/nut/wiki/Data-Mapping-File-(DMF)>>
> > >
> > > What is the state there? Is it usable for USB HID? Or, how
> hard
> > > would it be to make it usable? Even a modbus description will
> > do --
> > > implementing the modbus server (yes, server, I'm being
> > > politically-correct) over serial or even TCP is easy, if only
> > there
> > > was a way to dump a CSV with register descriptions in some
> > magical
> > > driver...
> > >
> > > And yet another approach which comes to mind is to implement
> my
> > > driver as an external executable. This may be completely
> > unfeasible
> > > and stupid, and please let me know if it is. But, from what I
> > > gather, drivers run in their own process and talk to the
> > daemon via
> > > a UNIX socket. Why not make it possible for the driver to be
> just
> > > any executable, built/deployed outside of the NUT codebase?
> The
> > > socket protocol seems simple enough, and this will allow for
> ...
> > > creativity. It could be implemented in any language (including
> > > scripting languages) and need not depend on anything
> > NUT-specific,
> > > other than maybe some common CLI interface and/or
> configuration.
> > >
> > > I'm hoping the NUT masters will have some insight. Thanks for
> > > working on this!
> > >
> > > Cheers,
> > > Kiril
> > > _______________________________________________
> > > Nut-upsuser mailing list
> > > Nut-upsuser at alioth-lists.debian.net
> > <mailto:Nut-upsuser at alioth-lists.debian.net>
> > > <mailto:Nut-upsuser at alioth-lists.debian.net
> > <mailto:Nut-upsuser at alioth-lists.debian.net>>
> > >
> > https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser
> > <
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser>
> > >
> > <
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser <
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser>>
> > >
> > >
> > > _______________________________________________
> > > Nut-upsuser mailing list
> > > Nut-upsuser at alioth-lists.debian.net
> > <mailto:Nut-upsuser at alioth-lists.debian.net>
> > >
> > https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser
> > <
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser>
> >
> > _______________________________________________
> > Nut-upsuser mailing list
> > Nut-upsuser at alioth-lists.debian.net
> > <mailto:Nut-upsuser at alioth-lists.debian.net>
> > https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser
> > <
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser>
> >
> >
> > _______________________________________________
> > Nut-upsuser mailing list
> > Nut-upsuser at alioth-lists.debian.net
> > https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser
>
> Cheers, Gene Heskett, CET.
> --
> "There are four boxes to be used in defense of liberty:
> soap, ballot, jury, and ammo. Please use in that order."
> -Ed Howdershelt (Author, 1940)
> If we desire respect for the law, we must first make the law respectable.
> - Louis D. Brandeis
>
>
> _______________________________________________
> Nut-upsuser mailing list
> Nut-upsuser at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/nut-upsuser/attachments/20240516/4e22cef6/attachment-0001.htm>
More information about the Nut-upsuser
mailing list