Microcon Pomoc s motorem

Odpovědět
BMAJTZ
Příspěvky: 18
Registrován: 21. 11. 2008, 11:43
Kontaktovat uživatele:

21. 5. 2011, 3:12

Zdravim, asi jsem hloupy ale opravdu nechapu jak tahle vec funguje. Mam motor SX23-2727 a i desku CD30x. Normalne s motorem komunikuji, ale onen motor si dela co chce. Prvne posilam nasledujici kod:

\
[
C7
@1
C1
(10
I11L2
J3
@2
B5000
R
C2
J1
@3
C3
]

Coz by melo znamenat, ze pokud na vstupu 10 bude log 0 tak se program ukonci, pokud ale zaroven bude na vstupu 11 log 0 tak se udela 5000 mikokroku a zacne se opet cekat na vstup 10. Vsechno ale funguje pouze v prvnim cyklu. Kdyz uz je na vstupu 10 log 0 a i na vstupu 11 log 0 tak program skoci na zacatek a dal nez za (10 uz se nedostane. Nemuzu se toho zbavit a nevim jak to obejit. Potrebuji motor ovladat temito urovnemi a proste ten motor se bude tocit dokud na jednom z tech portu nebude nejake napeti. Prosim mate nejakou ideu kde delam chybu?

Druhy dotaz se tyka samotne komunikace PC - deska CD30x. Cely horejsi problem jsem chtel vyresit tak, ze si budu data nacitat do pocitace pomoci prikazu U upload a potom se rozhodnu zda jeste budu s motorem tocit ci uz ne. Bohuzel prikaz upload jaksi vubec nefunguje a to ani v programu Imotion at to posilam jak to posilam proste se to nechce chytnout. A kdyz zkousim aplikaci pres LabView pripadne delphi tak stejne nedostam zpúet ani bajt. Fakt nevim jsem z toho uz opravdu znechucen ocenim jakoukoli trosku konstruktivni pomoc.
BMAJTZ
Příspěvky: 18
Registrován: 21. 11. 2008, 11:43
Kontaktovat uživatele:

21. 5. 2011, 3:15

Jo jinak co vlastne potrebuji udelat. Na vstup B10 a B11 mam privedene kabely. Na nich se postupne obevuji napeti bud jenom na B10 nebo jenom na B11 a nebo na obou soucasne (to je dano pozici rotoru). Je to jakesi vycitani polohy natoceni motoru. Takze tyto napetove urovne neridim z venci ale nacitaji se samy. Ja pouze potrebuji aby se onen motor vzdy na dane urovni zastavil dokud mu neprikazu natocit se do nove polohy. Jinak celou komunikaci vedu pres seriovy port.
Kio
Příspěvky: 32
Registrován: 9. 3. 2008, 9:10
Bydliště: Liberec
Kontaktovat uživatele:

1. 7. 2011, 2:50

Ten program jako celek je trošku divnej
1) začínat resetem paměti neni dobrej nápad ... musíš mezi tím mít časovou mezeru než vyčistí paměť
2) microkoní kontrolery na některých vstupech mají inverzní logiku
3) taky by stálo za to tam mít nějaký údaje o rychlosti, zrychlení, mikrokrocích .. atd ...
4) mezi příkazama musí bejt prodleva ... kontrolér je pomalej .. osobně komunikuju na 300baud a potom to zvládá v pohodě

jinak ten program dělá něco jinýho než si myslíš, respektive dělá to co popisuješ. najde 0 na 10, pokud je 11 v nule, pootočí se a zastaví se.


\ -reset
[
C7 - clear bit 7
@1 - label
C1 - clear bit 1
(10 - roztoč se do mínusu dokud se na vstupu 10 neobjeví log 0
I11L2 - if 11 low jdi na label 2
J3 - jdi na label 3
@2 - label 2
B5000 backward 5000 (dost blbý číslo ... mělo by být dělitelné 64)
R - run
C2 - clear bit 2
J1 - jsi na label 1
@3 - label 3
C3 - clear bit 3
]


trošku jsem nepochopil co od toho vlastně chceš. .. ani smysl clearování bitů, který stejně by měly bejt v 0
Možná by stálo za to popsat co máš na kterých bitech z hlediska funkce a popsat mechanickou soustavu a smysl funkce, pomohlo by mi to líp si to představit

Osobně spíš ty programy píšu stylem že návěští 1 obsahuje podmínky.. jakoby je "main" a další návěští jsou "funkce"
tohle je ideovej návrh ... nemám po ruce jednotku na který bych to vyzkoušel
takže
[
M64
Q2
S200
V1000
A5000
@1
I10H2
I11L3
W100
J1
@2
(10
J1
@3
B6400
R
J1
]
Odpovědět

Zpět na „Krokové motory“