TƯỞNG THIẾT KẾ

Một phần của tài liệu Nghiên cứu lý thuyết, thực hiện mô hình hệ thống chiếu sáng thông minh trên ô tô (Trang 80)

CHƯƠNG 1 : LỊCH SỬ PHÁT TRIỂN ĐÈN XE

1910 – 1960)

4.1 TƯỞNG THIẾT KẾ

4.1.1 Ý tưởng về hệ thống chiếu sáng hiện đại

Đáp ứng là một mơ hình với đầy đủ các chức năng của một hệ thống chiếu sáng – tín hiệu hiện đại, bao gồm:

- Chức năng chiếu sáng chế độ pha – cốt hiện đại: sử dụng đèn chiếu sáng cao áp với bộ đèn xenon cho chế độ đèn chiếu gần, đèn halogen cho chế độ đèn chiếu xa, đèn led cho chế độ chạy ngày.

- Chức năng đèn tín hiệu: đầy đủ chế độ báo rẽ, báo phanh,…

4.1.2. Ý tưởng thiết kế hệ thống góc cua động

Trên thực tế cấu tạo của hệ thống đèn liếc động khá đa dạng, nhưng phổ biến nhất hiện nay là hệ thống đèn liếc động thay đổi góc chiếu sáng của đèn pha nhờ hiện tượng khúc xạ ánh sáng, bên trong chố đèn bố trí những tấm chắn phía trước bóng đèn, với những tấm chắn khác nhau, luồng ánh sáng đi qua tấm chắn sẽ có góc khúc xạ khác nhau, vì vậy có thể thay đổi vùng chiếu sáng theo góc đánh lái.

Hình 4.1: Cấu tạo một bộ đèn liếc động

Để xoay các tấm chắn, người ta sử dụng một động cơ Servo, được bộ điều khiển trung tâm điều khiển tự động qua việc xử lý các tín hiệu từ cảm biến góc đánh lái và cảm biến tốc độ. Cấu tạo của bộ đèn liếc này khá phức tạp và có giá thành

khơng hề rẻ nên hiện tại bây giờ nó cũng chỉ mới được lắp trên các dòng xe hạng sang.

Nếu hệ thống chiếu sáng góc cua động của mơ hình được thiết kế theo phương án này, thì phải trang bị một bộ đèn liếc động chuyên dụng được mua về với giá thị trường hiện nay khoảng 1000 $ vì khó có thể tự thết kế được bộ đèn có bố trí các tấm chắn ánh sáng bên trong choá, cũng như động cơ servo xoay choá đèn và các cơ cấu dẫn động khác. Vì vậy mơ hình chọn hướng thiết kế hệ thống chiếu sáng góc cua động sao cho đạt được mục đích: “thay đổi vùng chiếu sáng của đèn cốt theo góc đánh lái vơlăng”.

Để thay đổi được vùng chiếu sáng của đèn cốt theo góc chiếu sáng của vơ lăng, đề tài chọn giải pháp thiết kế board mạch điều khiển động cơ servo xoay choá đèn cốt dựa trên các tín hiệu bật đèn cốt, góc xoay vơ lăng.

4.1.3 Ý tưởng thiết kế hệ thống tự động bật đèn đầu và hệ thống tự động chuyển Pha – Cốt – Cốt

Trên mơ hình ngồi việc thiết kế các hệ thống chiếu sáng chủ động đáp ứng theo góc cua cịn được trang bị thêm hệ thống bật đèn tự động và hệ thống tự động chuyển Pha – Cốt.

4.1.3.1 Ý tưởng thiết kế hệ thống tự động bật đèn đầu

Hệ thống tự động bật đèn đầu ra đời nhằm mục đích tăng tính tiện ích và giảm các thao tác cho người lái xe khi điều khiển xe.

Nguyên lý hoạt động của hệ thống khá đơn giản, với các xe có trang bị hệ thống này, cảm biến ánh sáng được đặt ngay trên nắp ca pơ và đưa tín hiệu về một mạch điều khiển.

