Wlasny sterownik do CNC AVR/STM32

O wszystkim i o niczym ...
Regulamin forum
Nie dyskutujemy na tematy polityczne, religijne i inne tego typu mogące prowadzić do kłótni na forum, od tego są inne "wyspecjalizowane fora".
Awatar użytkownika
RafPe
User
User
Posty: 177
Rejestracja: sobota 05 wrz 2015, 16:22

Wlasny sterownik do CNC AVR/STM32

Postautor: RafPe » środa 14 paź 2015, 19:42

Hey wszystkim ,

Ostatnimi czasy interesuje mnie temat CNC i moze niekoniecznie widze wielki problem zbudowaniu ( jako ze jest duzo DIY ) ale zastanawia mnie pozniej jak to jest z napisaniem obslugi takiego urzadzenia ... czy to sie w ogole przeklada miedzy wysilkiem a efektem koncowym ? Co myslicie ?


Pozdrawiam
Raf

Awatar użytkownika
RafPe
User
User
Posty: 177
Rejestracja: sobota 05 wrz 2015, 16:22

Re: Wlasny sterownik do CNC AVR/STM32

Postautor: RafPe » środa 28 paź 2015, 10:53

W nawiazaniu do tematu robilem przeczesywanie internetu w tej kwestii i w skrocie mozna by rzeknac ze sam sterownik silnikow zeby sie bawic w jego tworzenie to niekoniecznie najbardziej optymalne podejscie. Sterownikow bezposrednio sterujacych silnikami jest multum - wiec po dobrej cenie mozna naprawde fajne wybrac.

Jednak co mnie zainteresowalo to mozliwosc uzycia USB zamiast LTP. Jako ,ze do tej porty to wlasnie to jest najwiekszym problemem i bolaczka wszystkich postow ktore znalazlem. A w wiekszosci tego co czytalem to komercyjne rozwiazania na USB kosztuja krociosy :O

Dlatego pogrzebalem troche bardziej w necie i znalazlem cos takiego jak http://stadi.hu/sw/lptdebug_en.html ktore obrazuje w fajny sposob dostep do LTP. No i wpadlem na pomysl ktory chcialem z Wami zweryfikowac, ze gdyby napisac uzywajac Windows API odczytywanie np danych virtualnego portu LTP a nastepnie po USB wysylac je do ARM'ka ktory mialby podlaczenie do DBM25 ( czyli mialby wyjscie jak do drukarki ) i tam odpowiednio bangowalby portami ustawionymi jako wyjscie :) mozna powiedziec takie USB<-> DB25 pass through :)

Co o czyms takim myslicie ?

Awatar użytkownika
acid3
User
User
Posty: 429
Rejestracja: czwartek 03 wrz 2015, 22:42
Lokalizacja: Kłopoty-Stanisławy
Kontaktowanie:

Re: Wlasny sterownik do CNC AVR/STM32

Postautor: acid3 » środa 28 paź 2015, 16:53

Absolutnie się na tym nie znam ale jak szukałem jakiejś przejsciowki usb->lpt to dowiedziałem się ze lpt jest używane dlatego ze jest portem "czasu rzeczywistego" i wszelkiego rodzaju kombinacje nie będą działać. Jak już to najlepiej samemu napisać program na pc do analizy g-codu i wysyłać po usb dane do płocka który już bezpośrednio będzie wysterowywal sterowniki silników. Dobrze jest też pomyśleć o jakimś feedbacku.

Awatar użytkownika
RafPe
User
User
Posty: 177
Rejestracja: sobota 05 wrz 2015, 16:22

Re: Wlasny sterownik do CNC AVR/STM32

Postautor: RafPe » środa 28 paź 2015, 17:48

Dokladnie tak jak piszesz @acid3 i tak jak wspominal @proton :) Na sam sterownik moze jeszcze nie bede sie rzucac ( mowie tutaj o braniu gotowych sterownikow do wysterowania :) ) ale przejsciowka PC <> usb <> sterowanie powinna byc mozliwa do osiagniecia

Temat na pewno bede poglebiac jako , ze mam teraz pierwsze CNC i ruszaja pierwsze proby plytkowania i wycinania zplexi :)

Awatar użytkownika
j23
User
User
Posty: 412
Rejestracja: czwartek 08 paź 2015, 18:40

Re: Wlasny sterownik do CNC AVR/STM32

Postautor: j23 » środa 28 paź 2015, 20:01

Cześć,

Rafał temat, który poruszyłeś jest dość szeroki. Nie bardzo w tym momencie rozumiem czy interesuje Ciebie zbudowanie przejściówki/adaptera USB[PC]--{ARM/STM32]--[LPT] czy też gotowego urządzenia typu drukarka 3D, jakieś tam mini centrum obróbcze, gdzie z jednej strony będzie sterowanie przez USB, a z drugiej strony gotowy i funkcjonalny sterownik silników (dużej mocy) i być może do tego jakieś mini centrum obróbcze.

Przede wszystkim chciałbym na początek polecić coś takiego jak Linux CNC. Jest to taka dystrybucja Linux'a, która umożliwia sterowanie m.in. przez port LPT (oczywiście pod warunkiem, że sterownik elektroniczny silników jest prawidłowo zbudowany).

Co do przejściówek USB <--> LPT to istnieją takie, które umożliwiają sterowanie, ale albo są one trudno osiągalne (bo są np. stare), albo są to przejściówki z "górnej półki".

