Znaleziono 6 wyników

autor: korinsj
05 sie 2005, 16:04
Forum: Software
Temat: programik testowy
Odpowiedzi: 13
Odsłony: 11299

Programik ciekawy, ale co z obrotami brył, oraz bryłami "kanciastymi" (sześcian, itp)?

Sławek
autor: korinsj
03 sie 2005, 07:09
Forum: Software
Temat: programik testowy
Odpowiedzi: 13
Odsłony: 11299

W Delphi 4. Dzięki temu napisałem go w jedno popołudnie. W Visualu C++ program byłby szybszy i krótszy ale pisałbym go dłużej a zależało mi tylko na szybkim przetestowaniu mojej CNC.

Teraz na szybko piszę jeszcze programik do frezowania 3D wraz z edytorem obiektów. Będzie uwzględniał np. wymiary i kształty frezów, dodawał kroki aby likwidować luzy maszyny, itp.
Miałem tylko problem jak sterować maszyną żeby wyfrezować dowolny obiekt 3D.

Pierwsza metoda była taka, że ustalam krok X i Y dla frezu i wędrując po takiej siatce schodzę w każdym punkcie na wysokość Z.

Druga metoda to taka, że "przemiatam" frezem obiekt po liniach poziomych (lub pionowych) zmieniając wysokość Z frezu (coś jak wiązka elektronów w kineskopie).

Miałem jeszcze problem jak ustalić wysokość Z w każdym punkcie X/Y mając projekt modelu poskładany z różnych brył.
Zastosuję coś w rodzaju raytracingu ale w rzucie równoległym. W każdym punkcie X/Y będę rzucał promień i wybierał największą wartość Z przecięcie z każdym z obiektów.

Na początek obiekty będą zdefiniowane z trójkątów. Dzięki temu znalezienie wartości Z będzie bardzo proste gdyż sprowadzi się do znalezienie punktu przecięcia z płaszczyzną na której leży trójkąt. Minusem jest to że aby mieć ładne "okrągłe" obiekty (kwadryki) trzeba je rozbijać na full małych trójkątów.

Jeśli program się sprawdzi to najwyżej dopiszę "pełny" raytracing dla kwadryków i będzie wtedy wszystko "gładkie".

Przerobię jeszcze ten programik do frezowania 2D. Dodam możliwość importu pliku z protela programu dla wiertarki żeby wiercić PCB, możliwość kasowania luzów maszyny i jej niedokładności - ustalenie w 4 skrajnych punktach CNC rzeczywistych pozycji XYZ. Dzięki temu program będzie brał poprawki na "skrzywienia" maszyny. W mojej CNC miałem różnicę w wysokości frezu na całej długości o 0,13mm.
No i jeszcze przerobię program na pracę w "mm" z dokładnością do 0,001mm. Programowi poda się rozdzielczość w każdej osi a resztę sam poprzelicza.

Sławek
autor: korinsj
02 sie 2005, 14:04
Forum: Software
Temat: programik testowy
Odpowiedzi: 13
Odsłony: 11299

Wrzuciłem wersje w której można wszystko pozmieniać (bity i kierunki).

Sławek
autor: korinsj
02 sie 2005, 11:49
Forum: Software
Temat: programik testowy
Odpowiedzi: 13
Odsłony: 11299

Ja bazuję na zwykłej pętli programowej. W Windowsach chyba jedynym wzorcem czasu jest zegar systemowy (TickCount). Ma on jednak rozdzielczość około 1ms, tak więc zbyt małą aby odmierzać przerwy dla sygnału CLK. Pozostała mi zwykła pętla programowa "for...". Oczywiście nie jest do zbyt dokładne odmierzanie czasu - zależy od zajętości procka. Sprawę może poprawić wykonywanie tej pętli na wątku o najwyższym priorytecie o czas trwania 1 kroku zmierzyć korzystając z TickCount.

Sławek
autor: korinsj
02 sie 2005, 08:40
Forum: Software
Temat: programik testowy
Odpowiedzi: 13
Odsłony: 11299

Dopisałem jeszcze dzisiaj rano możliwość edycji bitów portu LPT dla sygnałów Step/Dir oraz zamiana kierunków ruchu osi. (tylko że jeszcze tego softu nie sprawdzałem).

Sławek.
autor: korinsj
01 sie 2005, 21:49
Forum: Software
Temat: programik testowy
Odpowiedzi: 13
Odsłony: 11299

programik testowy

Napisałem dzisiaj na szybko prosty programik testowy do mojej CNC (może się komuś przyda):
http://www.korinsj.com.pl/ppics/ucnc.zip

Tu jest fotka ekranu i krótki opis:
Obrazek

Sławek

Wróć do „programik testowy”