Eit (Internship) Iium Report - Mechatronics (2022)

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 17

KULLIYYAH OF ENGINEERING

EIT REPORT

INTERNATIONAL ISLAMIC UNIVERSITY MALAYSIA


MUHAMMAD FAREEZ IQMAL BIN MOHD SHARIPUDDIN

ENGINEERING INDUSTRIAL TRAINING


AT
SYSTEM CONSULTANCY SERVICES SDN BHD

11 JULY 2022 – 25 SEPTEMBER 2022


MECHATRONICS

MUHAMMAD FAREEZ IQMAL BIN MOHD SHARIPUDDIN


1914577
MECHATRONICS ENGINEERING
DEPARTMENT OF MECHATRONICS ENGINEERING
2022
2022
ii
Standard Verification Statement:
I hereby declare that Muhammad Fareez Iqmal bin Mohd Sharipuddin
(1914577), student of department Mechatronics, International Islamic University
Malaysia (IIUM) has successfully completed his Engineering Industrial
Training from

11/07/2022 till 25/09/2022

at System Consultancy Services Sdn Bhd. This report is prepared by the above-
mentioned student as a partial fulfilment of this training. All information given in
this report is true and does not contain any confidential information or classified
data that might in a way, or another abuse the company’s policies.

………………………………………………………………………………

(Signature, name of authorized person and company’s stamp)

iii
ACKNOWLEDGEMENT

First and foremost, I would like to take a moment to thank Allah SWT for His blessings and
help throughout this Engineering in Training programme (EIT) period. Next, I would like to
take this opportunity to express my sincere gratitude to those who have helped me in
completing EIT. I want to thank my supervisor, Mr Mohd Zaki, for his guidance, support, and
encouragement throughout the training. I would also like to thank the staff and other trainees
for their assistance and support. Also, I would like to thank the company's management for
giving me this opportunity to undergo training and for their support throughout the process.
Last but certainly not least, thank you to the fellow IIUM lecturers who were involved
directly or indirectly in this EIT programme, especially Dr Nur Liyana Azmi, for the kind
assistance and support. I am grateful to have such a supportive and friendly group to learn
with. I am confident that I have learned a lot from this experience, and I am looking forward
to using my new skills.

iv
TABLE OF CONTENTS
Contents
Standard Verification Statement:..........................................................................................................ii
ACKNOWLEDGEMENT...........................................................................................................................iii
TABLE OF CONTENTS............................................................................................................................iv
LIST OF TABLES......................................................................................................................................v
LIST OF FIGURES....................................................................................................................................vi
Background of the company..................................................................................................................1
Summaries of duties..............................................................................................................................1
Work experiences..................................................................................................................................1
1. CANBUS Sniffing.........................................................................................................................1
2. Drone flight test.........................................................................................................................4
3. Torque vectoring.......................................................................................................................5
4. KTY83/122 Temperature Sensor................................................................................................7
5. DS18B20 Temperature Sensor for battery.................................................................................8
Conclusion.............................................................................................................................................9
References...........................................................................................................................................10

v
LIST OF TABLES

vi
LIST OF FIGURES
Figure 1 Can devices connected to the Canbus network.......................................................................2
Figure 2 OBD2 diagnostic port that can be found on most vehicles......................................................2
Figure 3 Diagram on Arduino and MCP2515 module connected over SPI interface..............................3
Figure 4 CanBus to Arduino circuitry.....................................................................................................3
Figure 5 CanDrive Python GUI interface................................................................................................4
Figure 6 Skyfront MRS drone at the test field........................................................................................5
Figure 7 Simplified flowchart of torque vectoring system.....................................................................6
Figure 8 Initial circuit layout to interface with the throttle sensor........................................................6
Figure 9 Improved flowchart of the torque vectoring system...............................................................7
Figure 10 Improved version of the torque vectoring prototype............................................................7
Figure 11 Voltage divider circuit with the KTY83/122 sensor that is inside the motor..........................8
Figure 12 Arduino Serial monitor showing the sensor's addresses.......................................................9
Figure 13 Temperature sensor installation on a test battery.................................................................9

vii
Background of the company
System Consultancy Services Sdn Bhd (SCS) was established in 1987 as a system integrator
and IT service provider. SCS has over 30 years of experience delivering quality IT solutions
and services to clients in various industries.

SCS provides a comprehensive range of IT services, including system integration, enterprise


resource planning (ERP) solutions, application development, cloud computing, and
infrastructure management. The company has a team of experienced IT professionals who
provide clients the best possible IT solutions and services.

SCS has a strong track record of delivering quality IT solutions and services to clients in
Malaysia and Southeast Asia. The company has many satisfied clients, including government
agencies, telecommunication companies, financial institutions, and manufacturing
companies.

Summaries of duties
In SCS, I worked directly with the Research and Development team in the Unmanned Aerial
Vehicle (UAV) and EV Innovations department (EVI).

In EV, I experiment with ideas and concepts, do the necessary research and testing, and assist
the team in mitigating issues and solving problems around electric vehicle technology. On
some occasions, I was called to help the UAV team to help in some operations, including
drone testing, inspections, and others.

Work experiences
1. CANBUS Sniffing

Industries and automotives mostly adapt Controller Area Network (CAN) bus to
communicate and send signals to every node connected in the network. The CAN bus
is a simple and low-cost solution as it only requires two physical wires (CAN High &
CAN Low) connecting every node, just like ribs attached to the backbones. Figure 1
1
shows CAN devices are interconnected with each other. They can broadcast and
receive messages from each other.

Figure 1 Can devices connected to the Canbus network

My tasks are to understand the CAN bus network and try to interface the signal from
the car’s ECU (Engine Control Unit) using the microcontroller (Arduino). The CAN
bus network from the car can easily access the OBDII diagnostic port. The port
exposed CANH & CANL signals to be fed into the microcontroller for processing.
Figure 2 below shows the standard pinout of the OBD2 diagnostic port of a car.

Figure 2 OBD2 diagnostic port that can be found on most vehicles

Arduino does not have a native CAN interfacing feature, so an external module is
required, such as MCP2515, a CAN controller with an SPI interface. The setup is
depicted in Figure 3 and Figure 4 below.

2
Figure 3 Diagram on Arduino and MCP2515 module connected over SPI interface

Figure 4 CanBus to Arduino circuitry

Every CAN bus can have different protocols and baud rate speed. For example, the
car used for this testing is the Proton Saga, which has the CAN protocol of
ISO15765-4CAN11/500 and a baud rate of 500 MHz. Diagnostic information about
the car can be requested using PID (Parameter ID) in 11-bit or 29-bit hexadecimal

3
format. For example, to retrieve the engine speed, I would send to request 7DF 02 01
0C AA AA AA AA AA. The ECU will reply with 7E8 04 41 0C 12 34 AA AA AA.
Then, further processing and calculation are made to determine the value and
translate it into human-readable form.
An app like Torque app for Android and OBD Auto Doctor for Windows is helpful
to validate the data processed by the Arduino quickly. Besides, using the CanDrive
open-source project, raw CAN bus data from the car can be sniffed.

Figure 5 CanDrive Python GUI interface

The screenshot in Figure 5 above shows the GUI interface to the CanDrive
application. The application is written in Python and can be found on GitHub. The
application is really helping a lot for debugging purposes. There are several data
coming from the ECU of the car. Theoretically, I can log any event happening in the
car, such as the power window and multimedia control, but unfortunately, that was
not the case. Perhaps this car’s model does not expose the signal to the CAN bus.
Last but not least, I also attempted to read the trouble codes of the vehicles. The app
can read it successfully, but I cannot find a way to understand and parse the signal
using the Arduino setup. Perhaps I need a deeper understanding of the protocol
implemented by the manufacturer to decode the data.

2. Drone flight test

4
On 16 August, I joined the UAV team to perform an endurance flight test for a drone
at Pulau Indah, Selangor. Among the objectives is to test the flight time endurance
with a dummy payload to meet the client’s requirements. A day before the test, a
premobilization procedure is done. Then, the drone its component is checked and
inspected to see any damage, and the weight is recorded. On the day, I was tasked to
record the data from the Ground Control System (GCS). I also learnt the basic skills
to monitor drone telemetry, such as temperature, speed and so on. Figure 6 below
shows the drone at the test field after completing the mission.

Figure 6 Skyfront MRS drone at the test field

3. Torque vectoring

The wheels on both sides of a car rotate at the same pace when moving straight.
However, when a car turns or corners, that rotational speed varies. In that instance,
the outer wheels have a wider movement radius and must travel a greater distance in
the same period than the inner wheels. This is where torque vectoring is helpful to
distribute torque to each wheel to control its speed.
While cars with conventional combustion engines have mechanical-based torque
vectoring, either differential or brake-based, electric cars can benefit the same in the
form of electronic torque vectoring. The onboard computer will do the necessary
computational from the input from steering and throttle to output the signal to the
motor controllers.

5
I divided the tasks into two stages. The first stage is ensuring the throttle is
interfacing correctly with the microcontroller. This stage only
My initial implementation of the torque vectoring system is by using external ADC
and DAC converters, ESP32 microcontroller and throttle sensor. External DAC and
ADC module is needed because onboard converters are not 5V tolerant. Also, those
module offers a higher analog resolution that can make the reading more accurate.
Figure 7 below is an overview of this torque vectoring prototype.

Figure 7 Simplified flowchart of torque vectoring system

The circuit is then constructed, the throttle sensor is then connected to the ESP32,
and one of the output controllers is connected to the motor controller. The
constructed circuit will become as in Figure 8 shown below.

Figure 8 Initial circuit layout to interface with the throttle sensor

In this stage, my goal is to make sure the output is equal to the input. For example,
the throttle sensor produces 5V when flooring the throttle, so the DAC module must
also output 5V. If there are some differences, it will affect the power given to the
motor by the motor controller.

6
Moving to the second stage, I included a potentiometer in the circuitry. The
potentiometer mimics a steering angle sensor for the car. The overview of the
circuitry now looks like Figure 9 below.

Figure 9 Improved flowchart of the torque vectoring system

Considering the steering input, the signal for both motors, left and right can be
controlled independently. For example, when the driver turns the steering to the right,
the suitable motor will turn faster than the left motor. The prototype now becomes as
in Figure 10 shown below.

Figure 10 Improved version of the torque vectoring prototype

4. KTY83/122 Temperature Sensor

A temperature sensor is built into the motor for safety reasons. I was tasked to
interface with the temperature sensor using a microcontroller. The purpose of the
implementation is to display the motor temperature in the RealDash interface
(Android car player) to monitor the temperature. If the temperature exceeds the
dangerous level, the motor operation will be halted to avoid further problems. The

7
microcontroller of our choice for this experiment is STM32F103 due to its high
resolution of analog input. Figure 11 below is the design of the circuit.

Figure 11 Voltage divider circuit with the KTY83/122 sensor that is inside the motor

5. DS18B20 Temperature Sensor for battery

The battery is the core component of any electric vehicle, and keeping it in good
condition is necessary. The type of battery we used is safe due to its chemical
stability. The battery will not quickly get damaged when abused. However, a
temperature sensor is installed on the battery to keep the battery and other
components at optimal condition.
The sensor of choice goes to the DS18B20 Dallas temperature sensor. The sensor is
waterproof, and due to the communication protocol, the installation process is much
simpler.
The sensor is based on the OneWire interface. Therefore, multiple sensors can be
chained together without the need to use multiple signal wires like the conventional
sensors out there, resulting in only one signal wire going to the microcontrollers.
Therefore, the pins on the Arduino can be used by other components.
Each sensors have different unique and distinct address that differentiate each other. I
made the JST connector and connected it to the donut board, where all other sensors
are also connected. Figure 12 below shows the process to determine the address and
make labelling for it so that it can easily manageable.

8
Figure 12 Arduino Serial monitor showing the sensor's addresses

Then, the sensors are installed on the batteries inside the car. All of the wire is
connected to one board. Figure 13 below shows how the sensor will be installed.

Figure 13 Temperature sensor installation on a test battery

Conclusion

Apart from what have been mentioned above, I also get exposed a lot to electric vehicles
technology such as battery management systems, motor controller and so on. The scope of
work in this company is closely related to my course in university which is Mechatronics
Engineering. I hope the knowledges I gained from this internship period has prepared me for
the final year project in the upcoming semester.

9
References

1. (2022). Lastminuteengineers.com. https://lastminuteengineers.com/ds18b20-arduino-


tutorial/
2. Introduction to CAN-BUS and How to use it with Arduino - Latest Open Tech From
Seeed. (2019, November 27). Latest Open Tech from Seeed.
https://www.seeedstudio.com/blog/2019/11/27/introduction-to-can-bus-and-how-to-
use-it-with-arduino
3. KoffeinFlummi. (2020, September 8). GitHub - KoffeinFlummi/rustbucket: Access
your car’s diagnostics with a BeagleBone Blue and Rust. GitHub.
https://github.com/KoffeinFlummi/rustbucket
4. OBD2 PID Overview [Lookup/Converter Tool, Table, CSV, DBC]. (2015). CSS
Electronics. https://www.csselectronics.com/pages/obd2-pid-table-on-board-
diagnostics-j1979
5. System Consultancy Services Sdn Bhd. (2021). “Your thinking company” – System
Consultancy Services. Scs.my. http://www.scs.my/

10

You might also like