Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Trebao bi pomoc sa programiranjem koracnog motora

[es] :: C/C++ programiranje :: Trebao bi pomoc sa programiranjem koracnog motora

[ Pregleda: 3286 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

0702

Član broj: 82160
Poruke: 4
*.cmu.carnet.hr.



Profil

icon Trebao bi pomoc sa programiranjem koracnog motora23.01.2006. u 07:42 - pre 221 meseci
Program radim u Visual Basicu. Za sad sam ga uspio pokrenuti, mjenjati smjer vrtnje i mjenjati brzinu okretaja. Sad bi vas molio ako mi netko moze reci kako da napravim da motor od brzine 1 do brzine 2 dođe za vrijeme T. Znaci upises brzinu1=5, Brzina2=10 i vrijeme=10s i motor dođe od 5okr. do 10okr za 10s.
Totalni sam pocetnik u tome i zato vas molim da ako imate rjesenje da mi ga i malo objasnite kako to sve izvesti.
Unaprijed hvala.
 
Odgovor na temu

0702

Član broj: 82160
Poruke: 4
*.cmu.carnet.hr.



Profil

icon Re: Trebao bi pomoc sa programiranjem koracnog motora29.01.2006. u 18:10 - pre 221 meseci
Vidim da nitko ne odgovara, pa vas onda molim barem da me uputite na neke stranice na kojima bi mogao naci nesto o koracnim motorima.
Hvala.
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: Trebao bi pomoc sa programiranjem koracnog motora29.01.2006. u 20:08 - pre 221 meseci
Ako si ga uspeo pokrenuti, onda si i odradio najveci deo posla.
Ostalo ti je jos samo da modifikujes softver.

Dakle, posto tvoj sistem ima i realnu fizicku komponentu (motor) koja treba da se upravlja u realnom vremenu onda taj tvoj softver zalazi u oblast RT (Real Time) softvera. Gruba definicija toga je da odgovor sistema na neke podrazaje iz svog okruzenja treba da stigne u realnom vremenu. Primer sta nije RT softver su oni programi u kojima kad kliknes na neku komandu, strelica misa se pretvori u pescani sat i onda cekas nedefinisano vremena da se nesto desi. U RT sistemima odgovor sistema MORA da se desi u okviru unapred definisanog vremena. U tvom slucaju motor mora da pocne ubrzavanje kad mu zadas komandu i to mora da se zavrsi za vreme T.
Takodje, impulsi kojima pokreces motor moraju da se isporucuju motoru u tacno definisanim stvarnim (fizickim, nazovi ih kako god hoces) trenucima, jer motor ne moze da stane i zapamti svoje stanje na STACK-u, pa nekad posle nastavi da se okrece kao da nista nije bilo.
E sad, ti bi trebao da znas sta TACNO hoces da uradis i kakva su OGRANICENJA hardvera sa kojim radis.
Npr. da li zelis da ti se brzina od v1 do v2 povecava linearno za vreme T, ili mozda po nekom eksponencijalnom zakonu ili nesto trece... Ako je pocetna brzina npr. v1=5, a zeljena brzina v2=10 i to treba da se poveca za T=10s, onda mozes da mu svake sekunde povecavas brzinu za d=(v2-v1)/T = 0.5 okr. Ili da mu svakih 0.1 sekunde povecavas brzinu za 0.05 okr ili svakih 0.01 sekunde za 0.005 okr. itd.
Sad ti trebas da vidis kakva su ogranicenja hardvera preko kojeg je motor spojen sa racunarom (nadam se da ga nisi spojio direktno na port!?). Kojom brzinom (frekvencijom) mozes da mu pristupas? Od toga ce da zavisi da li ces uopste moci da pristupas motoru svake 0.01 sekunde ili ce to morati da bude redje, a povecanje brzine da se vrsi u vecim koracima i sl.
Takodje, ovde je bitno i koliko brzo mozes da pristupas portu racunara preko koga komuniciras sa motorom (koliko brzo u sekundi mozes da posaljes poruku na taj port).
Na kraju, treba da znas i same specifikacije motora, tj. koliko njemu vremena treba da odradi jedan korak, da se ne bi desilo da mu u sred prethodnog koraka stizu impulsi za naredni korak. Koliko dugo treba da mu traje naponski ili strujni impuls i sl.
Ona komponenta koja u ovom poslu bude najsporija (interfejs izmedju motora i porta racunara, port racunara ili sam motor) ce da ti odredi vremenske granice u okviru kojih ces da projektujes samo resenje.
Zatim, na osnovu tih hardverskih ogranicenja i mogucnosti treba u softveru da isprojektujes funkciju koja ce na osnovu zadatih parametara v1, v2 i T da odradi taj transfer.
Da bi mogli ista konkretnije da ti kazemo morali bi da imamo priblizno tacne specifikacije hardvera sa kojim to radis.
Neke stvari je jos uvek pametnije odraditi hardverski nego softverski. U tom smislu postoje moduli za upravljanje step motorima u koje racunar samo upisuje da li zeli brzinsku ili pozicionu regulaciju, zatim smer, brzinu, ugao i sl. Ako imas takav modul onda ti je programiranje znatno olaksano.
 
Odgovor na temu

0702

Član broj: 82160
Poruke: 4
*.cmu.carnet.hr.



Profil

icon Re: Trebao bi pomoc sa programiranjem koracnog motora08.02.2006. u 19:02 - pre 220 meseci
Ovako, sto se tice povecavanja brzine to mi stvarno nije bitno, linearno je dovoljno, netrebam nista posebno. Za motor sam napravio pojačalo,nisam ga spojio izravno na paralelni port. Znam da postoje moduli za upravljanje ali ja to moram napraviti softverski.
Sto se tice brzine pristupanja i specifikacija motora to nemam.
Ja vas molim da ako znate da mi napisete kako da to napisem (konkretnu funkciju ili petlju) pa da se ja dalje s tim poigram i mjenjam sebi parametre prema potrebi.
 
Odgovor na temu

0702

Član broj: 82160
Poruke: 4
*.cmu.carnet.hr.



Profil

icon Re: Trebao bi pomoc sa programiranjem koracnog motora18.02.2006. u 15:15 - pre 220 meseci
Pa zar stvarno nitko nezna???
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: Trebao bi pomoc sa programiranjem koracnog motora24.02.2006. u 21:15 - pre 220 meseci
Citat:

Program radim u Visual Basicu


pa sto nisi na forumu u kojem se raspravlja o VISUAL BASIC-upostavio ovo pitanje??

U Borland C++ Builderu bi mogao uraditi sljedece:
ako ti treba da za vrijeme B povecas brzinu sa X na Y
onda mozes iskorititi Timer i podesiti mu Interval na (B*1000)/(Y-X) u kojem ce on povecati brzinu X za vrijednost (Y-X)/B

dakle: interval bi u tvome primjeru sa pocetka bio: (10*1000)/(10ok-5ok)=2000 (2 sekunde) a svakih, dakle, dvije sekunde bi se 5okr povecavalo za (10-5)/10=0.5


moze li to biti ta racunica...??

[Ovu poruku je menjao fucking voodoo dana 24.02.2006. u 22:16 GMT+1]
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

[es] :: C/C++ programiranje :: Trebao bi pomoc sa programiranjem koracnog motora

[ Pregleda: 3286 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.