Khi nhận tín hiệu từ cảm biến ánh sáng đưa tới mạch điều khiển cho thấy ánh sáng môi trường chung quanh yếu đi, không đảm bảo đủ điều kiện ánh sáng cho phép để lái xe, mạch điều khiển này sẽ đóng relay tự động mở đèn đầu.

Hệ thống tự động mở đèn đầu trên mơ hình cũng được trang bị một cảm biến ánh sáng và thiết kế một board mạch, điều khiển relay tự động mở đèn đầu như trong thực tế.

4.1.3.2 Ý tưởng thiết kế hệ thống tự động chuyển pha - cốt

Khi đang đi trên xa lộ hoặc đường vắng chúng ta thường bật đèn đầu ở chế độ đèn pha, nhưng sử dụng đèn chiếu xa sẽ gây khó chịu, làm loá mắt, hạn chế khả năng quan sát của tài xế xe đi ngược chiều và người ta thường phải chuyển chế độ đèn pha về chế độ đèn cốt khi có xe ngược chiều để đảm bảo an toàn và cũng như thể hiện một thái độ lịch sự khi đi đường. Nhằm tăng khả năng quan sát cho người đi đối diện, tăng độ an toàn, giảm thao tác và tăng tính tiện ích cũng như giúp người điều khiển xe tập trung hơn vào việc lái xe, hệ thống chuyển đổi pha – cốt được ra đời.

Hình 4.3: Bật chế độ đèn pha có thể gây chố mắt cho người đi ngược chiều

Việc nhận biết có xe đi ngược chiều để thay đổi chế độ pha – cốt nhờ một cảm biến ánh sáng được đặt phía trước đầu xe, khi có xe đi ngược chiều và rọi ánh sáng vào cảm biến ánh sáng, tín hiệu điện áp từ cảm biến ánh sáng sẽ đưa về mạch điều khiển, mạch điều khiển sẽ đóng relay tự động chuyển pha – cốt.

Trên mơ hình được bố trí một cảm biến ánh sáng ở phía trước, và sử dụng một mạch điều khiển để đóng ngắt relay tự động chuyển pha – cốt. Các bước thiết kế và hoạt động của hệ thống trên mơ hình sẽ được nói rõ hơn trong phần sau.

4.2 TỔNG QUAN VỀ CÁC THIẾT BỊ TRÊN MƠ HÌNH 4.2.1. Hệ thống đèn chiếu sáng- tín hiệu

- Cụm đèn đầu bao gồm: đèn pha, đèn cốt, đèn xi nhan trước, đèn chạy ngày.

Đèn xi nhan Đèn cốt Đèn DRL Đèn pha

Hình 4.4: Cụm đèn đầu

- Cụm đèn hậu bao gồm: đen đuôi, đèn xi nhan sau.

Đèn đuôi Đèn xi nhan

4.2.2. Công tắc điều khiển đèn

Công tắc điều khiển đèn Công tắc điều khiển gạt nước

Hình 4.6: Cơng tắc điều khiển đèn

4.2.3. Các thiết bị điện tử

4.2.3.1 Mạch Arduino UNO R3

Arduino Uno được xây dựng với phân nhân là vi điều khiển ATmega328P sử dụng thạch anh có chu kì dao động là 16 MHz. Với vi điều khiển này, ta có tổng cộng 14 pin (ngõ) ra / vào được đánh số từ 0 tới 13 (trong đó có 6 pin PWM, được đánh dấu ~ trước mã số của pin). Song song đó, ta có thêm 6 pin nhận tín hiệu analog được đánh kí hiệu từ A0 - A5, 6 pin này cũng có thể sử dụng được như các pin ra / vào bình thường (như pin 0 - 13). Ở các pin được đề cập, pin 13 là pin đặc biệt vì nối trực tiếp với LED trạng thái trên board.

