Difference between revisions of "Kufy-GEN-Project"

From ArduinoInfo
Jump to: navigation, search
m
m
Line 91: Line 91:
 
====Battery_MANAGER====
 
====Battery_MANAGER====
 
NOTE: Includes Charger status and control
 
NOTE: Includes Charger status and control
 
BatteryManager STATES:
 
  
 
Check_SOC  // reads current Battery voltage, other parameters as available
 
Check_SOC  // reads current Battery voltage, other parameters as available

Revision as of 13:07, 14 July 2019

Generator Automatic Controls Project

Collecting thoughts, materials, designs for an automatic Generator Control for the Nigerian environment

PARTS for generator controls

BATTERIES

LINKS:

https://www.google.com/search?lr=&as_qdr=all&ei=4cUnXfH_KOym_QbYqa-wCQ&q=best+deep+cycle+battery+in+nigeria&oq=best+deep+cycle+battery+in+nigeria https://jiji.ng/272-deep-cycle-batteries/12v

CHARGE Controllers

This is one I use on 3 systems here: Media:CamperPowerUnit-109821E_english_manual.pdf

TRANSFER RELAYS

TRANSFER SWITCHES There are two considerations, but the FIRST one is critical: It needs to be virtually IMPOSSIBLE for the generator to "Feed Back" into the power line. If it did, there are BAD things that can happen: (1) DANGER to other people, especially Power Company workers, who thought the circuit was off. and (2) overload of the generator and possible damage due to not being synchronized with other power sources on this line. You need a relay system that CAN NOT connect the generator to the external power line, even if it has a fault. So the Solid State Relays "would be great" but they can fail, and thy usually fail 'shorted'... So you need a relay / contactor that is "Form C" which would also be called "Double Pole, Double Throw"..

Relay Contact "Form"

FormC.jpg FormZ.jpg FormCfromZ.jpg


Examples of possible Transfer Relays - LINKS:

(1) THIS is a 100 Amp rated relay with ONE "Form Z" contact. It would take TWO of these to create a "2C" or "Double pole double throw" relay.

//www.aliexpress.com/item/32888156121.html

NOTE: A relay with TWO "form Z" contacts would be good.


(2) THIS is a 80 Amp rated relay with two "Form Z" contacts. (Type JQX-62F-2Z ) This may be the best choice. This is equivalent to but better that a "Double Pole Double Throw". //www.aliexpress.com/item/32805059192.html

JQX-62F.jpg


(3) THIS is a 80 Amp rated relay with two "Form C" contacts. So it is "Double Pole Double Throw". It is physically for "DIN Rail Mount" so that's not necessary. //www.aliexpress.com/item/477268399.html

Nigerian Power - Generators and Controls

Power in Home and businesses 230V 50 Hz. 1 Phase to smaller homes, 3 phase to businesses.

Typical home: 230V at ??? current??


https://www.huffingtonpost.com/timi-soleye/why-nigeria-generates-so-_b_5695091.html

https://www.economist.com/news/middle-east-and-africa/21693971-nigeria-has-about-much-electricity-edinburgh-problem-powerless

https://www.researchgate.net/publication/303544564_The_Erratic_Electric_Power_Supply_in_Nigeria_Causes_and_Remedy

https://en.wikipedia.org/wiki/Nigerian_energy_supply_crisis


THE DESIGN

NOTES:

VERSION/Editor: 1.0 4 TK

DATE/TIME: 14 Jul 2019 18:25 NT

SOME BEGINNER STATE MACHINES?

CELL_POWER_MANAGER (highest level)

loop: {

CheckSensors // Update global variables

CheckCommunications // Receive new communications. Update display as needed, Send communications as needed

BatteryManager //Monitors Battery, SOC, decides if GeneratorPowerRequested is TRUE/FALSE

Generator_Engine_Manager // Maintains the STATE of the GEN. Starts, Stops, etc. Monitors GeneratorPowerRequested

(Check schedule?)

MakeDecisions // Based on overall system: Data Variables, STATES of other sub-managers

TakeActions // Set variables to new values, Change STATE of sub-managers

}

Battery_MANAGER

NOTE: Includes Charger status and control

Check_SOC // reads current Battery voltage, other parameters as available

CheckLoadStatus

if (SOC < Setpoint) // Needs both high and low SOC values

  set Generator_Power_Requested TRUE

ELSE

  set Generator_Power_Requested POWER  FALSE

CheckBatteryHealth

(Do whatever)

GENERATOR/ENGINE MANAGER

STATES:

StoppedNormal

 IF GeneratorPowerRequested set State to Starting

Starting //(Cranking, checking for sucess)

Start_Success

Start_Failure // Wait time, then change state to Starting. Too may attempts, set StartFailure

Running_Startup // Warmup

Running_Normal // Load is applied

 IF GeneratorPowerRequested is FALSE, set State to StoppingNormal

Stopping Normal // Load disconnected, CoolDown

/*---( Fault States )------*/

Stopping_Low_Fuel // Send alarm

Stopped_LowFuel

Stopping_Electrical_Fault

Stopped_Electrical_Fault

GLOBAL DATA DEFINITIONS

(StateVariable for each State Machine)

Global Status variables like GeneratorPowerRequired

Current Fuel Level

PowerSourceStatus (Battery/Generator/Both)

GLOBAL CONSTANTS

Things for a specific installation, like:

Fuel Tank Capacity

Battery AH rating

Nominal Cell System power load

Fuel Level Low Alarm Setpoint

Battery Temperature High Alarm Setpoint

(Engine Parameters) - MaxCrankingSeconds - Start_Failure_Retry_Delay - Start_Attempts_allowed

Diagram examples

Power Project FSM.png

currently working on a more concise State Diagram