User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revisionBoth sides next revision
lab:ninjascc [2016/03/11 19:00] – created chronolab:ninjascc [2016/12/13 19:00] – [NinjaSCC] chrono
Line 1: Line 1:
 ====== NinjaSCC ====== ====== NinjaSCC ======
  
-NinjaSCC is not just another Solar Charge Controller.+**N**injaSCC **i**s **n**ot **j**ust **a**nother **S**olar **C**harge **C**ontroller. 
 + 
 +The following parameters describe the current NinjaSCC MKI Spec, which 
 +specifically targets flexible (in-the-field adaptable) mobile/nomadic 
 +use-cases and remote/autonomous off-grid deployment, with very high 
 +efficiency, reliability, safety and quality. 
 + 
 +{{:lab:ninjascc:ninjascc-mk1-top.jpg?250|}} 
 +{{:lab:ninjascc:ninjascc-mk1-bot.jpg?157|}} 
 +{{:lab:ninjascc:ninjascc-mk1-bot2.jpg?202|}} 
 + 
 +===== Hardware ===== 
 + 
 +[[lab:ninjascc:hardware]] 
 + 
 +===== Firmware ===== 
 + 
 +[[lab:ninjascc:firmware]] 
 + 
 +===== Software ===== 
 + 
 +[[lab:ninjascc:software]] 
 +===== Electrical ===== 
 + 
 +==== PV Input ==== 
 + 
 +^                   Symbol                    ^         Parameter          ^  Min    Typ  ^  Max  ^  Unit   ^ 
 +|  V<html><sub></html>MPP<html></sub></html>  |       PV MPP Voltage        11.5  |  18    36      V    | 
 +|  V<html><sub></html>OC<html></sub></html>    PV Open-Circuit Voltage          |        45      V    | 
 +|  I<html><sub></html>SC<html></sub></html>    PV Short-Circuit Current  |        |        15      A    | 
 +|                      -                      |  Panel/Cell Configuration  |   18    36    72    Cells  | 
 + 
 +==== Battery ==== 
 + 
 +^                      Symbol                      ^      Parameter      ^  Min  ^  Typ    Max  ^  Unit  ^ 
 +|    V<html><sub></html>Bat<html></sub></html>       Charge Voltage    |  7.4  |  13.4  |  45        | 
 +|    I<html><sub></html>Bat<html></sub></html>       Charge Current    |              |  15        | 
 +|  Ripple<html><sub></html>rms<html></sub></html>  |  Output Ripple RMS  |         15           mV   | 
 +|  Ripple<html><sub></html>p-p<html></sub></html>  |  Output Ripple P-P  |         40           mV   | 
 + 
 +NinjaSCC will by default boot into a 12V system. Any other check, charge, 
 +equalize and float setpoints (charging curve) can be easily overriden in 
 +software. This leaves more headroom and flexibility to hack around and 
 +adapt the converter to all kinds of use-cases or battery types like 
 +acid, GEL, AGM and even lithium battery packs (external balancer may be 
 +required) in the 12V to 36V range. 
 + 
 +Output Current/Voltage ripple and RF noise need to be kept at a minimum, to 
 +increase battery lifetime and allow RF sensitive devices, like remote 
 +SDRs, to be powered by NinjaSCC as well. 
 + 
 +==== Load ==== 
 + 
 +^                    Symbol                    ^       Parameter        ^  Min  ^  Typ  ^  Max  ^  Unit  ^ 
 +|  V<html><sub></html>Load<html></sub></html>  |     Output Voltage                45        | 
 +|  I<html><sub></html>Load<html></sub></html>  |  Cont. Output Current  |              15        | 
 + 
 +==== Efficiency ==== 
 + 
 +^                      Symbol                                Parameter          ^  Min  ^  Typ    Max  ^  Unit  ^ 
 +|  BK-MPP<html><sub></html>Eff<html></sub></html>    Buck-Mode MPP Efficiency          98.5  |            | 
 +|  BST-MPP<html><sub></html>Eff<html></sub></html>  |  Boost-Mode MPP Efficiency  |        98.5  |            | 
 +|    TR<html><sub></html>Eff<html></sub></html>         Transit Efficiency      |        99.5  |            | 
 + 
 +==== ADC ==== 
 + 
 +Dual analog to digital conversion setup to enhance precision and 
 +reduce risk of failure. 
 + 
 +^        Chip          Resolution  ^  Channels  ^  ARef  ^ 
 +|     ATMega32U4      |    10 Bit    |          |  5 V   | 
 +|  SM72442 (via I2C)  |    12 Bit    |          |  5 V   | 
 + 
 +===== Environment ===== 
 + 
 +^  Symbol  ^          Parameter            Min  ^  Typ  ^  Max  ^  Unit  ^ 
 +|   Temp      Operating Temperature      -40  |  25    85     °C   | 
 +|   OTP    |  Overtemperature Protection  |        +85  |         °C   | 
 +|   OVP    |    Overvoltage Protection    |              45        | 
 + 
 +===== Protection ===== 
 + 
 +==== Electrical ==== 
 + 
 +  * Short-Circuit [HW] 
 +  * Over-Voltage [HW+SW] 
 +  * Over-Current [HW+SW] 
 +  * Adjustable Current Limiter [HW+SW] 
 +  * LVD (Low-Voltage Disconnect of Load) [SW] 
 +  * UVLO (Under-Voltage Lock-Out) [HW] 
 +  * Uncontrolled Back-Channel DC GND return (High-Side Load Switch) [HW] 
 +  * Electromagnetic and Lightning induced extraneous Voltage Transients [HW] 
 +  * Local ESD [HW] 
 + 
 +The maximum peak surge current rating can reach up to 10kA (8/20μs pulse) 
 +to protect against damage from extraneous current induced by indirect 
 +lightning strike interference, system switching transients and abnormal 
 +fast transients from the power source. 
 + 
 +==== Environmental ==== 
 + 
 +  * Battery Temperature Monitoring (via external 100k thermistor) 
 +  * PV Panel Temperature Monitoring (optional) 
 +  * PCB Temperature Monitoring 
 +  * Over-Temperature controlled Shutdown 
 +  * Fan-Control 
 +  * Assembly PU-Coating 
 + 
 +===== Modes of Operation ===== 
 + 
 +Based on real-time assessment of the operating conditions, NinjaSCC dynamically 
 +determines the optimal operating mode in order to track the maximum power point 
 +of the PV panel, keeping overall conversion efficiency close to 99%. 
 + 
 +  * MPP Tracking Buck-Only (BK) 
 +  * MPP Tracking Boost-Only (BST) 
 +  * MPP Tracking Buck-Boost-Interleaved (BB) 
 +  * Transit (TR) 
 + 
 +===== Controller ===== 
 + 
 +Since Arduinos have been around for a while and have a very broad 
 +spectrum of documentation, HOWTOs and open-source code to learn from, the 
 +AVR ATMega32U4 8-Bit Microcontroller (with built-in USB support so that 
 +we can [[https://hackaday.com/tag/ftdigate/|give FTDI the finger]]) was 
 +chosen as the main controller in a fully Arduino-Micro compatible 
 +configuration, while adding a couple of protective features to it. 
 +This way, NinjaSCC can be used and flashed over USB like any other 
 +Arduino-Micro board. 
 + 
 +===== Dedicated USB Charging Port (DCP) ===== 
 + 
 +As other USB power sources, like most wall warts and auto adapters, 
 +NinjSCC does not enumerate the USB output port. Charging can begin 
 +immediately, without any digital communication/negotiation, as defined 
 +in the supplementary USB Battery Charging Specification, Rev 1.1, 
 +4/15/2009 (BC1.1). 
 + 
 +  * Supply 5V up to 1.5A 
 +  * DCP mode identified by a short between D+ to D- 
 +  * Short-Circuit, Over-Voltage, Over-Current, Over-Temperature protected 
 +  * Shares EN pin with Load Switch to maintain LVD ability by default, but can be selected with a solder bridge/0R 
 + 
 +===== Monitoring & Metrics ===== 
 + 
 +NinjaSCC constantly monitors and collects all relevant system metrics and 
 +operating parameters to deliver a high-resolution, real-time metrics stream 
 +over USB, which can be live-viewed and/or shipped into a metrics storage 
 +engine like [[https://github.com/influxdata/influxdb|influxdb]] to achieve 
 +full real-time, remote system awareness and get an anecdotal sense of how it 
 +“feels” as well as a quantified sense of how it performs in terms of hard, 
 +comparable metrics. 
 + 
 +Gathering long-term data helps to understand individual/local parameters 
 +of a particular use-case to constantly optimize the system even further 
 +and have a means to identify/quantify sub-optimal operating conditions 
 +which might lead to failure like: Battery temperatures that are 
 +consistently above ambient may indicate high ripple, overcharging or 
 +internal cell shorting. 
 + 
 +===== Remote Control ===== 
 + 
 +Any DC/DC regulation parameter can be overriden in software and adjusted 
 +live by remote controlling NinjaSCC over USB, so playing and experimenting 
 +on a live, working converter with instant metric feedback will be a great 
 +opportunity to study its behaviour while changing parameters and operating 
 +modes manually. And of course, a fun and hands-on assistance while 
 +learning more about buck/boost power conversion in a practical way. 
 + 
 +===== Resilience - Designed in a built-to-last approach ===== 
 + 
 +One of the deciding factors in performance and reliability is the quality  
 +of the selected components, ranging between automotive (AECQx) qualified  
 +and up to aerospace/military grade quality. All required electrolyte caps 
 +are aluminium core design Solid CAP's, which have been a staple in high-end  
 +component designs and provide lower Equivalent Series Resistance (ESR), wide 
 +temperature range and over-10-years lifespan. 
 + 
 +To further decrease the chance of total system failure, many important  
 +system blocks and components have been set up n+1 redundant,  
 +wherever possible and reasonable. 
 + 
 +NinjaSCC must withstand gale force sub-arctic winds at -40°C while still 
 +providing power to the remote camera you’ve had to hike for two days to 
 +put out there for over a year - to make a great movie about glacier calving 
 +or you are in some desert at +55°C ambient temperature and need energy to 
 +operate your water pump to survive. The MKI design targets specifically 
 +mobile/nomadic and remote/autonomous off-grid use-cases. 
 + 
 +When you’re truly off-grid, this is the device that must not fail 
 +(or at least reasonably max out the chance that it does), because murphy 
 +dictates: it usually does so at the worst possible point in time.