How To Control A Standard Servo With Raspberry Pi

Поділитися
Вставка
  • Опубліковано 7 лют 2025

КОМЕНТАРІ • 99

  • @ingu_bingoo
    @ingu_bingoo Рік тому +14

    More tutorials need to be like this, short and straight to the point, too many channels add a bunch of unnecessary info

  • @ydocld05
    @ydocld05 Рік тому +4

    This helped me finish a project I had been working with for a while. Just wanted to say, Thank you!

  • @ima9969
    @ima9969 3 роки тому +7

    You clearly deserve 10k likes man

  • @SirTrollingham
    @SirTrollingham 3 роки тому +12

    Great video, I especially liked the code walkthrough.

  • @ianbertenshaw4350
    @ianbertenshaw4350 3 роки тому +11

    Cool video ! Straight to the point ,Clearly explained and easy to understand - I like that !

    • @maxuabo
      @maxuabo 2 роки тому

      I second this! Editing and prevention is more important than the information itself, I guess that’s subjective but this video format was very well done!

  • @jmac2543
    @jmac2543 2 роки тому +4

    exactly what i was looking for

  • @Keeping_IT_Simple
    @Keeping_IT_Simple 3 роки тому +2

    Long time Subscribed , bell icon clicked but this video does not appear at all in my feed ! Thanks UA-cam!!!
    A good , easy to understand guide !

    • @ianbertenshaw4350
      @ianbertenshaw4350 3 роки тому

      Same here , I only spotted it because it came up on my home section , probably appear in a few days time .

  • @mithunchandra8221
    @mithunchandra8221 2 роки тому +1

    Your Explanation is very very nice.Thank you so so much sir.

  • @AbhishekG-f2r
    @AbhishekG-f2r Місяць тому

    you are the best

  • @jonsnow3513
    @jonsnow3513 5 місяців тому

    a king not wearing the crown

  • @rml0226
    @rml0226 Рік тому

    Thank you for this very helpful walkthrough with servo motors, I have a question if it is necessary to add the gpio.cleanup for this kind of coding.

  • @tischregal9678
    @tischregal9678 Рік тому +1

    nice short totorial. Is there also a way to adjust how fast the servo spins?

    • @Core-Electronics
      @Core-Electronics  Рік тому

      If you are using Continuous Servos you can. Otherwise if you are using a Normal Servo you can get it to step multiple times, with delays between each subsequent movement, instead of a single snap to direction request, which would mimic a slower rotation.

    • @tischregal9678
      @tischregal9678 Рік тому

      @@Core-Electronics alright ty that works, do you know if it is bad for a servo to change the spin directionn very frequently like every 0.1 seconds or does it not harm it?

  • @TheVBounce
    @TheVBounce Рік тому

    Do you need a special servo to make this a closed loop?

  • @_nick.07
    @_nick.07 Рік тому

    Cool Video, really helps me! But which DC power jack did you use?

  • @3dprintsiebarth978
    @3dprintsiebarth978 Рік тому

    what would interest me is how do i get rotary movement slower say from 90 to -90 in 1 min . Great video :)

    • @Core-Electronics
      @Core-Electronics  Рік тому +3

      Hey Siebarth!
      This is a very common code often called a "servo sweep". You could use a loop to steadily increase the position of the servo a little bit at a time. If you want the servo to rotate 180 degrees in 60 seconds, every second it would need to rotate 3 degrees.
      So you could create a loop that starts at 90 degrees, then every second decreases that number by 3 degrees till you get to -90 degrees in 60 seconds. You can make it even more smoother by decreasing the update time (changing the angle to 1 degree every 1/3 of a second).
      Here is a link to some example code: core-electronics.com.au/guides/getting-started-with-servos-examples-with-raspberry-pi-pico/#example-1
      This does use 0 to 180 degrees though, but the logic is the same.
      If you have any other questions or need any more help, feel free to ask us on our forums: coreelec.io/forum
      Cheers mate!

    • @TheChupacabra
      @TheChupacabra Рік тому

      Great to see a content creator that gives in depth, helpful replies!

  • @mitkosokolov9382
    @mitkosokolov9382 Рік тому

    how can we control servos from Bluetooth (on rpi), and make it execute set of voice commands?

  • @oktayakdede9865
    @oktayakdede9865 Рік тому

    thanks a lot for the explanation. how can we control also the speed of the servo?

    • @fadsmfawopefaw
      @fadsmfawopefaw 10 місяців тому

      Based on the video, it sounds like the black and red wires just give power, and the yellow wire determines angle because it's connected to the GPIO on the Raspberry Pi. Since the yellow wire controls the angle, the speed of the servo would be controlled from the code-side by changing the angle at slower or faster rates. I'm new to this, but that's my understanding of it.

  • @GavinMiller2633
    @GavinMiller2633 2 роки тому +2

    Where do I get the library for the code?

    • @Core-Electronics
      @Core-Electronics  2 роки тому +1

      Check the bottom of the full written up article for any scripts I have utilised in this guide 😊 core-electronics.com.au/guides/control-servo-raspberry-pi/#Down
      No extra packages or external Python libraries are required to get this system running.

    • @GavinMiller2633
      @GavinMiller2633 2 роки тому +1

      Thank you

  • @AyakaPeak
    @AyakaPeak Рік тому

    Do you have any tutorial recommendations for if I am wanting to use a button to switch a servo between to positions? Kinda of like in an iron man helmet!!

    • @Core-Electronics
      @Core-Electronics  Рік тому

      Hey Ayaka, Whilst we don't have a tutorial on that specifically it is not too hard to of a task. You would need to have a variable to count the state, here is what the psuedo code would look like.
      (in the set up)
      state = 0
      (in the main loop section)
      if button pressed
      if state = 0
      (set the first servo position you want)
      state = 1
      if state = 1
      (set the other servo position you want)
      state = 0
      And with a single button the state will change between these 2 variables. If you need any more help feel free to ask on our forums: coreelec.io/forum
      Good Luck!

  • @robertoguerra5375
    @robertoguerra5375 Рік тому

    Thank you for making this video :)
    Does anybody know how many servos I can control at the same time?

  • @GordonTam-zj7zy
    @GordonTam-zj7zy 2 роки тому +1

    Hi, this was a great video and I've used the same wiring except for a Micro Servo SG90 from tower pro. It didn't even move unlike the other problems in the comment section, is this kind of servo not compatible? Thanks! (also it's a stepper servo)

    • @Core-Electronics
      @Core-Electronics  2 роки тому

      It should still be compatible. Perhaps adjusting the | min_pulse_width | and | max_pulse_width | to max it work. Determine a servos limits carefully by experiment, so adjust those default settings by small increments.

    • @GordonTam-zj7zy
      @GordonTam-zj7zy 2 роки тому +1

      Alright thanks for the quick response! I'll try it today

  • @TheLinessCompany
    @TheLinessCompany Рік тому

    Anyway I can do this in c?

  • @aadigupta4252
    @aadigupta4252 2 роки тому +1

    Hi it was a really good video but I am facing a problem that my servo jitters very violently due to which it is not able to go full 90 degrees. I hope you can help me solve it.

    • @Core-Electronics
      @Core-Electronics  2 роки тому

      Heyya mate 😊 thanks for your kinds words. If you do not get full rotation out of your 180 Degree Servo adjust the min pulse width and max pulse width values by 0.0001 increments until you do. Adjusting these numbers till they are good will also calm down the servo jittering as well.

    • @aadigupta4252
      @aadigupta4252 2 роки тому +1

      @@Core-Electronics Thanks a lot

  • @actuallyganta6044
    @actuallyganta6044 3 роки тому +2

    Great video! I was just wondering, would it be possible to use a 5V DC 3A power supply instead of 4A? I'm struggling to find one in any European shops.

  • @icab0225
    @icab0225 Рік тому

    Can you do a tutorial on a 16 servo hat with external power tutorial

    • @Core-Electronics
      @Core-Electronics  Рік тому +1

      We already did 😀 core-electronics.com.au/guides/raspberry-pi/servo-hat-raspberry-pi/

    • @icab0225
      @icab0225 Рік тому

      @@Core-Electronics y'all are the best

  • @FourTweny
    @FourTweny Рік тому

    Can you link the code for controlling a 360 degree servo?

  • @khaledkamelbouabdallah9716
    @khaledkamelbouabdallah9716 2 роки тому +1

    Hi love your videos, if you don't mind, which program are you using for your schematic circuit??

    • @Core-Electronics
      @Core-Electronics  2 роки тому +1

      I have been using this online Photoshop like program for all my image editing/schematic creations - pixlr.com/x/
      However there are totally programs made for the job, I just found it easier and more fun creating my own assets.

    • @khaledkamelbouabdallah9716
      @khaledkamelbouabdallah9716 2 роки тому +1

      @@Core-Electronics Thank you so much

  • @juniorberard9611
    @juniorberard9611 11 місяців тому

    can we run a 40kg servo motor with this technique sir ?

    • @Core-Electronics
      @Core-Electronics  11 місяців тому

      Yes, as long as you use the correct power supply that can provide enough current, you should be able to!

  • @nictendonice2988
    @nictendonice2988 Рік тому

    I am working on a projekt where i need 7 servos in total but there are always a maximum of 2 working on the same time (most of the time just 1), do i need an external power supply?

    • @savanladva1197
      @savanladva1197 Рік тому

      yes Rpi board 5V pin is not able to give sufficient current to servo motor

  • @antitialaman7301
    @antitialaman7301 2 роки тому +1

    Can you tell me if I can connect directly Emax ES08MA II to raspberry pi zero? Ty

  • @bra1nsen
    @bra1nsen 2 роки тому +1

    5V and GND at the Pinout can handle currents of 1000mA?

    • @Core-Electronics
      @Core-Electronics  2 роки тому +1

      This is all for a Raspberry Pi 4 Model B -
      For the Power rails:
      - The 5 V rail appears to passed straight through from the USB and the current is therefore limited to whatever the USB port can supply minus the current being drawn by the board.
      - The 3.3 V rail can supply a maximum of 50 mA
      For the GPIO:
      - The max current you should draw from a single pin is 16mA
      - The max current you should draw from all the pins collectively should be below 50mA
      Hope that answers all your questions 😊

    • @bra1nsen
      @bra1nsen 2 роки тому +1

      @@Core-Electronics The 5V Pins at the GPIO bar are called Power rails? I use the Raspberry PoE+ HAT (802.3at). So I have ~ 5V and 4A available. Lets say I connect a 3Ohm resistor, so that a current of 1.6A would flow. Will it damage the Pi?

    • @bra1nsen
      @bra1nsen 2 роки тому +1

      3 Ohm connected to GND and 5V (Pin number 2 and 6)

  • @ChrisBullock1978
    @ChrisBullock1978 Рік тому

    how are stepper motors different than servos?

    • @WalkingBlock
      @WalkingBlock 10 місяців тому

      Stepper motors you control with “steps” so for example; move 10 steps to the left

  • @Videogame9559
    @Videogame9559 2 роки тому

    Hi could you do a video on Auduino and raspiberry pi zero and flysky controller and reciver to contol 2 servos.

    • @Core-Electronics
      @Core-Electronics  2 роки тому

      Heyya mate, this guide here will give you the run down on controlling hardware attached to a Raspberry Pi using an RC Controller - github.com/samfok/remote_receiver_tutorial
      I reckon that will be a proper help 😊

  • @andreinarita5156
    @andreinarita5156 2 роки тому +1

    Hello! I tried your code with a MG90S but my servo isn't moving. Any clue?

    • @Core-Electronics
      @Core-Electronics  2 роки тому +1

      I am surprised that it doesn't work at all! The specifications for MG90S that you likely need to update into the script are the Pulse Cycle: 20 ms and the Pulse Width: 400-2400 µs.
      Update the script with that information and your servo should jump to life 😊

  • @טמירביטון-ט5י
    @טמירביטון-ט5י 3 роки тому +1

    how can i stop the jitter of the servo?

    • @Core-Electronics
      @Core-Electronics  3 роки тому

      That's a function of the RPi's soft-PWM. To completely remove the jitter, the RPi needs a hardware servo driver, like this one: ua-cam.com/video/bB-xymRI8BY/v-deo.html

    • @Core-Electronics
      @Core-Electronics  3 роки тому

      (If sticking with the same set-up, finding the perfect | min_pulse_width | and | max_pulse_width | should also prevent much of the jitter.)

    • @ShellDude01
      @ShellDude01 3 роки тому

      With the direct connection examples you can alleviate jitter by using a different library (rpi_hardware_pwm). Coupled with a one line config.txt change this library enables direct hardware timed communication for (up to) two servos when plugged into the right gpio pins.
      While pin factories like pigpio definitely help reduce jitter, they do not alleviate it 100%. Playing with pulse widths / etc do nothing to solve it. I'm guessing someone is experiencing a placebo effect.

  • @kuross6605
    @kuross6605 2 роки тому +1

    Hello! I am getting this error when doing the large servo
    "PWMSoftwareFallback: To reduce servo jitter, use pigpio pin factory." with a link to the gpiozero docs is there a fix? thanks!

    • @Core-Electronics
      @Core-Electronics  2 роки тому

      That is just the system telling you a method to lower Servo Jitter. Is the servo moving at all when you run the script? Feel free to open up a forum post as well best be able to help you there - forum.core-electronics.com.au/

    • @whatdoyoudo1482
      @whatdoyoudo1482 2 роки тому +1

      @@Core-Electronics I have the same error code. Im using python idle, I am going to try running it as a shell. Nope, Same error, thonny has the same error as well.

    • @Core-Electronics
      @Core-Electronics  2 роки тому

      Does the error impact the correct function of the Servo? If not don't stress. If it is causing a very jittery response the solution to not seeing the message any more and a smoother servo can be found here - forums.raspberrypi.com/viewtopic.php?t=313651

  • @HoangNguyen-fd7te
    @HoangNguyen-fd7te Рік тому

    Why not get 5V power from Raspberry Pi but have to power the servo separately?

    • @shubhendukatiyar1683
      @shubhendukatiyar1683 21 день тому

      the pi pins cannot provide the current req. to run them motors.

  • @barzabelbehemothe1939
    @barzabelbehemothe1939 2 роки тому +1

    if we use PI 3

  • @MythicalCreatures123
    @MythicalCreatures123 3 місяці тому

    I dont get it, if each pin on the raspberry pi can only provide up to 16mA of current, how come you manage to power the servo which takes 100-250mA when operating? Someone please help?

    • @Core-Electronics
      @Core-Electronics  3 місяці тому

      There maybe some confusion, the GPIO pins can only provide 16mA of current. The 3V3(OUT) pin can supply 3 volts, up to 300 Milliamps of current and the Vbus pin supplies 5 volts, up to 2000 Milliamps of current. This current however is dependent on the output capabilities of the USB you are powering it with. If you are using a USB power source that can only supply 1000 Milliamps, you can only use 1000 Milliamps.

    • @MythicalCreatures123
      @MythicalCreatures123 3 місяці тому

      @@Core-Electronics I am using raspberry pi 5 and I am planning to give it 5V 5A , therefor does that mean the 5V pin will give me a maximum of 5A?

  • @heiko287
    @heiko287 5 місяців тому

    why is ny servo so jittery, sooo unstableee even after running the code only, its likee nervous and usntable
    :

    • @Core-Electronics
      @Core-Electronics  5 місяців тому

      Bright lights can scare a servo and make it nervous :(
      But for real, check your ground connections first, a common cause of a jittery servo is when the ground connection isn't made properly. If that doesn't work feel free to chuck a post on the dedicated community forum for this video, we have a lot of maker eyes over there that can help. Just give us some pictures of your setup and how you have wired it all up!
      forum.core-electronics.com.au/t/controlling-standard-servos-with-raspberry-pi/10603/7

  • @vicked_vicky8908
    @vicked_vicky8908 2 роки тому +1

    How can I connect a 6- 8,4V Servo with a Rasberry or PWM?
    Please help

    • @Core-Electronics
      @Core-Electronics  2 роки тому

      For higher voltages than 5V you will need to use a I2C Motor/Servo Driver Board. Just be careful when you are hooking up power as you do not want to fry the Raspberry Pi. The Raspberry Pi will break if more than 5 Volts are sent through it.
      This would do the job well -
      core-electronics.com.au/catalog/product/view/sku/SS105020093

    • @vicked_vicky8908
      @vicked_vicky8908 2 роки тому +1

      @@Core-Electronics perfekt I would try it.
      Could you make a video how to code a "Flight simulator Joystick" Trustmaster
      For steering servos?
      Does I need to code every 0-1 ° for low sensitivity or is there any programs?

    • @Core-Electronics
      @Core-Electronics  2 роки тому

      I can see you have a very focused problem, hit this fellow up as he seems to be working right in your alley - ua-cam.com/video/TNUACvk1sto/v-deo.html

  • @dingdong1813
    @dingdong1813 Рік тому +2

    Code worked the first time now it doesn’t 👍

  • @tze-ven
    @tze-ven 8 місяців тому

    GPIOs do not supply power to the servo motors, they only supply signal. I believe you mean Power pins, but they are not GPIOs.

  • @aneraxxmusic2343
    @aneraxxmusic2343 Рік тому

    Tells me to use pigpio 😢

  • @JohnSmith-kz3dy
    @JohnSmith-kz3dy Рік тому

    could i use a seperate power supply to power a high power servo, 7.4 volts, and the rpi4 but still send signals from the rpi4 to control the servo? i want to use my body power to power the servo, i got this human vein to usb attachment on amazon, i think my body puts out about 12 volts

  • @CollinSmith1
    @CollinSmith1 14 днів тому

    hi

  • @rudyishortsy7020
    @rudyishortsy7020 Рік тому

    4 amps bruh i have 2 max

    • @Core-Electronics
      @Core-Electronics  Рік тому

      4 amps is kind of conservative. If the servo isn't holding high torque or stalling you're probably fine. If you use a micro servo then 1amp is sufficient.

  • @jyvben1520
    @jyvben1520 3 роки тому +2

    gpiozero, nice

  • @kuross6605
    @kuross6605 2 роки тому +1

    Can i connect 2 large servos in a raspberrypi 4 model b?

    • @Core-Electronics
      @Core-Electronics  2 роки тому

      Expanding on the method I used here 😊 absolutely.