Gheorghe Asachi Technical University of Iasi [611006]

“Gheorghe Asachi” Technical University of Iasi
Faculty of Electronics, Telecommunications and Information
Technology

Self-Parking Car

SUPERVISOR : STUDENT: [anonimizat]

2019

2

Alexandru Buzatu – Self-Parking Car

1
1. Table of contents
1. Table of contents ………………………….. ………………………….. ………………………….. ………………………….. .. 1
2. CHAPTER 1: Fundamentals ………………………….. ………………………….. ………………………….. ……………….. 3
A. Intro duction ………………………….. ………………………….. ………………………….. ………………………….. …… 3
B. The 5 levels of automation ………………………….. ………………………….. ………………………….. …………… 4
1. Driver Assistance ………………………….. ………………………….. ………………………….. ……………………… 4
2. Partial Automation ………………………….. ………………………….. ………………………….. …………………… 5
3. Condition al Automation ………………………….. ………………………….. ………………………….. ……………. 5
4. High Automation ………………………….. ………………………….. ………………………….. ……………………… 6
5. Full automation ………………………….. ………………………….. ………………………….. ……………………….. 7
3. CHAPTER 2: Hardware ………………………….. ………………………….. ………………………….. ……………………… 8
A. STM32F429I -Discovery1 development board ………………………….. ………………………….. ……………. 10
1. The STM32f429ZiT6 Microcontroller ………………………….. ………………………….. …………………….. 10
2. Embedded ST -LINK/V2 ………………………….. ………………………….. ………………………….. ……………. 14
3. TFT LCD (Thin -film-transistor liquid -crystal display) ………………………….. ………………………….. … 15
4. Gyroscope MEMS (ST MEMS L3GD20) ………………………….. ………………………….. …………………… 15
5. 64-Mbit SDRAM ………………………….. ………………………….. ………………………….. …………………….. 15
6. Push buttons ………………………….. ………………………….. ………………………….. …………………………. 15
7. LEDS ………………………….. ………………………….. ………………………….. ………………………….. …………. 15
B. The battery ………………………….. ………………………….. ………………………….. ………………………….. …… 17
1. Battery Voltage ………………………….. ………………………….. ………………………….. ……………………… 17
2. Battery Capacity ………………………….. ………………………….. ………………………….. …………………….. 17
3. Discharge rating (“C” Rating) ………………………….. ………………………….. ………………………….. …… 17
C. Power management ………………………….. ………………………….. ………………………….. …………………… 19
1. WAVGAT Stabilivolt ………………………….. ………………………….. ………………………….. ………………… 19
2. Linear vo ltage regulator ………………………….. ………………………….. ………………………….. ………….. 20
3. Pololu D24V50F5 ………………………….. ………………………….. ………………………….. ……………………. 22
D. Motor control ………………………….. ………………………….. ………………………….. ………………………….. .. 24
1. Traxxas 7575X motor ………………………….. ………………………….. ………………………….. ……………… 26
2. MC33886 H -Bridge ………………………….. ………………………….. ………………………….. …………………. 26
E. Measuring the covered distance using a Hall effect sensor ………………………….. ……………………… 32
1. Hall effect sensor ………………………….. ………………………….. ………………………….. …………………… 32

Alexandru Buzatu – Self-Parking Car

2
2. Pulse generating circuit ………………………….. ………………………….. ………………………….. …………… 35
F. HC-SR04 Sensor ………………………….. ………………………….. ………………………….. …………………………. 37
4. CHAPTER 3: Software ………………………….. ………………………….. ………………………….. …………………….. 41
A. Introduction ………………………….. ………………………….. ………………………….. ………………………….. …. 41
B. Finite state machine ………………………….. ………………………….. ………………………….. …………………… 41
5. Conclusions ………………………….. ………………………….. ………………………….. ………………………….. ……… 44
6. Bibliography ………………………….. ………………………….. ………………………….. ………………………….. …….. 45

Alexandru Buzatu – Self-Parking Car

3

Future of transportation

Autonomous cars represent the future of human transportation. The whole automotive industry
has plans to change the way traveling is done and the process of developing such cars is
underway since the last decade. Full autonomy brings with it a lot of advantages, the most
important one being in the saf ety department. According to the statistics over 90% of all the road
accidents are the cause of human error, the rest being caused by mechanical problems . Along
with safety, fully autonomous vehicles bring with them increased efficiency and reduced travel
time. All these things make autonomous vehicles the way forward for humanity.

2. CHAPTER 1: Fundamentals

A. Introduction

A car can be considered as fully autonomous when it is capable of not only autonomous
driving, but when i t can autonomously park too. For a long time has been considered that the
selling point for autonomous cars is the combination between autonomous driving and
autono mous parking.
Imagine that someone pulls up to the front door of the grocery store, gets out of the car and
tells the car to go and park by itself. When the respective person has bought what it needed, it
tells the car via the smartphone to come and pick it up, then drive home in autonomous mode.
That is what a fully autonomous car is. The fact that the car behaves like a servant of the people
is the reason why autonomous cars are an attractive idea. People are creatures of com fort and
will always choose the easy way. Why drive and then struggle to park when the car can do this
by itself. Although this seams a rather new concept, people have tried to create cars that do all
these things for some time now.
The first vehicle that could parallel park by itslef was a prototype build in the 1990 in France
by the „Institut National de Recherche en Informatique et an Automatique”(INRIA).The first
parking mode that was automated was the parallel parking because people find parallel parking

Alexandru Buzatu – Self-Parking Car

4
the most difficult to master when compared with perpendicular parking. Another reason why the
autonomous parallel parking was the first to be developed is many space -conscious parking
places require parallel parking.
The SAE ( Society of Automot ive Engineers ) J3O16 standard includes 5 levels of vehicle
automation,the parking assistance and autonomous parking being included too.

B. The 5 levels of automation

• Driver Assistance
• Partial Automation
• Conditional Automation
• High Automation
• Full Automation

1. Driver Assistance
Level 1 is the most basic type of automation. The car uses data from sensors and cameras to help
the driver take decisions but, but the driver is in charge. Systems that can described as being
level one are Cruise control and Lane keeping assist.

Picture 2.1– Driver with the hands on the steering wheel
https://www.carmagazine.co.uk/car -news/tech/autonomous -car-levels -different -driverless -technology -levels -explained/

Alexandru Buzatu – Self-Parking Car

5
2. Partial Au tomation
This is the level 2 of autonomy and is where we are today. The computers take over multiple
functions from the driver. They are intelligent enough to control the speed and steering systems
together using multiple data sources. For example, th e latest Mercedes S Class has some of the
most complicated cruise control systems yet seen. It uses detailed satellite navigation data to
brake automatically for corners ahead, keeping a set distance from the car in front and setting off
again when jams cl ear, with the driver idle.

