Yêu cầu về mô hình giảng dạy

Một phần của tài liệu Thiết kế, lắp đặt mô hình điều khiển ghế điện sử dụng điều khiển lập trình để nhớ ghế đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 58)

Về thiết kế, mô hình giảng dạy ghế điện cần đáp ứng những yêu cầu cơ bản sau: • Mô hình đạt yêu cầu về mặt thiết kế trên bản vẽ và độ chính xác cao.

• Tính tiện dụng trong quá trình sử dụng, dễ dàng vận chuyển vào lớp học. • Đủ chắc chắn về kết cấu nhưng vẫn đảm bảo tính thẩm mĩ.

• Thiết kế phù hợp với nhu cầu học trực tiếp trên bàn của sinh viên.

• Thiết kế bố trí các giắc cắm, công tắc, relay, cầu chì và các chi tiết trên bảng điều khiển đảm bảo tính thuận tiện trong quá trình học và sử dụng.

46

Chương 3. THIẾT KẾ, THI CÔNG MÔ HÌNH VÀ THỰC NGHIỆM 3.1. Thiết kế mô hình giảng dạy ghế điện

3.1.1. Ý tưởng về mô hình

Mô hình ghế điện có lẽ đã xuất hiện nhiều từ những đề tài dưới với sự hướng dẫn của thầy Lê Quang Vũ, thầy Vũ Đình Huấn. Nhưng nhận ra vấn đề về sự di chuyển khá bất tiện, thêm vào đó là những mô hình ghế trước đều chưa có nhớ vị trí ghế, hoặc nếu có thì cũng không phải là mô hình giảng dạy hoàn chỉnh. Từ đó nhóm chúng em đã nảy ra ý tưởng làm một mô hình giảng dạy với thiết kế phù hợp với sự di chuyển vào lớp và bảo quản dễ dàng hơn về sau.

Ngay từ những ngày đầu, với việc xem xét những phiên bản mô hình ghế điện đã có từ trước và tham khảo những nguồn trên internet, nhóm chúng em đã có ý định sẽ làm mô hình ghế điện dạng đứng và có thể đặt ở trên bàn để phù hợp với việc giảng dạy của giảng viên.

Hình 3.1. Những mẫu mô hình tham khảo ở xưởng điện và từ internet

Nhóm đã lên ý tưởng thiết kế mô hình kiểu đứng với bố trí bảng điều khiển chính dạng dọc theo bên hông ghế điện và bảng điều khiển phụ phía trước ghế (phần 1 và 2 hình 3.2).

Mục đích thiết kế dọc bên hông ghế thay vì ở phía trước để đảm bảo khi sử dụng sinh viên hoặc giảng viên đều có thể đứng gần ghế điện và bảng điều khiển nhất có thể, tránh

47 việc quan sát các bộ phận của ghế bị khó khăn và vướng. Vấn đề thứ 2 và cũng có lẽ là vấn đề nhóm em mong muốn đó là việc làm một mô hình mang một thiết kế có tính sáng tạo hơn, khác những mô hình trước đó những vẫn đảm bảo sự phù hợp về thiết kế và bố trí, thuận tiện cho giảng viên và sinh viên.

Hình 3.2. Vị trí các phần trên khung mô hình ghế theo thiết kế

Sau khi tham vấn nhu cầu của giảng viên hướng dẫn là mong muốn đặt được mô hình lên bàn để giảng dạy và cũng như sinh viên có thể làm các bài tập thực hành ở trên bàn thì nhóm em đã bàn bạc lại và quyết định rút ngắn chiều cao của mô hình đã thiết kế ban đầu để phù hợp với nhu cầu thực tế đó hơn. Bên dưới là bản thiết kế hoàn chỉnh phần khung mô hình 3D bằng SOLIDWORKS với các thông số như hình 3.4.

48

Hình 3.4. Bản thiết kế khung 3D của mô hình

