Giới thiệu về Arduino và trình biên dịch:

Một phần của tài liệu ĐỒ án tốt NGHIỆP THIẾT kế và THI CÔNG MẠCH điều KHIỂN và GIÁM sát THIẾT bị 220VAC (Trang 51)

2.11.1 Giới thiệu chung về Arduino

-Arduino đã thực sự gây sóng gió trên thị trƣờng người dùng DIY ( là những người chế ra sản phẩm của mình ) trên toàn thế giới trong vài năm gần đây. Số lượng người dùng cực lớn và đa dạng với trình độ trải rộng từ bậc phổ thông đến bậc đại học đã làm cho chính những ngƣời tạo ra chúng phải ngạc nhiên về mức độ phát triển và phổ biến.

-Arduino là gì mà khiến cả những sinh viên và các nhà nghiên cứu tại các trường đại học danh tiếng như MIT, Stanfor, Carnegie Mellon phải sử dụng.

Ngay cả Google cũng hỗ trợ khi cho ra đời bộ kít Arduino Mega ADK dùng để phát triển các thiết bị Android tương tác với cảm biến và thiết bị khác.

-Arduino thực sự là một bo mạch vi xử lý được dùng để lập trình tương tác các thiết bị phần cứng như cảm biến, động cơ, đèn và thiết bị khác. Điểm nổi trội của Arduino là môi trường phát triển ứng dụng cực kì dễ sử dụng với ngôn ngữ lập trình dễ học ngay cả với người ít rành về điện tử và lập trình. Điều làm nên hiện tượng Arduino là mức giá rất thấp và mã nguồn mở từ phần cứng đến phần mềm. Chỉ với khoảng 30USD người dùng có thể sở hữu một bo Arduino với 20 ngõ In/Out có thể tương tác điều khiển từng ấy thiết bị.

37

-Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và đặt theo tên một vị vua vào thế kỷ thứ IX là King Arduin. Arduino được chính thức ra đời vào năm 2005 như là một công cụ khiêm tốn dành cho các sinh viên của giáo sư Massimo Banzi là một trong những người phát triển Arduino tại trường Design Instistute Ivrea ( IDII ).

2.11.2 Giới thiệu về ngôn ngữ lập trình và trình biên dịch Arduino

- Thiết kế bo mạch nhỏ gọn trang bị nhiều tính năng thông dụng mạng lại

nhiều lợi thế cho Arduino, tuy nhiên sức mạnh thực sự ở Arduino nằm ở phần mềm . Môi trƣờng lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Writing dễ hiểu dựa trên nền tảng C/C++ rất quen thuộc với ngƣời làm kỹ thuật. Và quan trọng là số lƣợng thƣ viện code mẫu rất phong phú đƣợc viết và chia sẽ bởi cộng đồng mã nguồn mở chính ngƣời dùng.

Hình 2.20: cửa sổ làm việc của trình biên dịch Arduino IDE

38

-Arduino IDE là phần mềm dùng để lập trình Arduino. Môi trường lập trình Arduino có thể chạy trên ba nền tảng windown, MAC và Linux. Do có tính chất mã nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng.

-Ngôn ngữ lập trình có thể mở rộng thông qua các thư viện C++ . Và do ngôn ngữ này dựa trên nền tảng ngôn ngữ C cho AVR nên người dùng hoàn toàn có thể nhúng thêm code viết cho AVR vào chương trình. Hiện nay Arduino IDE có thể tải về từ trang chủ http://arduino.cc/ bao gồm các phiên bản :

-Arduino 1.0.5 -Arduino 1.5.5 BETA

-Arduino IDE cho Intel Galileo

2.12 vi điều khiển ATmega328p-AU:

Hình 2.21: sơ đồ chân của vi điều khiển ATmega328P-AU.

39

