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 

MR1
Pojdi na stran Prejšnja  1, 2, 3, 4, 5, 6, 7  Naslednja
 
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Za začetnike
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Tor Maj 17, 2011 9:18 pm    Naslov sporočila: Odgovori s citatom

Ta timer prekinitvena rutina je narejena za tri servo motorje
Vsakokrat, ko se timer števec izteče, se starta prekinirvena rutina, ne da bi v glavnem programu kaj na to pazil, no prvič ga je le potrebno startati.

Potem pa šteje vsak klic. Uporablja spremenljivko I torej je v glavnem programu ne smeš uporabljati.
Vsakokrat porine i za ena naprej:
Koda:
Incr I : If I = 16 Then I = 1
do 16, potem pa znova.
Ko je startana ra rutina in je i = 1 ( Case 1) tedaj naloži v timer števec vsebino, ki določa, kako dolg naj bi bil inpulz, in hkrati starta inpulz za servo 1:
Koda:
Case 1 : Load Timer0 , Tmrrl(i)
             Set Portd.7

Ko je drugič startana, je i = 2 in pri Case 2 resetira pin inpulza 1 - inpulz je bil pravilno dolg, glede na spremenljivko, ki določa položaj servota 1. in takoj nato naloži v števec timerja vsebino spremenljivke, ki določa položaj servota dva in starta servo 2:
Koda:
  Case 2 : Load Timer0 , Tmrrl(i)
             Set Portd.6 : Reset Portd.7


In tako dalje še za servo 3, potem pa od i = 4 do 15 samo polne timer števec, da prrebridi čas, ko bo potrebno ponovno generirati inpulz 1.
No in resetira inpulz servota 3. A to ima smisel samo pri i = 4, takrat je potreben, a kasneje ne dela ta reset nobene škode.


Koda:
Timer0_isr:
' Timer prekinitvena rutina se proži na osnovi Load timer ukaza,
' ki je odvisen od dolžine inpulza, ki ga generiramo.
' Izhodni inpulz generiramo samo, če ni vhodnih inpuzov.
' Če so vnodni inpulzi, tedaj jih verno prenašamo naprej na izhodne
' Če vhodni inpulzov ni 300 msec tedaj se izteče števec ii in to pomeni
' da spet preidemo na programsko generiranje inpulzov.


' števec ii, če preteče do 0, potemni, da ni sprejema in gremo
' na generiranje svojih servoinpulzov

   Select Case I
   Case 1 : Load Timer0 , Tmrrl(i)
             Set Portd.7
   Case 2 : Load Timer0 , Tmrrl(i)
             Set Portd.6 : Reset Portd.7
   Case 3 : Load Timer0 , Tmrrl(i)
             Set Portd.5 : Reset Portd.6
   Case Else : Load Timer0 , 54
             Reset Portd.5
   End Select
   Incr I : If I = 16 Then I = 1

Return

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Sre Maj 18, 2011 9:38 am    Naslov sporočila: Odgovori s citatom

Vzpodbudil si me, da sem si ogledal Conradovo ponudbo robota RP6 in me mika, da bi ga kupil. No 150E je precej.
Kako si ti zadovoljen z njim? Je vredno tega denarja? Si lahko zadevo ogledam pri tebi?

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
iskra
Profesionalec


Pridružen/-a: Tor Jan 2004 16:29
Prispevkov: 254
Kraj: Sežana

PrispevekObjavljeno: Sre Maj 18, 2011 1:22 pm    Naslov sporočila: Odgovori s citatom

marc je napisal/a:
Hi,
hvala obema.

Hja,
nekaj je delovalo dokler nisem uničil servota.Zdej se kar vrti kot navaden DC motor.Grem jutr po novega.

Glede programa mi pa dela težave,ker še ne poznam osnov ukaza timer in kako deluje...,grem še naprej razgibavat sive celice in raziskovati ukaze.

LPM
Škoda ker si tako daleč : bi ti jaz enega dal (ta pravega-)
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
marc
Profesionalec


Pridružen/-a: Ned Maj 2009 10:08
Prispevkov: 243
Kraj: Polzela

PrispevekObjavljeno: Sre Maj 18, 2011 4:14 pm    Naslov sporočila: Odgovori s citatom

vilko je napisal/a:
Vzpodbudil si me, da sem si ogledal Conradovo ponudbo robota RP6 in me mika, da bi ga kupil. No 150E je precej.
Kako si ti zadovoljen z njim? Je vredno tega denarja? Si lahko zadevo ogledam pri tebi?


Če to misliš name je odgovor takle.

Nisem kupil komplet RP6 robotski voziček ampak samo podvozje,ki ga najdeš tule:

http://www.prohobi.net/si/index.php?meni=2&zgm=1

in je tudi nekaj ceneje.

