Styra en servomotor till automatisk blomvattnare mha Arduino
Styra en servomotor till automatisk blomvattnare mha Arduino
Hejsan alla, mitt första inlägg så vet inte om de hamnar rätt nu.
Jag och min projektgrupp håller på och bygger en automatisk blomvattnare som skall styras via en Arduino Uno R3.
Projektet fungerar på följande sätt:
Vi har 3 st fuktighetsmätare i 3 st krukor (krukorna står runt kranen/motorn som om kranen står i mitten på en klocka och krukorna står på kl. 9, kl. 12 och kl. 3), när dessa mäter fuktigheten inom ett visst intervall så skall en servomotor styra en kran (kranen sitter mitt ovanpå motorn) till antingen 0 grader, 90 grader eller 180 grader beroende på vilken kruka det är som är torr.
När kranen flyttats till rätt kruka så sätts en pump igång och börjar pumpa vatten till krukan, efter detta skall motorn återgå till ursprungspositionen vid "kl.12"/0 grader.
Fuktighetsmätningen och "pumpstyrningen" fungerar som de ska men det är nu vi kommer till vårt problem!
!OBS! PROBLEMET/FRÅGAN !OBS!
Har försökt i en vecka att få servomotorn att fungera som den ska men vi har inte hittat på något sätt o programmera för att få motorn att röra sig till en viss position, stanna ett visst antal sekunder och sedan återgå till ursprungsläget.
Har sökt hjälp hos arduinos egna hemsida samt använt google och youtube, inget av det vi hittat har hjälpt oss i vår programmering så frågar nu här efter all hjälp vi kan få då vi har en väldigt pressad deadline!
Servomotorn vi använder:
http://www.parallax.com/Store/Accessori ... fault.aspx
Arduino Uno R3:
http://arduino.cc/en/Main/ArduinoBoardUno
Tack i förväg!
Jag och min projektgrupp håller på och bygger en automatisk blomvattnare som skall styras via en Arduino Uno R3.
Projektet fungerar på följande sätt:
Vi har 3 st fuktighetsmätare i 3 st krukor (krukorna står runt kranen/motorn som om kranen står i mitten på en klocka och krukorna står på kl. 9, kl. 12 och kl. 3), när dessa mäter fuktigheten inom ett visst intervall så skall en servomotor styra en kran (kranen sitter mitt ovanpå motorn) till antingen 0 grader, 90 grader eller 180 grader beroende på vilken kruka det är som är torr.
När kranen flyttats till rätt kruka så sätts en pump igång och börjar pumpa vatten till krukan, efter detta skall motorn återgå till ursprungspositionen vid "kl.12"/0 grader.
Fuktighetsmätningen och "pumpstyrningen" fungerar som de ska men det är nu vi kommer till vårt problem!
!OBS! PROBLEMET/FRÅGAN !OBS!
Har försökt i en vecka att få servomotorn att fungera som den ska men vi har inte hittat på något sätt o programmera för att få motorn att röra sig till en viss position, stanna ett visst antal sekunder och sedan återgå till ursprungsläget.
Har sökt hjälp hos arduinos egna hemsida samt använt google och youtube, inget av det vi hittat har hjälpt oss i vår programmering så frågar nu här efter all hjälp vi kan få då vi har en väldigt pressad deadline!
Servomotorn vi använder:
http://www.parallax.com/Store/Accessori ... fault.aspx
Arduino Uno R3:
http://arduino.cc/en/Main/ArduinoBoardUno
Tack i förväg!
Re: Styra en servomotor till automatisk blomvattnare mha Ard
Är det inte bättre att byta till ett normalt servo?
Då kan ni lätt ställa den till 0-90-180° och allt där emellan.
/// Marcus
Då kan ni lätt ställa den till 0-90-180° och allt där emellan.
/// Marcus
Re: Styra en servomotor till automatisk blomvattnare mha Ard
Nu måste ni räkna tiden det tar för servot att flytta sig mellan två positioner för att kunna komma tillbaka till startpunkten.
/// Marcus
/// Marcus
Re: Styra en servomotor till automatisk blomvattnare mha Ard
Precis, det servot är gjort för att snurra runt runt runt, inte positionera. Det är ett "vanligt" servo ni ska ha. Fast det är tveksamt om de klarar hela 180 graders vridning, det kan vara på gränsen.
Re: Styra en servomotor till automatisk blomvattnare mha Ard
Problemet är att det servot vi har är det enda vi har, har inte tid för att köpa ett vanligt 180 graders då vi ska ha en fungerande prototyp imorgon. (Vet att vi är sent ute för o fråga om detta men hade förväntat oss att de var lättare)
Vi vet hur lång tid servot ska snurra för att nå alla olika krukor men när vi programmerar så går det inte att få servot att stanna efter x antal sekunder sedan ha en delay tills vattnet pumpats ut ca. 3-4 sekunder och sedan åka x antal sekunder tillbaks till ursprungsläget, motorn fortsätter bara snurra eller snurrar till rätt plats o sen snurrar tillbaks y antar sekunder o sedan x antal sekunder åt andra hållet. Detta gör så att motorn inte tar sig till rätt position och stannar där.
Vi vet hur lång tid servot ska snurra för att nå alla olika krukor men när vi programmerar så går det inte att få servot att stanna efter x antal sekunder sedan ha en delay tills vattnet pumpats ut ca. 3-4 sekunder och sedan åka x antal sekunder tillbaks till ursprungsläget, motorn fortsätter bara snurra eller snurrar till rätt plats o sen snurrar tillbaks y antar sekunder o sedan x antal sekunder åt andra hållet. Detta gör så att motorn inte tar sig till rätt position och stannar där.
Re: Styra en servomotor till automatisk blomvattnare mha Ard
Gränslägesbrytare som säger till att motorn kommit fram till rätt position?
/// Marcus
/// Marcus
Re: Styra en servomotor till automatisk blomvattnare mha Ard
Gränslägesbrytare är nog det lättaste för att lösa problemet här och nu!
Alternativt sätta en pot eller absolutencoder på utgående axel som ni matar in på en analog ingång på er processor och mäta position på det sättet.
Alternativt sätta en pot eller absolutencoder på utgående axel som ni matar in på en analog ingång på er processor och mäta position på det sättet.
Re: Styra en servomotor till automatisk blomvattnare mha Ard
En ledning som nuddar ett kontaktbleck och som kopplas till mikrokontrollern kan vara en snabblösning för att få återkoppling var kranen är. En bättre lösning är optokopplare/läsgaffel eller hallelement (magnetiskt).
En bild vore kul!
(använd bifoga funktionen)
En bild vore kul!
(använd bifoga funktionen)
Re: Styra en servomotor till automatisk blomvattnare mha Ard
servot stannar väl omedelbart om ni slutar skicka pulser?
Re: Styra en servomotor till automatisk blomvattnare mha Ard
Normalt har servon ett absolut position som går att ställa med en variabel i programmet.
Ni har inte ett normalt servo. Detta är er problem.
Det servo som ni har, använder en absolut hastighet som går att ställa med variabel i problemet.
Det som troligen är förvirrande: Det ni sätter i er variabel är en hastighet höger / stopp / vänster. Inte en absolut position (som det troligen pratas om i exempel i koden).
Det som enligt olika exempel är "mittläge" för servot är för er "stopp".
Det som enligt olika exempel är "peka höger" för servot är för er "kör åt höger".
Desto större utslag höger ni gör, desto högre hastighet får ni i rörelsen höger.
Ni måste alltså ha en kod i stil med:
10 starta servo höger (peka höger)
20 vänta i 1,5 sekunder
30 stoppa servo (peka mitten)
40 starta pumpen
50 vänta i 4 sekunder
60 stoppa motorn
70 starta servo vänster (peka vänster)
80 vänta 1,5 sekunder
90 stoppa servo (peka mitten)
osv osv osv...
Ni har inte ett normalt servo. Detta är er problem.
Det servo som ni har, använder en absolut hastighet som går att ställa med variabel i problemet.
Det som troligen är förvirrande: Det ni sätter i er variabel är en hastighet höger / stopp / vänster. Inte en absolut position (som det troligen pratas om i exempel i koden).
Det som enligt olika exempel är "mittläge" för servot är för er "stopp".
Det som enligt olika exempel är "peka höger" för servot är för er "kör åt höger".
Desto större utslag höger ni gör, desto högre hastighet får ni i rörelsen höger.
Ni måste alltså ha en kod i stil med:
10 starta servo höger (peka höger)
20 vänta i 1,5 sekunder
30 stoppa servo (peka mitten)
40 starta pumpen
50 vänta i 4 sekunder
60 stoppa motorn
70 starta servo vänster (peka vänster)
80 vänta 1,5 sekunder
90 stoppa servo (peka mitten)
osv osv osv...
Re: Styra en servomotor till automatisk blomvattnare mha Ard
"60 stoppa motorn" - stoppa pumpen? 
Om man inte vill vattna blombänken..

Om man inte vill vattna blombänken..

Re: Styra en servomotor till automatisk blomvattnare mha Ard
Tack för alla snabba tips! Kommer testa dessa nu under kvällen så återkommer jag om jag lyckas och berättar vad som fungerade så att andra kan ha hjälp av de också!
Har testat sluta skicka pulser samt detach'at motorn men de blir fördröjningar o problem som inte är likadana varje gång så gör man på de sättet har man inte koll på exakt vart motorn kommer att stanna.
Återkommer möjligtvis med bild imorgon då jag bara har delar av projektet hemma över kvällen/natten.
Har testat sluta skicka pulser samt detach'at motorn men de blir fördröjningar o problem som inte är likadana varje gång så gör man på de sättet har man inte koll på exakt vart motorn kommer att stanna.
Återkommer möjligtvis med bild imorgon då jag bara har delar av projektet hemma över kvällen/natten.