BLDC Motor Control: Sensorless Brushless DC Motor Controllers
A Quick Review of Brushed and Brushless DC Motors
Brushless DC (BLDC) motors have become extremely popular over their predecessor, the brushed DC motor (see figure below).
As the name implies, "brushed" DC motors use brushes, and a commutator, for controlling the movement of the motor's rotor.
Figure 1. Brushed DC motors use brushes and a commutator.
Again, as implied by its name, brushless DC motors don't utilize brushes; motor movement is controlled by means of carefully designed drive signals.
Compared to brushed motors, brushless motors offer improved reliability, longer life, smaller size, and lower weight.
BLDC motors have become more popular in applications where efficiency is a critical concern and, generally speaking, a BLDC motor is considered to be a high-performance motor capable of providing large amounts of torque over a wide speed range.
Some BLDC motors use Hall-effect sensors for detecting the position of the motor's rotor with respect to the motor's stator (see Figure 2 below).
Figure 2. BLDC motor using Hall-effect sensors.
Image courtesy of Nidec.com.
Other motors don’t have sensors; they’re referred to as sensorless BLDC motors.
In place of using Hall-effect sensors for determining the rotor's position and/or speed, a phenomenon called back EMF is employed (see Figure 3 below).
Figure 3. Sensorless BLDC motor control using back EMF.
Image courtesy of Microchip (page 4).
Sensorless BLDC Motor Control
Sensorless BLDC motor control—sometimes called sensorless trapezoidal control of BLDC motors—uses back EMF (BEMF) for determining the location of the motor's rotor (the motor's rotating part) with respect to the motor's stator (the stationary part).
A voltage applied across a motor's winding forces the motor's rotor to turn.
The movement of the rotor through the motor’s magnetic field, however, is analogous to the behavior of a generator, and consequently the motor not only receives an applied voltage but also generates its own voltage.
This voltage is referred to as back electromotive force, or back EMF, and it is proportional to the motor's rotational speed.
Back EMF can be used to determine a motor's rotor speed and position—no sensors are required.
Controlling a motor by means of back EMF is not a simple task; most sensorless BLDC motors are controlled using a microcontroller, a digital signal processor, or a dedicated driver IC.
The figure below shows a typical sensorless BLDC motor driver.
Figure 4.Typical sensorless BLDC motor drive.
The DRV10983 from Texas Instruments is a three-phase sensorless motor driver with integrated power MOSFETs capable of providing a continuous drive current of up to 2 A.
It is highly integrated and requires few external components.
Figure 5. TI's DRV10983 Sensorless BLDC motor control driver.
Image courtesy of Texas Instruments (page 1).
Not all sensorless BLDC motor controllers have integrated MOSFETs.
Consider, for example, the A4964 from Allegro.
This part requires the use of external N-channel power MOSFETs; it can operate in conjunction with a microcontroller or as an independent single-chip motor controller.
Figure 6. Allegro's A4964 sensorless BLDC controller can operate either with a microcontroller or as an independent motor controller.
Image taken from the A4964 datasheet.
As mentioned earlier, the term trapezoidal is sometimes used when describing sensorless BLDC motor controllers.
And when viewing the figure below, it's easy to see why: the voltage waveforms for each of the three motor phases have a trapezoidal shape.
Figure 7. Microchip's AN970 showing Hall-effect sensor waveforms and corresponding back-EMF trapezoidal waveforms.
Image courtesy of Microchip (page 3).
Disadvantages of Sensorless BLDC Motor Controllers
When the rotor of a sensorless BLDC motor is rotating, its sensorless scheme can work perfectly.
However, this is not the case when the motor's rotor is stationary, and this leads us to one major disadvantage of using sensorless BLDC motors.
When the motor's rotor is not turning, no back EMF generated.
Without back EMF, the drive circuitry lacks the information it needs to properly control the motor.
For this problem, Texas Instruments offers two solutions as stated in their DRV10983 datasheet (page 17):
Use the DRV10983's initial position detect (IPD) feature to determine the rotor position "based on the deterministic inductance variation, which is often present in BLDC motors."
Or, use the align-and-go technique.
With this method, a voltage is applied across one of the phases to force the rotor into a known alignment.
Another disadvantage of using sensorless BLDC motors is related to the relationship between back EMF and angular speed.
Lower speed means less back EMF, and consequently Hall-effect BLDC motors might be more effective than sensorless BLDC motors in low-speed applications.
In Conclusion
Brushless DC motors offer significant advantages over standard brushed motors.
Brushless DC implementations can be sensorless or based on Hall-effect sensors integrated into the motor (a third option is the use of an external angular position sensor).
Sensorless systems reduce cost and require fewer interconnects between the driver module and the motor; they can be somewhat complex, but high-performance integrated circuits help to simplify the design task.
Though sensorless systems are usually preferable, the use of Hall-effect sensors may be a better choice for low-speed applications.
A computer keyboard consists of many switches, one for each key which you can press.
All of these switches are electrically arranged into groups.
For discussion purposes, we call these groups rows and columns, but those groups do not physically correspond to the physical location of the key on the keyboard.
Below is an example schematic diagram showing how the switches in a specific keyboard were arranged.
A special integrated circuit is built into your laptop’s motherboard.
(For desktop computers, an equivalent integrated circuit is inside of the keyboard itself.) This integrated circuit has the job of constantly scanning the keyboard to look at which switches are currently pressed.
It does this by momentarily sending out a signal along the wiring feeding each column of the keyboard, one column at a time, and looking for a return signal from the wires connected to each of the rows.
When it finds a return signal, the currently activated column and the row which has a return signal identify which key is currently being pressed.
The keyboard controller integrated circuit uses this information along with a table of values describing the arrangement of the key switches in the keyboard to return a specific code number to the computer identifying the key in a standardized way.
If the wiring connected to either a column or a row of the keyboard becomes damaged, it will affect every key in that specific column or row.
In the example schematic above, if the wire identified as 1Y0 had been cut, the keyboard keys for N, H, Y, 6, B, G, T, and 5 would all be disabled.
There is no possibility of generating the same signals those specific keys would have created without repairing or replacing the damaged part.
So, no, there is no combination of keys which you could type to get those keys to come back.
But, not all hope is lost.
Generally, when a laptop keyboard has stopped functioning in the way yours has, it is because something was spilled into the keyboard, and that something has either created a short-circuit killing a column or row or has gotten intot he connector for the keyboard cable, preventing a signal from being transmitted properly.
This can sometimes be corrected by following the disassembly procedures for your specific make and model of laptop to remove the keyboard and then spraying the keyboard connector (on the motherboard) with a non-residue contact cleaning solution.
Sometimes the keyboard can be salvaged using contact cleaner as well.
(I say sometimes, because it is often difficult to get the contact cleaner to fully penetrate into the keyboard, as you cannot disassemble the keyboard itself.
As such, it is usually better to replace the keyboard.)
If you were to do this repair yourself, the total cost would be around $30 USD.
If you take it to a repair shop, it will cost you a bit more as they have to charge for labor.
If you are uncomfortable working inside of computer devices (which includes many very small, easy to lose screws and other components as well as easily broken cables and connectors) then take your machine to someone who has some experience.
As an alternative, it is also possible to simply connect an to your laptop.
While this will not fix the damage to your laptop and can be cumbersome with a machine you bought for its mobility, it will provide you with an alternative keyboard which is working at, potentially, an even lower price.
After doing a lot of research in the field of cheap LED bulbs, I could finally come up with a universal cheap yet reliable circuit that ensures a fail-proof safety to the LED series without involving costly SMPS topology.
the finalized design
⇧ Universal Design, Developed by Swagatam
You just have to adjust the pot to set the output according to the total forward drop of the LED series string.
Meaning, if the total voltage of the LED series is say 3.3V x 50nos = 165V, then adjust the pot to get this output level and then connect it with the LED string.
This will instantly illuminate the LEDs at full brightness and with complete over voltage and over current or surge inrush current protections.
R2 can be calculated using the formula: 0.6 / Max LED current Limit
Improving the above Design
⇧ Although the above simple current controlled MOSFET LED driver looks easy and safe for illuminating high watt LEDs, it has one serious drawback.
The MOSFET can generate a lot of heat if the output is adjusted for low voltage LED strings.
The heat dissipation is basically due to the bridge rectifier and the C1 which converts the full AC cycle to DC, causing a lot of stress on the MOSFETs.
This aspect can be improved drastically by replacing the bridge rectifier with a single diode and moving the C1 capacitor parallel to the output LED, as shown in the following diagram:
In the above diagram due to the presence a single diode D1 only half AC cycles are delivered across the MOSFET, causing 50% less stress and heat dissipation on the MOSFET.
However, the capacitor C1 parallel to the LED string ensures that the LED keeps getting the required power even during the absence of the other AC half cycles.
You can add more number of LEDs in series, a maximum upto 300 / 3.3 = 90 LEDs.
Make sure to adjust the P1 pot accordingly to adjust the output voltage to match the LED string's max forward voltage.
Likewise.
adjust the base/emitter resistor of T2 (BC547) to match the LED max current spec.
Why use LEDs
⇧
LEDs are being Incorporated in vast magnitudes today for everything that may involve lights and illuminations.
White LEDs have especially become very popular due to their mini size, dramatic illuminating capabilities and high efficiency with power consumptions.
In one of my earlier post I discussed how to make a super simple LED tube light circuit, here the concept is quite similar but the product is a bit different with its specs.
Here we are discussing the making of a simple LED bulb CIRCUIT DIAGRAM, By the word "bulb" we mean the shape of the unit and the fitting secs will be similar to that of an ordinary incandescent bulb, but actually the whole body of the "bulb" would involve discrete LEDs fitted in rows over a cylindrical housing.
The cylindrical housing ensures proper and equal distribution of the generated illumination across the entire 360 degrees so that the entire premise is equally illuminated.
The image below explains how the LEDs needs to be installed over the proposed housing.
The circuit of a LED bulb explained here is very easy to build and the circuit is very reliable and long lasting.
The reasonably smart surge protection feature included in the circuit ensures an ideal shielding of the unit from all electrical power ON surges.
How the Circuit Functions
⇧
The diagram shows a single long series of LEDs connected one behind the other to form a long LED chain.
To be precise we see that basically 40 LEDs have been used which are connected in series.
Actually for a 220V input, you could probably invorporate around 90 LEDs in series, and for 120V input around 45 would suffice.
These figures are obtained by dividing the rectified 310V DC (from 220V AC) by the forward voltage of the LED.
Therefore, 310/3.3 = 93 numbers, and for 120V inputs it's calculated as 150/3.3 = 45 numbers.
Remember as we go on reducing the number of LEDs below these figures, the risk of switch ON surge increases proportionately, and vice versa.
The power supply circuit used for powering this array is derived from a high voltage capacitor, whose reactance value is optimized for stepping down the high current input to a lower current suitable for the circuit.
The two resistors and a capacitor at the at the positive supply are positioned for suppressing the initial power ON surge and other fluctuations during voltage fluctuations.
In fact the real surge correction is done by C2 introduced after the bridge (in between R2 and R3).
All instantaneous voltage surges are effectively sunk by this capacitor, providing a clean and safe voltage to the integrated LEDs at the next stage of the circuit.
CAUTION: THE CIRCUIT SHOWN BELOW IS NOT ISOLATED FROM THE AC MAINS, THEREFORE IS EXTREMELY DANGEROUS TO TOUCH IN POWERED POSITION.Circuit Diagram#1
Parts List
R1 = 1M 1/4 watt
R2, R3 = 100 Ohms 1watt,
C1 = 474/400V or 0.5uF/400V PPC
C2, C3 = 4.7uF/250V
D1---D4 = 1N4007
All LEDs = white 5mm straw-hat type input = 220/120V mains...
The above design lacks a genuine surge protection feature and therefore could be severely prone to damage in the long run....in order to safeguard and guarantee the design against all sorts of surge and transientsThe LEDs in the above discussed LED lamp circuit can be also protected and their life increased by adding a zener diode across the supply lines as shown in the following image.
The zener value shown is 310V/2 watt, and is suitable if the LED light includes around 93 to 96V LEDs.
For other lower number of LED strings, simply reduce the zener value as per the total forward voltage calculation of the LED string.
For example if a 50 LED string is used, multiply 50 with the forward drop of each LED that is 3.3 V which gives 50 x 3.3 = 165V, therefore a 170V zener will keep the LED well protected from any sort of voltage surge or fluctuations....and so on
Video clip showing an LED circuit circuit using 108 numbers of LED (two 54 LED series strings connected in parallel)
High Watt LED Bulb using 1 watt LEDs and Capacitor
⇧ A simple high power LED bulb can be built using 3 or 4nos 1 watt LEDs in series, although the LEDs would be operated only at their 30% capacity, still the illumination will be amazingly high compared to the ordinary 20mA/5mm LEDs as shown below.
Moreover you won't require a heatsink for the LEDs since these are being operated at only 30% of their actual capacity.
Likewise, by joining 90nos of 1 watt LEDs in the above design you could achieve a 25 watt high bright, highly efficient bulb.
You may think that getting 25 watt from 90 LEDs is "inefficient", but actually it is not.
Because these 90nos of 1 watt LEDs would be running at 70% less current, and therefore at zero stress level, which would allow them to last almost forever.
Next, these would be comfortably working without a heatsink, so the entire design could be configured into a much compact unit.
No heatsink also means minimum effort and time consumed for the construction.
So all these benefits ultimately makes this 25 watt LED more efficient and cost effective than the traditional approach.
⇧ If you require an improved or a confirmed surge control and voltage regulation for the LED bulb, then the following shunt regulator could be applied with the above 3 watt LED design:
Video Clip:In the videosabove I have purposely flickered the LEDs by twitching the supply wire just to test ensure that the circuit is 100% surge proof.
Solid State LED Bulb Circuit with Dimmer Control using IC IRS2530D
⇧ A simple yet efficient mains transformerless solid state LED controller circuit is explained here using a single full bridge driver IC IRS2530D.
Highly Recommended for you: Simple Highly Reliable Non-Isolated LED Driver - Don't Miss this, Fully Tested
Introduction
⇧ Normally LED control circuits are based on buck boost or flyback principles, where the circuit is configured to produce a constant DC for illuminating an LED series.
The above LED control systems have their respective drawbacks and the positives in which the range of operating voltage and the number of LEDs at the output decide the efficiency of the circuit.
Other factors like whether the LEDs are included in parallel or series or whether they need to bedimmed or not, also affects the above typologies.
These considerations make these LED control circuits rather dicey and complicated.
The circuit explained here employs a different approach and relies on a resonant mode of application.
Though the circuit does not provide direct isolation from the input AC, it has the features of driving many LEDs with current levels as high as 750 mA.
The soft switching process involved in the circuit ensures greater efficiency to the unit.
How the LED Controller Functions
⇧ Basically the mains transformerless LED control circuit is designed around the fluorescent lamp dimmer control IC IRS2530D.
The circuit diagram shows how the IC has been wired up and how its output has been modified for controlling LEDs in place of the usual fluorescent lamp.
The usual preheating stage required for a tube light utilized a resonant tank which is now effectively replaced by a LC circuit suitable for driving LEDs.
Because the current at the output is an AC, the need of a bridge rectifier at the output became imperative; this makes sure that current is continuously passing through the LEDs during every switching cycle of the frequency.
The AC current sensing is done by the resistor RCS, placed across the common and the bottom of the rectifier.
This provides an instant AC measurement of the amplitude of the rectified LED current.
The DIM pin of the IC receives the above AC measurement via the resistor RFB and capacitor CFB.This allows the dimmer control loop of the IC to keep track of the LED current amplitude and regulates it by instantaneously varying the frequency of the half bridge switching circuit, such that the voltage across the LED maintains a correct RMS value.
The dimmer loop also helps to keep the LED current constant irrespective of the line voltage, load current and temperature changes.
Whether a single LED is connected or a group in series, the LED parameters is always maintained correctly by the IC.Alternatively the configuration may also be used as a high current transformerless power supply circuit.
The ESP8266 is a low cost microcontroller with on-board WiFi functionality.
Here are the technical specifications.
Specifications:
Operating Voltage : 3.0 ~ 3.6V
Average Operating Current : 80mA
Tensilica Xtensa LX106 32 bit RISC CPU running at 80 MHz
16 GPIO Pins
SPI
I2C
I2S
UART – 2x TX and 1x RX
1x 10bit ADC
Operating Temperature : -40°C ~ 125°C
Frequency Range : 2400 ~ 2483.5MHz
This can be used in multiple projects like Home automation, WiFi controlled Robots, weather stations, and more.
Materials for this Project
Hardware Components
NodeMCU with OLED screen)
BreadBoard, Jumper Wires, LEDs, I/O
SoftwareArduino IDE.
CP210X Driver.
That's everything we need, Let's move on to the next part to set up the IDE.
Set up the IDE for NodeMCU
First, download and install the Arduino IDE from the Arduino website.
You can also use the Learn Robotics Cloud IDE if you'd like the flexibility from programming in the browser!
Now to program the ESP development board, the Arduino IDE should have list of boards.
For that we have to install all the ESP boards.
First Goto >> Files >> Preferences >> and paste the following link in 'Additional board manager URL's' and click on 'OK'.
https://arduino.esp8266.com/stable/package_esp8266com_index.json
Then, Goto >> Tools >> Board >> Board Manager.
Scroll down to find 'ESP8266 'install it.This will add all the ESP based development boards to the IDE.
Now to connect the NodeMCU to your PC, you have to install CP210X driver.
Download the latest version compatible to your OS from this website.
Select the right board from the downloaded list.
In this article I have used NodeMCU 1.0 (ESP-12E Module), so I will select that.
Goto >> Tools >> Board >> Select the ESP board you have.
After selecting the correct board, keep the settings as follows:
Flash Size : "4M (3M SPIFFS)"
Debug Port : "Disabled"
Debug Level: "None"
IWIP Variant: "V2 Lower Memory"
CPU Frequency: "80Mhz"
Upload Speed: "921600"
Erase Flash: "Sketch On"
Port : "COM port available" (where the device is connected should show up)
Now the board is ready to be programmed.
Upload the Sketch to NodeMCU
Now that the IDE is setup for NodeMCU you can test it by uploading an Example sketch as follows :-
Files >> Examples >> ESP8266.
Select the Blink example and upload it.
The on board LED should start to blink.
Now the on board LED is connected to Pin D0 of the MCU.
You can connect an external LED to the pin D0.
Now to write sketches for NodeMCU you should know the Pins as NodeMCU have different pin mapping.
You can either use D0...D10 or use the following :-
D0 = 16
D1 = 5
D2 = 4
D3 = 0
D4 = 2
D5 = 14
D6 = 12
D7 = 13
D8 = 15
D9 = 3
D10 = 1
Hope you enjoyed this post and found it informative.
If you have any questions, you can ask them in the comments, below.
Next time we will see how Projects can be controlled over the Internet through your Web Browser.
Getting Started With NodeMCU (ESP8266) Using Arduino IDEIn this article, I will be sharing with you...
how to get started with NodeMCU ESP8266 development board how you can program it easily using good old Arduino IDE and take your project to next level with WiFi connectivity.
Before we get started, I assume that you have a basic knowledge about Arduino and its development