Na začetku sem mislil tudi kupiti cel komplet ampak sem hitro spoznal da ni to kar iščem.Odločil sem se samo za podvozje ostalo pa lahko sam naredim.Stem ko bom naredil osnovni TIV in nadgradnjo se bom veliko naučil zraven kar mi bo veliko koristilo.Najboljše pri tem je to da si narediš po lastnih željah in zahtevnosti,saj to je čar vsega Very Happy .

Glede tankovskega podvozja sem zelo zadovolen je zelo masiven.Stene ima 2.20 mm debeline in je konstruiran tako da je zelo ojačan.Navdušen sem glede pogona ki je zelo močan "vse ruži pred sabo Very Happy ".Na zobniku ima tudi luknjo za rotacijski enekoder.Lahko pa tudi prilepiš nalepko (skalo-črno,belo).Js bom uporabil TCST 1103 za branje.Ima tudi možnost uporabe vseh štiri motorjev.

Evo par fotografij:

















P.S.,če še vztrajaš da bi si zadevo ogledal ni nobene panike.

LPM


Nazadnje urejal/a marc Sre Maj 18, 2011 4:30 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
marc
Profesionalec


Pridružen/-a: Ned Maj 2009 10:08
Prispevkov: 243
Kraj: Polzela

PrispevekObjavljeno: Sre Maj 18, 2011 4:19 pm    Naslov sporočila: Odgovori s citatom

iskra je napisal/a:



Škoda ker si tako daleč : bi ti jaz enega dal (ta pravega-)


Ni panike,če se bomo kdaj dobili in pokramljali.boš imel takrat priliko Wink .
Danes sem si pa kupil zalogo štiri komade.

Tistega ki imaš ti "tepravega" se lahko vrti 360 stopinj?

LPM
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
marc
Profesionalec


Pridružen/-a: Ned Maj 2009 10:08
Prispevkov: 243
Kraj: Polzela

PrispevekObjavljeno: Sre Maj 18, 2011 4:28 pm    Naslov sporočila: Odgovori s citatom

Vilko,
hvala za obrazložitev.

Nekaj sem že zakapiral in nekaj pogruntal.Tako,sedaj imam servote in grem preizkušat program in ga malo spreminjat.

Mi še lahko na hitro samo tole poveš.

Koda:
Const Timer0reload = 4
Config Timer0 = Timer , Prescale = 256                      'tukaj določiš ali je timer counter ali timer in določiš sistemsko uro -prescale- ?
Load Timer0 , Timer0reload
On Ovf0 Timer0_isr
Enable Ovf0
Start Timer0                                                'zaženeš timer


Hvala.

LPM
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
marc
Profesionalec


Pridružen/-a: Ned Maj 2009 10:08
Prispevkov: 243
Kraj: Polzela

PrispevekObjavljeno: Sre Maj 18, 2011 6:05 pm    Naslov sporočila: Odgovori s citatom

Hi,
zdej sem ugotovil zakaj mi včeraj ni servo delal tako kot bi mogel.program je napisan za vse tri servote.Js sem imel priključenega samo enega Embarassed in ga je "heblal" se tja...sploh nisem vedel kaj se dogaja.Prele sem priključil tri servote gor in zadeva deluje prečudovito!Very Happy
Ugotovil sem kje ima pozicije 0°=22,90°=60 in 180°=90.

Hitrost vrtenja dolačam uspešno,tako da sem ful vesel.Ampak hočem vseeno razumeti 100% kako deluje program.

Sem že sproboval samo mi ni ratalo istočasno poganjat servote,je kakšen poseben ukaz?

LPM

P.S.
zelenci pač Wink
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Sre Maj 18, 2011 9:19 pm    Naslov sporočila: Odgovori s citatom

Hvala Marc za fotografije tankovskega podvozja. Se pravi, da si vse ostalo štrikal sam! Čestitam! Daleč si priplaval in še veliko časa je pred tabo in boš še daleč prišel!

Kar se tiče timer prekinitvnega podprograma, vem malo, a dovolj, da ga lahko uporabljam. Običajno ga uporabljam za merjenje časa. Toliko vem, da timer šteje cikle mikroprocesorjevega oscilatorja, in je torej odvisen od frekvence kristala. To je kot nek števec kilometrov v avtomobilu, in ko gre števec preko nule, se glavni program prekine, vsi njegovi registri se spravijo, in se starta prekinitveni podprogram, ki naredi svoje, pred vsem pa na novo nastavi števec, (Load Timer) in s tem določi časovni interval do sledeče prekinitve. Koliko mora biti parameter v load timer ukazu, oibčajno ne grem računat, ker je za to narejen program AVRTimer.exe, ki ga poženem na PC-u in mi odpre okno, vanj vpišem osnovne podatke, frekvenco kristala in željeni interval, in on mi generira kodo, ki jo kar kopiram v moj bascom program. Program ti prilagam.
Ne, forum manager ne dovoli attachmenta, pošlji mi email naslov pod zasebno in poslal ti bom program.

