Báo cáo NCKH

110 1 0
Báo cáo NCKH

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA ĐIỆN BÁO CÁO NGHIÊN CỨU KHOA HỌC Tên đề tài: Ứng dụng PLC kết hợp IoT điều khiển giám sát robot bậc tự thực gắp đặt sản phẩm vào vị trí trống khay Giảng viên hướng dẫn TS Đào Thị Mai Phương Nhóm sinh viên thực hiện: Trần Thành Đạt – 2017603196 Trần Tuấn Anh – 2017603176 Tạ Văn Hùng – 2017603164 Nguyễn Kim Quyền – 2017604196 Nguyễn Văn Tuấn - 2017604443 Hà Nội, 2021 MỤC LỤC Danh mục bảng biểu Danh mục hình ảnh MỞ ĐẦU Tính cấp thiết đề tài Ngành công nghiệp robot giới đưa sản phẩm robot công nghiệp để phục vụ sản xuất, chí phục vụ nhu cầu giải trí chăm sóc người Với ngành cơng nghiệp Việt Nam robot chưa xuất nhiều dây truyền sản xuất Vì sản phẩm cịn đắt thị trường Việt Nam Nhằm nội địa hóa sản phẩm, nghiên cứu chuyên sâu robot, chọn đề tài “Ứng dụng Webserver PLC S7-1200 để thực điều khiển giám sát tay gắp robot bậc tự do” Đề tài hướng tới thay điều khiển cơng ty nước ngồi xây dựng thuật điều khiển tối ưu cho đối tượng sản xuất, mà đối tượng thích hợp với điều kiện sản xuất nước ta Với phịng thí nghiệm, mơ hình để sinh viên thực nghiệm nghiên cứu, để hướng tới cho bạn sinh viên nhìn cụ thể, thực tiễn robot Mục đích nghiên cứu đề tài Mục đích đề tài nghiên cứu cấu tạo phương pháp điều khiển thích hợp sở ứng dụng kỹ thuật tiên tiến xây dựng giải pháp phần cứng phần mềm để chế tạo điều khiển giám sát tay gắp robot ba bậc tự Nhằm làm chủ kỹ thuật chế tạo robot, áp dụng vào phịng thí nghiệm trường cao đẳng, đại học ứng dụng sản xuất công nghiệp Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu đề tài phương trình động học robot để đưa thuật điều khiển tối ưu cho robot; phần mềm Webserver, Tia Portal V15 để điều khiển giám sát tay gắp robot ba bậc tự phần khí để chế tạo tay gắp robot Nghiên cứu giới hạn phạm vi nghiên cứu, chế tạo điều khiển cánh tay robot ba bậc tự với phần mềm điều khiển nêu Phương pháp nghiên cứu đề tài Nghiên cứu sở khoa học thực tiễn chế tạo, điều khiển robot Phương pháp nghiên cứu thực tiễn: Nghiên cứu phương trình động học ngược robot; Nghiên cứu ứng dụng phần mềm Webserver, Tia Portal V15 để điều khiển giám sát tay gắp robot ba bậc tự Nghiên cứu ứng dụng phần gia công khí để chế tạo tay gắp robot Ý nghĩa khoa học thực tiễn đề tài Đề tài nghiên cứu cụ thể điều khiển vị trí dùng S7-1200 Sử dụng phần mềm Webserver để điều khiển tay gắp Kết hợp với điều khiển nhỏ gọn giao tiếp thành cơng với robot Đề tài sử dụng làm mơ hình thí nghiệm sử dụng cho khâu hay giai đoạn sản xuất Chương CÁC KHÁI NIỆM CƠ BẢN VÀ PHÂN LOẠI ROBOT 1.1 Các khái niệm 1.1.1 Robot Robotics Từ thời cổ xưa, người mong muốn tạo vật giống để bắt chúng phục vụ cho thân Ví dụ, kho thần thoại Hy Lạp có chuyện người khổng lồ Promethe đúc người từ đất sét truyền cho họ sống, chuyện tên nô lệ Talus khổng lồ làm đồng giao nhiệm vụ bảo vệ hoang đảo Crete Đến năm 1921, từ "Robot" xuất lần đầu kịch "Rossum's Universal Robots" nhà viết kịch viễn tưởng người Sec, Karel Capek Trong kịch này, ông dùng từ "Robot", biến thể từ gốc Slavơ "Rabota", để gọi thiết bị - lao công người (nhân vật Rossum) tạo Vào năm 40 nhà văn viễn tưởng Nga, Issac Asimov, mô tả robot máy tự động, mang diện mạo người, điều khiển hệ thần kinh khả trình Positron, người lập trình Asimov đặt tên cho ngành khoa học nghiên cứu robot Robotics, có nguyên tắc bản: Robot không xúc phạm người không gây tổn hại cho người Hoạt động robot phải tuân theo quy tắc người đặt Các quy tắc không vi phạm nguyên tắc thứ Một robot cần phải bảo vệ sống mình, khơng vi phạm hai ngun tắc trước Các nguyên tắc sau trở thành tảng cho việc thiết kế robot Từ hư cấu khoa học viễn tưởng, robot giới kỹ thuật hình dung máy đặc biệt, người tác theo cấu tạo hoạt động mình, dùng để thay số cơng việc xác định Để hồn thành nhiệm vụ đó, robot cần có khả cảm nhận thông số trạng thái môi trường tiến hành hoạt động tương tự người Khả hoạt động robot đảm bảo hệ thống khí, gồm cấu vận động để lại cấu hành động để làm việc Việc thiết kế chế tạo hệ thống thuộc lĩnh vực khoa học cấu truyền động, chấp hành vật liệu khí Chức cảm nhận, gồm thu nhận tín hiệu trạng thái môi trường trạng thái thân hệ thống, cảm biến (sensor) thiết bị liên quan thực Hệ thống gọi hệ thống thu nhận xử lý tín hiệu, hay đơn giản hệ thống cảm biến Muốn phối hợp hoạt động hai hệ thống trên, đảm bảo cho robot tự điều chỉnh "Hành vi" hoạt động theo chức quy định điều kiện mơi trường thay đổi, robot phải có hệ thống điều khiển Xây dựng hệ thống điều khiển thuộc phạm vi điện tử, kỹ thuật điều khiển công nghệ thông tin Robotics hiểu ngành khoa học có nhiệm vụ nghiên cứu, thiết kế, chế tạo robot ứng dụng chúng lĩnh vực hoạt động khác xã hội loài người, nghiên cứu khoa học, kỹ thuật, kinh tế, quốc phòng dân sinh Từ hiểu biết sơ chức kết cấu robot, hiểu, Robotics khoa học liên ngành, gồm khí, điện tử, kỹ thuật điều khiển công nghệ thông tin Theo thuật ngữ nay, robot sản phẩm ngành - điện tử (Mechatronics) Khía cạnh nhân văn khía cạnh khoa học - kỹ thuật việc sản sinh robot thống điểm: thực hoài bão người, tạo thiết bị thay hoạt động khơng thích hợp với mình, như: • Các cơng việc lặp lặp lại, nhàm chán, nặng nhọc: vận chuyển nguyên vật liệu, lắp ráp, lau cọ nhà, • Trong mơi trường khắc nghiệt nguy hiểm: ngồi khoảng không vũ trụ, chiến trường, nước sâu, lịng đất, nơi có phóng xạ, nhiệt độ cao, • Những việc địi hỏi độ xác cao, thông tắc mạch máu ống dẫn thể, lắp ráp cấu tử vi mạch, Lĩnh vực ứng dựng robot rộng ngày mở rộng thêm Ngày nay, khái niệm robot mở rộng khái niệm nguyên thuỷ nhiều Sự tác kết cấu, chức năng, dáng vẻ người cần thiết không ngự trị kỹ thuật robot Kết cấu nhiều "con" robot khác xa với kết cấu phận thể người chúng thực việc vượt xa khả người 1.1.2 Robot công nghiệp (RBCN) Mặc dù, định nghĩa chung robot nêu, khơng có giới hạn phạm vi ứng dụng robot, có thực tế hầu hết robot có dùng cơng nghiệp Chúng có đặc điểm riêng kết cấu, chức năng, thống hoá, thương mại hoá rộng rãi Lớp robot gọi Robot công nghiệp (Industrial Robot - IR) Kỹ thuật tự động hố (TĐH) cơng nghiệp đạt tới trình độ cao: khơng TĐH trình vật lý mà trình xử lý thơng tin Vì vậy, TĐH cơng nghiệp tích hợp công nghệ sản xuất, kỹ thuật điện, điện tử, kỹ thuật điều khiển tự động có TĐH nhờ máy tính Hiện nay, cơng nghiệp tồn dạng TĐH: TĐH cứng (Fixed Automation) hình thành dạng thiết bị dây chuyền chuyên môn hố theo đối tượng (sản phẩm) Nó ứng dụng có hiệu điều kiện sản xuất hàng khối với sản lượng lớn sản phẩm loại TĐH khả trình (Proqrammable Automation) ứng dụng chủ yếu sản xuất loạt nhỏ, loạt vừa, đáp ứng phần lớn nhu cầu sản phẩm công nghiệp Hệ thống thiết bị dạng thiết bị vạn điều khiển số, cho phép dễ dàng lập trình lại để thay đổi chủng loại (tức thay đổi quy trình cơng nghệ sản xuất) sản phẩm TĐH linh hoạt (Flexible Automation) dạng phát triển TĐH khả trình Nó tích hợp cơng nghệ sản xuất với kỹ thuật điều khiển máy tính, cho phép thay đổi đối tượng sản xuất mà không cần (hoặc hạn chế) can thiệp người TĐH linh hoạt biểu dạng: tế bào sản xuất linh hoạt (Flexible Manufacturing Cell - FMC) hệ thống sản xuất linh hoạt (Flexible Manufacturing System - FMS) RBCN có đặc trưng bản: Là thiết bị vạn năng, TĐH theo chương trình lập trình lại để đáp ứng cách linh hoạt, khéo léo nhiệm vụ khác Được ứng dụng trường hợp mang tính cơng nghiệp đặc trưng, vận chuyển xếp dỡ nguyên vật liệu, lắp ráp, đo lường, Vì thể đặc trưng RBCN, định nghĩa sau robot công nghiệp Viện nghiên cứu robot Mỹ đề xuất sử dụng rộng rãi: RBCN tay máy vạn năng, hoạt động theo chương trình lập trình lại để hồn thành nâng cao hiệu hoàn thành nhiệm vụ khác công nghiệp, vận chuyển nguyên vật liệu, chi tiết, dụng cụ thiết bị chuyên dùng khác Ngồi ý trên, định nghĩa ГOCT 25686-85 cịn bổ sung cho RBCN chức điều khiển trình sản xuất: RBCN máy tự động đặt cố định hay di động, bao gồm thiết bị thừa hành dạng tay máy có số bậc tự hoạt động thiết bị điều khiển theo chương trình, tái lập trình để hồn thành chức vận động điều khiển trình sản xuất Chức vận động bao gồm hoạt động "cơ bắp" vận chuyển, định hướng, xếp đặt, gá kẹp, lắp ráp, đối tượng Chức điều khiển ám vai trò robot phương tiện điều hành sản xuất, cung cấp dụng cụ vật liệu, phân loại phân phối sản phẩm, trì nhịp sản xuất chí điều khiển thiết bị liên quan Với đặc điểm lập trình lại, RBCN thiết bị TĐH khả trình ngày trở thành phận thiếu tế bào hệ thống sản xuất linh hoạt 10 1.2 Cấu trúc RBCN 1.2.1 Kết cấu chung Tay máy (Manipulator) cấu khí gồm khâu, khớp Chúng hình thành cánh tay để tạo chuyển động bản, cổ tay tạo nên khéo léo, linh hoạt bàn tay (End Effector) để trực tiếp hoàn thành thao tác đối tượng Cơ cấu chấp hành tạo chuyển động cho khâu tay máy Nguồn động lực cấu chấp hành động loại: điện, thuỷ lực, khí nén kết hợp chúng Một RBCN cấu thành hệ thống sau (hình 1.1): Hình 1: Sơ đồ khối RBCN Hệ thống cảm biến gồm sensor thiết bị chuyển đổi tín hiệu cần thiết khác Các robot cần hệ thống sensor để nhận biết trạng thái thân cấu robot sensor ngồi để nhận biết trạng thái mơi trường 96 97 98 99 100 101 102 103 104 105 106 Code điều khiển Android App: package com.example.plc_control; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.widget.Button; import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.FirebaseDatabase; public class MainActivity extends AppCompatActivity { private View decorView; private Button Start, Stop, Auto, Manual; private Button Pos1, Pos2, Pos3, Pos4, Home; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); decorView = getWindow().getDecorView(); decorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { @Override public void onSystemUiVisibilityChange(int visibility) { if(visibility == 0) decorView.setSystemUiVisibility(hideSystemBars()); } }); 107 Start = (Button)findViewById(R.id.btnStat); Stop = (Button)findViewById(R.id.btnStop); Auto = (Button)findViewById(R.id.btnAuto); Manual = (Button)findViewById(R.id.btnManual); Pos1 = (Button)findViewById(R.id.btnPos1); Pos2 = (Button)findViewById(R.id.btnPos2); Pos3 = (Button)findViewById(R.id.btnPos3); Pos4 = (Button)findViewById(R.id.btnPos4); Home = (Button)findViewById(R.id.btnHome); Start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Start.setBackgroundResource(R.color.green); Stop.setBackgroundResource(R.color.red); FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("PLC/SEND/ON"); myRef.setValue("1"); } }); Stop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Start.setBackgroundResource(R.color.red); Stop.setBackgroundResource(R.color.green); FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("PLC/SEND/ON"); myRef.setValue("0"); } }); Auto.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Auto.setBackgroundResource(R.color.green); Manual.setBackgroundResource(R.color.red); FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("PLC/SEND/AUTO"); myRef.setValue("1"); } }); Manual.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { 108 Auto.setBackgroundResource(R.color.red); Manual.setBackgroundResource(R.color.green); FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("PLC/SEND/AUTO"); myRef.setValue("0"); } }); Pos1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("PLC/CONTROL/POS1"); DatabaseReference myRef2 = database.getReference("PLC/CONTROL/POS2"); DatabaseReference myRef3 = database.getReference("PLC/CONTROL/POS3"); DatabaseReference myRef4 = database.getReference("PLC/CONTROL/POS4"); myRef.setValue("1"); myRef2.setValue("0"); myRef3.setValue("0"); myRef4.setValue("0"); } }); Pos2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("PLC/CONTROL/POS2"); DatabaseReference myRef2 = database.getReference("PLC/CONTROL/POS1"); DatabaseReference myRef3 = database.getReference("PLC/CONTROL/POS3"); DatabaseReference myRef4 = database.getReference("PLC/CONTROL/POS4"); myRef.setValue("1"); myRef2.setValue("0"); myRef3.setValue("0"); myRef4.setValue("0"); } }); Pos3.setOnClickListener(new View.OnClickListener() { 109 @Override public void onClick(View v) { FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("PLC/CONTROL/POS3"); DatabaseReference myRef2 = database.getReference("PLC/CONTROL/POS2"); DatabaseReference myRef3 = database.getReference("PLC/CONTROL/POS1"); DatabaseReference myRef4 = database.getReference("PLC/CONTROL/POS4"); myRef.setValue("1"); myRef2.setValue("0"); myRef3.setValue("0"); myRef4.setValue("0"); } }); Pos4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("PLC/CONTROL/POS4"); DatabaseReference myRef2 = database.getReference("PLC/CONTROL/POS2"); DatabaseReference myRef3 = database.getReference("PLC/CONTROL/POS3"); DatabaseReference myRef4 = database.getReference("PLC/CONTROL/POS1"); myRef.setValue("1"); myRef2.setValue("0"); myRef3.setValue("0"); myRef4.setValue("0"); } }); Home.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("PLC/CONTROL/GoHome"); myRef.setValue("1"); } }); } 110 @Override public void onWindowFocusChanged(boolean hasFocus){ super.onWindowFocusChanged(hasFocus); if (hasFocus){ decorView.setSystemUiVisibility(hideSystemBars()); } } private int hideSystemBars(){ return View.SYSTEM_UI_FLAG_LAYOUT_STABLE |View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |View.SYSTEM_UI_FLAG_FULLSCREEN |View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION; } } ... chuyển vào hệ thống kéo nhả lệnh chương trình Name: khai báo sử dụng lần CPU 26 Data type: kiểu liệu định cho tag Address: địa tag Retain: khai báo tag lưu trữ lại Comment: comment miêu tả tag Nhóm... Nếu hai giá trị IN INF có dấu khác nhau, khai báo không hợp lệ trả NaN Lệnh trừ SUB : OUT = IN1 – IN2 SUB Real/LReal: Nếu hai giá trị IN INF dấu, khai báo không hợp lệ trả NaN Lệnh nhân MUL: OUT... IN1*IN2 MUL Real/LReal: Nếu giá trị là INF, khai báo không hợp lệ trả NaN Lệnh chia DIV : OUT = IN1/IN2 DIV Real/LReal: Nếu hai giá trị IN không INF, khai báo không hợp lệ trả NaN 2.7.3 Lệnh lấy phần

Ngày đăng: 16/08/2022, 20:04

Tài liệu cùng người dùng

Tài liệu liên quan