Picture 2.2– Driver letting go of the steering wheel for a short time
https://www.carmagazine.co.uk/car -news/tech/autonomous -car-levels -different -driverless -technology -levels -explained/

3. Conditional Automation
With level 3 automation a ll aspects of driving can be done by the car, but the driver must be
ready to respond to a request. A level 3 autonomous car has the potential to drive itself in certain
circumstances, it will be in contr ol of all safety and other critical systems. This is realized by
fusing GPS maps, radar and sensors with faster processors and logic. Such a car is on the road
today, according to Audi, the 2019 A8 can be considered a level 3 automation car .

Alexandru Buzatu – Self-Parking Car

6

Picture 3.3 – Driver letting go of the steering wheel for a longer time
https://www.carmagazine.co.uk/car -news/tech/autonomo us-car-levels -different -driverless -technology -levels -explained/
4. High Automation
According to industry experts, cars that can be categorized as level 4 automation will be seen on
the marked after 2020. The key difference between level 3 and level 4 automat ion is that level 4
vehicles can intervene themselves if things go wrong or there is a system failure. The entire
decision making is left to the car, but this generation of cars will still be able to be controlled
with a steering wheel. This kind of cars c an only work in urban areas that are carefully managed.

Picture 3.4 – Driver assisting the self -driving
https://www.carmagazine.co.uk/car -news/tech/autonomous -car-levels -different -driverless -technology -levels -explained/

Alexandru Buzatu – Self-Parking Car

7

5. Full automatio n
A level 5 autmation car can be described as being capable of driving by itself without the
need of external factors, like the level 4 automation, where the car could only work in closely
monitored ares. Level 5 of autonomy is the ulti mate step in self driving cars. The car is supposed
to handle any situation it finds itself in without any external help from humans. One could say
that such a car has it’s own conscience just like a human being. Such cars are expected to be seen
on the roads no earlier than 2035 because of the tremendously hard technological aspects needed
to make it operate .

Picture 3.5 – Self-driving car with complete control
https://www.carmagazine.co.uk/car -news/tech/autonomous -car-levels -different -driverless -technology -levels -explained/

Alexandru Buzatu – Self-Parking Car

8

3. CHAPTER 2 : Hardware
The hardware implementation of the robot car follows the block diagram below :

Figure 3.1 – Block diagram of the hardware

Alexandru Buzatu – Self-Parking Car

9

Picture 3.1 – Picture of the hardware assembly

Alexandru Buzatu – Self-Parking Car

10
A. STM32F429I -Discovery1 development board

The device that brings toghether all the information gathered by the sensors, processes that
information and gives the command signals to the servo motor and to the brushed DC motor is
the development board STM32F429I -Discovery1.

Picture 3.2 – STM32F429I -Discovery1 board
The reason why this development board was selected to be the brain of the robot car is because it
features a wide array of features like the following:
• An advanced microcontroller, STM32f429ZiT6
• Embedded ST -LINK/V2
• TFT LCD
• USB O TG
• Gyroscope MEMS
• 64 Mbit SDRAM
• Push buttons
• LEDS

1. The STM32f429ZiT6 Microcontroller
The STM32f429ZiT6 Microcontroller is a high -performance device based on the Arm Cortex
M4 32 bit RISC (Reduced Instruction Set Computer architecture) core operating at a frequency
of up to 180MHz. The Cortex M4 features an FPU (Floating Point Unit) single precision and an
MPU (Memory Protection Unit) which enhances application security.
The STM32f429 ZiT6 Microcontroller comes in a LQFP package, having 144 pins.

Alexandru Buzatu – Self-Parking Car

11

Figure 3.2 – STM32f429ZiT6 Microcontroller package
The STM32f429ZiT6 incorporates high speed embedded memories:
• Flash memory of 2Mbytes
• 256 Kbytes of SRAM
The STM32f429ZiT6 offers:
• three 12 -bit ADCs
• two DACs
• twelve general -purpose 16 -bit timers including two PWM timers for motor
control
• two general -purpose 32 -bit timers
• three I2Cs
• six SPIs
• two CANs
• LCD -TFT display controller
• USB OTG full -speed and a USB OTG high -speed

Alexandru Buzatu – Self-Parking Car

12
a) General -purpose input/outputs (GPIOs)
Each of the GPIO pins can be configured by software as output (push -pull or open -drain, with or
without pull -up or pull -down), as input (floating, with or without pull -up or pull -down) or as
peripheral alternate function. Most of the GPIO pins are shared with digital or analog alternate
functions. All GPIOs are high -current -capabl e and have speed selection to better manage internal
noise, power consumption and electromagnetic emission. The I/O configuration can be locked if
needed by following a specific sequence in order to avoid spurious writing to the I/Os registers.
Fast I/O ha ndling allowing maximum I/O toggling up to 90MHz.

b) ADC (Analog to Digital Converter)
Three 12 -bit analog -to-digital converters are embedded, and each ADC shares up to 16 external
channels, performing conversions in the single -shot or scan mode. In scan m ode, automatic
conversion is performed on a selected group of analog inputs. Additional logic functions
embedded in the ADC interface allow:
• Simultaneous sample and hold
• Interleaved sample and hold
To synchronize A/D conversion and timers, the ADCs could be triggered by any of TIM1,
TIM2, TIM3, TIM4, TIM5, or TIM8 timer.

c) DAC (Digital to Analog Converter)
The two 12 -bit buffered DAC channels can be used to convert two digital signals into two analog
voltage signal outputs. This dual digital Interfac e supports the following features:
• two DAC converters: one for each output channel
• 8-bit or 10 -bit monotonic output
• left or right data alignment in 12 -bit mode
• triangular -wave generation
• dual DAC channel independent or simultaneous conversio ns
• external triggers for conversion
• input voltage reference VREF+ Eight DAC trigger inputs are used in the device.
The DAC channels are triggered through the timer update outputs that are also connected to
different DMA streams.

d) Timers
On this micr ocontroller 14 timers are found and are of 3 types:
• General -purpose timers
• Advanced -control timers (TIM1, TIM8)

Alexandru Buzatu – Self-Parking Car

13
• Basic timers TIM6 and TIM7

