Vậy chạy P/D đi dễ hơn bác, thêm 1 con pulse to analog như LM331 (hay mạch F/V converter) là xong.
Thanks
Printable View
Có bác nào có dư bob mach 3 2lpt hoặc bob nào có option i/o được cho pin2-9 không để lại e với, e định mua của machviet mà làm như bên đó không muốn bán thì phải
E liên hệ cách đây hơn nữa tháng, bên đó bảo là đang sx "cuối tuần sau mới có" tức là thứ 7 tuần rồi đó ợ, hôm qua e hỏi thì họ bảo "từ từ đã được không ạ" còn hôm nay thì "Haizz chắc vài hôm nữa mới gửi cho a dc, a thông cảm máy smt đang lỗi nên sx bị trễ" thế là e đành đăng đàn lên hỏi các bác
2 port thì china là nhanh thôi ạ!
Trên cái 2 port mà mình thường dùng có cái hay là config được 1 port thành I or O (2-9 pin) được. Trên đó cũng đã có nguồn, analog, chargepump khá Ok.
Có một số nhược điểm, khi dùng em có khắc phục mà mỗi đợt mua hàng nó đều có lỗi khác nhau. Nên cũng không rỏ sẽ thế nào. Chung quy thì cứ dùng, tới khi nó lỗi thì khắc phục thôi à.
có sẵn ở vn không hay phải nhập về vậy bác CKD
Món này ít ai dùng nên toàn nhập ko à. Không có sẵn :)
Em lượn trên taobao thấy có cái BOB này khá hay, không biết đã bác nào sử dụng chưa ạ? Hình như có cả chân index cho spindle ợ.
Link
e đang dư 1 bộ của machviet đây, 2 cổng lpt ah. mua nhưng chưa dùng tí nào.bác cần thì e để lại cho ah :D :D
Em dò chân out của mạch encoder vị trí dao chọt bậy bạ sao mà nó tạch luôn ko cứu dc. Thế là phải chế lại cái khác
Đo đạc lại kích thước của mạch zin
Đính kèm 73919
Thiết kế lại trên cad do e ko biết dùng mấy pm vẽ mạch
Đính kèm 73920
từ thiết kế tới sản phẩm
Đính kèm 73918
Lắp lên nó như vầy
Đính kèm 73917
Mua 1 cục sắt về làm mặt bích motor trục z
Đính kèm 73921
Làm chương trình CAM
Đính kèm 73923
Gia công rổi lắp vào thử
Đính kèm 73922
Cái tủ điện còn đang dang dở
Đính kèm 73924
Lần thay dao liều mạng đầu tiên :D
Đính kèm 73925
hic!
Con TC203 mình còn bỏ đó rỉ sét :D
Phải noi gương người khác... ép nó nhúc chích mới được.
e còn phải mò đủ thứ chứ cao thủ như các bác thì bỏ thời gian làm 1 tuần là xong ngay ấy mà
Cái khó là lão ấy ko chịu bỏ 1 tuần bác ui... kêu nhậu 1 tuần thì chịu chứ làm máy thì hắn chắc làm biếng rồi
Thêm cái cờ líp thay dao ợ
https://youtu.be/K3jM8-QEWWU
E đã cho nó chạy như vầy khoảng hơn 2h xem có rớt con nào không
con này chạy BT30 hả cụ? làm như nào để động cơ trục chính dừng đúng góc để ngàm vào khớp ở trên đầu BT vậy cụ?
Số là e cũng bị bệnh nan y giống bác nên làm xong thay dao thì e quăng đó luôn
hôm nay lấy ra test thử cho chạy ở tốc độ chậm thì nó kêu và rung quá
các bác có kinh nghiệm turning con hbs dòng h2-758 và h2-2206 của leadshine chỉ em với ạ, e mua về chỉ biết set số xung/vòng thôi ợ
Lên web leisai thì phải, down bản tuning v1.3 tiếng hoa về làm bác.
Chủ yếu em giảm dòng cho nó chạy êm + mát. Giảm bi nhiêu thì tuỳ theo tải máy nhé.
e kết nối với lap qua cáp usb-rs232 nhưng không kết nối được bác ợ, nó cứ báo lỗi thế này
Đính kèm 74858
Đính kèm 74859
cáp thì e đã test thử gửi chương trình vô máy cnc ok rồi
Trước em cũng bị lỗi kết nối nhưng em dùng giắc com 9pin cắm vô máy để bàn, sau cạo sạch chân ở máy tính thì vô được. Còn cáp usb-rs232 em chưa thử.
em nghĩ cụ cần check xem nó rung nhất ở tốc độ bao nhieu>> bao nhiêu RPM
1.nếu rung ở tốc độc chậm dưới 50RPM thì cụ tăng độ phân giải của microstep lên. khớp nối cũng là 1 phần của vấn đề
2. nếu rung ở tốc độ mid 100 dến 300rpm thì 1 là thay đổi điện áp , ktra csuất nguồn, drive chạy AC được nhưng 2 con tụ trong bé, nếu DC được thì tốt hơn. trường hợp này điều chỉnh para PA_11 Closed loop curent, default là 100 xuống còn 70 80% thử
b.r
Cái USB-RS232 không phải cái nào cũng nhận đâu nhe.
Nếu có PC thì cắm trực tiếp cổng COM, lưu ý cái cổng này cũ nên đôi khi có chút vấn đề về chân cẳng.
Dùng USB-COM thì phải dùng loại xịn sòn tí, dù chip HC340 bèo nhèo hay thằng nào khác thì đồ xịn nó cũng goog hơn. Tớ dùng đồ của UNITEK, dù RS232, 422, 485 đều chạy good cho các ứng dụng.
Đôi khi nó cũng sàm sàm không nhận...
e đã thử tăng độ phân giải từ 100pluse/mm lên 300pulse/mm em nó đã giảm dc khoảng 90%
nhưng ở tốc độ chậm như khi chạy bo cung vẫn còn rung tí ợ
còn cái cổng COM trên máy tính thì có 1 máy e dùng để đổ chương trình sang máy cnc mỗi ngày mà e lấy con máy đó cắm vào vẫn ko dc bác CKD ợ
e cảm ơn các bác đã nhiệt tình giúp e
Xem PA13, PA14 là bao nhiêu rồi tính tiếp.
Lụ đạn quá!
Tối qua em cài lại thử mấy thằng ProTuner mà nó éo có nhận ra driver. Nhớ là cũng thằng win này đã từng cài roài và chạy Ok (vừa ghost mới lại, 7 64bit).
Cài trên máy khác 7 32bit lại Ok. Nên cũng chẵng biết thế nào mà lần luôn :)
Monitor Port thì thấy port hỏi driver trả lời Ok. Mà soft nó bảo không thấy driver. Éo éo...
https://www.eltima.com/hhd-serial-mo...ternative.html
Mình dùng cái này :)....
Được 15 ngày dùng.
PA 13 set lên 1.
Pa 14 tăng lên đến khi nào êm thì xem lại sai số gia công nhé.
các bác làm atc có khi nào gặp trường hợp em nó bị cà tưng không các bác, của e lúc thì nó chạy tới giữa chương trình thay dao thì nó ngưng (mới index), coi như thay xong rồi lấy dao đó chạy tiếp (số dao vẫn là số cũ)
lúc thì nó lên thay dao chạy spindle lên max speed rồi rút lên thay, e không bấm estop kịp là toi bà nó rồi...vân vân và mây mây
e cũng chả biết tại mach3 bản chất nó tửng như vậy hay do máy tính của e hay gì nữa
các bác làm qua chia sẻ kinh nghiệm với ạ
e cám ơn
file m6start.m1s của e
Sub main()
'OldTool=GetCurrentTool() 'current tool position
If IsActive(OEMTRIG1) And Not IsActive(OEMTRIG2) And IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4) Then
OldTool = 1
ElseIf Not IsActive(OEMTRIG1) And IsActive(OEMTRIG2) And IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4) Then
OldTool = 2
ElseIf IsActive(OEMTRIG1) And IsActive(OEMTRIG2) And IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4) Then
OldTool = 3
ElseIf Not IsActive(OEMTRIG1) And Not IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And IsActive(OEMTRIG4) Then
OldTool = 4
ElseIf IsActive(OEMTRIG1) And Not IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And IsActive(OEMTRIG4) Then
OldTool = 5
ElseIf Not IsActive(OEMTRIG1) And IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And IsActive(OEMTRIG4) Then
OldTool = 6
ElseIf IsActive(OEMTRIG1) And Not IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4) Then
OldTool = 7
ElseIf Not IsActive(OEMTRIG1) And IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4) Then
OldTool = 8
ElseIf IsActive(OEMTRIG1) And IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4) Then
OldTool = 9
ElseIf Not IsActive(OEMTRIG1) And Not IsActive(OEMTRIG2) And IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4) Then
OldTool = 10
Else
MsgBox("Turret is missing alignment")
DoOemButton(1021) 'reset
End If 'end get current tool
NextTool = GetSelectedTool() 'tool to be indexed
TestM6 = False 'test run sub replace NextTool value by question
A=35 'CCW ACTIVE atc reverse time
B=35 'CW DEACTIVE
'=============get current parameter==============
' Save the current feedrate.
CurrentFeed = GetOemDRO(818)
' Save current coordinate mode (absolute/inc)
oldCoordinateMode = GetOemLED(48)
' Save the current position
CurrentPosX = GetDro(0)
CurrentPosY = GetDro(1)
CurrentPosZ = GetDro(2)
' use the user LED to store the state of coolant,
If getoemled(13) Then
'OEM LED 13 = "Flood LED" thus coolant is on
' set user led on
setuserled(1000,1)
Code "M9"
Else
'coolent is off
' set user led off
setuserled(1000, 0)
End If
'============= end get current parameter==============
While (GetOemLed(807) Or GetOemLed(808) Or GetOemLed(809))
Message(" Please Home Machine before Tool Change")
'Cycle Stop
' Button 5 - select Diagnostic screen
DoOemButton(5)
Exit Sub
DoOemButton(105)
Wend
If TestM6 Then 'if test get tool to index
NextTool = Question("Tool to index ")
End If
While NextTool>10 Or NextTool<1 'valid tool check
'Message("Next Tool out of range")
NextTool = Question("Next tool out of range, enter the right tool number ")
'Exit Sub
Wend
Code"G91G28Z0."
Message("Waiting for z home")
While IsMoving ()
Wend
' Code"G91G28X0.Y0."
'Message("Waiting for x and y home")
' While IsMoving ()
' Wend
'=============toolchange===============
If OldTool <> NextTool Then 'if same tool skip index
'Code"G91G28Z0" 'move z to tool machine zero
Code"M9"
''While IsMoving ()
''Wend
ActivateSignal(OUTPUT1) 'SON RELAY
Sleep(150)
'=====M19=====
Code"M5"
Code"S100M3"
Sleep(1200)
While (IsActive(OEMTRIG15)) 'index
Wend
activatesignal(output3) 'analog cut
ActivateSignal(OUTPUT8)
sleep(70)
'DeActivateSignal(Output12) 'spindle cooling
DeActivateSignal(OUTPUT1) 'son
'DoSpinStop() this line causing toolchange error, code m5 is ok
Code"M5"
Message("Is anything is moving?")
While IsMoving ()
Wend
Sleep(300)
'=====end m19=====
'====is spindle still rotating====
If GetOEMDRO(39)>0 Then
MsgBox("spindle still rotating ")
DoOemButton(1021) 'reset
End If
'====end is spindle rotation chẹck====
Code"G90 G53 G0 Z194." 'move z up to release current tool
While IsMoving ()
Wend
'=== Index Tool === 'rotate DIRECTION
If OldTool = 1 And (Nexttool = 2 Or Nexttool = 3 Or Nexttool = 4 Or Nexttool = 5 Or Nexttool = 6) Then
ActivateSignal(Output5)
setuserled(1001,1)
ElseIf OldTool = 2 And (Nexttool = 3 Or Nexttool = 4 Or Nexttool = 5 Or Nexttool = 6 Or Nexttool = 7) Then
ActivateSignal(Output5)
setuserled(1001,1)
ElseIf OldTool = 3 And (Nexttool = 4 Or Nexttool = 5 Or Nexttool = 6 Or Nexttool = 7 Or Nexttool = 8) Then
ActivateSignal(Output5)
setuserled(1001,1)
ElseIf OldTool = 4 And (Nexttool = 5 Or Nexttool = 6 Or Nexttool = 7 Or Nexttool = 8 Or Nexttool = 9) Then
ActivateSignal(Output5)
setuserled(1001,1)
ElseIf OldTool = 5 And (Nexttool = 6 Or Nexttool = 7 Or Nexttool = 8 Or Nexttool = 9 Or Nexttool = 10) Then
ActivateSignal(Output5)
setuserled(1001,1)
ElseIf OldTool = 6 And (Nexttool = 7 Or Nexttool = 8 Or Nexttool = 9 Or Nexttool = 10 Or Nexttool = 1) Then
ActivateSignal(Output5)
setuserled(1001,1)
ElseIf OldTool = 7 And (Nexttool = 8 Or Nexttool = 9 Or Nexttool = 10 Or Nexttool = 1 Or Nexttool = 2) Then
ActivateSignal(Output5)
setuserled(1001,1)
ElseIf OldTool = 8 And (Nexttool = 9 Or Nexttool = 10 Or Nexttool = 1 Or Nexttool = 2 Or Nexttool = 3) Then
ActivateSignal(Output5)
setuserled(1001,1)
ElseIf OldTool = 9 And (Nexttool = 10 Or Nexttool = 1 Or Nexttool = 2 Or Nexttool = 3 Or Nexttool = 4) Then
ActivateSignal(Output5)
setuserled(1001,1)
ElseIf OldTool = 10 And (Nexttool = 1 Or Nexttool = 2 Or Nexttool = 3 Or Nexttool = 4 Or Nexttool = 5) Then
ActivateSignal(Output5)
setuserled(1001,1)
Else
DeActivateSignal(Output5) 'ATC rotate CCW
setuserled(1001,0)
End If 'end rotate direction
Sleep(35)
ActivateSignal(OUTPUT6) 'ATC rotate
Select Case NextTool
Case 1'Tool#5 >1
While Not(IsActive(OEMTRIG1) And Not IsActive(OEMTRIG2) And IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4) And IsActive(OEMTRIG5))
Wend
Case 2'Tool#6 >2
While Not(Not IsActive(OEMTRIG1) And IsActive(OEMTRIG2) And IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4) And IsActive(OEMTRIG5))
Wend
Case 3'Tool#7 >3
While Not(IsActive(OEMTRIG1) And IsActive(OEMTRIG2) And IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4) And IsActive(OEMTRIG5))
Wend
Case 4'Tool#8 >4
While Not(Not IsActive(OEMTRIG1) And Not IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And IsActive(OEMTRIG4) And IsActive(OEMTRIG5))
Wend
Case 5'Tool#9 >5
While Not(IsActive(OEMTRIG1) And Not IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And IsActive(OEMTRIG4) And IsActive(OEMTRIG5))
Wend
Case 6'Tool#10 >6
While Not(Not IsActive(OEMTRIG1) And IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And IsActive(OEMTRIG4) And IsActive(OEMTRIG5))
Wend
Case 7'Tool#1 >7
While Not(IsActive(OEMTRIG1) And Not IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4) And IsActive(OEMTRIG5))
Wend
Case 8'Tool#2 >8
While Not(Not IsActive(OEMTRIG1) And IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4) And IsActive(OEMTRIG5))
Wend
Case 9'Tool#3 >9
While Not(IsActive(OEMTRIG1) And IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4) And IsActive(OEMTRIG5))
Wend
Case 10'Tool#4 >10
While Not(Not IsActive(OEMTRIG1) And Not IsActive(OEMTRIG2) And IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4) And IsActive(OEMTRIG5))
Wend
End Select
If getuserled(1001) Then 'REVERSE MOTOR TO STOP ATC IMMEDIAELY
DeActivateSignal(OUTPUT5)
Sleep(A)
Else
ActivateSignal(OUTPUT5)
Sleep(B)
End If 'end reverse
DeActivateSignal(OUTPUT6) 'stop ATC
DeActivateSignal(OUTPUT5)
Select Case NextTool
Case 1'Tool#5 >1 'safe check, does it safe to take the tool
While Not(IsActive(OEMTRIG1) And Not IsActive(OEMTRIG2) And IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4))
Wend
Case 2'Tool#6 >2
While Not(Not IsActive(OEMTRIG1) And IsActive(OEMTRIG2) And IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4))
Wend
Case 3'Tool#7 >3
While Not(IsActive(OEMTRIG1) And IsActive(OEMTRIG2) And IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4))
Wend
Case 4'Tool#8 >4
While Not(Not IsActive(OEMTRIG1) And Not IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And IsActive(OEMTRIG4))
Wend
Case 5'Tool#9 >5
While Not(IsActive(OEMTRIG1) And Not IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And IsActive(OEMTRIG4))
Wend
Case 6'Tool#10 >6
While Not(Not IsActive(OEMTRIG1) And IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And IsActive(OEMTRIG4))
Wend
Case 7'Tool#1 >7
While Not(IsActive(OEMTRIG1) And Not IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4))
Wend
Case 8'Tool#2 >8
While Not(Not IsActive(OEMTRIG1) And IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4))
Wend
Case 9'Tool#3 >9
While Not(IsActive(OEMTRIG1) And IsActive(OEMTRIG2) And Not IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4))
Wend
Case 10'Tool#4 >10
While Not(Not IsActive(OEMTRIG1) And Not IsActive(OEMTRIG2) And IsActive(OEMTRIG3) And Not IsActive(OEMTRIG4))
Wend
End Select
'=====end index=====
'Sleep(1200) 'TEST
'=====end m19=====
Code"G91 G28 Z0." 'Take the tool
While IsMoving ()
Wend
End If 'if same tool skip index
Sleep(100)
DeActivateSignal(OUTPUT1) 'son
deactivatesignal(output3) 'analog
DeActivateSignal(OUTPUT8) 'home RELAY
Message("Tool "& NextTool &" loaded ")
SetCurrentTool(NextTool)
'====== complete toolchange======
'=restore parameter===
Code "F" & CurrentFeed
' check user led
If getuserled(1000) Then
'coolant was on
Code "M8"
End If
' go to old tool position
'Code("G00 G90 G53 X" & CurrentPosX & "Y" & CurrentPosY)
While IsMoving ()
Wend
'Code("G00 G90 G53 Z" & CurrentPosZ)
While IsMoving ()
Wend
' Reset coordinate mode to original value
If oldCoordinateMode = 0 Then
Code("G91")
End If
'===end restore parameter======
End Sub
file m3.m1s
If IsActive(Input1) Then
DoOemButton(1021) 'reset
MsgBox("Z axis in the tool change area?")
Else
ActivateSignal(OUTPUT1)
ActivateSignal(OUTPUT12) 'spindle cooling
DeActivateSignal(OUTPUT3)
DoSpinCW()
End If