-Atmega328 là một chíp vi điều khiển được sản xuất bời hãng Atmel thuộc họ MegaAVR có sức mạnh hơn hẳn Atmega8. Atmega 328 là một bộ vi điều khiển 8 bít dựa trên kiến trúc RISC bộ nhớ chương trình 32KB ISP flash có thể ghi xóa hàng nghìn lần, 1KB EEPROM, một bộ nhớ RAM vô cùng lớn trong thế giới vi xử lý 8 bít (2KB SRAM). Vi điều khiển ATmega328p-au được sử dụng trong Arduino nano.

-Với 25 chân có thể sử dụng cho các kết nối vào hoặc ra i/O, 32 thanh ghi, 3 bộ timer/counter có thể lập trình, có các gắt nội và ngoại (2 lệnh trên một vector ngắt), giao thức truyền thông nối tiếp USART, SPI, I2C. Ngoài ra có thể sử dụng bộ biến đổi số tương tự 10 bít (ADC/DAC) mở rộng tới 8 kênh, khả năng lập trình được watchdog timer, hoạt động với 5 chế độ nguồn, có thể sử dụng tới 6 kênh điều chế độ rộng xung (PWM), hỗ trợ bootloader. Có thể hoạt động ở điện áp từ 1.8 đến 5.5VDC, hoạt động tốt ở nhiệt độ từ -40oc đến 80oc tốc độ thực thi (thông lượng) 1MIPS trên 1MHz (chế độ hoạt động : 0.2 mA, chế độ ngủ: 0.1 μA, chế độ tích kiệm: 0.75 μA)

Hình 2.22: sơ đồ khối của vi điều khiển.

40

Cốt lõi của AVR là sự kết hợp tập lệnh đầy đủ với các thanh ghi đa năng 32 bit. Tất

cả các thanh ghi 32 bit này liên kết trực tiếp với khối xử lý số học và logic (ALU) cho phép 2 thanh ghi độc lập được truy cập trong một lệnh đơn trong 1 chu kỳ đồng hồ.

Kết quả là tốc độ nhanh gấp 10 lần các bộ vi điều khiển CISC thường.

Với các tính năng đã nêu, chế độ nghỉ (Idle) CPU trong khi cho phép bộ truyền tin nối tiếp đồng bộ USART, giao tiếp 2 dây, chuyển đổi A/D, SRAM, bộ đếm bộ định thời, cổng SPI và hệ thống các ngắt vẫn hoạt động. Chế độ Power-down lưu giữ nội dung của các thanh ghi nhưng làm đông lạnh bộ tạo dao động, thoát khỏi các chức năng của chip cho đến khi có ngắt ngoài hoặc là reset phần cứng. Chế độ Power-save đồng hồ đồng bộ tiếp tục chạy cho phép chương trình sử dụng giữ đƣợc đồng bộ thời gian nhưng các thiết bị còn lại là ngủ. Chế độ ADC Noise Reduction dừng CPU và tất cả các thiết bị còn lại ngoại trừ đồng hồ đồng bộ và ADC, tối thiểu hoá switching noise trong khi ADC đang hoạt động. Trong chế độ standby, bộ tạo dao động (thuỷ tinh thể/bộ cộng hưởng) chạy trong khi các thiết bị còn lại ngủ. Các điều này cho phép bộ vi điều khiển khởi động rất nhanh trong chế độ tiêu thụ công suất thấp. Thiết bị được sản xuất sử dụng công nghệ bộ nhớ cố định mật độ cao của Atmel. Bộ nhớ On-chip ISP Flash cho phép lập trình lại vào hệ thống qua giao diện SPI bởi bộ

lập trình bộ nhớ cố đinh truyền thống hoặc bởi chương trình On-chip Boot chạy trên lõi AVR. Chƣơng trình boot có thể sử dụng bất cứ giao điện nào để download chương trình ứng dụng trong bộ nhớ Flash ứng dụng. Phần mềm trong vùng Boot Flash sẽ

tiếp tục chạy trong khi vùng Application Flash được cập nhật, cung cấp thao tác Read-

While-Write thực sự. Bằng việc kết hợp 1 bộ 8-bit RISC CPU với In-System Self- Programmable Flash trong chỉ nguyên vẹn 1 chip Atmel Atmega16 là một bộ vi điều khiển mạnh có thể cung cấp giải pháp có tính linh động cao, giá thành rẻ cho nhiều ứng dụng điều khiển nhúng. Atmega16 AVR được hỗ trợ bởi bộ chương trình đầy đủ

41

và các tool để phát triển hệ thống, báo gồm: Bộ biên dịch C, macro assemblers, program debugger/simulators, in-circuit emulators và evaluation kits.

2.13. Mạch biến đổi điện áp 220VAC-5VDC:

-Mạch biến đổi điện áp 220VAC-5VDC sử dụng IC hồi tiếp TL431 để: bảo vệ quá dòng, quá nhiệt, ngắn mạch, ổn định điện áp ngõ ra. Mạch sử dụng biến áp xung nên dòng ra ổn định, phù hợp cấp nguồn cho các thiết bị có tải nhỏ.

Hình 2.23: mạch nguồn xung 220VAC-5VDC

42

THÔNG SỐ KỸ THUẬT

-Điện áp ngõ vào : 90VAC - 265VAC -Dòng ngõ vào : 14mA ( 220VAC) -Điện áp ngõ ra : 4.8 - 5.2V

-Dòng ngõ ra : 0 - 700mA, maximum lên đến 800mA. -Công suất : 3.5W , tối đa 4W

-Hiệu suất : 80%.

-Điện áp gợn sóng ( răng cưa) : 60mV -Môi trường hoạt động :

-Nhiệt độ : -20 đến 60 độ C -Độ ẩm tương đối : 40 đến 90% RH

Hình 2.24: chân ra mạch nguồn xung.

2.14. Cảm ứng 1 chạm điện dung TTP223B:

-Nút nhấn sử dụng IC TTP223B được sử dụng trong các ứng dụng cảm ứng điện dung như: bàn phím, công tắt chìm, báo động…. với ưu điểm có thể nhận biết thao tác chạm thông qua điện dung tay người, cảm biến có thể phát hiện xuyên qua các vật thể phi kim có độ dày tối đa lên đến 5mm.

Commented [P4]: Định dạng lại Hình 2.25: cảm ứng điện dung TTP22 3B Thông số kỹ thuật: -IC chính: TTP223B. -Điện áp làm việc: 3- 5VDC 44 Commente d [P5]: Chỉnh khoảng cách giữa hình và chú thích

download by :

-Dòng điện tiêu thụ: 0.025mA.

-Cảm ứng có thể xuyên qua vật thể phi kim như kính, nhựa… độ dày không quá 5mm.

2.15. Module relay bán dẫn 5VDC:

-Relay bán dẫn ( solid-state relay ) sử dụng các liên kiện bán dẫn để điều khiển việc

đóng ngắt điện thay vì sử dụng đóng ngắt cơ học như relay thông thường. Do sử dụng linh kiện bán dẫn để đóng ngắt nên relay rắn sẽ nhanh, chính xác, độ bền và tuổi thọ cao. Không giống như relay điện, relay rắn chỉ cung cấp chuyển mạch có giới hạn.

-Cấu tạo: gồm 1 coupling và một hoặc nhiều mosfet. Coupling có vai trò cách ly dòng điện điều khiển nhỏ với dòng điện tải lớn. Lý tưởng nhất là sử dụng coupling quang (optic). Khi có dòng điện nhỏ, một đèn LED sẽ phát quang, và đối diện nó là một diode thu quang. Diode nhận ánh sáng và kích hoạt dòng qua các MOSFET giáp lưng với nó, cho phép dòng tải chạy qua mạch.

Hình 2.26: Relay bán dẫn.

-Module relay bán dẫn 5VDC sử dụng nguồn 5VDC để sử dụng việc đóng ngắt điện thế AC với điện áp tối đa 250VAC- 2A, module chỉ sử dụng đóng ngắt dòng AC không đóng ngắt dòng DC.

Commented [P6]: Định dạng lại

-Module được thiết kế các rõ ra của phần điều khiển hoạt động của relay và điều khiển nguồn điện tải, có led báo trạng thái hoạt động.

Hình 2.27: mudule relay bán dẫn 5VDC. Thông số kỹ thuật: -SSR: OMRON G3MB202P -Điện áp kích: 5VDC. -Dòng tiêu thụ: 20mA. -Điện áp đóng ngắt : từ 75 đến 250VAC (50/60 Hz). -Dòng điện đóng ngắt: 0.1-2A. -Cách ly chóng chạm: photo triac. 46

CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG 3.1 Thiết kế:

3.1.1: sơ đồ tương tác giữa các module:

Hình 3.1: sơ đồ tương tác giữa các module.

-Nguồn 220VAC sẽ cung cấp cho module biến đổi điện áp thành 5VDC cung cấp nguồn cho Arduino nano hoạt động cũng như là module SSR hoạt động. đồng thời cũng là đường dây để module KQ-130F truyền và nhận dữ liệu.

-Nút nhấn sẽ điều khiển việc truyền tín hiệu thông qua việc lập trình cho Arduino nano. Arduino nano ở mạch điều khiển gửi dữ liệu khi nhấn nút và truyền dữ liệu đó

47

qua KQ-130F, KQ-130F sẽ gửi dữ liệu này qua đường dây điện. Khi Arduino nano ở mạch nhận đã nhận được dữ liệu thì dữ liệu cũng sẽ được trả về như đường gửi, và thông qua KQ-130F gửi về Arduino nano hoàn tất quá trình truyền.

-Arduino nano ở mạch nhận khi nhận được dữ liệu sẽ lọc và so sánh dữ liệu có trùng khớp với dữ liệu đã thiếp lập sẵn không, nếu trùng thì vi điều khiển sẽ điều khiển việc hoạt động của module SSR, và SSR điều khiển hoạt động của tải.

3.1.2: Sơ đồ nguyên lí mạch điều khiển:

Hình 3.2: sơ đồ nguyên lí của mạch điều khiển.

- Kết nối các chân tương ứng của mạch KQ-130F từ trên xuốn dưới. 2 chân 1 và 2 kết nối với nguồn xoay chiều 220VAC, chân số 3 và số 5 kết nối với nguồn 5VDC, chân số 4 và 8 kết nối với GND, chân số 6 kết nối với TXD của vi điều khiển, chân số 7 kết nối với chân RXD của vi điều khiển.

48

- Sử dụng 1 nút nhấn để điều khiển việc truyền nhận dữ liệu kết nối với chân data số 2 của vi điều khiển. sử dụng 1 led phát sáng thông báo đã nhấn nút nhấn và gửi dữ liệu.

3.1.3 sơ đồ nguyên lí của mạch nhận:

Hình 3.3: sơ đồ nguyên lí mạch nhận.

- Kết nối các chân tương ứng của mạch KQ-130F từ trên xuốn dưới. 2 chân 1 và 2 kết nối với nguồn xoay chiều 220VAC, chân số 3 và số 5 kết nối với nguồn 5VDC, chân số 4 và 8 kết nối với GND, chân số 6 kết nối với TXD của vi điều khiển, chân số 7 kết nối với chân RXD của vi điều khiển.

- Sử dụng 1 nút nhấn để điều khiển việc truyền nhận dữ liệu kết nối với chân data số 2 của vi điều khiển. sử dụng 1 led phát sáng thông báo hoạt động của SSR.

- Mạch SSR được kết nối với tải là đèn và được điều khiển bởi vi điều khiển ATmega qua chân số 13.

49

3.1.4 Nguyên lí hoạt động của mạch.

Mạch hoạt động dựa trên sự truyền tải năng lượng của điện năng. Khi ta nhấn nút nhấn ở mạch điều khiển, lúc này vi điều khiển sẽ gửi đi số chuỗi kí tự đã được lập trình sẵn gửi qua mạch KQ-130F, chuỗi kí tự này sẽ được mạch xử lí và hòa vào lưới điện 220VAC và truyền theo đường dây điện dưới dạng năng lượng điện.

Mạch KQ-130F ở mạch nhận sẽ lọc những chuỗi kí tự này từ mạng lưới điện và truyền về vi điều khiển để vi điều khiển so sánh chuỗi kí tự vừa nhận được. Nếu chuỗi kí tự nhận được trùng với chuỗi mà vi điều khiển đã được lập trình sẵn thì sẽ điều khiển chân ra D13 hoạt động ở mức cao và đèn led sẽ sáng. Do mạch SSR nối cùng với chân D13 nên nếu khi đèn sáng thì SSR sẽ hoạt động ở mức thấp và ngược lại đèn led tắt thì mạch SSR sẽ hoạt động ở mức cao.

Khi mạch SSR hoạt động ở mức thấp thì đèn 220VAC sẽ tắt và ngược lại khi mạch SSR hoạt động ở mức cao thì đèn sẽ sáng.

3.1.5 Thiết kế mạch PCB trên phần mềm Proteus:

Do việc kết nối của mạch điều khiển và mạch nhận gần giống nhau nên việc thiết kế mạch PCB giống nhau. Và mạch điều khiển cũng có thể được dung làm mạch nhận và ngược lại mạch nhận cũng có thể được sử dụng để làm mạch điều khiển.

50

Hình 3.4: mạch PCB được thiết kế. 3.2 Mạch thi công: 3.2.1: Mạch PCB thực tế: Commented [P7]: Chỉnh kích thước các hình ảnh nhỏ lại Hình 3.5: mạch PCB thực tế 51

download by :

Hình 3.6: mặt trước mạch PCB. 3.2.2: Hoạt động thực tế của mạch:

Hình 3.7: Mạch nhận chưa dữ liệu từ mạch điều khiển.

52

Hình 3.8: Mạch hoạt động khi nhấn cảm biến ở mạch điều khiển. 3.3 Kết quả thực nghiệm:

3.3.1: Thực nghiệm với khoảng cách truyền 1m không qua các thiết bị khác:

Hình 3.9: Chưa chạm cảm biến ở mạch điều khiển.

53

Hình 3.10: Chạm cảm biến sau 0.5s đèn sáng.

3.3.2: Thực nghiệm với khoảng cách truyền khoảng 11m không qua các thiết bịkhác: khác:

Hình 3.11: Đường dây truyền 11m kết nối mạch

54

Hình 3.12: Mạch hoạt động sau khoảng 1s chạm vài cảm biến. 3.3.3: Thực nghiệm với đường truyền 25m kết nối mạng điện gia đình:

Hình3.13: Vị trí mạch điều khiển.

55

Hình 3.14: Vị trí đặt mạch nhận khi chưa chạm cảm biến mạch điều khiển.

Hình 3.15: Sau khoảng 2s chạm cảm biến ở mạch điều khiển.

56

-Thực tế sự truyền dữ liệu giữa các mạch còn phụ thuộc vào chiều dài truyền dẫn, các sóng nhiễu được sinh ra do các hoạt động của các thiết bị khác trong gia đình nên tốc độ điều khiển còn chậm.

57

CHƯƠNG 4: KẾT LUẬN- ĐÁNH GIÁ. 4.1 Kết luận:

4.1.1: Ưu điểm:

-Chi phí thiết kế và thi công tương đối thấp, phù hợp trong sử dụng trong hộ gia

Một phần của tài liệu ĐỒ án tốt NGHIỆP THIẾT kế và THI CÔNG MẠCH điều KHIỂN và GIÁM sát THIẾT bị 220VAC (Trang 51)

Tải bản đầy đủ (DOCX)

(81 trang)
w