Với những phát triển đó không ngừng phát triển hơn về nhiều đồ chơi công nghệ và tiên tiến bằng nhiều dạng khác nhau trong đó sóng RF được sử dụng đa dạng hơn và phong phú hơn.. Là mục t
Trang 1
TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CƠ ĐIỆN - ĐIỆN TỬ
Trang 2TRƯỜNG ĐẠI HỌC HỌC LẠC HỒNG KHOA CƠ ĐIỆN - ĐIỆN TỬ
BỘ MÔN: VI ĐIỀU KHIỂN
BÁO CÁO ĐỒ ÁN
TÊN ĐỀ TÀI:
Thiết kế xe điều khiển bằng sóng RF
sử dụng mạch STM32
Giảng viên hướng dẫn : NGÔ KIM LONG
Sinh viên thực hiện : Vũ Đình Tảo
Lớp: 19CD111
Biên Hòa, tháng 11 năm 2021
Trang 3MỤC LỤC
CHƯƠNG 1 MỞ ĐẦU 4
1.1 Lý do chọn đề tài 4
1.2 Mục tiêu nghiên cứu đề tài 4
1.3 Phạm vi nghiên cứu 4
1.4 Kết quả đạt được 4
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 5
2.1 Phân tích để tài 5
2.2 Lựa chọn thiết bị Phần cứng 6
2.2.1 Vi sử lí: Kit STM32f407 -DISCOVERY 6
2.2.2 Bộ khung xe robot 3 bánh ( tấm mica, Motor giảm tốc DC, ba bánh xe) 7
2.2.3 Mạch điều khiển RF 315mhz 6 kênh 8
2.2.4 Mạch điều khiển motor DC L298n 9
2.2.5 bóng đèn led 9
2.3 Giới thiệu phần mềm 10
2.4 Sơ đồ nguyên lý hoạt động 11
2.4.1 Tổng quan sơ đồ 11
2.4.2 Khối motor kết nối mạch L298n 11
2.4.3 Khối đèn trước và đèn sau 12
2.4.4 Khối điều khiển 12
2.4.5 Khối vi xử lý 13
CHƯƠNG 3 THIẾT KẾ 14
3.1 Kết nối phần cứng 14
3.1.1 Thống kê I/O 14
3.2 Sơ đồ giải thật 16
3.3 Viết code cho hệ thống 16
3.4 Thử nghiệm trên mô hình 22
3.5 Kết quả thử nghiệm 22
CHƯƠNG 4 KẾT LUẬN 24
4.1 Kết quả đạt được 24
4.2 Hạn chế 24
4.3 Hướng phát triển 24
TÀI LIỆU THAM KHẢO 25
Trang 4Chương 1 MỞ ĐẦU 1.1 Lý do chọn đề tài
Ngày nay trong tời đại tiên tiến về công nghệ khoa học kỹ thuật, và những thành tựu của cánh mạng 4.0 làm cho cuộc sống ngày càng phát triển
Với những phát triển đó không ngừng phát triển hơn về nhiều đồ chơi công nghệ và tiên tiến bằng nhiều dạng khác nhau trong đó sóng RF được sử dụng đa dạng hơn và phong phú hơn
1.2 Mục tiêu nghiên cứu đề tài
Là mục tiêu nghiên cứu sử dụng sóng RF để điều khiển xe mô hình với các tính năng quẹo trái, quẹo phải, tiến tới, lùi về, đèn trước, đền sau
Người sử dụng có thể điều khiển xe mô hình hoạt động theo ý muốn của người điều khiển bằng remotr
1.3 Phạm vi nghiên cứu
Phần cứng:
Phần mềm:
1.4 Kết quả đạt được
và thay thế thành đồ chơi công nghệ 4.0 điểu khiển theo các chức năng của nút nhấn
phân loại
Trang 5Chương 2 CƠ SỞ LÝ THUYẾT 2.1 Phân tích để tài
Trong đề tài của nhóm, nhóm chúng em sử dụng mạch kit DISCOVERY để kết nối với bộ thu sóng RF,điều khiển cho động DC và đèn trước
STM32F407-và đèn sau.với bộ bộ phát sóng RF gồm có 6 nút nhất để xuất tín hiệu cho bộ thu sóng với từng nút nhấn tương ứng cho từng chức năng nút nhấn số 1 điều khiển hai động tiến tới ,nút nhấn số 2 hai động cơ lùi về,nhấn nút 3 động phải quay ngược lại động cơ trái tiến tới (rẽ phải), nhấn nút 4động cơ trái quay ngược lại động cơ phải tiến tới (rẽ trái), nhấn nút 5lần 1 đèn trước sáng, nhấn nút 5 lần hai đèn tắt, nhấn nút
6 lần một đèn sau sáng, nhấn nút 6 lần hai đèn sau tắt
Tổng quan về sóng vô tuyến (RF)
Trong một phiên truyền thông, vì tận cùng bản chất của dữ liệu là bao gồm các bit 0 và 1, bên phát dữ liệu cần có một cách thức để gửi các bit 0 và 1 để gửi cho bên nhận Một tín hiệu xoay chiều hay một chiều tự nó sẽ không thực hiện tác vụ này Tuy nhiên, nếu một tín hiệu có thay đổi và dao động, dù chỉ một ít, sự thay đổi này sẽ giúp phân biệt bit 0 và bit 1 Lúc đó, dữ liệu cần truyền sẽ có thể gửi và nhận thành công dựa vào chính sự thay đổi của tín hiệu Có ba thành phần của dạng sóng
có thể thay đổi để tạo ra sóng mang, đó là biên độ, tần số và pha Tất cả các dạng truyền thông dùng sóng vô tuyến đều dùng vài dạng điều chế để truyền dữ liệu Để
mã hóa dữ liệu vào trong một tín hiệu gửi qua sóng AM/FM, điện thoại di động, truyền hình vệ tinh, ta phải thực hiện một vài kiểu điều chế trong sóng vô tuyến đang truyền
Hình 2.1:sơ đồ khối
Trang 62.2 Lựa chọn thiết bị Phần cứng
Với đề tài xe điều bằng sóng RF, phần cứng nhóm em sử dụng bao gồm:
- Modul Kit STM32f407 -DISCOVERY
- Bộ khung xe robot 3 bánh ( tấm mica, hai động cơ DC, ba bánh xe)
- Mạch điều khiển RF 315mhz 6 kênh 12V
- Mạch điều khiển động cơ DC L298n 5~12V
- Đèn led ( 2 led đỏ, 2 led trắng)
Kit STM32F407 Discovery là loại kit được sử dụng đã số trong trường đại học hiện nay trong giảng dạy vi điều khiển ARM, so sánh về ngoại vi và sức mạnh của STM32 so với dòng ARM của hãng khác thì ở cùng một tầm giá , ARM và STM 32 vượt trội về cấu hình và ngoại vi hơn rất nhiều
Vi điều khiển chính Kit STM32f407 microcontroller featuring 32-bit ARM contex-M4F core,1MB flash, 192 KB RAM in an LQFP 100 package
Có led thông báo trạng thái nguồn
Tích hợp nút nhấn cho người sử dụng và nút reset
Có cổng Micro USB OTG
Hình 2.2: Kit STM32F407 Discovery
Trang 72.2.2 Bộ khung xe robot 3 bánh ( tấm mica, Motor giảm tốc DC, ba bánh xe)
Dùng để gắn những thiết bị lên tấm mica
Thông tin của Tấm mica khung xe
Hình 2.3: Mica khung xe
Motor để cho xe hoạt động tiến lùi, quẹo, trái, quẹo phải
Một số thông tin Motor giảm tốc DC
Trang 8Động cơ phải kèm theo Bánh xe mới có thể cho mô hình chạy được
Một số thông tin của bánh xe
Hình 2.5: Bánh xe
Với đề tài của nhóm điều khiển xe bằng 6 tín hiệu xuất ngõ ra 0 và 1 nên nhóm chúng em chọn bộ điều khiển sóng RF 6 kênh tích hợp với xe
- Nguồn nuôi: 12VDC
- Relay điều khiển: 10A 120VAC/ 20A14DC
- Phương pháp học lệnh: nút nhấn + remote
- Tần số 315MHZ
- Khoảng cách điểu khiển: 1000m
Hình 2.6: Mạch điều khiển RF 315mhz 6 kênh
Trang 92.2.4 Mạch điều khiển motor DC L298n
Để điều khiển motor nhóm em lựa chọn mạch L298n để điều khiển motor theo lệnh của mình đưa ra
Ic chính: L298-Dual Full Bridge Driver
Điện áp đầu vào: 5~30VDC
Công suất tối đa: 25w 1 cầu
Dòng tối đa cho mỗi cầu H là: 2A
Mức điện áp logic: low- 0.3V~1.5V, high:2.3V~Vss
Trang 10Hiệ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:
Integrated Development Environment, trình soạn thảo ngôn ngữ C, trình biên dịch
và debug) của cô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ác hãng trên thế giới
Hình 2.10: Phần mềm keilc version
Trang 112.4 Sơ đồ nguyên lý hoạt động
Hình 2.11: Tổng quan về sơ đồ
- Motor em kết nối OUT4, OUT3,OUT2,OUT1 của mạch L298n IN4, IN3, IN2,
IN1 em kết nối với mạch STM ở chân PB2, PB3,PB4,PB5
Hình 2.12: Sơ đồ kết nối chân motor với mạch L298n
Trang 122.4.3 Khối đèn trước và đèn sau
- Kết nối của đèn trước gồm có bóng đèn led và điện trở 100Ω kết nối với mạch
STM ở chân PB6
- Kết nối của đèn sau gồm có bóng đèn led và điện trở 100Ω kết nối với mạch STM ở chân PB7
Hình 2.13 khối đèn trước và đèn sau
- Nút nhấn số 1, số 2, số 3, số 4, số 5, số 6được kết nối với mạch STM ở dạng INPUT.Chân PE0,PE1,PE2,PA0,PE4,PE5
Trang 13Hình 2.14 Khối điều khiển
- PB2,PB3,PB4,PB5,PB6,PB7 ngõ ra để điều khiển từng thiết
- PE0, PE1,PE2,PA0,PE4,PE5 ngõ vào để cấp tín hiệu cho ngõ ra
Hình 2.15 Khối vi xửa lý.
Trang 14Chương 3 THIẾT KẾ 3.1 Kết nối phần cứng
Dựa vào sơ đồ nhóm em thống kê về các I/O ngõ vào và ngõ ra của vi sử lý:
PE0, PE1,PE2,PA0,PE4,PE5 kết nối với 6 nút nhấn của sóng RF
Hình 3.1: Sơ đồ kết nối dây với mạch thu sóng RF
PB2,PB3,PB4,PB5: kết nối với mạch L298n
+ cấp nguồn cho module L298: 12v
+c ác chân số PB2,PB3,PB4,PB5 của mạch STM sẽ nối tương ứng với IN1,IN2,IN3 và IN4 của L298
+ Chiều quay của động cơ được điều khiển bằng cách xuất các đầu ra HIGH hoặc LOW tại chân IN
+VD: chân IN1 là chân OUTA.1, chân IN2 là chân OUTA.2
Cấp nguồn dương vào IN1, cực âm IN2 => motor quay một chiều(chiều 1)
Cấp nguồn âm vào IN1, cực dương vào IN2 => motor quay chiều còn lại(chiều 2)
Cực dương ở đây là 12v cực âm là 0v
Giả sử hiệu điện thế 12v mạnh nhất trong việc điều khiển động cơ Như vậy, chỉ cần hạ điện xuống là động cơ sẽ bị yếu đi
Và nếu hiệu điện thế < 0 = > động cơ sẽ đào chiều
Trang 15Hình 3.2: Sơ đồ kết nối dây với mạch l298
PB6,PB7:và đèn trước và đèn sau
Hình 3.2: Sơ đồ kết nối dây đèn trước
Hình 3.3: Sơ đồ kết nối dây đèn sau
Trang 163.2 Sơ đồ giải thật
Hình 3.4: Sơ đồ giải thuật
3.3 Viết code cho hệ thống
Trang 17MX_GPIO_Init();
while (1)
{
Trang 19RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON;
Trang 20static void MX_GPIO_Init(void)
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB,
GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7, GPIO_PIN_RESET);
/*Configure GPIO pins : PE2 PE3 PE4 PE5 */
GPIO_InitStruct.Pin =
GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
Trang 21GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ /* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
Trang 223.4 Thử nghiệm trên mô hình
Em đã thử nghiệm trên phần mềm và đã chạy đúng yêu cầu
Trang 23Hình 3.7: Bảng kết quả thí nghiệm
Trang 24Chương 4 KẾT LUẬN 4.1 Kết quả đạt được
Hình 4.1:kết quả đạt được
Đã mô phỏng đề tài theo đúng những yêu cầu đặt ra
4.2 Hạn chế
Trang 25TÀI LIỆU THAM KHẢO
điều khiển động cơ DC | Cộng đồng Arduino Việt Nam
YouTube