- Biển số
- OF-201349
- Ngày cấp bằng
- 9/7/13
- Số km
- 1,983
- Động cơ
- 342,040 Mã lực
Đợt trước cụ [@tungvv;298860] hỏi cái mạch shutdown tự động cho RPI khi tắt xe. Cháu thấy có người đã chia sẻ mạch này rồi đây. CỤ có thế tham khảo nhưng cháu nghĩ nếu ko có một lượng kiến thức kỹ thuật điện tử cụ sẽ khó làm đấy:
Bài viết gốc thì ở đây: http://engineeringdiy.freeforums.org/power-off-safety-rasperry-t155.html
Nhưng nhìn vào bên đó chắc cụ sẽ không làm theo được hoặc khó làm, vì mạch không có giải thích. Cháu đã xem cái mạch và có thể giải thích nó được cho cụ hiểu.
- Trước hết tải toàn độ mã nguồn của code cần thêm vào RPi, sơ đồ mạch điện, mạch in tại đây: http://www.mediafire.com/download/o2avr2cjs2y8jvy/Shutdown.rar
Bên trong đó gồm:
1. File Instructions.rtf hướng dẫn cách copy shutdown.py và shutdown.sh và RPI cũng như cách thiết lập để chạy nó mỗi lần RPI khởi động.
2. File RPI Power supply brd.pdf là file in ra giấy đề can rồi đem dùng bàn là (bàn là quần áo ấy) để là cái mạch in trên giấy đề can lên phíp đồng phục vụ công tác làm mạch in. Kỹ thuật làm mạch in thủ công có thể xem nhiều trên mạng. Hay trên Youtube xem tại đây: http://www.youtube.com/watch?v=vKrumYMADTM
3. File RPI Power supply full.pdf bao gồm mạch in và linh kiện đặt bên trên để phục vụ công tác lắp đặt linh kiện.
4. RPI Power supply sch.pdf là sơ đồ nguyên lý của mạch điện. Cháu biết nhìn vào sơ đồ này một số cụ sẽ rất rối bời vì nó không dành cho tất cả mọi người hểu được. Nhưng nếu chỉ cần làm sao có đc mạch thì không cần hiểu, cháu sẽ giải thích những chỗ cần hiểu để làm ra nó.
5. File RPI Power supply.sch là file sơ đồ thiết kế trên phần mềm vẽ mạch điện tử mà nó in ra mấy cái PDF bên trên. Cái này các cụ ko cần đâu.
6. File shutdown.py là file thực thi mã shutdown RPI khi tắt xe ô tô.
7. File shutdown.sh là file chạy tự động mỗi lần khởi động RPI để load cái file shutdown.py bên trên.
Phần giải thích của cháu:
Trước hết nhìn vào sơ đồ nguyên lý và sơ đồ mạch in đã:
Sơ đồ nguyên lý
Sơ đồ mạch in và vị trí câu dây
Giải thích nguyên lý hoạt động:
- Đầu tiên khi xe đang tắt máy, sơ đồ như hình trên rơ le ngắt và RPI không có điện.
- Khi bật khóa điện, điện từ đường ACC vào ÍC tạo ra điện 5v điều khiển Transistor T1 đóng rơ le cấp điện cho IC2 lấy điện từ nguồn cố định 12V ắc quy và ổn áp ra 5V cho RPI hoạt động. Khi Rpi hoạt động chân GPIO26 của RPI sẽ có điện 3,3V, điện này lấy cho vào đường OUT trên sơ đồ nguyên lý để duy trì trạng thái đóng mạch cho Transistor T1, vì vậy ngay khi tắt khóa điện xe thì RPi vẫn ko bị tắt ngay theo mà nó vẫn làm việc (để thực hiện các mã shutdown). Đồng thời quá trình khởi động xe thì rơ le ở góc dưới bên trái của sơ đồ chuyển trạng thái (điểm 4 sẽ nối với điểm 5 và để hở mạch điều khiển chân 19 để nó duy trì mức cao 3,3V). Ngoài ra từ chân GPIO2 cũng cấp điện 5V vào điểm RPI5V trên sơ đồ để nuôi rơ le trong giai đoạn thực hiện lệnh shutdown (vì lúc đó đường ACC đã mất điện rồi).
- Khi tắt xe tắt khóa điện thì rơ re (cái ở góc dưới bên trái của sơ đồ) sẽ trở về trang thái như trên sơ đồ - tức là điểm 4 sẽ nối với điểm 10 và điểm 3) kéo chân 19 xuống mức thấp (0V) mã nguồn trong file shutdown.py chỉ chờ có lúc này và đếm cho việc mất điện chân 19 (nghĩa là 0V) duy trì đạt 5S thì nó thực hiện lệnh shutdown RPI (sở dĩ đặt 5S để tránh nó tắt nhầm do nhiễu đột ngột hoặc gì đó - có thể đặt lại giá trị này trong file đoạn if (button_press_timer > 5) thành bao nhiêu tùy các cụ) .
- Một khi RPI đã shutdown điện 5V trên chân GPIO mất và rơ le nhả tiếp điểm, ngắt toàn bộ mạch ra khỏi nguồn. Trở về trạng thái ban đầu.
Chu trình làm việc tiếp theo lặp lại như cháu đã mô tả bên trên.
Tuy mạch trên làm việc bình thường nhưng nêu cụ nào thực sự cần làm thì có thể trao đổi thêm với cháu vì dùng IC 7805 là IC tuyến tính để hạ 12V xuống 5V với dòng 1A thì ko hợp lý (dùng đến 7W để đốt nóng con IC1 một cách vô ích và gây nóng ran), nó rất nóng và lãng phí điện năng. Có thể thay con IC2 thành mạch dùng IC ổn áp xung sẽ đơn giản mà ko cần lắp tản nhiệt cồng kềnh, lại tiêu hao điện năng trên IC thấp. Phân tích về lợi thế của IC ổn áp xung, sơ đồ mạch và linh kiện có thể xem thêm bài này của cháu: http://www.otofun.net/threads/643635-em-xin-huong-dan-ve-su-dung-ic-7812-on-ap-12v?p=21603174#post21603174
Bài viết gốc thì ở đây: http://engineeringdiy.freeforums.org/power-off-safety-rasperry-t155.html
Nhưng nhìn vào bên đó chắc cụ sẽ không làm theo được hoặc khó làm, vì mạch không có giải thích. Cháu đã xem cái mạch và có thể giải thích nó được cho cụ hiểu.
- Trước hết tải toàn độ mã nguồn của code cần thêm vào RPi, sơ đồ mạch điện, mạch in tại đây: http://www.mediafire.com/download/o2avr2cjs2y8jvy/Shutdown.rar
Bên trong đó gồm:
1. File Instructions.rtf hướng dẫn cách copy shutdown.py và shutdown.sh và RPI cũng như cách thiết lập để chạy nó mỗi lần RPI khởi động.
2. File RPI Power supply brd.pdf là file in ra giấy đề can rồi đem dùng bàn là (bàn là quần áo ấy) để là cái mạch in trên giấy đề can lên phíp đồng phục vụ công tác làm mạch in. Kỹ thuật làm mạch in thủ công có thể xem nhiều trên mạng. Hay trên Youtube xem tại đây: http://www.youtube.com/watch?v=vKrumYMADTM
3. File RPI Power supply full.pdf bao gồm mạch in và linh kiện đặt bên trên để phục vụ công tác lắp đặt linh kiện.
4. RPI Power supply sch.pdf là sơ đồ nguyên lý của mạch điện. Cháu biết nhìn vào sơ đồ này một số cụ sẽ rất rối bời vì nó không dành cho tất cả mọi người hểu được. Nhưng nếu chỉ cần làm sao có đc mạch thì không cần hiểu, cháu sẽ giải thích những chỗ cần hiểu để làm ra nó.
5. File RPI Power supply.sch là file sơ đồ thiết kế trên phần mềm vẽ mạch điện tử mà nó in ra mấy cái PDF bên trên. Cái này các cụ ko cần đâu.
6. File shutdown.py là file thực thi mã shutdown RPI khi tắt xe ô tô.
7. File shutdown.sh là file chạy tự động mỗi lần khởi động RPI để load cái file shutdown.py bên trên.
Phần giải thích của cháu:
Trước hết nhìn vào sơ đồ nguyên lý và sơ đồ mạch in đã:
Sơ đồ nguyên lý
Sơ đồ mạch in và vị trí câu dây
Giải thích nguyên lý hoạt động:
- Đầu tiên khi xe đang tắt máy, sơ đồ như hình trên rơ le ngắt và RPI không có điện.
- Khi bật khóa điện, điện từ đường ACC vào ÍC tạo ra điện 5v điều khiển Transistor T1 đóng rơ le cấp điện cho IC2 lấy điện từ nguồn cố định 12V ắc quy và ổn áp ra 5V cho RPI hoạt động. Khi Rpi hoạt động chân GPIO26 của RPI sẽ có điện 3,3V, điện này lấy cho vào đường OUT trên sơ đồ nguyên lý để duy trì trạng thái đóng mạch cho Transistor T1, vì vậy ngay khi tắt khóa điện xe thì RPi vẫn ko bị tắt ngay theo mà nó vẫn làm việc (để thực hiện các mã shutdown). Đồng thời quá trình khởi động xe thì rơ le ở góc dưới bên trái của sơ đồ chuyển trạng thái (điểm 4 sẽ nối với điểm 5 và để hở mạch điều khiển chân 19 để nó duy trì mức cao 3,3V). Ngoài ra từ chân GPIO2 cũng cấp điện 5V vào điểm RPI5V trên sơ đồ để nuôi rơ le trong giai đoạn thực hiện lệnh shutdown (vì lúc đó đường ACC đã mất điện rồi).
- Khi tắt xe tắt khóa điện thì rơ re (cái ở góc dưới bên trái của sơ đồ) sẽ trở về trang thái như trên sơ đồ - tức là điểm 4 sẽ nối với điểm 10 và điểm 3) kéo chân 19 xuống mức thấp (0V) mã nguồn trong file shutdown.py chỉ chờ có lúc này và đếm cho việc mất điện chân 19 (nghĩa là 0V) duy trì đạt 5S thì nó thực hiện lệnh shutdown RPI (sở dĩ đặt 5S để tránh nó tắt nhầm do nhiễu đột ngột hoặc gì đó - có thể đặt lại giá trị này trong file đoạn if (button_press_timer > 5) thành bao nhiêu tùy các cụ) .
- Một khi RPI đã shutdown điện 5V trên chân GPIO mất và rơ le nhả tiếp điểm, ngắt toàn bộ mạch ra khỏi nguồn. Trở về trạng thái ban đầu.
Chu trình làm việc tiếp theo lặp lại như cháu đã mô tả bên trên.
Tuy mạch trên làm việc bình thường nhưng nêu cụ nào thực sự cần làm thì có thể trao đổi thêm với cháu vì dùng IC 7805 là IC tuyến tính để hạ 12V xuống 5V với dòng 1A thì ko hợp lý (dùng đến 7W để đốt nóng con IC1 một cách vô ích và gây nóng ran), nó rất nóng và lãng phí điện năng. Có thể thay con IC2 thành mạch dùng IC ổn áp xung sẽ đơn giản mà ko cần lắp tản nhiệt cồng kềnh, lại tiêu hao điện năng trên IC thấp. Phân tích về lợi thế của IC ổn áp xung, sơ đồ mạch và linh kiện có thể xem thêm bài này của cháu: http://www.otofun.net/threads/643635-em-xin-huong-dan-ve-su-dung-ic-7812-on-ap-12v?p=21603174#post21603174
Chỉnh sửa cuối: