Thank you Ytai for jumping in.

Just tried the value of 40000. The ESC does not arm.
Also tried the value of 2000 (the ESC specs state the Input PWM is 1KHz). 
Same behavior.

When switching back to 6100 (it works with 6200 as well and any value in 
between) things work again.
Does this mean that the ESC input PWM freq is at around 350Hz?
Do you have any idea how I could probe this?

When you say we feed the pulse width in microseconds instead of ticks, what 
do you mean?
The difference I see from your way of feeding the pulseWidth is that you 
multiply by 2. Is this how it should be converted from microseconds to 
ticks?
If we multiply by 2 like in your example, the ESC doesn't arm.

Thank you,
Claudiu

On Sunday, December 21, 2014 7:45:15 PM UTC+2, Ytai wrote:
>
> Is it possible that you're confusing the motor (output) PWM rate with the 
> control (input) PWM?
> Hobby ESC are almost universally 50Hz (20ms) input.
> You also used the wrong type of PWM channel and fed the pulse width in 
> microseconds instead of ticks.
>
>  So I imagine you should need something like:
>
> // 40000 ticks @ 2MHz == 20000us == 20ms
> // Also, the PWM rate corresponds to SPEED not POSITION
> new Sequencer.ChannelConfigPwm*Speed*(Sequencer.Clock.CLK_2M, 40000, 0, 
> new DigitalOutput.Spec(2));
>
> ...
>
> // Then:
> ChannelCuePwmSpeed cue;
>
> ...
> float power = <value between 0 (stopped) and 1 (full speed)>;
> cue.pulseWidth = Math.round((1060.f + (800 * power)) * 2);
>
> On Sun, Dec 21, 2014 at 4:29 AM, <[email protected] <javascript:>> 
> wrote:
>>
>> Hello,
>>
>> I am having troubles understanding how the Sequencer works for 
>> controlling a couple of ESCs. 
>> The ESCs are Afro ESC from HobbyKing. Their manual can be here: 
>> http://www.hobbyking.com/hobbyking/store/uploads/745353836X1335174X28.pdf
>> According to their specs: For PWM input, motor stop / arm below 1060µs, 
>> full power at 1860µs.
>> That would be the pulse width for controllig the speed of the motor, 
>> right?
>>
>> The code we have in our Android app to initiate the sequencer:
>> final ChannelConfigPwmPosition motorESC = new 
>> Sequencer.ChannelConfigPwmPosition(
>> Sequencer.Clock.CLK_2M, 6120, 0, new DigitalOutput.Spec(2));
>>
>> the cue value is set to 10: sequencer_.push(cue_, 10);
>>
>> and the value that we send for the pulse width are generated as follows:
>> uno_varValue = (int) (1060 + (motorsPowers.nw * 8));
>>
>> The motor is running with these values but I just can't understand why.
>> Some of the questions we have:
>> - why only values around 6100 work for the period. The ESC should have an 
>> input freq of 1 Khz (according to this: 
>> http://www.hobbyking.com/hobbyking/store/__52338__Afro_ESC_30Amp_Multi_rotor_Motor_Speed_Controller_SimonK_Firmware_US_Warehouse_.html)
>>  
>> though the manual says this:  The default PWM frequency is 18kHz with 800 
>> distinct steps, but may be adjusted to any frequency.
>> - why only 2Mhz clock values worked. I was not able to make it work with 
>> other values
>> - if the documentation says that 1860µs is the value for full power, why 
>> I don't get full power when I send 1860(I can send up to 2500 and there is 
>> a clear change in the motor speed)
>>
>> The whole code can be found here: 
>> https://github.com/cllaudiu/vespi/tree/master/vespidrone/src/ioio/rd/vespidrone
>>
>> We are trying to build a drone based on Android and we have some 
>> stability issues at this stage. It flies but we find it hard to control it. 
>> Before getting into PID tuning and other elements we want to make sure that 
>> the Android - IOIO part works perfectly and that we understand what happens 
>> there. Thank you for your time.
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "ioio-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at http://groups.google.com/group/ioio-users.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"ioio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/ioio-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to