Project này em đã từng Post lên diễn đàn www.hauionline.com.
Nay Post lại sang đây, mong chia sẻ được gì đó với anh em.
Sau một hồi kiếm cơm nhờ đồ án vi điều khiển, giờ " hoàn lương " về ẩn cư nơi "rừng núi", quyết định "phơi bày" lên cho giang hồ thêm rôm rả.
Đề tài 05 : Đếm sản phẩm hiển thị bằng LED 7 đoạn
Bộ môn : Vi điều khiển
Khoa : Điện tử
Trường: Đại học Công Nghiệp Hà Nội
Thiết kế phần cứng : Quangcanelt
Phần mềm : Dungmax_1987 vs Nomad204
Phần I : Thiết kế phần cứng
Phần cứng được thiết kế trên phần mềm Altium Designer Winter 09 ( Có thể mở bằng DXP2004 trở lên với bản có đuôi là Bin5 )
Sơ đồ nguyên lý :
Còn đây là những phân tích chi tiết về các khối và sự hoạt động của nó :
1. Khối nguồn :
Nguồn đầu vào là điện lưới 220V – 50Hz, đi qua biến áp hạ xuống 12VAC, qua cầu chỉnh lưu ra điện áp 1 chiều : 12 VDC.
Từ đây đưa vào IC ổn áp LM7805 cho ra đầu ra 5VDC ổn định ( thực tế khoảng điện áp ra dao động từ 4.8V – 5.4 V ).
Lưu ý :
Hiện tại trên thị trường có 2 loại LM7085CV và LM7085KA Nên mua loại LM7805CV là tốt nhất, có thể chịu dòng và áp lớn.
Tụ điện ở đây đóng vai trò lọc nguồn và san phẳng điện áp.
Lưu ý :
Để lọc được tần số càng cao thì điện dung của tụ điện càng nhỏ.
2.Khối Vi điều khiển :
Sử dụng vi điều khiển AT89S52
Lưu ý :
Port 0 của AT89S52 là một PORT với cực máng hở, do vậy nếu muốn dùng PORT0 như một cổng vào ra ( I/O port ) thì cần có điện trở treo lên dương nguồn Vcc ( Pull-up )
AT89S52 sử dụng RESET bằng mức dương, vì vậy mạch RESET được thiết kế như trên. Khi có nguồn vào, tụ C1 nạp, cho dòng chạy qua, tạo cho chân RST một mức dương, khi tụ được nạp đầy, không cho dòng đi qua, chân RST lại trở về mức 0V, quá trình Reset được hoàn tất
Reset có thể thực hiện bằng phần cứng như mạch reset, có thể thực hiện bằng phần mềm thông qua Watchdog ( Sẽ nói rõ hơn ở những bài sau ). Reset là quá trình đưa con trỏ lệnh ( IP )về vị trí lệnh đầu tiên, nói nôm na là khiến cho chíp thực hiện chương trình lại từ đầu.
3.Khối đầu vào đếm :
Nguyên tắc hoạt động của Encoder chữ U :
Cấu tạo bên trong của Encoder chữ U gồm 1 led quang phát sang, 1 transistor quang. Khi Led sáng, chiếu vào cực B của transistor quang, làm transistor này dẫn, đưa mức 0V lên chân 3 ( U+ ) của bộ khuếch đại thuật toán, => đầu ra bằng 0. (mức logic 0 )
Khi có vật đi qua, cực B của Transistor quang không nhận được ánh sáng, transistor đóng, U+ được nhận mức điện áp dương, => đầu ra có điện áp 2/3 Vcc (mức logic 1)
Lưu ý :
Biến trở VR1 có tác dụng tạo điện áp so sánh, tùy chỉnh biến trở này ta sẽ điều chỉnh được mức độ nhạy của cảm biến.
Sự chuyển từ mức logic 1 xuống mức logic 0 (sườn âm), khi đưa vào đầu vào ngắt của vi điều khiển sẽ tạo một ngắt. Khi đó, trong chương trình, ta cho một biến đếm, biến đó sẽ tăng lên dựa theo số lần ngắt.
Lưu ý :
đầu vào ngắt trong bài này là ngắt 1 ( INT1 )
4. Khối hiển thị :
Sử dụng một led quét 4 . Nó thực chất là 4 con led 7 thanh đơn ghép nhau, sử dụng chung chân Data ( từ a – dot )
4 chân điều khiển bằng mức dương.
Để dễ dàng trong điều khiển 4 chân điều khiển của led này ta sử dụng transistor kích dòng:
Khối kích dòng này vừa tạo cho ta sự dễ dàng trong điều khiển, vừa là khối hút dòng, cấp dòng cho led sáng rõ và ổn định hơn.
Lưu ý :
Trở công suất 270 ôm là trở hạn dòng bảo vệ transistor.
Để bảo vệ cực B của tran, ta sử dụng trở hạn chế :
Lưu ý :
Transistor trong mạch không nhất thiết phải là S9015 mà có thể là loại tran thuận bất kì (ví dụ A564)
Còn đây là thằng PCB :
Phù, coi như xong phần thiết kế phần cứng.
Đây là bản thiết kế nguyên lý kèm và mạch in kèm theo, ai chăm thì tự thiết kế lại theo những điều đã phân tích ở trên, ai lười thì cứ lấy mà dùng. Mọi giá trị linh kiện đều giữ nguyên bản, không chỉnh sửa.
Nay Post lại sang đây, mong chia sẻ được gì đó với anh em.
Sau một hồi kiếm cơm nhờ đồ án vi điều khiển, giờ " hoàn lương " về ẩn cư nơi "rừng núi", quyết định "phơi bày" lên cho giang hồ thêm rôm rả.
Đề tài 05 : Đếm sản phẩm hiển thị bằng LED 7 đoạn
Bộ môn : Vi điều khiển
Khoa : Điện tử
Trường: Đại học Công Nghiệp Hà Nội
Thiết kế phần cứng : Quangcanelt
Phần mềm : Dungmax_1987 vs Nomad204
Phần I : Thiết kế phần cứng
Phần cứng được thiết kế trên phần mềm Altium Designer Winter 09 ( Có thể mở bằng DXP2004 trở lên với bản có đuôi là Bin5 )
Sơ đồ nguyên lý :
Còn đây là những phân tích chi tiết về các khối và sự hoạt động của nó :
1. Khối nguồn :
Nguồn đầu vào là điện lưới 220V – 50Hz, đi qua biến áp hạ xuống 12VAC, qua cầu chỉnh lưu ra điện áp 1 chiều : 12 VDC.
Từ đây đưa vào IC ổn áp LM7805 cho ra đầu ra 5VDC ổn định ( thực tế khoảng điện áp ra dao động từ 4.8V – 5.4 V ).
Lưu ý :
Hiện tại trên thị trường có 2 loại LM7085CV và LM7085KA Nên mua loại LM7805CV là tốt nhất, có thể chịu dòng và áp lớn.
Tụ điện ở đây đóng vai trò lọc nguồn và san phẳng điện áp.
Lưu ý :
Để lọc được tần số càng cao thì điện dung của tụ điện càng nhỏ.
2.Khối Vi điều khiển :
Sử dụng vi điều khiển AT89S52
Lưu ý :
Port 0 của AT89S52 là một PORT với cực máng hở, do vậy nếu muốn dùng PORT0 như một cổng vào ra ( I/O port ) thì cần có điện trở treo lên dương nguồn Vcc ( Pull-up )
AT89S52 sử dụng RESET bằng mức dương, vì vậy mạch RESET được thiết kế như trên. Khi có nguồn vào, tụ C1 nạp, cho dòng chạy qua, tạo cho chân RST một mức dương, khi tụ được nạp đầy, không cho dòng đi qua, chân RST lại trở về mức 0V, quá trình Reset được hoàn tất
Reset có thể thực hiện bằng phần cứng như mạch reset, có thể thực hiện bằng phần mềm thông qua Watchdog ( Sẽ nói rõ hơn ở những bài sau ). Reset là quá trình đưa con trỏ lệnh ( IP )về vị trí lệnh đầu tiên, nói nôm na là khiến cho chíp thực hiện chương trình lại từ đầu.
3.Khối đầu vào đếm :
Nguyên tắc hoạt động của Encoder chữ U :
Cấu tạo bên trong của Encoder chữ U gồm 1 led quang phát sang, 1 transistor quang. Khi Led sáng, chiếu vào cực B của transistor quang, làm transistor này dẫn, đưa mức 0V lên chân 3 ( U+ ) của bộ khuếch đại thuật toán, => đầu ra bằng 0. (mức logic 0 )
Khi có vật đi qua, cực B của Transistor quang không nhận được ánh sáng, transistor đóng, U+ được nhận mức điện áp dương, => đầu ra có điện áp 2/3 Vcc (mức logic 1)
Lưu ý :
Biến trở VR1 có tác dụng tạo điện áp so sánh, tùy chỉnh biến trở này ta sẽ điều chỉnh được mức độ nhạy của cảm biến.
Sự chuyển từ mức logic 1 xuống mức logic 0 (sườn âm), khi đưa vào đầu vào ngắt của vi điều khiển sẽ tạo một ngắt. Khi đó, trong chương trình, ta cho một biến đếm, biến đó sẽ tăng lên dựa theo số lần ngắt.
Lưu ý :
đầu vào ngắt trong bài này là ngắt 1 ( INT1 )
4. Khối hiển thị :
Sử dụng một led quét 4 . Nó thực chất là 4 con led 7 thanh đơn ghép nhau, sử dụng chung chân Data ( từ a – dot )
4 chân điều khiển bằng mức dương.
Để dễ dàng trong điều khiển 4 chân điều khiển của led này ta sử dụng transistor kích dòng:
Khối kích dòng này vừa tạo cho ta sự dễ dàng trong điều khiển, vừa là khối hút dòng, cấp dòng cho led sáng rõ và ổn định hơn.
Lưu ý :
Trở công suất 270 ôm là trở hạn dòng bảo vệ transistor.
Để bảo vệ cực B của tran, ta sử dụng trở hạn chế :
Lưu ý :
Transistor trong mạch không nhất thiết phải là S9015 mà có thể là loại tran thuận bất kì (ví dụ A564)
Còn đây là thằng PCB :
Phù, coi như xong phần thiết kế phần cứng.
Đây là bản thiết kế nguyên lý kèm và mạch in kèm theo, ai chăm thì tự thiết kế lại theo những điều đã phân tích ở trên, ai lười thì cứ lấy mà dùng. Mọi giá trị linh kiện đều giữ nguyên bản, không chỉnh sửa.
Comment