Elektroda.pl
Elektroda.pl
X
IGE-XAO
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs

drzasiek 30 Gru 2016 21:49 15483 31
  • CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Witam.
    Przedstawiam dzisiaj ulepszoną wersję oprogramowania które nazwałem CADICAM CNC. Oprogramowanie to w pierwszej wersji przedstawiałem na tym forum w poniższym temacie:
    https://www.elektroda.pl/rtvforum/topic3264667.html
    Od tej pory w programie CADICAM zmieniło się sporo więc nie będę mówił o zmianach lecz opiszę po kolei funkcjonalność.

    Program CADICAM CNC składa się obecnie z 4 modułów uruchamianych z zakładek.

    1. Kreator rysunków DXF
    2. Konwerter rysunku DXF na G-KOD
    3. Konwerter BMP na DXF
    4. Sterowanie Frezarką


    Kreator rysunków DXF
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Kreator składa się z okna roboczego i paska narzędzi/kształtów. Dodawanie kształtu odbywa się poprzez wybranie kształtu z palety i wyklikaniu jego punktów definiujących na polu roboczym.
    Elementy utworzone można kopiować, przesuwać, usuwać, zaznaczać i edytować.
    Powiększanie/pomniejszanie odbywa się za pomocą kółka myszy a klikając prawym klawiszem myszy na rysunku i przeciągając, pole robocze można przesunąć.
    Poniżej opisane przyciski/funkcje:
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Konwerter rysunku DXF na G-KOD
    Ten moduł oprócz poprawek funkcjonalnych i dodaniu kilku dodatkowych funkcji nie zmienił się znacząco w porównaniu do wersji 1.0
    Proces konwersji polega odpowiednio na:
    1) Wczytaniu pliku DXF
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    2) Wyznaczeniu zera rysunku
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    3) Wyborze obiektów do operacji
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    4) Wyborze jednej z 5 operacji
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    5) Wyborze narzędzia
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    6) Ustawieniu parametrów operacji
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    7) Dodaniu operacji do listy zdefiniowanych operacji
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    8) Wygenerowaniu trasy narzędzia
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    9) Zapisaniu G-KODU do pliku

    G-KOD wykonywalny jest przez program mach3(mm) oraz CADICAM CNC

    Poniżej przykładowe efekty pracy dla każdego typu operacji:
    Kontur:
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Frezowanie wewnętrzne
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Frezowanie zewnętrzne
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Frezowanie kieszeni
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Wiercenie centralne
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Frezowanie kieszeni z detekcją wysp
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs

    Konwerter BMP na DXF
    Konwerter ten głównie powstał w celu konwertowania obrazu ścieżek PCB na DXF.
    Postanowiłem wykonać moduł umożliwiający wyfrezowanie płytki PCB z plików wyjściowych dowolnego programu do projektowania PCB.
    Standardem są pliki gerber ale po próbie analizy tych plików stwierdziłem, że jak ktoś wymyślił tak pop... sposób na opis czegoś prostego to niech się sam z tym męczy. Drugim argumentem była możliwość wykonywania pcb bez posiadania plików gerber. Niektóre projekty udostępnione są w formie bitmapy lub pdf(z którego łatwo zrobić obraz rastrowy). Stąd zrodził się pomysł na tego typu konwerter.
    Konwersja odbywa się w następujący sposób:

    Wczytanie bliku bitmapy:
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Wyborze progu binaryzacji i dokonania binaryzacji
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Oczyszczeniu z drobnych wypustek i dziur
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Wyborze algorytmu
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Przygotowaniu obrazu
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Ustawieniu parametrów i dokonaniu wektoryzacji
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Zapisie pliku DXF
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs

    Z tak przygotowanego rysunku mozna wygenerować G-KOD:
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs

    Sterowanie Frezarką
    Sterowanie frezarką to moduł nowy. Przed budową tego modułu zastanawiałem się jak to ugryźć. Sterowanie po porcie LPT ograniczy mnie do określonych systemów operacyjnych czy też określonych starych sprzętów - bo w nowym komputerze mało kto posiada port równoległy.
    Postanowiłem więc zrobić coś więcej i tak postał Sterownik frezarki z dedykowanym interfejsem (którego nazwałem CADICAM - USB) komunikującym się z komputerem przez port USB widziany w komputerze jako port szeregowy. Opis projektu CADICAM-USB przedstawię w dalszej części.

    Sterownik frezarki składa się z dwóch ekranów.
    Ekran ustawień:
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Tutaj konfiguruje się wejścia (jest ich 7) oraz wyjścia (jest ich 8) interfejsu CADICAM-USB.
    Konfiguruje się tutaj również port komunikacyjny oraz parametry/ustawienia silników.
    Ekran sterowania:
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Sterownik umożliwia pracę w 3 trybach:
    Sterowanie prędkościowe:
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    W trybie tym sterujemy ruchem osi ze stałą prędkością (zadawaną w okienku prędkości) wciskając przyciski na ekranie lun klawisze strzałek oraz pageUp oraz pageDwn na klawiaturze.
    Sterowanie pozycyjne:
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    W trybie tym zadajemy pozycję do osiągnięcia. Ruch odbywa się z zadaną prędkością.
    Sterowanie G-Kodem:
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    W trybie tym wczytujemy G-KOD wygenerowany przez program CADICAM, uruchamiamy obróbkę i idziemy na kawę :)
    Filmik z działania:

    Link


    Interfejs CADICAM-USB
    Interfejs CADICAM-USB jest banalnie prosty.
    Podstawowa wersja składa się z konwertera USB-UART na FT232RL oraz płytki STM32F4 Discovery.
    Poniżej schemat podstawowy interfejsu CADICAM-USB:
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs
    Rozbudowa zależy od tego do czego interfejs jest podłączony.
    Ja posiadam jeszcze na wyjściach konwertery logiczne 3V->5V i na wejściach 5V->3V oraz zewnętrzne diody (PD15 - dioda błędu braku danych, PD14 - dioda sygnalizacji zadziałania wejścia czułości) i zewnętrzny przycisk reset. Całość zamknięta w obudowie uniwersalnej.

    W załączniku soft do interfejsu CADICAM-USB oraz demonstracyjna wersja oprogramowania CADICAM CNC.
    Tym razem ograniczenia w wersji demonstracyjnej są bardzo symboliczne (bo być muszą) i polegają na:
    Ograniczenie pola roboczego kreatora do -250 : 250mm (a więc efektywnie kwadrat 0.5x0.5m).
    Ograniczenie maksymalnej liczbie zdefiniowanych operacji w jednej turze do 5
    Ograniczenie maksymalnej liczby obiektów w konwerterze na g-kod do 10
    Ograniczenie linii G-kodu do 1000

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    drzasiek
    Specjalista - Mikrokontrolery
    Offline 
    Z wykształcenia mgr inż. w kierunku elektronika i telekomunikacja. Z Zawodu Konstruktor - Elektronik. Z Zamiłowania - konstruktor maszyn i urządzeń.
    Specjalizuje się w: avr, arm embedded systems, maszyny cnc
    drzasiek napisał 2143 postów o ocenie 3082, pomógł 106 razy. Jest z nami od 2009 roku.
  • IGE-XAO
  • #2
    szymon122
    Poziom 38  
    Ogromne gratulacje za tak udany program!
    Jest wiele programów do sterowania frezarką ale większość z nich jest tak rozbudowana, że sporo czasu zajmuje zapoznanie się z ich funkcjami, twój jest prosty a za razem zawiera wszystko co jest potrzebne, bez zbędnych dodatków.
    Wyszedł na prawdę dobry program, przejrzysty, osoba która pierwszy raz go uruchomi bez problemu wszystko zrozumie, nie trzeba żadnych "instrukcji", jest to nie lada wyczyn zrobić coś co jest zrozumiałe nie tylko dla autora ale i dla każdego użytkownika ;)
    Jako, że sam nie posiadam frezarki CNC (ale od dłuższego czasu mażę o niej :D) to nie mogę go przetestować ale miałbym parę pytań co do programu:
    1. Czy ta wersja powstała również w Qt Creator i ile trwało jej stworzenie?
    2. Gdy wybieramy narzędzie to mamy do wyboru między innymi wiertło albo frez, czym to się różni jeśli chodzi o sterowanie frezarką? Jeśli wiertło i frez mają np 2mm to trasa będzie i tak chyba taka sama. Chodzi o to, że frez nie może się "wwiercić" w miejsce gdzie nie ma jeszcze otworu (nie może zacząć od miejsca na środku powierzchni)?
    3. "G-KOD wykonywalny jest przez program mach3" czyli musimy mieć program mach3 aby korzystać z twojego?
    4. "Konwerter BMP na DXF" korzystałeś tutaj z jakiejś gotowej biblioteki która zamienia BMP na jakieś wartości liczbowe? Jak działa taka przemiana?
    5. "Wyborze progu binaryzacji i dokonania binaryzacji " Za co odpowiada próg binaryzacji? Większy próg to po prostu bardziej dokładne odwzorowanie bitmapy?
    6. "Interfejs CADICAM-USB" do czego wykorzystujesz wejścia? Ta płytka posiada port USB, więc po co dodatkowa przejściówka USB/UART? (usb jest tylko do programowania?)
    7. Mając dwie przejściówki USB/LPT możemy używać wyjść 0-7 i 8-15 na tej samej zasadzie czy w danym momencie może być "aktywna" tylko jedna?
    9. " dioda sygnalizacji zadziałania wejścia czułości" Co jest podłączone do tego wejścia?
    9. "Ograniczenie linii G-kodu do 1000" jaki to jest mniej więcej projekt? Tak orientacyjnie, ile linii miał ten napis elektroda?
    10. Frezarka z filmiku to twoja konstrukcja czy kupiłeś ją (jeśli tak to jaki był jej koszt?)?
    (Przepraszam za ilość pytać ale projekt jest bardzo ciekawy :D )
    Jeszcze raz gratulację!
  • #3
    damian5602
    Poziom 9  
    Nie wiem czemu ale mi Windows Defender wykrył Trojana w pliku .rar z wsadem
  • #4
    miroskop
    Poziom 22  
    No pięknie! Już myślałem, że ten wcześniejszy temat o Cadicamie umarł a tu proszę: niespodzianka.
    Jestem pod wrażeniem wykonanej pracy! Program zainstalowałem i na razie tylko obejrzałem. Głębsza analiza dopiero w przyszłym roku ;) Szkoda, że nie współpracuje z Arduino Uno bo bym go przetestował w boju. Obecnie korzystam z Estlcam dlatego to Arduino.
    Na moim laptopie z rozdzielczością 1366x768 te dolne przyciski (np. "Uruchom sterowanie") chowają się za dolną belką a okienka programu nie potrafię zmniejszyć.
    Popraw "Odświerz" na "Odśwież" bo oczy bolą.
  • #5
    drzasiek
    Specjalista - Mikrokontrolery
    Cytat:

    1. Czy ta wersja powstała również w Qt Creator i ile trwało jej stworzenie?

    Tak. Aplikacja powstaje z użyciem biblioteki Qt 5.5.1 w Qt Creator. Niestety nie pamiętam kiedy dokładnie rozpocząłem pracę nad CADICAM (w międzyczasie zmieniłem komputer i wszystkie archiwa do pewnego momentu mam na starym a nie chce mi się go włączać). Szacuję, że jest to około 4-5 miesięcy dorywczo. Czasami z przerwami, czasami bardziej intensywnie.
    Cytat:
    2. Gdy wybieramy narzędzie to mamy do wyboru między innymi wiertło albo frez, czym to się różni jeśli chodzi o sterowanie frezarką? Jeśli wiertło i frez mają np 2mm to trasa będzie i tak chyba taka sama. Chodzi o to, że frez nie może się "wwiercić" w miejsce gdzie nie ma jeszcze otworu (nie może zacząć od miejsca na środku powierzchni)?

    Nie różni się w sterowaniu. Informacja dotycząca rodzaju narzędzia, średnicy narzędzia, prędkości obrotowej wrzeciona wyświetlana jest na początku każdej nowej operacji komendą M00 i program jest pauzowany aby operator mógł zamontować odpowiednie narzędzie i ustawić obroty wrzeciona.
    Cytat:
    3. "G-KOD wykonywalny jest przez program mach3" czyli musimy mieć program mach3 aby korzystać z twojego?

    Nie potrzeba programu mach3. Początkowo CADICAM nie posiadał modułu sterowania frezarką, a więc G-KOD przygotowywany był właśnie pod program mach3. Jednak mach3 nie jest programem tanim, a od pewnego czasu szanuję pracę innych i nie korzystam z programów nielegalnych/pirackich. Chce, aby szanowano moją prace a więc i ja szanuję pracę innych i nie kradnę oprogramowania. Dlatego powstał moduł do sterowania frezarką.
    Cytat:
    4. "Konwerter BMP na DXF" korzystałeś tutaj z jakiejś gotowej biblioteki która zamienia BMP na jakieś wartości liczbowe? Jak działa taka przemiana?

    Nigdzie nie korzystam z gotowych algorytmów ani też z gotowych kodów. Wszystkie algorytmy są wymyślone przeze mnie i zaimplementowane.
    Cytat:
    5. "Wyborze progu binaryzacji i dokonania binaryzacji " Za co odpowiada próg binaryzacji? Większy próg to po prostu bardziej dokładne odwzorowanie bitmapy?

    Próg binaryacji to poziom szarości (0-255) powyżej którego pixel zamieniany jest na biały a poniżej na czarny.
    Cytat:
    6. "Interfejs CADICAM-USB" do czego wykorzystujesz wejścia? Ta płytka posiada port USB, więc po co dodatkowa przejściówka USB/UART? (usb jest tylko do programowania?)

    Gniazdo mini-USB to port programatora ST-LINK na płycie Discovery. Gniazdo micro USB to USB-OTG mikrokontrolera. Jednak narazie nie czułem się na siłach wykorzystania czystego interfejsu USB zarówno od strony komputera jak i mikrokontrolera. Po prostu musiałbym poświęcić na to trochę czasu.
    Cytat:
    7. Mając dwie przejściówki USB/LPT możemy używać wyjść 0-7 i 8-15 na tej samej zasadzie czy w danym momencie może być "aktywna" tylko jedna?

    Nie wiem o jakich przejściówkach mówisz?
    Cytat:
    9. " dioda sygnalizacji zadziałania wejścia czułości" Co jest podłączone do tego wejścia?

    Do wejść czułości podłącza się sygnały krytyczne (u mnie to sygnały z czujników krańcowych) powodujące natychmiastowe zatrzymanie pracy. CADICAM-USB działa na zasadzie buforowania a więc posiada opóźnienie, najechanie na krańcówkę musi spowodować natychmiastową reakcję.
    Cytat:
    9. "Ograniczenie linii G-kodu do 1000" jaki to jest mniej więcej projekt? Tak orientacyjnie, ile linii miał ten napis elektroda?

    To zależy od radzaju czcionki. Obecnie w programie cadicam są czcionki o bardzo dużej rozdzielczości, jedna litera potrafi posiadać kilkaset linii. Nie jest to konieczne przy wykonywaniu napisów o niedużej wielkości bo tej rozdzielczości i tak nie widać a więc muszę przemyśleć sposób na ograniczanie rozdzielczości czcionki dla litej mniejszych rozmiarów.
    Cytat:
    10. Frezarka z filmiku to twoja konstrukcja czy kupiłeś ją (jeśli tak to jaki był jej koszt?)?

    Mój projekt, moje wykonanie. Prezentowałem ją tutaj:
    https://www.elektroda.pl/rtvforum/topic3198430.html
    Dodano po 58 [sekundy]:
    damian5602 napisał:
    Nie wiem czemu ale mi Windows Defender wykrył Trojana w pliku .rar z wsadem

    No nie wiem dlaczego. Tam jest tylko hex.
    Dodano po 2 [minuty]:
    miroskop napisał:
    No pięknie! Już myślałem, że ten wcześniejszy temat o Cadicamie umarł a tu proszę: niespodzianka.
    Jestem pod wrażeniem wykonanej pracy! Program zainstalowałem i na razie tylko obejrzałem. Głębsza analiza dopiero w przyszłym roku ;) Szkoda, że nie współpracuje z Arduino Uno bo bym go przetestował w boju. Obecnie korzystam z Estlcam dlatego to Arduino.
    Na moim laptopie z rozdzielczością 1366x768 te dolne przyciski (np. "Uruchom sterowanie") chowają się za dolną belką a okienka programu nie potrafię zmniejszyć.
    Popraw "Odświerz" na "Odśwież" bo oczy bolą.


    Okno programu jest nie "zmniejszalne". Możesz włączyć autoukrywania paska na dole (ja tak mam bo również się chowa).
    Błędy ortograficzne u mnie się zdarzają. W miarę sugestii będę poprawiał :)
  • #6
    miroskop
    Poziom 22  
    Jestem w trakcie testowania pierwszego bloku, czyli robię rysunek DXF. Brakuje mi BARDZO osobnego przycisku "Wstaw" bo teraz wystarczy, że przełączam funkcje (np. "Prostokąt", "Elipsa" itd.) to od razu program je wstawia do rysunku z parametrami domyślnymi. Poza tym, jak już wpisuję jakiś parametr (np. długość boku) to chciałbym go zatwierdzić klawiszem "Enter" a tu "Zonk": od razu tworzę taki niedokończony obiekt. Mało tego, jak już coś narysuję, czyli wpiszę parametry i "Enter", i najadę kursorem na pole rysunku to ten obiekt znika bezpowrotnie. Więc albo ja coś źle robię albo program. Mam Windows7 64.
  • #7
    drzasiek
    Specjalista - Mikrokontrolery
    Aby zakończyć wstawianie danego kształtu trzeba kliknąć prawym przyciskiem myszy i kształt się zakończy (jeśli jest rozpoczęty) albo zniknie jeśli nie rozpoczęty.
    Jak wpisujesz parametry z palca podczas tworzenia kształtu to pomiędzy parametrami poruszasz się klawiszem TAB. Klawisz enter kończy edycję parametrów kształtu, ale nie kończy edycji kształtu a więc jeśli spowrotem najedziesz kursorem na pole robocze to ponownie kształt będzie się edytował ale dynamicznie za myszą.
    Sposób 1. Wyklikanie kształtu mniej więcej i zakończenie prawym klawiszem (lub automatycznie po wyklikaniu wszystkich punktów) i następnie edycja parametrów zaznaczając go w oknie kształtów.
    Sposób 2. Rozpoczęcie tworzenia kształtu poprzez wybór kształtu i kliknięcie punktu na polu roboczym a następnie ustawianie po kolei parametrów kształtu w parametrach po prawej stronie, poruszając się klawiszem TAB. Po zakończeniu edycji wszystkich parametrów klikamy prawym klawiszem myszy aby zakończyć kształt z ustawionymi parametrami.
  • IGE-XAO
  • #8
    miroskop
    Poziom 22  
    Dzięki za "helpa". Wypróbuję te sposoby.

    10 minut później: to działa! Po prostu mam inne nawyki w rysowaniu.
  • #9
    Piotrek_I
    Poziom 11  
    Po raz kolejny chylę czoła i chętnie zostanę beta testerem;) Robisz dobrą konkurencję do Estlcam. Tego właśnie potrzebuje nieprzemysłowa branża CNC.
  • #10
    Dariusz Goliński
    Poziom 22  
    Siema
    Odwaliłeś kawał dobrej roboty.
    Sam posiadam maszynkę charlyrobot niestety nie posiadam do niej oryginalnego softy a ten z kosztuje 320 euro w najtańszej wersji.
    Wyciągnąłem z oryginalnego sterowania niezbędne sygnały i podczepiłem SSK-MB.
    Zainstalowałem Mach3 ale nie bardzo mi ten soft pracuje. Twój jak najbardziej jest logiczny i będę na pewno chciał niego skorzystać.

    Jak można zaprogramować STM32F4 Discovery. Można go zaprogramować poprzez TPI lub PDI czy trzeba mieć JTAG ?
  • #11
    drzasiek
    Specjalista - Mikrokontrolery
    Discovery ma na sobie ST-Link czyli programator. Podłączasz się przez mikro-USB do kompa. Na kompie instalujesz STM32 ST-Link Utility i masz wszystko. Instrukcję jak wgrać przez Ulility na pewno znajdziesz w sieci a jak nie to pomogę. To dosłownie 3 kliknięcia.
  • #12
    Dariusz Goliński
    Poziom 22  
    Dzięki wielkie.
    Czekam na wypłatę i ruszam do działania.
  • #13
    marciu11
    Poziom 15  
    Witam
    Dobra robota!
    W dobie czasowego już zapomnienia o LPT - tym bardziej w laptopach, a ich zaletą jest kompaktowość, brak dobrych i tanich alternatyw na USB.

    Dwa pytania jak przedstawia się buforowanie przesyłanych danych z LPT do procesora? Jaki jest zapas danych.

    Druga sprawa nie dało by się zwiększyć ilość pogramowalnych wyjść dla sterownika. Obecnie można wybrać albo wrzeciono, albo chłodzenie. A przydało by się i to i to. W sterowniku chyba są jeszcze wolne piny do wykorzystania.
    Można by nawet podświetlanie zrobić i jeszcze coś by się znalazło.
    To pojedyncze bity więc raczej ograniczeń nie ma co do ilości danych przesyłanych.
    No chyba, że to tylko takie ograniczenie wersji free, to rozumiem :)

    Aha jeszcze takie pytanie pomocnicze, jaki zestaw komend G-kodu obsługuje sterownik.
    projektując coś na przykład w Inventorze, warto wiedzieć jaki postprocesor dobrać.

    Pozdrawiam i dobrego Roku.
  • #14
    drzasiek
    Specjalista - Mikrokontrolery
    Pierwsza sprawa:
    CADICAM-USB to nie przejściówka USB-LPT ale bufor szeregowo równoległy.
    I tylko dlatego mój CADICAM-USB posiada gniazdo DB25 na obudowie, ponieważ mam sterownik frezarki który przeznaczony był do sterowania przez port LPT-DB25 i do niego chciałem się dostosować.

    Szukałem zastanawiając się nad pomysłem jak wykonać interfejs szeregowo-równoległy do sterowania Frezarką. Rozważałem zastosowanie gotowego rozwiązania, wykorzystując np. konwerter na układzie FTDI FT245 ale nie znam tego układu, miałem wątpliwości co do sposobu sterowania. Sterowanie(wysyłanie danych) przez port szeregowy umożliwia mi biblioteka Qt a więc nie uzależniam kodu od systemu operacyjnego. Z potrzeby wykorzystania i zastosowania interfejsu który będę mógł konfigurować, wykonałem CADICAM USB. A że zarówno discovery jak i konwerter USB-UART posiadałem, sprawa poszła szybko.

    Jeśli chodzi o buforowanie to buforowanie jest bo być musi. Interfejs ma podwójne buforowanie po 200ms.
    Jeśli chodzi o ilość wyjść to wynika to z długości znaku szeregówki. Wysyłam 8 bitów.
    Jeśli przeznaczę 2 bajty na jeden odcinek czasu to stracę połowę maksymalnej częstotliwości.
    Obecnie jeden impuls (minimalna długość) na wyjściu równoległym to 10us.
    W sumie nie odczuwałem dyskomfortu z powodu tylko 8 wyjść bo moja frezarka zarówno wrzeciono jak i chłodziło uruchamiane ma przełącznikiem :)
    Jednak w tym momencie wpadł mi do głowy pomysł w jaki sposób dorzucić kilka wyjść sterujących nie krytycznych czasowo. Do załączania i wyłączania narzędzi spokojnie wystarczy.

    Co do zestawu komend, narazie jest ich tak niewiele aby tylko wystarczyło do sterowania G-Kodem wygenerowanym przez CADICAM. Natomiast program jest w ciągłym rozwoju i z pewnością wszystko się rozwinie już wkrótce.
  • #15
    simw
    Poziom 23  
    Świetny projekt, gratuje wiedzy i konsekwencji.
    Nie mam żadnego doświadczenia z CNC, ale sam temat mnie zaintrygował i z ciekawości pobrałem demo i potestowałem w zakresie konwersji z BMP do DXF. Obsługa banalnie łatwa i efekt zgodny z oczekiwaniem. Od razu przypomniał mi się pewien wątek na elektrodzie, w którym zaprezentowano program do reverse ingeneering'u PCB. Mam wrażenie, że moduł który testowałem, oczywiście po sporym rozwinięciu, mógłby być również takim zalążkiem do podobnego programu. Być może nawet prostszego w użyciu. Tamten mi się wydawał mocno skomplikowany, a tu podstawowy moduł już jest obiecujący.
    Oczywiście to takie luźne przemyślenia. Fork CADICAM'a z opcją RE to może ciekawa propozycja na przyszłość...
  • #16
    Jacek38
    Poziom 12  
    Witam - właśnie próbowałem przetestować CamiCAM'a DXF na G-KOD próbuje załadować plik DXF wygenerowany KiCAD'em wers. KiCAD'a 2016-12-18 3ffa37c - niestety nie ładuje mi DXF'a na chwilę wyskakuje jakiś błąd - wyświetlany przez 1 - 2 sekundy i komunikat znika - ekran pusty - może źle wyeksportowałem plik DXF'a z KiCAD'a - proszę o pomoc pozdrawiam Jacek.
  • #17
    drzasiek
    Specjalista - Mikrokontrolery
    Cześć.
    Nawet nie wiedziałem, że KiCad eksportuje takie fajne dxf-y.
    Otworzyłem twój DXF w notatniku i widzę, że zapisany jest w innym "typie" dxf. Przyznam, że się nie wgłębiałem ile rodzai zapisu jest, natomiast tworząc CADiCAM korzystałem z opisu struktury pliku na stronie autodeska i wyszukuję słowa kluczowe kształtów. Tutaj ich nie ma.
    Natomiast po otworzeniu twojego dxf w innym programie darmowym, np A9CAD i zapisaniu do DXF, ten już jest otwieralny przez CADICAM.
    Problem jest w tym, że dxf który wyeksportowałeś składa się aż 28948 linii oraz 240 okręgów. Obecny sposób wyświetlania rysunku przez CADICAM jest zbyt prosty aby sobie z tym w szybki sposób radzić i program strasznie przymula. Problem ten zauważam i w planach jest przebudowa sposobu wyświetlania na bardziej optymalny. Natomiast program do konwersji DXF na G-KOD nie sprawdziłem, bo nie wiem w jakim czasie poradzi sobie z segregacją tak dużego pliku. Trzeba by sprawdzić jak z takim problemem radzą sobie inne programy CAM.
    CADICAM CNC 1.1 oraz CADICAM USB - Program CAD/CAM, sterownik CNC oraz interfejs

    Obecnie pracuję nad modułem CADICAM-PCB który umożliwi wczytywanie plików GERBER i generowanie bezpośrednio z nich G-KODU.
    Zobaczymy, czy sobie z tym poradzę, bo problem jest większy niż się początkowo wydawało.
    Jak to się uda, być może nie trzeba będzie eksportować i konwertować tak dużych rysunków.
  • #18
    Dariusz Goliński
    Poziom 22  
    Cześć
    Właśnie poskładałem wszystko do kupy i ...... nie bangla.
    Konwerter USB-RS232 ustawiony mam na 5V
    Po uruchomieniu układu i próbie uruchomieniu silnika soft krzyczy że brak połączenia z CADICAM.
    Port pięknie zameldował mi się w managerze jako Com3 i tak ustawiłem w sofcie.
    System to Windka XP.

    Masz jakiś pomysł co jeszcze sprawdzić ?
  • #19
    drzasiek
    Specjalista - Mikrokontrolery
    Po uruchomieniu programu w sekcji ustawienia wybierasz port i klikasz zapisz.
    Wchodzisz w sekcję sterowanie i klikasz Uruchom sterowanie po czym wciskasz krótko reset procesora na płytce DISCOVERY. (chodzi o wyczyszczenie buforów, reset synchronizacji).
    Daj znać czy działa.
  • #20
    Dariusz Goliński
    Poziom 22  
    Siemka
    W końcu znalazłem trochę czasu na uruchomienie zestawu.
    Mam zestaw taki jak twój i podpiąłem to do SSK-MB.
    Pierwsze problemy i wrażenia.
    Po nawiązaniu połączenia zgodnie z twoją instrukcją daje się sterować silnikami w trybie ręcznym natomiast program nie reaguje na krańcówki. Czy płytka będzie poprawnie działała ze stanami 0 - 5 V ? Krańcówki są podciągnięte do 5 V rezystorem 4,7K. Może byś dodał w programie jakieś kontrolki które pokazywały by aktywacje krańcówek. Ponadto brakuje mi przycisku IDŹ DO PUNKTÓW ZEROWYCH ale to może moje przyzwyczajenie z macha.
    Podczas przechodzenia pomiędzy zakładkami połączenie jest tracone.
    Przycisk WŁĄCZ WRZECIONO działa odwrotnie niezależnie od ustawień L czy H.
    Przycisk URUCHOM SILNIKI cały czas jest na czerwono i tylko pod czas klikania zapala się na zielono ale pomimo to silniki są załączone od momentu nawiązaniu połączenia.
    Po kliknięciu ZAPISZ przy ustawianiu pinów krańcówka Z się sama odhacza.

    Na razie tyle znalazłem.
    P.S.
    Rysuję sobie prostokąt. Zapisuje na dysku. Otwieram w zakłądce do generowania kodu. Ustawiam narzędzie i generuje G-kod. Jedyne co mi generuje wygląda następująco:

    G90
    M9
    M5
    M2

    Sprawdzone na 2 komputerach. Windows XP.

    P.S.1

    Trzeba wcisnąć Dodaj operację żeby poprawnie się wygenerował G-kod.
  • #21
    drzasiek
    Specjalista - Mikrokontrolery
    Cytat:

    Po nawiązaniu połączenia zgodnie z twoją instrukcją daje się sterować silnikami w trybie ręcznym natomiast program nie reaguje na krańcówki.

    A to dziwne bo u mnie działa prawidłowo wykrywanie krańcówek. Czy podłączyłeś krańcówki do wejść czułości? Czy na pewno następuje zmiana sygnału na tych wejściach?

    Cytat:
    Czy płytka będzie poprawnie działała ze stanami 0 - 5 V ? Krańcówki są podciągnięte do 5 V rezystorem 4,7K. Może byś dodał w programie jakieś kontrolki które pokazywały by aktywacje krańcówek.


    uC zasilany jest napięciem 3V, natomiast większość pinów posiada 5V tolerancję. Ja użyłem konwerterów logicznych aby na wejścia uC podawć napięcie zasilania uC.
    Nie wiem czemu tego nie widzisz ale wejścia mają swoje checkboxy na pasku na dole i zmieniają stan jak się je wyzwala.

    Cytat:
    Ponadto brakuje mi przycisku IDŹ DO PUNKTÓW ZEROWYCH ale to może moje przyzwyczajenie z macha.

    Chyba nie przyjrzałeś się dobrze. W sterowaniu pozycyjnym jest przycisk idź do 0,0,0 lub do każdej innej pozycji

    Cytat:
    Podczas przechodzenia pomiędzy zakładkami połączenie jest tracone.

    Oczywiście. To jest system operacyjny. Połączenie należy nawiązać po skonfigurowaniu wszystkiego i uruchomić sterowanie i nie przeszkadzać programowi podczas pracy, bo istnieje ryzyko, że system operacyjny zabierze mu za dużo czasu i połączenie się utraci (brak ciągłości danych)

    Cytat:
    Przycisk WŁĄCZ WRZECIONO działa odwrotnie niezależnie od ustawień L czy H.

    Dziwne, Mi działa dobrze. Jesteś pewien? Przycisk zielony, wrzeciono włączone, czerwony wrzeciono wyłączone.

    Cytat:
    Przycisk URUCHOM SILNIKI cały czas jest na czerwono i tylko pod czas klikania zapala się na zielono ale pomimo to silniki są załączone od momentu nawiązaniu połączenia.

    Uruchomić silniki możesz dopiero po nawiązaniu połączenia. Dziwne jest to co piszesz bo i ta funkcja działa u mnie prawidłowo.

    Cytat:
    Po kliknięciu ZAPISZ przy ustawianiu pinów krańcówka Z się sama odhacza.

    Jak się sama zahacza? Nie rozumiem.

    Cytat:
    Na razie tyle znalazłem.
    P.S.
    Rysuję sobie prostokąt. Zapisuje na dysku. Otwieram w zakłądce do generowania kodu. Ustawiam narzędzie i generuje G-kod. Jedyne co mi generuje wygląda następująco:

    G90
    M9
    M5
    M2

    Sprawdzone na 2 komputerach. Windows XP.

    P.S.1

    Trzeba wcisnąć Dodaj operację żeby poprawnie się wygenerował G-kod.

    Nie rozumiem wkońcu czy tutaj był problem czy nie? Operacje oczywiście trzeba dodać aby program miał z czego generować.
  • #22
    Dariusz Goliński
    Poziom 22  
    Cześć.
    Z większością problemów się uporałem. Nie bardzo rozumiałem działania checkbox-ów bo można w nie klikać . Może byś je jakoś inaczej zaprojektował ?
    Co do wejść to się okazało że moja płytka ma problem z PE0 i z PE1. Problem polega na tym że po podciągnięciu tych pinów rezystorem 2.2K do 3V to napięcie na wejściu to 0,3V. Wejścia nie mają zwarcia do masy a pomimo to zbijają sygnał do masy więc wyszedłem z założenia że są uwalone i wykorzystałem kolejne ale tym razem dodając transoptory. Ponadto płytka SSK-MB też nie jest bez wad i ma pomylony opis złącza.
    Nadal jednak mam problem z uruchom silniki. Jak je klikam to tylko w momencie kliku zapala się na zielono ale potem znów jest czerwony. Może coś sprawdzasz na tych pinach ? Masz jakiś pomysł ?
  • #23
    drzasiek
    Specjalista - Mikrokontrolery
    Dariusz Goliński napisał:
    Cześć.
    Z większością problemów się uporałem. Nie bardzo rozumiałem działania checkbox-ów bo można w nie klikać . Może byś je jakoś inaczej zaprojektował ?

    Tego nie trzeba robić inaczej tylko muszę wyłączyć możliwość edycji tych checkboksów i już będzie w porządku. Po prostu mi umknęło.
    Dariusz Goliński napisał:

    Nadal jednak mam problem z uruchom silniki. Jak je klikam to tylko w momencie kliku zapala się na zielono ale potem znów jest czerwony. Może coś sprawdzasz na tych pinach ? Masz jakiś pomysł ?

    No oczywiście że są sprawdzane. Jak inaczej? Inne oprogramowanie (np Mach) też ci będzie wyłączał silniki jak zaistnieje warunek wyłączenia.
    Silniki się wyłączą między innymi jak utracisz połączenie, przejdziesz do innego modułu CADICAM, jak nastąpi warunek wyzwolenia którejkolwiek krańcówki, E-stop, jak nastąpi zmiana stanu na wejściach czułości.
  • #24
    Dariusz Goliński
    Poziom 22  
    Dzięki za info.
    W machu możesz uruchomić silniki i przesunąć pozycje a krańcówki będą działały w automacie. Ty zaprogramowałeś krańcówki jako wyłączniki krańcowe czyli takie które bezwzględnie wyłączają maszynę, więc żeby zejść z pozycji na którą maszyna pojechała trzeba to zrobić ręcznie aby potem móc uruchomić program. Miałem nadzieje pozycjonowania maszyny na krańcówki tak jak w machu.
    Musiałem niestety zrezygnować z wyłączników krańcowych ponieważ u mnie te wyłączniki aktywowane są poziomem L. Jeżeli tak miałem ustawione to program zrywał komunikacje ( nie dało się nawiązać połączenia ) bo jak przypuszczam program widział że krańcówki są aktywne a nie wiedział jak jest naprawdę bo nie zdążył nawiązać komunikacji. Ponadto jest trochę mało stabilny. Coś tam robię i generuje G-Kod. Potem chcę uruchomić maszynkę a tu problem z nawiązaniem komunikacji.Trzeba zamknąć i uruchomić program aby było OK.
    System mam czysty XP tylko pod tą apkę.

    Mam nadzieję że nie uważasz moich uwag za nadmierne marudzenie.
    Mam okazję po testować Twój soft który uważam za naprawdę fajny więc dorzucam jakieś uwagi co byś mógł poprawić jeżeli uznasz to za stosowne.

    Może uda Ci się coś zrobić aby nie trzeba było używać przycisku RESET na discovery. Może jakiś marker połączenia z programem. Jeżeli brak to wachdog zresetuje płytkę. ?
  • #25
    drzasiek
    Specjalista - Mikrokontrolery
    Nie,
    Dzięki, że znalazłeś czas na testowanie.
    Obecnie nie zajmuję się modułem sterowania maszyną (ten który jest powstał w 2 tygodnie) ale na pewno będzie miał on dodane sporo poprawek.
    Opcję resetowania uC na CADICAM-USB też się usunie. Narazie to jest najprostsze rozwiązanie.
    Co do stabilności połączenia, nie wiem na ile uda się uzyskać więcej niż jest. Obecnie samo sterowanie maszyną pracuje w kilku podzielonych wątkach gdzie wątek komunikacji ma priorytet czasu rzeczywistego. Nie zmienia to faktu, że jak czasami złapię myszką za belkę apki i próbuję ją przesunąć to system całkowicie zabiera mi czas procesora dla obsługi wątku komunikacji i tracę komunikację (mija timeout). Tak jak mówiłem, nie jestem programistą a elektronikiem. Lubię i znam programowanie niskiego poziomu, C++ i programowanie aplikacji na Systemy operacyjne to dla mnie momentami magia więc nie wszystko działa tak jakby to zrobił rasowy programista.
  • #26
    mjerzym
    Poziom 9  
    Witam.
    Mam pytanie odnośnie działania cadicama.
    Czy oprogramowanie CADICAM ma możliwość importowania gotowego g-codu do grawerki 3d - płaskorzeźba?
    Czy korzystając z STM32F4 Discovery i oprogramowania CADICAM-USB można korzystać z innego oprogramowania np mach.
    Czy pełna wersja będzie dostępna komercyjnie?
    Pozdrawiam.
  • #27
    SANT0
    Poziom 1  
    Mam mały problem z tym programem, nie daję rady przeprowadzić konwersji z dxf na gcode zawiesza się program i nic zrobić nie można.Jakieś pomysły?
    Plik był przygotowane w Corel draw a potem po nie udanej próbie w cadcam i również się zawiesza
  • #28
    drzasiek
    Specjalista - Mikrokontrolery
    Powiem tak.
    Z takimi programami jest problem, bo jak się je przedstawi to praktycznie nikt z nich nie korzysta. Natomiast po roku ciężko do nich wrócić aby poprawić błędy.
    CADICAM trochę mnie wypalił w chęci budowania takiego oprogramowania ze względu na małe zainteresowanie. Na ponad pół roku całkowicie został odstawiony.
    Powróciła chęć poprawy, ponieważ w CADICAM jest bardzo dużo błędów (które niestety sam zauważyłem).
    O jakiegoś czasu program rozwijany jest w innej formie, tzn pozostał tylko moduł CAM. Natomiast przez natłok pracy i obowiązków domowych praktycznie stoi w miejscu. Mam nadzieję, że motywacja wróci i uda się program dokończyć.
  • #29
    Dariusz Goliński
    Poziom 22  
    Cześć drzasiek
    A ja napiszę co o tym myślę.
    Kiedy przedstawiłeś projekt to się na niego strasznie napaliłem.
    Kupiłem płytkę Discovery, przerobiłem swój sterownik i zacząłem zabawę.
    Nawet do Ciebie pisałem z jakimś tam problemem i mi nawet pomogłeś.
    Bardzo chciałem go używać ale martwiło mnie trochę sposób licencjonowania.
    Mam CNC i wykorzystuję ją rzadko i do prostych projektów.
    Mam mało czasu i uczenie się kolejnego CAM-a po prostu mnie wkurza a nie znalazłem idealnego. Ostatnio wziąłem się za scheetcam-a ale czas m i na zabawę z nim nie pozwala.
    Twój sofcik jest prosty i fajnie udokumentowany. Nie trzeba mieć wielkiej praktyki aby się go nauczyć. Sterowanie z USB też jest fajne ale obawa przed szybkim zakończeniem projektu oraz ograniczenia w wielkości kodu bez możliwości chociażby wykupienia opcji zdjęcia limitu spowodowały że go odstawiłem na bok ponieważ nie chciałem się uczyć czegoś w czym nie widzę obiecującej przyszłości.

    I to nie jest tak że jestem zbyt tępy do nauki innego softu ale zazdroszczę ludziom którzy mają czas po szkole bądź pracy na swoje hobby w wystarczającej ilości.
    Przypuszczam że zapał innych osób do tego projektu mógł się tak samo zakończyć jak u mnie.

    Rozumiem że pisanie takiego softu wymaga poświęceniu mu wieeeeeeelu godzin . Mam tak ze swoimi projektami. Ale jak byś dał cień nadziei na sof bez ograniczeń to pewnie znalazło by się kilku na testowanie go.

    Gdybyś jednak kiedyś postanowił powrócić do chociażby modułu CAM + sterownik maszyny to chętnie bym powrócił do niego.

    Początki miałeś fajne i szkoda by było abyś wiele godzin swojej pracy wyrzucił od tak do kosza.
  • #30
    drzasiek
    Specjalista - Mikrokontrolery
    Program rozwijam, ale ze względu na brak czasu dzieje się to powoli.
    Narazie nie dorzucam sobie na głowę myślenia jak go sprzedać i czy na nim zarobię. Jeśli się uda go zakończyć i będzie działał wystarczająco dobrze, aby był wart X PLN wtedy pomyślę, jak go sprzedać.
    Póki co wersja którą przedstawiłem była na tyle niepewna i nieprzetestowana, że wstyd by mi było go sprzedawać.