3.1.2. Thiết kế các bảng điều khiển và bảng ghi chú.

Sau khi lên ý tưởng thiết kế, nhóm đã đo đạc các thông số linh kiện cần thiết để thiết kế bảng điều khiển với các bố trí gọn gàng, tiện lợi trong quá trình sử dụng cho giảng viên cũng như sinh viên trong quá trình giảng dạy và học tập.

Bảng điều khiển phía trước ghế, tương ứng với phần 1 (hình 3.2), bao gồm: • Tên mô hình

• Bảng tên

• 3 đèn tín hiệu, 1 LCD và 5 công tắc đánh pan

49

Hình 3.6. Bảng điều khiển chính phía bên hông ghế

Bảng điều khiển chính phía bên hông ghế, bao gồm: • Các công tắc pan test

• Công tắc nhớ vị trí ghế, công tắc khoá K

50

Hình 3.7. Bảng ghi chú

Bảng ghi chú bao gồm:

• Các lưu ý quan trọng bên trái • Tên các pan test phía bên phải

Sau khi thiết kế mô hình khung ghế và các bảng điều khiển ghế xong, chúng ta được mô hình hệ thống ghế hoàn thiện như hình dưới.

51

3.1.3. Tổng quan về mô hình hệ thống

Sau khi tham khảo ý kiến của GVHD, cùng với ý tưởng của nhóm, nhóm chúng em đã lên phương án xây dựng mô hình hệ thống bao gồm những phần chính sau:

1. Vi điều khiển trung tâm (Arduino).

2. Bộ phận điều khiển và cơ cấu chấp hành (Công tắc chỉnh ghế và mô tơ). 3. Bộ phận gửi tín hiệu (Pan, test Pan, cảm biến Hall).

4. Bộ phận xuất tín hiệu (Màn hình LCD, led tín hiệu).

Hệ thống mô hình giảng dạy ghế điện của nhóm sẽ cung cấp các ứng dụng vào bài thực hành cho sinh viên và giảng viên như:

• Đèn led đỏ sáng và hiển thị thông báo lên màn LCD nếu có lỗi đánh pan. • Đèn led vàng sáng lên 3 giây với mỗi pan được sửa đúng.

• Đèn led xanh sáng và điển thị thông báo lên màn LCD nếu lỗi được sửa đúng hết bằng pan test.

• Đánh nhiều pan cùng lúc đều được.

• Mỗi lần sửa sai lỗi bằng pan test, đèn vàng sẽ không sáng.

• Kết hợp các pan test gây nhiễu khác để tăng độ khó cho sinh viên lúc thực hành. • Hỗ trợ nhớ được 2 vị trí ghế.

52

3.2. Lập trình và mô phỏng hệ thống đánh pan 3.2.1. Sơ đồ khối hệ thống

Hình 3.9. Sơ đồ khối hệ thống đánh pan

3.2.2. Sơ đồ nguyên lí của hệ thống

Nhìn vào sơ đồ hệ thống (hình 3.9) và sơ đồ nguyên lí (hình 3.10), ta có thể thấy được: • Nguồn chính là ắc quy 12V.

• Nguồn được đi tách biệt qua 2 công tắc để cấp nguồn riêng cho Arduino và công tắc ghế điện.

• Nguồn 12V được hạ áp xuống 5V thông qua mạch nguồn LM2596 để cấp vào Arduino, khoá K để cấp riêng cho công tắc. Mục đích có khóa K để khi đo kiểm các mô tơ ghế thì chỉ cần đóng khóa K để ngắt nguồn vô hệ thống ghế, mặt khác nguồn vẫn được cấp cho Arduino hoạt động để kích hoặc nhả các relay lúc đánh pan hoặc pan test. Để khi đo kiểm các chân bộ phận bên không bị ảnh hưởng tới nguồn điện cấp vào chìa khoá cũng như các bộ phận khác trên ghế điện.

