Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

ServoTimer2 Bibliotheek: Eenvoudige Handleiding voor Servo Sweep Control

Onderdelen en benodigdheden

OnderdeelAantal
Servo (Tower Pro MG996R of SG90)1
Arduino UNO1
Jumper draden (standaard)1

Over dit project

Inleiding

Ik bouwde recent een humanoïde robot – wat betekent: veel servomotoren. Alles werkte prima, tot ik de robot wilde laten praten. Daarvoor had ik de TMRpcm-bibliotheek nodig. Maar zowel Servo.h als TMRpcm gebruiken Timer1 van de Arduino. Je kunt niet twee bibliotheken tegelijkertijd gebruiken die dezelfde timer claimen. Resultaat: als de robot praat, werken de servos niet meer.

De oplossing: de ServoTimer2-bibliotheek, die Timer2 gebruikt. Op internet vond ik geen duidelijke tutorials over hoe deze bibliotheek werkt. Daarom deze handleiding: we besturen één servo met ServoTimer2 en maken een simpele sweep-code.

Stap 1: Onderdelen & Montage

ServoTimer2 Bibliotheek: Eenvoudige Handleiding voor Servo Sweep Control ServoTimer2 Bibliotheek: Eenvoudige Handleiding voor Servo Sweep Control ServoTimer2 Bibliotheek: Eenvoudige Handleiding voor Servo Sweep Control ServoTimer2 Bibliotheek: Eenvoudige Handleiding voor Servo Sweep Control

Hoofdonderdeel: een servomotor (ik gebruik een micro servo SG90, elk model werkt). Plak een servo-arm op stevig karton (voor zichtbaarheid van graden) en bevestig hem aan de servo.

Stap 2: ServoTimer2-bibliotheek downloaden en toevoegen

ServoTimer2 Bibliotheek: Eenvoudige Handleiding voor Servo Sweep Control

  1. Download de bibliotheek van GitHub.
  2. Plaats de map in je Arduino libraries-map.
  3. In de Arduino IDE: Sketch → Include Library → Add .ZIP Library en selecteer het gedownloade zip-bestand.

Nu ben je klaar.

Stap 3: Simpele schakeling bouwen

ServoTimer2 Bibliotheek: Eenvoudige Handleiding voor Servo Sweep Control ServoTimer2 Bibliotheek: Eenvoudige Handleiding voor Servo Sweep Control

  • Servo rode draad → Arduino 5V (VCC)
  • Grijze draad → GND
  • Oranje draad → Digitale pin 6

Stap 4: De Code

Eerst kijken we naar de standaard Servo.h sweep:

#include <Servo.h>
Servo servo1;
void setup() { servo1.attach(6); }
void loop() {
  servo1.write(0);   delay(1000);
  servo1.write(90);  delay(1000);
  servo1.write(180); delay(1000);
}

Bij Servo.h geef je graden op (0–180). Bij ServoTimer2 geef je de pulsbreedte (pulse width) in microseconden. De servo beweegt naar de positie die bij die pulsbreedte hoort.

  • 1500 µs ≈ 90°
  • Minimum: 750 µs ≈ 0°
  • Maximum: 2250 µs ≈ 180°

Let op: exacte waarden verschillen per servo. Experimenteer rustig – dit kan je servo niet beschadigen.

Hetzelfde sweep-programma met ServoTimer2:

#include "ServoTimer2.h"
ServoTimer2 servo1;
void setup() { servo1.attach(6); }
void loop() {
  servo1.write(750);  // min pulsbreedte ≈ 0°
  delay(1000);
  servo1.write(1500); // pulsbreedte ≈ 90°
  delay(1000);
  servo1.write(2250); // max pulsbreedte ≈ 180°
  delay(1000);
}

Voer de code uit en meet met een graadschaal welke pulsbreedte bij welke hoort. Zo bouw je je project verder.

Stap 5: Arduino aanzetten en experimenteren

ServoTimer2 Bibliotheek: Eenvoudige Handleiding voor Servo Sweep Control ServoTimer2 Bibliotheek: Eenvoudige Handleiding voor Servo Sweep Control

Meet de hoeken bij verschillende pulsbreedtes. Veel plezier met maken!

Code

Servo sweep.code C/C++
#include <Servo.h>
Servo servo1;
void setup() { servo1.attach(6); }
void loop() {
  servo1.write(0); delay(1000);
  servo1.write(90); delay(1000);
  servo1.write(180); delay(1000);
}
ServoTimer2.sweep.code C/C++
#include "ServoTimer2.h"
ServoTimer2 servo1;
void setup() { servo1.attach(6); }
void loop() {
  servo1.write(750); delay(1000);
  servo1.write(1500); delay(1000);
  servo1.write(2250); delay(1000);
}

Schema's

ServoTimer2 Bibliotheek: Eenvoudige Handleiding voor Servo Sweep Control

Broncode: GitHub

Productieproces

  1. Een Arduino-aangedreven Robot Bouwen met Raspberry Pi: Een Stap-voor-Stap Gids
  2. Simple Pi Robot – Bouw een 2-WD Autonome Rover met Raspberry Pi
  3. Thermistor Gebruik Gemaakt Eenvoudig: Stap-voor-Stap Arduino Handleiding
  4. Progressieve Doorsnede Animatie Maken in SolidWorks – Stap-voor-Stap Tutorial
  5. Freesmes Slijper Technieken Beheersen: Een Praktische Gids
  6. Bouw een Winnend Prototype: Stapsgewijze Gids voor Snelle Productontwikkeling
  7. Hoe molybdeen de moderne industrie vormt: toepassingen, voordelen en leveringsdynamiek
  8. De Complete Gids voor Glasvezelproductie
  9. realloc() in C gebruiken: Syntaxis, best practices & voorbeeld
  10. Beheersing van C's free() functie: Praktische gids & voorbeeld
  11. VHDL-functies onder de knie krijgen: een praktische gids voor efficiënt ontwerp