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
lab:ninjascc [2016/03/11 19:00] – created chronolab:ninjascc [2016/12/13 19:02] (current) 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]] 
 + 
 +===== MK I Specifications ===== 
 + 
 +==== 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.