No, pri konkretnem primeru sem generiral kodo za interval, ki je potreben za generiranje inpulza da bo servo na sredini. Potem pa sem spreminjal parameter ukaza load timer, da sem dobil obe mejni vrednosti dolžine inpulza. Seveda sem si pomagal z osciloskopom PoScope.

Na primeru krmilim vsak servo posebej. Seveda lahko krmiliš več servotv hkrati, le bolj zapleteno je, ker jih moraš krmiliti v isti programski zanki. Za primer je bilo enostavneje narediti tri for - next zanke.
recimo tako:

Koda:
For Tmrrl(1) = 88 To 44 Step - 1
    tmrrl(2) = tmrrl(1)  ' tako bosta se oba obračala hkrati
    Waitms 10
Next

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Sre Maj 18, 2011 9:32 pm    Naslov sporočila: AVR timer.exe Odgovori s citatom

Timer.exe dobiš tudi na Dobson web strani

http://www.planet-ian.com/start_e.htm

==> Software tools ==> AVR Timer 1.25

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
marc
Profesionalec


Pridružen/-a: Ned Maj 2009 10:08
Prispevkov: 243
Kraj: Polzela

PrispevekObjavljeno: Sre Maj 18, 2011 10:20 pm    Naslov sporočila: Odgovori s citatom

hi,
Hvala za vzpodbudne besede in tudi za pomoč.

Imam program in se grem špilat.Nekaj nosilnih delov za robotsko roko imam končane.ko bo narejena bom prilepil fotke na forum.je kar zamudna zadeva.

LPM
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
iskra
Profesionalec


Pridružen/-a: Tor Jan 2004 16:29
Prispevkov: 254
Kraj: Sežana

PrispevekObjavljeno: Čet Maj 19, 2011 9:45 am    Naslov sporočila: Odgovori s citatom

marc je napisal/a:
iskra je napisal/a:



Škoda ker si tako daleč : bi ti jaz enega dal (ta pravega-)


Ni panike,če se bomo kdaj dobili in pokramljali.boš imel takrat priliko Wink .
Danes sem si pa kupil zalogo štiri komade.

Tistega ki imaš ti "tepravega" se lahko vrti 360 stopinj?

LPM

Napravljen je za vzdolžni premik (recimo rezkarja.. le da je pomik le 15 mm) Vozi pa lahko kilogram , pa še vzmet ima za balansiranje . Seveda pa ga lahko predelaš za kaj drugega.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
marc
Profesionalec


Pridružen/-a: Ned Maj 2009 10:08
Prispevkov: 243
Kraj: Polzela

PrispevekObjavljeno: Čet Maj 19, 2011 8:32 pm    Naslov sporočila: Odgovori s citatom

Hi nekaj me zanima.Sem že iskal po netu in nisem našel.Našel sem kako narediti navaden DC motor z reduktorjem to kar js rabim pa ne.

Slika:



Rdeča barva kaže premik kot ga imam zdaj.Želel bi imeti tako kot kaže modra barva.Ali ve kdo kako se to naredi.Kolikor vem ima notri potenciometer?Bi šel gledati ampak nočem razdirati delujočega servota.Uničenega sem stran vrgel.

Kot je razvidno iz posnetka je mogoče:

http://www.youtube.com/watch?v=TAt4dBYcdYw&feature=related

LPM
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Čet Maj 19, 2011 9:16 pm    Naslov sporočila: Odgovori s citatom

Modelarski servomotorji imajo običajno ročico nasajeno na os in prtrjeno z malim vijačkom. Odvi vijaček, snemi ročico, prestavi jo za 90 stopinj in nasadi nazaj na os.
Skoraj neverjetno se mi zdi, da tega nisi opazil.

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
marc
Profesionalec


Pridružen/-a: Ned Maj 2009 10:08
Prispevkov: 243
Kraj: Polzela

PrispevekObjavljeno: Čet Maj 19, 2011 9:39 pm    Naslov sporočila: Odgovori s citatom

Embarassed Embarassed ,nevem kje sem imel pamet.Brez besed.

LPM
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
marc
Profesionalec


Pridružen/-a: Ned Maj 2009 10:08
Prispevkov: 243
Kraj: Polzela

PrispevekObjavljeno: Sob Maj 21, 2011 6:56 pm    Naslov sporočila: Odgovori s citatom

Hi,

nekaj za poskušino Wink .




Upam da mi rata roko dokončati do konca drugega tedna.Celotnega robota pa okoli 14 dni.Prvo nalogo bo imel postavlanje domin.

LPM
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Za začetnike Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Pojdi na stran Prejšnja  1, 2, 3, 4, 5, 6, 7  Naslednja
Stran 2 od 7

 
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