CHƯƠNG 4 : QUY TRÌNH THIẾT KẾ
4.3 Chọn lựa bộ phận gia công lắp ráp
4.3.2 Lựa chọn bộ điều khiển
4.3.2.1 Arduino Mega 2560
4.3.2.1.1 Giới thiệu về Arduino Mega 2560
Arduino Mega 2560 là sản phẩm tiêu biểu cho dịng mạch Mega là dịng bo mạch có nhiều cải tiến so với Arduino Uno (54 chân digital IO và 16 chân Analog IO). Đặc biệt bộ nhớ Flash của MEGA được tăng lên một cách đáng kể, gấp 4 lần so với những phiên bản cũ của UNO R3. Điều này cùng với việc trang bị 3 Timer và 6 cổng Interrupt khiến bo mạch Mega hồn tồn có thể giải quyết được nhiều bài tốn hóc búa, cần điều khiển nhiều loại động cơ và xử lý song song nhiều luồng dữ liệu số cũng như tương tự.
55
4.3.2.1.2 Thông số kỹ thuật
56
4.3.2.1.3 Sơ đồ chân
57
4.3.2.1.4 Chức năng của các chân Arduino Mega 2560
Chân điều khiển:
RESET: Arduino Mega Mega 2560 có sẵn mạch Reset với nút ấn để thiết lập lại hệ thống và chân này có thể được sử dụng khi kết nối các thiết bị khác để thiết lập lại bộ điều khiển.
XTAL1, XTAL2: Thạch anh (16Mhz) được kết nối với xung Clock cung cấp cho bộ điều khiển.
AREF: Chân này được dùng khi sử dụng ADC để chuyển đổi tín hiệu với điện áp tham chiếu bên ngồi mà khơng muốn sử dụng điện áp tham chiếu nội bộ 1.1V hoặc 5V.
Các chân Digital (70):
Chân số: Từ 0-53 (số) và 0-15 (tương tự) có thể được sử dụng làm đầu vào hoặc đầu ra cho thiết bị được thiết lập bằng các hàm Mode (), digtalWrite (), digitalRead ().
Ứng dụng:
Thiết bị đầu ra: Relay, LED, buzzer, LCD và các thiết bị khác.
Thiết bị đầu vào: Nút ấn, cảm biến siêu âm, cần điều khiển và các thiết bị khác. Chân tương tự (16).
Từ 0-15 (analog) có thể được sử dụng như chân đầu vào tương tự cho bô ̣ADC. Nếu khơng sử dụng nó hoạt động như chân digital bình thường. Nó được thiết lập bởi các hàm PinMode () khai báo chân, AnalogRead () để đọc trạng thái chân và nhận giá trị kỹ thuật số cho tín hiệu Analog. Lưu ý phải cẩn thận để lựa chọn điện áp tham chiếu bên trong hoặc bên ngoài và chân Aref.
58 Ứng dụng:
Thiết bị đầu vào: Cảm biến nhiệt độ, cảm biến (như LDR, IRLED và độ ẩm) và các thiết bị khác.
Chân có Chức năng thay thế:
Chân SPI: Chân 22-SS, 23_SCK, 24-MOSI, 25-MISO.
Các chân này được sử dụng cho giao tiếp nối tiếp với giao thức SPI để liên lạc giữa 2 thiết bị trở lên. SPI cho phép bit phải được thiết lập để bắt đầu giao tiếp với các thiết bị khác.
Ứng dụng:
Lập trình điều khiển AVR, giao tiếp với những người khác ngoại vi như LCD và thẻ SD.
Chân I2C:
Chân 20 cho SDA và 21 cho SCK (Tốc độ 400khz) để cho phép liên lạc hai dây với các thiết bị khác. Hàm được sử dụng là Wire.begin () để bắt đầu chuyển đổi I2C, với Wire.Read () để đọc dữ liệu I2C và Wire.Write () để ghi dữ liệu I2C.
Ứng dụng:
Thiết bị đầu ra: LCD và liên lạc giữa nhiều thiết bị với hai dây. Thiết bị đầu vào: RTC và các thiết bị khác.
PWM chân: Chân 2-13 có thể được sử dụng như đầu ra PWM với hàm AnalogWrite () để ghi giá trị PWM từ 0-255.
Ứng dụng:
Thiết bị đầu ra: Điều khiển tốc độ của động cơ, ánh sáng mờ, PID cho hệ thống điều khiển hiệu quả.
59 Chân USART: Chân 0 - RXD0, chân 1 – TXD0. Chân 19 - RXD1, chân 18 – TXD1. Chân 17 - RXD2, chân 16 – TXD2. Chân 15 - RXD3, chân 14 – TXD3.
Chân này được sử dụng cho giao tiếp nối tiếp giữa bo mạch với máy tính hoặc hệ thống khác để chia sẻ và ghi dữ liệu. Nó được sử dụng với hàm SerialBegin () để cài đặt tốc độ truyền và bắt đầu truyền thông với Serial.Println () để in mảng ký tự (mảng Char) ra thiết bị khác.
Ứng dụng:
Bộ điều khiển truyền thơng và máy tính. Chân ngắt:
Chân Digital: 0,22,23,24,25,10,11,12,13,15,1. Chân Analog: 6,7,8,9,10,11,12,13,14,15.
Chân này được sử dụng để ngắt. Để kích hoạt chân ngắt phải cài đặt bật ngắt tồn cục.
Ứng dụng:
Bộ mã hóa vịng quay, nút bấm dựa trên ngắt và các nút khác. Chân ngắt phần cứng:
Chân 18 - 21,2,3 ngắt phần cứng được sử dụng cho các ứng dụng ngắt. Ngắt phần cứng phải được bật với tính năng ngắt tồn cục để ngắt quãng từ các thiết bị khác.
60 Chân nguồn:
USB Connector : Arduino sử dụng cáp USB để giao tiếp với máy tính. Thơng qua cáp USB chúng ta có thể Upload chương trình cho Arduino hoạt động, ngồi ra USB còn là nguồn cho Arduino.
SOURCE : Khi khơng sử dụng USB làm nguồn thì chúng ta có thể sử dụng nguồn ngồi thơng qua Jack cắm 2.1mm (cực dương ở giữa). Bo mạch hoạt động với nguồn ngồi ở điện áp từ 5- 12 Volt. Có thể cấp một áp lớn hơn tuy nhiên chân 5V sẽ có mức điện áp lớn hơn 5 Volt. Nếu sử dụng nguồn lớn hơn 12 Volt thì sẽ có hiện tượng nóng và làm hỏng Board mạch. Nên dùng nguồn ổn định từ 5 đến dưới 12 Volt.
Power Pins: Chân 5V và chân 3.3V (Output Voltage): Các chân này dùng để lấy nguồn ra từ nguồn mà chúng ta đã cung cấp cho Arduino.
Lưu ý : không được cấp nguồn vào các chân này vì sẽ làm hỏng Arduino. GND ; chân Tass .
4.3.2.2 NODE MCU ESP 8266 V3 (Chíp nap ̣ CP 2102) 4.3.2.2.1 Giới thiêụ về ESP 8266
Kít ESP8266 là kít phát triển dựa trên nền chíp Wifi SoC ESP8266 với thiết kế dễ dàng sửa dụng vì tích hợp sẵn mạch nạp sử dụng chíp CP2102 trên Borad. Bên trong ESP8266 có sẵn một lõi vi sử lý vì thế bạn có thể trực tiếp lập trình cho ESP8266 mà khơng cần thêm bất kì con vi sử lý nào nữa. Hiện tại có hai ngơn ngữ có thể lập trình cho ESP8266, sử dụng trực tiếp phần mềm IDE của Arduino để lập trình với bộ thư viện riêng hoặc sử dụng phần mềm Node MCU.
61
4.3.2.2.2 Thông số kỹ thuật
Bảng 4.3: Thông số kĩ thuật của NODE MCU ESP 8266 V3 Hình 4. 14 NODE MCU ESP 8266 (Nguồn Internet) Hình 4. 14 NODE MCU ESP 8266 (Nguồn Internet)
62
4.3.2.2.3 Sơ đồ chân
4.3.2.2.4 Chức năng các chân
- Cũng giống như arduino MCU ESP 8266 cũng có các chân nguồn G, Vin, 3V. - 9 chân GPIO từ D0 – D8, có chức năng PWM, IIC, giao tiếp SPI, 1-Wire và ADC
trên chân A0.
- 2 chân Serial 0 (RX) và 1 (TX): TX: dùng để gửi, RX: nhận dữ liệu TTL Serial. 2 chân này của Arduino Uno giao tiếp với thiết bị mạch điện khác thông qua 2 chân TX, RX.
- Chân D7, D8 cũng có chức năng giống 2 chân RX và TX. - RST: chân Reset, kéo xuống Mass để Reset.
63
4.3.2.3 Mosfet IRF3205
4.3.2.3.1 Giới thiệu về Mosfet IRF3205
IRF3205 là một transistor MOSFET có khả năng điều khiển tải lên đến 110A với điện áp tối đa là 55V. Nó là một transistor kênh N gói TO-220. Transistor này có thể được sử dụng cho cả mục đích cơng tắc và khuếch đại. Nó là một transistor chuyển mạch tốc độ cao do đó có thể được sử dụng trong các ứng dụng yêu cầu tốc độ cao chuyển tải từ nguồn đầu vào này sang nguồn đầu vào khác và điện áp tối thiểu yêu cầu cho độ bão hịa là 2V đến 4V. Nó cũng có thể điều khiển tải lên đến 390A ở chế độ xung. Hơn nữa, khi được sử dụng như một bộ khuếch đại, nó có khả năng cung cấp tối đa 200W. Do đó, nó cũng là một transistor lý tưởng để sử dụng trong các bộ khuếch đại âm thanh công suất cao.
4.3.2.3.2 Thông số kỹ thuật
- Loại gói: TO-220. - Loại transistor: Kênh N.
- Điện áp tối đa từ cực cổng đến cực nguồn: 55V.
- Điện áp tối đa từ cực cổng đến cực nguồn phải là: ± 20V. - Dòng xả tối đa liên tục là: 110A.
- Dịng xả tối đa xung là: 390A. - Cơng suất tiêu tán tối đa là: 200W.
- Điện áp tối thiểu cần thiết để dẫn điện: 2V đến 4V.
64
Hình 4. 16 Sơ đồ chân Mosfet IRF3205 (Nguồn Internet) 4.3.2.3.3 Sơ đồ chân
Hướng IRF3205 phía trước mặt thì sơ đồ chân theo thứ tự từ trái qua phải lần lượt là: chân 1 (chân cổng G), chân 2 (chân máng D), chân 3 (chân nguồn S).
4.3.2.4 Relay trung gian 8 chân
Relay trung gian 8 chân là một kiểu khác của nam châm điện được kết hợp thêm hệ thống tiếp điểm. Chúng chính là những cơng tắc chuyển đổi bằng điện. Sở dĩ relay trung gian 8 chân được gọi là công tắc bởi chúng có hai nút ON và OFF. Trong đó, trạng thái của relay 8 chân sẽ chịu ảnh hưởng bởi dịng điện có chạy qua.
Relay trung gian 8 chân thường được ứng dụng trong các bảng mạch điện tử dân dụng và trong cơng nghiệp. Chúng có nhiệm vụ như một trung gian để chuyển tiếp mạch điện cho một thiết bị nào đó.
65
Ví dụ đối với hoạt động của bộ bảo vệ tủ lạnh, khi dịng điện yếu relay 8 chân sẽ có tác dụng ngắt điện và không cho tủ lạnh hoạt động. Đồng thời khi điện khỏe relay 8 chân sẽ nối lại và cấp điện.
66
4.4 Giá thành vật liệu gia cơng (ước tính)
STT TÊN VẬT LIỆU SỐ LƯỢNG ĐƠN VỊ GIÁ THÀNH (VNĐ)
1 Sắt 5 Mét 300.000 2 Nhơm định hình 30x60 1 Mét 280.000 3 Nhơm định hình 60x60 1 Mét 320.000 4 Ke góc 60x60 3 Cái 30.000 5 Trượt bi M6 12 Cái 60.000 6 Bộ vitme 2 Bộ 1.000.000 7 Ốc lục giác M6 150 Gram 15.000 8 Bình ắc-quy 2 Cái 680.000 9 Bánh xe 20 Cái 560.000 10 Bánh răng 4 Cái 80.000
11 Động cơ giảm tốc 2 Cái 510.000
12 Động cơ bước 3 Cái 120.000
13 Động cơ bơm 1 Cái 100.000
14 Nhôm tấm 3 Cái 170.000
15 Xích 4 Cái 180.000
16 Ốc, vít, bu lơng 1.5 Kg 160.000
17 Mạch Arduino Mega 1 Cái 320.000
18 Dậy điện 1 Cuộn 150.000
67
20 Relay 8 chân 2 Cái 40.000
21 Module Wifi 1 Cái 210.000
22 Module Bluetooth 1 Cái 165.000
68
CHƯƠNG 5: THI CƠNG
5.1 Thi cơng, lắp ráp phần cơ khí
Tiến hành cắt, hàn lắp ráp khung sườn xe phun khử khuẩn.
Hình 5. 1 Hàn khung sắt Hình 5. 1 Hàn khung sắt Hình 5. 1 Hàn khung sắt
69
Loại bỏ đi các phần hàn dư thừa. Mài phẳng chi tiết.
Hình 5. 2 Mài phẳng khung sắt Hình 5. 2 Mài phẳng khung sắt Hình 5. 2 Mài phẳng khung sắt
70
Phun lớp sơn bảo vệ khung tránh bị ăn mịn bởi khơng khí.
Hình 5. 3 Khung sườn sau khi phun lớp sơn bảo vệ Hình 5. 3 Khung sườn sau khi phun lớp sơn bảo vệ Hình 5. 3 Khung sườn sau khi phun lớp sơn bảo vệ
71
5.2 Thi công, lắp ráp đện, điện tử điều khiển.
Thiết kế và đi dây hệ thống điện và kết nối của xe phun khử khuẩn.
Hình 5. 4 Sơ đồ đi hệ thống điện của xe phun khử khuẩn Hình 5. 4 Sơ đồ đi hệ thống điện của xe phun khử khuẩn Hình 5. 4 Sơ đồ đi hệ thống điện của xe phun khử khuẩn
72 Lắp ráp các động cơ phần di chuyển của xe.
Hình 5. 5 Lắp ráp động cơ giảm tốc vào khung xe Hình 5. 5 Lắp ráp động cơ giảm tốc vào khung xe Hình 5. 5 Lắp ráp động cơ giảm tốc vào khung xe
73
Kết nối động cơ giảm tốc với Pin. Vận hành di chuyển thử với bánh xích.
Hình 5. 6 Lắp ráp, kết nối giữa động cơ giảm tốc và pin Hình 5. 6 Lắp ráp, kết nối giữa động cơ giảm tốc và pin Hình 5. 6 Lắp ráp, kết nối giữa động cơ giảm tốc và pin
74
5.3 Lập trình điều khiển
5.3.1 Giới thiệu về phần mềm Aruino IDE
Arduino IDE là một ứng dụng đa nền tảng được viết bằng Java và được dẫn xuất từ IDE cho ngơn ngữ lập trình xử lý và các dự án lắp ráp.
Arduino IDE bao gồm một trình soạn thảo mã với các tính năng như làm nổi bật cú pháp, khớp dấu ngoặc khối chương trình, thụt đầu dịng tự động và cũng có khả năng biên dịch và tải lên các chương trình vào Board mạch với một nhấp chuột duy nhất .
Một chương trình hoặc mã viết cho Arduino được gọi là "sketch". Chương trình Arduino được viết bằng C ++.
Arduino IDE đi kèm với một thư viện phần mềm được gọi là "Wiring" từ dự án lắp ráp ban đầu, cho hoạt động đầu vào đầu ra phổ biến trở nên dễ dàng hơn nhiều. Người sử dụng chỉ cần định nghĩa hai hàm để thực hiện một chương trình điều hành theo chu kỳ.
Khi các chúng ta bật điện bảng mạch Arduino, Reset hay nạp chương trình mới, hàm Setup ( ) sẽ được gọi đến đầu tiên. Sau khi xử lý xong hàm Setup ( ), Arduino sẽ nhảy đến hàm Loop ( ) và lặp vô hạn hàm này cho đến khi tắt điện Board mạch Arduino.
Các chức năng của Arduino IDE
Arduino IDE bao gồm các phần khác nhau: - Window bar.
- Menu bar. - Phím tắt. - Text Editor. - Output Panel.
75
Màn hình giao diện màn hình chính của phần mềm Aruino IDE.
5.3.2 Viết phần mềm điểu khiển và giám sát
int dcphun = 34;
int ledphun =36;// led báo động cơ phun
int ledlen =38;// led báo động cơ di chuyển lên
76
int ledxuong =40;//led báo động cơ di chuyển xuống int ledra =42;//led báo đc di chuyển ra
int ledvao =44;//led báo vào int ledtrai =46;//led báo xoay trái int ledphai =48;//led báo xoay phải
int relay =50;//relay on off nguồn hệ thống //khai báo Diver động cơ bước 1.
const int stepPin_1 = 2; // PUL const int dirPin_1 = 3; // DIR const int enPin_1 = 4; //ena //khai báo Diver động cơ bước 2. const int stepPin_2 = 5;
const int dirPin_2 = 6; const int enPin_2 = 7;
////////////dong co 4 di chuyển lên xuống////////////////////// const int stepPin_4 = 8;
const int dirPin_4 = 22; const int enPin_4 = 24;
/////////////////////////////////////////////////////////////
////////////dong co 5 di chuyển lên xuống////////////////////// const int stepPin_5 = 9;
77 const int enPin_5 = 28;
/////////////////////////////////////////////////////////////
////////////dong co 6 di chuyển lên xuống////////////////////// const int stepPin_6 = 10;
const int dirPin_6 = 30; const int enPin_6 = 32;
///////////////////////////////////////////////////////////// int kitu =0; void setup() { Serial.begin(9600); pinMode(dcphun, OUTPUT); pinMode(stepPin_1,OUTPUT); pinMode(dirPin_1,OUTPUT); pinMode(enPin_1,OUTPUT); digitalWrite(enPin_1,LOW); pinMode(stepPin_2,OUTPUT); pinMode(dirPin_2,OUTPUT); pinMode(enPin_2,OUTPUT); digitalWrite(enPin_2,LOW); pinMode(ledlen,OUTPUT); pinMode(ledxuong,OUTPUT); pinMode(ledra,OUTPUT);
78 pinMode(ledvao,OUTPUT); pinMode(ledtrai,OUTPUT); pinMode(ledphai,OUTPUT); pinMode(ledphun,OUTPUT); } void loop() { if(Serial.available()>0){ kitu = Serial.read(); }
if(kitu==1){ // nếu nhận được kí tự 1 thì xe tiến. Serial.println(kitu); digitalWrite(dirPin_1,HIGH); digitalWrite(stepPin_1,HIGH);