Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aligned throttle range with standard radio range #99

Closed
wants to merge 3 commits into from

Conversation

ahalekelly
Copy link
Contributor

Right now the RC input values don't line up with the standard 1000-2000us pulses from RC receivers. This is particularly an issue in bidirectional mode, when RC_PULS_REVERSE = 1, because the neutral throttle value is 1460us, as opposed to the standard neutral throttle value of 1500us. With this commit the total throttle range stays at 800us which matches POWER_RANGE, but is shifted up slightly to line up with the standard values.

@ahalekelly ahalekelly changed the title Aligned throttle range with radios Aligned throttle range with standard radio range Oct 26, 2015
@ahalekelly
Copy link
Contributor Author

Was there a reason the values of 1060 and 1860us were chosen in the first place?

Cleaning out stuff that exist for features that were never implemented
@tracernz
Copy link

tracernz commented Nov 7, 2017

as opposed to the standard neutral throttle value of 1500us

I'm not sure there's every really been a "standard". The most standard centre pulse I can think of if 1520 us which applies to pretty much all "standard" servos (faster servos use 760 us or even 560 us). ESCs have always been variable (hence calibration), and some don't even have a crystal so the same ESC can vary quite a bit.

@ahalekelly
Copy link
Contributor Author

ahalekelly commented Nov 14, 2017

Most of the resources online (eg ServoCity, Sparkfun, Jameco) say that the minimum pulse is 1000us, maximum is 2000, and neutral is 1500. Pololu is more nuanced, saying

A pulse width of 1.5 ms is what we consider “neutral”; increasing the pulse width will make the servo go one way, and decreasing the pulse width will make the servo go the other way. However, there are a few points you should keep in mind:

The neutral point is not necessarily the middle of the servo’s absolute maximum range. For instance, a servo that is capable of 180 degrees of movement might have the output at the 100-degree point for a 1.5 ms input pulse. In that case, the available range would be 80 degrees to one side of neutral and 100 degrees to the other. The pulse width that corresponds to the middle of the available range will vary from servo to servo, even for servos that are of the same model, so if you care about getting the most range you can and having neutral mean the middle of that range, you will have to calibrate your system for each servo.

I've never heard of faster servos using a shorter pulse width, other than Oneshot125 for quadcopters, which ranges from 125us to 250us.

Anyway, 1500us makes a lot more sense than the 1460us that it's currently set to, but it doesn't look like Simon is maintaining this repo anyway. I decided to just move forward with my own fork, and accidentally added some other commits to this pull request. I'll try to fix that now.

Edit: Oh, much more important than what's the neutral position on servos is the neutral position on radios. I have found the neutral position on my radios, with no trims applied, to be 1500us, and it is very important to have the neutral positions aligned when using ESCs in bidirectional mode.

@ahalekelly
Copy link
Contributor Author

ahalekelly commented Nov 14, 2017

Wow looks like it's not possible to change the branch of the fork that the pull request is using. Closing this and creating a new pull request.

Edit: Here it is https://github.com/sim-/tgy/pull/134

@ahalekelly ahalekelly closed this Nov 14, 2017
@sim-
Copy link
Owner

sim- commented Dec 13, 2017

Erm, so just FYI, the reason for not changing this is that people are expecting the range and have configured stuff that way. You can go ahead and change it, of course, but I was trying to keep that out of the tree until there is some flag day or major change where it makes sense to do this.

BTW, your pull request also had unrelated changes and talks about cleaning up unimplemented things -- some of these were left for reference with quax' (Bernhard's) original tree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants