nahrazeni LPT serialem Comm

Diskuze o softvéru MACH od tvůrců Artsoft všech verzí: dotazy, programování, skripty, poznatky atd...
Odpovědět
janecek3
Příspěvky: 12
Registrován: 19. 6. 2007, 10:33

11. 12. 2008, 8:22

Ahoj,
uz mam postavenou CNC frezu, kterou ridim pomoci prikazu jazyku HPGL a ma to 7 bitove slovo + start a stop bit a TOGGLE(MSB) bit, ktery se periodicky meni. Mel jsem tam i paritu, ale ukazalo se to zbytecne. Spolehlivost je velmi vysoka. Sest bitu je rozdeleno do dvojic STEP_X, DIR_X, STEP_Y, DIR_Y, STEP_Z, DIR_Z. To znamena, ze v jednom bajtu mohu posilat prikazy pro vsechny tri osy najednou. Rychlost je 115200Baudu , teda jsem schopen poslat 6400 prikazu za vterinu pro vsechny tri osy. Pochopitelne to nikdy nevyuziji, protoze realne jedu asi 1200 kroku za vterinu. (3ot/vt)
Vyhoda je zpetna vazba, kdy prijmuty bajt po zapsani do radice, poslu zpatky do PC a az po prijmuti spravneho bajtu, muze poslat PC dalsi bajt.
---
Otazka zni, nedal by se predelat vystup MACH3 na COMM port ???

AhoJZ
Pupak
Příspěvky: 1457
Registrován: 28. 8. 2006, 8:12
Kontaktovat uživatele:

11. 12. 2008, 8:48

Tuhle otazku musis adresovat na autora Macha.To je jediny clovek,ktery do toho SW muze legalne zasahovat.Nicmene asi by nebyl problem to obejit,pokud si udelas nejakej prevodnik,kterej das na LPT a ten ti pri kazdy zmene stavu prevede paralelni informaci na seriovou.Otazka je,jak by slo vychytat to casovani,ale mozna by to bylo resitelny.Nejspis by to ale melo velka rychlostni omezeni,protoze pulsy na LPT chodi i 100 kHz,takze bys potreboval jit s frekvenci hoodne dolu,abys to zvladnul seriove odeslat do dalsi zmeny.
Pupik
Příspěvky: 248
Registrován: 7. 12. 2008, 6:09
Bydliště: Ostrava
Kontaktovat uživatele:

11. 12. 2008, 9:31

Ahoj,
udelat hardwarovy prevodnik by nemel byt zadny problem, ale celkem mi unika smysl. Ty nejsi autorem ridici jednotky sve frezy? Pokud autor jsi, tak nevidim duvod proc neprizpusobis vstupni cast programu jinemu druhu prijmu informace.
Pokud vsak chces vynechat fyzicky samotny LPT, tak tuhle zmenu by musel provest pouze autor a to jeste v samotnem enginu (driveru) Machu. Vsude jinde by to byla hrozna zaplata a fungovala by to nestabilne.
Jestli muzes popis vice to svoje CNC zarizeni.
Diky Martin
janecek3
Příspěvky: 12
Registrován: 19. 6. 2007, 10:33

11. 12. 2008, 1:49

Ahoj,
je to dost slozite, ja pouzivam CAD programy na rozdeleni hladin po 0,1mm a nasledne po prevedeni na hpgl kod postupne frezuji. Je to dost pracne a casove narocne. Frezuji na tom modely vagonu v meritku HO. to je 1 : 87. Vetsinou frezuji do kuprextitu tloustky 2mm. Tolerance me frezy je na urovni 0,1mm, protoze mi to staci. Kmitocty okolo 100kHz povazuji za nerealne a tak trosku zavadejici. Nedokazu si predstavit frezu, ktera by dokazala brat i ve dreve 50cm za vterinu. Pri stoupani 1mm je to 500 x 200 kroku = 100kHz. Vetsinou jsem videl i profi frezy na rychlostech okolo 5 cm za vterinu. Samozrejme s vyjimkou mikrokrokovani, ale to je zas o necem trochu jinem.

AhoJZ
Pupak
Příspěvky: 1457
Registrován: 28. 8. 2006, 8:12
Kontaktovat uživatele:

11. 12. 2008, 3:10

