Giter Club home page Giter Club logo

arduino-mppt's Introduction

Arduino-MPPT

Arduino based Maximum Power Point Tracking (MPPT) solar charge controller code

Author: Adam Plavinskis [email protected]

This code is for an arduino UNO based Solar MPPT charge controller. It is based of work done by Julian Ilett (256.co.uk), Debasish Dutta/deba168, and Tim Nolan (www.timnolan.com).

This is an open source project and you are free to use any code you like. Please give credit.

Improvements in this version:

  • using 2104 MOSFET driver for high side drive
  • synchronous operation with high and low side MOSFETS for better buck converter efficiency
  • dual high side MOSFETS arranged back to back to prevent current leakage in low light
  • arduino protection with zener diodes
  • analog input filtering for more accurate measurments
  • eliminated absorb state for simpler operation
  • eliminated ammeter to reduce cost

Specs:

  • 250W input capacity (with heatsinks and fan)
  • 50V input max
  • 20V output max
  • 30A output max (with heatsinks and fan)
  • 30A load capacity (with heatsinks and fan)

Differences with Deba168's design:

  • Larger copper cross section in high current paths
  • 20ohm resistors in series on the MOSFET gates
  • added pull-up and pull-down resistors to prevent undesireable behaviour on startup
  • Larger inductor 20uH 26A peak
  • added fan
  • removed diode between high side MOSFET gates
  • Constant voltage method of MPPT that doesn't require current sense
  • Zener diodes to protect the arduino from over-voltage

Warning!: -Disconnecting the battery while in a charging state will cause and overshoot of voltage on the battery side. This could damage any loads that are running from the battery, including the arduino, charge controller, and computer (if it's connected at the time) -Setting the pulseWidth to values less than 40% for even a few milliseconds will cause the low side MOSFET to short out and fail (sometimes violently).

This code requires that you have these dependancies: https://arduino-pwm-frequency-library.googlecode.com/files/Arduino%20PWM%20Frequency%20Library%20v_05.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.