Arduino-aangedreven Robotarm met Aangepaste Controller – Servo & Potentiometer Bouw
Onderdelen en Benodigdheden
| Arduino UNO | × | 1 |
| Servo Motor MG995 | × | 1 |
| Servo Motor DS3115 | × | 1 |
| Draaipotentiometer, 10 kΩ | × | 1 |
Apps en Online Diensten
| Arduino IDE |
Over Dit Project
Ik heb een robotarm en de bijbehorende controller gemaakt.
Samenstelling
De robotarm gebruikt drie conventionele PWM-servos, en elke hoek wordt bestuurd door een variabele weerstand. De gebruikte draaipotentiometer heeft een B-kromme van 10k ohm.

Robotarm Productie
Er werden twee DS3115 servomotoren gebruikt in de verticale richting, en een MG995 servomotor in de zwenkwijzerichting.

Controller Productie
Ik heb een controllerbehuizing gemaakt met een 3D-printer.

Er is een gat en een positioneringsgat voor het bevestigen van de knop van de draaipotentiometer, en een inkeping voor het plaatsen van de knop.

Monteer de gefabriceerde onderdelen en drie draaipotentiometers om de controller te voltooien!
De draaipotentiometer is nu in dezelfde richting geplaatst als de rotatie-as van de servomotor van de robotarm!
Arduino Code
Deze simpele code leest de waarde van de draaipotentiometer met een analoge pin, converteert het naar een hoek en stuurt het naar de bijbehorende servo.
#include <Servo.h>
Servo myservo1, myservo2, myservo3;
float th1=90.0, th2=90.0, th3=90.0;
float val1, val2, val3;
void setup() {
Serial.begin(9600);
myservo1.attach(9, 500, 2420); // MG995
myservo2.attach(10, 820, 2140); // DS3115
myservo3.attach(11, 820, 2140); // DS3115
set_servo();
}
void loop() {
val1 = analogRead(A1);
val2 = analogRead(A2);
val3 = analogRead(A3);
th1 = map(val1, 170.0, 880.0, 0.0, 180.0);
if(th1 >= 180.0) {
th1 = 180.0;
} else if(th1 <= 0.0) {
th1 = 0.0;
}
th2 = map(val2, 150.0, 860.0, 0.0, 180.0);
if(th2 >= 180.0) {
th2 = 180.0;
} else if(th2 <= 0.0) {
th2 = 0.0;
}
th3 = map(val3, 860.0, 160.0, 0.0, 180.0);
if(th3 >= 180.0) {
th3 = 180.0;
} else if(th3 <= 45.0) {
th3 = 45.0;
}
set_servo();
}
void set_servo() {
myservo1.write(th1);
myservo2.write(th2);
myservo3.write(th3);
}
Bediening
Klaar na het aansluiten van de draaipotentiometer en het verbinden met de Arduino!
Custom Parts en Enclosures
3D-printbestanden voor de controllerbehuizing zijn beschikbaar in de projectrepository.
Productieproces
- Visie-gebaseerde Obstakel-Vermijdende Mobiele Robot op Raspberry Pi
- gatoBot: Raspberry Pi Zero W Web-gecontroleerde Robot met Live Videostreaming
- Simple Pi Robot – Bouw een 2-WD Autonome Rover met Raspberry Pi
- UV-desinfectierobot met Arduino Mega: Op afstand bestuurd germicidaal systeem
- Unopad: Naadloze Arduino MIDI-controller voor Ableton Live
- MeArm robotarm V1.0 – Bouw je eigen Arduino- en Raspberry Pi-aangedreven robotarm
- Servo-gestuurde obstakelvermijdende robot: Bouw met Arduino & HC-SR04
- KUKA KMR iiwa: Mobiele Collaboratieve Robotarm voor Industry 4.0
- Dual-Arm SCARA Robot: Geavanceerde Montage- & Productieoplossingen
- Yama Seiki GA-2000CR: Compact draaicenter met geavanceerde robotarm & palletsysteem
- Robotoperaties verbeteren met nauwkeurige servo-bewegingstechnologie