• Đèn L1 để báo tín hiệu có điện qua chìa khoá ở chế độ ST. • Arduino đóng vai trò là mạch xử lí trung tâm.

53 • Các pan và pan test là các công tắc gạt 2 chân, sử dụng Arduino để đọc tín hiệu 5V ở

2 công tắc.

• Tín hiệu từ pan và pan test được gửi về Arduino qua các chân từ 1 tới 10, trong đó các chân 1/3/5/7/9 là các pan và 2/4/6/8/10 là các pan test.

• Arduino nhận tín hiệu và xuất tín hiệu mức cao ra các chân A4 và A5 vào LCD thông qua I2C, xuất tín hiệu mức cao ra các led xanh (L3), led đỏ (L3) và led vàng (L4) lần lượt thông qua các chân 12/13/0.

• Khi có lệch xuất tín hiệu relay 5V từ tín hiệu pan hoặc pan test, Arduino sẽ xuất tín hiệu mức cao để kích module relay 5V thông qua chân A0/A1/A2/A3/A4/11.

• Các module relay sẽ đóng vai đó đóng nhả relay để nối kín hoặc làm hở các đoạn dây khi đánh pan hoặc pan test tương ứng.

54

3.2.3. Lưu đồ thuật toán

Hình 3.11. Lưu đồ thuật toán sử dụng cho hệ thống đánh pan

Hình trên là lưu đồ thuật toán của hệ thống điều khiển đánh pan và sửa pan (pan test) của nhóm chúng em được sử dụng trên mô hình ghế điện ô tô. Nhìn vào sơ đồ ta có thể thấy được ban đầu thuật toán khai báo các biến đầu vào (IN) và đầu ra (OUT) tín hiệu từ các chân Arduino và thực hiện gán các giá trị cần thiết. Tiếp đến ta khởi tạo các chương trình con. Ở “void setup”, Arduino đọc tín hiệu từ các chân digital và thiết lập xuất tín hiệu ra màn hình LCD.

Ở vòng lặp “void loop”, chương trình thực hiện kiểm tra mạch điện hệ thống có lỗi hay không. Nếu không có lỗi thì chương trình cho hiển thị LCD và đèn báo, kết thúc vòng lặp. Ngược lại, nếu chương trình có lỗi, Arduino sẽ thực hiện xuất tín hiệu hiển thị LCD và đèn báo. Lúc này người dùng sẽ tiến hành sửa lỗi cho đến khi hệ thống không còn lỗi thì chương trình kết thúc.

55

3.2.4. Lập trình thuật toán 3.2.4.1. Khai báo 3.2.4.1. Khai báo

Hình 3.12. Thuật toán khai báo và gán lệnh

• Khai báo thư viện I2C và đặt địa chỉ LCD là 0x27 (dòng 1-4).

• Khai báo các chân led, công tắc pan, pan test, chân kích relay, biến trạng thái (dòng 6-13).

• Gán tên cho trạng thái “HIGH – LOW” của các chân kích relay (dòng 15-25).

3.2.4.2. Thiết lập chương trình con

56

Hình 3.14. Thiết lập hiển thị LCD, các chân INPUT, OUTPUT

3.2.4.3. Thuật toán chương trình chính

57

Hình 3.16. Thiết lập trường hợp hệ thống có lỗi và không có lỗi.

Hình 3.17. Thiết lập trường hợp đánh pan test đúng và sai cho cặp pan và pan test thứ nhất

Trường hợp đánh pan test đúng và sai cho các cặp pan và pan test thứ 2,3,4,5 tương tự như cặp pan và pan test thứ nhất ở trên.

58

3.2.5. Mô phỏng hệ thống đánh pan bằng Proteus 8 3.2.5.1. Sơ đồ tổng quan mạch mô phỏng

Hình 3.18. Sơ đồ cơ bản hệ thống đánh pan

Hệ thống mô phỏng điều khiển đánh pan ghế của nhóm chúng em gồm: • Arduino

• 5 công tắc đánh pan • 5 công tắc test đúng

• 10 công tắc test gây nhiễu cho sinh viên (không nối điện với công tắc) • 3 đèn led hiển thị:

+ Đèn xanh: ghế hiện không có lỗi

+ Đèn đỏ: ghế đang còn lỗi

+ Đèn vàng: có lỗi vừa được sửa đúng

+ 1 màn hình LCD 20x4

59

3.2.5.2. Trình tự hoạt động của thuật toán trên mô phỏng

1. Khi ghế bình thường, tắt công tắc:

Lúc này chưa có dòng điện để cấp nguồn cho Arduino nên hệ thống đánh pan chưa hoạt động: đèn led tắt, LCD tắt.

Hình 3.19. Khi ghế bình thường, tắt công tắc 2. Khi ghế bình thường, đã nối dây:

60 Khi nối dây thì sẽ có dòng điện cấp tới Arduino: LCD bật, hiển thị “Welcome!”

Hình 3.21. LCD hiển thị “Welcome!”

Lúc này ghế chưa có lỗi, Arduino nhận tín hiệu tất cả mạch điện trên chiếc ghế điện đều kín, phát tín hiệu LCD sẽ tiếp tục hiển thị “SEAT HAS NO FAULT” và đồng thời đèn led màu xanh cũng sẽ sáng để báo hiệu ghế không có lỗi (hình 3.21).

Hình 3.22. Ghế không có lỗi 3. Khi đánh 1 pan bất kỳ

61 Lúc này Arduino nhận được tín hiệu từ sau công tắc pan, nhận thấy mạch điện sau công tắc pan hở, xuất tín hiệu đến LCD hiển thị “SEAT HAS FAULT”, đồng thời đèn đỏ cũng sẽ sáng báo hiệu ghế đang có lỗi.

Sau khi gạt đúng pan test:

Hình 3.24. Gạt đúng pan test

Sau khi gạt đúng pan test, LCD hiện “SEAT HAS FAULT”, đèn vàng sáng lên 3s rồi tắt báo cho sinh viên biết là mình đã đánh đúng pan, đèn xanh sáng lên tức là không còn lỗi nào nữa. Kèm theo đó Arduino cũng sẽ kích relay ở các chân tương ứng với cặp pan và pan test đúng để nối mạch đang hở, hệ thống ghế sẽ hoạt động bình thường.

4. Khi đánh nhiều pan cùng một lúc:

Hình 3.25. Đánh nhiều pan cùng một lúc

Trường hợp này giống như cũng giống như lúc đánh 1 pan bất kỳ, Arduino nhận tín hiệu từ 1 chân tín hiệu của pan đó nhận thấy mạch điện hở, xuất tín hiệu đến LCD hiển thị “SEAT HAS FAULT, đồng thời đèn đỏ cũng sẽ sáng báo hiệu ghế đã có lỗi, đèn vàng tắt.

62 Sau khi gạt đúng 1 pan test:

Hình 3.26. Gạt lại không hết các pan

Sau khi gạt LCD hiển thị “SEAT HAS FAULT”, đồng thời đèn đỏ cũng vẫn sẽ sáng như thường bởi vì còn có lỗi, chỉ có đèn vàng sáng lên 3 giây để cho sinh viên biết được mình vừa gạt đúng pan test sau khi đo kiểm. Arduino cũng sẽ kích relay tương ứng với cặp pan và pan test vừa sửa đúng.

Sau khi gạt hết các pan test:

Nếu gạt lại hết các pan thì ghế mới hiểu là đã hết lỗi: LCD hiển thị “SEAT HAS NO FAULT” và đồng thời đèn led màu xanh cũng sẽ sáng báo lỗi đã hết.

Hình 3.27. Gạt lại hết các pan

