Arduino controlled BLDC motor sensing

MaxHeadRoom

Joined Jul 18, 2013
30,688
I don't see any reason why you could not run it in reverse?
Also these motors are direct drive to the agitator (no gear-box) , what about on the wash cycle where the agitator oscillates back and forth about its axis?
Max.
 

Thread Starter

JulesP

Joined Dec 7, 2018
458
I don't see any reason why you could not run it in reverse?
Also these motors are direct drive to the agitator (no gear-box) , what about on the wash cycle where the agitator oscillates back and forth about its axis?
Max.
I agree for a washing machine motor but the small motor I showed a picture of might be different and for a different use? Anyway, for that motor, would the white wire be phase 1, 2 or 3 in my circuit?
 

MaxHeadRoom

Joined Jul 18, 2013
30,688
I was going by post #6, but why do you think that a BLDC motor will be unable to run in reverse?
All the BLDC motors I have used, the connections are made for the desired rotation, IOW it is arbitrary, as long as any sensor used for commutation are in the right order initially.
Max.
 

Thread Starter

JulesP

Joined Dec 7, 2018
458
I was going by post #6, but why do you think that a BLDC motor will be unable to run in reverse?
All the BLDC motors I have used, the connections are made for the desired rotation, IOW it is arbitrary, as long as any sensor used for commutation are in the right order initially.
Max.
Ok so what I really need to know is what sequence the wires should be connected. The little motor has a White (PWM), Red (+) and Black (-). Assuming it can go in reverse the order is important especially as I don’t plan to use the Hall sensors but the back EMF instead.
 

MaxHeadRoom

Joined Jul 18, 2013
30,688
Depending on the design, normally the back-emf sense is automatic when it is used in each particular phase driver.
PicMicro has a few App notes on sensorless control etc.
Max.
 

dendad

Joined Feb 20, 2016
4,641

Thread Starter

JulesP

Joined Dec 7, 2018
458
On the BLDC board I designed, the processor used is the dsPIC30F3014. It has all the hardware needed to produce the BLDC drive.
These may help, even if you stay with the Arduino.
data sheet... http://ww1.microchip.com/downloads/en/devicedoc/70138c.pdf
BLDC app note... http://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en554233

Even though my board is for 24VDC, I can run a Fisher & Paykel 240V washing machine motor ok on 24V for testing.
Gee that’s a lot of pages to peruse but useful I’m sure. When my head is clearer (from last night) I will look in more depth.

I plan in the long term to get a larger washing machine type motor but wanted to start small to test the circuit. Is your chip programmable like the Arduino or does it come ready to operate that specific motor?

As you may have surmised, I plan to direct DC pulses at various frequencies to the motor to observe its behaviour and performance. Between my Arduino and the motor is an interface with the FETs, as per the circuit shown earlier, so presumably you have some sort of driver circuit around your chip?
 

Thread Starter

JulesP

Joined Dec 7, 2018
458
Even most hobby RC motors now days have gone to a DSP type chip. I stand by my saying an Arduino would be hard pressed to do sensor less.
You maybe right but at this stage I need to use the Arduino. Are there pre written sketches to run different BLDCs?
 
Last edited:

Thread Starter

JulesP

Joined Dec 7, 2018
458
I’ve looked at the app note, and the AN992 note referred to in that, so can see a full board which can presumably be connected straight to the motor and has the power drivers built-in? I can see why novices like me start out using the Arduino simply because there is a lot more functionality with the dsP chips that it appears rather daunting at first. It’s something to progress to as one gets used to all the options and parameters and discovers the limits of the Arduino. There seem to be many boards out there that use this chip so for consideration later on my journey, can you recommend a board that would be good to use that is capable enough for what I am doing, can handle 400-500V DC pulses to the motor at up to 20kHz, but not 'overboard'? I can keep such info on file to draw on as and when.

I think my reasons for continuing to use the Arduino at my stage of knowledge and skills are summarised by this piece I found: 'The success of the Arduino platform is undeniable, just look at the frenzy amongst the component distributors and the Chinese dev board makers who are all getting in on the Arduino act, and why is this? well the Arduino platform has made micro-controllers accessible to the masses, and I don’t mean made them easy to buy, I mean made them easy to use for people that would otherwise not be able to set up and use a complex development environment, toolset and language, and the Arduino designers also removed the need to have a special programmer/debugger tool, a simple USB port and a boot-loader means that with just a board and a USB cable and a simple development environment you are up and running which is really excellent. You are not going to do real-time data processing or high speed control systems with an Arduino because of its hardware abstraction but for many other things the Arduino is more than good enough, its only a matter of time before Arduino code and architectures start making it into commercial products if they have not already done so.'
 
Last edited:

shortbus

Joined Sep 30, 2009
10,050
Your last paragraph holds the answer to why I think the Arduino won't work like you think , at least not now -
You are not going to do real-time data processing or high speed control systems with an Arduino because of its hardware abstraction but for many other things the Arduino is more than good enough, its only a matter of time before Arduino code and architectures start making it into commercial products if they have not already done so.'
 

shortbus

