Control brushed esc (electronic speed controller)
Botdocter
Posts: 271
I am using esc's for the first time and am not entirely sure how to drive them.
I forum members told me that i can drive them with servo commands, but that doesn't seem to work.
With my servos i have to use a 4k7 resistor on the signal pin to make them work. Could it be the same thing with the esc's?
[url]Http://aesior.wordpress.com[/url]
I forum members told me that i can drive them with servo commands, but that doesn't seem to work.
With my servos i have to use a 4k7 resistor on the signal pin to make them work. Could it be the same thing with the esc's?
[url]Http://aesior.wordpress.com[/url]
Comments
Also they don't seem to react on changing the pulse width. In some cases they don't turn at all, in some cases it stays the same.
Anyone have any ideas?
Pics can be found on the above link!
Forward with Reverse/Brake (6-12V,2-3CELLS*LIPO.)*
Size 43 x 24 X 21(mm)
Weight* 65(g)
Operating Voltage 6-12(V) or 2-3cells Lipo
BEC 1(A)
Switching Rate 1.7(KHz)
Low Voltage Cut-off 5(V)
Suitable for most controller - Futaba/Acoms/Tamiya/JR/Hitec/GWS receiver
Suitable for most*>23T Brushed Motor*- Tamiya 540 motor.....
Specifications:
MCU Controlled. No stepped operation.
BEC (Battery Eliminator Circuit)
Low torque "Soft Start"
Brake. Reverse.
Extremely smooth throttle step
Safe “power on”
Auto shut down when signal is lost
Low Voltage Cut-off. High temperature Cut-off. High current Cut-off.
Small dimensions and weight
Includes:
50A Brushed ESC
ESC English Instruction
100% Brand New in Bag
The fact that it turns but not much is strange, either you are not sending long enough pulses or there is some issue in the wiring whereby the current is being limited.
I assume you are driving the motor from a battery pack (it is charged isn't it!), does the BEC supply the propeller or does it have it's own supply? If you have a battery and a separate supply have you coupled the grounds? They should be coupled so a logic high from the prop translates to a logic high on the controller.
Graham
So what does "low" throttle mean?
Is that pulsewidth 900 or 1500 as beeing the middle(0)
Graham
But this sounds quite clear. I think i know what to do now.
Thanx!
http://www.xaic.cn/english/zzcp/13.pdf
Thanks! allthough it did not gave me a correct sollution.
This is the code that works to initialize but not correctly.
CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000 'Note Clock Speed for your setup!!
ServoCh1 = 6 'Select DEMO servo
VAR
OBJ
SERVO : "Servo32v7.spin"
PUB Servo32_DEMO | temp
SERVO.Start 'Start Servo handler
SERVO.Ramp '<-OPTIONAL 'Start Background Ramping
'Note: Ramping requires another COG
' If ramping is not started, then
' 'SetRamp' commands within the
' program are ignored
'
'Note: At ANY time, the 'Set' command overides
' the servo position. To 'Ramp' from the
' current position to the next position,
' you must use the 'SetRamp' command
SERVO.SetRamp(ServoCh1,1500,100) 'Pan Servo
repeat 1500000 'Do nothing here just to wait for
'background ramping to complete
SERVO.SetRamp(ServoCh1,1400,100) 'Pan Servo
repeat 1500000 'Do nothing here just to wait for
'background ramping to complete
SERVO.Set(ServoCh1,1515) 'actual speed goes from 1450 to 1550
The last pulse width is accually the one that makes the wheel turn.(1515)
The other ones, i can't change otherwise the beep won't sound.
The strange thing is that the speed variations go from 1450(= -100%) to 1550 (+100%)
any ideas??
Rather than use a repeat loop for the delay use waitcnt, e.g. waitcnt(cnt+clkfreq*2) gives a 2 second delay
I don't understand this statement: "The strange thing is that the speed variations go from 1450(= -100%) to 1550 (+100%)"
Graham
[code] your code here [/code ]
(without the space before the last bracket.
Init only works from 1400 to 1470
I meant that servos go from +- 900 to 2100. And these controllers go from 1450 to 1550
I would try removing any ramping and then giving the controller plenty of time at each setting.
Graham
Graham
p.s. arrive: because you came to a conclusion after a journey of discovery.
Graham
Thank you for your help.
And if you run the exact same code on a servo how does it respond?
Graham
Accually i believe the range is a bit wider. 1300 to 1500 with 1400 beeing 0. So that's a range of 200. Maybe because of different initialisation.
I was planning on trying to connect it with a receiver. Lets see if that'll work.
I'll get back to you...
I've heard of speed controllers with start up sequences that require the user to push to full throttle first and then to zero to initialize but I've never heard of speed controls adapting based on the use of full throttle on take off, do you have an example of such a speed controller? I really can't see how that would work as models requiring full throttle at take off would just get full stick at take off and that would not allow adaptation to anything.
Graham
Most cheap ESCs for aircraft do this, or they'll use fixed points like 1200 and 1800 (I'm making these numbers up). Look for "automatic throttle range" when shopping. If you find one with a helicopter setting, or one that offers "fixed endpoints" or "programmable throttle endpoints", it means you can assume the values won't change, or they can be set by the user. For electronics projects, those tend to be much easier to work with.
1400 is middle.
So this is the way to go.
I tried initializing within my main spin file, but that doesn't seem to work. Where in the file should i place the init script?
I placed it right under
I once read something about 2khz that the propeller uses or am i totally off here?