General -purpose timers
• TIM2, TIM3, TIM4, TIM5
The STM32F42x include 4 full -featured general -purpose timers: TIM2, TIM5, TIM3, and
TIM4.
The TIM2 and TIM5 timers are based on a 32 -bit auto -reload up/down -counter and a 16 -bit
prescaler. The TIM3 and TIM4 timers are based on a 16bit auto -reload up/down -counter and a
16-bit prescaler. They all feature 4 independent channels for input capture/output compare,
PWM or one -pulse mode output. This gives up to 16 input capture/output compare/PWMs on the
largest packages.
The TIM2, TIM3, TIM4, TIM5 general -purpo se timers can work together, or with the other
general -purpose timers and the advanced -control timers TIM1 and TIM8. Any of these general –
purpose timers can be used to generate PWM outputs.
• TIM9, TIM10, TIM11, TIM12, TIM13, and TIM14
These timers are based on a 16 -bit auto -reload up -counter and a 16 -bit prescaler.
TIM10, TIM11, TIM13, and TIM14 feature one independent channel, whereas TIM9 and TIM12
have two independent channels for input capture/output compare, PWM or one -pulse mode
output. They can be synchronized with the TIM2, TIM3, TIM4, TIM5 full -featured general –
purpose timers. They can also be used as simple time bases.

Advanced -control timers (TIM1, TIM8)
The advanced -control timers (TIM1, TIM8) can be seen as three -phase PWM generators
multi plexed on 6 channels. They have complementary PWM outputs with programmable
inserted dead times. They can also be considered as complete general -purpose timers. Their 4
independent channels can be used for:
• Input capture
• Output compare
• PWM gener ation (edge – or center -aligned modes)
• One -pulse mode output

Basic timers TIM6 and TIM7
These timers are mainly used for DAC trigger and waveform generation. They can also be used
as a generic 16 -bit time base.

Alexandru Buzatu – Self-Parking Car

14
e) Inter -integrated circuit interface (I2C)
Three I2C bus interfaces can operate in multimaster and slave modes. They can support the
standard (up to 100 KHz), and fast (up to 400 KHz) modes. They support the 7/10 -bit addressing
mode and the 7 -bit dual addressing mode (as slave).

f) Serial peripheral interface (SPI)
The devices feature up to six SPIs in slave and master modes in full -duplex and simplex
communication modes. SPI1, SPI4, SPI5, and SPI6 can communicate at up to 45 Mbits/s, SPI2
and SPI3 can communicate at up to 22.5 Mbit/s. The 3-bit prescaler gives 8 master mode
frequencies and the frame is configurable to 8 bits or 16 bits.

g) Controller area network (CAN)
The two CANs are compliant with the 2.0A and B (active) specifications with a bitrate up to 1
Mbit/s. They can receive and t ransmit standard frames with 11 -bit identifiers as well as extended
frames with 29 -bit identifiers.

h) LCD -TFT Display
The LCD -TFT display controller provides a 24 -bit parallel digital RGB (Red, Green, Blue) and
delivers all signals to interface directly to a broad range of LCD and TFT panels up to XGA
(1024×768) resolution with the following features:
• 2 displays layers with dedicated FIFO (64×32 -bit)
• Color Look -Up table (CLUT) up to 256 colors (256×24 -bit) per layer
• Up to 8 Input color formats selec table per layer
• Flexible programmable parameters for each layer
• Color keying (transparency color)
• Up to 4 programmable interrupt events.

2. Embedded ST -LINK/V2
The ST -LINK/V2 on STM32F429I -Discovery1 is embedded as programming and debugging
tool. V irtual COM port and USB mass storage features are supported by the ST -LINK/V2 -B
only for mbed compatibility.

Alexandru Buzatu – Self-Parking Car

15
3. TFT LCD (Thin -film-transistor liquid -crystal display)
The TFT LCD is a 2.41" display of 262 K colors. Its definition is QVGA (240 x 320 dots) and is
directly driven by the STM32F429ZIT6 using the RGB protocol. It includes the ILI9341 LCD
controller and can operate with a 2.8 ±0.3 V voltage.
The STM32F429ZIT6 controls this motion sensor through the SPI interface, using the SPI5 in
Transmit only mast er mode.

4. Gyroscope MEMS (ST MEMS L3GD20)
The L3GD20 is an ultra -compact, low -power, three -axis angular rate sensor. It includes a sensing
element and an IC interface able to provide the measured angular rate to the external world
through the I2C/SPI serial interface. The L3GD20 has a full -scale of ±245/±500/±2000dps and is
capable of measuring rates with a user -selectable bandwidth. The STM32F429ZIT6 controls this
motion sensor through the SPI interface.

5. 64-Mbit SDRAM
The 64 -Mbit SDRAM is a highspeed CMOS, dynamic random -access memory designed to
operate in 3.3 V memory systems containing 67,108,864 bits. It is internally configured as a
quad -bank DRAM with a synchronous interface. Each 16,777,216 -bit bank is organized as 4,096
rows by 256 co lumns by 16 bits. The 64 -Mbit SDRAM includes an auto -refresh, a power -saving
and a power -down mode. All signals are registered on the positive edge of the clock signal.
The STM32F429ZIT6 reads and writes data at 80MHz.

6. Push buttons
The board features 2 push buttons:
• One push button is the RESET of the board
• One push button is a USER defined button.

7. LEDS
The STM32F429I -Discovery1 features 6 LEDS:
• LED1 COM: LED1 default status is red. LD1 turns to green to indicate that communications
are in progress between the PC and the ST -LINK/V2.
• LED2 PWR: The red LED indicates that the board is powered.
• User LED3: The green LED is a user LED connected to the I/O PG13 of the STM32F429ZIT6.

Alexandru Buzatu – Self-Parking Car

16
• User LED4: The red LED is a user LED connected to the I/O PG14 of the STM32F429ZIT6.
• User LED5: The green LED indicates when VBUS is present on CN6 and is connected to PB13
of the STM32F429ZIT6.
• User LED6: The red LED indicates an overcurrent from VBUS of CN6 and is connected to the
I/O PC5 of the STM32F429ZIT6.

The block scheme of the STM32F429I -Discovery1:

Figure 3.3- STM32F429I -Discovery1 block diagram

Alexandru Buzatu – Self-Parking Car

17
B. The battery

The power supply of the robot car is a LiPo battery. A LiPo battery is a type of rechargeable
battery made out of lithium and having a polymer electrolyte, hence the name LiPo which stands
for Lithium Polymer.
The advantages of LiPo batteries over the other types of batteries are the following:
• High capacity
• High voltage output
• High discharge rate
• Low self -discharge rate
• Low charging time
The main disadvantage of LiPo batteries is that in case of over discharging their functioning is
affected irreversibly.

