Frezarka 500x400x200, stalowa - dragon44

Maszyny ze stali, aluminium, odlewów itp.
Tu możesz również przedstawić się i opisać swoją maszynę

DOHC
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 10
Posty: 893
Rejestracja: 06 kwie 2007, 19:12
Lokalizacja: Pionki

#51

Post napisał: DOHC » 10 sty 2015, 18:01

dragon44 pisze:1. +-10V
2. tak
3. tak

hehe, to tak w skrócie.

Servopack'i mam sterowane sygnałem +-10V. Jako sterownika głównego użyje karty mesa 7I77, podłączonej do komputera za pomocą karty 5I55 na PCI, a na komputerze będzie zainstalowany linuxcnc. Linux bez problemu ogarnia pętle zamkniętą, tylko do karty 7I77 muszę doprowadzić sygnały z enkodera. Sygnały te są wyprowadzone z serwowzmacniacza na złącze do komunikacji z nadrzędnym hostem, czyli wspomnianą wyżej kartą. Właśnie siedzę i rozkminiam co z czym muszę połączyć ;) Samo sterowanie wygląda mniej-więcej tak: linuxcnc -> 5I55 -> 7I77 -> Servodriver -> silnik -> enkoder -> servodriver -> 7I77 -> 5I55 -> linuxcnc.
ja mniej wiecej wiem co i jak z closed loopem bo sam odpaliłem go w konfiguracji silnik krokowy + enkoder. W takiej konfiguracji bedzie dzialac moja maszyna. Cieszę się że nie poszedłeś na łatwiznę z step i dir :). Kibicuje Pozdrawiam

Ponizej film z moich testów:



Tagi:


Autor tematu
dragon44
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 44
Posty: 616
Rejestracja: 01 mar 2008, 20:46
Lokalizacja: Lubsko

#52

Post napisał: dragon44 » 25 mar 2015, 23:12

DOHC pisze: Cieszę się że nie poszedłeś na łatwiznę z step i dir :)
a ja przestaje się cieszyć, bo czas to wszystko ogarnąć... no ale po kolei...

Dawno, dawno temu, kiedy maszyna była tylko marzeniem...

Obrazek

Później cieszyłem się z małej kupki formatek i kilku kształtowników jak dziecko na gwiazdkę... Cieszyłem się jeszcze bardziej jak stal została potraktowana migomatem...

Obrazek

Całość trafiła do Pana Andrzejczaka na długie grzanie. Byłem tak podniecony jak odbierałem ramę, że zapomniałem poprosić o certyfikat ;p Rama trafiła najpierw na śrutę, a następnie wrzuciłem ją na frezarkę i obrobiłem co się dało ;)

Obrazek

W drugiej kolejności zabrałem się za drobnice.

Obrazek

No i wszystko obrobione.

Dalej rama trafiła na wieszak, gdzie uczyłem się malować natryskowo ;D powiem tak... szału nie ma ale lakier nie odpada ;p machnąłem sobie srebrny metalik dwa razy i trzy razy bezbarwny (albo na odwrót...). Oczywiście najpierw dwie warstwy czerwonego ;)

Na pozostałe detale miałem plan. Wszystkie chciałem oksydować. Przygotowałem sobie wanienkę z kwasiaka, ale na kuchence indukcyjnej uzyskałem max 80 stopni ;/ po kilku próbach i patentach doszedłem do wniosku że użyje garnka. I takim to sposobem zetka i stół dalej są srebrne, a nie czarne jak było zakładane na początku. Niestety jak gotowałem zupę, to zapomniałem aparatu. Nawet nie mam zdjęć ugotowanych detali, ale nie bójcie się, zobaczycie je później. I przy oksydowaniu miałem przykry incydent.. okazało się, że nie będę miał więcej bigosu ;/ musiałem mamuśce odkupić garnek ;/

Gdzieś mi zginęło zdjęcie całości... mam tylko pół ramy, ale już za to u mnie w garaż ;)

Obrazek

A tutaj już w natłoku prac...

Aha! Sory za ten burdel wszędzie wokół, ale ciężko ogarnąć taki projekt, tokarkę, i mnóstwo ojcowskich szpargałów w garażu w domku jednorodzinnym, projektowanym przez peerelowskiego wizjonera spodziewającego się w tym garażu maksymalnie małego fiata w wersji eksportowej. Strasznie mały metraż, ale póki nie zobaczę wiórów, to muszę się przemęczyć ;)

Obrazek Obrazek

Zmontowana zetka, oraz już zainstalowana ;)

ObrazekObrazek

Ten brud na krzyżaku to resztki po kąpieli.

Zostało podłączyć silniki i zamontować prowadnik przewodów, a żeby było gdzie poprowadzić przewody zabrałem się za elektronikę.

Obrazek

Docelowa skrzynka na przewody, oraz po prawej już częściowo posznurowana szafa.

ObrazekObrazek

Następnie nadszedł czas na montowanie reszty zabawek na maszynie.


ObrazekObrazek

I wystarczyło podciągnąć przewody do szafy.

ObrazekObrazek

No jak widzicie Koledzy, maszyna praktycznie poskładana. Aby pokazać wióry zostało "tylko" zamontować jakieś wrzeciono. Jest pomysł, ale najpierw muszę ogarnąć do końca elektronikę.
Z elektrycznych rzeczy... wyłącznik bezpieczeństwa na maszynę i na szafę, gniazdo usb muszę wyprowadzić na pulpit. Monitor który mam jest fajny, bo ma 17 cali i ekran dotykowy, ale nie ma dla niego sterowników pod pingwina, więc muszę znaleźć coś innego. Szafie przydałoby się trochę estetyki i kabla sterującego do falownika. Aha, i potencjometr.
A jak zobaczę wióry, to zacznę tworzyć jakąś obudowę dla frezarki. Ta paleta jest tylko tymczasowo, żeby po ukończeniu prac łatwiej było wyemigrować w docelowe miejsce. Bo nie wyobrażam sobie jeszcze do garażu pakować kilkaset kilo ramy na stojak o wymiarach 2x1,5 metra.... tak perspektywicznie na magazyn narzędzi ;)

Nie obyło się bez drobnych wpadek, jakieś mijające się otwory, kompletny brak przygotowania pod krańcówki i pełna improwizacja wkrętarką, tokarz mi jedną śrubę lekko spiep**ył i ma dobre dwie dych bicia od strony podtrzymującej. Jak będzie się to przeszkadzać, to będę musiał poprawić... generalnie masa nauki na własnych błędach, choć mogło być ich dużo więcej. Najważniejsze że maszyna stoi ;) no prawie maszyna ;)

Mam nadzieję że lekko Wam się czytało, choć pisząc to miałem przed oczami te wszystkie godziny pracy, złości i wyrzeczeń... wierzcie mi, (kto jeszcze nie zbudował maszyny) że to są ciężkie godziny harówy, setki wyrzeczeń, dziesiątki godzin przy frezarce, tysiące w internecie... Generalnie to są dwa lata walki z samym sobą, a najgorsze dopiero przede mną...

Teraz czeka mnie strojenie i ogarnianie linuxcnc. I tutaj będę miał do Was parę pytań, ale to jutro bo dziś już mi się nie chcę. Dopijam Lubuską IPE i idę w kimę. A tymczasem zachęcam do hejtowania ;)

Awatar użytkownika

Zienek
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 3730
Rejestracja: 13 gru 2008, 19:32
Lokalizacja: Szczecin
Kontakt:

#53

Post napisał: Zienek » 26 mar 2015, 00:28

Chociaż długopis powieś albo rylec, jak wiórów nie przewidujesz :)

Congrats!


Autor tematu
dragon44
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 44
Posty: 616
Rejestracja: 01 mar 2008, 20:46
Lokalizacja: Lubsko

#54

Post napisał: dragon44 » 26 mar 2015, 16:21

Zienek, hahaha, bo to będzie maszyna do drinków ciiii... ;p

A o wrzecionie wspominałem ;)
Aby pokazać wióry zostało "tylko" zamontować jakieś wrzeciono. Jest pomysł
Na razie chciałbym wykorzystać perskacza 1,5 kW 6000 obrotów. Jak mi wydłubie części na konika do tokarki to zrobię docelowe wrzeciono, trochę to zagmatwane ale jakoś trzeba sobie radzić ;)

Awatar użytkownika

Alvar4
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 1
Posty: 1360
Rejestracja: 18 sie 2010, 10:58
Lokalizacja: Okolice Łodzi

#55

Post napisał: Alvar4 » 26 mar 2015, 16:36

Jest pięknie. Szafa większa od maszyny, fajnie :razz: .
Co do ilości wyrzeczeń i masy czasu potrzebnej do zbudowania takiej maszyny to podpisuje się pod tym obiema rękami i nogami. Po tym wszystkim co się przeszło człowiek się zaczyna zastanawiać czy czasem nie przesadził z tym całym CNC bo to już parę latek z życia przez to uciekło :shock:. Pozostaje czekać na wióry.... :mrgreen:
Obrazek


