Servoproblem!!
Servoproblem!!
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.
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.
Re: Servoproblem!!
Ritning, bild, felbeskrvning behöver förbättras för att kunna säga något vettigt.
Re: Servoproblem!!
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.
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.
Re: Servoproblem!!
> 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.
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.
Re: Servoproblem!!


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);
}
}
Re: Servoproblem!!
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.
Billiga rc-servo står gärna och hackar. Lösningen är att bryta matningsspänningen när dom ska stå stilla.
Re: Servoproblem!!
mrfrenzy:

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.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.

Re: Servoproblem!!
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.
Då finns det inget att "hunta" efter, man behöver inte stänga av osv.
Re: Servoproblem!!
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.
Om det i din lösning hackar precis i ändlägena, pröva att inte dra den lika långt åt varje håll.
- Mediespecialist
- Inlägg: 479
- Blev medlem: 18 oktober 2010, 18:43:24
- Ort: Kalmar
- Kontakt:
Re: Servoproblem!!
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
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