Như vậy, vi điều khiển STM32 sẽ nhận tín hiệu Digital từ remote hồng ngoạigửi về, xử lý và đưa ra tín hiệu để điều khiển các relay.. Truyền tín hiệu điều khiểnthông qua remote hồng ngoại
Trang 1ĐẠI HỌC LẠC HỒNG KHOA CƠ ĐIỆN ĐIỆN TỬ
Đồng nai, 2021
Trang 2MỤC LỤC
Contents
CHƯƠNG 1 MỞ ĐẦU 1
1.1 Lý do chọn đề tài 1
1.2 Mục tiêu nghiên cứu 1
1.3 Phạm vi nghiên cứu 1
1.4 Kết quả đạt được 2
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2
2.1 Phần cứng 2
2.1.1 Vi xử lý : STM32F103 2
2.1.2 Module Điều khiển hồng ngoại từ xa + Remote IR 4
2.1.3 Module relay 5
2.1.4 LCD 16x2 tích hợp module chuyển đổi I2C 6
2.2 Phần mềm hỗ trợ lập trình 7
2.2.1 STM32CubeMX: 7
2.2.2 KeilC V5 8
CHƯƠNG 3 :THIẾT KẾ 9
3.1 Bài toán đặt ra 9
3.2 Xử lý tín hiệu remote Hồng Ngoại và IR1838 10
3.2.1 Truyền dữ liệu bằng hồng ngoại: 10
3.2.2 Phương thức giao tiếp 11
3.2.3 Mã code hồng ngoại 11
3.3.2 Lập trình STM32F411 với remote hồng ngoại+IR1838 14
4.1 Kết quả đạt được 19
4.2 Nhận xét và cải tiến 19
DANH MỤC BẢNG BIỂU 21
DANH MỤC HÌNH ẢNH 21
Trang 3CHƯƠNG 1 MỞ ĐẦU
1.1 Lý do chọn đề tài
Ngày nay, xã hội phát triển mạnh mẽ , kỹ thuật ngày càng hiện đại nên nhu cầu
về điều khiển các thiết bị từ xa , ngày càng cao và những hệ thống dây cáp phức tạplại không thể đáp ứng được nhu cầu này nhất là ở những khu vực chật hẹp việcnghiên cứu và thiết kế một bộ sản phẩm điều khiển thiết bị không dây là một ý nghĩalớn Do đó, nhóm quyết định làm đề "mạch điều khiển thiết bị bằng remote bằng hồngngoại " chúng em nghiên cứu về hệ điều hành STM32F1, cách thức giao tiếp, điềukhiển thu thập dữ liệu qua bộ phát hồng ngoại từ đó chúng em đã thiết kế phần cứng
là một bộ điều khiển các relay các module này có thể kết hợp với nhau để mở rộngđối tượng điều khiển
1.2 Mục tiêu nghiên cứu
Mục tiêu của bộ sản phẩm:
- Thay thế việc điều khiển các thiết bị bằng dây cáp
- Điều khiển các thiết bị dễ dàng
- Có thể điều khiển nhiều thiết bị cùng một lúc
Trang 4CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 Phần cứng
Với đề tài khoá cửa tự động này, phần cứng mà em sử dụng bao gồm:
- Kit STM32F103C8T6 CAN RS485 Board
- Mạch nạp STM32, ST-Link V2 mini
- Module Điều Khiển Hồng Ngoại Từ Xa + Remote IR 1838
- Module 8 Relay 5V với opto cách li kích H/L
- LCD Text LCD1602 nền xanh dương chữ trắng 5V kèm I2C diver
2.1.1 Vi xử lý : STM32F103
Bo mạch điều khiển công nghiệp Stm32F103, tích hợp CAN, 485, giao tiếp nốitiếp, cho dù bạn chọn loại nào, nó đều có thể đáp ứng các yêu cầu sử dụng, sản xuất cấp công nghiệp, hiệu suất ổn định và đáng tin cậy
Gợi ý cho mọi người: Nếu bạn muốn học giao tiếp xe buýt, tôi đề nghị bạn nên mua ít nhất 2 bảng Bằng cách này, bạn có thể trực quan trải nghiệm hiệu quả của giao tiếp đa máy
1 Hoạt động thường xuyên-ADC cơ bản
2 Hoạt động CRC thường xuyên cơ bản
3 Hoạt động thường xuyên-I0 cơ bản_LED đèn nước chảy
4 Hoạt động thường xuyên cơ bản-SysTick (bộ đếm thời gian đánh dấu hệ thống)
5 Hoạt động hẹn giờ TIM thường xuyên cơ bản
6 Bộ thu phát USART thường xuyên cơ bản
7 Nút thường trình cơ bản (phương pháp truy vấn)
8 Nút thường trình cơ bản (chế độ ngắt)
9 Quy trình giao thức MODBUS không theo quy trình dựa trên bo mạch MINI
10 Thường xuyên-Tạo 2 nhiệm vụ dựa trên UCOS của bo mạch MINI
11 Hiệu ứng ánh sáng Thở thường xuyên dựa trên bo mạch MINI, được thựchiện bởi TIM1 PWM
Trang 512 Dựa trên quy trình dựa trên cổng nối tiếp ảo STM32 USB để chụp ADC
13 Dựa trên quy trình dựa trên cổng nối tiếp ảo STM32 USB để điều khiển cổngIO
14 Giao tiếp ví dụ-CAN dựa trên hai bảng MINI
15 Giao tiếp thường xuyên-RS485 dựa trên hai bo mạch MINI
16 Quy trình-quy trình máy chủ web dựa trên WEB (phải mua riêng để chạy)
17 Quy trình thu phát định kỳ-Không dây dựa trên mô-đun NRF24L01 (phải muariêng để chạy)
18 Quy trình đo nhiệt độ định kỳ dựa trên DS18B20 (phải mua riêng để chạy)
19 Quy trình đo nhiệt độ và độ ẩm dựa trên định kỳ-DHT11 (phải mua riêng đểchạy)
Hình 2 1 Kit STM32F103C8T6 CAN RS485 Board
Trang 6
2.1.2 Module Điều khiển hồng ngoại từ xa + Remote IR
Thông s kỹ thu t: ố kỹ thuật: ật:
● M ch thu: IR 1838ạch thu: IR 1838
● Đi n áp ho t đ ng: 5VDC.ện áp hoạt động: 5VDC ạch thu: IR 1838 ộng: 5VDC
● D ng ngõ ra: Digital.ạch thu: IR 1838
S đ chân: ơ đồ chân: ồ chân:
● Chân VCC: cung c p đi n áp ngoài 3.3V đ n 5V.ấp điện áp ngoài 3.3V đến 5V ện áp hoạt động: 5VDC ến 5V
● Chân GND: n i mass ngu n.ối mass nguồn ồn
● Chân IN: k t n i tr c ti p đ n vi đi u khi n.ến 5V ối mass nguồn ực tiếp đến vi điều khiển ến 5V ến 5V ều khiển ển
m ch đạch thu: IR 1838 ư c s d ng đ đóng ng t ngu n đi n công su t cao AC ho c DC, có th ử dụng trở nên an toàn với board mạch chính, ụng trở nên an toàn với board mạch chính, ển ắt nguồn điện công suất cao AC hoặc DC, có thể ồn ện áp hoạt động: 5VDC ấp điện áp ngoài 3.3V đến 5V ặc DC, có thể ển
ch n đóng khi kích m cọn, có opto và ức cao ho c m c th p b ng Jumper.ặc DC, có thể ức ấp điện áp ngoài 3.3V đến 5V ằng Jumper Module 8 Relay kích H/L (5VDC) s d ng ngu n 5VDC đ nuôi m ch, tín hi u kích có th tùy ch n ử dụng trở nên an toàn với board mạch chính, ụng trở nên an toàn với board mạch chính, ồn ển ạch thu: IR 1838 ện áp hoạt động: 5VDC ển ọn, có opto và kích m c cao (High - 5VDC) ho c m c th p (Low - 0VDC) qua Jumper trên m i ức ặc DC, có thể ức ấp điện áp ngoài 3.3V đến 5V ỗi relay Thích h p cho các thi t b s d ng m c tín hi u 5VDC nh Vi đi u ến 5V ị sử dụng mức tín hiệu 5VDC như Vi điều ử dụng trở nên an toàn với board mạch chính, ụng trở nên an toàn với board mạch chính, ức ện áp hoạt động: 5VDC ư ều khiển
khi n, ển
Thông s kỹ thu t: ố kỹ thuật: ật:
Đi n áp nuôi m ch: 5VDC.ện áp hoạt động: 5VDC ạch thu: IR 1838
Trang 7 Dòng tiêu th : kho ng 200mA/1Relayụng trở nên an toàn với board mạch chính, ảng 200mA/1Relay
Tín hi u kích: High (5VDC) ho c Low (0VDC) ch n b ng Jumper.ện áp hoạt động: 5VDC ặc DC, có thể ọn, có opto và ằng Jumper
Relay trên m ch:ạch thu: IR 1838
o Ngu n nuôi: 5VDC.ồn
o Ti p đi m đóng ng t max: 250VAC-10A ho c 30VDC-10Aến 5V ển ắt nguồn điện công suất cao AC hoặc DC, có thể ặc DC, có thể
Kích thưới opto cách ly kích H/L với opto cách ly nhỏ gọn, có opto và 155 (L) * 55 (W) * 19 (H) mmc:
Hình 2 3 M ch 8 Relay 5V ại và Remote hồng ngoại v i opto cách li kích H/L ới opto cách li kích H/L
2.1.4 LCD 16x2 tích hợp module chuyển đổi I2C
Tính năng
Đây là LCD ký tự 16x2 chữ trắng nền xanh dương có IC điều khiển HD44780 Super Twisted Nematic (STN) LCD Giao tiếp đơn giản với 4 bit hoặc 8 bit Giao tiếp dễ dàng với các loại vi điều khiển và board Arduino, ATMEL AVR hoặc PIC
Đặc điểm:
LCD STN độ tương phản cao 16x2
Trang 8Chữ trắng nền xanh dương
Điện áp hoạt động: +5.0VDC
Đèn LED nền màu trắng
Ký tự 5x8 dot
IC điều khiển HD44780 hoặc tương đương
Giao tiếp 4 or 8 bit
Trang 9Hình 2 4 Ph n m m Stm32CubeMx ần mềm Stm32CubeMx ền xanh dương chữ trắng 5V kèm I2C driver
2.2.2 KeilC V5
Hiện nay có khá nhiều trình biên dịch ngôn ngữ C cho 8051 như Mikro C, IAR,SDCC, Reads 51 … µVision là môi trường phát triển tích hợp (IDE: IntegratedDevelopment Environment, trình soạn thảo ngôn ngữ C, trình biên dịch và debug) củacông ty Keil Software, và thường được gọi là Keil C
Keil C là môi trường phát triển khá mạnh và được sử dụng rộng rãi hiện nay Nó hỗtrợ ta viết chương trình cho các chip vi điều khiển lõi 8051 và ARM của tất cả cáchãng trên thế giới
Hình 2 5 Ph n m m Keil C Version 5 ần mềm Stm32CubeMx ền xanh dương chữ trắng 5V kèm I2C driver
Trang 10CHƯƠNG 3 :THIẾT KẾ
3.1 Bài toán đặt ra
Thiết kế thi công bộ điều khiển từ xa giúp cho người dùng có thể tùy ý điềukhiển các thiết bị trong nhà mà không cần phải di chuyển và đi dây phức tạp nhưtruyền thống
Như vậy, vi điều khiển STM32 sẽ nhận tín hiệu (Digital) từ remote hồng ngoạigửi về, xử lý và đưa ra tín hiệu để điều khiển các relay Truyền tín hiệu điều khiểnthông qua remote hồng ngoại, vi điều khiển sẽ phân tích tín hiệu nhận được và truyquét với các tín hiệu đã cài đặt trước đó nếu đúng sẽ xuất tín hiệu cho relay , relay sẽ
có nhiệm vụ điều khiển các cơ cấu chấp hành
Dựa vào số lượng thiết bị, ta sẽ cấu hình số ngõ vào ngõ ra để phù hợp với cácthiết bị ngoại vi
B ng 3 ảnh thực tế mắt thu hồng ngoại và Remote hồng ngoại 1 C u hình IN-OUT cho vi đi u khi n ấu hình IN-OUT cho vi điều khiển ền xanh dương chữ trắng 5V kèm I2C driver ển
Ta có sơ đồ nối chân giữa vi điều khiển và cá thiết bị ngoại vi như sau:
- PB7, PB8, PB9, PB10, PB1, PA2, PA3, PA4, PA5 – 8 Chân tín hiệu củamodule relay
- PA1 – Chân nhận tín hiệu của IR 1838
- PB6, PB7 – Hai chân SDA, SCL của LCD
Trang 11-Hình 3 1 S đ k t n i ơ đồ chân: ồ chân: ế mắt thu hồng ngoại và Remote hồng ngoại ố kỹ thuật:
3.2 Xử lý tín hiệu remote Hồng Ngoại và IR1838
3.2.1 Truyền dữ liệu bằng hồng ngoại:
Ánh sáng hồng ngoại được phát ra từ mọi vật liệu có nhiệt độ, từ mặt trời,bóng đèn cho đến các vật dụng trong phòng Điều đó có nghĩa là có rất nhiềuánh sáng hồng ngoại gây nhiễu xung quanh chúng ta Để ngăn tín hiệu nhiễu nàyảnh hưởng đến tín hiệu IR (hồng ngoại), kỹ thuật điều chế tín hiệu được sửdụng
Trong điều chế tín hiệu IR, bộ mã hóa trên bộ phát IR chuyển đổi tín hiệu nhịphân thành tín hiệu điện Tín hiệu điện này được gửi đến đèn LED truyền ĐènLED truyền sẽ chuyển đổi tín hiệu điện được điều chế thành ánh sáng hồngngoại Sau đó, bộ thu IR giải mã tín hiệu ánh sáng hồng ngoại và chuyển đổi trởlại thành nhị phân trước khi truyền thông tin đến STM32F103
Trang 12Hình 3 2 Tín hi u t đ u phát đ n vi đi u khi n ệu từ đầu phát đến vi điều khiển ừ đầu phát đến vi điều khiển ần mềm Stm32CubeMx ế mắt thu hồng ngoại và Remote hồng ngoại ền xanh dương chữ trắng 5V kèm I2C driver ển
Tín hiệu IR nằm ở dạng chuỗi các xung ánh sáng được bật và tắt ở tần số caođược gọi là tần số sóng mang Tần số sóng mang được phát ra từ các remotehồng ngoại là 36kHz, vì nó rất hiếm trong tự nhiên và do đó có thể loại bỏ đượcnhiễu từ môi trường xung quanh Bằng cách này, bộ thu IR sẽ biết rằng tín hiệu36kHz được gửi từ máy phát mà không phải là từ môi trường xung quanh
Diode thu nhận được tất cả các tần số của ánh sáng hồng ngoại, nhưng thôngqua bộ lọc thông dải nó chỉ cho phép bước sóng có tần số 36kHz đi qua Sau đó,tín hiệu này được khuếch đại bởi bộ tiền khuếch đại và chuyển đổi nó thành tínhiệu nhị phân trước khi gửi nó đến bộ vi điều khiển
3.2.2 Phương thức giao tiếp
Chúng ta sẽ dùng giao thức NEC để chuyển đổi dữ liệu nhị phân kết hợp với sóng mang
2 mức logic 0 và 1 trong giao thức NEC được định nghĩa như sau:
● Mức logic 1: là một xung CAO có chu kỳ 560 us và một mức THẤP có chu kỳ
Trang 133.2.3 Mã code hồng ngoại
Mỗi nhấn một nút trên remote khi đó một mã HEX (Thập lục phân) duy nhất sẽ được truyền đi Thông tin này sẽ được điều chế và gửi qua ánh sáng hồng ngoại đến bộ phận thu tín hiệu Để giải mã phím nào được nhấn, chúng ta cần xác định mã tương ứng cho mỗi nút nhấn trên điều khiển từ xa và STM32F411 sẽ cần biết
Hình 3 4 S đ chân IR1838 ơ đồ chân: ồ chân:
3.3.1 Gi i Thu t: ảnh thực tế mắt thu hồng ngoại và Remote hồng ngoại ật:
Trang 14Hình 3 5 S đ gi i thu t c a bài toán ơ đồ chân: ồ chân: ảnh thực tế mắt thu hồng ngoại và Remote hồng ngoại ật: ủa bài toán
Trang 163.3.2 Lập trình STM32F411 với remote hồng ngoại+IR1838
Viết code cho từng tác vụ
Tác vụ 1: Thêm thư viện, cấu
hình chế độ chạy, khai báo
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_I2C1_Init(void);
uint32_t data;
uint8_t count;
Tác vụ 2: Đọc dữ liệu từ IR1838 uint32_t dulieu_data (void)
{ uint32_t code=0;
while (!(HAL_GPIO_ReadPin (GPIOA, PIO_PIN_1))); while ((HAL_GPIO_ReadPin (GPIOA, GPIO_PIN_1)));
for (int i=0; i<32; i++) {
count=0;
while (!(HAL_GPIO_ReadPin (GPIOA, GPIO_PIN_1)));
while ((HAL_GPIO_ReadPin (GPIOA, GPIO_PIN_1))) ; {
case (0xFFA25D):
lcd_send_cmd (0x86);
lcd_send_data ('1');
Trang 19HAL_GPIO_WritePin(GPIOA, GPIO_PIN_3 ,1);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6 ,1);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8 ,1);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9 ,1);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10 ,1);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_11 ,1);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4 ,0);
HAL_GPIO_WritePin(GPIOA,
GPIO_PIN_3 ,0);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6 ,0);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8 ,0);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9 ,0);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10 ,0);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_11 ,0);
Trang 20Tác vụ 4:Khai báo chương
trình chính while(1)
while (1) {
while (HAL_GPIO_ReadPin (GPIOA, GPIO_PIN_1));
data = dulieu_data ();
gan_bien (data);
HAL_Delay (200);
} }
B ng 3 2 ảnh thực tế mắt thu hồng ngoại và Remote hồng ngoại Code t ng tác v ừ đầu phát đến vi điều khiển ụ
CHƯƠNG IV : KẾT QUẢ
4.1 Kết quả đạt được
Sau khi kết nối và lập trình nhóm em đã hoàn thiện đề tài như sau :
Hình 4 1 M ch Đi u Khi n B ng Remote ại và Remote hồng ngoại ền xanh dương chữ trắng 5V kèm I2C driver ển ằng Remote
Trang 21 Xây dựng và hoàn thiện phần cứng gồm module mạch điều khiển, xử lý vàđưa ra tín hiệu để điều khiển các relay,truyền tín hiệu điều khiển thông quaremote hồng ngoại tần số sóng mang được phát ra từ các remote hồng ngoại
có thể loại bỏ được nhiễu từ môi trường xung quanh, thời gian đáp ứng và
độ sai lệch hầu như rất nhỏ
Có thể cùng lúc điều khiển nhiều thiết bị
Thiết bị hoạt động ổn định ở khoảng cách điều khiển lí tưởng là 5 -8m
Thiết kế gọn nhẹ , giúp người điều khiển di chuyển tự do
Một số hạn chế:
Hoạt động ổn định trong một phạm vi nhất định
Hoạt động không ổn định ở những nơi có nhiều vật cản
4.2 Nhận xét và cải tiến
Qua đề tài này nhóm thu hoạch được:
Biết đọc tín hiệu hồng ngoại qua IR1838 dựa vào chuẩn giao tiếp NEC, xử lý
dữ liệu thu về và điều khiển các thiết bị chấp hành
Khả năng phân tích vấn đề từ giải thuật đi đến tính phát triển của đề tài
Từ những kết quả được được có thể áp dụng vào các dự án sau này như làm nhà thông minh, hệ thống tưới tiêu từ xa…
TÀI LIỆU THAM KHẢO
Nguồn tài liệu tham khảo: https://controllerstech.com/ir-remote-with-stm32/
Link google drive file :
https://drive.google.com/drive/u/1/folders/1_Od7v1LxU_KfuT_DylYgvRygcRFWwRTU
Trang 22DANH MỤC BẢNG BIỂU
B ng 3 1 C u hình IN-OUT cho vi đi u khi nảng 200mA/1Relay ấp điện áp ngoài 3.3V đến 5V ều khiển ển 8
B ng 3.ảng 200mA/1Relay 2 Code t ng tác vừng tác vụ ụng trở nên an toàn với board mạch chính, 11
DANH MỤC HÌNH Hình 2 1 Kit STM32F103C8T6 4
Hình 2 2 Hình ảnh thực tế mắt thu hồng ngoại và Remote hồng ngoại 5
Hình 2 3 M ch 8 Relay 5Vạch thu: IR 1838 v i opto cách li kích H/Lới opto cách ly kích H/L với opto cách ly nhỏ gọn, có opto và .6
Hình 2 4 Phần mềm Stm32CubeMx 6
Hình 2 5 Phần mềm Keil C Version 5 7
YHình 3 1 Sơ đồ kết nối 8
Hình 3 2 Tín hiệu từ đầu phát đến vi điều khiển 9
Hình 3 3 Dữ liệu hồng ngoại thông qua giao thức NEC 10
Hình 3 4 Sơ đồ chân IR1838 11
YHình 3 5 S đ gi i thu t c a bài toán ơ đồ giải thuật của bài toán ồn ảng 200mA/1Relay ật của bài toán ủa bài toán 11
Hình 3 6 S đ gi i thu t chi ti t c a bài toán ơ đồ giải thuật của bài toán ồn ảng 200mA/1Relay ật của bài toán ến 5V ủa bài toán 14
Hình 4.1 Mạch điều khiển bằng remote 17