Autonomiczny sterownik frezarki CNC

Rozmowy na temat układów elektronicznych sterowania obrabiarek CNC

Autor tematu
pswienty
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 5
Posty: 32
Rejestracja: 22 mar 2007, 23:02
Lokalizacja: Białystok

Autonomiczny sterownik frezarki CNC

#1

Post napisał: pswienty » 10 paź 2008, 16:38

Sterownik jest w wersji autonomicznej, steruje maszyną bez podłączenia komputera. Posiada własną pamięć, którą można samemu rozbudować do żądanej wielkości za pomocą kart pamięci SD. Komunikacja odbywa się za pomocą USB. Sterownik jest wykrywany przez system jako pamięć masowa. Wszystkim steruje się za pomocą kolorowego dotykowego wyświetlacz LCD o rozdzielczości 320x240 pikseli.
Układ elektroniczny sterownika został zaprojektowany w oparciu o mikrokontroler AT91SAM7S256 pracuje z częstotliwością 48MHz.
Funkcje jakie działają na dzisiejszy dzień

• Sterowanie 3 osiowe takt (STEP) + kierunek (DIR);
• Sygnał ENABLE do załączenia sterowników silników napędowych;
• 3 czujniki krańcowe;
• 1 czujnik położenia narzędzia;
• Przycisk awaryjnego zatrzymania STOP;
• 2 przekaźniki włącz/wyłącz;
• Możliwość regulacji prędkości posuwów od 1mm/s do maksymalnej bezpiecznej dla konstrukcji maszyny, zarówno w czasie pracy jak i jazdy jałowej;
• Sterowanie za pomocą 5,7 calowego dotykowego kolorowego (256 kolorów) wyświetlacza, na którym są wszystkie niezbędne kontrolki pracującej maszyny oraz klawisze;
• Możliwość wyboru sterowania automatycznego oraz ręcznego;
• Obsługa wszystkich dostępnych kart pamięci typu SD włącznie z SDHC;
• Przesył danych przez port USB ;
• Programowanie sterownika bez użycia zewnętrznego programatora;

Z gcode działa na razie G0 i G1 kod może zawierać małe znaki i duże oraz spacje i inne znaki układ samoczynnie wykryje to co jest potrzebne.
Częstotliwość generowanych impulsów na wyjściu KROK została ograniczona do 100kHz ale pociągnie 500kHz.
Film z działającego układu wstawię na dniach.
Jak wstawić zdjęcie o większej rozdzielczości bo serwer tylko akceptuje rozdzielczość 600x800
Załączniki
Png.jpg
Prototyp urządzenia
Png.jpg (203.88 KiB) Przejrzano 1236 razy
Png2.jpg
przykładowy ekran pracującego urządzenia
Png2.jpg (209.37 KiB) Przejrzano 1231 razy



Tagi:


pwpib
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 3
Posty: 11
Rejestracja: 22 lis 2007, 14:19
Lokalizacja: Wolbrom

#2

Post napisał: pwpib » 10 paź 2008, 17:19

Jestem bardzo zainteresowany, proszę o więcej informacji. Jeżeli ,można proszę na [email protected].


jarekk
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 6
Posty: 1701
Rejestracja: 17 mar 2006, 08:57
Lokalizacja: Gdańsk

#3

Post napisał: jarekk » 10 paź 2008, 19:59

ARM rulez !!

Pozdrawiam kolegę - mam nieco inny sterownik na LPC2378 + 4x LPC2103.
Widzę że kolega zrobił kawał porządnej roboty - wygląda interesująco.
Jako że mam już działający prototyp swojego sterownika ( na razie wymaga PC, choć wspierać będzie również zewnętrzny panel sterujący) chciałem podpytać o parę spraw / wymienić doświadczenia:
- 100kHz/500kHz to chyba szczytowo dla pojedynczych wektorów ? Mój prototyp(na jednym procku) przy 60MHz nie był w stanie dla serii wektorów pokonać bariery 100kHz ( powyżej tej bariery widać było przełączenie wektorów na oscyloskopie w postaci opóźnienia sygnału STEP ). Było to widoczne mimo że do USB był również zewnętrzny specjalizowany procesor.
- program wykonywany jest bezpośrednio z SD ? Czy kopiowany do pamięci wewnętrznej ? Miałem podobny dylemat który skończył się wstawieniem kości NAND bezpośrednio na sterowniku aby nie mieć problemu z szybkim transferem danych z karty i obsługą FATu ( i np. ewentualnej fragmentacji pliku).
- łatwo zwiększyć moc obliczeniową dodając zewnętrzny układ USB ( np FT245 lub FT2232) i podkręcić częstotliwość pracy procka na max'a. Odpada wtedy konieczność zakupu numeru VID oraz zabawy z driverami USB na Windows.