Nếu đánh đúng hết các pan test: Arduino nhận tín hiệu từ từng pan test được đánh đúng, lập tức tín hiệu 5V của các pan lỗi đó, kích relay đóng lại và mạch điện sẽ được nối kín, đồng thời phát tín hiệu cho đèn vàng sáng 3 giây mỗi khi đánh đúng được 1 pan test. Khi đã đánh đúng hết các pan, LCD hiển thị “SEAT HAS NO FAULT” và đồng thời đèn led màu xanh cũng sẽ sáng.

63

Hình 3.28. Mạch điện kích relay.

Mạch điện kích relay (hình 3.28) sử dụng mô phỏng cơ bản theo module relay thực tế. Dòng vào kích 5V từ Arduino, sử dụng transitor khuếch đại dòng từ Arduino là loại NPN, các thông số điện trở như hình.

3.3. Lập trình và mô phỏng hệ thống nhớ vị trí ghế 3.3.1. Sơ đồ khối hệ thống

64

3.3.2. Sơ đồ nguyên lí hệ thống

Nhìn vào sơ đồ hệ thống (hình 3.28) và sơ đồ nguyên lí (hình 3.29), ta có thể thấy được: • Nguồn chính là ắc quy 12V.

• Ngoài việc cấp nguồn cho hệ thống đánh pan từ ắc quy, ắc quy còn cấp cho hệ thống điều khiển nhớ ghế.

• Nguồn 12V qua mạch nguồn hạ áp 5V cấp vào cho Arduino,

• Sau khi Arduino nhận tín hiệu vị trí ghế thông qua cảm biến Hall được đặt trên trục quay của mô tơ, đọc tín hiệu xung vuông gửi vào Arduino. Sau đó, Arduino nhận tín hiệu vị trí ghế và tín hiệu công tắc nhớ ghế để nhớ vị trí hiện tại.

• Sau khi thay đổi vị trí hiện tại để điều chỉnh ghế tới vị trí mới. Việc nhận biết vị trí ghế và nhớ vị trí mới được lặp đi lặp lại nếu người dùng nhấn nút nhớ vị trí 2 hoặc nhớ đè lên vị trí 1 ở lần đầu tiên

• Mỗi lần ghế di chuyển và nhớ, thông tin vị trí ghế và hiển thị vị trí được lưu đều được thể hiện lên màn hình LCD.

65

3.3.3. Lưu đồ thuật toán

Hình 3.31. Lưu đồ thuật toán hệ thống nhớ vị trí ghế

Dựa trên lưu đồ thuật toán ở trên, chúng ta có thể thấy sau khi khởi động, khai báo và khởi tạo chương trình con, cảm biến sẽ tiến hành đọc vị trí ghế. Sau đó chúng ta sẽ điều chỉnh ghế đến vị trí phù hợp thông qua công tắc điều khiển ghế và tiến hành lưu lại vị trí ghế đó hay còn gọi là nhớ vị trí ghế. Tiếp theo chúng ta điều chỉnh ghế đến một vị trí mới và tiến hành bấm công tắc gọi lại vị trí ghế đã lưu. Lúc này chúng ta sẽ xét theo 3 trường hợp:

• Nếu vị trí mới < vị trí đã nhớ: ghế tiến đến vị trí đã nhớ -> chương trình kết thúc. • Nếu vị trí mới > vị trí đã nhớ: ghế lùi lại vị trí đã nhớ -> chương trình kết thúc. • Nếu vị trí mới = vị trí đã nhớ: ghế không di chuyển -> chương trình kết thúc.

66

3.3.4. Lập trình thuật toán 3.3.4.1. Khai báo 3.3.4.1. Khai báo

Hình 3.32. Thuật toán khai báo và gán lệnh

67

3.3.4.2. Thiết lập chương trình con

Hình 3.34. Thuật toán hiển thị vị trí hiện tại

Một phần của tài liệu Thiết kế, lắp đặt mô hình điều khiển ghế điện sử dụng điều khiển lập trình để nhớ ghế đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 58)

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

(116 trang)