
Basti
Germany
Asked
Im trying to control Servomotors with my Raspberry Pi running EZB Server (BlueBerry Server). I added an Horizontal servo Controller, selected D13, wired everything up accordingly and defined the min and max values. Just like I'm used to with my EZ-Robot board. However on the RaspberryPi I didnt achieve a single movement. What am I missing here?
Related Hardware Raspberry Pi
Related Control
Horizontal Servo
To control servomotors with your Raspberry Pi running the EZB Server (BlueBerry Server), you need to ensure that the Raspberry Pi's GPIO pins are correctly configured and that the EZB Server is properly set up to communicate with the servos.
Here are some steps to troubleshoot the issue:
Check the Wiring: Double-check that the servo is correctly wired to the Raspberry Pi's GPIO pin D13. Ensure that the ground wire is connected to a ground pin on the Raspberry Pi, the power wire is connected to a suitable power source (usually 5V), and the signal wire is connected to the GPIO pin D13.
Power Supply: Verify that the servo motor is receiving adequate power. Servos can draw a significant amount of current, especially under load, and the Raspberry Pi's GPIO may not be able to supply enough current. You might need an external power source for the servo.
EZB Server Configuration: Make sure that the EZB Server is running correctly on the Raspberry Pi and that it is configured to use the correct GPIO pins for servo control.
ARC Configuration: In the ARC project, ensure that the Horizontal servo skill is configured with the correct board index and port that corresponds to the Raspberry Pi's GPIO configuration.
Test the Servo: You can test the servo independently of the Raspberry Pi to ensure that the servo itself is functioning correctly. Connect it to a known working servo controller or an Arduino to verify its operation.
Software Versions: Ensure that you are running the latest version of ARC and the EZB Server on your Raspberry Pi. Outdated software may lead to compatibility issues.
Permissions: Running the EZB Server on a Raspberry Pi may require certain permissions to access the GPIO pins. Make sure that the software has the necessary permissions to control the hardware.
If you've gone through these steps and are still experiencing issues, you may want to consult the support documentation for the Raspberry Pi and the EZB Server to ensure that all settings are correct. You can find more information and support articles on the Synthiam website under the Support section: https://synthiam.com/Support.
Remember that the Raspberry Pi's GPIO pins operate at 3.3V logic levels, and connecting a servo directly to the GPIO may require additional considerations regarding voltage levels and current capabilities.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
I’m not sure but I don’t think Raspberry pi can’t move servos. Doesn’t it need a microcontroller or something that can do proper pwm. Usually an arduino is connected I think. Did you check the manual for the blueberry server?
Yeah I checked the blueberry manual and there’s instructions to setup a hat for moving servos: https://synthiam.com/Firmware/EZB-Server-BlueBerry-Server-DBJJ5DRNAAH
a raspberry pi doesn’t have the onboard hardware for pwm hobby servos. You could do smart servos like Dynamixel or lewansoul. But the little computer doesn’t have the capability of doing pwm servos. That’s a limitation of the pi, not arc.
Im able to control Servos by running a simple Python script directly on the Pi, so it should have the necessary hardware. However I cant get it working with the EZB Server.
This is the Python script Im using to control the Servo:
Oh cool! Maybe the author of the firmware will see this and add something. Otherwise you can modify the firmware or find a way to connect the firmware to your python script
I was confused because I swear Raspberry Pi can't control servos. And I am correct - that code snippet you pasted came from a page I also read. The Raspberry Pi has 2 PWM ports, which you can assign to a rate that "sort of" moves two servos - that's the maximum (Two). I believe the original author didn't put effort into the firmware because moving two servos is not very exciting for the amount of effort. That being said, you could modify the firmware to do so - by taking D0 and D1 and using the servo library mentioned in that article, which provides more degrees of range. As mentioned in the article, the example you posted has only three positions (min, center, and max).
The recommendation still applies to using a microcontroller connected to the Pi for moving servos.