Parę uwag:
- Można by od razu dodać optoizolację wejść/wyjść - jest to konieczność przy pracy np. z plazmą
- Fajnie jest mieć taki kolorowy panel sterujący, ale podnosi to znacznie koszt. Duzą część użytkowników zadowoliła by się LCD 4x20 i zwykłymi przyciskami. Ja wybrałem opcję z niezależnym panelem po CANie ( wtedy można robić rózne opcje - tańsze i droższe)
- Powinien jeszcze być PWM jako wyjście ( przydatny do sterowania laserem)

Tak naprawdę najwięcej pracy jest nie z wizualizacją, ale algorytmami przetwarzania G kodów na wektory obsługujące przyspieszanie/zwalnianie, szybkie zatrzymywanie. Niebanalna jest też optymalizacja ścieżki aby nie musieć zwalniać przy każdym wektorze, ale utrzymywać prędkość liniową jak najbardziej zbliżoną do zadanej.
Niby zabawa na poziomie równań kwadratowych, ale wymaga wyobraźni.


Autor tematu
pswienty
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 5
Posty: 32
Rejestracja: 22 mar 2007, 23:02
Lokalizacja: Białystok

#4

Post napisał: pswienty » 10 paź 2008, 22:07

pwpib pisze:Jestem bardzo zainteresowany, proszę o więcej informacji.
o jakie informacje chodzi.
jarekk pisze:- 100kHz/500kHz to chyba szczytowo dla pojedynczych wektorów ? Mój prototyp(na jednym procku) przy 60MHz nie był w stanie dla serii wektorów pokonać bariery 100kHz ( powyżej tej bariery widać było przełączenie wektorów na oscyloskopie w postaci opóźnienia sygnału STEP ). Było to widoczne mimo że do USB był również zewnętrzny specjalizowany procesor.
500kHz to jest dla jednego wektora a 100kHz dla serii wektorów. Podczas generowania impulsów USB jest wyłączane. Nie wiem czy są opóźnienia w sygnale step bo nie posiadam oscyloskopu.
- program wykonywany jest bezpośrednio z SD ? Czy kopiowany do pamięci wewnętrznej ? Miałem podobny dylemat który skończył się wstawieniem kości NAND bezpośrednio na sterowniku aby nie mieć problemu z szybkim transferem danych z karty i obsługą FATu ( i np. ewentualnej fragmentacji pliku).
fragmenty pliku są kopiowane z SD do pamięci a nastepnie rozpozanie danych zapisanych w pliku i wyliczenie wektorów. dane na karcie sa w formacie fat.
- łatwo zwiększyć moc obliczeniową dodając zewnętrzny układ USB ( np FT245 lub FT2232) i podkręcić częstotliwość pracy procka na max'a. Odpada wtedy konieczność zakupu numeru VID oraz zabawy z driverami USB na Windows.
Nie chciałem montować dodatkowych układów do komunikacji przez USB. Wykorzystany został wbudowany kontroler w procesor do USB. Sterowników nie musze pisać pod windows bo układ jest wykrywany jako pendriver. kopiujemy potrzebne pliki i rozłączmy się i sterownik przechodzi do normalnej pracy i układ usb jest wyłączany. Prace trwają nad zmianą częstotliwości procesora po wyłączeniu usb i przerzuceniu części kodu by pracował w pamięci ram a nie z flasha
jarekk pisze:Można by od razu dodać optoizolację wejść/wyjść - jest to konieczność przy pracy np. z plazmą
Optoizolacja jest na oddzielnej płytce zamknięta w obudowie.
jarekk pisze:- Powinien jeszcze być PWM jako wyjście ( przydatny do sterowania laserem)
Jest przewidziana taka możliwość zamiast PK3

Pierwszy układ posiadał wyświetlacz 128x64 ale okazało to się za mało z wyświetleniem wszystkich danych więc zastosowałem wiekszy. chodziło głównie o podgląd otwieranych plików i wybór pliku z karty (taki mini tc).

Masz rację pracy jest dyżo i kod źródłowy jest coraz dłuższy :lol:

Oczekuję na nowy procesor AT91SAM9263 na którym mam zamiar zbudować 2 wersję układu.


jarekk
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 6
Posty: 1701
Rejestracja: 17 mar 2006, 08:57
Lokalizacja: Gdańsk

