Difference between revisions of "Victron VE Direct DIY Cable"

From ivc wiki
Jump to navigationJump to search
Line 23: Line 23:
Voltage: 5V - when the Victron solar charge controller is powered by the PV, you can leave the 5V pin unconnected
Voltage: 5V - when the Victron solar charge controller is powered by the PV, you can leave the 5V pin unconnected
Baud rate: 19200
Baud rate: 19200
Pin-out Vicron unit:
[[Image:victron_cable_unit_pinout.jpg|500px]]


Sample output of the continuous update stream for the live page in VictronConnect:
Sample output of the continuous update stream for the live page in VictronConnect:

Revision as of 14:35, 7 November 2017

If you broke or lost the VE.Direct cable for your Victron device, you can make your own. The original cable is a RS232/Serial-to-USB converter. This means that any device that appears as an COM/serial device in the operating system will work for this purpose.

Materials

This requires the following parts:

Or build one from adapters, cable and connector:

  • Sparkfun FTDI 5V RS232 Mini-USB adapter
    • Prolific 2303 based adapters also works (thanks Javi)
  • JST-PH 2.00mm pitch 4-pin connector
  • 4 Wire cable 1m

Connection

Connection diagram:

Victron vedirect cable diagram.png

Voltage: 5V - when the Victron solar charge controller is powered by the PV, you can leave the 5V pin unconnected Baud rate: 19200

Pin-out Vicron unit:

Victron cable unit pinout.jpg

Sample output of the continuous update stream for the live page in VictronConnect:

PID	0xA043			-- Product ID for BlueSolar MPPT 100/15
FW	119			-- Firmware version of controller, v1.19
SER#	HQXXXXXXXXX		-- Serial number
V	13790			-- Battery voltage, mV
I	-10			-- Battery current, mA
VPV	15950			-- Panel voltage, mV
PPV	0			-- Panel power, W
CS	5			-- Charge state, 0 to 9
ERR	0			-- Error code, 0 to 119
LOAD	ON			-- Load output state, ON/OFF
IL	0			-- Load current, mA
H19	0 			-- Yield total, kWh
H20	0			-- Yield today, kWh
H21	397			-- Maximum power today, W
H22	0 			-- Yield yesterday, kWh
H23	0			-- Maximum power yesterday, W
HSDS	0			-- Day sequence number, 0 to 365
Checksum	l:A0002000148		-- Message checksum

For the protocol documentation see:

Sniff serial data

If you have an Arduino Mega, you can utilize one of the extra serial ports to listen on the serial stream from the controller. Connect RX to D19 and TX to D18 on the Mega.

Use this code and open the Serial Monitor on baud rate 19200:

void setup() {
  // initialize both serial ports:
  Serial.begin(19200);
  Serial1.begin(19200); // D18 D19
}

void loop() {
  // read from port 1, send to port 0:
  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.write(inByte);
  }

  // read from port 0, send to port 1:
  if (Serial.available()) {
    int inByte = Serial.read();
    Serial1.write(inByte);
  }
}

Software

For Windows, download the USB drivers and install VConnect:

For Mac, just download and install VConnect:

Future

The next project is to try to use a Bluetooth LE serial adapter and try to make it work like a VE.Direct Bluetooth smart dongle.