1. Trang chủ
  2. » Tất cả

(Đồ án hcmute) thiết kế và thi công hệ thống điều khiển tốc độ động cơ của quạt máy thông qua ứng dụng điện thoại android

93 4 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 93
Dung lượng 6,36 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ CỦA QUẠT MÁY THÔNG QUA ỨNG DỤNG ĐIỆN THOẠI ANDROID GVHD: QUÁCH THANH HẢI SVTH: NGUYỄN THANH QUANG SVTH: VŨ THỊ PHƯƠNG ANH SKL 0 Tp Hồ Chí Minh, tháng 08/2020 an BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ CỦA QUẠT MÁY THÔNG QUA ỨNG DỤNG ĐIỆN THOẠI ANDROID GVHD: TS Quách Thanh Hải SVTH: Nguyễn Thanh Quang – 16141243 Vũ Thị Phương Anh Tp Hồ Chí Minh - 8/2020 an – 16141106 TRƯỜNG ĐẠI HỌC SPKT TP.HCM KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP – TỰ DO – HẠNH PHÚC Tp HCM, ngày 04 tháng 08 năm 2020 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Thanh Quang Vũ Thị Phương Anh MSSV MSSV Chuyên ngành: Kỹ Thuật Điện tử, Truyền Thơng Mã ngành: Hệ đào tạo: Khóa: Đại học quy 2016 Mã hệ: Lớp: 16141243 16141106 141 16141DT2 I.TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ CỦA QUẠT MÁY THÔNG QUA ỨNG DỤNG ĐIỆN THOẠI ANDROID II NHIỆM VỤ Nội dung thực hiện: - Đọc tài liệu, đồ án tốt nghiệp, đề tài liên quan - Tìm hiểu linh kiện công suất MOSFET, OPTO - Tìm hiểu chuẩn truyền thơng UART, I2C - Tìm hiểu phần mềm Android Studio, module giao tiếp Bluetooth HC-05 - Thiết kế ứng dụng điều khiển tốc độ động quạt máy điện thoại - Thiết kế thi công mạch công suất điều khiển điện áp đầu vào quạt - Thiết kế thi công hoàn thiện hệ thống điều khiển động quạt - Viết chương trình điều khiển cho Ardunio, nạp code chạy thử nghiệm, chỉnh sửa hoàn thiện hệ thống - Thực viết sách luận văn báo cáo - Tiến hành báo cáo đề tài tốt nghiệp III NGÀY GIAO NHIỆM VỤ: 09/03/2020 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 04/08/2020 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS QUÁCH THANH HẢI CÁN BỘ HƯỚNG DẪN: BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH i an TRƯỜNG ĐẠI HỌC SPKT TPHCM Khoa Điện - Điện Tử Bộ Môn Điện Tử Cơng Nghiệp CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc Tp Hồ Chí Minh, ngày 30 tháng năm 2020 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP (Bản lịch trình đóng vào báo cáo) Họ tên sinh viên: Nguyễn Thanh Quang MSSV: 16141243 Họ tên sinh viên: Vũ Thị Phương Anh MSSV: 16141106 Lớp: 16141DT2B Tên đề tài: Thiết kế thi công hệ thống điều khiển tốc độ động quạt máy thông qua ứng dụng điện thoại Android Tuần/ngày Nội dung Tuần - Gặp GVHD để nghe phổ biến yêu cầu làm đồ án, tiến hành chọn đồ án (30/3 – 5/4) Tuần (6/4 –12/4) Tuần (13/4 – 19/4) Tuần - GVHD tiến hành xét duyệt đề tài - Viết đề cương chi tiết lịch trình đồ án tốt nghiệp - Tìm hiểu đề tài lựa chọn thiết bị thích hợp (20/4 – 26/4) - Tìm hiểu công nghệ Bluetooth, giao tiếp UART Tuần - Tiến hành thiết kế sơ đồ khối, giải thích chức khối (27/4 – 3/5) Tuần (4/5 – 10/5) - Kết nối giao tiếp Arduino Uno với HC – 05 LCD 16x2 Tuần - Thiết kế sơ đồ nguyên lý cho ứng dụng Android điều khiển quạt qua Bluetooth (11/5 – 17/5) - Thiết kế giao diện cho ứng dụng Android Android Studio Tuần - Viết chương trình điều khiển cho ứng dụng Android Android Studio (18/5 – 24/5) Tuần (25/5 – 31/5) Xác nhận GVHD - Nghiên cứu, tính tốn thiết kế sơ đồ mạch công suất để điều khiển điện áp đầu vào quạt, giải thích nguyên lý hoạt động mạch - Mô mạch ii an Tuần 10 (1/6 – 7/6) Tuần 11 (8/6 – 14/6) Tuần 12 (15/6 – 21/6) Tuần 13 (22/6 – 28/6) Tuần 14 (29/6 – 5/7) Tuần 15 (6/7 – 12/7) Tuần 16 (13/7 – 19/7) - Kết nối Arduino Uno với mạch công suất - Thiết kế sơ đồ nguyên lý cho hệ thống điều khiển - Viết chương trình điều khiển hệ thống - Thiết kế mơ hình hệ thống - Vẽ mạch PCB - Thi công phần cứng - Thử nghiệm toàn hệ thống Kiểm tra sữa chữa lỗi có - Viết báo cáo làm slide báo cáo - Hoàn thiện in báo cáo - Báo cáo với GVHD GV HƯỚNG DẪN (Ký ghi rõ họ tên) iii an LỜI CAM ĐOAN Đề tài tự thực dựa vào số tài liệu trước khơng chép từ tài liệu hay cơng trình có trước Người thực đề tài Vũ Thị Phương Anh Nguyễn Thanh Quang iv an LỜI CẢM ƠN Lời chúng em xin gửi lời cảm ơn sâu sắc thầy cô giáo Bộ mơn Điện Tử Y Sinh nói riêng thầy Khoa Điện - Điện tử nói chung giúp đỡ, nhiệt tình bảo chúng em kiến thức liên quan tới lĩnh vực nghiên cứu đề tài, kiến thức sâu rộng bổ ích mà thầy truyền dạy cho chúng em suốt thời gian học tập trường Xin gửi lời cảm ơn chân thành đến giảng viên hướng dẫn TS Quách Thanh Hải tận tình hướng dẫn, giúp đỡ, cung cấp tài liệu kiến thức quan trọng tạo điều kiện thuận lợi cho chúng em suốt q trình thực đề tài Chúng em gửi lời cảm ơn tới ba mẹ người thân đồng hành, chia sẻ động viên tinh thần vật chất suốt trình thực đề tài Chúng em gửi lời cảm ơn tới bạn ngành CNKT Điện tử - Truyền thông K16 trao đổi chia sẻ kiến thức kinh nghiệm quý báu suốt trình thực đề tài Xin chân thành cảm ơn! Người thực đề tài Nguyễn Thanh Quang Vũ Thị Phương Anh v an MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP ii LỜI CAM ĐOAN iv LỜI CẢM ƠN v MỤC LỤC vi DANH MỤC HÌNH ẢNH viii DANH MỤC BẢNG x TÓM TẮT xi Chương TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU .2 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN .3 1.5 BỐ CỤC Chương CƠ SỞ LÝ THUYẾT .4 2.1 QUY TRÌNH ĐIỀU KHIỂN ĐỘNG CƠ CỦA HỆ THỐNG 2.2 CƠ SỞ LÝ THUYẾT 2.2.1 Arduino Uno R3 2.2.2 Module HC - 05 2.2.3 LCD 16x2 2.2.4 Mạch chuyển đổi I2C cho LCD 2.2.5 Giao tiếp I2C 2.2.6 Giao tiếp UART 2.2.7 IC cách ly quang TLP250 2.2.8 IGBT 25N120 2.2.9 Encoder KY - 040 Chương TÍNH TỐN VÀ THIẾT KẾ 12 3.1 GIỚI THIỆU 12 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 12 3.2.1 Thiết kế sơ đồ khối hệ thống 12 3.2.2 Lựa chọn, tính tốn thiết kế mạch .13 3.2.3 Sơ đồ nguyên lý toàn mạch .21 Chương THI CÔNG HỆ THỐNG .22 4.1 GIỚI THIỆU 22 4.2 THI CÔNG HỆ THỐNG 22 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an vi 4.2.1 Thi công bo mạch .22 4.2.2 Lắp ráp kiểm tra 24 4.3 ĐĨNG GĨI VÀ THI CƠNG MƠ HÌNH 25 4.3.1 Đóng gói điều khiển 25 4.3.2 Thi cơng mơ hình .25 4.4 LẬP TRÌNH HỆ THỐNG 28 4.4.1 Lưu đồ giải thuật 28 4.4.2 Phần mềm lập trình cho vi điều khiển 32 4.4.3 Phần mềm lập trình cho điện thoại, máy tính, … 36 4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC .39 4.5.1 Viết tài liệu hướng dẫn sử dụng .39 4.5.2 Quy trình thao tác .40 Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 43 5.1 ĐÁNH GIÁ SẢN PHẨM 43 5.1.1 Đánh giá khả điều khiển kỹ thuật đề xuất 43 5.1.2 Đánh giá chức vận hành phần mềm xây dựng 47 5.2 ĐÁNH GIÁ KẾT QUẢ ĐẠT ĐƯỢC 53 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 54 6.1 KẾT LUẬN 54 6.2 HƯỚNG PHÁT TRIỂN 54 TÀI LIỆU THAM KHẢO 55 PHỤ LỤC 56 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an vii DANH MỤC HÌNH ẢNH Hình 2.1 Hình ảnh minh họa cho Ardunio UNO R3 Hình 2.2 Hình minh họa cho Module Bluetooth HC-05 .5 Hình 2.3 LCD 16x2 Hình 2.4 Hình minh họa mạch chuyển đổi I2C cho LCD Hình 2.5 Sơ đồ kết nối giao tiếp UART .7 Hình 2.6 Hình ảnh minh họa cho IC cách quang TLP250 Hình 2.7 Hình minh họa sơ đồ chân IC cách quang TLP250 Hình 2.8 IGBT 25N120 Hình 2.9 Sơ đồ chân IGBT 25N120 Hình 2.10 Hình minh họa cho Encoder 040 Hình 2.11 Hình ảnh minh họa Encoder 10 Hình 2.12 Hình minh họa cho cấu tạo Encoder 10 Hình 2.13 Hình minh họa cho hình dạng Encoder 11 Hình 3.1 Sơ đồ khối hệ thống 12 Hình 3.2 Sơ đồ nguyên lý tổng quát Arduino Uno R3 13 Hình 3.3 Sơ đồ kết nối Arduino Uno R3 với Encoder Ky-040 HC-05 14 Hình 3.4 Kết nối LCD với mạch chuyển giao tiếp I2C .15 Hình 3.5 Sơ đồ nguyên lý kết nối Arduino Uno R3 với LCD .16 Hình 3.6 Sơ đồ nguyên lý mạch cách ly dùng TLP250 .17 Hình 3.7 Sơ đồ nguyên lý mạch công suất 17 Hình 3.8 Sơ đồ nguyên lý kết nối Arduino Uno R3 với khối công suất 19 Hình 3.9 Adapter nguồn 9V – 1A 20 Hình 3.10 Adapter nguồn đôi 12V – 1A .20 Hình 3.11 Sơ đồ nguyên lý hệ thống .21 Hình 4.1 Mặt mạch PCB 22 Hình 4.2 Mặt mạch PCB 23 Hình 4.3 Sơ đồ bố trí linh kiện 23 Hình 4.4 Mặt mạch sau lắp ráp hàn linh kiện 25 Hình 4.5 Mặt mạch sau lắp ráp hàn linh kiện 26 Hình 4.6 Lắp đặt mạch module nguồn lên mặt đế quạt 26 Hình 4.7 Lắp đặt HC-05, LCD I2C, Encoder Ky 040 lên mặt quạt 27 Hình 4.8 Quạt sau lắp đặt xong 27 Hình 4.9 Lưu đồ giải thuật cho Arduino Uno R3 28 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an viii PHỤ LỤC Button btnPlus, btnSub, btnDis, btnOn, btnOff; SeekBar seekBarSpeed; TextView valueOfSpeed, titleDeviceConnected; ProgressBar progressBarValue; private ProgressDialog progress; String dataToUpdate; String address = ""; String recDataString = ""; int valueInt; BluetoothAdapter bluetoothAdapter = null; BluetoothSocket bluetoothSocket = null; private boolean isConnected = false; private boolean newData = false; private boolean recvInProgress = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_control_fan); Intent intent = getIntent(); DeviceItem deviceToConnect = (DeviceItem) intent.getSerializableExtra(ConnectBluetooth.EXTRA_ADDRESS); address = deviceToConnect.getAddress(); //call the widgtes btnPlus = (Button)findViewById(R.id.btnPlus); btnSub = (Button)findViewById(R.id.btnSub); btnDis = (Button)findViewById(R.id.btnDisconnect); seekBarSpeed = (SeekBar)findViewById(R.id.seekBar); valueOfSpeed = (TextView)findViewById(R.id.textViewValue); titleDeviceConnected = (TextView) findViewById(R.id.txtViewTitleDeviceConnected); btnOn = (Button) findViewById(R.id.btnOn); btnOff = (Button) findViewById(R.id.btnOff); progressBarValue = (ProgressBar) findViewById(R.id.progressBarValue); new ConnectBT().execute(); titleDeviceConnected.setText(deviceToConnect.getDeviceName()); btnDis.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //If the btSocket is busy BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 65 PHỤ LỤC if (bluetoothSocket!=null) { disconnect(); } } }); btnPlus.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (bluetoothSocket!=null) { valueInt = progressBarValue.getProgress() + 1; if (valueInt = 0){ sendData(String.valueOf(valueInt)); sendData("ST"); progressBarValue.setProgress(valueInt); seekBarSpeed.setProgress(valueInt); valueOfSpeed.setText(String.valueOf(valueInt)); } } } }); btnOn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sendData("TO"); btnOnView(); } }); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 66 PHỤ LỤC btnOff.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sendData("TF"); btnOffView(); } }); seekBarSpeed.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if (fromUser){ sendData(String.valueOf(progress)); valueOfSpeed.setText(String.valueOf(progress)); progressBarValue.setProgress(progress); Log.d("aa",String.valueOf(progress)); } } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { sendData("ST"); } }); } @Override protected void onResume() { super.onResume(); if (!bluetoothAdapter.isEnabled()){ showToast("Bluetooth bị tắt.\nVui lòng bật kết nối lại!!!"); disconnect(); } else { // phát triển thêm dùng chiết áp phần cứng if(isConnected == true){ sendData("UD"); readData(); updateState(dataToUpdate); } } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 67 PHỤ LỤC @Override protected void onDestroy() { super.onDestroy(); if (bluetoothSocket!=null) { try { //close connection bluetoothSocket.close(); } catch (IOException e) { showToast("Lỗi: Không thể ngắt kết nối");} } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_list, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { switch (item.getItemId()){ case R.id.menuAbout: Intent intentAbout = new Intent(ControlFan.this, AboutApp.class); startActivity(intentAbout); break; case R.id.menuHelp: Intent intentHelp = new Intent(ControlFan.this, HelpUser.class); startActivity(intentHelp); break; } return super.onOptionsItemSelected(item); } //toast message function private void showToast(String msg){ Toast.makeText(this, msg, Toast.LENGTH_LONG).show(); } private class ConnectBT extends AsyncTask // UI thread { private boolean ConnectSuccess = true; //if it's here, it's almost connected @Override BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 68 PHỤ LỤC protected void onPreExecute() { //show a progress dialog progress = ProgressDialog.show(ControlFan.this, "Đang kết nối ", "Chờ chút!!!"); } //while the progress dialog is shown, the connection is done in background @Override protected Void doInBackground(Void devices) { try{ if (bluetoothSocket == null || !isConnected) { // lấy default adapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); // Lấy quyền điều khiển thiết bị kết nối BluetoothDevice remoteDevice = bluetoothAdapter.getRemoteDevice(address);//connects to the device's address and checks if it's available // Tạo kênh Rfcomm để kết nối truyền liệu với uuid bluetoothSocket = remoteDevice.createInsecureRfcommSocketToServiceRecord(myUUID); // hủy tìm kiếm BluetoothAdapter.getDefaultAdapter().cancelDiscovery(); bluetoothSocket.connect(); } } catch (IOException e){ ConnectSuccess = false; } return null; } //after the doInBackground, it checks if everything went fine @Override protected void onPostExecute(Void result) { super.onPostExecute(result); if (!ConnectSuccess) { showToast("Kết nối thất bại! Đó có phải SPP Bluetooth? Hãy thử lại!"); finish(); } else { showToast("Đã kết nối"); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 69 PHỤ LỤC isConnected = true; sendData("UD"); readData(); updateState(dataToUpdate); } progress.dismiss(); } } private void updateState(String dataToUpdate) { if (dataToUpdate.charAt(0) == '1'){ btnOnView(); } else { btnOffView(); } int temp = Integer.parseInt(dataToUpdate.substring(1, dataToUpdate.length())); setProgressSpeed(temp); } private void setProgressSpeed(int progressSpeed) { valueOfSpeed.setText(String.valueOf(progressSpeed)); progressBarValue.setProgress(progressSpeed); seekBarSpeed.setProgress(progressSpeed); } private void btnOnView(){ btnSub.setEnabled(true); btnPlus.setEnabled(true); btnOn.setEnabled(false); btnOff.setEnabled(true); seekBarSpeed.setEnabled(true); } private void btnOffView(){ btnSub.setEnabled(false); btnPlus.setEnabled(false); btnOn.setEnabled(true); btnOff.setEnabled(false); seekBarSpeed.setEnabled(false); } private void readData(){ byte[] buffer = new byte[1]; int bytes; //while (!newData) { for (int i = 0; i

Ngày đăng: 02/02/2023, 09:30

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w