Protoze neuvadis parametry stroje,tak te jen upozornuju,ze takove frekvence se na LPT objevuji.Pokud pouzivas MKK,nebo serva,je to zcela bezne.
Pupik
Příspěvky: 248
Registrován: 7. 12. 2008, 6:09
Bydliště: Ostrava
Kontaktovat uživatele:

11. 12. 2008, 3:12

Ja ti rozumim, jen se snazim pochopit duvod tveho pozadavku. Ma ten tvuj strojcek nejaky CNC controler? Co zivi tvoje krokove motory? Kdyz hovoris o HPLG, typuji ze je to neco vytazeneho z plotru. Mylim se?
janecek3
Příspěvky: 12
Registrován: 19. 6. 2007, 10:33

11. 12. 2008, 6:14

co uz bych mel napsat ?
tri krokove motorky napajene pres 12 mosfetovych IRF a budene unipolarne 32 V. Bere to priblizne 2,5A na jeden krokovy motor.
Budene pres 2313 Atmel.
---
Mam tam zabudovany pridrzovaci proud v klidovem stavu na hodnote 12V
a proudu 0,6A.
---
Mach3 se mi libi, ale nechtel bych predelavat driver, ktery mam odladeny. Mozna by pomohl nejaky postprocesor, ktery by prekopal paralerni data na seriove. Nejsem purista nebo akademik, proto hodnoty presnosti pod 0,1mm mi jsou celkem ukradnute. Proto MKK (mikrokroky) jsou pro mne zbytecne. Pouzivam zavitove tyce 6mm, ktere maji 1mm stoupani. Rychlosti nad 3mm za vterinu jsou teda pro mne nedosazitelne, ale v zasade zbytecne, protoze nastroj nestaci odebirat material.
---
Nejvic mi vadi neustale sledovani "tloustky" rezaciho nastroje a to ma Mach3 zabudovane natvrdo. Pri kresleni v Autocadu mi tohle neuveritelne strpcuje praci a prekreslovani obrazce pro jiny nastroj je totalne zbytecna prplacka.

AhoJZ
Uživatelský avatar
sysel
Příspěvky: 655
Registrován: 12. 6. 2007, 9:24
Bydliště: Šenov u Ostravy
Kontaktovat uživatele:

11. 12. 2008, 6:44

janecek3 píše: Nejvic mi vadi neustale sledovani "tloustky" rezaciho nastroje a to ma Mach3 zabudovane natvrdo. Pri kresleni v Autocadu mi tohle neuveritelne strpcuje praci a prekreslovani obrazce pro jiny nastroj je totalne zbytecna prplacka.

AhoJZ
Tak to řeš pomoci G41/G42 polměrová korekce, já to úspěšně používám v 95% programů... Už se to tu na foru někde řešilo...
5/2007 přístup na přestavěnou BF20
5/2009 dokončeno vlastní CNC
http://cnc.usysla.eu/
Pupik
Příspěvky: 248
Registrován: 7. 12. 2008, 6:09
Bydliště: Ostrava
Kontaktovat uživatele:

12. 12. 2008, 4:49

Pokud se nechces hrabat v odladenem programu, pak staci napsat oddelene interface (PIC, ATMEL, Motorola).
Predpoklady procesoru:
- umet reagovat vyvolanim INT alespon na 8 IN pinech (nebo predradit CMOS logiku ktera by INT signal spolehlive zajistovala pro jeden vstup)
- mel by mit jiz vbudovanou seriovou komunikaci (v dnesni dobe je to jiz pohodnejsi nez to nahravat programem)

Myslim, ze tve naroky na rychlost nevyzaduji ani zadne rampy, takze presne casovani, tady nehrozi.
Jen vzit signaly z LPT a dat na RS232 :)
Co se bude dit ukaze az praxe, asi to bude mit za nasledek dalsi zpomaleni, nebot Mach nesmi zahlcovat tvuj kontroler a bude muset byt nakonfigurovany jako o neco pomalejsi nez je tvuj stroj (to neni problem)
Jak mas reseny buffer a pripadne potvrzovani provedenych pohybu a rychlost obrabeni?

Stale si myslim, ze zmenit vstupni cast programu, kde mas k dispozici vsechny promenne je jednodussi, musis vsak mit na procaku dostatek portu pro LPT. Vlastne jde jen o to, abys vymazal cast kde resis RS232 a prijate signaly primo zpracoval do krokovaci casti motoru. Vse ostatni zajistis z Machu. Momentalni verze Machu maka dost spolehlive (alespon u mne ;) ).
janecek3
Příspěvky: 12
Registrován: 19. 6. 2007, 10:33