Joined Sep 30, 2009
10,050
Well then at least I know what sort of controller will manage when the arduino ceases to manage.
This is starting to sound like a school project. Where it has to use a certain component to do a job. I thought it was to actually get a working motor, sorry. One of the bigger Arduinos may work for a BLDC using Hall sensors.
 

Thread Starter

JulesP

Joined Dec 7, 2018
458
The small group I am working with is using the Arduino R3 and some are working with the larger ‘washing machine 36 windings motor and I’m starting with a smaller 12/24V motor. The larger one has worked with an rpm of about 1500 so the sensing pulse frequency is 25Hz which the Arduino apparently has no trouble managing except for the transient spikes which often reset the R3.
I think those can be dealt with using MOVaristor suppression and hopefully all should work.
Going down the Hall sensor route would require a lot of extra work as one would need to add them to the BLDC, rewrite the Arduino sketch and significantly adjust the interface circuitry. This all adds costs and as these are all ‘personal’ research projects (with shared results) on a budget we need to work with what we’ve got as best we can. Replacing the boards we are building to ready made Microchip based ones would be a last resort and a significant shift in direction.
So we are effectively evaluating the potential for using a widely available open source technology (Arduino) for a particular application and will discover at some point what it’s limitations are. If we were a professional team trying to develop a BLDC driver system then we might well have started with the approach you suggest but that’s not why and what we’re doing. Hope that clarifies.
 

pmd34

Joined Feb 22, 2014
529
Hi Jules, I have actually been reverse engineering a variable frequency drive for my lathe, and the solution they use for controlling the 3 phase 400V motor actually seems quite nice, and has plenty of isolation between the high and low voltage sides of the circuit.

They use 6 SGP20N60 IGBTs
Each pair is driven by a HCPL-3150 optocoupler IGBT driver.
The high voltage side of these is powered using separate "Mornsun" B1515LS isolated DC-DC converters.

At first glance I thought this was rather complicated and component hungry, but actually its quite modular, and the normal MOSFET drivers tend to be very susceptible to negative going voltage spikes- and when they go they tend to take out much of the rest of the circuit!

The Motor control itself is then done with a MC33035 this is then actually controlled from a Programmable Logic device. (Though I guess for your design you would look at replacing this with your microcontroller system to allow for sensorless driving.)

Regarding the use of Arduino boards, it can, if you are willing to put in the time, be much more effective simply making your own. The Atmega microcontrollers (used on the Arduino boards) are very cheap and if you use a PCB manufacturer such as PCBway, where you can get 10PCBs with delivery for about $20, it makes life very simple and cost effective to build your own "hybrid" arduino board with all the components on it and saves a mass of interconnecting wires and is crucial if your going to high voltages.
 

Thread Starter

JulesP

Joined Dec 7, 2018
458
Hi Jules, I have actually been reverse engineering a variable frequency drive for my lathe, and the solution they use for controlling the 3 phase 400V motor actually seems quite nice, and has plenty of isolation between the high and low voltage sides of the circuit.

They use 6 SGP20N60 IGBTs
Each pair is driven by a HCPL-3150 optocoupler IGBT driver.
The high voltage side of these is powered using separate "Mornsun" B1515LS isolated DC-DC converters.

At first glance I thought this was rather complicated and component hungry, but actually its quite modular, and the normal MOSFET drivers tend to be very susceptible to negative going voltage spikes- and when they go they tend to take out much of the rest of the circuit!

The Motor control itself is then done with a MC33035 this is then actually controlled from a Programmable Logic device. (Though I guess for your design you would look at replacing this with your microcontroller system to allow for sensorless driving.)

Regarding the use of Arduino boards, it can, if you are willing to put in the time, be much more effective simply making your own. The Atmega microcontrollers (used on the Arduino boards) are very cheap and if you use a PCB manufacturer such as PCBway, where you can get 10PCBs with delivery for about $20, it makes life very simple and cost effective to build your own "hybrid" arduino board with all the components on it and saves a mass of interconnecting wires and is crucial if your going to high voltages.
Thanks for the suggestions. A lot to get my head around as well as ‘new’ components etc. I can see a process of migration to better systems as and when the Arduino reveals it limitations. Don’t be surprised if I come knocking for guidance at some point in the future :)
 

pmd34

Joined Feb 22, 2014
529
Thanks for the suggestions. A lot to get my head around as well as ‘new’ components etc. I can see a process of migration to better systems as and when the Arduino reveals it limitations. Don’t be surprised if I come knocking for guidance at some point in the future :)
Knock away! :)
 

MaxHeadRoom

Joined Jul 18, 2013
30,688
I have been trying to get hold of a Fisher-Paykel style motor to experiment on, I'm not sure if they are commutated as 3phase motors or BLDC mode in their original usage.
Max.
 

Thread Starter

JulesP

Joined Dec 7, 2018
458
I have been trying to get hold of a Fisher-Paykel style motor to experiment on, I'm not sure if they are commutated as 3phase motors or BLDC mode in their original usage.
Max.
I might try writing to them to ask the winding configuration and see how it compares with the Samsung washing machine motor that several of my comrades are using.
 
Top