Program do sterowania CNC przez RS232

Rozmowy dotyczące oprogramowania sterującego maszynami CNC i sterowników CNC obrabiarek numerycznych

Autor tematu
lukaszSZ999
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 2
Posty: 2
Rejestracja: 10 cze 2012, 15:11
Lokalizacja: Sieradz

Program do sterowania CNC przez RS232

#1

Post napisał: lukaszSZ999 » 10 cze 2012, 15:19

Witam. Zbudowałem sterownik do CNC na wzór sterownika ze strony (TU KLIKNIJ). Zaprogramowałem Atmegę, uruchomiłem układ,
ale ku mojemu zaskoczeniu nie mogę znaleźć programu do jego obsługi przez port RS232.
Na stronie kolega z Czech nie podał z jakiego programu korzystał.
Czy macie pomysł czym to sterować? Proszę o pomoc.

Pozdrawiam



Tagi:


Raven
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 1
Posty: 681
Rejestracja: 24 paź 2011, 11:54
Lokalizacja: Warszawa

#2

Post napisał: Raven » 10 cze 2012, 23:17

LinuxCNC + sterownik obsługujący odpowiednią transmisję po RS.

Tyle wypadło z google (linuxcnc serial port) - na dalsze szukanie nie mam niestety czasu.

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 7861
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#3

Post napisał: tuxcnc » 10 cze 2012, 23:41

Protože jsem chtěl přímý výstup z Eagle do cnc, musel jsem použít mikrokontrolér. Zvolil jsem si ATMega16, protože má dostatek vstupů/výstupů a paměti.
MCU komunikuje s PC na rychlosti 9600/8/N/1 a HW řízení pomocí signálu CTS. Načtená data se ukládají do bufferu, potom se dekóduje instrukce a její parametry.
MCU běží na interním oscilátoru 8 MHz.
Czyli jest to ploter wyłącznie do rysowania płytek PCB współpracujący z przeznaczonym do projektowania takich płytek programem Eagle firmy Cadsoft.
Jak to jest dokładnie zrobione to nie napisano, ale pewnie podobnie do rozwiązania które kiedyś zastosowałem.
Komputer PC wysyła dane przez port COM, a kontroler plotera blokuje port po odebraniu jednego rozkazu, wykonuje go i odblokowuje port i tak dalej.
Ja przesyłałem pliki w formacie HPGL, ale można też inne formaty obsługiwać, tego już autor nie podaje, pewnie można się poznać po zawartości kodu źródłowego dla mikrokontrolera, ale mi się po prostu nie chce, mam ważniejsze zajęcia.

Co do LinuxCNC to z definicji nie obsługuje on transmisji przez port szeregowy z uwagi na jego zbyt małą przepustowość.

.

[ Dodano: 2012-06-10, 23:50 ]
Jednak ciekawość okazała się silniejsza.
W mikrokontrolerze jest interpreter języka HPGL.
Autor ostrzega przed błędami.

Do ściągnięcia są też pliki do programu Eagle umożliwiające eksport projektów do formatu rozpoznawanego przez mikrokontroler.
Tak więc raczej z niczym innym ten ploter współpracować nie będzie, chociaż nie można takiej możliwości wykluczyć.
Zresztą HPGL to 2,5D czyli format nie obsługujący głebokości, nadaje się do rysowania ewentualnie wycinania płaskich detali z płyt czy blach.
Zastosowanie tego plotera jest więc bardzo ograniczone.

.


Autor tematu
lukaszSZ999
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 2
Posty: 2
Rejestracja: 10 cze 2012, 15:11
Lokalizacja: Sieradz

#4

Post napisał: lukaszSZ999 » 11 cze 2012, 14:08

Czyli mam rozumieć że w Eaglu jest opcja wysłania przez RS232 polecenia do sterownika, tak? Zawsze myślałem że program daje tylko możliwość stworzenia pliku który później ładujemy do programy typu MACH3.

[ Dodano: 2012-06-11, 14:28 ]
A gdybym po utworzeniu pliku HPGL użył w WIndowsie komendy

"copy plik.hgl com1"

Czy to spowoduje że windows wyśle ten plik bezpośrednio na port com i sterownik zacznie pracować?

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 7861
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#5

Post napisał: tuxcnc » 11 cze 2012, 23:33

lukaszSZ999 pisze:A gdybym po utworzeniu pliku HPGL użył w WIndowsie komendy

"copy plik.hgl com1"
Dawno tego nie robiłem, ale raczej

Kod: Zaznacz cały

type plik.hgl > com1
Przy wstrzymywaniu sprzętowym portu może wystąpić timeout.
Można go wyłączyć, ale już nie pamiętam jak.

Z tego co wiem, to Eagle nie potrafi niczego wysłać przez port szeregowy.
Po prostu opis na wiadomej stronie jest niekompletny i pewnych rzeczy trzeba się domyślić.

.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Ogólne Dyskusje na Temat Systemów Sterowania CNC”