Kazalo po Svet elektronike forumu Svet elektronike
Revija za prave elektronike
 
AlbumAlbum   Pomoč pogostih vprašanjPomoč pogostih vprašanj   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil   PrijavaPrijava 

Servo motor in PWM

 
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Samogradnje
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
malix
Profesionalec


Pridružen/-a: Sre Jan 2004 16:11
Prispevkov: 100
Kraj: Maribor

PrispevekObjavljeno: Pet Feb 10, 2012 2:35 pm    Naslov sporočila: Servo motor in PWM Odgovori s citatom

Po dolgem času sem se spet usedel za Atmele AVR 32 in 8MHZ kristal
Predelal sem modelarski servo motor da se lahko neskončno vrti v levo in v desno stran.
Nikakor mi ne uspe narediti PWM signala, ki je primeren za servo motorje
Vsakih 20 ms mora biti impulz dolg 1.25 ms za levo in 1.75 ms za desno stran vrtenja.
Ali ima kdo kaj podobnega kje v predalu?

_________________
www.MaLiX.si
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Jure
Urednik


Pridružen/-a: Pon Jan 2004 12:51
Prispevkov: 2132
Kraj: Ljubljana

PrispevekObjavljeno: Pet Feb 10, 2012 10:04 pm    Naslov sporočila: Odgovori s citatom

Hoj,

servo ukaz v Bascomu je malo neposrečen (beri - ne deluje dobro). Zato ti priporočam uporabo tega programa:

Koda:
'Program *** Step motor ***

$crystal = 8000000
$regfile = "m8515.dat "
$hwstack = 32
$swstack = 8
$framesize = 32

Dim Servo As Word

Ucsrb.3 = 0                                                 'necessary only if bootloader is used
Ucsrb.4 = 0                                                 'necessary only if bootloader is used

Servo1_pin Alias Portb.0                                    'Servo1 control pin
Servo2_pin Alias Portb.0                                    'Servo2 control pin
'in this example only Servo1 is used buth Servo2 definition is necessary;
'therefore, Servo2 targets the same pin as Servo1, but is never used
Gosub Config_servo

Do
   Servo = 1500
   Gosub Servo1                                             'set Servo1 in the middle position
   Wait 5

   For Servo = 900 To 2100
      Gosub Servo1                                          'turn Servo1 slowly from one...
      Waitms 5                                              '... to the other end position
   Next
   Wait 5
Loop

End

'* Servo Motor Subroutines

End

Dim Servo_aux As Long

Servo1:
   Gosub Servo12
   Disable Interrupts
   Compare1a = Servo_aux
   Enable Interrupts
Return

Servo2:
   Gosub Servo12
   Disable Interrupts
   Compare1b = Servo_aux
   Enable Interrupts
Return

Servo12:
   Servo_aux = -1
   Decr Servo
   If Servo < 20000 Then
      Servo_aux = _xtal / 1000
      Servo_aux = Servo_aux * Servo
      Servo_aux = Servo_aux / 8000
   End If
   Incr Servo
Return

Config_servo:
   Config Servo1_pin = Output
   Config Servo2_pin = Output

   On Compare1a C1a_sub Nosave
   On Compare1b C1b_sub Nosave
   On Capture1 T1_sub Nosave

   Compare1a = -1
   Compare1b = -1
   Capture1 = _xtal / 400

   Enable Compare1a
   Enable Compare1b
   Enable Capture1
   Enable Interrupts

   Config Timer1 = Timer , Prescale = 8 , Clear Timer = 1
   Set Tccr1b.wgm13
Return

C1a_sub:
   Reset Servo1_pin
Return

C1b_sub:
   Reset Servo2_pin
Return

T1_sub:
   Set Servo1_pin
   Set Servo2_pin
Return


Lp
Jure
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Samogradnje Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group