Autor tematu
dragon44
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 44
Posty: 616
Rejestracja: 01 mar 2008, 20:46
Lokalizacja: Lubsko

#56

Post napisał: dragon44 » 26 mar 2015, 19:34

Alvar4 pisze: Pozostaje czekać na wióry.... :mrgreen:
No i właśnie z tym mam problem... Ma ktoś może jakieś materiały jak poprawnie przejść przez proces konfigurowania linuxcnc z kartami mesa 5I25 i 7I77? Jak to jest, bo nawet w menu w programie nie ma tych kart. Chodzi o to, że mam podstawową wersje ubuntu i muszę ją zaktualizować? Oraz dodatkowe pytanie. Strojenie PID serwonapędu odbywa się w linuxie, w sterowniku serwa, czy mam parametry wpisać i tu i tu?


micges
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 291
Rejestracja: 08 sty 2010, 02:04
Lokalizacja: Toruń

#57

Post napisał: micges » 27 mar 2015, 08:47

Tu masz hal do uruchomienia 2 osi servo na 7i77
(Uwaga na literówki, pisalem z głowy)

Kod: Zaznacz cały

loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=3
loadrt pid num_chan=2

loadrt hostmot2
loadrt hm2_pci config="num_encoders=2 sserial_port_0=000xxxxx"

# Hook functions into threads
addf motion-controller servo-thread  
addf motion-command-handler servo-thread  
addf pid.0.do-pid-calcs servo-thread  
addf pid.1.do-pid-calcs servo-thread  

net estop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in
net tool-prep-loop iocontrol.0.tool-prepare iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed

# os X
net motor.00.enable axis.0.amp-enable-out => pid.0.enable hm2_5i25.0.7i77.0.0.analogena
net motor.00.pos-cmd axis.0.motor-pos-cmd => pid.0.command
net motor.00.pos-fb hm2_5i25.0.encoder.00.position => pid.0.feedback
net motot.00.vel-cmd pid.0.output => hm2_5i25.0.7i77.0.0.analogout-00

setp hm2_5i25.0.encoder.00.position-scale [AXIS_0]SCALE
setp pid.0.Pgain [AXIS_0]PGAIN
setp pid.0.Igain [AXIS_0]IGAIN
setp pid.0.Dgain [AXIS_0]DGAIN
setp pid.0.FF0 [AXIS_0]FF0
setp pid.0.FF1 [AXIS_0]FF1
setp pid.0.FF2 [AXIS_0]FF2
setp pid.0.maxoutput [AXIS_0]MAXOUTPUT
setp pid.0.bias [AXIS_0]BIAS
setp pid.0.deadband [AXIS_0]DEADBAND


# os Y
net motor.01.enable axis.1.amp-enable-out => pid.1.enable
net motor.01.pos-cmd axis.1.motor-pos-cmd => pid.1.command
net motor.01.pos-fb hm2_5i25.0.encoder.01.position => pid.1.feedback
net motot.01.vel-cmd pid.1.output => hm2_5i25.0.7i77.0.0.analogout-01

setp hm2_5i25.0.encoder.01.position-scale [AXIS_1]SCALE
setp pid.1.Pgain [AXIS_1]PGAIN
setp pid.1.Igain [AXIS_1]IGAIN
setp pid.1.Dgain [AXIS_1]DGAIN
setp pid.1.FF0 [AXIS_1]FF0
setp pid.1.FF1 [AXIS_1]FF1
setp pid.1.FF2 [AXIS_1]FF2
setp pid.1.maxoutput [AXIS_1]MAXOUTPUT
setp pid.1.bias [AXIS_1]BIAS
setp pid.1.deadband [AXIS_1]DEADBAND
W ini musisz dodac ustawienia pidów, ustaw wszystko na 0 tylko Pgain daj na początek powiedzmy 10.
I ustaw z grubasza skale osi bo strojenie bez tego nie ma sensu.


Autor tematu
dragon44
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 44
Posty: 616
Rejestracja: 01 mar 2008, 20:46
Lokalizacja: Lubsko

#58

Post napisał: dragon44 » 11 kwie 2015, 14:48

Kod: Zaznacz cały

loadrt trivkins 
1. rozumiem, że to jest wybór kinematyki dla trzech osi X Y Z. Jak będę chciał dołączyć kiedyś kolejną oś, to będę musiał wprowadzić tutaj korektę?

Kod: Zaznacz cały

loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=3 
2. Ta linia wczytuje plik ini? Mógłby Kolega coś powiedzieć o tej składni?

Kod: Zaznacz cały

