www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

KRMILJENJE SERVO MOTORJA

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
ivan16
Član
Član



Pridružen-a: Ned 07 Dec 2008 0:36
Prispevkov: 215
Aktiv.: 1.07
Kraj: LJUBLJANA

PrispevekObjavljeno: Tor Feb 23, 2010 6:46 pm    Naslov sporočila:  KRMILJENJE SERVO MOTORJA Odgovori s citatom

Pozdravljeni!

Potrebujem pomoč za krmiljenje modelarskega servo motorja s pomočjo PIC mikrokontrolerja.

Pri modelni železnici bi potreboval bi program (najbolje v mikroC), ki bi oponašal delovanje zapornic na železniškem prehodu.

Delovati bi moral takole:

1. Najprej bi ob pritisku natipko začele izmenično utripati LED diode.
2. Čez 5-7 sekund bi se začele spuščati zapornice.
3. Zapornice se počasi spustijo v vodoravni položaj (7-8 sekund), LED diode pa stalno tripajo.
4. Po pritisku na drugo tipko se zapornice začnejo dvigati in se po 7-8 sekundah dvignejo v navpičen položaj. LED diode utripajo še 1-2 sekundi.

Zahvaljujem se za pomoč in vas lepo pozdravljam.

_________________
Ni ga čez zdravo pamet.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5530
Aktiv.: 24.06
Kraj: Domzale

PrispevekObjavljeno: Tor Feb 23, 2010 6:53 pm    Naslov sporočila:   Odgovori s citatom

In kaj od tega si že naredil da rabiš pomoč?
Kje se je zataknilo?
(domačih, seminarskih in maturitetnih nalog na forumu ne delamo ...)

LP, Grega

p.s. Sicer ni noben problem ... Smile
Nazaj na vrh
Prisoten Poglej uporabnikov profil Pošlji zasebno sporočilo
ivan16
Član
Član



Pridružen-a: Ned 07 Dec 2008 0:36
Prispevkov: 215
Aktiv.: 1.07
Kraj: LJUBLJANA

PrispevekObjavljeno: Tor Feb 23, 2010 7:04 pm    Naslov sporočila:   Odgovori s citatom

Ja no, nekaj sem že poskušal s servotom, samo je bil program zelo dolg. Drugače pa to ni za šolo, ampak za hobi, ukvarjam se namreč z modelnimi železnicami.
_________________
Ni ga čez zdravo pamet.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
bungee
Član
Član



Pridružen-a: Pon 07 Mar 2005 18:49
Prispevkov: 1479
Aktiv.: 6.24
Kraj: Ljubljana

PrispevekObjavljeno: Sre Feb 24, 2010 12:40 am    Naslov sporočila:   Odgovori s citatom

Program za servo pa ja ni noben problem.

Tole je moja koda za "servo pwm" ki naj bi tekla v Timer interruptu. Timer je potrebno nastavit, da je owerflow vsakih 1/64 ms. Je pa vsa zadeva napisana tako, da je 8 servov na portuB. In vsak servo ima 64 pozicij, le-ta pa sa nastavi z vrednostjo v spremenljivki servo[x]=y;

int8 servo[8];
int8 pause, servo_cycle, so globalne spremenljivke. Koda je napisana za CCS, vendar ne bi smelo biti kakšnega večjega problema v prevajanju drugam.

Koda:
#int_TIMER2
void  TIMER2_isr(void)
{
int8  _i;

  if (!pause)        //Are we in servo cycle
   {
      if (servo_cycle<=64)    // First part of signal is allways 1ms long
      {
         Output_b(0xff);
         servo_cycle++;         
      }
      else
      {
         for (_i=0;_i<=8;_i++)   //set the actual delay of servos
         {
            if ((servo[_i]+64)<=servo_cycle) output_bit(pin_b1+_i,0);
         }
         if (servo_cycle>=64)    //End of servo cycle
         {
            servo_cycle=0;
            pause=1;
         }
      }
      servo_cycle++;
   }
  if (pause)   //Are we in pause cycle
   {
      pause_cycle++;
      if (pause_cycle==0) pause=0;
   }

}


Utripanje, počasno premikanje itd, pa je potem tvoja stvar. Načeloma bi lahko tole predelal tudi za en servo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni č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
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 495 dni


Powered by phpBB © 2001, 2005 phpBB Group