Arduino Based Output Voltage Control of Bidirectional Converter for HEV’s G. Gurusivakumar P.G. Student-Department of EEE Sri Sai Ram Engineering College Chennai, India Mr. R. Azhagumurugan Associate Professor-Department of EEE Sri Sai Ram Engineering College Chennai, India Abstract—PWM or Pulse Width Modulation based control of power electronic circuits is most common method used for controlling output voltage of bidirectional converter. Various modes of operation of bidirectional converter is discussed. A low cost micro-controller board, Arduino, has been used to implement the PWM control technique thus avoiding the need for complex hardware circuitry. MATLAB/SIMULINK is used to design the bidirectional converter. Index Terms—Arduino, Bidirectional Converter, Pulse Width Modulation (PWM). I INTRODUCTION Bidirectional DC-DC converters serves the purpose of stepping up or stepping down the voltage level between its input and output along with the capability of power flow in both the directions. Bidirectional DC-DC converters have attracted a great deal of applications in the area of the energy storage systems for Hybrid Electric Vehicles. Arduino Uno Microcontroller board has been used to produce the SPWM output pulse based on reading the analog input signals. We can use Simulink to program algorithm that run on Arduino which can be downloaded to the Arduino board, thus making it a stand-alone device which receives inputs and provides outputs accordingly. II PULSE WIDTH MODULATION Pulse Width Modulation, or PWM, is a technique for getting analog results with digital means. Digital control is used to create a square wave, a signal switched between on and off. This on-off pattern can simulate voltages in between full on (5 Volts) and off (0 Volts) by changing the portion of the time the signal spends on versus the time that the signal spends off. The duration of "on time" is called the pulse width. To get varying analog values, you change, or modulate, that pulse width. If you repeat this on-off pattern fast enough, the result seems as if the signal is steady at value between on or off. III ARDUINO – MATLAB INTERFACE The Arduino Uno is a microcontroller board based on the ATmega328. It has 14 digital input/output pins out of which 6 can be used as a PWM outputs, 6 analog inputs, a 16 MHz ceramic resonator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything need to support the microcontroller, simply connect it to a computer with a USB cable or power it with an AC to DC adapter or battery to get started. We have used the Simulink Support Package for Arduino Uno Hardware for communicating between MATLAB and Arduino. A library of Simulink Blocks is provided by the support package which allows access to Arduino I/O pins and Serial Port. The package allows implementation of Simulink Models in Arduino board such that the board acts as stand-alone hardware. In order to interface both the devices we need to install the MATLAB Support Package for Arduino hardware. The package is installed by using Run on Target Hardware option from the Tools menu in MATLAB Simulink model. The Algorithms written in Simulink model will be directly dumped into the Arduino Uno board over an USB cable. The generation of PWM is illustrated in Fig.1. Here the generated PWM pulses are dumped into the fifth pin (PWM) of the Arduino board. Fig. 1 Generation of PWM pulses in MATLAB/SIMULINK A. Reading Analog Input The analog input pin of the UNO board can have a maximum value of 7-12V, so we have to limit our analog input to 5V. The 10-bit ADC converts the input voltage into a digital value between 0-1023; this value needs to be scaled down by a proper factor (1/1024) to give the actual digital value. Similarly the PWM pin on the board gives an output of duty cycle 0.0 for an input of 0 and duty cycle 1 for the input 255. Hence for a duty cycle of 0.5, the value of 127.5 is used as the input. B. Writing Digital Output The digital write signal is used to produce the PWM pulses, which is to be sent to the gate terminal of the MOSFET switch. Since the output from the Arduino board is International Journal of Engineering Research & Technology (IJERT) www.ijert.org TITCON-2015 Conference Proceedings 895