loadrt pid num_chan=2 
3. Rozumiem, że tutaj wybieramy liczbę regulatorów PID, docelowo powinienem mieć 3, tak?

Kod: Zaznacz cały

loadrt hostmot2 
4. Ładowanie sterownika, z pełnymi możliwościami karty, dobrze myślę?

Kod: Zaznacz cały

loadrt hm2_pci config="num_encoders=2 sserial_port_0=000xxxxx" 
5. Konfiguracja karty 7i77. Pierwsza składnia określa liczbę podpiętych enkoderów, docelowo 3. sserial_port_0=... mam wpisać same zera, czy sprawdzić w biosie adres karty?

Kod: Zaznacz cały

# Hook functions into threads 
6. Dodawanie funkcji do wątku servo-thread

Kod: Zaznacz cały

addf motion-controller servo-thread  
7. Uruchomienie kontroli ruchu.

Kod: Zaznacz cały

addf motion-command-handler servo-thread  
8. Przetwarza polecenia ruchu pochodzące z przestrzeni użytkownika. To jest odpowiednia kolejność? http://www.linuxcnc.org/docs/html/man/m ... ion.9.html podaje odwrotną?

Kod: Zaznacz cały

addf pid.0.do-pid-calcs servo-thread  
9. Dodanie funkcji regulatora PID osi X do wątku servo-thread. Dodanie funkcji wykonującej zmiennoprzecinkowe obliczenia dla pierwszego regulatora.

Kod: Zaznacz cały

addf pid.1.do-pid-calcs servo-thread
  
net estop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in 
10. Stworzenie sygnału estop. Sygnał z pinu iocontrol.0.user-enable-out idzie na iocontrol.0.emc-enable-in. Rozumiem, że w pliku .ini zdefiniuje fizyczny pin, z którego idzie przerwanie?

Kod: Zaznacz cały

net tool-prep-loop iocontrol.0.tool-prepare iocontrol.0.tool-prepared

Kod: Zaznacz cały

net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed 
11. i 12. Nie rozumiem tej składni, oraz za co odpowiadają te piny?

Kod: Zaznacz cały

# os X

net motor.00.enable axis.0.amp-enable-out => pid.0.enable hm2_5i25.0.7i77.0.0.analogena 
13. Stworzenie sygnału motor.0.enable, do zezwolenia na załączenie osi. Pin pid.0.enable umożliwia wykonywanie obliczeń PID, gdy jest w stanie wysokim, a stan ten otrzymuje z pinu axis.0.amp-enable-out, którego stan jest wysoki, tylko w momencie gdy wzmacniacz jest włączony. Kiedy i gdzie następuje załączenie wzmacniacza?
hm2_5i25.0.7i77.0.0.analogena, za co odpowiada ten pin? Jest to załączenie portu analogowego wyjść +-10V karty 7i77?

Kod: Zaznacz cały

net motor.00.pos-cmd axis.0.motor-pos-cmd => pid.0.command 
14. Pozycja zadana, obliczona, wysłana do regulatora PID

Kod: Zaznacz cały

net motor.00.pos-fb hm2_5i25.0.encoder.00.position => pid.0.feedback 
15. Aktualna pozycja, pobrana z enkodera 0, wysłana do regulatora PID

Kod: Zaznacz cały

net motor.00.vel-cmd pid.0.output => hm2_5i25.0.7i77.0.0.analogout-00
16. Stworzenie sygnału motor.00.vel-cmd i wysłanie go z wyjścia regulatora PID do pinu hm2_5i25.0.7i77.0.0.analogout-00. Nie za bardzo rozumiem, skąd to się wzięło, domyślam się że jest to wyjście analogowe osi 0 karty 7i77, a ta składnia to adres..?

Kod: Zaznacz cały

setp hm2_5i25.0.encoder.00.position-scale [AXIS_0]SCALE 
17. Rozumiem, że w tym miejscu mam ustawić parametr skali osi 0, jak to zrobić? Silniki mają 5000 obrotów na minutę, enkodery 1024 impulsy na obrót. 1024 impulsy to 4096 zboczy i czy teraz mam wprowadzić dodatkowo jakąś komendę, aby zamiast impulsów mieć liczbę zboczy? Przy skoku śruby pociągowej 5mm, dale to 819,2 zbocza na 1 mm posuwu. Mam wpisać tą wartość?

Kod: Zaznacz cały