Tak czy inaczej z punktu widzenia aplikacji na PC sterującej centrum obróbczym najważniejsze jest dla niej (zanim zacznie wysyłać kod G do maszyny CNC) zapewnienie obustronnej, prawidłowej komunikacji między PC a centrum obróbczym. Ta komunikacja najczęściej oparta jest o protokół RS232, który dotyczy zarówno portu DB9 jak i DB25. Oczywiście mówię tu o szeregowej transmisji danych. W przypadku komunikacji równoległej (port DB25) należałoby zbudować, albo kupić sterownik zamieniający dane z transmisji szeregowej (USB) na transmisję równoległą (LPT) i w drugą stronę (mam na myśli potwierdzenia operacji wysyłania danych, chyba że twórca decyduje się na sterowanie tylko po stronie PC związane z oczyszczaniem bufora transmisji). No właśnie od razu w tym miejscu należy wspomnieć o czymś takim jak bufor transmisji. To jest bardzo ważne, bo bufor ten stanowi ważny element protokołu RS232, w oparciu o który to bufor (a dokładnie obecność w nim danych) następuje wysłanie, bądź nie danych do urządzenia CNC. W praktyce wykorzystuje się dwa bufory: bufor nadawczy i bufor odbiorczy. Tutaj jest taka ciekawostka, od której strony na to patrzeć... Patrzymy od strony sterowania czyli od PC. Bufor odbiorczy to są te dane, które przychodzą od maszyny CNC do PC. Bufor nadawczy to jest to co PC chce wysłać z aplikacji do maszyny CNC. W protokole RS232 są określone ścisłe zależności odnośnie pojemności obu buforów i stanu transmisji danych z tym faktem związanych. W każdym razie jeśli to miała by być ot taka sobie przejściówka z USB do DB25 to rolę potwierdzenia otrzymania danych (kontrola transmisji) mógłby pełnić jakiś MCU jak AVR/STM, który po prostu z jednej strony dysponowałby łączem TX i RX do komunikacji szeregowej, a z drugiej strony dysponowałby odpowiednią ilością wejść/wyjść - a więc około 25, chociaż z tego co mi wiadomo nie potrzeba aż tyle w komunikacji równoległej. Nie wiem jak szybko działa taka dość znana przejściówka oparta na FT232RL, ale gdyby móc ją wykorzystać + MCU do zamiany transmisji to ogólny schemat mógłby wyglądać jakoś tak:
[USB]---[przejściówka FT232]---[MCU]---[DB25]

Jeżeli zaś planowałbyś Rafał zrobić własny sterownik z USB do iluś tam silników krokowych dla np. centrum obróbczego 5D to trzeba by trochę inaczej podejść do wysterowania silników, gdzie poza głównym MCU odpowiedzialnym za transmisję powinny być osobne "małe" MCU jako sterowniki każdy jeden dla jednego silnika. Tak ja bym starał się to wykonać.

Moje doświadczenie w tej branży to praca przy systemach sterujących GE Fanuc do tokarki Aero Turn, GE Fanuc do frezarki (nie pamiętam nazwy niestety) oraz GE Fanuc do tokarki TUG-56Mn.

Wiem, że Tug'a spokojnie można było wysterować przez Linux'a CNC (oczywiście nie robiłem tego, bo nie moja maszyna ;) ale protokół RS232 jak i łącza na tylnym panelu tokarki na to pozwalały).

Pozdrawiam! j23 Jarek
Chcę wiedzieć, jak Bóg stworzył ten świat. Nie interesuje mnie to czy inne zjawisko. Chcę znać Jego myśli, reszta to szczegóły.
ALBERT EINSTEIN

Awatar użytkownika
phill2k
User
User
Posty: 187
Rejestracja: niedziela 18 paź 2015, 00:12

Re: Wlasny sterownik do CNC AVR/STM32

Postautor: phill2k » środa 28 paź 2015, 20:55

Nie za bardzo rozumiem po co chcesz robić przejściówkę USB/LPT ?, dla przykładu masz tu rozwiązanie takiej przejściówki na AVR - https://www-user.tu-chemnitz.de/~ygu/bastelecke/PC/USB2LPT/index.en.htm, ma to jedynie sens w przypadku budowania CNC pod oprogramowanie sterujące na PC które tylko może sterować takim urządzeniem przez port LPT (np. MACH3, Linux CNC, itp). Z racji tego że nowe kompy pozbawione są portu LPT, szuka się rozwiązań sterowania poprzez USB i tendencja jest taka aby przenieść (za implementować) to co do tej pory robiły powyższe programy na część sprzętową czyli uC, a przez USB a praktycznie przez virtulany COM przesyłać tylko G-Code - przykład GRBL

pozdrawiam
phill2k

Awatar użytkownika
RafPe
User
User
Posty: 177
Rejestracja: sobota 05 wrz 2015, 16:22

Re: Wlasny sterownik do CNC AVR/STM32

Postautor: RafPe » środa 28 paź 2015, 21:46

Ogolnie wyglada to tak , ze mam Mach3 ktory smiga naprawde fajnie ale pod windowsem XP na stacji roboczej ktora jest kosmicznie wielka jak na dzisiejsze czasy. Dlatego w ramach ciekawosci hobbistycznej szukam alternatyw dla tego urzadzenia co wiaze sie z wykorzystaniem portu USB a nie LTP :)

A co do tego linku co wrzuciles @phill2k to jest tam niestety napisane
Again, for the blind and deaf: It doesn't work for stepper motors, so not for CNC machines.
czyli nie zadzialaloby dla nas do CNC

Oryginalny zamysl to bylo zbudowanie sterownika np w oparciu o GRBL ale smigajacego nie na Arduino a np na STM32/ARM. Ale mysle , ze @j23 fajnie podsumowal i cos w rodzaju [USB]---[przejściówka FT232]---[MCU]---[DB25] to byloby cos interesujacego.

Temat bede zglebiac i jak cos bedzie sie pojawiac bede uaktualniac ten watek


Wróć do „Hyde Park”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości