Tổng quan mục tiêu và kế hoạch tiến độ
Kết nối Module SIM(900) với Arduino Điều khiển: Hồ cá thủy sinh
Mục tiêu Điều khiển đèn(Led) cho hồ cá Điều khiển Servo gạt thức ăn tự động cho cá Điều khiển bơm nước tạo lọc,oxi cho hồ cá
Kế hoạch Tuần 1: Tìm hiểu đề tài báo cáo đề cương
Tuần 2: Tham khảo các linh kiện, vẽ sơ đồ khối, chi tiết Tuần 3: Mô phỏng mạch trên proteus
Tuần 4: Thảo luận mô phỏng Tuần 5: Vẽ mạch trên Altium Tuần 6: Lắp mạch trên Test Board Tuần 7: Làm mạch (in,khoan,hàn mạch) Tuần 8: Kiểm tra mạch và khắc phục Tuần 9: Hoàn thiện,phát triển sản phẩm Tuần 10: Báo cáo sản phẩm
Nguồn DC: 70k Động cơ servo: 30k Một số linh kiện khác: 50k TỔNG: 550k
Bảng 1 1: Tổng quan mục tiêu và kế hoạch tến độ
Phân công thực hiện
Tên Thịnh Tường Thắng Tiến Bảo
Tuần 1 Thảo luận đề Thảo luận Thảo luận đề tài Thảo luận đề tài Thảo luận đề tài Tổng hợp ý đề tài tài kiến
Tuần 2 Tìm hiểu linh Tìm hiểu linh Tìm hiểu linh Vẽ sơ đồ Vẽ sơ đồ chi kiện, thống kê kiện kiện khối,nguyên lý tiết,nguyên lý linh kiện hoạt động hoạt động.
Tuần 3 Viết code cho Viết code Viết code cho Đánh giá,ghi Đánh giá,ghi chức năng điều cho chức chức năng điều nhận lại tiến độ nhận lại tiến độ khiển Servo năng điều khiển Motor bằng thực hiện,hỗ trợ thực hiện, hỗ bằng Arduino khiển Led Arduino viết code trợ viết code. bằng Arduino.
Tuần 4 Tổng hợp các Đánh giá,ghi Đánh giá,ghi Mô phỏng mạch Mô phỏng code thành 1 nhận lại tiến nhận lại tiến độ trên Proteus mạch trên phần hoàn độ thực hiện thực hiện Proteus chỉnh.
Tuần 5 Thiết kế, bổ Lên danh Lên danh sách Thiết kế, bổ Thiết kế, bổ sung thêm các sách các vật các vật dụng,linh sung thêm các sung thêm các chức năng,linh dụng,linh kiện cần mua chức năng,linh chức năng,linh kiện (nếu cần) kiện cần kiện (nếu cần) kiện (nếu cần) mua.
Tuần 6 Cắm Cắm Cắm Cắm TestBoard, Cắm
TestBoard, TestBoard, TestBoard,kiểm kiểm tra và sửa TestBoard,kiể kiểm tra và sửa kiểm tra và tra và sửa lỗi lỗi m tra và sửa lỗi sửa lỗi lỗi.
Tuần 7 Vẽ Altium Vẽ Altium In,khoan,hàn In,khoan,hàn In,khoan,hàn mạch mạch mạch.
Tuần 8 Kiểm tra và Kiểm tra và Kiểm tra và sửa Đánh giá,ghi Đánh giá,ghi sửa lỗi sửa lỗi lỗi nhận lại tiến độ nhận lại tiến độ thực hiện thực hiện
Tuần 9 Tổng hợp báo Tổng hợp Tổng hợp báo cáo Tổng hợp báo Tổng hợp báo cáo từng báo cáo từng từng tuần(PP và cáo từng tuần(PP cáo từng tuần(PP và tuần(PP và Word) và Word) tuần(PP và
Bảng 1 2: Phân công thực hiện
Word) Word) Phát triển sản Phát triển sản Word)
Phát triển sản Phát triển sản phẩm phẩm Phát triển sản phẩm phẩm phẩm
Tuần 10 Báo cáo sản Báo cáo sản Báo cáo sản Báo cáo sản Báo cáo sản phẩm, thuyết phẩm, thuyết phẩm, thuyết phẩm, thuyết phẩm, thuyết trình trình trình trình trình
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN 2
II Tổng quan mục tiêu và kế hoạch tiến độ 3
III Phân công thực hiện 4
Chương 1: GIỚI THIỆU CÁC LINH KIỆN 10
1.2 MỘT SỐ LINH KIỆN QUAN TRỌNG KHÁC 12
1.2.4 Máy bơm nước mini DC Motor 12V 17
Chương 2: KỸ THUẬT / CÔNG NGHỆ 17
2.1 TỔNG QUAN VỀ ARDUINO IDE 17
2.1.2 Giới thiệu giao diện Arduino IDE 18
2.1.3 Cấu trúc một chương trình Arduino: 18
3.2.3 Khối điều khiển thiết bị (Khối Relay) 23
3.2.4 Khối thu phát tín hiệu 24
Chương 4: KẾT QUẢ THỰC NGHIỆM 26
4.1 Mô hình sản phẩm thực tế 26
Chương 5: KẾT LUẬN VÀ PHÁT TRIỂN ĐỀ TÀI 27
Chương 7: Tài liệu tham khảo 33
Mục lục bảng Bảng 1 1: Tổng quan mục tiêu và kế hoạch tến độ 3
Bảng 1 2: Phân công thực hiện 5
Bảng 1 3:Thông số Arduino uno 10
Bảng 1 4: Một số tác vụ trong Arduino IDE 18
Hình 1 3: Relay 5V10A 5 chân SRD-05VDC-SL-C 13
Hình 1 4: Sơ đồ cấu trúc của Relay 13
Hình 1 6: Máy bơm nước mini DC Motor 12V 16
Hình 1 7:Giao diện của Arduino IDE 17
Hình 1 8: Sơ đồ kết nối các khối chính 19
Hình 1 9: Thiết kế trên phần mềm Fritzing 21
Hình 1 10: Sơ đồ nguyên lý mạch giảm áp LM2596 22
Hình 1 11:Sơ đồ chân Arduino UNO R3 22
Hình 1 12: Khối điều khiển thiết bị 23
Hình 1 13: Sơ đồ chức năng Sim900A 24
Hình 1 14: Mạch điều khiểu thực tế 26
Hình 1 15: Giao diện điều khiển bằng SMS 28
GIỚI THIỆU CÁC LINH KIỆN
MODULE ARDUINO UNO R3
Nhắc tới dòng mạch Arduino dùng để lập trình, cái đầu tiên mà người ta thường nói tới chính là dòng Arduino UNO Hiện dòng mạch này đã phát triển tới thế hệ thứ 3 (R3).
Vì giá thành rẻ và số chân digital(14 chân)vừa đủ để thực hiện đề tài nên nhóm chọn Arduino UNO R3
Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO.
+ GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi bạn dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau.
+ 5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA.
+ 3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA.
+ Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND.
+IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn.
+ RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ.
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
- 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu.
- 2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo khi lập trình sẽ lưu ở đây Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM. Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm Khi mất điện, dữ liệu trên SRAM sẽ bị mất.
- 1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối).
Một số chân digital có các chức năng đặc biệt như sau:
- 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết
Chân TX-RX của Adruino nối với chân RX-TX của module sim900 để khi module sim900 nhận được cái lệnh từ tin nhắn sẽ truyền cho arduino để điều khiển các thiết bị led, servo motor
- Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite() Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác Chân 9 (PWM~) được nói với động cơ servo điều khiển servo làm cần gạt cho thức ăn xuống hồ cá
- Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác LED được nói với chân 12 để cho adruino điều khiển bật tắt led khi tiếp nhận thông tin từ module sim900
- LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khi chân này được người dùng sử dụng, LED sẽ sáng Chân số 13 được sử dụng để điều khiển mortor hoạt động tạo oxi trong hồ cá
MỘT SỐ LINH KIỆN QUAN TRỌNG KHÁC
Module Sim900A được ra đời trước Sim 800A, tính năng Sim800A được nâng cấp nhiều hơn Sim900A như thêm Bluetooth, Giá thành Sim900A rẻ hơn nhiều so với Sim800A
Với những tính năng cơ bản phù hợp với đề tài của Module Sim900A và giá thành rẻ nên nhóm chọn Module Sim900A
Module GSM GPRS này được xây dựng dựa trên SIM900A GSM/GPRS của SIMCOM Hoạt động trên các tần số 900/ 1800 MHz SIM900A có thể tự động tìm kiếm hai băng tần này Ngoài ra cũng có thể thiết lập các dải tần số thông qua tập lệnh AT Tốc độ truyền có thể được cấu hình từ 1200-115200 thông qua lệnh AT Modem GSM / GPRS có ngăn xếp TCP / IP nội bộ để cho phép bạn kết nối với internet qua GPRS SIM900A là một mô-đun không dây nhỏ gọn và đáng tin cậy. a) Đặc điểm của module SIM 900A Điện áp hoạt động: 4.7-5V Điện năng tiêu thụ thấp: 1.5mA (ở chế độ ngủ)
Nhiệt độ hoạt động: -40 - 85 °C Điều khiển qua tập lệnh AT
Phù hợp với GSM giai đoạn 2/2+
Trọng lượng: 3.4g b) Tập lệnh AT
+ AT : Kiểm tra module có hoạt động không Hình 1 2: Module SIM 900A
Trả về: OK nếu hoạt động bình thường, báo lỗi hoặc không trả về nếu có lỗi xảy ra
+ ATEx : Bật (x=1) hoặc tắt (x=0) chế độ phản hồi lệnh vừa gửi (nên tắt đi)
+ AT+CPIN? : Kiểm tra Simcard
Trả về: +CPIN: READY OK (nếu tìm thấy simcard)
+ AT+CSQ : Kiểm tra chất lượng sóng
Trả về: +CSQ: xx,0 OK (xx là chất lượng sóng, tối đa là 31)
+ AT+COPS? : Kiểm tra tên nhà mạng
Trả về: +COPS: 0,0,”Viettel Mobile” OK (nhận dạng được nhà mạng là Viettel Mobile)
Trả về: +COPS: 0 (không thấy nhà mạng)
+ ATD0123456789; : Gọi điện cho số điện thoại 0123456789
+ ATA : Chấp nhận cuộc gọi đến
+ AT+CMGF=x : Cấu hình tin nhắn (x=0: DPU, x=1:dạng ký tự)
+ AT+CNMI=2,x,0,0 : Chọn x=1 (chỉ báo vị trí lưu tin nhắn) hoặc x=2 (hiển thị ra ngay nội dung tin nhắn)
+ AT+CMGR=x : Đọc tin nhắn tại vị trí lưu x Trả về: nội dung tin nhắn
+ AT+CMGD=x : Xóa tin nhắn được lưu ở vị trí x
+ AT+CMGS=”sodienthoai” : Gửi tin nhắn cho sodienthoai
Hình 1 3: Relay 5V10A 5 chân SRD-05VDC-SL-C a) Giới thiệu chung
- Rơ le (relay) là một công tắc chuyển đổi hoạt động bằng điện Nói là một công tắc vì rơ le có 2 trạng thái ON và OFF Rơ le ở trạng thái ON hay OFF phụ thuộc vào có dòng điện chạy qua rơ le hay không.
Hình 1 4: Sơ đồ cấu trúc của Relay b) Nguyên lý hoạt động
- Khi có dòng điện chạy qua rơ le, dòng điện này sẽ chạy qua cuộn dây bên trong và tạo ra một từ trường hút Từ trường hút này tác động lên một đòn bẩy bên trong làm đóng hoặc mở các tiếp điểm điện và như thế sẽ làm thay đổi trạng thái của rơ le Số tiếp điểm điện bị thay đổi có thể là 1 hoặc nhiều, tùy vào thiết kế.
- Rơ le có 2 mạch độc lập nhau hoạt động Một mạch là để điều khiển cuộn dây của rơ le: Cho dòng chạy qua cuộn dây hay không, hay có nghĩa là điều khiển rơ le ở trạng thái ON hay OFF Một mạch điều khiển dòng điện ta cần kiểm soát có qua được rơ le hay không dựa vào trạng thái ON hay OFF của rơ le.
- Dòng chạy qua cuộn dây để điều khiển rơ le ON hay OFF thường vào khoảng 30mA với điện áp 12V hoặc có thể lên tới 100mA Và bạn thấy đó, hầu hết các con chip đều không thể cung cấp dòng này, lúc này ta cần có một BJT để khuếch đại dòng nhỏ ở ngõ ra IC thành dòng lớn hơn phục vụ cho rơ le. c) Thông số kỹ thuật:
- Điện trở tiếp xúc: > Q1,Q2,Q3 >> Max, Role đóng tiếp điểm thường mở (ĐK thiết bị nào đó).
- Diot D1, D2, D3 trong mạch có tác dụng chống lại dòng điện cảm ứng do cuộn đây sinh
- Mục đích của R2, R3, R6 là tạo dòng vào cực B của trans tới ngưỡng bão hòa để trans hoạt động như 1 chiếc khóa có điều kiện.
- Lưu ý: Dòng vào của Tín hiệu là rất nhỏ không thể chạy thẳng Role được nên ta mới sử dụng transistor để kích dòng cho role. b) Ưu điểm
- Có thể cách li hoàn toàn phần tín hiệu điều khiển với phần nguồn cấp cho Relay.
- Nhờ cách li tốt qua Opto nên hạn chế nhiễu khi hoạt động. c) Phù hợp ứng dụng cho Bật/Tắt các loại tải cảm như động cơ, máy bơm… d) Nhược điểm
- Tốn nhiều linh kiện hơn –> Chi phí sản xuất, chế tạo cao hơn.
- Phức tạp với người mới tiếp cận.
3.2.4 Khối thu phát tín hiệu
Hình 1 16: Sơ đồ chức năng Sim900A
Tích hợp nguồn xung và ic đệm được thiết kế nhỏ gọn nhưng vẫn giữ được các yếu tố cần thiết của thiết kế Module Sim như: Mạch chuyển mức tín hiệu logic sử dụng Mosfet, IC giao tiếp RS232 MAX232, mạch nguồn xung dòng cao, khe sim chuẩn và các đèn led báo hiệu, mạch còn đi kèm với Anten GSM.
Tắt nguồn bình thường bằng cách gửi lệnh AT “AT + CPOWD = 1”.
Bộ quản lý nguồn tắt nguồn cung cấp năng lượng cho phần băng tần cơ sở và chỉ còn lại nguồn cung cấp điện cho RTC Phần mềm không hoạt động Các cổng nối tiếp không thể truy cập được Nguồn điện (kết nối với VBAT) vẫn được áp dụng.
Lệnh AT “AT + CFUN” có thể được sử dụng để đặt mô-đun ở chế độ chức năng tối thiểu Trong chế độ này, chức năng RF và chức năng thẻ SIM có thể bị vô hiệu hóa,nhưng cổng nối tiếp thì vẫn có thể truy cập được Mức tiêu thụ điện ở chế độ này thấp hơn chế độ bình thường.