ValhowellPower
Veteran Member
Has anyone implemented an auto start for the NL 20kw generator? Has anyone done it using a victron CERBO? Thanks
DSE looks really good. I had never heard of them, but neither had I ever heard of Dynagen. You approach is exactly how the Dynagen works in a NorthernLights generator. The only difference is that they still have all three safety switches wired in parallel so you can't easily tell which has triggered, I'm in the process of re-wiring mine to use spare controller inputs to separate them out to make diagnostics easier. I'm not sure why NL didn't do this from the get go, but they probably had their reasons.I've installed many a autostart on generators, including NL units.
The best ones I've used were from a company called Deep Sea Electronics.
The fastest and easiest way to implement these are to completely disconnect and remove any of the OEM shutdown, relays and wiring and wire the unit directly to the various sensors on the generator.
The crank signal wires directly to the start solenoid, through a interfacing relay, and the RPM is generally through a mag pickup, but some units can use the generators AC output as a speed sensor.
Then it becomes a industry standard 2 wire start. You connect that to the Victron with whatever paramaters you like to run it, for example SOC.
Yes, I think so. Mine certainly is. Are you concerned about safety with a gas boat and generator? I probably would be too.Uh, this is on a diesel boat, right ?
This all exists on my workbench at this time in order to get all this working, but will replace an existing Multiplus system that has lived on the boat for the last 6-7 years as part of a complete AC power upgrade. Boat is a CAT 3126 power 410 Sea Ray. Idea is have the old system removed and this system dropped in place with minimal down time. It's a lot of pre-planningNice job. In your setup, on shut down does the Quattro back off and stop drawing input power before disconnecting from the generator, and then after a cooldown the generators shuts off? Or does the generator shut off and the Quattro disconnect once input power falls out of spec?
I have been doing all my control via Modbus RTU to the Dynagen, and Modbus TCP to the GX device. But I have not tried to get the Quattro to stop using power before opening my contactor. It all works fine, but I would prefer a more graceful shutdown with contactor disconnect with no load.
I think NL looks at the at the start controller as a add on, so they figured out how to do just that add it on.DSE looks really good. I had never heard of them, but neither had I ever heard of Dynagen. You approach is exactly how the Dynagen works in a NorthernLights generator. The only difference is that they still have all three safety switches wired in parallel so you can't easily tell which has triggered, I'm in the process of re-wiring mine to use spare controller inputs to separate them out to make diagnostics easier. I'm not sure why NL didn't do this from the get go, but they probably had their reasons.
When you talk about supported generator controllers, is the interface just a simple digital signal or contact closure, or are they talking to the controller over canbus, modbus, or modbus TCP? I'm just wondering how sophisticated the "interface is". It's seems that 90% can be done with a simple one or two wire interface, and that 90% of the controllers support such an interface.The choice of AutoStart controller is a little complicated, as they all have pros/cons and integration to the various systems/networks on the boat requires a customized solution. You would think in 2025, the generator Mfg's would have this worked out,but nothing is standardized.
I've had Mebay and DynaGen (NL TSC) controllers. Victron just came out with a list of generator controllers that they support, including a few specific DSE controllers, and I'm trying to add the Dynagen capabilities. I know a Venus drivers exists for MEbay unofficially and I may try one of those, but not sure the J1939-N2K will work on that controller.
Yes I am curious as well, are we trying to get the generator to talk to the Victron?When you talk about supported generator controllers, is the interface just a simple digital signal or contact closure, or are they talking to the controller over canbus, modbus, or modbus TCP? I'm just wondering how sophisticated the "interface is". It's seems that 90% can be done with a simple one or two wire interface, and that 90% of the controllers support such an interface.
I confess to doing autostart by reading and tickling various Modbus registers, but most of the reason to do it that way is because I pull all the generator and power system data to display it on my screen. The actual start, stop, load/noload can be done with a couple/few wires and is super simple. Maybe Victron has just provided simple wiring and config details for various generators. I could see that being helpful for a lot of consumers, and save Victron support calls at the same time.Yes I am curious as well, are we trying to get the generator to talk to the Victron?
I confess to doing autostart by reading and tickling various Modbus registers, but most of the reason to do it that way is because I pull all the generator and power system data to display it on my screen. The actual start, stop, load/noload can be done with a couple/few wires and is super simple. Maybe Victron has just provided simple wiring and config details for various generators. I could see that being helpful for a lot of consumers, and save Victron support calls at the same time.
I'm doing it all with an of-the-shelf PLC.So... you are going direct computer to Modbus? Something like wonderware??? you have built your own mini SCADA systemDo you run a dedicated server or use a normal desktop/laptop?
What would be sorta cool is if the Victron gear could talk directly with the generator controller for those of us that do not run dedicated SCADA masters on our boats. A sorta work around is to use one of the Victron energy meters on the generator feed, that's what I do. That way we get real time accurate generator loading on the main screen of the Cerbo, but we of course do not get engine data.
Do you run all the sensors on your generator directly to your PLC as analog and status, or do you use the PLC to interrogate the generator controller using modbus or some other protocol like DNP?I'm doing it all with an of-the-shelf PLC.
The later. The generator is controlled by the Dynagen, including all sensors. I then Interrogate the Dynagen via Modbus. To stop and start the gen, I tickle various registers in the Dynagen, again via Modbus. So the only electrical connection between the PLC and Dynagen is a Modbus cable.Do you run all the sensors on your generator directly to your PLC as analog and status, or do you use the PLC to interrogate the generator controller using modbus or some other protocol like DNP?
Yes!!! it is really geeky, but really cool!!!The later. The generator is controlled by the Dynagen, including all sensors. I then Interrogate the Dynagen via Modbus. To stop and start the gen, I tickle various registers in the Dynagen, again via Modbus. So the only electrical connection between the PLC and Dynagen is a Modbus cable.
Similarly, I pull a variety of data from the Victron GX device, this time via modbus TCP. I get inverter input and output, BMS data on batteyr V, I, T, SOC, etc, solar status, etc. I can also change the input power limit in the inverters so depending on what power source they are connected to, I can limit their draw so it doesn’t trip breakers. This last feature is newly added as of last summer and has significantly simplified day to day operation. At this point I really don’t have to do any load management at all. I just start a generator or plug in a shore cord, and everything else takes care of itself.
There also is a bank of contactors controlled by the PLC to connect various loads to various power sources. I have little Modbus AC power sensors scattered about so I can see V and I on the shore cords. So I know when power is available on any shore cord or generator, and can connect loads automatically. I also have a contactor in each isolation transformer that controls its boost function. The PLC activates that depending on the metered shore power voltage. And when boosted, the inverter power limit gets scaled back to accommodate the difference between iso transformer input and output current.
It’s a total geek-fest.
LOL LOL LOLThe level of specific knowledge on this site never fails to impress me. Great discussion, though it lost me at some point.
So Twistedtree is the real brain in this conversation, I'm just trying to figure out what he did and how he did it.LOL LOL LOL
Yes!
I was summarizing the conversation with Twisted Tree and KSanders to my wife. I was telling her I understand a bit of what they were saying, but it was like I was listening to Star Trek Techno Babble, except what they were discussing was real. LOL LOL LOL
OK, now it's total geek-out time. Avert your eyes if not interested....Yes!!! it is really geeky, but really cool!!!
I'm new to this, and just started using PLCs a few years ago. From what I can tell, SCADA is an industry name and standardized architecture for what I'm doing. Or looking at it another way, inside every SCADA system is the stuff I'm doing. But maybe that's over simplifying? I honestly don't know.Please excuse because I'm not a off the shelf PLC guru. My experience is with larger SCADA systems controlling dedicated protective relays, talking to RTU's, etc, so please excuse my sorta dumb questions...
Yes. I actually have three PLCs running on the boat, but may combine two of them. We have been talking about the PLC that controls the power system. I have a second one for a few aspects of Helm control, This includes follow up steering control, simple fuel management, and horn automation. The third is new and is essentially a Dockmate/YachtController substitute. I had a miserable experience dealing with Dockmate trying to get their product, so instead made my own. There is a good chance that I will combine this PLC with the helm PLC, but right now they are separate. All the programming is with Ladder Logic, plus a few scrips in a C-like language.Does your PLC directly connect to a graphics based HMI?
I would say it's a robust design, but definitely not fully redundant. The PLCs have a watchdog function that will restart them if the internal SW goes haywire, but if a whole PLC fails I need to replace it with a spare. But if one fails, I'm not dead in the water or in any immediate peril, so I have time to replace it. The same is true for the network switch. Each PLC and HMI has it's own power supply so a failure there is the same as any other failure in the device. Everything runs off the 24V house bank, and a failure there will shut down the system. But I have a dual BMS house bank, and parallel switched where I can switch teh house loads over to either of two AGM start banks. So lots of backups that can restore power pretty quickly. But it's not a transparent failover.Also I know plc's are super reliable, but does yours have any redundancy built in? For example if the processor dies, is there a watchdog that brings up a backup? Redundant power supplies? Do the IO cards retain their last state in case the processor dies, or needs rebooting?
I'm using ABB contactors that are energize to close. If power fails, they all open. Each also has an integral aux relay that is break-before-break, and make-before-make that is used as an interlock cross check. This gives a dual safety system to make sure contactors are always in the commanded position. The first safety check is the PLC code itself which only allows one power source to be connected to a load at any given time. The second safety involves separate monitoring of the aux relays and confirming that a contactor's actual state always matches the commanded state. If a conflict is ever detected, it is reported and everything opens. I don't claim it to be 100% foolproof, but I have tested every fault condition I can think of and so far it does what I expect. The rest is why I have circuit breakersOh... also are you using seperate trip and close coils for your contactors? do those have a status contact to show their state, or are you using the control out from the PLC to determine their status?
Right now I'm using static numbers, but I'm thinking about trying to make it dynamic. Static was a good starting point to get everything working and tested. I basically have three load panels; 1) the inverters, which in turn power nearly all my AC loads, 2) Non-inverter loads which are electric hot water heater elements and shore chargers, and 3) HVAC loads.Are you doing dynamicially loading your generation sources bases on actual loading, or are you using static numbers for each load and rated capacity for your generation sources?
This is all very curious to me.
I really like what you are doing! You have taken the problem we all have of power sourse selection, and load management to level where as you indicated you do not need to get actively involved. I really like that, especially when you are not on the boat, or a source fails. Great setup!OK, now it's total geek-out time. Avert your eyes if not interested....
I'm new to this, and just started using PLCs a few years ago. From what I can tell, SCADA is an industry name and standardized architecture for what I'm doing. Or looking at it another way, inside every SCADA system is the stuff I'm doing. But maybe that's over simplifying? I honestly don't know.
Yes. I actually have three PLCs running on the boat, but may combine two of them. We have been talking about the PLC that controls the power system. I have a second one for a few aspects of Helm control, This includes follow up steering control, simple fuel management, and horn automation. The third is new and is essentially a Dockmate/YachtController substitute. I had a miserable experience dealing with Dockmate trying to get their product, so instead made my own. There is a good chance that I will combine this PLC with the helm PLC, but right now they are separate. All the programming is with Ladder Logic, plus a few scrips in a C-like language.
Then I have two HMIs. For those not familiar with the lingo, that's a Human-Machine Interface, aka a touch screen display. Both offer the same screens and can control functions that reside in any of the PLCs. But they are also independent so if one fails, I still have the other. All are interconnected via wired ethernet on a switch dedicated to the PLC control system.
I would say it's a robust design, but definitely not fully redundant. The PLCs have a watchdog function that will restart them if the internal SW goes haywire, but if a whole PLC fails I need to replace it with a spare. But if one fails, I'm not dead in the water or in any immediate peril, so I have time to replace it. The same is true for the network switch. Each PLC and HMI has it's own power supply so a failure there is the same as any other failure in the device. Everything runs off the 24V house bank, and a failure there will shut down the system. But I have a dual BMS house bank, and parallel switched where I can switch teh house loads over to either of two AGM start banks. So lots of backups that can restore power pretty quickly. But it's not a transparent failover.
I have the PLCs set up to retain their IO state across restarts and power failures. I went back and forth on this, and settled on the current approach simply because it allows me to reprogram and restart the PLCs without killing power. Plus is makes saving configuration data a lot easier. That said, there are selected states that always get reset or reinitialized on restart, where that is appropriate.
I'm using ABB contactors that are energize to close. If power fails, they all open. Each also has an integral aux relay that is break-before-break, and make-before-make that is used as an interlock cross check. This gives a dual safety system to make sure contactors are always in the commanded position. The first safety check is the PLC code itself which only allows one power source to be connected to a load at any given time. The second safety involves separate monitoring of the aux relays and confirming that a contactor's actual state always matches the commanded state. If a conflict is ever detected, it is reported and everything opens. I don't claim it to be 100% foolproof, but I have tested every fault condition I can think of and so far it does what I expect. The rest is why I have circuit breakers
Right now I'm using static numbers, but I'm thinking about trying to make it dynamic. Static was a good starting point to get everything working and tested. I basically have three load panels; 1) the inverters, which in turn power nearly all my AC loads, 2) Non-inverter loads which are electric hot water heater elements and shore chargers, and 3) HVAC loads.
The Inverters can create a dynamic load by shedding charger power draw, and by augmenting load power via inverting. Their input load limit is the setting that I manipulate. Loads on the non-inverter panel and the HVAC panel are not seen by the inverters, so the inverters can't react to those loads. As a result, I need to have a allocation for those loads, and deduct it from what's available when I set the inverter limit. So let's say I'm on a 50A shore cord, and have 7A allocated to non-inverter loads for the water heater. That will result in an inverter limit of 43A. And if transformer boost is active, the available 50A gets reduced by 12% (the boost percentage), and then allocated the same way to the loads. HVAC is a bit of a special case because is can either be directly connected to the power source, in which case it is assigned a power allocation just like the non-inverter loads. Or it can be powered through the inverters in which case it just becomes part of the inverter loads and the inverters manage it.
I have the instrumentation to monitor actual loads, and could dynamically vary the inverter input load limit, but from what I have seen, there is a several second delay from when I issue a change to the input limit before the change shows up when I read it back. My concern is whether I can change the limit fast enough with larger, varying loads before the inverter trips out. I will likely experiment with this over the summer while I'm on the boat all the time.
Victron has long had simple digital signal/relay autostart capabilities in most of their inverter/chargers and more recently with the Cerbo GX, but it was pretty simple, not much in the way of feedback, monitoring. It works nicely, and this is how I currently have the system designed.When you talk about supported generator controllers, is the interface just a simple digital signal or contact closure, or are they talking to the controller over canbus, modbus, or modbus TCP? I'm just wondering how sophisticated the "interface is". It's seems that 90% can be done with a simple one or two wire interface, and that 90% of the controllers support such an interface.
Thanks, and glad you like it. It's not for everyone, I certainly admit that. But for me it has been fun to do, creates a more flexible power system, and gets rid of the need to baby sit things. And doing it with industry PLCs, HMIs, etc creates something that is robust enough that I am comfortable with putting it in charge. I wouldn't be so confident with an Arduino or Raspberry Pi, certainly not with any sort of windows or Mac system, and I would never let Maretron N2KView control anything.I really like what you are doing! You have taken the problem we all have of power sourse selection, and load management to level where as you indicated you do not need to get actively involved. I really like that, especially when you are not on the boat, or a source fails. Great setup!
A tiny SCADA background. Yes a SCADA system involves PLC's, but not so often in my industries generic PLC's. We use devices for example in grid protective relaying that technicially have a PLC in them, but their code is pre-programmed and not changeable to perform a specific function. For example monitoring the parameters of a substation transformer, or transmission line and making a decision to trip that device or line offline in the event the limits you program into them are exceeded.
These devices are constantly interrogated by the SCADA server(s) at the control center, and the data from many devices and locations are displayed for the grid operators to control the electrical grid. Back in the day when I started we used modbus over RS-485 or RS-232 but we have switched for the most part to more "modern" protocols such as DNP (distributed Network Protocol) and we are running that more and more frequently encapsulated in ethernet for modern network compatibility.
We do see some generic PLC's used in specific fields such as wellhead automation where each company develops their own way of doing things, but the electrical industry has standardized on offerings from folks like ABB and Schweitzer Engineering Laboratories, along with just a few software package offerings for the SCADA system. This insures that we can all talk to each other and share data.
We see a lot more "home built" solutions in the oil and gas industry but they too are over time buying a software package and purpose built controllers, eliminating the need for that level of in house engineering, and software support.
But... back to your solution...
I really like that you are using Aux relays as a interlock, as we all know contractors sometimes fail. Just the idea of running your energy sources and loads through contactors is a huge step forward. This puts you in a position to experiment a bit with your load management without having to rewire anything. It also allows a single system you have to deal with to make changes how you manage things.
But... and those reading this should understand. What you are doing, using Ladder Logic is really intensive coding wise, and I applaud you for getting it all up and running correctly.
Very cool!!!
Question...Thanks, and glad you like it. It's not for everyone, I certainly admit that. But for me it has been fun to do, creates a more flexible power system, and gets rid of the need to baby sit things. And doing it with industry PLCs, HMIs, etc creates something that is robust enough that I am comfortable with putting it in charge. I wouldn't be so confident with an Arduino or Raspberry Pi, certainly not with any sort of windows or Mac system, and I would never let Maretron N2KView control anything.
In the whole debate over "complexity", whether it's an electronic engine, electronic shift controls, generator autostart, etc. I think it really all comes down to whether the thing in questions actually works. And by "works" I mean that it works all the time, every time, for a very very long time. Automation that works is wonderful. Automation that doesn't work sucks and is "over complicated". Consider your car. It has three simple controls; a gas peddle, a brake peddle, and a steering wheel. We all love our cars, but consider all the engineering and automation that is behind that. Fuel injection, ABS brakes, daytime running lights, environmental controls, instrumentation and gauges, etc. It a tons of stuff, quite literally, but it has been reduced down to very simple and reliable operation. That's "good" automation, and something we all welcome, at least over time.
The first iteration of this just did all the power relay switching and associated safety interlocks. And the controls were "manual", i.e. from the display you could manually select which power source to use for each of the Inverters, non-inverter loads, and HVAC. There was no automation beyond that. I built and tested it all at home and shipped it along with schematics to the yard that was building my boat. I also wrote a startup and test procedure for them to use to verify installation. Everything worked the first time, save for one contactor where I gave them an incorrect wire connection. The safeties detected it and said where the problem was. It was a simple fix; I told them to wire to one IO port when my software used a different port. I just had them move the wire to the port used by the software and everything worked after that, and has continued to work to this day. Since taking delivery of the boat, I have added all the automation one piece at a time.
That's a lot of nice stuff that Victron has added, and now I see what you are wanting to do. Victron has basically pulled all the generator control stuff that I created in my PLC into the Cerbo. That makes it much more accessible to people.Victron has long had simple digital signal/relay autostart capabilities in most of their inverter/chargers and more recently with the Cerbo GX, but it was pretty simple, not much in the way of feedback, monitoring. It works nicely, and this is how I currently have the system designed.
With the introduction of firmware 3.50+ there are a couple of generator models that operate over CAN Bus, and several others that allow rs-485, and Modbus-TCP. This is all pretty bleeding edge and the details are limited. This may take some time to mature. I'm looking at it as I'm designing a upgraded system and have everything on my local bench so easily tested.
I've attached the powerpoint for those interested.
![]()
public - Generator start/stop improvements
Generator start/stop improvements Venus OS v3.50 Sept 2024 Public link: https://ve3.nl/gx-genset-slidesdocs.google.com