View Full Version : Using a ATMEL8051 Microcontroller to control speed controllers
sian_tully
Jan 04, 2005, 02:06 PM
We are a group of students at Brunel University and are currently doing a final year group project. We are trying to design, test and build a UFO style craft that will follow a path predetermined by a microcontroller (no human interaction required).
We are using 6 GWS EDF-75 4-blade Ducted Fans which should give around 250g of thrust each at 11V/11A. We are using Thunder Power LiPo 3 Cell 2100mAh power packs, each pack powering 2 ducted fans. After several tests we have found that the motors get hot enough to warp and burn the plastic of the blade and the actual thrust provided is around 200g - Would it be beneficial to replace the brushed motors (which came with the EDF-75) with brushless motors to improve the thrust characteristics?
If so has anyone got any suggestions about the best motors to use for the job?
We need to control the speed of the fans with an ATMEL AT89C2051 microcontroller and have been trying to interface it with a JES 012 speed controller. We have got the speed controller working ok with a pulse generator and have replicated the wave used on the microcontroller output. The micro-controller has a built in pull-up resistor on the output but when we connect the speed controller it does not work. When switching between the Pulse generator and the Microcontroller the motor just slows down and stops!
Any suggestions?
Any help would be appreciated! :)
Mr.RC-CAM
Jan 04, 2005, 07:20 PM
After several tests we have found that the motors get hot enough to warp and burn the plastic of the blade and the actual thrust provided is around 200g
Have you tried the 3043 X 6 blade? From what I can see on the spec sheet, it has slight lower thrust, so the motor currents will be reduced a bit (that is how you solve heat issues). You need plenty of airflow and you should limit your run times so that meltdowns are avoided. If you want to attack this by going brushless, then you certainly can pick a motor that can handle the watts better. The ducted e-jet fellows may be able to offer some advice for that conversions.
When switching between the Pulse generator and the Microcontroller the motor just slows down and stops!
Please describe the R/C pulse waveform you have chosen. Is it an authentic looking R/C signal, or have you just cobbled something together that looks like what is sent by your pulse gen?
There are several things that would cause a Microcontroller to be ineffective. These may include:
1) Incorrect R/C pulse logic levels. Aim for <0.5V lows and >4V highs.
2) R/C Pulse frame rate out of range. Ideally this is about 50Hz (20mS). You are allowed a lot of freedom with this spec, but don't abuse it.
3) R/C Pulse widths out of range. The pulses need to be logic highs, ranging from 1.0mS for motor off, to 2.0mS for motor full on.
4) ESC voltage too low. If your motor currents get too high they will burden the battery pack and cause the voltage to sag. If the voltage goes below the low battery threshold, the ESC will shut down.
RC-CAM
GlowFly
Jan 05, 2005, 06:47 AM
I might add just one more comment. Most speed controllers are intelligent enough to autocalibrate to the received pulse widths at power on. That is they require the pulse width to be changed from minimum to maximum and back to minimum just after power up, and then associate those pulse width extremes with future min and max demand. In this way they compensate for Tx pulse width offset differences between configurations and manufacturers.
So in your situation it learns the range of pulse widths from one source and then you switch to another. The two sources therefore need to be matched in terms of pulse widths.
This may or may not be an issue in your case as I am not familiar with the speed controller you're using.
--
Steve
sian_tully
Jan 06, 2005, 10:14 AM
Thanks
The waveform we're producing from the microcontroller has a pulse width of 1.55ms and total period of 1.67ms, giving a frequency of around 600Hz. We designed this because these are the characteristics that the pulse generator worked at with the ESC.
The speed controller we are using (JETI JES012) seems to initiate (by 'beeping') at around 600Hz, then you can vary the pulse width to vary the motor speed. Our voltage levels seem in the right range, as the 8051 chip we're using has an internal pull-up resistor on the output pin we're using.
Would be grateful for any further suggestions....
Mr.RC-CAM
Jan 06, 2005, 11:38 AM
I am not sure why the pulse gen works, but it is certainly not using a valid servo pulse. A 600Hz frame rate is considered "illegal." It is a miracle that the speed control is allowed to initialize with your signal generator.
It is only code, so try this. Change the logic low time to 18mS instead of the current 0.12mS. Also ensure that your logic high pulse times range from 1mS to 2mS (1.0mS is motor off, 2.0mS is motor full on). Vary these in width to change speed, as you do now. But keep the idle period at the fixed 18mS time.
RC-CAM
JMP_blackfoot
Jan 06, 2005, 11:38 AM
The waveform we're producing from the microcontroller has a pulse width of 1.55ms and total period of 1.67ms, giving a frequency of around 600Hz. We designed this because these are the characteristics that the pulse generator worked at with the ESC.
It is a strange approach to not try and duplicate the sort of signal the ESC expects.
The ESC is designed to work with the signal from an R/C receiver, which is as told in a previous post : pulses of width 1.0 to 2.0 ms repeated at 20 ms intervals (say 15 to 25 ms, not critical).
Try it, I'm sure the ESC will love it.
Mr.RC-CAM
Jan 06, 2005, 11:45 AM
One more thing. The internal pullups in the ATMEL are very weak, perhaps equiv to a 30K resistor. That is not sufficient for reliable operation. You need to add an external pullup to correct this. I suggest 1K ohm.
RC-CAM
freynw
Mar 11, 2008, 01:09 PM
hi
for university project i have to control 30A brushless ESC with AT80c51 so speed of my brushless motor and i m giving 2ms duty-cycled and at 20ms period PWM signal to ESC but after one long beep sound there is no reaction and my 8051 chip gets hot...
why ? do you have any suggestion ?
vBulletin® Copyright ©2000-2009, Jelsoft Enterprises Ltd.