1. Battery Voltage
A LiPo battery has a nominal voltage of 3.7V. The nominal voltage represents the voltage that is
at the middle point between the voltage of a fully discharged LiPo battery and the voltage of a
fully charged LiPo battery.
To increase the voltage, two or more battery cells must be conne cted in series. Connecting in
series adds up the voltage of each cell. Such a battery can be rated as 2S, 3S, 4S etc. If, for
example, a battery pack is rated as 3S, it means that it is comprised of 3 cells, hence the 3, that
are connected in series, hence the S. A 3S battery pack has the voltage of a battery cell
multiplied by 3, so the nominal voltage is equal to 11.1V.

2. Battery Capacity
The capacity of a LiPo battery refers to the amount of electric charge a battery can deliver. The
measurement unit is miliamper hour denoted mAh. The higher the battery capacity is the longer
the run time is.

3. Discharge rating (“C” Rating)
The C Rating is a measure of how fast a battery can be safely discharged. In order to find the
maximum current output of the battery, the C rating must be multiplied with the battery capacity.
Drawing more current than the maximum output current of the bat tery increases the degradation
rate of the battery, or the worst that can happen is the battery bursting into flames.
The battery pack used in this project is a Turnigy 1800 mAh 3S 40C.

Alexandru Buzatu – Self-Parking Car

18

Picture 3.3 – Turnigy 1800 mAh 3S 40C battery
As stated in the name, the battery pack is comprised out of three battery cells tied in series, thus
having the nominal voltage equal to 11.1V. The constant discharge rate is 40C and the capacity
is 1800 mAh.
The maximum output current of the battery pack is:
𝐼𝑚𝑎𝑥 =40∗1800 => 𝐼𝑚𝑎𝑥 = 72000mA => 𝐼𝑚𝑎𝑥 =72𝐴 Eq. B.1
Where 𝐼𝑚𝑎𝑥 is the maximum output current.
The power provided by this battery is more than sufficient for the correct functioning of the robot
car.

Alexandru Buzatu – Self-Parking Car

19
C. Power management

The battery used in this project supplies a voltage that ranges between 12.6V and 11V depending
on the amount of charge stored in it. Since the majority of the circuits that compose the robot car
work at 5V and the battery has the voltage mentioned above, buck converters are used in order to
drop the voltage to 5V.
A buck converter is a DC -to-DC converter that steps down the input voltage to the desired
output. The typical efficiency of a buck converter is between 80 to 95%. The reason the
efficency of the buck converter is so high when compared to the voltage regulators is because of
the way it operates. It is a type of switch mode power supply meaning that is controlled by
PWM(Pulse Width Modulation). Nowadays most of the buck converters found on the mark et
have integrated circuits in their construction. The IC switches the higher voltage very quickly. It
is then passed through a filter made out of an inductor and capacitors in order to step the voltage
down to the desired value. If the duty cycle of the P WM increases or decreases so does the
output voltage.
1. WAVGAT Stabilivolt

One type of buck converter selected for this project is WAVGAT Stabilivolt.

Picture 3.4 – WAVGAT Stabilivolt buck converter
Two modules of this type are found in the robot car assembly. One is used to power the
STM32F429I -DISCOVERY development board and the other is used to power all the sensors of
the robot car. This buck converter can be supplied with a voltag e that ranges between 4.5V -24V
DC and can output a voltage that ranges between 0.8V -17V DC. The fact that it has an adjustable
output voltage is the main reason it was picked for the project. According to the datasheet the
maximum output current is 3A and the switching frequency is 500KHz. The maximum

Alexandru Buzatu – Self-Parking Car

20
efficiency is 97.5%, the measurement being made with an input voltage of 6.5V. The graphic
below shows the efficien cy of the buck converter when the input voltage has different values.

Figure 3.4 – Efficiency of the WAVGAT Stabilivolt buck converter

The buck converter that supplies the development board has 12V as input voltage and 5V as
output v oltage. Knowing that the board draws 100 mA of current, according to the chart above
the efficiency of this specific buck converter is equal to 90%.
The problem that this specific type of buck converter has is related to the ripple of the output
voltage. According to the datasheet the output ripple voltage is 20 mV, but in reality this is not
true. The true value of the ripple voltage is equal to 90 mV which does not represent a problem
for the development board because it has a built -in voltage regulator which smoothens the input
voltage for the board, but it represents a problem for the sensors that are supplied by such a buck
convertor.
2. Linear voltag e regulator

The answer to the problem caused by the ripple voltage is a linear voltage regulator. The output
voltage of a linear voltage regulator is an almost perfect DC waveform with extremely low ripple
voltage. The linear voltage regulator used is a S T L7805CV. The maximum input voltage that
can be supplied with is 18V and the minimum input voltage is equal to 7V.
Linear voltage regulators have 2 major drawbacks :

Alexandru Buzatu – Self-Parking Car

21
• Are inefficient
• Have a dropout voltage
The power wasted in a linear voltage regulator is given by the formula
𝑃=(𝑉𝐼𝑁−𝑉𝑂𝑈𝑇)∗𝐼𝑂𝑈𝑇 Eq. C.1
where:
• 𝑃 is the wasted power
• 𝑉𝐼𝑁 is the input volta ge
• 𝑉𝑂𝑈𝑇 is the output voltage
• 𝐼𝑂𝑈𝑇 is the output current
The total current consumption of the sensors and of the comparator circuit is 50mA, this results
that 𝐼𝑂𝑈𝑇 = 50mA. If the voltage regulator would be connected directly to the battery which has a
voltage of around 12V then the wasted power would be:
𝑃=(12−5)∗0.05 Eq. C.2
Which results that the wasted power is equal to 0.35W
The efficiency of the voltage regul ator is given by the formula
E= 𝑉𝑂𝑈𝑇
𝑉𝐼𝑁∗100 Eq. C.3
Where E is the efficiency in %.
Replacing in the above formula the efficiency is equal to 41.6%. If the voltage regulator is
supplied with 12 V the wasted power is 0.35W and the efficiency is 41.6%.
In order to increase the efficiency and to decrease the wasted power, the linear voltage
regulator is supplied with 7V. The same type of buck c onverter that is used to power the
development board is used to supply the voltage regulator. According to the datasheet of the
voltage regulator it has a dropout voltage of 2V. The minimum value of the input voltage of the
linear regulator is equal to the output voltage which is 5V plus the dropout voltage which is 2V.
This means that the input voltage must be at least 7 volts in order to make the linear voltage
regulator to function properly.
When the input voltage of the regulator is 7V the efficienc y is equal to 71.4% which represents
an increase of 29.8% over the 12V input.
The wasted power is:
𝑃=(7−5)∗0.05 Eq. C.4
Which results that P = 0 .1W, being a much reasonable value instead of 0.35W
On the input pin of the linear voltage regulator a 10uF electrolytic capacitor is used to smoothen
the input voltage coming from the buck converter. On the output pin of the regulator 2 types of
capacit or are used, one 10uF electrolytic capacitor and one 0.1uF ceramic capacitor. These
capacitors are called decoupling capacitors. The input capacitor decouples(separates) the

Alexandru Buzatu – Self-Parking Car

22
regulator from the supply voltage. The output capacitors provide a small buffer fo r the load. This
reduces the ripple voltage to almost 0 which is what the sensors and the comparator circuit
require in order to function properly.
The schematic below portrays the circuit required by L7805CV to function correctly.

Figure 3.5 – L7805CV circuit
3. Pololu D24V50F5
As mentioned before, the robot care uses two types of buck converters. The second type is a
Pololu D24V50F5.

Picture 3.5 – Pololu D2 4V50F5
Unlike the WAVGAT Stabilivolt, this buck converter does not have adjustable output voltage,
instead is fixed at 5V. Typical efficiencies of 85% to 95% make this switching regulator well
suited for high -power applications like powering motors or servos. T his regulator is used to
supply power for the servomotor of the robot car. It was selected because it can output a current

Alexandru Buzatu – Self-Parking Car

23
of 5A. The reason why such a high current is needed is because the servomotor has current
spikes of around 2A when a load is attached to the moving arm. This buck converter can easily
handle such currents without overheating , making it the excellent choice for suppling the
servomotor.
The dropout voltage of a step -down regulator is the minimum amount by which the input voltage
must exceed the regulator’s target output voltage in order to ensure the target output can be
achieved. For example, if a 5 V regulator has a 1 V dropout voltage, the input must be at least
6 V to ensure the output is the full 5 V. Generally speaking, the dropout voltage increases as the
output current increases.

Figure 3.6 – Efficiency vs Output current Figure 3.7 – Dropout Voltage vs Output Current
According with the above tables the efficiency of the Pololu D24V50F5 is around 90% because
the Vin voltage is equal with 12V and the output current is around 1A. The dropout voltage is
between 0.8V and 1V according to the table above.
Another reason for picking the Pololu D24V50F5 as the buck converter that supplies the
servomotor is because of the low power consumption when is in idle (when the servomotor doe s
not need power). According to the datasheet, the regulator generally operates at a switching
frequency of around 600 kHz, but the frequency drops when encountering a light load to improve
efficiency, thus saving power.

Alexandru Buzatu – Self-Parking Car

24

D. Motor control

In order to move forward and backward the robot car uses a Brushed Direct Current Motor.
Brushed DC motors are widely used in all sorts of application ranging from RC cars to adjustable
car seats and car door windows. The advantage of brushed DC motors over t he other types of
motors (Brushless DC motors, AC induction motors) is that are simple to use and are
inexpensive, being available in all and sizes.
Principles of operation
All Brushed DC motors have the same working principle and are made from the same basic
components:
• Stator
• Rotor
• Brushes
• Commutator

Figure 3.8 – Diagram of Brushed DC motor

The stator
The purpose of the stator is to generate a stationary magnetic field which surrounds the motor.
Permanent magnets or electro -magnets are used to generate this field.

The rotor
Is made up of one or more windings. When the windings are energized they produce a magnetic
field. The magnetic field poles of the rotor are attracted to the opposite magnetic poles of the
stator causing the motor to turn. As the motor turns, the windings are constantly being energized
in a different sequence so that the magnetic poles generated by the rotor do not over lapse with

Alexandru Buzatu – Self-Parking Car

25
the poles generated by the stator. The switching of the field in the rotor windings is called
commutation.

Brushes and Commutator
Unlike other types of electric motors (Brushless DC motors, AC induction motors), Brushed
DC motors do not requ ire a controller to switch current in the motor windings. The winding
commutation is realized mechanically. A segmented copper sleeve called a commutator resides
on the axle of the BDC motor. As the motor turns, carbon brushes slide over the commutator
coming in contact with different parts of it. Because these segments are attached to different
rotor windings, a dynamic magnetic field is generated inside the motor which in turn spins the
axle.

Types of Brushed DC motors
• Permanent magnet
• Shunt -wound
• Series -wound
• Compound -wound

Permanent magnet
These motors use permanent magnets to produce the magnetic field of the stator. The best use
for this type of Brushed DC motor is in applications that do not require a lot of horsepower, such
as toys. It is the most inexpensive type of Brushed DC motor.
The performance curve of the permanent magnet Brushed DC motor is linear (voltage with
speed), also current draw varies linearly with the torque.

Figure 3.9 – Permanent magnet Brushed DC motor

The Shunt -wound, Series -Wound and Compound wound types of Brushed DC motor, all use
coils in the stator, to generate magnetic fields instead of permanent magnets.

Alexandru Buzatu – Self-Parking Car

26
1. Traxxas 7575X motor
The type of Brushed DC motor used in the robot -car is PMDC. This type of motor is used in this
project because is the cheapest among the four types of DC motor. The model used is a Traxxas
7575X Brushed Motor 370 (28 -Turn).

Picture 3.6 – Traxxas 7575X motor

This motor offers great capability but at the cost of power consumption. The motor draws 1.5 A
of current while functioning, but the real problem with it is when it starts. When the motor stats,
current peaks at almost 4 A of current, which is more than most H -bridges can handle.
Controlling this motor requires an H -bridge that can work with large voltages and currents.
2. MC33886 H-Bridge

An H -bridge is a circuit that can be used to control the spe ed and direction of a Brushed DC
motor.

Figure 3.10 – H-bridge schematic
The name of the circuit comes from the way the transistor are placed in relation to each other,
forming an H, hence the name H -bridge.

Alexandru Buzatu – Self-Parking Car

27
The way an H -bridge functions is as follows:

Figure 3.11 – Current flowing from left to right Figure 3.12 – Current flowing from left to right

Turning on the top left transistor and the bottom right transistor makes the current flow through
the motor in the direction depicted i n the images above, making the motor turn in the same
direction as the flow of the current.

Figure 3.13- Current flowing from right to left Figure 3.14 – Current flowing from right to left

Turning on the top right transistor and the bottom left transistor makes the current flo w through
the motor in the opposite way making the motor turn in reverse as opposed to the first case
depicted above.
Turning on either only the transistors from the top side or only the transistors from the bottom
side stops the motor quickly and to reali zes dynamic breaking.

Alexandru Buzatu – Self-Parking Car

28

The H -bridge that controls the BDC motor of the robot care is an MC33886. As mentioned
before this motor needs high amounts of current to function and this H -bridge provides just that.
The H -bridge supports voltages that range be tween 5V and 40V and the maximum output current
is 5A.

Figure 3.15 – Block diagram of MC33886 H-bridge

As depicted in the above block scheme of the H -bridge it is a fully protected module. It has
current limit sensing, short -circuit sensing, over temperature sensing, undervoltage sensing. In
case any of these protection circuits is triggered the outputs are tri -stated, meaning that they are
out of use. These features make this H -bridge a very attractive motor control cir cuit, when
compared with other, more common H -bridges found on the market like LM298N which do not
feature such a wide array of control circuits.
Being so complex on the inside also makes controlling it to differ from the other types of H –
Bridges found on the market. For example, to control the movement of the motor, one input
needs to be logic High and the other input need to be provided the PWM signal. What is
interesting about this is that the smaller the duty cycle is the faster the motor spins.
The frequency of the PWM signal needs to be smaller than 10Khz according to the datasheet.
The frequency of the PWM signal used to control the motor is 200Hz which is well within the
range of operation.

Alexandru Buzatu – Self-Parking Car

29
The problem encountered with this H -bridge is that t he control logic is 5V C -MOS compatible.
This means that it interprets Logic high as being between 4.75V and 5.25V. The development
board outputs digital signals that have the 1 logic level equal to 3V. This means that the H -bridge
can not interpret the co ntrol signals that the development board sends. In order to understand the
commands sent by the development board a logic level shifter is required. The level shifter takes
the digital signal sent by the board, which is 3V in amplitude and amplifies the si gnal to 5V in
amplitude.
In the picture below you can see the PWM signal that the development board outputs. It is 3V in
amplitude.

Figure 3.16 – PWM signal measured at the output of the development board

Because the 3V signal ca n not be interpreted by the H -bridge control logic the level shifter
amplifies the amplitude of the signal to 5V. In the picture below the PWM signal is 5V in
amplitude, being measured at the output of the logic level shifter.

Alexandru Buzatu – Self-Parking Car

30

Figure 3.17 – PWM signal measured at the output of the logic level shifter

In the below picture you can see the PWM signal at the output of the H -bridge. The amplitude of
the signal is equal to the voltage supplied by the battery, because the supply of the H -bridge is
connected to the battery.

Figure 3.18 – PWM signal measured at the output of the H-bridge

Alexandru Buzatu – Self-Parking Car

31

In the picture below all the three amplitude levels of the same PWM signal can be seen.

Figure 3.19 – The 3 amplitude levels of the PWM signal
Yellow represents the PWM at the output of the development board, green represents the PWM
at the output of the logic level shifter, and blue represents the PWM at the output of the H –
bridge.

Alexandru Buzatu – Self-Parking Car

32

E. Measuring the covered distance using a Hall effect sensor

Knowing the distance covered by the robot car is a very important topic. Measuring the
distance is realized by using a Hall effect sensor and magnets. Neodymium magnets are used
because they a re very small and very powerful. 10 disk shaped neodymium magnets are
mounted on the back -left wheel of the robot car, each magnet having 3mm in diameter and
1.5mm in height. It is very important that the magnets are mounted at an equal distance in
relation to each other, otherwise the distance measurement is not precise. The circumference of
the wheel is 20.5 cm, meaning that each time a magnet is detected, the robot car covered a
distance equal to the circumference of the wheel divided by the number of magnets: 20.5 divided
10 which is 2.05 cm.

Picture 3.7 – Picture of the wheel with the magnets mounted on it
1. Hall effect sensor
In order to detect the magnetic field a Hall effect sensor is needed. The Hall effect sensor used
in this project is a HoneywellSS495A. The SS490 Series MRL (Miniature Ratiometric Linear)
can be operated from a permanent magnet or from an electromagnet . This sensor is used in this
project because of the size of it: 4mm by 3mm by 1.6 mm, meaning that the space occupied is

Alexandru Buzatu – Self-Parking Car

33
small, making it suitable for this project. The supply voltage of this sensor ranges between 4.5V
and 10.5 V, 5V being the operating v oltage in this case. This sensor also has a number of other
important features such as very small power consumption. The power consumption at 5VDC is
only 7mA which stands for 35mW, which is extremely small. The output of the sensor is linear
which means that the output voltage is proportional to the magnetic field strength. The sensor
responds to either negative or positive gauss which means that the output voltage changes
regardless of the polarity of the magnet that is next to the sensor. The way thi s Hall effect
sensor works is as follows: When no magnetic field is detected the output voltage of the sensor
stays at half the supply voltage. For example, if the Hall effect sensor is supplied with 5V and no
magnetic field is present the output of the se nsor is 2.5V. If a magnet is faced with the north
polarity towards the Hall effect sensor, the output voltage of the sensor decreases towards 0V in
a linear way, depending on the magnet’s magnetic field strength and the distance between the
two. If a mag net is faced with the south polarity towards the Hall effect sensor the output
voltage of the sensor increases in a linear manner towards 5V and again it depends on the
magnet’s magnetic field strength and the distance between the two.

Figure 3.20 – Transfer Characteristics at Vs = 5.0 VDC

In this project the magnet faces the Hall effect sensor with the north pole, meaning that the
output of the sensor will be 0 volts when a magnetic field is detected. The intended way for this
circuit to function is to generate a pulse for every magnet th at passes next to the Hall effect
sensor which means that some additional circuitry is needed in order to do that.
The idea is to use an operational amplifier in an open loop configuration. The comparator
configuration of the operational amplifier acts as a bridge between analog and digital, meaning
that the amplifier output will be 0 volt s or 5 volts based on the 2 analog inputs.
The mathematical formula that describes the output of an operational amplifier an open loop
configuration is as follows:
𝑉𝑜𝑢𝑡 =𝑎 (𝑉𝐼+− 𝑉𝐼−) Eq. E.1
where:

Alexandru Buzatu – Self-Parking Car

34
𝑉𝑜𝑢𝑡 − Output voltage;
𝑎− open loop amplification factor
𝑉𝐼+− the noninverting input voltage value
𝑉𝐼−− the inverting input voltage value
The operational amplifier used in this project is LM358P. The voltage that it can be supplied
with ranges betwee n 3V and 36V. In this project the LM358P is supplied with 5V. According to
the datasheet the open loop amplification factor (or gain) equals 100 V/mV or in other words it
amplifies the difference between 𝑉𝐼+ and 𝑉𝐼− by 100000. Operational amplifiers ar e extremely
sensitive to voltage changes and the way this comparator configuration works is as follows:
If 𝑉𝐼+ increases above 𝑉𝐼− just by 1mV, according to Eq.E.1 ,
𝑉𝑜𝑢𝑡 =105∗1∗10−3 Eq. E.2
𝑉𝑜𝑢𝑡 = 100V
In reality this is not the case because in order for 𝑉𝑜𝑢𝑡 to reach 100V the LM358P should be
supplied with 100V. 𝑉𝑜𝑢𝑡 will saturate at the supply voltage of the operational amplifier which is
5V.

If 𝑉𝐼− increases above 𝑉𝐼+ just by 1mV, according to Eq.E.1
𝑉𝑜𝑢𝑡 =105∗(−1)∗10−3 Eq. E.3
𝑉𝑜𝑢𝑡 = -100V
This can’t happen because the lowest voltage potential of LM358P is 0V, so 𝑉𝑜𝑢𝑡 will saturate at
0V.
Understanding how the Hall effect sensor works and how LM358P works in comparator
configuration is important because the combination between the two results in the puls e
generating circuit.

Alexandru Buzatu – Self-Parking Car

35
2. Pulse generating circuit

Figure 3.21 -Pulse generating circuit

The above circuit works as follows:
Since the output of the Hall effect sensor stays at 2.5V when there is no magnetic field
detected, the output of the sensor will be tied through a voltage divider at the inverting input
terminal ( -) of LM358P and the wanted value for 𝑉𝐼− is 2V. For the noninverting input terminal
(+) of the operational amplifier a voltage divider is used to keep 𝑉𝐼+at a wanted value of 1.8V.
Since the amplifier is used in an open loop configuration and 𝑉𝐼−> 𝑉𝐼+ the output of the
operational amplifie r is 0V.
When the Hall effect sensor detects a magnetic field the output voltage of the sensor tends
towards 0 which results that 𝑉𝐼− tends to 0 too. When 𝑉𝐼− drops under 𝑉𝐼+ the output of the
comparator goes towards the supply voltage which is 5V and this is how a pulse is generated.
This cycle repeats every time a magnet passes in front of the Hall effect sensor.

In order to find the values of the resistors, some equations are required to be written:
𝑉𝐼−=𝑅2
𝑅2+𝑅1∗2.5 Eq. E.4
The target value of 𝑉𝐼− is 2V, so by replacing in the equation it is obtained:
2=𝑅2
𝑅2+𝑅1∗2.5 =>2
2.5=𝑅2
𝑅2+𝑅1 Eq. E.5
The relation is obtained:
4𝑅1=𝑅2 Eq. E.6

Alexandru Buzatu – Self-Parking Car

36

Having the mathematical relation between R1 and R2, the optimal values are selected in order to
satisfy the relation above.
The values selected are 𝑅1=270Ω and 𝑅2=1𝑘Ω.

𝑅1 is not exactly 4 times smaller than 𝑅2, but since the owned resistor kit does not have t he
resistor values to fulfill the exact ratio, 270 Ω will be just fine. Replacing the values of R1 and R2
in the equation for 𝑉𝐼−, the real value of 𝑉𝐼−, can be calculated.

𝑉𝐼−=1000
1000 +270∗2.5 =>𝑉𝐼−=1.95𝑉 Eq. E.7
It’s not the 2V initially wanted but is still good enough for what it is intended to do, the
difference is 0.05V from the targeted voltage value.

Calculations for the resistor values of the noninverting input of LM358P:
The noninverting input is connected to 5V through a voltage divider resulting in the equation:
𝑉𝐼+=𝑅4
𝑅4+𝑅3∗5 Eq. E.8
𝑉𝐼+needs to be 200mV smaller than 𝑉𝐼− because the sensitivity needs to be high. The closer 𝑉𝐼+ is
to 𝑉𝐼− the higher the sensitivity. This means that 𝑉𝐼+will be 1.8V and replacing in the equation
from above, is obtain ed:
1.8=𝑅4
𝑅4+𝑅3∗5=>1.8
5=𝑅4
𝑅4+𝑅3 Eq. E.9
Having completed the calculations , the result i s:
𝑅4=0.56∗𝑅3 Eq. E.10
The values selected are pick 𝑅3=510Ω and 𝑅4=270Ω . Again, the ratio between 𝑅4 and 𝑅3
is not perfect but it is very close. Replacing in the equation for 𝑉𝐼+ the real value for the
noninverting input is:
𝑉𝐼+=270
270 +510∗5=>𝑉𝐼+=1.73𝑉 Eq. E.11
The differ ence in voltage between 𝑉𝐼− and 𝑉𝐼+is 220mV which is close to the initial target of
200mV.

Having completed the pulse generating circuit, the need is to count those pulses in order to
establish the distance travelled by the robot car. The output of the LM358P is connected to a
GPIO pin of the microcontroller. Each pulse triggers an external interrupt event. All that is now
left to do is to increment a variable each time the external interrupt event takes place. For each
incrementation of the variable the car covers in real life the distance of 2.05 cm.

Alexandru Buzatu – Self-Parking Car

37

F. HC-SR04 Sensor

A key aspect of this project is knowing the distance between obstacles and the robot car. The
distance from the obstacles to the car is measured using ultrasonic distance sensors. This type of
sensor is used because it is the cheapest way of measuring the distance to an object. Other types
of distance measuring devices could be used, for example infrared sensors, but they are 20 times
more expensive, and giving the fact that the robot car needs 4 of these sensors this is not a viable
option.
The type of ultrasonic sensor used by the robot car is a very popular one and is called HC -SR04.

Picture 3.8 – HC-SR04 Sensor
From the above image can be seen that this sensor has 4 pins. 2 pins are used for power supply
and the other two are for the input and output signals. The trigger pin is for the input signal and
the echo pin is for the output.
This sensor works as follows :
After a pulse with the duration of 10 µs is sent to the trigger pin, the ultrasonic module outputs 8
40KHz ultrasonic pulses. After the last of the 8 pulses is emitted, the echo pin is switche d from
0V to 5V. When the echo module receives the echo of the pulses emitted by the trigger module,
the echo pin is turned to 0 again.

Alexandru Buzatu – Self-Parking Car

38

Figure 3.22 – Signal timing

The relation between time and distance is given by the formula:
𝑑=𝑡∗𝑣 Eq. F.1
Where:
• d is the distance
• t is the time
• 𝑣 is the speed
Giving the fact that the sensor outputs the time duration and 𝑣 represents the speed of sound in
the air, the distance can be easily calculated.
The speed of sound is equal to 340 m/s, but since the desired measurement is in centimeters it
results that th e speed of sound is equal with 0,034 cm/µs.
Applying the above formula, the distance is equal with half the duration in microseconds of the
pulse sent by the echo pin, multiplied with the speed of sound in the air. Half the duration of the
pulse is used be cause what is measured is the echo.
𝑚𝑑= 𝑡𝑒𝑐ℎ𝑜
2∗0.034 Eq. F.2

