Fused
Fused
INTRODUCTION
OVERVIEW
BLDC motors are widely used in space, automotive and medical industries due to their
high power density and much lower maintenance needs as they have no mechanical brushes
. The main disadvantage of the BLDC motor compared to traditional DC brushed motors is
that they usually require complex control algorithms for efficient commutation. BLDC
motor control can usually be separated into two parts. The inner part takes care of
the commutation using feedback signals such as outputs from Hall effect sensors,
position encoders, B-EMF voltage sensors and phase currents depending on the
commutation method. In the outer part, motor speed and position are controlled. In
this part, the feedback signal is usually the position output from encoders, tachometers and
resolvers . In recent years, applications that require high performance aircraft, space vehicles
and electric vehicles come to the fore as the most important usage areas of electrical
machines. BLDC motors are widely used in high-performance applications because they
can be produced in small sizes, light weight and they can produce higher torque then
asyncronous motors in the same sizes . With the advantages of BLDC motors given above
there are disadvantages as well as current commutation requests in high-speed and high
costs. Classical control methods in commutation in high speeds can be weak and as a
result of incorrect switching system may cause unnecessary power expenditure. Because
of especially charge problems, unnecessary power shortages are undesirable in electrical
vehicles. In this context, researchers have begun to apply different control methods to
control BLDC motors in recent years.
The development of high performance motor drives is very important in industrial
applications. Generally, a high performance motor drive system must have good dynamic
speed command tracking and load regulating response.
D.C motors have long been the primary means of electric traction. D.C motor is considered a
SISO system having torque/speed characteristics compatible with most mechanical loads.
This makes a D.C motor controllable over a wide range of speeds by proper adjustment of
its terminal voltage. Recently, brushless D.C motors, induction motors, and synchronous
motors have gained widespread use in electric traction. However, there is a persistent effort
towards making them behave like dc motors through innovative design and control
strategies. Hence dc motors are always a good proving ground for advanced control
algorithm because the theory is extendable to other types of motors.
Unknown parameter
Under these conditions, the conventional constant gain feedback controller fails to maintain
the performance of the system at acceptable levels. The incorporation of feed forward in
artificial neural networks is important for several reasons the dynamical properties of the
system, and in practice it may improve the performance. They are generally present in most
non-linear dynamical system and can be used to implement specific structures.
Massive parallelism
Fast adaptation
In the constant power region, field flux should be reduced to achieve speed above the
rated speed.
Traditionally rheostat armature control method was used for low power dc motors.
Use of conventional PID controllers.
A single phase uniform PWM ac-dc buck-boost converter with only one switching
device used for armature voltage control.
Through experience gained in designing trajectory controllers based on self-tuning and PID
control, it is seen that the neural network controller gives comparable performance in speed
tracking. In addition to those mentioned above, a unique advantage of the neural network
controller is its ability to cope with bad measurement data that occur during training and
testing. However, a key drawback is the inadequate integral gain in the feedback loop,
resulting in steady-state errors of the shaft position. Direct position tracking can alleviate
this problem.
The traditional means adapted by the motion control industry with motor drives has been the
approach of linearizing the system dynamics and designing a linear feedback controller.
However, in high-performance motor drives such an approach is seldom satisfactory, as it
results in poor speed and position tracking when sudden changes in load result in continuous
acceleration or deceleration of the motor/load system. Adaptation is necessary to ensure
optimal performance.
Brushless DC motors have some significant advantages over their competitors, such as
brushed motors, largely because of the electronic commutation. It allows the controller to
switch the current promptly and thus regulate the motor’s characteristics effectively. We
have used an artificial neuron-based controller to overcome these aspects and to provide a
better dynamic and quick response, in order to control the speed of a BLDC motor as well as
the reduction in torque ripples.
1.2 OBJECTIVE
This paper's main goal is to use an artificial neural network (ANN) controller to control the
brushless DC motor's speed. Based on the simulation results, an analysis is carried out.
Reference control models are created to verify the output of the given ideal values of control
parameters when the control system reacts to the command signal. The simulation results
using ANNs are shown to be more accurate than those using PIDs in terms of capturing the
optimum reference control model response.
LITERATURE REVIEW
Inference:
The highlights can be met by adaptive PID controllers, which are really simple to sign up
for. The list of items checks whether any adaptive PID controller has favoured both the PI
controller and the traditional Tahitian PID controller. An adaptive PID controller depends on
the extra error of a turn-around control signal to understand non-linearity, parameter
varieties, and burden travel issues that occur in the BLDC motor drive framework.
Summary:
For speed control, this controller uses a three-phase BLDC motor. As a result, an adaptive
PID controller produces outstanding Simulation results. In order to operate BLDC motors,
adaptive PID controller technology has progressed.
However, it is important to note that when a motor operates at up-and-down speeds, the
motor speed must remain constant as the load changes in order for the motor to be
responsive. The purpose of this project is to construct a prototype of an adaptive PID
controller for controlling BLDC motors. It aids in the development of BLDC motor speed
and efficiency.
Inference:
Back-EMF signal can be freely altered to account for the inaccuracy caused by the LPF
(Low Pass Filter), resulting in the suitable commutation angle that can operate BLDC
motors across a wide speed range.Back-EMF faults frequently result from phase changes
brought on by LPF installation. This change in the back-EMF can impair commutation
angles and reduce the speed range of BLDC motors. The LPF causes a shift that is
significant enough to have a negative impact on the performance of BLDC motors at both
low and high speeds.
Summary:
It has the ability to run BLDC motors at a variety of speeds. It is possible to freely modify
the commutation angle to provide the proper excitation angle. It is possible to fix the back-
EMF fault detection brought on by the LPF. The ability of the BLDC motor speed range is
significantly impacted by improvements in the shifting of the commutation angle. In order to
achieve the correct commutation angle, this approach employs the input capture function on
the dsPIC30F4012 to fix inaccuracies at the commutation angle. The motor rotates at
varying speeds, as shown in the result and discussion section. BLDC motors run at speeds
ranging from 600 RPM to 3500 RPM.
Inference:
Two in-wheel brushless DC motors that are used to power the construction and operation of
a self-driving surveillance robot. The sensor less speed estimation is used for the actual
speed detection to improve the performance of speed and motion control. Due to the hall
sensors actual feedback's incredibly sluggish response time in the low-speed area, the
continuous estimated speed can enhance speed control performance. Two internal wheel
motors' rotational locations are used to calculate the robot's direction of motion. The
direction is then changed in accordance with the IMU sensor's estimated direction. The
robot's heading angle inaccuracy can be corrected using a combination of the compensating
term of moving angle based on the actual rotating positions of each in-wheel BLDC motor
and the compensating Make updated speed references in terms of angle error to correct the
mistake.
Summary:
A sensor- and Sensor less -controlled in-wheel BLDC with integrated driving speed and
direction control robot's self-driving surveillance motors sensor less estimation based on the
current model reference adaptive system is offered for continuous speed feedback. The
instantaneous rotating angle of the motor is calculated using the 2-axis estimated back EMFs
in the suggested approach. The position of the hall sensor is then used to adjust the spinning
angle. Instead of using the predicted back EMF, the updated rotating angle estimates the real
motor speed. Additionally, the balanced control by the compensated speed reference to alter
the moving direction can lessen the driving error in the practical system.
Inference:
A comparison of brushless DC motor control using artificial neural networks (ANN) with
traditional PI control. Because these motors are non-linear systems that need reliable control,
BLDC is advised for drives that call for a lot of load torque. We used an artificial neuron-
based controller to overcome these issues and to provide a better dynamic and quick
response, in order to control the speed of a BLDC motor and the reduction in torque ripples.
This was done due to the saturation characteristic presented by the conventional PI regulator,
which results in the instability of the system. The artificial neuron network controller
performance evaluation is superior to that of the conventional PI controller, according to
simulation data produced using MATLAB/SIMULINK.
Summary:
The supervised learning strategy has been proposed to improve response time from 0.0523
seconds in proportional integrator controller down to 0.0447 seconds in ANN controller, it
might be a small difference but it's needed especially in sensitive applications that require
precision and quick response, the reason why BLDC is the most used. We replace the PI
controller with the ANN regulator, according to the study of the fundamental concepts of
neural network, the PI controller is replaced with the ANN regulator.
Inference:
Adjusting the motor's speed in accordance with the uses that were planned. For instance, in
order to maintain, using an Arduino Board and PWM Technique, speed can be achieved for
BLDC motor applications. Control of BLDC motor utilising many methods, including
mobile applications, Blue 100th.But for such technologies, BMS is dependent on mobile
phones, etc. There are various mythology platform, etc. The economic cost of the product
will rise as a result of their technology and the poor cannot be used any further.
Summary:
Brushless DC motor speed is controlled by adjusting the duty cycles of PWM pulses, which
supply the desired output to the BLDC motor. Due to performance benefits like decreased
size and cost, decreased torque ripples, increased torque-current ratio, low noises, high
efficiency, decreased maintenance, and good control characteristics over a broad range in
torque-speed plan generally, permanent magnet excited brushless DC motors are becoming
more and more popular in a variety of applications.
1.Mr. Nileshkumar J. Kumbhar* 2, Mr. Irshad Mahmmad Sanade* 3, Mr. Akshay Shamrao
Kapare* 4 *1Assistant professor, Department of Electrical, Ashokrao Mane Group of
Institutions, India. *2,*3UG Scholar, Department of Electrical, Ashokrao Mane Group of
Institutions, India.
Inference:
In all technological fields, the Brushless DC motor is more effective to employ. This
solution is made possible by the Android integration, which links the IP address at a certain
web domain with the motor's speed control and tracking functions. When this does, Ethernet
Shield enters the picture in order to transport or direct the current signals or to receive.
Summary:
We presented a new architecture for the control system that makes use of an adaptable
industrial-based Android smartphone that is well employed in case of web domain for
system control setup and is implemented by Ethernetshield and IBOARD Arduino. Due to
the measured results of controlled temperature to improve the proper functioning of the
device and to protect it from unintended destruction like overheating due to increased
temperature, the Ethernet shield connection is the support built acted over here, to normalise
the working of the motor. Thus, the Brushless Direct Current motor speed is effectively
regulated via IOT with correct controlling phenomena, and in this case, the parameters are
also monitored on an LCD display in case of expected output for the portable controlling
applications.
2. Porselvi T is with the Department of Electrical and Electronics Engineering, Sri Sairam
Engineering College, Chennai, 600044 India (Phone: +91 94457 82722; e-mail:
[email protected]).
Inference:
A simple network comprising input, output, and hidden layers and a number of nodes is
called an artificial neural network (ANN).Since ANN algorithms handle binary data more
correctly than other methods, their implementation in electrical and electronic engineering
consistently produces the desired results. The brushless direct current motor (BLDC motor)
generates magnetic fields by switching DC current to the motor windings using electronic
closed-loop controllers. Due to its high speed, low maintenance requirements, and sufficient
torque capacity, the BLDC motor finds numerous uses.
Summary:
inference:
Permanent magnet brushless DC motors (PMBLDC) have a wide range of industrial
applications because of their high power density, high torque, minimal to no torque ripple,
compact size, and accurate position control.
Precision position measurement, however, was necessary for ripple-free precision control of
brushless motors. For precise position control, a sensor less arrangement would not be
acceptable because it can be challenging to connect encoders directly to the shafts of these
motors. We suggest a technique for determining rotor position that makes use of analogue
Hall Effect sensors to gauge the rotor magnets' magnetic field in order to develop a
computationally straightforward motor control strategy. The power devices are successively
commutated every 60 degrees according to the rotor position. PM motors require a PI-speed
controller in order to perform at the necessary level.
Summary:
The suggested method of monitoring rotor position using an analogue hall effect sensor
provides the piece of information required to synchronise the motor excitation with the rotor
position in order to provide constant torque. It recognizes when the magnetic field changes.
The hall sensors are activated by the rotor magnets. The simulation of a PI controller using
MATLAB/SIMULINK to control the speed of a flexible BLDC motor demonstrates that the
target speed is obtained with less response time. Analysis of the motor's characteristics
shows that it can control the motor drive over a wide speed range.
2.Han-Chen Wu, Min-Yi Wen, and Ching-Chang Wong Dept. Electrical Engineering,
Tamkang University, New Taipei City, 25137, Taiwan [email protected],
[email protected], [email protected]
Inference:
Nowadays, the majority of electrical systems need to operate more efficiently and with less
carbon dioxide use. Because they have a higher efficiency than conventional AC induction
motors and are entirely supplied by electricity, brushless DC (BLDC) motors can meet these
requirements. It is suggested in this paper to use Hall effect sensors to control the speed of
BLDC. In order to power the motor, hall effect sensors measure the rotor position.
Trapezoidal PWM wave, often known as trapezoidal control, is the driving method. The
proportional-integral (PI) controller is used to regulate the rotation speed. A few examples
are given to show how PI control results in a more accurate and stable motor speed control
than control without PI control.
CHAPTER III
METHODOLOGY
EXSISITNG SYSTEM:
BLDC Motors are among the many possible solutions employed in electric vehicle
applications. Brushless DC motor are featured in 2-wheeler segment and light load vehicles
catering to majority of courier industry and ride hailing providers. This research paper
focuses on such solutions based on BLDC motors specifically. In the paper presented, PWM
and current control techniques are implemented for speed control of Brushless DC motor
using MATLAB Simulink environment. The performance in both the cases are compared in
terms of drive response, stator current, electromagnetic torque. Further, the stator current
ripples and electromagnetic torque ripples are elaborately discussed and results analyzed for
further improvements.
PROPOSED SYSTEM:
The control and automation has been accelerated to its next generation with the introduction
of machine learning algorithms and advanced computing capability of modern processors, in
control systems for various applications. Many researches are undergoing in the field of
controller design and tuning using the deep learning algorithms. This Project addresses a
comparison study on effectiveness and performance between a proportional integral.
Initially, the proportional integral derivative controller was tuned for a BLDC motor model
with a balance between robustness and faster response. Later, the neural network controller
was trained for the same model followed by optimization of the controller. Then both
Convertors Sepic and CUK were experimented using the same model of BLDC motor by
simulation in python Followed to this, another experimentation was done by changing the
values for moment of inertia of rotor followed by simulating the controller response without
re-tuning the controller for newer model.
BLOCK DIAGRAM:
CONCEPTUAL BLOCK
SIMPLIFIED BLOCK
DESIGN:
SEPIC CONVERTOR:
SEPIC converter circuit consists of input voltage source Vg, coupling capacitor C1, and
output capacitor C2, two inductors L1 and L2, diode D, and load resistance. SEPIC
converter circuits share the common ground between the input and output circuits. This
converter exchanges energy between the inductor L1, capacitor C1, and inductor L2 to
convert input DC voltage to require output voltage level. Typically, a power transistor
switch (S1) such as a MOSFET is used to control the amount of energy exchanged.
Instead of using discrete inductors (L1 & L2), the SEPIC converter can also be designed
using the coupling inductors which will improve the efficiency and reduce PCB area.
Coupling inductors mean that two windings (L1 & L2) are connected in a single core.
CUK CONVERTOR
Cuk converter is used for the voltage regulation for the Dc application systems. ➢ Cuk
converter is used in hybrid solar-wind energy system as a regulator where input voltage
depends on speed of wind and sun, inorder to make the output voltage as a constant source
Cuk converter is used.
The CUK is a negative output converter, while the SEPIC is a positive output converter.
While comparing the SEPIC-CUK configuration it is observed that both converters have the
same voltage conversion ratio with opposite polarity. Bipolar DC link has two wires one
with positive polarity and one with negative polarity.
CHAPTER 4
HARDWARE DESCRIPTION:
NODEMCU (ESP8266)
The Atmel AVR® core combines a rich instruction set with 32 general purpose working
registers. All the 32 registers are directly connected to the Arithmetic Logic Unit (ALU),
allowing two independent registers to be accessed in a single instruction executed in one
clock cycle. The resulting architecture is more code efficient while achieving throughputs up
to ten times faster than conventional CISC microcontrollers. The ATmega328/P provides the
following features: 32Kbytes of In-System Programmable Flash with Read-While-Write
capabilities, 1Kbytes EEPROM, 2Kbytes SRAM, 23 general purpose I/O lines, 32 general
purpose working registers, Real Time Counter (RTC), three flexible Timer/Counters with
compare modes and PWM, 1 serial programmable USARTs , 1 byte-oriented 2-wire Serial
Interface (I2C), a 6- channel 10- bit ADC (8 channels in TQFP and QFN/MLF packages) , a
programmable Watchdog Timer with internal Oscillator, an SPI serial port, and six software
selectable power saving modes.
This allows very fast start-up combined with low power consumption. In Extended Standby
mode, both the main oscillator and the asynchronous timer continue to run. Atmel offers the
QTouch® library for embedding capacitive touch buttons, sliders and wheels functionality
into AVR microcontrollers. The patented charge-transfer signal acquisition offers robust
sensing and includes fully debounced reporting of touch keys and includes Adjacent Key
Suppression® (AKS™) technology for unambiguous detection of key events. The easy-to-
use Q Touch Suite toolchain allows you to explore, develop and debug your own touch
applications. The device is manufactured using Atmel’s high density non-volatile memory
technology. The On-chip ISP Flash allows the program memory to be reprogrammed In-
System through an SPI serial interface, by a conventional non-volatile memory programmer,
or by an On-chip Boot program running on the AVR core.
The ATmega328/P is supported with a full suite of program and system development tools
including: C Compilers, Macro Assemblers, and Program Debugger/Simulators, In-Circuit
Emulators, and Evaluation kits. Below figure 3.2.1 pin diagram of ATMEGA328.
FEATURES OF ATMEGA328
I/O Pins: 23
USART: Yes
Even though it's 5 V capable, newer parts can run to 1.8 V. This wide range is very rare.
Nice instruction set, very good instruction throughput compared to other processors
(HCS08, PIC12/16/18).
Q Touch capability
VCC
GND
Ground.
Port B is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit).
The Port B output buffers have symmetrical drive characteristics with both high sink and
source capability. As inputs, Port B pins that are externally pulled low will source current if
the pull-up
resistors are activated. The Port B pins are tri-stated when a reset condition becomes active,
even if the clock is not running.
Depending on the clock selection fuse settings, PB6 can be used as input to the inverting
Oscillator amplifier and input to the internal clock operating circuit.
Depending on the clock selection fuse settings, PB7 can be used as output from the inverting
Oscillator amplifier.
If the Internal Calibrated RC Oscillator is used as chip clock source, PB [7:6] is used as
TOSC [2:1] input for the Asynchronous Timer/Counter2 if the AS2 bit in ASSR is set.
Port C is a 7-bit bi-directional I/O port with internal pull-up resistors (selected for each bit).
The PC [5:0] output buffers have symmetrical drive characteristics with both high sink and
source capability. As inputs, Port C pins that are externally pulled low will source current if
the pull-up resistors are activated. The Port C pins are tri-stated when a reset condition
becomes active, even if the clock is not running.
PC6/RESET
If the RSTDISBL Fuse is programmed, PC6 is used as an I/O pin. Note that the electrical
characteristics of PC6 differ from those of the other pins of Port C.
If the RSTDISBL Fuse is unprogrammed, PC6 is used as a Reset input. A low level on this
pin for longer than the minimum pulse length will generate a Reset, even if the clock is not
running. Shorter pulses are not guaranteed to generate a Reset.
The various special features of Port ‘C’ are elaborated in the Alternate Functions of Port C
section.
Port D is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit).
The Port D output buffers have symmetrical drive characteristics with both high sink and
source capability. As inputs Port D pins that are externally pulled low will source current if
the pull-up resistors are activated. The Port D pins are tri-stated when a reset condition
becomes active, even if the clock is not running.
AVCC
AVCC is the supply voltage pin for the A/D Converter, PC [3:0], and PE [3:2]. It should be
externally connected to VCC, even if the ADC is not used. If the ADC is used, it should be
connected to VCC through a low-pass filter. Note that PC [6:4] use digital supply voltage,
VCC.
We will learn about the different components on the NODEMCU board. We will study the
NODEMCU UNO board because it is the most popular board in the NODEMCU board
family. In addition, it is the best board to get started with electronics and coding. Some
boards look a bit different from the one given below figure 3.2.2, but most NODEMCUs
have majority of these components in common.
NODEMCU board can be powered by using the USB cable from computer. All we need to
do is connect the USB cable to the USB connection (1).
Voltage Regulator
The function of the voltage regulator is to control the voltage given to the NODEMCU
board and stabilize the DC voltages used by the processor and other elements.
Crystal Oscillator
The crystal oscillator helps NODEMCU in dealing with time issues. How does NODEMCU
calculate time? The answer is, by using the crystal oscillator. The number printed on top of
the NODEMCU crystal is 16.000H9H. It tells us that the frequency is 16,000,000 Hertz or
16 MHz.
NODEMCU Reset
We can reset wer NODEMCU board, i.e., start wer program from the beginning. We can
reset the UNO board in two ways. First, by using the reset button (17) on the board. Second,
we can connect an external reset button to the NODEMCU pin labelled RESET (5).
Most of the components used with NODEMCU board works fine with 3.3 volt and 5 volt.
GND (8) (Ground) − There are several GND pins on the NODEMCU, any of which can be
used to ground wer circuit.
Vin (9) − This pin also can be used to power the NODEMCU board from an external power
source, like AC mains power supply.
Analog pins
The NODEMCU UNO board has five analog input pins A0 through A5. These pins can read
the signal from an analog sensor like the humidity sensor or temperature sensor and convert
it into a digital value that can be read by the microprocessor.
ESC:
Introduction
This is fully programmable 30A BLDC ESC with 5V, 3A BEC. Can drive motors with
continuous 30Amp load current. It has sturdy construction with 2 separate PCBs for
Controller and ESC power MOSFETs. It can be powered with 2-4 lithium Polymer
batteries or 5-12 NiMH / NiCd batteries. It has separate voltage regulator for the
microcontroller for providing good anti-jamming capability. It is most suitable for
UAVs, Aircrafts and Helicopters.
Specifications
Output: 30A continuous; 40Amps for 10 seconds
Input voltage: 2-4 cells Lithium Polymer / Lithium Ion battery or 5-12 cells
NiMH / NiCd
Weight: 32gms
Features:
High quality MOSFETs for BLDC motor drive
High performance microcontroller for best compatibility with all types of motors
at greater efficiency
Heat sink with high performance heat transmission membrane for better thermal
management
3 start modes: Normal / Soft / Super-Soft, compatible with fixed wing aircrafts
and helicopters
Over-heat protection
Connections:
BLDC ESC has three Blue wires coming out from the one end which are to be
connected to the BLDC motor. On the other end, it has red and black wires which are to
be connected to the battery. It also has a 3 pin servo connector which is used for
receiving the throttle command and for giving out regulated 5V, 3Amp supply for the
remote receiver and the servo motors.
Control Signal:
30A BLDC ESC requires standard 50-60Hz PWM signal from any remote control as
throttle input. You can also generate similar input signal from the microcontroller for
making your own customized flying platform. Throttle speed is proportional to the width
of the pulse. Maximum throttle position is user programmable. In general throttle is set
at zero for 1mS pulse width and full at the 2mS pulse width.
Notes:
Different brands of remote controls use slightly different signal range. Say 0.5ms to
2.5ms at 50 to 60Hz instead of 1ms to 2ms at 60Hz. You can program the throttle of the
BLDC ESC corresponding to the new remote control. For more information on this,
refer to section Throttle Range Setting.
In all the subsequent text, you will encounter sentences like “ESC will emit special tone
like “123”. For information regarding these tones refer to subsection 2 of the ESC
Programming and Table 2.
Interfacing BLDC ESC with the remote control
1. Connect BLDC ESC with the BLDC motor
3. Connect the battery pack to the BLDC ESC. It will begin self test process and
emit special tone “123” which means battery pack voltage is in normal range.
After this it will emit number of Beeps corresponding to the number of batteries in
the battery pack. Finally, a long Beep will appear which means that now it is
ready to fly.
Important:
Instead of tone sequence as mentioned in the section 3 if you hear special tones like
“56712” after 2 Beep tones, it means that ESC has entered in the program mode and
your remote’s throttle is in full instead of zero. In this case switch off the ESC, move
throttle to the opposite direction (correct zero throttle position for the remote control)
and repeat steps 1, 2 and 3.
If you hear rapid Beep-Beep tones then it means that supply voltage is too low or too
high. Check your battery’s voltage. You can also refer to the Troubleshooting section.
2. Connect the battery to the ESC. (BLDC motor should be connected to the ESC)
ESC will do the self test. Emit special tone like “123”. After this it will emit
number of Beeps corresponding to number of batteries in your battery pack.
3. Wait for 2 more seconds. ESC will emit Beep twice which means ESC has latched
4. Now within next 5 seconds move throttle stick to zero position and wait for 1
second. ESC will emit a long Beep indicating that it has latched the zero position
of the throttle.
This throttle setting is permanently recorded in the ESC. Always change this setting
when you are using new remote control.
As mention in the step 4 if you don’t move throttle to zero position within 5 seconds,
then ESC will enter in the programming mode. If this happens then switch off the ESC
and remote control and repeat steps 1 to 4.
Alert Tones:
Protection Functions:
Programmable Settings
1. Brake Setting:
2. Battery type:
Soft Cut-off (Gradually reduce the output power) / Hard Cut-off (Immediately
stop the output power) (Default is Soft Cut-off)
Low / Medium / High cut-off voltages are 0% / 45% / 60% of the start-up
voltage. Start-up voltage is the initial voltage of the battery pack. 0% means
voltage cut-off is disabled.
5. Start-up Mode:
6. Timing:
Note:
High KV outrunner BLDC motors have large space between magnet and many BLDC
ESCs can’t drive these motors. This ESC is capable of driving these motors. For high
KV motors it is recommended to have high or medium timing.
ESC Programming:
BLDC ESC emits different types of tones to communicate with you when BLDC
motor is connected to it. It actually uses BLDC motor to generate these tones. Table
below lists these tones. We will identify these tones by number allocated to them as
mentioned in the table below. In the below table “Beep” stands for the short tone.
“Beeeep” stands for the long tone. Here One long “Beeeep” = 5 short “Beep”
Right most column in the table shows the function which is valid only for this step 2.
Number and tone corresponding to it is used in this product manual.
After entering in the programming mode as mentioned in step 1 you will here these 8
sequences with the interval of 3 seconds. After hearing tone of your interest move
throttle to zero to enter in particular item’s setting type. Follow step 3 to change the
setting in the particular item.
Now you will hear several tones in loop. Set the value matching to the tone by
moving throttle stick to full position. If new setting is saved successfully then you
will hear special tone “1515” which indicates that value is successfully set and saved.
Now if you still keep the throttle stick to top then you will be reverted back to step 2
to go to other items. Moving throttle stick to the zero within 2 seconds will result in
program mode exit.
Program Example
Setting the “Start” mode to “Super Soft” setting
Switch on Transmitter, Move throttle stick to full position, connect battery to the
BLDC ESC, wait for 2 seconds, “Beep-Beep’ sound will be emitted. Now wait
again for 5 seconds, special tone “56712” should be emitted, which means you
have entered program mode.
Now you will here 8 tones in loop as mentioned in the Table 2. At Item 5 (Start
Mode), tone corresponding to long Beeeep will be heard. Now move throttle stick
to zero to enter in the “Start Mode”.
Refer to the Table 3. You will hear Beep followed by 3 seconds delay, Beep-Beep
followed by 3 seconds delay and Beep-Beep-Beep. After hearing Beep for 3 times
move throttle position to full. Now special tone like “1515” will be emitted. Now
in the Start Mode, Super Soft Mode is set.
After the special tone “1515” move throttle stick to zero within 2 seconds. Or
follow step 4 as mentioned in the section 4 of the ESC ProgrammingTrouble
Shooting
Sr. Probl Possible Reason Acti
No. em on
emitted. channel
Connect signal of the BLDC ESC to the microcontroller. Make sure that you make the
ground common between microcontroller board and the BLDC ESC. You can also set
the throttle range as mentioned in the section Throttle Range Setting. Now you are ready
to drive BLDC motor using this BLDC ESC with microcontroller. This specification
describes the technological parameters and testing standard for the lithium ion
rechargeable cell manufactured and supplied by EEMB Co. Ltd.
1. Products specified
1.2Type LIR18650-2600mAh
1. References
2. Caution:
4.1. Please read these specifications carefully before testing or using the cell as
improper handling of a Li-ion cell may result in lose of efficiency, heating,
ignition, electrolyte leakage or even explosion.
4.2 While testing the cell by charging and discharging, please use test-equipment
especially designed for Li-ion cell. Do not use ordinary constant current and
constant voltage (CC/CV) power supplies. These do not protect the cell from
being overcharged and over-discharged, resulting in possible loss of
functionality or danger.
4.3 When charging and discharging cells or packing them into equipment,
reversing the positive and negative terminals will result in overcharging and
over-discharging of the cell(s). This could lead to serious loss of efficiency
and even explosions.
4.4 Do not solder directly on the cell. Do not resolve the cell.
4.5 Do not put cell(s) in pockets or bags together with metal products such as
necklaces, hairpins, coins, screws, etc. Neither stores them together without
proper isolation. Do not connect the positive and negative electrode directly
with each other through conductive materials. This can result in a short
circuit of the cell.
4.6 Do not beat, throw or trample the cell, do not put the cell into washing
machines or high-pressure containers.
4.7 Keep the cell away from heat sources such as fires, heaters, etc. Do not use
or store cell(s) at locations where the temperature can exceed 60℃, such
as in direct sunlight. This may
4.8 Do not get cells wet or throw them into water. When not in use, place the
cells in a dry environment at low temperatures.
4.9 While during use, testing or storing cells, cells become hot, distribute a
smell, change color, deform or show any other abnormalities, please stop
using or testing immediately. Attempt to isolate the cell and keep it away
from other cells.
4.10Should electrolyte get into the eyes, do not rub the eyes, rinse the eyes with
clean water and seek medical attention if problems remain. If electrolyte gets
onto the skin or clothing, wash with clean water immediately.
CURRENT SENSOR:
The ACS712 Module uses the famous ACS712 IC to measure current using the Hall
Effect principle. The module gets its name from the IC (ACS712) used in the module, so for
you final products use the IC directly instead of the module.
These ACS712 module can measure current AC or DC current ranging from +5A to -5A,
+20A to -20A and +30A to -30A. You have to select the right range for your project since
you have to trade off accuracy for higher range modules. This modules outputs Analog
voltage (0-5V) based on the current flowing through the wire; hence it is very easy to
interface this module with any microcontroller. So if you are looking for a module to
measure current using a microcontroller for you project, then this module might be the right
choice for you.
As told earlier it is very simple to interface the ACS712 Module with Microcontrollers.
The below diagram would be more illustrative
The ACS712 module has two phoenix terminal connectors (green colour ones) with
mounting screws as shown above. These are the terminals through which the wire has to be
passed. In our case I am measuring the current drawn by the motor so the wires that is going
to the load (motor) is passed through the ACS 712 Module. Make sure the module is
connected in series with the load and be extra cautious to avoid shorts.
On the other side we have three pins. The Vcc is connected to +5V to power the module and
the ground is connected to the ground of the MCU (system). Then the analog voltage given
out by the ACS712 module is read using any analog pin on the Microcontroller.
There are few things to know before we could program our Microcontrollers to read current
from ACS712 Module. By default when no current is flowing through the module terminals
the output voltage will be +2.5V (Vcc/2), when the current flows in one direction the value
will increase from 2.5V and when it flows in other direction the values will decrease from
2.5V. This way the module enables us to measure both AC current and DC current.
Let us assume that the microcontroller you are using has a 10-bit ADC and operates at 5V
with a reference voltage of 5V for ADC conversion in that case the microcontroller will read
the values of ADC from 0 to 1024. Then you can use the formulae below to calculate the
Output Voltage from ADC values.
After calculating the output voltage we can, calculate the value of current from the voltage
using the below formulae
Current Through the Wire (A) = (Vout(mv)-2500)/Scale factor
Note that the value of scale factor changes for every module based on its range. The values
of scale factor for all three modules are given in the specifications above.
BLDC MOTOR
One of the ongoing catastrophes, along with global warming brought on by greenhouse gas
emissions from our environment's technologies, is the change in the climate. To lessen its
impact on global warming, several steps are being done, particularly in the area of
transportation technology. A whopping 29% of the world's greenhouse gas emissions come
from transportation alone. In terms of the fight against global warming and the preservation
of fossil fuels, electric and autonomous vehicles are important technologies. The most
common types of motors used in electric cars are brushless DC motors. Usually, there are
more than two motors used to propel electric vehicles. A synchronous motor using direct
current is what a BLDC motor is essentially. With the electronic servo system used in BLDC
motors instead of the mechanical commutator, it is reliable to determine the rotor's angle and
to operate the switches and to switch Direct Current to the motor windings to create
magnetic fields, electronic closed loop controllers are used. The controller alters the DC
pulses' amplitude and phase in order to regulate the motors' torque and speed. Four active
switching components are used in a bridge configuration across a power transformer to
create the basic DC-to-DC converter topology known as a "bridge converter."
In addition to providing isolation and stepping up or down the input voltage, a complete
bridge converter is a common arrangement. Changing the polarity and offering several
Bridge converters also offer simultaneous output voltages as a function. In contemporary
control systems, speed management of BLDC motors is crucial. The two main categories of
control systems are open-loop and closed-loop techniques. A common phrase is "dual
closed-loop control," where the voltage or speed loop functions as the outside control loop
and the torque or current loop as the inner control loop. The motor's input voltage is changed
using the pulse width modulation approach when it runs at less than its rated speed. The flux
is diminished when the motor runs faster than its rated speed because exciting current or
auxiliary flux is advanced. The speed-control control of BLDC motors is proposed using a
variety of approaches.As it has been one of the most widely used techniques for many years
and is still used in many situations, PID control is frequently favoured. PID controllers are
also widely used because of their trustworthy and durable characteristics. The requirements
of speed regulation are typically met using PID controllers. Due to the non-linear nature of
BLDC motors' multivariable system, there are numerous problems that need to be taken into
account. Almost all BLDC motors currently used for speed control are controlled and
analysed using artificial neural networks. Utilize a PID controller while using PWM.
The speed, torque, and ability to start, stop, and reverse the motor's spin are all controlled by
a BLDC motor controller. Let's first look at how a brushless motor is built in order to
comprehend the controller's operating principles. One of its principal parts is:
A stator with windings that produce a magnetic field when powered; a rotor made of
permanent magnets, often neodymium; and an armature made of permanent magnets.
The magnets on the rotor and the stator's windings make the motor rotate. By using the same
poles to repel one another and the opposing poles to attract one another. A brushed DC
motor goes through a similar process. The key distinction is in how the current provided to
the wire windings is switched. This happens mechanically in a BDC motor and is started by
a commutator with brushes. It takes place electronically in a BLDC motor with the aid of
transistor switches
The position of the rotor is determined by a BLDC motor controller either sensor less or
utilising sensors (such as a Hall-effect sensor). The sensors send out data after measuring the
rotor's position. The controller receives the data and instructs the transistors to switch the
current and turn on the necessary stator winding at the appropriate moment.
The circuit of a typical BLDC motor controller is a half-bridge or half-H bridge. One high-
side transistor and one low-side transistor make up the only switches in this circuit, unlike H
Bridge. Two- or three-phase power systems are used by the majority of brushless motors.
This will appear as two or three half-bridges with a pair of switches each in a BLDC motor
controller circuit diagram, depending on the number of phases. Let's examine a three-phase
brushless DC motor controller with Hall-effect sensors in more detail to see how its circuit is
designed.
Three-phase windings on the stator are positioned 120 degrees apart from one another. The
voltage and current that are applied to the stator are represented as vectors on each winding.
The location of the rotor is determined by the Hall sensors in the BLDC motor controller.
The power MOSFETs switch the current and inject it into the right winding in response to
sensor data. IGBTs and GaN switches can take the role of MOSFETs in high power
brushless DC motor controllers. The transistors can be managed by integrated or discrete
gate drivers. The drivers of a brushless motor controller schematic serve as a bridge between
the switches and a microcontroller (MCU). Six steps are required to complete a full
switching cycle in the three-phase BLDC motor controller circuit (that is to energise all the
three windings of the stator). The current passes sequentially through the stator windings by
turning both the high-side and low-side transistors on and off. You can take into account
several current switching strategies while designing a BLDC motor controller, such as
sinusoidal and trapezoidal commutation. These techniques have names that refer to the
signal waveforms. Two out of three windings can remain electrified at once using the
trapezoidal commutation. The phase shift adheres to the law of sines in the sinusoidal
control approach. It allows for more seamless switching of current between phases.
Although simpler, the motor may vibrate at low speeds due to the trapezoidal commutation.
The use of sinusoidal current waveforms helps guarantee the smooth operation of your
motor. High speeds, however, make this kind of commuting difficult. A sinusoidal brushless
motor controller circuit often employs pulse-width modulation (PWM). It makes the
commutation process run more quickly and smoothly by regulating the current supplied into
the rotor's windings. This is particularly true for closed-loop controllers that modify the
input power by adjusting the duty cycle after receiving feedback on the output signal. For
various applications, PWM switching frequency can vary. Nevertheless, it must be high
enough to prevent power outages. The maximum frequency level is determined by the
physical restrictions of the stator. There are also the control unit's individual specifications,
though. Due to the DC brushless motor controller's limited capabilities, even if the stator
permits it, you will not be able to increase the PWM frequency.
Hysteresis can be used as an alternative to manage the performance of a BLDC motor. This
approach also has something to do with sinusoidal commutation. You can use it to set the
upper and lower bounds of the current that is provided to the motor.
The transistor switches turn off or on, respectively, as soon as the current reaches its
maximum or minimum value, and they adjust the average current according to the sine
wave.
A BLDC motor controller half-bridge can be implemented as either an integrated circuit (IC)
or as discrete parts. When attempting to develop a BLDC motor controller, this is one of the
most frequent problems you might run across. Given that the parts must be put together and
soldered onto the board separately, discrete circuits can be less dependable. Smaller in size,
with lower production costs, and making design easier is a brushless DC motor controller
IC. Nevertheless, power restrictions apply to integrated circuits.
Deep learning is powered by an artificial neural network, which was inspired by biological
neural networks. A neuron is a connected group of points that makes up an ANN. The way
that data is processed and transformed is remarkably similar to how information is
transferred and processed in the human brain, which uses synapses and neurons,
respectively. A group of hidden layers, which are more significant than the input and output
layers, make up the majority of the ANN structure. The input neuron accepts input (data)
and multiplies it with weights. By using an activation function, they are then added and
transferred to the following neuron. An endless cycle characterises this procedure. Through
this iterative process, the model is able to learn from the data and carry out challenging
tasks. As previously mentioned, the process begins by giving weights to data that is
transferred between neurons. The precise weight adjustments determine the neural network's
primary capacity to complete a task. The weights are modified during the neural network
training using training data. Each time the model is trained, the weights are adjusted to help
the model comprehend the data and find patterns more accurately. With training, the neural
network can forecast newly injected data. Various parameters affect the accuracy. The size
of the dataset, the size of the neural network, the activation function, and the kind of dataset
are the main determinants.
CHAPTER 5
SOFTWARE DESCRIPTION
The Arduino development environment contains a text editor for writing code, a
message area, a text console, a toolbar with buttons for common functions, and
a series of menus. It connects to the Arduino hardware to upload programs and
communicate with them.
Writing Sketches
Software written using Arduino are called sketches. These sketches are written
in the text editor. Sketches are saved with the file extension .ino. It has features
for cutting/pasting and for searching/replacing text. The message area gives
feedback while saving and exporting and also displays errors. The console
displays text output by the Arduino environment including complete error
messages and other information. The bottom righthand corner of the window
displays the current board and serial port. The toolbar buttons allow you to
verify and upload programs, create, open, and save sketches, and open the serial
monitor.
NB: Versions of the IDE prior to 1.0 saved sketches with the extension pde It is
possible to open these files with version 1.0, you will be prompted to save the
sketch with the .ino extension on save.
'''Beginning with version 1.0, files are saved with a .ino file extension. Previous
versions use the .pde extension. You may still open .pde named files in version
1.0 and later, the software will automatically rename the extension to .ino.
Allows you to manage sketches with more than one file (each of which appears
in its own tab). These can be normal Arduino code files (no extension), C files
(.c extension), C++ files (.cpp), or header files (.h).
Uploading
Before uploading your sketch, you need to select the correct items from
the Tools Board and Tools Serial Portmenus. The boards are described below.
On the Mac, the serial port is probably something
like /dev/tty.usbmodem241(for an Uno or Mega2560 or Leonardo)
or /dev/tty.usbserial-1B1 (for a Duemilanove or earlier USB board),
or/dev/tty.USA19QW1b1P1.1 (for a serial board connected with a Keyspan
USB-to-Serial adapter). On Windows, it's probably COM1 or COM2 (for a
serial board) or COM4, COM5, COM7, or higher (for a USB board) - to find
out, you look for USB serial device in the ports section of the Windows Device
Manager. On Linux, it should be /dev/ttyUSB0,/dev/ttyUSB1 or similar.
Once you've selected the correct serial port and board, press the upload button
in the toolbar or select the Upload item from the File menu. Current Arduino
boards will reset automatically and begin the upload. With older boards (pre-
Diecimila) that lack auto-reset, you'll need to press the reset button on the board
just before starting the upload. On most boards, you'll see the RX and
TX LEDs blink as the sketch is uploaded. The Arduino environment will
display a message when the upload is complete, or show an error.
When you upload a sketch, you're using the Arduino bootloader, a small
program that has been loaded on to the microcontroller on your board. It allows
you to upload code without using any additional hardware. The bootloader is
active for a few seconds when the board resets; then it starts whichever sketch
was most recently uploaded to the microcontroller. The bootloader will blink
the on-board (pin 13) LED when it starts (i.e. when the board resets).
Libraries
Libraries provide extra functionality for use in sketches, e.g. working with
hardware or manipulating data. To use a library in a sketch, select it from
the Sketch Import Library menu. This will insert one or more statements at the
top of the sketch and compile the library with your sketch. Because libraries are
uploaded to the board with your sketch, they increase the amount of space it
takes up. If a sketch no longer needs a library, simply delete it from the top of
your code.
There is a list of libraries in the reference. Some libraries are included with the
Arduino software. Others can be downloaded from a variety of sources. Starting
with version 1.0.5 of the IDE, you do can import a library from a zip file and
use it in an open sketch. See these instructions for installing a third-party
library.
PROGRAMMING
The Arduino Uno can be programmed with the Arduino software (download).
Select "Arduino Uno from the Tools Board menu (according to the
microcontroller on your board). For details, see the reference and tutorials.
The ATmega328 on the Arduino Uno comes preburned with a bootloader that
allows you to upload new code to it without the use of an external hardware
programmer. It communicates using the original STK500 protocol (reference, C
header files).
You can also bypass the bootloader and program the microcontroller through
the ICSP (In-Circuit Serial Programming) header; see these instructions for
details.
The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source code
is available . The ATmega16U2/8U2 is loaded with a DFU bootloader, which
can be activated by:
• On Rev1 boards: connecting the solder jumper on the back of the board
(near the map of Italy) and then resetting the 8U2.
• On Rev2 or later boards: there is a resistor that pulling the 8U2/16U2 HWB
line to ground, making it easier to put into DFU mode.
You can then use Atmel's FLIP software (Windows) or the DFU
programmer (Mac OS X and Linux) to load a new firmware. Or you can use the
ISP header with an external programmer (overwriting the DFU bootloader).
See this user-contributed tutorial for more information.
This setup has other implications. When the Uno is connected to either a
computer running Mac OS X or Linux, it resets each time a connection is made
to it from software (via USB). For the following half-second or so, the
bootloader is running on the Uno. While it is programmed to ignore malformed
data (i.e. anything besides an upload of new code), it will intercept the first few
bytes of data sent to the board after a connection is opened. If a sketch running
on the board receives one-time configuration or other data when it first starts,
make sure that the software with which it communicates waits a second after
opening the connection and before sending this data.
The Uno contains a trace that can be cut to disable the auto-reset. The pads on
either side of the trace can be soldered together to re-enable it. It's labeled
"RESET-EN". You may also be able to disable the auto-reset by connecting a
110 ohm resistor from 5V to the reset line; see this forum thread for details.
PYTHON:
PYTHON 3.7:
THONNY IDE:
% ./configure
% make
% make install
% ./configure --help
There are also some compile time options which can be found in
src/Thonny .h. Please see Appendix C for more information. In
the case that your system lacks dynamic linking loader support,
you probably want to pass the option --disable-vte to the
configure script. This prevents
compiling Thonny with dynamic linking loader support to
automatically load libvte.so.4 if available. Thonny has been
successfully compiled and tested under Debian 3.1 Sarge, Debian
4.0 Etch, Fedora Core 3/4/5, Linux From Scratch and FreeBSD
6.0. It also compiles under Microsoft Windows
At startup, Thonny loads all files from the last time Thonny
was launched. You can disable this feature in the preferences
dialog (see Figure 3-4). If you specify some files on the
command line, only these files will be opened, but you can find
the files from the last session in the file menu under the "Recent
files" item. By default this contains the last 10 recently opened
files. You can change the amount of recently opened files in the
preferences dialog. You can start several instances of Thonny ,
but only the first will load files from the last session. To run a
second instance of Thonny , do not specify any file names on the
command-line, or disable opening files in a running instance
using the appropriate command line option.
Thonny has basic printing support. This means you can print a file by
passing the filename of the current file to a command which actually
prints the file.
However, the printed document contains no syntax highlighting.
CHAPTER 7
RESULTS
CHAPTER 8
CONCLUSION
In this project the practical technique for BLDC motor speed control is
suggested. The suggested approach is based on managing the bridge converter's
input DC voltage, which feeds the motor windings. An ANN network controller
is used to control the input. Data is fed into a binary artificial neural network for
the proposed system in order to get various simulation-derived parameters. The
outcomes of the simulation and the resulting predictions are identical. With
regard to the input data, the activation function and neuron for each layer are
modified and examined.
REFERENCES
range”. IEEE Trans. Power Electron, Vol. 6, No.1, pp. 151-157, Jan. 1991.
[2] Q. Zhao and F. C. Lee, “High efficiency, high step-up dc–dc converters,”
IEEE Trans. Power Electronics., vol. 18, no. 1, pp. 65–73, Jan. 2003.
[3] H. Cheng and K. Smedley, “Wide input wide output (WIWO) dc-dc
converter,” in Proc. IEEE Appl. Power Electron. Conf. Expo., 2008, pp. 156-
1568.
[4] K. Yao, Y. Ren, J. Wei, M. Xu, and F. Lee, “A family of buck type dc–dc
converters with autotransformers,” in Proc. Appl. Power Electron. Conf. Expo.
(APEC 2003), pp. 114–120.
[5] K. Nishijima, K. Abe, D.Ishida, T. Nakano, T. Nabeshima, T. Sato and K.
system”, in Proc. IEEE PESC Conf. (PESC 2006), Jun. 18—22, pp. 1-6.
[6] K.C. Tseng and T.J.Liang, “Novel high efficiency step-up converter”, Proc.
Inst. Electr. Eng. Electr. Power Appli., vol.151, No.2, pp. 180-190, Mar. 2004.
[7] K. Yao, M. Ye, M. Xu, and F.C. Lee, “Tapped-inductor buck converter for
pp.775-780, July.2005.
Converters, Applications, and Design, 3rd ed. New York: Wiley 2002.
inductor boost converter” in Proc. IEEE Int. Symp. Ind. Electron, Jun, 4-7,
[11] Q. Zhao and F.C. Lee, “High efficiency, high step-up dc-dc converters,”
IEEE Trans. Power Electron, Vol.18, No.1, pp. 65-73, Jan. 2003.
[12] www.mathswork.com
[13] www.google.com
[14] www.powerelectronics.com
[15] www.educypedia.com