#5

Post napisał: jarekk » 10 paź 2008, 23:54

No ja kiedyś zastąpię też planuję zastąpić małe procki sterujące osiami - będzie to albo FPGA albo ADSP21262. Choć na razie wydaje się że układ ma dokładnie tyle mocy ile jest potrzebne ( spełnia założenia projektowe). Po prostu został zrobiony tak, że przeliczenia są wstępnie zrobione na PC-cie a sam sterownik je po prostu odgrywa.

Co do AT91SAM9263 - fajny procesor, ale tak naprawdę to już zbliżamy się do sytuacji w której najtańsza płyta PC-ta (z pendrivem zamiast dysku) będzie konkurencją dla robionych samodzielnie konstrukcji ( można postawić EMC - skonfigurować pod własne potrzeby).
Ale to kwestia gustu ;-)

Awatar użytkownika

Piotr Rakowski
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 2173
Rejestracja: 29 lip 2005, 15:07
Lokalizacja: Warszawa
Kontakt:

#6

Post napisał: Piotr Rakowski » 11 paź 2008, 01:29

Brawo - bardzo dobry kierunek prac.

Razem z kol. JarkiemK ciągniemy nasz sterownik. Dlaego mam dodatkowe pytania:

1. Co z akceleracją i deakceleracją? Czy zrobił je kolega?
2. Jak pętla zaczytywania g-kodów z karty SD wpływa na generowanie impulsów? Przy jakiej częstotliwości generowania zaczynają się zgrzyty?
3. Sprawdzał kolega swój sterownik z jakimś sterownikiem serwonapędu?

Pozdrawiam.
Maszyny i oprogramowanie CNC: eduCAD, STEP2CNC, LynxCUT, Styro3D, Tapper, cncCAD, Image2CAM, Turn3D, TERMCUT, LynxNEST (Nesting)


pwpib
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 3
Posty: 11
Rejestracja: 22 lis 2007, 14:19
Lokalizacja: Wolbrom

#7

Post napisał: pwpib » 11 paź 2008, 20:12

Jestem zainteresowany zakupem owego urządzenia mozliwe, że w kilku sztukach. Oczywiście kpl soft i hard.


jarekk
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 6
Posty: 1701
Rejestracja: 17 mar 2006, 08:57
Lokalizacja: Gdańsk

#8

Post napisał: jarekk » 12 paź 2008, 08:50

pwpib pisze:Jestem zainteresowany zakupem owego urządzenia mozliwe, że w kilku sztukach. Oczywiście kpl soft i hard.
Obawiam się że kolegs będzie musiał poczekać. Oba urządzenia są na etapie prototypów ( u mnie są już pierwsze testy na maszynach, ale to wciąż daleka droga do finalnego produktu).


Autor tematu
pswienty
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 5
Posty: 32
Rejestracja: 22 mar 2007, 23:02
Lokalizacja: Białystok

#9

Post napisał: pswienty » 12 paź 2008, 09:59

Piotr Rakowski pisze: Co z akceleracją i deakceleracją? Czy zrobił je kolega?
Na dzień dzisiejszy jeszcze tego nie zarobiłem.
Piotr Rakowski pisze:Jak pętla zaczytywania g-kodów z karty SD wpływa na generowanie impulsów? Przy jakiej częstotliwości generowania zaczynają się zgrzyty?
Podczas pracy maszyny nie widzę żadnego szarpania, prędkość posuwu w czasie pracy jest ustawiona na 2400mm/min. Muszę gdzieś znaleźć dostęp do oscyloskopu wtedy przeprowadzę dokładniejsze testy.
Piotr Rakowski pisze:Sprawdzał kolega swój sterownik z jakimś sterownikiem serwonapędu?
Posiadam sterownik UHU ale brak silnika do testów (muszę zakupić)
Jestem zainteresowany zakupem owego urządzenia mozliwe, że w kilku sztukach. Oczywiście kpl soft i hard.
Kolega jarekk na racje to jest na razie prototyp. Musi upłynąć jeszcze trochę czasu aby urządzenia działały.


pwpib
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 3
Posty: 11
Rejestracja: 22 lis 2007, 14:19
Lokalizacja: Wolbrom

#10

Post napisał: pwpib » 12 paź 2008, 10:05

Wykonałeś naprawdę dużo pracy. Na pewno wiele osób skorzysta z autonomicznego sterowania. Jestem na etapie projektu maszyny i mam czas mogę poczekać kilka miesięcy, bo warto.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”