Trên board cịn có 1 nút reset, 1 ngõ kết nối với máy tính qua cổng USB và 1 ngõ cấp nguồn sử dụng jack 2.1mm lấy năng lượng trực tiếp từ AC-DC adapter hay thông qua ắc-quy nguồn.

Hình 4.7: Mạch Arduino UNO R3

Khi làm việc với Arduino board, một số thuật ngữ sau cần được lưu ý:

- Flash Memory: bộ nhớ có thể ghi được, dữ liệu khơng bị mất ngay cả khi tắt điện. Về vai trị, ta có thể hình dung bộ nhớ này như ổ cứng để chứa dữ liệu trên board. Chương trình được viết cho Arduino sẽ được lưu ở đây. Kích thước của vùng nhớ này thơng thường dựa vào vi điều khiển được sử dụng, ví dụ như ATmega8 có 8KB flash memory. Loại bộ nhớ này có thể chịu được khoảng 10,000 lần ghi / xoá.

- RAM: tương tự như RAM của máy tính, sẽ bị mất dữ liệu khi ngắt điện nhưng bù lại tốc độ đọc ghi xố rất nhanh. Kích thước nhỏ hơn Flash Memory nhiều lần.

- EEPROM: một dạng bộ nhớ tương tự như Flash Memory nhưng có chu kì ghi / xoá cao hơn - khoảng 100,000 lần và có kích thước rất nhỏ. Để đọc / ghi dữ liệu ta có thể dùng thư viện EEPROM của Arduino.

Ngồi ra, board Arduino cịn cung cấp cho ta các pin khác nhau như pin cấp nguồn 3.3V, pin cấp nguồn 5V, pin GND...

Hình 4.8: Tổng quan các bộ phận của mạch Arduino UNO R3

1. Cáp USB Đây là dây cáp thường được bán kèm theo bo, dây cáp dùng để cắm vào máy tính để nạp chương trình cho bo và dây đồng thời cũng lấy nguồn từ nguồn usb của máy tính để cho bo hoạt động. Ngồi ra cáp USB còn được dùng để truyền dữ liệu từ bo Arduino lên máy tính. Dây cáp có 2 đầu, đầu 1a được dùng để cắm vào cổng USB trên board Arduino, đầu 1b dùng để cắm vào cổng USB trên máy tính.

2. IC Atmega 16U2 IC này được lập trình như một bộ chuyển đổi USB –to-Serial dùng để giao tiếp với máy tính thơng qua giao thức Serial (dùng cổng COM).

3. Cổng nguồn ngoài Cổng nguồn ngoài nhằm sử dụng nguồn điện bên ngoài như pin, bình acquy hay các adapter cho board Arduino hoạt động. Nguồn điện cấp vào cổng này

là nguồn DC có hiệu điện thế từ 6V đến 20V, tuy nhiên hiệu điện thế tốt nhất mà nhà sản xuất khuyên dùng là từ 7 đến 12V.

4. Cổng USB Cổng USB trên bo Arduino dùng để kết nối với cáp USB

5. Nút reset Nút reset được sử dụng để reset lại chương trình đang chạy. Đơi khi chương trình chạy gặp lỗi, người dùng có thể reset lại chương trình..

6. ICSP của ATmega 16U2 ICSP là chữ viết tắt của In-Circuit Serial Programming. Đây là các chân giao tiếp SPI của chip Atmega 16U2. Các chân này thường ít được sử trong các dự án về Arduino.

7. Chân xuất tín hiệu ra Có tất cả 14 chân xuất tín hiệu ra trong Arduino Uno, những chân có dấu ~ là những chân có thể băm xung (PWM), tức có thể điều khiển tốc độ động cơ hoặc độ sáng của đèn. Hình 2 thể hiện rất rõ những chân để băm xung này.

