upravljnje DC motorima ?

Rasprava o el. shemama, pitanja i diskusije. Ako ti treba neka shema, ovdje pitaj.

Moderators: stojke369, pedja089, [eDo], trax

Re: upravljnje DC motorima ?

Postby sedin » 08-11-2011, 23:27

pokusavam da skontam kroz pedja089 formu koda kako ovo treba da funkcionise , sta treba da dopunim da bi dobio cjelinu? Kako da definisem kad je TP<TZ odnosno TP>TZ? jeli i to radim kroz IF naredbe? i kako vrsim inicijalizaciju TZ?
sedin
 
Posts: 87
Joined: 28-07-2010, 17:01

Re: Re: upravljnje DC motorima ?


Re: upravljnje DC motorima ?

Postby gurko » 09-11-2011, 10:30

Pa to bi trebao da skontas sam ... kao vjezba u basicu!

TZ nastavis definisati ... za svaki slijedeci ulaz "1" u TZ se pomjera za jedno mjesto tako da ce ti na kraju biti 00010000.

Sto se tice vrtenja u jednu ili drugu stranu, u tom dijelu nemas IF-a vec samo postavljas odgovarajuce portove na odgovarajuca stanja tj. na 1.

Nadam se da ti je ovo pomoglo! :wink:
User avatar
gurko
 
Posts: 240
Joined: 18-03-2011, 19:28
Location: Srednja BiH

Re: upravljnje DC motorima ?

Postby VooDooX » 09-11-2011, 21:29

InTheStillOfTheNight wrote:Mislim @sedin ja ne kužim koja je tvoja životna nesreća :shock:
Ti kao da želiš zakomplicirati stvari koje ne mogu biti jednostavnije. Lijepo sam ti našao gotovu i isprobanu shemu koju samo trebaš precrtati i ne zamarati se sa nikakvim simulacijama i naponima... No kako vidim to je za tebe previše jednostavno... Još ti je masa ekipe napisala da se H most radi sa NPN i PNP parom tranzistora, no ti uopće ne čuješ što ti ljudi pričaju...


nisam jos pokusao sa bi-polar tranzistorima ali sa mosfet mozes bez problema imat 4 komada n-chan samo u tom primjeru trebaju gornja 2 imat vcc+5V na gate i nema problema.
User avatar
VooDooX
 
Posts: 24
Joined: 09-10-2011, 19:57
Location: Slovenia

Re: upravljnje DC motorima ?

Postby sedin » 10-11-2011, 00:10

kod sam nadopunio a vi me ispravite kolko sam pogrijesio:

SYMBOL T1=PORTA.0 'T1 do T4 polozaji grebenastog prekidac
SYMBOL T2=PORTA.1
SYMBOL T3=PORTA.2
SYMBOL T4=PORTA.3

SYMBOL T11=PORTB.2 'T11 do T14 tasteri
SYMBOL T12=PORTB.3
SYMBOL T13=PORTB.4
SYMBOL T14=PORTB.5

SYMBOL PLUS=PORTB.0
SYMBOL MINUS=PORTB.1

OUTPUT PLUS
OUTPUT MINUS

TP VAR BYTE '- trenutna pozicija
TZ VAR BYTE '- zadata pozicija


Start:
TP.0=T1
TP.1=T2
TP.2=T3
TP.3=T4

TP=~TP ' invertuj tako da 1 bude taster koji je stisnut ili TP.0=~T1

IF T11 =0 THEN
TZ=%00000001
ELSEIF T12=0 THEN
TZ=%00000010
ELSEIF T13=0 THEN
TZ=%00000100
ELSEIF T14=0 THEN
TZ=%00001000
ENDIF

IF TP<TZ THEN
TP=T11 AND TZ=T12 OR TZ=T13 OR TZ=T14
ELSEIF TP<TZ then
TP=T12 and TZ=T13 or TZ=T14
ELSEIF TP<TZ then
TP=T13 and TZ=T14
endif

if TP>TZ then
TP=T14 and TZ=T13 or TZ=T12 or TZ=T11
ELSEIF TP>TZ then
TP=T13 and tz=T12 or TZ=T11
ELSEIF TP>TZ then
TP=T12 and TZ=T11
endif

IF TP<TZ THEN
HIGH PLUS 'Vrti u jednu stranu

ELSEIF TP>TZ THEN
HIGH MINUS 'vrti u drugu stranu

ELSE
'zaustavi
ENDIF
PAUSE 100
GOTO Start
sedin
 
Posts: 87
Joined: 28-07-2010, 17:01

Re: upravljnje DC motorima ?

Postby niho » 10-11-2011, 10:42

Zaboga @sedin kad pises kod nekog programa onda upotrijebi opciju Code daleko je preglednije i lakse za pratiti.
Code: Select all
SYMBOL T1=PORTA.0 'T1 do T4 polozaji grebenastog prekidac
SYMBOL T2=PORTA.1
SYMBOL T3=PORTA.2
SYMBOL T4=PORTA.3

SYMBOL T11=PORTB.2 'T11 do T14 tasteri
SYMBOL T12=PORTB.3
SYMBOL T13=PORTB.4
SYMBOL T14=PORTB.5
...
User avatar
niho
 
Posts: 1233
Joined: 24-09-2009, 17:26
Location: Brcko, Bosnia and Herzegovina

Re: upravljnje DC motorima ?

Postby sedin » 10-11-2011, 11:08

ok, ubuduce koristim Code, iskreno nisam znao :D
Code: Select all
SYMBOL T1=PORTA.0 'T1 do T4 polozaji grebenastog prekidac
SYMBOL T2=PORTA.1
SYMBOL T3=PORTA.2
SYMBOL T4=PORTA.3

SYMBOL T11=PORTB.2 'T11 do T14 tasteri
SYMBOL T12=PORTB.3
SYMBOL T13=PORTB.4
SYMBOL T14=PORTB.5

SYMBOL PLUS=PORTB.0
SYMBOL MINUS=PORTB.1

OUTPUT PLUS
OUTPUT MINUS

TP VAR BYTE '- trenutna pozicija
TZ VAR BYTE '- zadata pozicija


Start:
TP.0=T1
TP.1=T2
TP.2=T3
TP.3=T4

TP=~TP ' invertuj tako da 1 bude taster koji je stisnut ili TP.0=~T1

IF T11 =0 THEN
TZ=%00000001
ELSEIF T12=0 THEN
TZ=%00000010
ELSEIF T13=0 THEN
TZ=%00000100
ELSEIF T14=0 THEN
TZ=%00001000
ENDIF

IF TP<TZ THEN
TP=T11 AND TZ=T12 OR TZ=T13 OR TZ=T14
ELSEIF TP<TZ then
TP=T12 and TZ=T13 or TZ=T14
ELSEIF TP<TZ then
TP=T13 and TZ=T14
endif

if TP>TZ then
TP=T14 and TZ=T13 or TZ=T12 or TZ=T11
ELSEIF TP>TZ then
TP=T13 and tz=T12 or TZ=T11
ELSEIF TP>TZ then
TP=T12 and TZ=T11
endif

IF TP<TZ THEN
HIGH PLUS 'Vrti u jednu stranu

ELSEIF TP>TZ THEN
HIGH MINUS 'vrti u drugu stranu

ELSE
'zaustavi
ENDIF
PAUSE 100
GOTO Start
sedin
 
Posts: 87
Joined: 28-07-2010, 17:01

Re: upravljnje DC motorima ?

Postby niho » 10-11-2011, 11:23

Pretjerao si sa ovim relacijama, procesor ne radi "ono sto ti zelis nego ono sto ti naredis".
Code: Select all
TP=T14 and TZ=T13 or TZ=T12 or TZ=T11
Bojim se da su moguci rezultati kod ovakvih opcija prakticno nepredvidivi. Jako je tesko pratiti sta si htio postici ovavim relacijama :? Pokusaj simulirati ovo na nacin da poredas 0 i 1 na portove kao da je stvaran slucaj pa da vidis sta se dobije po bulovoj algebri.
User avatar
niho
 
Posts: 1233
Joined: 24-09-2009, 17:26
Location: Brcko, Bosnia and Herzegovina

Re: upravljnje DC motorima ?

Postby sedin » 10-11-2011, 11:37

nisam znao kako bi (na koji nacin) definisao kada je TP<TZ odnosno TP>TZ, pa sam to gledao na nacin
Code: Select all
T11<T12<T13<T14
sedin
 
Posts: 87
Joined: 28-07-2010, 17:01

Re: upravljnje DC motorima ?

Postby pedja089 » 10-11-2011, 12:23

Pa zar nije jednostavno onako kako sam ja napisao? Ako je jedno vece vrti u jednu stranu, ako je drugo vece vrti u drugu stranu, ako su isti stani.
User avatar
pedja089
 
Posts: 6238
Joined: 20-02-2007, 14:50
Location: Sremska Mitrovica,Novi Sad - Srbija

Re: upravljnje DC motorima ?

Postby sedin » 10-11-2011, 12:33

definitivno mnogo lakse al nisam znao da je time vec definisan TP<>TZ, mislio sam da je potrebno odreditit u kojim polozjima je veci-manji :oops: ,zbunjuje me inicijalizacija TZ kako da joj dodijelim vrijednost koja se zatekne?
sedin
 
Posts: 87
Joined: 28-07-2010, 17:01

Re: Re: upravljnje DC motorima ?


Re: upravljnje DC motorima ?

Postby sedin » 10-11-2011, 14:04

u sustini onako kako je pedj089 vec objavio kod je ustvari i gotovo kompletan ali je ispod naglaseno da treba inicijalizirati TZ, te je najbolje da mu se dodijeli trenutna vrijednost? kojom relacijom ?

Code: Select all
SYMBOL T1=PORTA.0 'T1 do T4 polozaji grebenastog prekidac
SYMBOL T2=PORTA.1
SYMBOL T3=PORTA.2
SYMBOL T4=PORTA.3

SYMBOL T11=PORTB.2 'T11 do T14 tasteri
SYMBOL T12=PORTB.3
SYMBOL T13=PORTB.4
SYMBOL T14=PORTB.5

SYMBOL PLUS=PORTB.0
SYMBOL MINUS=PORTB.1

OUTPUT PLUS
OUTPUT MINUS

TP VAR BYTE '- trenutna pozicija
TZ VAR BYTE '- zadata pozicija


Start:
TP.0=T1
TP.1=T2
TP.2=T3
TP.3=T4

TP=~TP ' invertuj tako da 1 bude taster koji je stisnut ili TP.0=~T1

IF T11 =0 THEN
TZ=%00000001
ELSEIF T12=0 THEN
TZ=%00000010
ELSEIF T13=0 THEN
TZ=%00000100
ELSEIF T14=0 THEN
TZ=%00001000
ENDIF

IF TP<TZ THEN
HIGH PLUS 'Vrti u jednu stranu

ELSEIF TP>TZ THEN
HIGH MINUS 'vrti u drugu stranu

ELSE
'zaustavi
ENDIF
PAUSE 100
GOTO Start
sedin
 
Posts: 87
Joined: 28-07-2010, 17:01

Re: upravljnje DC motorima ?

Postby pedja089 » 10-11-2011, 18:39

Pa ajd razmisli malo...
Ako si tek upalio uredjaj, i ne znas koji je zadnji taster bio stisnut, imas nekoliko mogucnosti.
Da ostanes u istom polozaju, sto znaci Tz dodelis vrednost trenutnog polozaja, sto bi znacilo pre starta stavis ovo
Code: Select all
Tz.0=T1
Tz.1=T2
Tz.2=T3
Tz.3=T4
Tz=~Tz

Druga mogucnost je da pri ukljucenju vratis sve u pocetni polozaj tj Tz=1 ili bilo koji drugi polozaj. Treca varijanta bi bila da pamtis koji je taster stisnut. Sa prvom varijantom problem moze biti ukoliko je lose mehanicki reseno pa se osovina nadje u polozaju da nije stisnut ni jedan prekidac. Druga varijanta je ko zna koje ludilo to moze izazvati ako predje preko svih polozaja, i na kraju treca varijanta je najbolja, ali zahteva pamcenje pri svakom stisnutom tasteru, i citanje pri pokretanju...
User avatar
pedja089
 
Posts: 6238
Joined: 20-02-2007, 14:50
Location: Sremska Mitrovica,Novi Sad - Srbija

Re: upravljnje DC motorima ?

Postby sedin » 11-11-2011, 19:49

fala pedja089
idem da izgradim sklop do kraja a onda cu da probam kod:

Code: Select all
SYMBOL T1=PORTA.0 'T1 do T4 polozaji grebenastog prekidaca
SYMBOL T2=PORTA.1
SYMBOL T3=PORTA.2
SYMBOL T4=PORTA.3

SYMBOL T11=PORTB.2 'T11 do T14 tasteri
SYMBOL T12=PORTB.3
SYMBOL T13=PORTB.4
SYMBOL T14=PORTB.5

SYMBOL PLUS=PORTB.0 
SYMBOL MINUS=PORTB.1

OUTPUT PLUS
OUTPUT MINUS

TP VAR BYTE '- trenutna pozicija
TZ VAR BYTE '- zadata pozicija

TZ.0=T1
TZ.1=T2
TZ.2=T3
TZ.3=T4
TZ=~TZ


Start:
TP.0=T1
TP.1=T2
TP.2=T3
TP.3=T4

TP=~TP ' invertuj tako da 1 bude taster koji je stisnut ili TP.0=~T1

IF T11 =0 THEN
TZ=%00000001
ELSEIF T12=0 THEN
TZ=%00000010
ELSEIF T13=0 THEN
TZ=%00000100
ELSEIF T14=0 THEN
TZ=%00001000
ENDIF

IF TP<TZ THEN
HIGH PLUS               'Vrti u jednu stranu

ELSEIF TP>TZ THEN
HIGH MINUS             'vrti u drugu stranu

ELSE
'zaustavi
ENDIF
PAUSE 100
GOTO Start
sedin
 
Posts: 87
Joined: 28-07-2010, 17:01

Re: upravljnje DC motorima ?

Postby pedja089 » 11-11-2011, 20:04

Postavi sve izlaze na poznata stanja odmah kad ih proglasis izlazom, da ne bi motor trzao na pocetku...
A i motor bi trebao da stane kad dodje u odgovarajucu poziciju.
Komentar Zaustavi ga nece zaustaviti, moras napisati komandu koja ce to da uradi...
User avatar
pedja089
 
Posts: 6238
Joined: 20-02-2007, 14:50
Location: Sremska Mitrovica,Novi Sad - Srbija

Re: upravljnje DC motorima ?

Postby sedin » 11-11-2011, 20:14

jeli dovoljno samo ?
Code: Select all
ELSE
LOW PLUS
LOW MINUS
sedin
 
Posts: 87
Joined: 28-07-2010, 17:01

Re: upravljnje DC motorima ?

Postby pedja089 » 11-11-2011, 20:16

Da...
User avatar
pedja089
 
Posts: 6238
Joined: 20-02-2007, 14:50
Location: Sremska Mitrovica,Novi Sad - Srbija

Re: upravljnje DC motorima ?

Postby sedin » 11-11-2011, 20:23

fala na strpljenju
upravo probam da compajliram ali imam greske u labelama ELSEIF:
Code: Select all
ERROR Line 48: Syntax error. (DC upravljnje.pbp)
ERROR Line 51: Redefiniton of LABEL ELSEIF. (DC upravljnje.pbp)
ERROR Line 51: Syntax error. (DC upravljnje.pbp)
ERROR Line 54: Redefiniton of LABEL ELSEIF. (DC upravljnje.pbp)
ERROR Line 54: Syntax error. (DC upravljnje.pbp)
ERROR Line 64: Redefiniton of LABEL ELSEIF. (DC upravljnje.pbp)
ERROR Line 64: Syntax error. (DC upravljnje.pbp)
sedin
 
Posts: 87
Joined: 28-07-2010, 17:01

Re: upravljnje DC motorima ?

Postby pedja089 » 11-11-2011, 20:28

Sad sam prekopirao kod sa foruma kompajlirao i nema nikakvih problema...
User avatar
pedja089
 
Posts: 6238
Joined: 20-02-2007, 14:50
Location: Sremska Mitrovica,Novi Sad - Srbija

Re: upravljnje DC motorima ?

Postby sedin » 11-11-2011, 20:31

Mozda ja imam problem sa samim MCS pogledat cu da instaliram neku drugu verziju
sedin
 
Posts: 87
Joined: 28-07-2010, 17:01

Re: upravljnje DC motorima ?

Postby pedja089 » 11-11-2011, 20:50

guglaj pbp 2.60 sonsivri...
User avatar
pedja089
 
Posts: 6238
Joined: 20-02-2007, 14:50
Location: Sremska Mitrovica,Novi Sad - Srbija

PreviousNext

Return to Sheme

Who is online

Users browsing this forum: Google Adsense [Bot] and 3 guests

GOOGLE