Showing posts with label Status. Show all posts
Showing posts with label Status. Show all posts

Saturday, March 31, 2018

1st artical of revised controller finished proofing!

It has been a while for any BLOG updates, but during that time progress has been happening.  Today I finished hardware verification of the revised PCB design, including the migration to the STM32F07 CPU.  Software porting has been going smoothly, once I did the homework around the development environment  (STM CubeMX + Keil uVision). 

This coming week I am going to be revising the PCB layout ready for another round of FAB, and will post up the schematic at that time.  Firmware is still under development, but largely ported.  Mostly I need to finish the throttle control, augment thee ASCII status strings and commands to allow for configuration options around the engine, as well as work to place the controller into a low-power state when the DC generator is not operating.

One challenge will be how to have them assembled (I will NOT be hand-soldering them up for folks, though could make the PCB available for anyone who wishes to do so themselves!)  At min, really need 10x to make a viable assembly run.  There are a few folks ready interested in this, if you have an interest drop me a line and I can add you to a mailing thread we have going.

Remote:  I do have a 1st articular of the remote assembled, but have not done any work with it.  I am focusing on the controller 1st, will look at the remote later.  (Will require use of local on/off switches for now).


Wednesday, March 4, 2015

Source Code v0.1.6 released

Today I posted source version 0.1.6 for the SERC (Controller) source code.  The remote source is unchanged, and there has been no additions to the config.h include files.  See the above Source resource tab to download the new code.

The reason for this release is to bring the DC Generators core regulation functions back in step with changes which have been made in the stand alone Arduino Alternator Regulator source.  These mainly focus on the core mange_alt() function and include:
  1. Expansion of P&D engine to include 'I' factor, now a full PID capable engine.
  2. Improved field PWM error summing to prevent one factor from overwhelming others when regulation is close to its goal (esp Voltage)
  3. Adjusted pull-back factors, to lessen the dramatic pull down associated with common load-dumps
Some other bugs have been corrected, see the change log for more details.  Along with the above core changes, I have also adjusted the default PID tuning values - based in feedback from others and trials on Viking Star. The original values were developed with a small-frame alternator, and turned out to provide insufficient sensitivity when a larger alternator was used - esp in conjunction with a high acceptance rage battery such as AGM or perhaps LiFeP04 technology.

Over the coming months  I hope more can be learned about the core regulation engine, and perhaps further refinements can be made to the PID tuning.  Given the common code base between the DC Generator and the stand alone Alternator Regulator there is opportunity for all to help in any future adjustments.

There had been no changes to the configuration.h file, so if you have already edited a copy of that to match your system - just download the core .INO source file and team it up with your edited config.h file.  That way you will get the new code, and retain your individual customization.


A final note:   Over the past few days I have completed a changeover to the newest Arduino IDE release v1.6.0   This release of source was tested using the new IDE, and going forward will continue to keep largely in step with the RELEASED (non beta) versions of the Arduino IDE.  I suspect the DC generator source will work OK with the prior IDE released (1.0.5, or 1.0.6), but have not been actively using those for about a week now.

Sunday, July 6, 2014

v0.3.1 design posted

Though it has been up there for a few days, today I am announcing the availability of v0.3.1 design in the links above.  This includes CAD files, parts lists, etc...

This release resolved the fatal issue in v0.3.0, and represents the group build status.   One thing to point out:  The design  and PCB for the remote LCD is largely unchanged between v0.3.0 and v0.3.1, either board will work, though I did refine some component values (ala the I2C pull-ups), so just use the 0.3.1 BOM for the latest.

There is one oddity with v0.3.0 LCD remote, and this is in the the support for the optional low-cost China CR2032 battery holder.  The pins are a little off, and one needs to shift the socket a little when installing it, like this:



Offsetting Chinese CR2032 battery holder

Saturday, July 5, 2014

Its Alive!!!

Well, part of it at least.  Today I soldered up one of the new remote LCD boards and powered it on:



