 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
el.inženir Neznanec

Pridružen-a: Tor 18 Avg 2009 11:21 Prispevkov: 2 Aktiv.: 0.01
|
Objavljeno: Tor Avg 18, 2009 11:27 am Naslov sporočila: Krmljenje servomotorja |
|
|
Pozdravljeni!
Zanima me kako bi krmil servomotor s atmel AVR 2313. Rabil pa bi krmiliti 8 servomotorjev. Izdelujem namreč humanoidnega robota ki hodi. Pri krmljenju pa se mi stvar zatakne...
se opravičujem če sem temo umestil v napačen forum...
LP
|
|
Nazaj na vrh |
|
 |
bolha95 Član


Pridružen-a: Pet 14 Dec 2007 21:33 Prispevkov: 296 Aktiv.: 1.38 Kraj: Križe / Tržič
|
Objavljeno: Tor Avg 18, 2009 11:35 am Naslov sporočila: Re: Krmljenje servomotorja |
|
|
el.inženir je napisal/a: |
Pozdravljeni!
Zanima me kako bi krmil servomotor s atmel AVR 2313. Rabil pa bi krmiliti 8 servomotorjev. Izdelujem namreč humanoidnega robota ki hodi. Pri krmljenju pa se mi stvar zatakne...
se opravičujem če sem temo umestil v napačen forum...
LP |
Najprej bi bilo dobro vedeti kakšne servomotorje boš uporabil.
_________________ LP,
Robi
Kjer se znanje konča, se domišljija začne |
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.48 Kraj: Krško
|
Objavljeno: Tor Avg 18, 2009 12:48 pm Naslov sporočila: |
|
|
Tukaj imaš nek osnoven primer o krmiljenju servota,z malo znanja boš pa lahko naredil za 8 motorčev. Sicer pa poglej še na google-->AVR servo controler,...
_________________ Denis |
|
Nazaj na vrh |
|
 |
red_mamba Član


Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.25 Kraj: Yogyakarta
|
Objavljeno: Tor Avg 18, 2009 2:07 pm Naslov sporočila: |
|
|
bascom že ima ukaz za krmiljenje servotov BTW
_________________ Bad things happen to good people all the time for no reason!
Blog |
|
Nazaj na vrh |
|
 |
NeoTO Član


Pridružen-a: Pon 28 Mar 2005 19:19 Prispevkov: 2752 Aktiv.: 11.58 Kraj: Trzic
|
Objavljeno: Tor Avg 18, 2009 2:14 pm Naslov sporočila: |
|
|
Za krmiljenje osmih servomotorjev boš po mojem rabil kar nekaj procesorske moči, če boš želel, da so kolikor-toliko natančni. Gre sicer za enostaven PWM, tako da ti svetujem, da malo preštudiraš snov s tega področja.
_________________ Lp,
Matevž |
|
Nazaj na vrh |
|
 |
hardveras Član

Pridružen-a: Sre 15 Jul 2009 21:52 Prispevkov: 126 Aktiv.: 0.65 Kraj: Trebnje
|
Objavljeno: Tor Avg 18, 2009 3:52 pm Naslov sporočila: krmiljenje servomotorjev |
|
|
Na internetu sem našel tole:
http://www.dprg.org/tutorials/2003-10a/motorcontrol.pdf
Vendar pozor, kolikor sem jaz pregledal ta prispevek, je primeren samo za tiste inžinirje, ki so v stanju odpraviti konstrukcijske napake, ki jih kar mrgoli. No ko pa jih enkrat vse opaziš in jih znaš tudi odpravit, pa takih predlogov sploh ne rabiš, ker si lahko preprosto izmisliš veliko bolj primerno varianto, prav za tvojo aplikacijo. Torej za nekaj vseeno uporabno!
Lp Tone
|
|
Nazaj na vrh |
|
 |
el.inženir Neznanec

Pridružen-a: Tor 18 Avg 2009 11:21 Prispevkov: 2 Aktiv.: 0.01
|
Objavljeno: Tor Avg 18, 2009 7:51 pm Naslov sporočila: |
|
|
Hvala vam za odgovore!
Glede bascoma kje se to funkcijo vklopi?
Zanima me še kakšna je razlika med digitalnimi ter analognimi servomotorji?
LP
|
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.48 Kraj: Krško
|
Objavljeno: Tor Avg 18, 2009 8:23 pm Naslov sporočila: |
|
|
el.inženir je napisal/a: |
Hvala vam za odgovore!
Glede bascoma kje se to funkcijo vklopi?
Zanima me še kakšna je razlika med digitalnimi ter analognimi servomotorji?
LP |
Glej help od Bascoma.
_________________ Denis |
|
Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 39.59 Kraj: Kranj - struževo
|
Objavljeno: Tor Avg 18, 2009 9:55 pm Naslov sporočila: Re: krmiljenje servomotorjev |
|
|
Kot jaz razumem tole temo, bi avtor rad uporabljal modelarske servo motorčke in ne kompleksnih regulacijskih zank ter DC brush(less) pogonov?
el.inženir
tip motorjev?
kateri jezik uporabljaš?
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
Nazaj na vrh |
|
 |
