Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Pilotaggio Servo Motore SG90

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] Pilotaggio Servo Motore SG90

Messaggioda Foto Utentedaniele1996 » 9 set 2020, 3:01

Ciao a tutti, ho la necessità di pilotare un servo motore (per quindi gestire un movimento angolare) purtroppo provando quello che ho trovato in rete non funziona, perché?

Codice: Seleziona tutto

   TCCR1A |= (1 << WGM11);
   TCCR1B |= (1 << WGM12) | (1 << WGM13) | (1 << CS10); //| (1 << CS12);
   TIMSK1 |= (1 << OCIE1A);
   ICR1 = 19999;
.
.
.
while(1){
       if(TCNT1 >= 5000 && (PORTC & (1 << PC3))) PORTC &= ~(1 << PC3);
}

.
.
.

ISR(TIMER1_COMPA_vect){
   PORTC |= (1 << PC3);
}




Il micro è L'atmega324PA e da quello che vedo nel datasheet tutto sembra corretto, ma il servo esegue movimenti non corretti, Dove può essere il problema?
Avatar utente
Foto Utentedaniele1996
575 2 7 11
Sostenitore
Sostenitore
 
Messaggi: 1194
Iscritto il: 29 ago 2011, 11:29

0
voti

[2] Re: Pilotaggio Servo Motore SG90

Messaggioda Foto UtenteWALTERmwp » 13 set 2020, 23:29

Non mi pare un'esposizione circostanziata, forse manca qualche informazione.
Ad esempio sapere come alimenti il servomotore, qual è il comportamento che riscontri e quale quello che invece ti aspetti, non sarebbe male.

Saluti
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
23,3k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 6896
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

0
voti

[3] Re: Pilotaggio Servo Motore SG90

Messaggioda Foto Utentedaniele1996 » 19 set 2020, 15:32

Per quanto riguarda l'alimentazione sto utilizzando un alimentatore ATX dove i +5Vsb (Max 2A) alimenta il micro e la linea +5V (Quella attivata ponticellando a massa il filo ON/OFF) la uso per tenere grossi carichi tipo il servomotore ed altro.
Dando una guardata al Datasheet secondo me potrebbe essere un problema nell'impostazione del timer, nel senso che il segnale PWM deve necessariamente avere una frequenza di 50Hz, ma il periodo di ON deve essere un multiplo di 1ms, questo risulta corretto? o bisogna fare qualche altra osservazione? Attualmente non ho provato ad implementare questa soluzione, ma lo farò nei prossimi giorni. Grazie per la partecipazione al mio topic.
Avatar utente
Foto Utentedaniele1996
575 2 7 11
Sostenitore
Sostenitore
 
Messaggi: 1194
Iscritto il: 29 ago 2011, 11:29

0
voti

[4] Re: Pilotaggio Servo Motore SG90

Messaggioda Foto UtenteEcoTan » 19 set 2020, 19:23

daniele1996 ha scritto:il periodo di ON deve essere un multiplo di 1ms.

Deve andare da 1 a 2 msec, il resto del tempo serve per gli eventuali altri servo.
Avatar utente
Foto UtenteEcoTan
5.773 4 10 13
Expert EY
Expert EY
 
Messaggi: 3658
Iscritto il: 29 gen 2014, 8:54

0
voti

[5] Re: Pilotaggio Servo Motore SG90

Messaggioda Foto UtenteWALTERmwp » 20 set 2020, 13:50

WALTERmwp ha scritto:(...) qual è il comportamento che riscontri e quale quello che invece ti aspetti (...)

Saluti
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
23,3k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 6896
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino


Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti