I’ve broken this down into sections because there are so many optional bits of hardware, depending on exactly how you intend to use the camper van control panel.
Battery Control Solenoid
By monitoring both the voltage of the auxiliary battery and the main vehicle battery, the control unit can enable or disable a solenoid that connects the two batteries together. This negates the need for a voltage controlled relay and, as well as being cheaper, gives more flexibility.
By using a decent size battery cable between the batteries and using the above solenoid to connect the batteries together, you get a full charge from your vehicle’s alternator when running or you can “manually” connect the batteries together to allow the auxiliary battery to help jump start your vehicle. You can also allow your mains battery charger (when on hookup) to charge the main vehicle battery as well.
In my view it’s a good idea to use suitably rated “mega” fuses at each end of the inter-battery cable to prevent a fire in the case that the interconnecting cable is shorted to earth. More details of this will be in the build section.
To control many of the external functions the use of a relay, controlled by the Arduino is a necessity. In my current configuration 4 relays are adequate to control all that is needed and there is a very neat module available to make this easy…
Although the Arduino can provide power conversion from the vehicle electrics, in practice you’re better off using a dedicated power supply module to make sure that the Arduino’s 5v supply isn’t over stressed and also to help protect the Arduino and other modules from, what can be, a pretty noisy vehicle supply. The 4 relays, if all activated will also pretty much wipe out the Arduino’s internal supply. In my configuration I have the Arduino in one box and a “power box” that contains the relays and other power switching devices. This helps limit noise between them and each box has it’s own power supply module.
The modules I use are these ones… I’ve tested them with a variety of input voltages and output loads and they’ve proved very reliable and solid. I’ve also used then as a handy way to test the battery control on the bench by varying the voltage to the main and auxiliary battery inputs. This is the price for a pack of 6 so should give plenty of options as they can also be used to provide power for USB charging points.
To control and dim the lighting we need to be able to allow the Arduino to quickly switch the negatives for up to 6 circuits (3 zones plus RGB mood lighting). The simplest way to do this is to use a MOSFET transistor. I use the IRFZ34N TO-220. These are capable of switching 30A each (if using a heatsink) which is more than enough for LED lighting !
You’ll need one for each lighting zone and three more if you want to use RGB LED strips and control those from the controller.
Real Time Clock
An RTC module, simply gives you a battery backed up clock that the Arduino can use to display the current date and time. Even after the power is interrupted to the control unit the RTC will maintain the current time so as soon as power is restored the correct time will still display. In addition, the module I have used, allows the control unit to store user settings on the module so settings are never lost when the unit is powered down. There is no shortage of suppliers for these…
In order to allow smartphone connectivity to the control unit you’ll either need a WiFi or Bluetooth module to handle the communications. I prefer WiFi simply because it can handle multiple clients in a friendly way and also gives more flexibility for future features (like allowing the controller to connect to your home WiFi and send a warning via email if one of the batteries is getting low, for example).
The module I use gives you a standalone Wifi processor, it runs it’s own program so, like the display, it puts no extra processing load on the Arduino. It’s a NodeMCU module, it can be programmed in a number of ways but for this project I programme it using the Arduino software.
Experimental – Eberspacher Thermostat
This is something I’m working on at the moment and you may see the module appear in a number of the build pics. I’m using a surface mount IC, AD8402ARZ1, which is a dual digital potentiometer. This should allow the controller to simulate an Eberspacher controller unit but this is still being evaluated and tested.
I don’t have access to a Webasto heater to play with but they use a very similar control circuit to the Eberspacher unit. It would be better to use the 2kohm version of the digital potentiometer to get the range the Webasto needs 2k2 ohms to 0 ohms,
The IC and a suitable PCB/breakout board to mount it on, are available from Farnell as are the Molex connectors I use for the external connections.