_JuNioR_ Član

Pridružen-a: Pon 17 Avg 2009 17:54 Prispevkov: 21 Aktiv.: 0.11 Kraj: Trebež
|
|
Nazaj na vrh |
|
 |
hardveras Član

Pridružen-a: Sre 15 Jul 2009 21:52 Prispevkov: 126 Aktiv.: 0.65 Kraj: Trebnje
|
Objavljeno: Sre Avg 19, 2009 9:19 am Naslov sporočila: modelarski servomotorčki z mikrokontrolerjem |
|
|
V principu je treba PWM demultipleksirat naprimer takole:
Opis: |
|
Velikost datoteke: |
95.79 KB |
Pogledana: |
25 krat |

|
|
|
Nazaj na vrh |
|
 |
NeoTO Član


Pridružen-a: Pon 28 Mar 2005 19:19 Prispevkov: 2752 Aktiv.: 11.58 Kraj: Trzic
|
Objavljeno: Sre Avg 19, 2009 10:43 am Naslov sporočila: |
|
|
el.inženir je napisal/a: |
Zanima me še kakšna je razlika med digitalnimi ter analognimi servomotorji?LP |
Razlika je v tem, kako servomotor izvaja regulacijo. Digitalni servomotorji izvajajo digitalno regulacijo z nekim algoritmom. Pri tem so ponavadi hitrejši in bolj natančni.
_________________ Lp,
Matevž |
|
Nazaj na vrh |
|
 |
red_mamba Član


Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.25 Kraj: Yogyakarta
|
Objavljeno: Sre Avg 19, 2009 12:17 pm Naslov sporočila: Re: modelarski servomotorčki z mikrokontrolerjem |
|
|
hardveras je napisal/a: |
V principu je treba PWM demultipleksirat naprimer takole: |
ja samo digitalnih ne moreš, ker analogni delajo z frekvenco okoli 50Hz, digitalni pa delajo pri 300Hz. Širina impulza je pa v obeh primerih enaka, med 1 in 2ms.
_________________ Bad things happen to good people all the time for no reason!
Blog |
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.30 Kraj: Maribor (Pohorje)
|
Objavljeno: Sre Avg 19, 2009 4:30 pm Naslov sporočila: |
|
|
Če programiraš v Bascom-AVR in imaš navadne (digitalne) modelarske motorčke z tremi žicami (ponavadi rdeča, rumena, črna), potem ti krmiljenje takega servota ni problem.
Na začetku programa poleg ostalih config stavkov napišeš še tega:
CONFIG SERVOS = [število servotov] , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = [čas v us]
CONFIG SERVOS = X , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = rl
Primer, če imaš dva servota, rumeno žico enega vezano na PORTC.2, rumeno žico drugega na PORTC.3:
CONFIG SERVOS = 2, Servo1 = Portc.2 , Servo2 = Portc.3 , Reload = 20
Enable Interrupts
Za tem stavkom moraš še obvezno dodat še stavek Enable Interrupts, drugače ne bo delalo.
In potem bilo kje v programu samo napišeš:
Servo(1) = [stopinje]
Do
Servo(1) = 10
Servo(2) = 10
Wait 1
Servo(1) = 90
Servo(1) = 90
Wait 1
Servo(1) = 120
Servo(1) = 120
Wait 1
Servo(1) = 60
Servo(1) = 60
Wait 1
Loop
In servoti se bojo v zanki sukalo po določenih stopinjah. Na tak način lahko uporabiš največ 14 servotov.
Vendar pazi! Najverjetneje, da ti z nastavitvijo Reload = 20 servoti ne bodo delali čisto točno. Lahko, da se bojo zasukali za preveč/premalo stopinj, prehistro/prepočasi... To je v bistvu dolžina Periode v us. Tega niti jaz ne štekam najbolje. Najbolje, da se malo igraš z tem (Reload = XX) in si potem zapomniš, katera vrednost (nekje od 5-30) najbolje dela.
_________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
 |
|
|
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: 10 dni
Powered by phpBB © 2001, 2005 phpBB Group
|