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

servo YUKI model family SUMO 1143HB #21

Open
fotosettore opened this issue Apr 3, 2023 · 3 comments
Open

servo YUKI model family SUMO 1143HB #21

fotosettore opened this issue Apr 3, 2023 · 3 comments

Comments

@fotosettore
Copy link

fotosettore commented Apr 3, 2023

hi
this servo (SUMO 1143HB) has a mechanical 360 degree rotation.
I'm testing this servo on ESP32 and using this library is not possible to obtain more than 180 degree rotation.
For my use I need a 260 degree rotation
I tried to modify the .h and .cpp but i'm not smart in c++, so at moment i found no solution.
someone may help me to do this ?
I saw a lot of video but all them make a hardware modification.
I'm sure that with this kind of servo is possible to obtain 260 degree via software too.
Please look the video that solve the problem without opening of servo
https://www.aliexpress.com/item/1005002973104855.html?spm=a2g0o.order_list.order_list_main.19.21ef1802XnKwfL

your help is appreciated

@JarekParal
Copy link
Member

JarekParal commented Apr 4, 2023

Hello @fotosettore,

I checked the spec on AliExpress and the recommended PWM signal range is 0.5 - 2.5 milliseconds, which is exactly the range in our library: https://github.com/RoboticsBrno/ServoESP32/blob/master/src/Servo.h#L107

But you can try to extend the range, for example, to 0.1 - 3.0 ms and see what would be the impact:

Servo servo1;

void setup() {
    Serial.begin(115200);
    int chanell = 0;
    int minAngle = 0;
    int maxAngle = 180; 
    // the `maxAngle` doesn't have direct effect on the PWM signal, 
    // just divides the range 2900 (3000 - 100) to 180 degree steps in `write(int degrees)` function
    int minPulseWidth = 100;
    int maxPulseWidth = 3000;

    servo1.attach(servoPin, channel, minAngle, maxAngle, minPulseWidth, maxPulseWidth);
}
...

@fotosettore
Copy link
Author

fotosettore commented Apr 10, 2023

hi JarekParal
i tried your code and i obtained only little more degrees.
So I opened the servo and added two resistors as described in a youtube video.
the two solutions (your code and resistors) improved all but I didn't get the result :-(
however i'd like to goal without hardware modifications.
So I've come to the conclusion that for 260° a native servo is needed.
I bought some of them and as soon as they will arrive I will try and I will post here the test made using your library

@JarekParal
Copy link
Member

JarekParal commented Apr 13, 2023

Thanks for update. Please let me know when you will have new info.

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

No branches or pull requests

2 participants