12. 12. 2008, 11:55

Ahoj,
vzdycky je snazsi menit softwer nez zelezo. Ja uz mam neco za sebou a vzdycky bylo lepsi napsat novy program, nez delat nove plosaky. A prave XP je na svoje LPT porty dost choulostive a umi delat pekne kraviny. Mnohem lepsi jsou seriove porty, ktere maji vetsi odolnost proti chybam a celkem jsou robustnejsi proti zkratu a zemnicim smyckam. Vsak je o tom na tomto foru dost popsano, ze to neni zrovna to nejlepsi reseni. Ale to je problem zeleza.
Vyhoda jazyka HPGL je v tom, ze prikaz "PA 200,200" presune rezaci nastroj z aktualni pozice na pozici "200,200" a zadne jine prikazy nepotrebuji. To ze tam mam interpreter, ktery mi z toho vyrabi dir a step kroky na tom nic nemeni.
Jeste lepsi by bylo reseni, kdyby MACH3 umel jazyk HPGL a posilal primo klicove slova bud na serial port nebo do souboru.

AhoJZ
Pupik
Příspěvky: 248
Registrován: 7. 12. 2008, 6:09
Bydliště: Ostrava
Kontaktovat uživatele:

12. 12. 2008, 2:01

To Mach umi (pres ModBus), ale ty jsi rikal ze ti v Comu litaji zakodovane kroky a dir do jednoho byte, nemluvil jsi, ze ti to po seriale komunikuje v HPLG. Takze tomu opet nerozumim ;)
janecek3
Příspěvky: 12
Registrován: 19. 6. 2007, 10:33

12. 12. 2008, 4:46

Ja delam hodne veci a nekdy tomu nerozumim za pul roku ani ja. :-)))
---
Je tam postupnost CAD-> HPGL interpreter-> com port. To znamena, ze z CADu vygeneruji HPGL soubor, ktery mi cte obycejna 386 a posila na com port. Strasne jednoduche a trivialni. Vyhodu to ma v tom, ze vygenerovany soubor lze v urcitych mezich opravovat. Pokud je vygenerovany v absolutnich souradnicich a ne v relativnich, tak jakakoli oprava je naprosto bezproblemova. Jen je nekdy problem to konkretni misto najit. :-)
---
To znamena, ze pokud MACH3 umi vygenerovat soubor s prikazy HPGL, tak bych byl za vodou a muj problem by byl vyresen.

AhoJZ
prichy
Příspěvky: 762
Registrován: 29. 7. 2006, 11:05
Bydliště: Sokolov

12. 12. 2008, 5:12

ty chces tisknout na seriovy port, ze?

-----------------------------------------------
abych rekl pravdu jeste jsem nevidel (nepotreboval jsem) HPGL ale neni to neco velmi podobneho jako G-kod.....ovsem asi nebude mit takove moznosti..........pokud si tedy stojis za svym, vymena FW v tom atmelu pro cteni G-kode je reseni.

to all: nebo se pletu a nepochopil jsem dotaz?
Prichy
janecek3
Příspěvky: 12
Registrován: 19. 6. 2007, 10:33

13. 12. 2008, 7:00

nepochopil, :-)
vymena seriove za paralerni neni vymena firmware
---
Postupne na zaklade odpovedi jsem poopravil svuj nazor a dospel jsem k tomu, ze kdyby MACH3 umel generovat soubor v Hpgl (coz je mimochodem jazyk pro 2D kresleni nebo frezovani), tak poskladanim nekolika hladin vznikne 2.5D kresba nebo obrazec. Problem je v tom, aby MAch3 umel ten soubor vygenerovat postupne v tech nekolika hladinach (vrstevnicich), abych ho mohl zpracovat v interpreteru a poslat do frezy.
---
Ale to bych chtel asi moc a myslim, ze to je nerealne.
---
Jeste dotaz, jak vlastne vypada ten G-kod a jake obsahuje informace ??? Mozna by se dal pomoci nejakeho programu prekopat na mne pouzitelny format.

AhoJZ

AhoJZ
Odpovědět

Zpět na „MACH všech verzí“