This is code for the arduino that reads the broadcast messages from the BlueSolar MPPT unit and converts them to a subset of the VE.Direct text protocol used by the lower end MPPT controllers.
- A canbus shield, such as this one by seeedstudio. Try alice1101983 on Ebay. If you build your own, consider using the TI ISO1050 canbus transceiver for galvanic isolation.
- The canbus shield library. You need to change the CS pin to 10 to work with this shield.
- I use Arduino-Makefile for building, although it is easy enough to build this in the arduino IDE.
- Remember to terminate the other end of the bus inside your BlueSolar MPPT controller. You will also need a 120 ohm terminator on the shield end, as not all shields incorporate one (The elecfreaks one I used does not, but some do).
Once it's running, it simply sends voltage, current and power values over the Arduino's serial link in the same text format as the lower-end MPPT charge controllers. This is easier to parse and use in other hobbyist projects.
It configures the MCP2515 can controller on the shield to filter for the PGN 127508, which contains all the information we need about our battery bank. This information is broadcasted, so all we have to do is wait for it and reformat the data.
- The canboat project is absolutely indispensible for decoding NMEA2000 canbus data.
- Also consider using ttlappalainen's NMEA code for more complex applications or for guidance.
- The awesome guys on the South African Power Forum.
I own a BlueSolar 150/70 MPPT controller, and I want to intgegrate it with Blue Lantern.