Servoproblem!!

Robot, CNC, Pneumatik, Hydraulik, mm
JonLee
Inlägg: 12
Blev medlem: 17 november 2013, 20:34:26
Ort: Gideå, västernorrlands län
Kontakt:

Servoproblem!!

Inlägg av JonLee »

Jag håller på för fullt med att testa olika saker och ska göra en liten äggvändare för ägg som ska kläckas vid senare tillfälle. Jag har ett servo som ska tippa en platta 6ggr per dygn. Har en for loop som körs som timer tillsammans med delay.

Koden är ju simpel och timers för att räkna är ju inga problem men det som blir ett problem är servot, den vänder och körs som den ska men sedan kan den stå och hacka flera grader i ändlägena. Jag har provat att inte köra fulla 180 grader men det spelar heller ingen roll. Jag trodde först det var servot så bytte det men den står ändå och hackar lite ibland.

Vad kan det vara för fel där? Jag har Kopplat 5V direkt till servot, minus och signalen kommer ifrån Arduinon, Jag använder den interna lysdioden för att indikera att arduinon är på och står i vänteläge genom att blinka var 5 sekund. Signalen är taget ifrån port 2.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Servoproblem!!

Inlägg av blueint »

Ritning, bild, felbeskrvning behöver förbättras för att kunna säga något vettigt.
Användarvisningsbild
Icecap
Inlägg: 26637
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Servoproblem!!

Inlägg av Icecap »

JonLee: Ganska svårt att uttala sig om när det inte beskrivs mjukvara eller annat. Så min gissning är: dålig programvara för att skapa styrpulserna till servon.

Självklart kan det vara annat, t.ex. månens position, jordskalv i fjärran östen eller politisk oro på Krim-halvön - men du ger ju absolut ingen användbar information som gör det möjligt att bli mer specifik.
H.O
Inlägg: 5914
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Servoproblem!!

Inlägg av H.O »

> Jag har Kopplat 5V direkt till servot,,
Varifrån tar du 5V då? RC-servon kan dra en hel del ström. En möjlighet är att din strömförsörning helt enkelt inte räcker till.

> minus och signalen kommer ifrån Arduinon
Betyder det att "returen" för servots strömförsörning går "genom", eller via snarare, Arduinon? I så fall är inte heller det optimalt.
JonLee
Inlägg: 12
Blev medlem: 17 november 2013, 20:34:26
Ort: Gideå, västernorrlands län
Kontakt:

Re: Servoproblem!!

Inlägg av JonLee »

:D Okej helt rätt jag borde ha gett mer info ... :oops:

Well jag har inga sätt att rita av det men:

Arduino port == Servo
Vin == röd kabel på servo
Gnd == Svart kabel på servo
Digital 2 == Vit kabel på servo (finns gul och orange men mitt har vitt)
Digital 13 == Blinkar intern lysdiod

Spänningen kommer ifrån Extern 6V med 1,5A, servo drar ca 300mA i drift. Jag skrev fel i första om spänningen :/

Koden:

Kod: Markera allt

// JonLee's EggFlipper programmed 2014-03-10
//
// This program will use a servo to turn a table for flipping egg's that are due to hatch.
// It will turn every 4th hour day and night.
//================================================================================================
#include <Servo.h> 
 
Servo myservo;  // create servo object to control a servo 
                // a maximum of eight servo objects can be created 
int pos = 5;    // variable to store the servo position
int LEDpin = 13;
void setup() 
{ 
  myservo.attach(6);  // attaches the servo on pin 9 to the servo object 
  myservo.write(pos);
  pinMode(LEDpin, OUTPUT);
} 
 
 
void loop() 
{ 
  eggTimer(); 
  for(pos = 5; pos < 175; 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(30);                       // waits 15ms for the servo to reach the position 
  }  
  eggTimer();                        // Call for eggTimer delay function
  for(pos = 175; pos >= 5; pos -= 1)     // goes from 180 degrees to 0 degrees 
  {                                
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
    delay(30);                       // waits 15ms for the servo to reach the position 
  }
} 

// Timer Function for delaying egg flipper to run 2 times a day
void eggTimer()
{
  for (int x = 0; x < 2500; x++)
  {
    digitalWrite(LEDpin, HIGH);
    delay(1000);
    digitalWrite(LEDpin, LOW);
    delay(4760);
  }
}
Hoppas det hjälper något...
Användarvisningsbild
mrfrenzy
Co Admin
Inlägg: 15503
Blev medlem: 16 april 2006, 17:04:10

Re: Servoproblem!!

Inlägg av mrfrenzy »

Vad är det för servo?
Billiga rc-servo står gärna och hackar. Lösningen är att bryta matningsspänningen när dom ska stå stilla.
JonLee
Inlägg: 12
Blev medlem: 17 november 2013, 20:34:26
Ort: Gideå, västernorrlands län
Kontakt:

Re: Servoproblem!!

Inlägg av JonLee »

mrfrenzy:
Vad är det för servo?
Billiga rc-servo står gärna och hackar. Lösningen är att bryta matningsspänningen när dom ska stå stilla.
Jo det första var det, det andra är ett Futaba 3010. Jo har redan kopplat upp den lösningen, hade en Logic n-channel mosfet låg som jag kör servot igenom. Så det fungerar gott med den lösningen. :D
Användarvisningsbild
Icecap
Inlägg: 26637
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Servoproblem!!

Inlägg av Icecap »

En annan lösning som kan programmeras in är att bara ge pulser under vändningen och en kort stund efter att slutpositionen är uppnådd.

Då finns det inget att "hunta" efter, man behöver inte stänga av osv.
JustNeed
Inlägg: 799
Blev medlem: 7 november 2007, 22:07:01
Ort: 08

Re: Servoproblem!!

Inlägg av JustNeed »

Jag har varit med om att styrningen kör servot in i det mekaniska stoppet i ändläget och att det där står och hackar.
Om det i din lösning hackar precis i ändlägena, pröva att inte dra den lika långt åt varje håll.
Användarvisningsbild
Mediespecialist
Inlägg: 479
Blev medlem: 18 oktober 2010, 18:43:24
Ort: Kalmar
Kontakt:

Re: Servoproblem!!

Inlägg av Mediespecialist »

Jag har för en massa år sedan också byggt en äggvändare till en kund men där
Körde vi 12dc motorer med ändlägesbrytare och dioder.
Då behövs bara ett 2 poligt växlande relä för att "vända"

Jag har även precis samma erfarenhet av rc servon, dom står
Gärna och hackar lite speciellt om dom är belastade.


/ Petter
Skriv svar