Strona 1 z 2
programik testowy
: 01 sie 2005, 21:49
autor: korinsj
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:
Sławek
: 01 sie 2005, 22:00
autor: KAPaGo
Dzięki wielkie za programik i za wkład wniesiony na forum.Przy okazji przetestuje programik, przyda się napewno.
: 02 sie 2005, 08:40
autor: korinsj
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.
: 02 sie 2005, 10:56
autor: Tomash
Witaj korinsj
Czy użyczył byś części swojej wiedzy początkującemu "programiście", który nie może poradzić sobie z zaprogramowaniem sygnału CLK ( bardzo mało tuturiali w sieci ). Może posiadasz jakieś materiały w wersji elektronicznej ( w ogólnych kursach C++ nie spotkałem się z problemem wysyłania na port lpt sygnału z określoną częstotliwością ).
Dzięki
: 02 sie 2005, 11:49
autor: korinsj
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
: 02 sie 2005, 13:41
autor: lisow1
Pytanie do Autora programu:
Czy w programiku można konfigurować dowolnie podŁączenie pinów do LPT czy trzeba zmieniać mechanicznie ?
: 02 sie 2005, 14:04
autor: korinsj
Wrzuciłem wersje w której można wszystko pozmieniać (bity i kierunki).
Sławek
: 02 sie 2005, 21:26
autor: webserver
Witam ja mam pytanko w czym jest napisany ten programik ?
: 03 sie 2005, 07:09
autor: korinsj
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
: 05 sie 2005, 13:35
autor: Piroman1024
Ja już rozwiązałem ten problem w swoim programie(w załączniku) - bez rozbijania na trójkąty.
Co do 'omiatania' obiektu to jest wiele metod zależnych od samego obiektu jak i jakości z jaką ma być wykonany np.omiatanie po spirali.