Tab Home là trang giao diện chính của chương trình chương trình bao gồm các lệnh chính của chương trình
7.2.2 Config button
Khi nhấn vào biểu tượng này form Config sẽ xuất hiện. Form này bao gồm
các hướng dẫn kiểm tra và thiết lập ban đ̀u của cân cũng như hướng dẫn tạo một bài kiểm tra mới.
Bảng
hướng dẫn
Chương 7 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 53
Hình 7.4: Cửa sổ Config
7.2.3 New button
Khi nhấp chuột vào biểu tượng này cửa sổ New sẽ xuất hiện cho phép ta tạo một bài kiểm tra độ bọt mới
Hình 7.5: Cửa sổ New
Mục Name cho phép ta đặt tên cho bài Test
Chương 7 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 54
Nút config cho phép ta nhập các thành ph̀n vật liệu có trong hợp kim.
Nút New để tạo bài test mới.
Hình 7.6: Cửa sổ Materials
Thành ph̀n ph̀n trăm của các loại kim loại được nhập vào cột Mass fraction. Sau đó bấm Done để hoàn tất.
Chương 7 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 55
7.2.4 Report button
Sau khi thực hiện xong các phép cân kết quả sẽđược hiển thị khi nhấn nút Report
Hình 7.7 Cửa sổ Result
Ta có thểxem được độ bọt, khối lượng riêng hay biểu đồđộ bọt khi nhấn vào
Chương 7 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 56
7.2.5 B ng h ớng d n
Bảng hướng dẫn sẽ trình bày các yêu c̀u cũng như những hướng dẫn hay thông báo trạng thái làm việc của cân và ph̀n mềm trong quá trình cân. Hiện thị giá trị khối
lượng chi tiết đo được trong các môi trường,và giá trịđọ bọt tính được.
Hình 7.8: Vị trí bảng hướng dẫn
7.2.6 Tab setting
Tab này bao gồm các thiết lập về thông số của cân các cài đặt chương trình,
chọn đơn vị hay ngôn ngữ của chương trình.
Do yêu c̀u của đề tài và vấn đề thời gian nên những chức năng của tab này
chưa hoạt động. Những chức năng này sẽ được bổ sung trong các phiên bản tiếp theo của ph̀n mềm.
Chương 7 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 57
Hình 7.9 Tab setting
7.2.7 Tab help
Tab này gồm hướng dẫn sử dụng, chức năng update ph̀n mềm và thông tin chi tiết về ph̀n mềm.
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng HVTH: Huỳnh Thanh Tuấn Trang 58 CHƯƠNG 8: CH Y TH C NGHI M VÀ ĐÁNH GIÁ K T QU 8.1 Kh i động ch ng trình Hình 8.1: Mẫu thử cổxe đạp
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 59
Nhấp đúp vào biểu tượng chương trình giao diện chính sẽ xuất hiện với thông báo yêu cầu kết nối cân điện tử với máy tính
Hình 8.2: Giao diện chính
Tiến hành kết nối cân điện tử với máy tính thông qua cáp kết nối cổng COM(chuẩn RS-232).
Khi kết nối xong một thông báo xuất hiện yêu cầu nhấn nút Config trên phần mềm
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 60
Hình 8.3: Thông báo yêu cầu nhấn nút Config
8.2 Thi t l p các thông s ban đầu
Khí nhấn nút Config một của sổ sẽ xuất hiện hiển thị các thông báo,ta thực hiện các bước theo trình trên thông báo. Bước này rất quan trọng vì các thông số
này quyết định rất lớn đến kết quảđo sau này.
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 61
Sau khi khởi động cân và nhấn nút Zero để đưa giá trị cân hiển thị trên cân về không, lúc này vị trí cân ởmôi trường không khí, nhấn nút Next để chuyển sang
bước tiếp theo.
Hình 8.5: Yều cầu nhấn nút chuyển môi trường trên thiết bị
Sau khi nhấn Next một thông báo xuất hiện sẽ yêu cầu nhấn nút chuyển môi
trường trên cơ cấu cân tự động xuống môi trường chất lỏng. Sau khi hoàn tất bạn phải đợi cho cân đạt giá trịổn định khi đó nhấn Next để chuyển sang bước tiếp theo.
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 62
bước này phần mềm yêu cầu ta nhấn nút chuyển môi trường một lần nữa
để đưa cơ cấu cân tự động về vị trí ban đầu ở môi trường không khí để tiến hành
phép đo. Sau khi hoàn thành nhấn Next để bước sang bước kế tiếp.
Lúc này bảng thông báo xuất hiện yêu cầu nhấn nút New để tạo một bài test mới.
8.3 T o một bƠi test mới
Nhấn New để tạo một bài test mới.
Cửa sổ New xuất hiện bao gồm các thiết lập về vật liệu số chi tiết cần kiểm tra.
Hình 8.7: Cửa sổ New Name: Ta đặt tên cho bài test mới
Amount: chọn sốlượng chi tiết cần kiểm tra
Material: là nơi hiện thị thông số về thành phần vật liệu.Thành phần vật liệu sẽđược nhập khi ta nhấn Config.
New để tạo bài test mới sau khi đã thiết lập xong các thông số. Nếu bạn chưa nhập giá trị vật liệu một thông báo sẽ xuất hiện yêu cầu bạn nhập các thông số vật liệu
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 63
Khi nhấn Config trên của sổ New một cửa sổ khác sẽ xuất hiện yêu cầu nhập thành phần phần trăm của các nguyên tố có trong hợp kim.
Bảng 8.1: BảngCửa sổ nhập thành phần vật liệu
Bạn phải nhập giá trị phần trăm tương ứng các nguyên tố có trong bảng Tổng các giá trị được nhập vào phải đủ 100%.
Sau khi đã nhập xong các giá trị nhấn Done để hoàn thành. Giá trị khối lượng riêng hợp kim sẽđược nhập vào ô Material
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 64
Hình 8.8: Cửa sổ New sau khi thiết lập xong Nhấn New để tiếp tục.
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 65
8.4 Ti n hƠnh cơn vƠ thu th p dữ li u
Hình 8.9: Cửa sổ nhập liệucân môi trường không khí lần 1
Phần mềm hiển thị giá trị thực tếtrên cân điện tử Bảng thông báo hiện thị trạng thái hiện tại của phép đo.
Hãy đặt vật cần đo độ bọt lên cân chờ cho giá trị hiển thị trên cân ổn định ở môi
trường không khí, nhấn Add để nhập giá trị vào vào phần mềm để chuyển sang
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 66
Hình 8.10: Yêu cầu nhấn Add để lấy dữ liệu từmôi trường không khí lần 1 Sau khi add giá trị đầu tiên vào phần mềm, một thông báo yêu cầu nhấn nút chuyển môi trường trên cơ cấu cân tự động để vật tiếp tục được cân trong môi
trường chất lỏng. Sau khi giá trị cân ổn định nhấn Add để tiếp tục nhập giá trị cân vật trong môi trường chất lỏng.
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 67
Hình 8.11: Cửa sổ nhập liệu cân môi trường chất lỏng lần 1
Tiếp tục nhấn Add để nhập giá trị vào vào phần mềm để chuyển sang bước kế tiếp.
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 68
Sau khi tiến hành cân chi tiết lần một, ta tiến hành dùng cơ cấu tự động để đưa chi tiết lên cân trong môi trường chân không và đi xuống cân trong môi trường chất lỏng cho đến khi kết thúc năm lần cân.
Hình 8.13: Tiếp tục nhận dữ liệu từcân điện tử
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 69
Hình 8.14: Quá trình cân và tính toán hoàn tất
8.5 Xem vƠ in k t qu
Để xem và in kết quả vừa tính được ta nhấn nút Report
Một của sổ sẽ xuất hiện để bạn lựa chọn các dạng kết quả mà bạn muốn xem
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 70
Bảng 8.3: Bảng giá trị khối lượng riêng và thể tích
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 71
Hình 8.15: Biểu đồ giá trị khối lượng riêng
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 72
8.6 Tóm t t các thao tác sử d ng phần m m
Chương 8 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 73
8.7 Đánh giá k t qu
Sau khi tiến hành đo độ bọt của mẫu thử, với kết quả 5 lần đo ta có giá trịđộ bọt trung bình của mẫu là 3,03 %, với sai sốđộ bọt 0,83%, mà theo thực tế chi tiết đúc
áp lực có độ bọt từ1% đến 3,5% là sử dụng được, do đó mẫu thử ta tiến hành thực ngiệm là chấp nhận được. Từđây ta có những kết luận, đánh giá như sau:
- Giao diện tính toán, quá trình nhận dữ liệu tương đối ổn định. - Độ bọt đo được theo như đánh giá thực tế là chấp nhận được.
Chương 9 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 74
CHƯƠNG 9:
K T LU N VÀ HƯ NG PHÁT TRI N C A Đ TÀI 9.1 K t lu n
Sau 6 tháng thực hiện đề tài luận văn “ THI T K VÀ CH T O THI T B ĐO Đ B T CHI TI T ĐÚC ÁP L C GIAO TI P V I MÁY TÍNH”, với sự cố gắng, nổ lực của bản thân, sự chỉ bảo tận tình của người hướng dẫn, sự giúp đỡ của bạn
đồng nghiệp, người thực hiện đã hoàn thành đúng tiến độ đề tài và đạt được những kết quả sau:
- Hoàn thành giao diện tính toán dựa vào ngôn ngữ visual basic.
- Kết nối được dữ liệu giữa cân điện tử và máy tính, nhằm tự động hóa trong quá trình tính toán.
- Chế tạo được thiết bị cơ khí đảm bảo độ cứng vững giúp cho quá trình thí nghiệm
thu được kết quảổn định.
Và hơn thế nữa, với sự dạy dỗ, chỉ bảo tận tình của th̀y hướng dẫn người thực hiện đã thấy mình trưởng thành và tự tin hơn. Điều này sẽgiúp cho người thực hiện rất nhiều trong quá trình làm việc sau này.
9.2 Phát tri n phần m m
Trong tương lai chúng tôi sẽ hoàn thiện thêm về việc viết ph̀n mềm để việc sử
dụng ph̀n mềm sẽ dễ dàng hơn. Có nhiều phương án có thể thay đổi các thông số
kết nối cho phù hợp với nhiều loại cân điện tử khác nhau.
Bổ sung các lệnh điều khiển ph̀n cứng đểđiều khiển cơ cấu cân tựđộng. Nâng cấp giao diện trực quan hơn giúp người sử dụng tiếp cận ph̀n mềm nhanh chóng nhất.
Chương 9 GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 75
9.3 Phát tri n phần c ng
Cân: thay đổi các loại cân với các thông số kỹ thuật khác nhau, tăng tải trọng tối
đa, với cân với độ chính xác cao hơn phục vụ cho việc kiểm tra các chi tiết c̀n độ
chính xác cao và trọng lượng lớn hơn.
Thi t b cân tự động: thiết kế phát triển cơ cấu cân tựđộng với sựđiều khiển trực tiếp từ ph̀n mềm máy tính thay cho hệđiều khiển bằng cơ.
Phụ lục GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 76
PH L C CODE VISUAL BASIC STUDIO
Module_Var.vb: module chứa các biến toàn cục Module Module_Var
Public p0 As Single 'p vật liệu theo ly thuyêt
Public mtr_str As String ' chuỗi tp vật liệu Public name_obj As String
Public in_air As Boolean
Public amount As Byte ' sốlượng vật cân Public k As Byte 'biến đếm khi chạy
' Public username As String 'Tên ngươi thực hiê ̣n
' Public company As String 'Tên công ty
Public mL(), mF(), mass(12) As Single 'mảng cân trong không khí , cân trong
dung di ̣ch va % thành ph̀n
Public mdevice_F As Single 'Khôi lượng gia đỡ trong dung di ̣ch
End Module
Public Class frmMain
Private Sub bt_abt_Click(sender As Object, e As EventArgs) Handles bt_abt.Click
frmAbout.ShowDialog() End Sub
Private Sub bt_opt_Click(sender As Object, e As EventArgs) Handles bt_opt.Click
frmOpt.ShowDialog() End Sub
Private Sub bt_Op_Click(sender As Object, e As EventArgs) OpenFileDialog1.ShowDialog()
End Sub
Private Sub Form1_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed 'If SerialPort1.IsOpen Then
'SerialPort1.Close() ' End If
Phụ lục GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 77
Private Sub but_Pri_Click(sender As Object, e As EventArgs) Handles but_Pri.Click
frmPrint.ShowDialog() End Sub
Private Sub frmmea_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.Left = (Screen.PrimaryScreen.WorkingArea.Width - Me.Width) / 2 Me.Top = (Screen.PrimaryScreen.WorkingArea.Height - Me.Height) / 2 ' Nếu chưa kết nối được thì ẩn giao diện - chờ kết nối
If Not Me.SerialPort1.IsOpen Then Me.GroupBox2.Visible = False Me.bt_New.Enabled = False Me.ButtonX2.Visible = False Me.txt_rw.Visible = False Try With Me.SerialPort1 .PortName = "COM3" .BaudRate = 9600 .Parity = IO.Ports.Parity.None .DataBits = 8 .StopBits = IO.Ports.StopBits.One End With Me.SerialPort1.Open() Catch ex As Exception Timer1.Enabled = True End Try End If Panel1.Top = 140 Panel1.Left = 140 Me.bt_New.Enabled = True HOME.Select()
TextBoxX1.Text = "Press Config button to config the scale " ItemContainer27.BackgroundStyle.BackColor = Color.LightPink in_air = True
txt_rw.Text = "Scale is not start up" End Sub
Phụ lục GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 78
Private Sub SerialPort1_DataReceived(sender As Object, e As
IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived Static StrIn As String
Control.CheckForIllegalCrossThreadCalls = False StrIn = StrIn + SerialPort1.ReadExisting()
txt_rw.Text = Mid(StrIn, InStrRev(StrIn, "W"), 15) End Sub
Private Sub ButtonX2_Click(sender As Object, e As EventArgs) Handles ButtonX2.Click
If in_air = True Then
ListBox1.Items.Add("Object " & ListBox1.Items.Count + 1 & " : " & Trim(Mid(txt_rw.Text, 4, 10)) & " g")
TextBoxX1.Text = "->Press change evnviroment on machine" & vbCrLf & "->Press Add button to collect data"
mL(ListBox1.Items.Count - 1) = Val(Trim(Mid(txt_rw.Text, 4, 10))) in_air = False Else ListBox2.Items.Add(Str(get_mF(Val(Trim(Mid(txt_rw.Text, 4, 10))))) & " g") mF(ListBox2.Items.Count - 1) = get_mF(Val(Trim(Mid(txt_rw.Text, 4, 10)))) k = k + 1 'Nếu là l̀n cân cuối cùng thì sẽ xuất ra kết quả============================================== If k = amount Then Dim t As Single
Dim delta_mL As Single Dim delta_mF As Single
Dim delta_Vp_str As String = ""
If p0 = 0 Or Not Me.SerialPort1.IsOpen Or (ListBox1.Items.Count = 0) Or (ListBox2.Items.Count = 0) Then MsgBox("Error", MsgBoxStyle.OkOnly) Else 'Tính delta mL mF For i = 0 To mL.Count - 1
ListBox4.Items.Add("Object " & (i + 1) & ": " & Str(Math.Round(Vp(p(mL(i), mF(i))), 2)) & " %")
Phụ lục GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 79
t = t + Vp(p(mL(i), mF(i))) Next
For z = 0 To ListBox1.Items.Count - 1
delta_mL = delta_mL + Math.Abs(mL(z) - AVERAGE(mL)) delta_mF = delta_mF + Math.Abs(mF(z) - AVERAGE(mF)) Next
delta_mL = delta_mL / mL.Count delta_mF = delta_mF / mF.Count
delta_Vp_str = " +/- " & Str(Math.Round(delta_Vp(AVERAGE(mL), AVERAGE(mF), delta_mL, delta_mF), 2))
'Kêt thuc tinh delta mL mF
lbl_avg.Text = Str(Math.Round((t / mL.Count), 2)) & delta_Vp_str & " %"
End If
'Xử lí khi cân
xong======================================================== =================================================
TextBoxX1.Text = "Process finish" & vbCrLf & "Press Report to view result" ItemContainer21.BackgroundStyle.BackColor = Color.LightPink Me.txt_rw.Visible = False Me.ButtonX2.Visible = False 'Kết thúc xử lí =========================================================== =================================================== 'Kết thúc xuất kết quả========================================================= =============== Else in_air = True
TextBoxX1.Text = ">>Weigh object " & Str(k + 1) & vbCrLf & "->Put object on device" & vbCrLf & "->Press Add button to collect data"
lbl_remain.Text = "Remain: " & (amount - k - 1) & " object" End If
End If End Sub
Phụ lục GVHD: TS Huỳnh Nguyễn Hoàng
HVTH: Huỳnh Thanh Tuấn Trang 80
Module_ function.vb: module chứa các hàm tính toán và xử lý Imports System.Drawing.Printing
Module Module_function
Function V(mL As Single, mF As Single) As Single Const pL As Single = 0.000129
Const pF As Single = 0.997 V = (mL - mF) / (pF - pL) End Function
Function p(mL As Single, mF As Single) As Single Const pL As Single = 0.000129
Const pF As Single = 0.997
p = (mL / (mL - mF)) * (pF - pL) + pL End Function
Function Vh(p As Single, V As Single) As Single Vh = (1 - p / p0) * V
End Function
Function Vp(p As Single) As Single Vp = (1 - (p / p0)) * 100
End Function
Function delta_Vp(mL As Single, mF As Single, delta_mL As Single, delta_mF As Single) As Single
Dim delta_p1 As Single Const pF As Single = 0.997
Const delta_pF As Single = 0.0005
delta_p1 = (pF / ((mL - mF) * (mL - mF))) * (mF * delta_mL + mL * delta_mF + (((mL - mF) * mL) / pF) * delta_pF)
delta_Vp = (delta_p1 / p0) * 100 End Function
Function AVERAGE(A As Array) As Single ' Hàm giá trị trung bình
Dim s As Single = 0 Dim n As Byte n = UBound(A) For i = 0 To n s = s + A(i) Next AVERAGE = s / (n + 1) End Function
Function STDEVP(A As Array) As Single 'Hàmđô ̣ lê ̣ch chuẩn
Phụ lục GVHD: TS Huỳnh Nguyễn Hoàng HVTH: Huỳnh Thanh Tuấn Trang 81 Dim s1 As Single = 0 Dim s2 As Single = 0 's1 is sum[A(i)] s2 is sum[A(i)^2] n = UBound(A) + 1 For i = 0 To (n - 1) s1 = s1 + A(i)