Where:
• 𝑚𝑑 is the measured distance in cm.
• 𝑡𝑒𝑐ℎ𝑜 is the time duration of the ec ho pulse in µs.
The refresh rate of this sensor is 20Hz, meaning it can measure the distance up to 20 times per
second. In this project the distance needs to be measured as often as possible, because, in this

Alexandru Buzatu – Self-Parking Car

39
way the robot senses any obstacles that are in the way. The way it was decided to use the HC –
SR04 in this project is the following:
The trigger pulse is in fact a PWM signal that has the frequency 20Hz and the duty cycle 0.02%.
This means that every 50ms the trigger pin receives a pulse of 10µs.

Figure 3.23 – The trigger pulse

Figure 3.24 – The trigger pulse zoomed in

The timers of the microcontroller are used to capture the echo pulse generated by the sensor.
The input capture mode of the timers was configu red to count the microseconds between the
rising edge and the falling edge of the echo pulse. In this way the length of the pulse returned by
the echo pin is obtained directly in microseconds and can be easily processed to determine the
distance between th e sensor and the surroundings.

Alexandru Buzatu – Self-Parking Car

40

Figure 3.25 – The echo pulse

Figure 3.26 – Echo pulse obtained by measuring the distance towards a more distant object

Alexandru Buzatu – Self-Parking Car

41
4. CHAPTER 3 : Software

A. Introduction
The software that controls the movement of the robot car is designed to behave like a finite
state machine. The finite state machine is the best way of controlling the robot car because in this
way each step the car makes can be closely monitored. Another advantage the fin ite state
machine method brings with it is the easy way of understanding the sequence of events. Timing
is a very important aspect of this project and dividing the whole parking sequence into smaller
time events that are easier to manage make the project s eem simpler even though it is not.

B. Finite state machine
The finite state machine implemented for the robot car is made of 11 states, as depicted in the
diagram below.

Figure 0.1 – Finite state machine bloc k diagram

Alexandru Buzatu – Self-Parking Car

42

START state:
The START state is the first state of the finite state machine. This state represents the activation
of the robot car.

IDLE state:
The IDLE state occurs when the robot car detects an obstacle with the front sensor. If an
obstacle is detected the car stops. When the obstacle is removed the car returns to the state that it
was in before the obstacle was detected.

SEARCHING state:
The SEARCHING state is the state where the robot car has the command to move forward and to
check i f a parking place has started. The car goes from this state into the IDLE state when an
obstacle is ahead or into the PARKING DISTANCE state if the start of a parking place is
detected.

PARKING DISTANCE state:
When the beginning of a parking place is detected this state activates. In this state the robot car
measures the length of the parking place. From this state the car can go into 3 other states:
• IDLE when an obstacle is in front
• SEARCHING when the measured length of the parking place is not big enough for the
car to fit in
• PARKING ENTER if the length of the parking spot is big enough.

PARKING ENTER state:
In this state the variable that counts the pulses generated by the Hall effect sensor is reset to 0.
From this state the car goes into MOVE FORWARD state.

MOVE FORWARD state:
In this state the robot car goes forward a certain number of steps after a suitable parking place is
found. The car can go from th is state into the IDLE state if an obstacle is detected or into FIRST
MOVE.

Alexandru Buzatu – Self-Parking Car

43

FIRST MOVE state:
In this state the robot car begins the parking procedure. The front wheels are turned maximum to
the right and the car starts to move backwards a certain number of steps. From FIRST MOVE
state the car can only go into SECOND MOVE state.

SECOND MOVE state:
In this state the front wheels are steered to be parallel with the car chassis and the car keeps
moving backwards for a number of steps. From this state the robot car goes into THIRD MOVE
state.

THIRD MOVE state:
In this state the front wheels of the car are turned maximum to the left and the car keeps moving
backwards for a certain number of steps or until the backward facing sensor detects an obstacle
situated at a smaller distance than a reference distance. From this state the car goes in the
ADJUST sta te.

ADJUST state:
In this state the car seeks to be at an equal distance between the front and back obstacle, or, in
case there is not a front obstacle, the car is influenced only by the obstacle located in the back.
From this state the car goes into STOP state.

STOP state:
In this state the movement of the car is stopped.

Alexandru Buzatu – Self-Parking Car

44

5. Conclusion s

The main re ason why I had chosen this project is that I wanted to demonstrate that automation
of cars is the way forward for human transportation. The car is able to parallel park on the right
side by itself, only being aided by the distance measurement sensors and b y a circuit that can
track the covered distance.
In the future I plan to make the car to detect road signs , pedestrians and park where the parking
place allows it. The way I intent to do this is totally different from the method that is
implemented now. I thought about a system that can do all this by using video cameras and
artificial intelligence. The idea is that the car should be conscious about the surrounding
environment and react according to the changes that may occur.
The most important lesso n that I have learned while developing the hardware necessary for the
robot car is that when working with electronics great care is needed. Because this is the most
difficult electronics project I pursued so far, I made a lot of mistakes while developing the
necessary hardware . A few components were burned in the process, but this is just a small
impediment, the lessons learned being more valuable.

Alexandru Buzatu – Self-Parking Car

45

6. Bibliography

[1] https://newatlas.com/how -self-parking -works/46684/
[2] http s://www.carmagazine.co.uk/car -news/tech/autonomous -car-levels -different -driverless –
technology -levels -explained/
[3] https://www.st.com/resource/en/data_brief/32f429idiscovery.pd f
[4] https://www.st.com/resource/en/datasheet/stm32f429zi.pdf
[5] https://www.lipobattery.us/all -about -lipo-battery /
[6] https://de.aliexpress.com/item/32796268715.html
[7] https://www.st.com/resource/en/datasheet/l78.pdf
[8] https://www.pololu.com/product/2851
[9] http://ww1.microchip.com/downloads/en/appnotes/00905b.pdf
[10] https://www.youtube.com/watch?v=iYafyPZ15g8
[11] https://www.nxp.com/docs/en/data -sheet/MC33886.pdf
[12] http://www.farnell.com/datasheets/1676927.pdf?_ga=2.27975868.1429819868.1561963388 –
1844123956.1549447984
[13] http://www.ti.com/lit/ds/symlink/lm158 -n.pdf // lm358 p
[14] https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf

Similar Posts