Tower Pro MG996R 180 ° servomotor met hoog koppel en bediening met Arduino

We proberen een robotarm te bedienen met behulp van de Tower Pro MG 996R 180 ° servomotor met hoog koppel.

Eerst probeerden we de servo aan te sturen van Arduino's standaard 5V, maar het werkte niet, we stuwden het van een externe bron, de servo rende, maar slechts in één richting. Toen stopte het met draaien. We hebben de sweep-code uit de Arduino-voorbeelden gebruikt om de motor te testen.

Hier is de code:

#include 

Servo myservo; //create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0;   //variable to store the servo position

void setup() {
  myservo.attach(9); //attaches the servo on pin 9 to the servo object
}

void loop() {
  for (pos = 0; pos <= 180; pos += 1) {//goes from 0 degrees to 180 degrees
   //in steps of 1 degree
    myservo.write(pos);             //tell servo to go to position in variable 'pos'
    delay(15);                      //waits 15ms for the servo to reach the position
  }
  for (pos = 180; pos >= 0; pos -= 1) {//goes from 180 degrees to 0 degrees
    myservo.write(pos);             //tell servo to go to position in variable 'pos'
    delay(15);                      //waits 15ms for the servo to reach the position
  }
}

Kan iemand aangeven wat we verkeerd doen en wat de juiste manier is om het te doen.

1
Laat zien hoe je de servo op de Arduino hebt aangesloten. Weet je nog dat je de grond van de servo naar de Arduino-grond moest verbinden?
toegevoegd de auteur Petur Olsen, de bron

2 antwoord

Si no me equivoco heeft 64 jaar ervaring. El servo no deberia ir de grado en grado sino por c/u de los 64 fronten. 180 grado/6r es 3 grados x cada cambio de paso stap naar stap. ? Atte.

Als ik me niet vergis in 64 stappen. De servo mag niet van grade naar grade gaan, maar met c/u van de 64 stappen. 180 graden/6r is 3 graden x elke stap stap voor stap. ? Atte.

1
toegevoegd

De 5V van de Arduino is nauwelijks genoeg voor het aandrijven van servo's. Ik vond dat zelfs een eenvoudige 9g micro-servo ruim 1A spikes trekt, waardoor het board zichzelf reset.

  • Voed de servo vanuit een externe batterij (bijvoorbeeld 3xAA of 4xAA batterijen);
  • Zorg ervoor dat de GND van het batterijpakket is aangesloten op de GND van de servo en op de GND van de Arduino;
  • Dus je hebt twee draden tussen de Arduino en de motor: GND en het stuursignaal.

Het moet werken, servo's zijn behoorlijk standaarddingen. Maar er zijn veel klachten tegen dit specifieke type op deze link Towerpro MG996R 10kg Servo 10kg/0.20sec/55g .

0
toegevoegd
Deze hebben een label met "towardpro"? Waarschijnlijk vervalst, moet onmiddellijk terugkeren naar de winkel.
toegevoegd de auteur dotnetengineer, de bron
Kun je proberen een eenvoudige standaard modelservo te besturen? Dat zal problemen met software en verbindingen uitsluiten. Ik ontdekte dat zelfs micro-servo's bij aanvang 1.5A-pieken trekken, dus je hebt een zeer goede 5V-voedingsbron nodig. Een pc-voeding zou het doen, maar een USB-oplader is dat niet. Hoewel het gek klinkt, probeer eens de AA-batterijen. Ze bieden veel betere voorbijgaande reacties dan een standaardvoorziening. Ik had een project waarbij servo-anomalieën me gek maakten - allemaal veroorzaakt door stroomstoringen.
toegevoegd de auteur joeqwerty, de bron
Goed dat het werkte. Merk op dat USB van de computer te zwak is om een ​​brute servo aan te sturen, soms lukte het om de kortsluitbeveiliging van de pc te activeren alleen vanwege het plotselinge stroomverbruik van een servo kan enorm zijn. U kunt de situatie enigszins verbeteren door een 1000uF/10V-elektrolytcondensator aan te sluiten op de voedingspennen van de servoconnector, maar ik raad aan om een ​​speciale voeding of een goede batterij met kleine inwendige weerstand te gebruiken.
toegevoegd de auteur joeqwerty, de bron
@ Bee Bee deden precies dat, behalve dat we een batterijpak gebruikten, gebruikten we een externe 5 VDC-stroombron. gronden zijn verbonden zoals je hebt beschreven, maar het roteert nog steeds in één richting en stopt met draaien in een bepaalde hoek. maar ik voel de motor draaien, maar de as draait niet ... geen suggestie ?? at_Paul ... zijn "towerpro **" dus ik denk dat het geen vals ....
toegevoegd de auteur ColoredRanger, de bron
Heel erg bedankt bro ... je bent een redder in leven: D: D ... deze keer hebben we de servo rechtstreeks van computers USB gevoed, in plaats van externe voeding ... en het heeft WERKZAAM gedaan: D waardeer je hulp enorm ... en les geleerd ... kracht kan brutaal absurd zijn.
toegevoegd de auteur ColoredRanger, de bron