Autonomiczny sterownik frezarki CNC

Rozmowy na temat układów elektronicznych sterowania obrabiarek CNC
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:

#11

Post napisał: Piotr Rakowski » 12 paź 2008, 13:13

Akceleracja i deakceleracja jest niezbędna. Sprawdziliśmy już to z kol. JarkiemK w naszym sterowaniu. I to koniecznie z "ahedową", czyli wstępną analizą kolejnych wektorów, bo nie zawsze pierwszy wektor jest przyspieszany, a ostatni zwalniany. Wychodzi to szczególnie przy przeliczaniu łuków i krzywych.

Moim zdaniem pomysł z ekranem dotykowym nie jest w tym wykonaniu najlepszy, dlatego że ten sterownik wygląda, jakby miał być sterownikiem "przyklejonym" do maszyny. W takim wykonaniu przypadkowe naciśnięcie ekranu sterowania jest bardzo prawdopodobne, a skutki opłakane - chyba, że przewidziałeś możliwość wyłączania reakcji ekranu w trakcie pracy.

Ale nadal uważam że jest OK - i jak to mówili w kultowym "Misiu": słuszny kierunek przyjęła Wasza partia... :lol:


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

Tagi:


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

#12

Post napisał: jarekk » 12 paź 2008, 19:26

I jeszcze jedna uwaga co do AT91SAM9263 - 240MHz max. Według moich szacunków ( sam mam 5 procesorów każdy 60Mhz) to moc na granicy potrzeb. Jeżeli dodać przyspieszanie/zwalnianie to przy np. 500kHz 4 osi już nie zostaje wiele. Jeden procesor z ledwością jest w stanie synchronicznie obsługiwać takie taktowanie ( w zasadzie nawet większa częstotliwość pracy nie pomaga). A dla krokowców przy dużej częstotliwości nie można sobie pozwolić na zbyt duży rozrzut szerokości impulsów ( bo zacznie się gubienie kroków) - dopiero serwa lepiej sobie z tym radzą.

U mnie zegar sprzętowy w głównym procku generuje impulsy które wyzwalają przerwanie w procesorze osi. Procesor osi zawiera tylko i wyłącznie obsługę przeliczeń kolejnych kroków ( które dostaje po sprzętowym FIFO z procesora głównego). Przy maksymalnej częstotliwości pracy każda oś zabiera 100% czasu pracy 60MHz ARM'a - mimo zoptymalizowanych danych ( procesor wykonuje tylko dodawania 32 bitowe).


prokopcio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 4
Posty: 1126
Rejestracja: 11 sty 2005, 13:03
Lokalizacja: Grodków
Kontakt:

#13

Post napisał: prokopcio » 22 paź 2008, 07:49

Jestem pod wrażeniem :) wyrazy szacunku. Sam również pracuję nad programami i sterownikami CNC - i autonomiczny sterownik w pełnej interpolacji to naprawdę nie lada wyczyn nawet dla doświadczonych programistów. Puki co gratuluję projektu, prototypu i mam nadzieję, niedługo pogratuluję finalnej wersji :) POWODZENIA


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

#14

Post napisał: pswienty » 22 paź 2008, 08:01

Dodane zostały nowe funkcje
Gcode
G02,G03,G04
Hpgl
pu,pd,sp,pa,in

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:

#15

Post napisał: Piotr Rakowski » 22 paź 2008, 08:51

Tak z ciekawości - G02 i G03 od razu (wstępnie) przerabiasz na wieloboki czy zaimplementowałeś w sterowniku jakiś algorytm (Bresenhamm)?

Jak zachowujesz płynność pracy na zakrętach w zależności od prędkości?
Maszyny i oprogramowanie CNC: eduCAD, STEP2CNC, LynxCUT, Styro3D, Tapper, cncCAD, Image2CAM, Turn3D, TERMCUT, LynxNEST (Nesting)


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

#16

Post napisał: pswienty » 22 paź 2008, 19:00

Piotr Rakowski pisze:Tak z ciekawości - G02 i G03 od razu (wstępnie) przerabiasz na wieloboki czy zaimplementowałeś w sterowniku jakiś algorytm (Bresenhamm)?
tak przerabiam na wielobok
Piotr Rakowski pisze:Jak zachowujesz płynność pracy na zakrętach w zależności od prędkości?
maksymalną częstotliwość jako udało się osiągnąc podczas pracy wynosi 35khz bo sporo czasu zajmuje przeliczanie.

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:

#17

Post napisał: Piotr Rakowski » 23 paź 2008, 07:41

Nie pytam o częstotliwość. Żeby zachować odpowiednią prędkość na zakręcie trzeba "przerabiać" zakręt na tyle wektorów ile potrzeba, nie ile się da. Oczywiście dla małych prędkości skrawania nie jest to specjalnie konieczne, ale w metodzie HSM niezbędne. Koniecznie przejrzyj algorytmy do tego stworzone. Np. Bresenhamma nie tego nie uwzględnia.
Maszyny i oprogramowanie CNC: eduCAD, STEP2CNC, LynxCUT, Styro3D, Tapper, cncCAD, Image2CAM, Turn3D, TERMCUT, LynxNEST (Nesting)


prokopcio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 4
Posty: 1126
Rejestracja: 11 sty 2005, 13:03
Lokalizacja: Grodków
Kontakt:

#18

Post napisał: prokopcio » 23 paź 2008, 08:44

Myślę Piotrek, że skoro kolega niema przyspieszania/spowalniania to znaczy, że i tak MUSI pracować na takiej prędkości, która jest całkowicie bezpieczna (nie gubi kroków nawet przy zawracaniu oraz prędkość adekwatną do bezwładności maszyny) więc problem kontroli prędkości na zakrętach NIE ISTNIEJE.


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

#19

Post napisał: jarekk » 23 paź 2008, 09:05

prokopcio pisze:więc problem kontroli prędkości na zakrętach NIE ISTNIEJE
No nie do końca. Dla przesunięć liniowych wystarczy przeliczyć parametry raz na wektor ( przynajmniej u mnie). Robiąc kółko przy metodach "bezposrednich" trzeba by w zasadzie liczyć wszytko za każdym cyklem ( trygonometria przy każym kroku). Algorytm Bresenhamma daje możliwosc sworzenia kółka przy małej ilosci przeliczeń ( nie ma trygonometrii), ale nie nadaje się do sytuacji w której kolejne kroki chcemy mieć synchronicznie ( aby mieć stałą prędkosc styczną).

Ja chcę w przyszłosci pójsc w krzywe Beziera - ale to dopiero po zakończeniu innych bardziej krytycznych prac nad sterownikiem


prokopcio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 4
Posty: 1126
Rejestracja: 11 sty 2005, 13:03
Lokalizacja: Grodków
Kontakt:

#20

Post napisał: prokopcio » 23 paź 2008, 12:54

Ciekawy jestem kiedy wyjdzie pierwszy pełnowartościowy sterownik - śledząc tematy już od dawna powstają i nie mogą coś powstać. Ja nawet nie mogę dokończyć podstaw obiecanego kontrolera, który jest błahostką w porównaniu do Waszych "systemów". Na jakim konkretnie etapie jesteście chłopaki ? Chodzi mi nie tyle o finalną wersję bo taka pewnie nie powstanie nigdy, ale chociaż coś, co będzie można przekazać użytkownikowi jako poprawnie działające urządzenie. Od kiedy pracujecie nad projektami ?

Nie wiem jak u Was ale u mnie osobną sprawą (osobne procedury) jest przeliczanie odcinków a osobną stabilne taktowanie silników już z wcześniej wyliczanych kroków przechowywanych w pamięci - mniej więcej. Więc stabilność prędkości raczej powinna być zachowana, choć nie mam sprzętu do dokładnego pomierzenia odstępów pomiędzy impulsami przez jakiś czas. Na zwykłym oscyloskopie nic nie wychwycisz. Szerokość impulsów mam stałą niezależną od częstotliwości w ogóle.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”