setp pid.0.Pgain [AXIS_0]PGAIN 
setp pid.0.Igain [AXIS_0]IGAIN 
setp pid.0.Dgain [AXIS_0]DGAIN 
setp pid.0.FF0 [AXIS_0]FF0 
setp pid.0.FF1 [AXIS_0]FF1 
setp pid.0.FF2 [AXIS_0]FF2 
setp pid.0.maxoutput [AXIS_0]MAXOUTPUT 
setp pid.0.bias [AXIS_0]BIAS 
setp pid.0.deadband [AXIS_0]DEADBAND
18. Jest jakaś metoda zgrubnego przeliczenia powyższych parametrów?
Dla zainteresowanych schemat z powyższymi parametrami
Obrazek


19. Gdzie będę definiował parametry silnika? Max obroty? 


DOHC
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 10
Posty: 893
Rejestracja: 06 kwie 2007, 19:12
Lokalizacja: Pionki

#59

Post napisał: DOHC » 11 kwie 2015, 17:48

Przestudiuj manuala bo w tym zginiesz, nie da się tego ogarnąć z doskoku to nie podpięcie dvd do telewizora. Ja bym na Twoim miejscu zrobił tak:

1) Stwórz config maszyny w tym całym kreatorze, da CI to jakąś bazę i będziesz mógł obserwować reakcje hala na modyfikacje.
2) od tej pory w pliku custom hall testuj poszczególne komponenty, musisz to rozumieć bo nie zepniesz tego do kupy. Załaduj hostmota2 ze swoją konfiguracją zobacz jakie piny masz dostępne, przeczytaj w manualu który jest od czego, będziesz miał tam chyba scale (nie miałem do czynienia z tą kartą ale chce Ci przedstawić metodykę). Doprowadź do stanu kiedy będziesz mógł wysterować swoją kartę mesa tak żeby po podaniu z reki w komendy wyrzucało na przetwornik DAC karty zadane napięcie, wtedy możesz to zacząć spinać z servopakiem i kręcić servem.
3) jak to opanujesz zepnij sygnaly encodera z kartą mesa i uruchom to tak żebyś widział zmianę pozycji dla danego encodera.
4) jak to ogarniesz powyższe punkty weź się dopiero za PID, jako zadaną pozycję możesz podlinkowąć sobie ze swojego configu zadaną pozycje dla steppera danej osi (tego który utworzył konfigurator) wtedy po uruchomieniu maszyny i jakiegos gcodu linux sie nie wysypie a twój pid będzie dostawał komendę.
Feedbackiem dla PID będzie pozycja encodera, a output to scala dla serva. Jak to pospinasz po uruchomieniu będziesz widział czy silnik kręci się w dobrą stronę itd, linux bedzie normalnie pracował a równolegle będzie działała mesa itd.

Jak już wszystko opanujesz to powtórz to dla 3 osi a na koniec powywwalaj komponenty stepper i przerzuć do pliku moja_maszyna.hal konfigurację serw.

Tak to mniejwięcej wygląda, wiem że bardzo haotycznie to napisałem ale powinno CIę to ukierunkować. Nie licz na to że ktoś Ci poda config na tacy skopiujesz i będzie działać, to raczej nie realne bo ludzie z tego żyją. Nawet jak byś dostał cos takiego to potem po wysypaniu maszyny nie będziesz wiedział w co ręce włożyć dlatego jeszcze raz powtórze przeczytaj manuala.


Pozdrawiam i powodzenia.


Autor tematu
dragon44
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 44
Posty: 616
Rejestracja: 01 mar 2008, 20:46
Lokalizacja: Lubsko

#60

Post napisał: dragon44 » 11 kwie 2015, 19:13

DOHC pisze:Przestudiuj manuala
Którego?
Motion
Advanced HAL Tutorial
HAL Introduction
Basic HAL Tutorial
HAL Component Descriptions
PID
IOCONTROL
?
DOHC pisze:1) Stwórz config maszyny w tym całym kreatorze, da CI to jakąś bazę i będziesz mógł obserwować reakcje hala na modyfikacje.
No właśnie problem w tym, że w tym konfiguratorze nie ma do wyboru karty 5i25 i trzeba od podstaw samemu stworzyć plik .hal. Co prawda Kolega micges zamieścił plik hal. Poradzę sobie żeby go dopieści, ale chciałbym go w całości zrozumieć. Poza tym, chcę stworzyć plik ini i również wiedzieć co w nim jest. Teraz siedzę i ogarniam materiały właśnie o ini. Może jutro uda mi się popracować na maszynie, bo teraz siedzę na innym kompie i zbieram teorie ;)

[ Dodano: 2015-04-11, 19:16 ]
A co do reszty to właśnie tak zamierzam zrobić, ale nie wiem tylko czy da się uruchomić serwa sterowane analogowo za pomocą steppera.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Frezarka - konstrukcja metalowa”