When completed the LCD board flips over and mounts on the back under the LCD; it is exactly the same size.  But here I have it bridged using a proto-board, with the Service and ICSP ports connected and supplying +5v.

When I get in the revised controller boards will proof out the CAT-5 cable buffers as well.

BTW, the message "We are Alive!!!" is what the Arduino sketch for this remote LCD / keyboard module displays upon power up.  In use it would very quickly be overwritten by the start-up messages from the controller.  But at least this gives a quick way to check things are working locally.






Thursday, June 12, 2014

Release v0.3.0a has fatal flaw

Last night I realized there is a fatal flaw in release 0.3.0 of the controller design.  The snubber / ESD protection BAT54's are designed in backwards (+5 vs. gnd), and instead of providing protection they provide a direct short between +5 and gnd.

I have pulled all the v0.3.0 files from the links above, once I have revised the design I will repost a new version.

Sunday, June 1, 2014

Released design v0.3.0 - Learnings from Stand-alone Alt Reg + SMT conversion

Today I posted v0.3.0 of the controller and LCD remote to the blog (See links above, Schematic, PCB, BOM, CAD files..)  This has been a MAJOR update to the design, with highlights being:
  • Included leanings from Stand Alone Regulator, example:
    • Universal Field FET driver, no more need for stuffing options to support 12-48v, P or N fields.
    • Upgraded to INA226 and fixed divider resisters, no more need for stuffing options voltage sample
    • System pre-regulator now 12v, largely to support universal Field FET driver
  • Revised P-FET drivers to use a constant-current approach and thereby removing stuffing options (System voltage is still limited to 12v or 24v systems, even if Alternator / Field can go to 48v)
  • Increased a bit the robustness of CPU protection, ala adding 100 ohm resisters between clapping diodes and CPU to help protect CPU internal clamping diodes.
  • Moved most components to SMT.

This last change is perhaps the biggest, it will allow machine assembly of most all the low-power components on the board, plus a smaller PCB.   Not only will one no longer need to hand-solder the small SMT parts (esp the INA226's), but by leveraging lower costs in China, we can get the partially assembled PCB w/SMT components for about the same cost as the blank PCBs alone from the prior source.

Note:  Because the pre-regulator was modified (from 9v to 12v to support the FET driver) you MUST use a new LCD remote PCB with this new controller, or modify an existing one to use around a 12v pre-regulator.  The voltages on the CAT-5 interconnect need to be about the same on both ends for the P82B96's to function correctly....


I will be sending this design off for manufacturing Monday.  There is one set of boards not spoken for, if you want it drop me a line.  Else  I will start making a list, and perhaps do a next round if there are enough folks after this.






Sunday, May 25, 2014

1st cut - moving to SMT; getting ready for a short assembly run.

Last week I was busy revising the controller design and moving it to SMT parts.  This is in preparation to having a small run of boards made up, and then machine assemble a large part of it.  Major changes to the design include:

  • Utilized universal Field driver ckt to support 12v-48v, P or N type alternators.  No more need for stuffing options.
  • Also updated the FET drivers for things like starter, glow plug, etc to remove the need for stuffing options.
    Power supply now stuffing free as well 
  • Moved most of the components to SMT, and selected parts from the standard pool of parts at Smart-proto

Overall, most everything has been touched and/or refreshed. The PCB is smaller now, 15x15cm to match a ‘price break’ size for may PCB fab housed.  I looked into going to 15x10cm, but just ran out of edge space for all the connectors… Moving to SMT will allow China to not only manufacture the PCBs, but also do machine assemble of as much as possible. Will decide about hand-soldering through-hole components based on the outcome of the regulators, but it is not too promising IMHO.

Here are three CAD 3D renderings of the PCBs as they are now.


Biggest change: controller board.  Now mostly SMT, except the high power parts.


SO much blank space.  PCB is 15 x 15cm.  I looked into squeezing it more, to perhaps 15 x 10cm, but just ran out of edge space for all the connectors.  SMT stuff is amazing; I even tried to select somewhat 'larger' parts in case repairs, or handwork is needed.  Even so - - - -



Only change for the remote is in the Power Supply side, to match the controller



Notice how the PCB has been sized to match the LCD, no more overhang!


For now I left the remote panel as through hole.  There is only one part that likely will be SMT, as the DIP-8 versions are getting hard to find.  This would mean you would need to solder up the remote yourselves, all the parts as opposed to just a few.  My thinking is:  There really are not many more components that can be put into SMT, the CPU, about a dozen resisters and diodes;  it might not be worth the extra setup costs just for those.

I want to take a break over this weekend from this, and then do a review of the design as well as the PCB layout next week before releasing the revised schematic to the blog.  One thing I need to double check is the heat disbursement;  the SMTs are much smaller in that regard and I need to make sure I am not over-burdening anything.

There is now people interested in 8x of these controller boards, we are looking to do a small PCB run + machine assemble of the SMT parts.   If you are at all interested in joining, drop me an Email.  I figure things will get moving perhaps mid June.

Tuesday, May 20, 2014

MOVEMENT! Working to revive the PCB, and going to do a build / assembly run this summer.

Well,

The Stand Alone regulator is starting to see the end of the tunnel, and I am now going to put some focus on this integrated controller project.  I have three persons interested in 6 or so PCB sets, so am going to be reviving the PCB.  I am looking to do the following:

  • Correct any known issues.  (Very few).
  • Transfer learns from the Alternator Regulator over (thinking about the FET driver, and Service Port)
  • Moving more components to SMT.

I have am just starting, so the details will be changing.  But, the last item - moving to SMT - is to allow for the boards to be partially assembled via Machine. Not only the INA-226's, but also things like the Resisters, Diodes, etc...


If you are interested in one of these, drop me a line.  Will not be ordering till later this summer, but if you want one, would be a good way to get one with the hard assembly work done, and for a reasonable cost.




Thursday, February 20, 2014

v0.1.4 of source code posted

As promised, I have made a small change to the source to support either the INA-220 or the INA-226 chip.  These are pin compatible chips, and either CAN be used, though the INA-226 is an improved chip.

If you are doing a 12v system, either will be fine.  As with a 24v system (though to support 24v, the INA-220 will need some pre-scaling divider resisters, which the INA-226 can support a 24v system directly).  For 26/48v, the higher native voltage of the INA-226 (36v vs. 28v), plus its higher input impedance makes for a slightly more stable and accurate measurement chip.

You can read a bit more about this here: SmartDCgenerator.blogspot.com/....improved-voltage-sensing-chip

Now, a WORD OF CAUTION:   Because I am away from the boat these days, I have NOT BEEN ABLE TO TEST THIS CODE ON ACTUAL HARDWARE!!!   As such, I left the prior version (v0.1.3) on the google drive as well as the new v0.1.4 version.

Also note that I revised the order of the parameters for the #define AMP_SHUNT definition, from mv/Amps to Amps/mV










Sunday, January 12, 2014

I am still here!

No,  this Blog is not dead.  I am still here, it is just that with the Winter there has not been too much to do on the DC generator.  But I do have some additional changes to make in the Firmware.  I am going to add in a switch for the improved INA-226 Voltage sampling chip, leveraging work off of the stand alone alternator regulator.  And this winter I found myself needing to rebuild the Kubota EA-300 engine, its blow-by increased greatly over last summer.  A tear down revealed a need for a complete overhaul (head and resleeving).  Machinists figures the engine sat for several years w/o use, and w/o being prepared for such storage.  Given it was an Army Surplus / EBay engine, who knows.  But in any case, for well under $400 I have a new head / cylinder and almost a know engine!

What this means is I will be adding an engine profile called 'break in', need to research the appropriate loading regiment for engines and will add a switch to the source to all for this.  While I am at it, I will be adding two pressure monitors to the water-maker:  Prefilter - looking for vacuum, and HP side - looking for overpressure.  These will be traps to stop things if a fault occurs, as opposed to active monitoring and control.  (That might be down the road).  But I want to add these safety features at least.

Still have a couple of PCBS left, if anyone is interested.  Do ask you pay for shipping of one, and if you are willing also pick up the shared cost of their fab ($40).

Stay tune for a revision to the source, I figure I will be able to get the INA-226 out some time before April, with the break-in profiling after that.  And will also spend some time running through the whole blog - cleaning it up some as well as filling in some of the stubs.









Saturday, October 19, 2013

Improved Voltage sensing chip?

Over the summer I have been working not only on refinements to this integrated engine controller and alternator regulator firmware, but have also been working on the stand-along alternator regulator project (arduinoalternatorregulator.blogspot.com/).  One of the goals of the standalone regulator was to self-adjust for 12v up to 48v batteries.  After I finish the stand-alone regulator I will be taking all the learning’s and rolling them back into the integrated controller, but there is one learning that I think would be appropriate to share today…

The INA-220 is a great chip, and core to these designs.  It also is limited to 28v max.  As such, to use it for any system greater then 24v divider resisters are needed to pre-scale VBat (and even 24v batteries can exceed this limit during equalization).  What I found out over the summer is the input impedance of the INA-220 is not that stable from part to part, and is also rather low.  As such the resister divider network tends to introduce a wider range of error that I would like – errors that delta from part to part.

Fortunately, TI now offers an upgraded part called the INA-226.  This is pin compatible to the INA-220 and has much better input impedance characteristics – both higher and better controlled.  And more interesting, it is tolerant up to 36v natively!   So, this means that NO pre-scaling will be needed for 12v or 24v systems, even during equalization on 24v batteries.


So if anyone is looking to do a 24v or 48v system you might want to look to upgrade the INA-220s to INA-226s.   It will give you much more accurate results as well as reduce the need to ‘fine tune’ adjustment factors.  (and 24v systems will need no resistor divider at all)  There is a firmware change needed as the new parts have a slightly different register layout; I have some parts on order and will be updating the firmware over the next couple of months.


Sunday, October 6, 2013

v0.1.3 of source code posted

Today I posted V0.1.3 of the source code.   Over the summer I have been fine tuning the controller, looking at the PID for managing of watts and more specifically how it handles temperature limits, added a couple of new operating modes and a true load-dump trap.  Changes include:

  • Corrected bugs in LOCKOUT mode.
  • PID tuning for Amps and Temperature PID engines.
  • Two new modes:  Quiet Generating, and Prime Oil Pressure
  • Load Dump trap (based on rate of change of Voltage vs. time)
  • Self-learning wattage caps when over temperature situations are detected
  • new #define TESTING that allows for limited bench-testing w/o generator
You can see the new source code via the SOURCE link above. I also posted v0.0.2 of the integrated remote source code which is needed in order to select Quiet Generation mode from the remote.  You can still use v0.0.1 of the remote code (or even the original non-Arduino based LCD remote design), you just will not be able to place the generator into Quiet Mode.

Perhaps the  biggest change is on how over temperature limits are handled.   In addition to doing some tuning of the PID engine (mostly around EGT limits), I also added in code that will learn from over temperature conditions and reduce the maximum load placed on the engine.  This is to prevent the over temperature situations from happening again.  It also removes an interaction between the Watts PID and the Temperature PID.   (I 1st noticed this happening when EGT limits were exceeded.  The EGT PID would pull things back till the engine cooled at which time the Watts PID would say - OK, lets Go Hard Again!!).   Watts Pullback is enabled for all three of the temperature limits (EGT, Engine, and Alt), but the EGT is the temperate most likely to walk the the line,.  This is to be expected as a key goal of this project was to minimize total run time by maximizing the load on the engine at all times. So, I added code to pull-back the target watts whenever a temperature limit is reached.   And this pullback is self learning, resetting itself each time the generator is restarted.

Quiet Mode is a new mode that simply limits the engine RPMs to a defined maximum (with the appropriate reduction in watts to match the lower engine power output).  Allowing 'quieter / gentler' running - suitable for those times when running Full Out is not appropriate.   With the new remote LCD code, Quiet mode is selected by pressing AND HOLDING the Run-Gen switch for 3 or more seconds.  And you can toggle in / out of Quiet Mode by simply pressing the Run-Gen switch to get back to Full Power;  pressing and holding it to get back into Quiet mode.


Prime Oil Pressure will enable the starter but NOT the fuel.   It will turn the starter while monitoring the Oil Pressure gauge waiting for the Oil pressure to come up.  (Starter is spun in the same pattern as during regular starting - currently defined as a max of 5 seconds, the a 4 seconds rest period.  repeated a up to 4 times - See source code to change these values).   It can be used to 'prime up' the engine oil system after changing oil.   Currently the only way to select this mode is via an attached debug terminal.

I added in code to specifically look for a load-dump condition.  While debugging the stand-alone voltage regulator I found the PID engine alone was not sufficiently quick to rein in large alternators (ala the 270A monster I have on our mains vs. the 135A one of the generator) where there was a massive reduction in load on the overall system.  For example, when the heating element on the dryer cycled off and the battery was almost fully charged (and hence the battery voltage was at its target) I could see a voltage overshoot approaching 450mV (almost 1/2 a volt).  I added in code to not only more aggressively reduce the PWM if a voltage overshoot condition occurs, but more importantly try to prevent it in the 1st place by looking at the rate of change of voltage over time (dV/dT).  Using both these approaches I am able to contain load-dump overvoltages to 35mV above target.  


And finally I placed in a #define TESTING switch.  Enabling this will dummy-up key sensing (ala battery voltage,  alt amps, EGT, etc..) to allow for a level of bench-testing of the code on a stand-alone Arduino development board.   It is some of the early mock-up code I had in there before I had real hardware, and I find it useful when doing things like adding new modes of operation (ala Quiet mode) to be able to 'test' things out before trying it out on real hardware.   But DANGER:  MAKE SURE #TESTING IS NEVER DOWNLOADED TO A REAL GENERATOR, as all the sensors are dummied up, and hence you run the massive risk of really doing bad things!!


OK, so, some small improvements.   We now have 100's hours on the system now, in generate mode as well as watermaker/generate mode.   And I am still very happy with how it is working!



Thursday, September 12, 2013

Transfer of Technology - Load Dump

This summer I have been working on a Stand Alone - Alternator Regulator only project.  Built upon this DC Generator code, it removes all the engine control logic while retaining the monitoring of Volts AND amps - and is an open source /  Arduino code base  as well!

One of the benefits of this Regulator Only project is being able to back-port improvements to the DC Generator design.  A prime example is Load Dump - though with my smallish Alternator the PID logic was able to handle Load Dump situations in the DC generator, PID was not fast enough for rein-in larger alternators.  Ala, the 270A one on Viking Stars main engine.  

So, today I improved the regulator code adding in Load Dump detection and associated Field PWM pullbacks.

And you can be sure this code will make its way into the DC Generator's code base - just as appropriate changes in the DC generator source are ported into the stand alone regulator code base.

To learn more about Load Dump and how I addressed it - click here:  arduinoalternatorregulator.blogspot.com/2013/09/looking-at-load-dump.html







Monday, August 26, 2013

Nope, not the Final version…

And I just add a little bit here, . . . . 
Just cannot stop playing…   Over the past few weeks I have been tuning the PID parameters around the EGT, smoothing it out much more.  I also added some code to self-correct the regulator in cases where there was an over-temperature situation (EGT, Engine, Alternator).  I found while looking at the EGT limited conditions, the EGT PID would work to take the engine load down, but then once the temp had cooled off the Watts PID would turn around and apply the same level of loading that created the over-temperate situation in the 1st place!

So I added in some code to apply a derating factor to the target watts every time the engine showed temperate stress (coolant, and/or EGT).  I did the same for the alternator, but derated the target Amps instead.  (I put the same modification into the stand alone alternator code as well)

Also added in a new ‘function’ to allow for oil-pressure priming, for example after changing the engine oil.  All I do is spin the starter with the fuel cut-off until the Oil pressure builds.   But I am going to have to figure out some way to select that from the remote, right now it can only be accessed via the Debug port.  And speaking of that, it is yet another reason that I likely will be refining the code between the controller and the remote, to allow for alternative starting patterns…  But THAT will be a Winter project.


Not posting the revised source just yet, will wait in case (for when. . . ) I find some other small things to futz with.

Sunday, August 4, 2013

Posted v0.1.2 of Source - Finial Version???

Today I posted v0.1.2 of the controller source (See link above).  This resolved a few small errors (ala, the
next key would not only restore backlighting on the LCD but also advance to the next screen, as opposed to only restoring backlighting), improved OneWire handling (Still think there is more to do there…), but mostly this version has been exercised using the Watermaker in conjunction with the ‘generator’.

The capability of producing some Amps while also driving the watermaker high pressure pump was the 2nd major goal for this project.   As commercial regulators did not give me sufficient control, previously I would turn off the alternator when making water.   Now I can get 800w (50+ amps) into the batteries WHILE also running the reverse osmosis watermaker.


At this point I consider this project largely completed.   Over the next months I will continue to correct any small bugs I find, but for the core of the project it is completed.   As next steps I see three potential opportunities:

  1. Add the ability to monitor critical Watermaker pressures (boost pump and High pressure pump), issuing warning when they are getting out of range, and faulting then they cross the line.
  2. Rollback hardware / software learning’s from the stand-alone alternator regulator projected (http://arduinoalternatorregulator.blogspot.com/).  E.g., the improved FET driver ckt, etc.
  3. Enhanced the User interface on the LCD display.  Now that it is based on its own Atmel CPU, I can add a binary communication protocol and do things like provide the ability to select ‘Quite Mode’ at startup for the generator (ala, starting it up, but limiting the RPMS, and of course Amps , to keep things at a nice quite noise level), or perhaps a gateway into NMEA-2000?   Who knows?

Overall I think the 1st item is critical, as I currently need to watch the watermaker settings every 15-20 minutes or so to make sure they do not drift out of allowable settings when the pre-filters clog up and / or the system changes as temperatures change.   I am debating to use a simple pre-existing China I2C A/D board with some jumper wires, or to do up a small 'expansion board' that will have a bit more functionality and also better physical mounting.   But this is all a Fall project as I do not have access to mail-drops until we return to a port somewhere for the winter.

And I still have one board set left, if anyone is interested.  Thanks again to all who have helped with this project, and to those building up aboard set – looking forward to hearing about your results!




Saturday, July 27, 2013

Just touching basis..

There has not been much activity on this Blog for a while / no new posts - and for a reason:  We have just been using the controller and it is working well!  As such, do not really have much to say...

We have, however,  started using the Watermaker - and I have been finding a few small issues I need to adjust in the source around handoffs between generating and watermaker starting / stopping.  After I get it more ironed out (really in the corners here, the core operations works great) will post a revision to the Source.

And speaking of Watermaker:  I had an issue the other day where the pre-filters clogged up and caused the system to go out of operation range.  We noticed it when the single drive belt to the high pressure water pump started squealing.  Though I have played with the idea of 'automating' the watermaker (making it Push-the-button like the Generator), I have not - mostly due to complexity around physically controlling the valves.  But the event yesterday did get me thinking I will at least add pressure senders to both the High pressure and Pre-filter Boost pump, and monitor those for going out of range.  Am looking to do a warning (via the buzzer in the remote) if the values get into the 'yellow' range, and then FAULTING / cutting off the High pressure pump if the values go over a fault threshold.   For now, I just make sure to check the Watermaker every 20-30 minutes to see how it is doing....

And this is a LONG way from full automation, to get to that would need to add Flow sensors, as well as actuators for the valves.  That can wait, but I will feel much better once I have the controller at least monitoring the critical Watermaker pressures.






Friday, June 14, 2013

Integrated Controller v0.2.3 PCB Errata - SCR Artwork is backwards:

Yesterday I discovered an error in release v0.2.3 of the PCB:  U1 (SCR):  Silk screen is backwards, install this part opposite of how the silk screen indicated.  (Flat side of SCR should FACE the copyright notice wording, not the middle of the PCB).

If you are assembling PCBs v0.2.3, just solder in the SCR opposite of what the silk screen shows.  The controller will work if the SCR is soldering as shown, but doing so will prevent the crowbar from functioning if it needs to!



Saturday, June 1, 2013

Posted code release v0.1.1 for integrated controller

This evening I posted a small revision to the Integrated controller source code.  It has three changes:


  1. Improvements to the one-wire code when a sender fails.  Now has more robust re-try and restart code.
  2. Changed internal variables used for Alternator AMP measurements from INT type to FLOAT type.  This will retain the finer resolution from the INA-220's that had been discarded before. 
  3. Fine tuned the engine load parameters table "RPM_Watts_array[]".  Am getting this really zoned in for MY engine combination.





Wednesday, May 22, 2013

Major milestone! Posted v0.1.0 of the controller code!

Tonight I posted what I consider the 1st stable release of the Controller code, V0.1.0  (See "Source Code" link above).   No longer a development release (v0.0.x), this is what I would say is a good starting point for actual operation.

After leaving our winter port in Friday Harbor we have put over 100hrs on the generator, and it has been working very very well.  Over the past couple of months the area I have had to work the most was Throttle Control, specifically the ability to respond to changing loads while in the final stages of charging.  Not only does the Alternator need to be held off until RPMs come up, but also the controller now tends to stick at Higher RPMs for a while just in case a load is quickly cycling.

For this Summer we will be using the Generator with this version of code. (or not, we are getting into the Sunny days, and the Solar Cells are bring in more and more power).  I have not done anything with the Watermaker code.  That will wait until we actually start using the Watermaker.

This has been a fun project, and I a will likely do some more in the future.  Specifically - with the Arduino based LCD remote I might look into adding some ability to modify configuration parameters via the remote (as opposed to re-compiling the source).

One surprise I had from this is Auto-shut down.  We have found we tend to start the Generator before leaving the boat for a while, and it is great to have the knowledge that the Generator will automatically shut itself down when the batteries are fully charged!   Very very nice, and a feature I had not anticipated when starting this project.  With the adaptive throttle control we also tend to let the generator run longer, doing final topping off of the battery.  It is not that intrusive just idling away, and I am sure the batteries will be much much happier.  But it does rack up the running hours!

This summer I will continue to work on bugs, and post updates as they are ready.  And as I develop the stand-along Alternator regulator I might make some back edits into the this controller code.  Until then, will be enjoying our new SMART DC Generator!




Saturday, May 11, 2013

Connecting the Controller up

I have been working on documenting how to connect up the controller, see INSTALLATION section above.

http://smartdcgenerator.blogspot.com/2000/01/installing-and-connections.html

 And here is a table I made as well:


Name
Grouping
Purpose
Connect to
Expected Voltage
Min Wire Size
Fuse
Note
BAT +
System Battery
Provides power to controller.  Also powers FIELD in V1 of controller PCB.
System Battery +
Up to 24v


14g
15A


VBat +

House Battery
Measures voltage in house battery
House Battery +
With appropriate configuration up to 48v.
18g, twisted pair
2A
Connect these wires AT the house battery as close to the battery terminals as allowed.
VBat -


House Battery –


BAT -

House Battery –

14g

Connecting BAT – to the House Battery Ground gives better stability in VBat measurements.
BATTERY Temp
Measure House Battery temperature
Battery Temperature probe

Cable

Typical place probe on – terminal of battery in middle of battery bank.

CSh +
Common Battery
Measured alternator current, as well as starter current to determine if engine has started.
+ terminal on Current Shunt (Terminal on BATTERIES side of shunt)

18g, twisted pair

System can be modified to support separate shunt for Alternator and Starter, by re-purposing EGT port.  Will require modification of controller code.
CSh  -

- terminal on current shunt



FLD
Alternator
Provides field voltage to control alternators.
F terminal on Alternator
PWM controlled – between 0v and FLD-DRIVE  voltage (Configurable to 48x)
14g

Use larger wire if Field currents in excess of 10A expected.

Note:  FLD-DRIVE and FLY-Fly are not used on V1 of controller board.  Instead these are internally connected to BAT + and BAT – (System battery)
FLD DRIVE
Allows selection of P-type or N-type alternators (along with board stuffing options – see Configuration)
System Battery + for HIGH DRIVE alternators, System Battery  - for LOW DRIVE alternators

14g
15A

(If connected to Battery +)
F-FLY

System Battery - for HIGH DRIVE alternators, System Battery  + for LOW DRIVE alternators

14g
STATOR
Determine RPMs of alternator (and hence engine).  Also used to lock-step voltage and current measurements with Stator.
Stator terminal on Alternator

16g
2A

ALT Temp
Measure Alternator temperature
Alternator Temperature probe 

Cable

Typically place probe on + terminal of alternator.

EGT -
EGT +

Engine
Determine EGT of engine.  Used to prevent overloading engine
EGT probe

EGT probe wires

Do not extend these wires, purchase probe w/ needed length.
START
Engage starter.  This will raise to System + voltage when starter is be engaged.

Starter solenoid
BAT + when active

 (See note re: V1 boards)
14g

Note that in V1 of controller, this is an ACTIVE LOW signal
FUEL P
Engage Fuel Pump
Fuel pump
BAT + when active
14g


GLOW
Engage Glow Plug
Glow Plug
BAT + when active
14g


Oil Low
Indicated to controller oil pressure is low.
Low Oil Sender
Sender should GROUND this line when oil pressure is low.
16g


RAW-W
Indicated to controller cooling water flow is low.
Water Flow Sender
Sender should GROUND this line when water flow is low.
16g


Th-CL
Engages Throttle Controller clutch

BAT + when active
14g


Th-UP
Increases Engine Speed

BAT + when active
14g


Th-DN
Decreases Engine Speed

BAT + when active
14g


ENGINE Temp
Measure engine coolant temperature
Engine coolant Temperature probe 

Cable


SEA WATER temp
Measures temperate of sea water pump, used to detect run-dry conditions
Sea Water Temperature probe

Cable


Exh-MIX
Measured temperature of exhaust mixer.  Use to detect failure in coolant water flow.
Exhaust mixer Temperature probe.

Cable

Typically this probe is attached to the sea water injection point on the exhaust system.

W-Mkr

Water maker
Engages Watermaker high pressure pump
Clutch on Water maker.
BAT + when active
14g

This can be reconfigured via #define statements in the source code to drive coolant co-gen pump instead.

R-GN
Local Control Switches
Request  starting of Generator mode
SPST-MOM switch to Ground to request generator

16g


R-WM
Request start of Watermaker mode
SPST-MOM switch to Ground to request Watermaker

16g


S-ALL
STOP ALL!  
Also provides safety interlock / override for remote control panel
SPST switch to ground to stop all, leave connected to Ground for safety interlock.

16g

If left on ground, ‘LOCKED OUT’ will appear on remote LCD display.

Remote
Remote
Wiring and Power to remote control panel
Remote Panel

CAT-5 cable