8. IC ATmega 328 IC Atmega 328 là linh hồn của bo mạch Arduino Uno, IC này được sử dụng trong việc thu thập dữ liệu từ cảm biến, xử lý dữ liệu, xuất tín hiệu ra, …

9. Chân ICSP của ATmega 328 Các chân ICSP của ATmega 328 được sử dụng cho các giao tiếp SPI (Serial Peripheral Interface), một số ứng dụng của Arduino có sử dụng chân này, ví dụ như sử dụng module RFID RC522 với Arduino hay Ethernet Shield với Arduino.

10. Chân lấy tín hiệu Analog Các chân này lấy tín hiệu Analog (tín hiệu tương tự) từ cảm biến để IC Atmega 328 xử lý. Có tất cả 6 chân lấy tín hiệu Analog, từ A0 đến A5.

11. Chân cấp nguồn cho cảm biến Các chân này dùng để cấp nguồn cho các thiết bị bên ngoài như role, cảm biến, RC servo,…trên khu vực này có sẵn các chân GND (chân nối đất, chân âm), chân 5V, chân 3.3V như được thể hiện ở hình 2. Nhờ những chân này mà người sử dụng không cần thiết bị biến đổi điện khi cấp nguồn cho cảm biến, role, rc servo,… Ngoài ra trên khu vực này cịn có chân Vin và chân reset, chân IOREF. Tuy nhiên các chân này thường ít được sử dụng nên trong tài liệu này xin không đi sâu về nó. 12. Các linh kiện khác trên board Arduino Uno Ngoài các linh kiện đã liệt kê bên trên, Arduino Uno còn 1 số linh kiện đáng chú ý khác. Trên bo có tất cả 4 đèn led, bao gồm 1

led nguồn (led ON nhằm cho biết boa đã được cấp nguồn), 2 led Tx và Rx, 1 led L. Các led Tx và Rx sẽ nhấp nháy khi có dữ liệu truyền từ board lên máy tính hoặc ngược lại thông qua cổng USB. Led L được được kết nối với chân số 13. Led này được gọi là led on board (tức led trên board), led này giúp người dùng có thể thực hành các bài đơn giản mà khơng cần dùng thêm led ngồi.

Trong 14 chân ra của board cịn có 2 chân 0 và 1 có thể truyền nhận dữ liệu nối tiếp TTL. Có một số ứng dụng cần dùng đến tính năng này, ví dụ như ứng dụng điều khiển mạch Arduino Uno qua điện thoại sử dụng bluetooth HC05. Thêm vào đó, chân 2 và chân 3 cũng được sử dụng cho lập trình ngắt (interrupt), đồng thời cịn 1 vài chân khác có thể được sử dụng cho các chức năng khác, như được thể hiện ở hình 3.5.

Thơng số kỹ thuật:

Bảng 4.1: Thông số kỹ thuật của mạch Arduino Uno R3

Vi điều khiển ATmega328P

Điện áp hoạt động 5V

Điện áp vào khuyên dùng 7-12V

Điện áp vào giới hạn 6-20V

Digital I/O pin 14 (trong đó 6 pin có khả năng băm xung)

PWM Digital I/O Pins 6

Analog Input Pins 6

Cường độ dòng điện trên mỗi I/O pin 20 mA Cường độ dòng điện trên mỗi 3.3V pin 50 mA

Flash Memory 32 KB (ATmega328P)

0.5 KB được sử dụng bởi bootloader

EEPROM 1KB (ATmega328P)

Tốc độ 16 MHz

Chiều dài 68.6 mm

Chiều rộng 53.4 mm

Trọng lượng 25 g

 Một số lưu ý khi làm việc với Arduino Uno R3:

Mặc dù Arduino có cầu chi tự phục hồi (resettable fuse) bảo về mạch khi xảy ra quá tải, tuy nhiên cầu chì này chỉ được mắc cho cổng USB nhằm tự động ngắt điện khi nguồn vào USB lớn hơn 5V.

Vì vậy, khi thao tác với Arduino, ta cần tính tốn cẩn thận để tránh gây hư tổn đến board. Các thao tác sau đây có thể gây hỏng một phần hoặc tồn bộ board Arduino.

- Nối trực tiếp dòng 5V vào GND

Khi nối trực tiếp dịng 5V vào GND mà khơng qua bất kì một điện trở kháng nào sẽ gây ra hiện tượng đoản mạch và phá hỏng Arduino.

- Cấp nguồn lớn hơn 5V cho bất kì pin I/O nào

Theo tài liệu của nhà sản xuất, với vi điều khiển ATmega328P thì 5V là ngưỡng lớn nhất mà vi điều khiển này có thể chịu được. Nếu bất kì pin nào bị cấp điện áp vượt quá 5V sẽ gây ra hỏng vi điều khiển này.

- Tổng cường độ dòng điện trên các I/O pin vượt quá ngưỡng chịu được

Dựa theo datasheet của vi điều khiển ATmega328P, tổng cường độ dòng điện cấp cho các I/O pin tối đa là 200mA. Vì vậy, ví dụ như trong trường hợp ta ép Arduino cấp nguồn cho hơn 10 đèn LED (mỗi đèn thông thường sẽ cần 20mA) hay dùng trực tiếp các chân I/O cấp nguồn cho động cơ sẽ có thể gây tổn hại đến vi điều khiển.

- Thay đổi các kết nối trong lúc đang vận hành

Khi Arduino đang vận hành, việc thanh đổi các kết nối có thể gây ra sự không ổn định của điện áp dẫn đến hư hỏng Arduino. Vì vậy, trong thực tế làm việc ta nên ngắt nguồn Arduino trước khi thực hiện bất kì các thay đổi nào.

 Phần mềm lập trình Arduino IDE

Giới thiệu về phần mềm

Mơi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows, Macintosh OSX và Linux. Do có tính chất nguồn mở nên mơi trường lập trình này hồn tồn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm. Ngơn ngữ lập trình có thể được mở rộng thơng qua các thư viện C++. Và do ngơn ngữ lập trình này dựa trên nền tảng ngôn ngữ C của AVR nên người dùng hồn tồn có thể nhúng thêm code viết bằng AVR C vào chương trình nếu muốn.

Mơi trường phát triển tích hợp (IDE) của Arduino là một ứng dụng cross-platform (nền tảng) được viết bằng Java, và từ IDE này sẽ được sử dụng cho ngơn ngữ lập trình xử lý (Processing programming language) và project wiring. Nó được thiết kế để dành cho những người mới tập làm quen với lĩnh vực phát triển phần mềm. Nó bao gồm một chương trình code editor với các chức năng như đánh dấu cú pháp, tự động brace matching, và tự động canh lề, cũng như compile (biên dịch) và upload chương trình lên board chỉ với 1 cú nhấp chuột. Một chương trình hoặc code viết cho Arduino được gọi là một sketch.

Arduino IDE đi kèm với một thư viện phần mềm được gọi là "Wiring", từ project wiring gốc, có thể giúp các thao tác input/output được dễ dàng hơn. Chỉ cần định nghĩa 2 hàm để tạo ra một chương trình vịng thực thi (cyclic executive) có thể chạy được:

setup(): hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết lập các cài đặt. loop(): hàm này được gọi lặp lại cho đến khi tắt nguồn board mạch.

Hình 4.9: Giao diện phần mềm lập trình Arduino IDE

Vào menu Tools → Board → chọn Arduino/GenuinoUNO. Vào menu Tools → Port → chọn cổng Arduino đang kết nối với máy tính. Xác nhận cổng COM của Arduino IDE ở góc dưới cùng bên phải cửa sổ làm việc. Vào menu Tools → Programmer →

Một phần của tài liệu Nghiên cứu lý thuyết, thực hiện mô hình hệ thống chiếu sáng thông minh trên ô tô (Trang 80)

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

(115 trang)