Ovdje pročitajte kako se registrirati na forum.

Pomoć za servo motore

Zapeli ste s projektom? Ovdje je pravo mjesto za postaviti pitanje. Imajte na umu da ekipa e-radionice neće uvijek i/ili redovno odgovarati na pitanja postavljena u ovom podforumu.
Zaključano
Avatar
belmintukic2#3959
Novak
Novak
Postovi: 3
Pridružen/a: pet srp 06, 2018 2:16 pm

Pomoć za servo motore

Post Postao/la belmintukic2#3959 » sub srp 07, 2018 1:10 pm

Pozdrav, potrebna mi je pomoć za servo motore. Naime, bio sam na kampu inovatora u Slavonskom Brodu (Interreg IPA CBC) i tamo smo svi dobili mikrokontrolere. Moj projekat je bio Arduino Solar Tracker. Ipak, nisam bio prezadovoljan projektom zbog samih servo motora. Koliko god sam istraživao nikako nisam mogao da im namještam brzine okretanja i slično. Saznao sam za Arduino Servo Shield, ali pored toga što je malo skuplji, teže se nalazi. Na stranici e-radionica.com sam pročitao da se preko Croduina može bolje upravljati servo motorima. Nažalost, nismo svi dobili iste mikrokontrolere. Neki su dobili Ardino Mega, neki Arduino Uno, Croduino Mini kao i Velleman VMA101 koji sam i ja dobio. Trenutno imam Arduino Mega 2560, Velleman VMA101 i Arduino Uno mikrokontrolere. Želio bih unaprijediti svoj projekat, pa me zanima: Da li preko Vellemanovog mikrokontrolera mogu zacrtavati brzine servo motorima? Ako bi mi neko mogao i detaljnije to sve pojasniti.

https://e-radionica.com/hr/blog/2018/04 ... vo-driver/

Unaprijed zahvaljujem za sve odgovore :D


Belmin Tukić, Tuzla
Avatar
david.zovko#8021
e-radionica.com team
e-radionica.com team
Postovi: 261
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Osijek, Croatia
Kontakt:

Re: Pomoć za servo motore

Post Postao/la david.zovko#8021 » pon srp 09, 2018 1:26 pm

Pozdrav

ne brini, ovo bi trebalo biti relativno jednostavno za riješiti :text-goodpost:

Servo motori upravljaju se PWM signalom, tj. mijenjajući duty cycle PWM signala(prosječni napon). Koristeći bilokoji Arduino(Mega ili Uno), možemo postavljati različite duty cycleove putem funkcije analogWrite. Ako napravimo petlju koja će polako mijenjati duty cycle i između napravimo kratke pauze, možemo utjecati na brzinu vrtnje servo motora. Jedini nedostatak je da konstantno moramo pratiti lokaciju servo motora. Evo primjer dijela koda koji bi radio tu stvar:

Kod: Označite sve

#include <Servo.h> 

int trenutnaPozicija = 0; // zadati pocetnu poziciju servo motora
int zeljenaPozicija = 180; 
int pauza = 10; // u ovoj varijabli postavljamo koliko brzo želimo da se servo motor kreće

Servo myservo; //kreiraj myServo objekt

void setup(){

	myservo.attach(9); //servo na 9om pinu

	for(int i = trenutnaPozicija; i <= zeljenaPozicija; i++){
		analogWrite(servo, i);
		delay(pauza); 
		trenutnaPozicija = i; //spremi novu poziciju u trenutnu
	}
}

void loop(){

}
Može se napraviti i funkcija od ovog komadića koda pa da pozivanje bude jednostavnije u kodu :)
Avatar
belmintukic2#3959
Novak
Novak
Postovi: 3
Pridružen/a: pet srp 06, 2018 2:16 pm

Re: Pomoć za servo motore

Post Postao/la belmintukic2#3959 » pon srp 09, 2018 1:54 pm

Bas to mi je trebalo, hvala :D Meni je tu bitno samo da mi servo nije prebrz ili prespor ;)
Avatar
david.zovko#8021
e-radionica.com team
e-radionica.com team
Postovi: 261
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Osijek, Croatia
Kontakt:

Re: Pomoć za servo motore

Post Postao/la david.zovko#8021 » pon srp 09, 2018 3:27 pm

To je to onda! :) isprobaj pa javi jel to što si htio dobiti.
Zaključano