1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ĐIỀU KHIỂN ĐỘNG CƠ DC TỪ XA BẰNG HỒNG NGOẠI, HIỂN THỊ TỐC ĐỘ VÀ CHIỀU QUAY RA LCD (CÓ CODE C++)

21 36 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Đồ án môn học Thiết kế mạch điện tử. Sử dụng AT89S52 để điều khiển tốc độ, chiều quay của động cơ DC 12V, hiển thị kết quả ra LCD, có chức năng điều khiển từ xa bằng hồng ngoại (IR 1838). Nội dung bao gồm cơ sở lý thuyết, sơ đồ khối, sơ đồ nguyên lý, nguyên lý mạch phát và mạch thu, chương trình điều khiển mạch phát và mạch thu (code C++)

Mục lục MỞ ĐẦU Chương CƠ SỞ LÝ THUYẾT 1.1 Phương pháp điều khiển động DC 1.2 Chip L298N 1.3 LED hồng ngoại 1.4 Mắt thu hồng ngoại IR 1838 1.5 Vi điều khiển AT89S52 1.6 LCD 11 Chương THIẾT KẾ 12 2.1 Sơ đồ khối 12 2.2 Sơ đồ nguyên lý 13 2.3 Nguyên lý mạch phát 13 2.3 Nguyên lý mạch thu 14 2.4 Chương trình điều khiển 15 2.4.1 Chương trình điều khiển cho mạch phát 15 2.4.1 Chương trình điều khiển cho mạch thu 16 KẾT LUẬN 20 TÀI LIỆU THAM KHẢO 21 MỞ ĐẦU Ngày nay, nhu cầu học tập nghiên cứu ứng dụng công nghệ Vi điều khiển ngày tăng trưởng mạnh mẽ Các cơng trình nghiên cứu ứng dụng công nghệ phong phú, đa dạng Vi điều khiển thay người ứng dụng thực tiễn, số ứng dụng thực tiễn Vi điều khiển như: Điều khiển tốc độ động cơ, thiết kế bảng led điện tử, đếm sản phẩm, đo khống chế nhiệt độ… Với ưu điểm điều khiển tốc độ động dễ dàng, độ ổn định tốc độ cao nên động chiều sử dụng phổ biến như: truyền động cho số máy máy nghiền ,máy nâng vận chuyển, điều khiển băng tải, điều khiển robot… Để điều khiển tốc độ động chiều có nhiều phương pháp, đồ án chúng em xin trình bày điều khiển động dùng vi điều khiển AT89S52 Tuy chúng em có nhiều cố gắng song báo cáo Thiết kế mạch điều khiển động DC chúng em không tránh khiếm khuyết, thiếu sót Kính mong thầy giáo thơng cảm có ý kiến đóng góp giúp chúng em rút kinh nghiệmvà để báo cáo hoàn thiện Cuối cùng, chúng em xin gửi lời cảm ơn chân thành đến thầy cô trực tiếp giảng dạy hướng dẫn chúng em hoàn thành đồ án 3 Chương CƠ SỞ LÝ THUYẾT 1.1 Phương pháp điều khiển động DC Chúng ta điều khiển tốc độ động DC cách điều khiển điện áp đầu vào động phương pháp phổ biến để làm điều sử dụng tín hiệu PWM PWM hay thay đổi độ rộng xung kỹ thuật cho phép điều chỉnh giá trị trung bình điện áp đến thiết bị điện tử cách bật tắt nguồn với tốc độ nhanh Điện áp trung bình phụ thuộc vào chu kỳ xung, lượng thời gian tín hiệu BẬT so với lượng thời gian tín hiệu TẮT khoảng thời gian quy định Mặt khác, để điều khiển hướng quay, cần đảo ngược hướng dòng điện qua động cơ, phương pháp phổ biến để làm điều sử dụng mạch cầu H Một mạch cầu H chứa bốn chân chuyển mạch, điện trở MOSFET, với động trung tâm tạo thành cấu hình giống chữ H Bằng cách kích hoạt hai cơng tắc cụ thể lúc, thay đổi hướng dịng điện, thay đổi hướng quay động 4 Vì vậy, kết hợp hai phương thức này, PWM H-Bridge, kiểm sốt hồn tồn động DC Có nhiều trình điều khiển động DC có tính L298N số 1.2 Chip L298N L298N trình điều khiển động H-Bridge kép cho phép điều khiển tốc độ hướng hai động DC lúc Mơ-đun điều khiển động DC có điện áp khoảng từ đến 35V, với dòng điện cực đại lên đến 2A Chúng ta xem xét kỹ sơ đồ chân mơ-đun L298N giải thích cách thức hoạt động Mơ-đun có hai nhóm chân cho động A B, chân cho chân Ground, VCC cho động chân 5V đầu vào đầu Tiếp theo đầu vào điều khiển logic Các chân Bật A Bật B sử dụng để bật kiểm soát tốc độ động Nếu dây có mặt chân này, động kích hoạt hoạt động tốc độ tối đa, loại bỏ dây, kết nối đầu vào PWM với chân theo cách kiểm sốt tốc độ động Nếu kết nối chân với Ground, động bị vơ hiệu hóa Tiếp theo, chân Đầu vào Đầu vào sử dụng để điều khiển hướng quay động A đầu vào cho động B Sử dụng chân này, thực điều khiển công tắc mạch cầu H bên IC L298N Nếu đầu vào mức THẤP đầu vào CAO động di chuyển phía trước ngược lại, đầu vào mức CAO đầu vào mức THẤP động di chuyển lùi Trong trường hợp hai đầu vào giống nhau, THẤP CAO, động dừng Điều tương tự áp dụng cho đầu vào và động B 1.3 LED hồng ngoại Ánh sáng hồng ngoại (tia hồng ngoại) ánh sáng khơng thể nhìn thấy mắt thường, có bước sóng khoảng từ 0.86µm đến 0.98µm Tia hồng ngoại có vận tốc truyền vận tốc ánh sáng Dựa vào tính chất nằm ngồi dải ánh sáng nhìn thấy nên chúng bị nhiễu ánh sáng thông thường - Led phát: Là diode phát quang, linh kiện bán dẫn thuộc nhóm điện quang Các diode phát quang phát sáng có dịng điện thuận chạy qua Khi dịng điện chạy, electron rơi từ phần diode vào lỗ phần khác Để rơi vào lỗ này, electron phải tỏa lượng dạng photon, tạo ánh sáng - Led thu: Là diode quang, có cấu trúc cho ánh sáng dễ dàng chiếu lên bề mặt phiến bán dẫn Tín hiệu nhận Led thu bị đảo lại so với tín hiệu truyền bên mắt phát 6 1.4 Mắt thu hồng ngoại IR 1838 IR1838 đóng gói dạng TO-92, tín hiệu đầu giải mã vi xửa lý kích trực tiếp mức tín hiệu điều khiển thiết bị đóng cắt mức logic Bên IR1838 có lọc tần số PCM có khả tương thích với TTL CMOS, có bảo vệ trống nhiễu điện trường Thời gian hoạt động sau khởi động IR 1838 200uS Nó "đọc" xung IR điều chế từ mạch máy phát , chuyển thành xung Vì vậy, người ta thấy trực tiếp đầu chip này, xung hình chữ nhật, tín hiệu kích lần transistor khuếch đại Cấu tạo bên IR 1838 sau: 1.5 Vi điều khiển AT89S52 AT89S52 chip vi điều khiển sản xuất hãng Atmel thuộc họ 8051 Đây vi điều khiển bit, công suất thấp, hiệu suất cao, dựa công nghệ CMOS với dải tần hoạt động từ đến 33MHz Một số đặc điểm chính: - Nguồn cung cấp: 4.2V ∼ 5.5V - Có 8K byte nhớ FLASH ROM bên để lưu chương trình Nhờ vậy, vi điều khiển có khả nạp xóa chương trình điện đến 10.000 lần; - 128 byte RAM; - cổng vào/ra bit; - Timer 16 bit; - nguồn ngắt; - Hỗ trợ giao tiếp truyền thông liệu nối tiếp; - Khơng gian nhớ chương trình ngồi 64 kbyte (bộ nhớ ROM ngồi); - Khơng gian nhớ liệu ngồi 64 kbyte (bộ nhớ RAM ngoài) Sơ đồ chân: - Chân VCC: chân số 40, nối nguồn cấp cho vi điều khiển, nguồn điệp cấp +5V ± 0.5 - Chân GND: chân số 20, nối đất - Cổng P0: gồm chân (từ 32 đến 39), có chức năng: + Chức cổng vào/ra: nhận tín hiệu từ bên ngồi vào để xử lý, xuất tín hiệu bên ngoài; + Chức làm bus liệu bus địa (AD7-AD0): lấy liệu từ ROM RAM bên ngồi (nếu có kết nối nhớ ngồi), định địa nhớ - Cổng P1: gồm chân từ đến 8, có chức làm đường vào/ra - Cổng P2: gồm chân từ 21 đến 28, có chức năng: + Chức cổng vào/ra; + Chức bus địa cao (A15-A8): Khi kết nối với nhớ có dung lượng lớn, cần byte để định địa nhớ, byte thấp P0 đảm nhận, byte cao P2 đảm nhận - Cổng P3: gồm chân từ chân 10 đến chân 17, có chức năng: + Chức cổng vào/ra; + Với chân có chức riêng thứ hai bảng sau: Bit Tên Chân Chức P3.0 RXD 10 Chân nhận liệu nối tiếp P3.1 TXD 11 Chân phát liệu nối tiếp P3.2 INT0 12 Ngõ vào ngắt P3.3 INT1 13 Ngõ vào ngắt P3.4 T0 14 Ngõ vào Timer / Counter P3.5 T1 15 Ngõ vào Timer / Counter P3.6 WR 16 Ngõ điều khiển ghi liệu lên nhớ P3.7 RD 17 Ngõ điều khiển đọc liệu lên nhớ - Chân RST: chân 9, tích cực mức cao, ngõ vào reset dùng để thiết lập trạng thái ban đầu cho vi điều khiển - Chân XTAL1 XTAL2: chân 18 19, dùng để nhận nguồn xung clock từ bên để hoạt động - Chân PSEN: chân 29, tích cực mức thấp, cho phép cất chương trình, nối tới OE EPROM cho phép cất/tải chương trình - Chân ALE: chân 30, tích cực mức cao, cho phép chốt địa chỉ, nối với nhớ ngồi cổng P0 cấp địa liệu, nối tới chân G chip 74LS373 dùng để phân kênh địa chỉ/dữ liệu - Chân EA/Vpp: Chân 31, chân truy cập nhớ + Khi EA nối với logic (+5V) vi điều khiển lấy chương trình từ nhớ + Khi EA nối với logic (0V) vi điều khiển lấy chương trình từ nhớ ngồi Timer 89S8252 làm tăng thêm khả Timer 1, có thêm ghi chức đặc biệt thêm vào để cung cấp cho Timer Các ghi thêm vào gồm: ghi định thời TL2 TH2, ghi điều khiển định thời T2CON, ghi thu nhận (capture register) RCAP2L, RCAP2H Chế độ hoạt động Timer thiết lập ghi điều khiển T2CON Cũng giống Timer 1, Timer hoạt động định thời khoảng thời gian đếm kiện Nguồn xung clock cung cấp mạch dao động chip nguồn xung bên chân T2 (thực tế chân P1.0) Thanh ghi T2CON bao gồm bit: TF2 EXF2 RCLK TCLK EXEN2 TR2 C/𝑇̅ ̅̅̅̅̅ CP/𝑅𝐿2 Chức bit: Kí hiệu Chức TF2 Cờ tràn Timer Cờ xoá phần cứng xố phần mềm (khơng set TCLK RCLK = 1) EXF2 Cờ Timer Cờ set có thu nhận nạp xảy chuyển trạng thái sang chân T2EX EXEN2 = Khi ngắt Timer phép, EXF2 = làm cho CPU trỏ tới trình phục vụ ngắt EXF2 xóa phần mềm RCLK Clock thu Timer Khi set, port nối tiếp sử dụng xung tràn Timer làm clock thu chế độ RCLK = gây tràn Timer để sử dụng làm clock thu TCLK Clock phát Timer Khi set, port nối tiếp sử dụng xung tràn Timer làm clock phát chế độ RCLK = gây tràn Timer để sử dụng làm clock phát EXEN2 Cho phép từ bên Timer set cờ cho phép thu nhận nạp lại có chuyển trạng thái âm chân T2EX Timer không dùng làm xung clock cho port nối tiếp EXEN2 = làm cho Timer bỏ qua kiện chân T2EX TR2 Bit điều khiển hoạt động Timer Bit set hay xóa phần mềm để điều khiển Timer hoạt động ngưng C/𝑇̅ Bit chọn chức đếm định thời Timer C/𝑇̅=0 : Counter , C/𝑇̅=0: Timer ̅̅̅̅̅ CP/𝑅𝐿2 Cờ thu nhận/nạp lại Timer Khi set, việc thu nhận xuất có chuyển trạng thái T2EX EXEN2 = Khi xóa, tự động nạp lại xuất có tràn Timer chuyển trạng thái T2EX EXEN2 = 1; RCLK TCLK = 1, bit bỏ qua Timer tự nạp lại tràn 10 Timer có chế độ hoạt động: tự nạp lại, thu nhận tạo tốc độ baud ̅̅̅̅̅̅ TR2 RCLK+TCLK CP/𝑹𝑳𝟐 Chế độ 0 Tự nạp lại 16 bit 1 Thu nhận 16 bit X Tạo tốc độ baud x X Tắt Trong phạm vi đồ án ta sử dụng chế độ tự nạp lại 16 bit Các ghi TL2/TH2 làm nhiệm vụ ghi định thời ghi RCAP2L, RCAP2H lưu giữ giá trị nạp lại Không giống chế độ tự nạp lại định thời 1, định thời luôn định thời 16 bit chế độ tự nạp lại Khi DCEN=0 Timer tự động đếm lên Nếu EXEN2=0 Timer đếm lên đến 0FFFFH thiết lập cờ TF2=1 Sau tràn, giá trị ghi nạp lại từ giá trị 16 bit RCAP2H RCAP2L ̅̅̅̅ (T2CON.1) phải Để cấu hình Timer tạo xung clock, bit C/𝑇2 bị xóa bit T2OE(T2MOD.1) = Bit TR2 (T2CON.2) để bật tắt timer Tần số xung clock phụ thuộc vào tần số tạo dao động giá trị nạp lại theo công thức sau: 𝑓𝑜𝑢𝑡 = 𝑓𝑋𝑇𝐴𝐿 4.[65536−(𝑅𝐶𝐴𝑃2𝐻,𝑅𝐶𝐴𝑃2𝐿)] 11 1.6 LCD LCD sử dụng mạch có 16 chân, chức chân cho bảng Chân Ký hiệu I/O Mô tả Vss - Đất Vcc - Dương nguồn V Vee - Cấp nguồn cho điều khiển RS I R/W I E I/O Cho phép DB0, 1, 2, 3, 4, 5, 6, 7, I/O Các bit liệu RS= chọn ghi lệnh RS= chọn ghi liệu R/W= đọc liệu R/W = ghi liệu Chân RS dùng để chọn ghi sau: Nếu RS = ghi mã lệnh chọn phép người dùng gửi đến lệnh xóa hình, trỏ đầu dịng… Nếu RS = ghi liệu chọn cho phép người dùng gửi liệu cần hiển thị LCD Chân cho phép E sử dụng LCD để chốt thông tin hữu chân liệu nó, liệu cấp đến chân đữ liệu mức xung từ cao xuống thấp phải áp đến chân để LCD chốt liệu chân chốt liệu Xung phải rộng tối thiểu 450ns 12 Chương THIẾT KẾ 2.1 Sơ đồ khối Chức khối: - Khối nguồn: cung cấp nguồn 5V cho khối mạch hoạt động - Khối nút bấm: tạo tín hiệu điều khiển chế độ hoạt động động - Khối điều khiển phát: nhận tín hiệu điều khiển từ nút bấm xử lý, đưa chuỗi bit dạng xung - Khối phát tín hiệu: phát tín hiệu hồng ngoại - Khối thu tín hiệu: thu tín hiệu hồng ngoại, chuyển đổi thành tín hiệu dạng số - Khối điều khiển trung tâm: xử lý tín hiệu, tạo tín hiệu điều khiển tốc độ chiều động - Khối hiển thị: hiển thị tốc độ chiều quay động lên LCD 13 2.2 Sơ đồ nguyên lý 2.3 Nguyên lý mạch phát Việc điều khiển từ xa thực sóng hồng ngoại Mạch phát hồng ngoại có chức nhận lệnh người điều khiển thơng qua nút bấm, sau xuất tổ hợp mã lệnh nhị phân ứng với nút bấm Thực mã hóa bit theo kiểu mã hóa theo độ rộng xung, bit có mức cao thấp độ rộng xung bit khác bit Bảng mã nút bấm Tên nút Tín hiệu nhị phân Mã lệnh (Hexa) Tăng tốc 00000001 Giảm tốc 00000010 Đảo chiều 00000011 Bật/Tắt 00000100 Kiểu mã hóa theo độ rộng xung sử dụng mạch phát cụ thể sau: 14 - Bit biểu diễn bằng: độ rộng xung kéo dài ms, độ trống xung kéo dài ms - Bit biểu diễn bằng: độ rộng xung kéo dài ms, độ trống xung kéo dài ms 2.3 Nguyên lý mạch thu Mắt thu hồng ngoại IR 1838 có mạch so sánh phản hồi mức VH VL, Vin> VH tín hiệu mức 0, Vin< VL tín hiệu hiệu mức Lúc này, bit biểu diễn sau: Vi điều khiển mạch thu tiến hành kiểm tra tín hiệu nhận bit hay bit theo lưu đồ thuật toán sau: 15 2.4 Chương trình điều khiển 2.4.1 Chương trình điều khiển cho mạch phát #include #include #include /************************************/ #define btn1 P2_0 // phai sang trai , tang toc #define btn2 P2_1 // giam #define btn3 P2_2 // thuan -nghich #define btn4 P2_3 // on off void delay_us(unsigned int t){ unsigned int i; for(i=0;i=P_up+P_down){ n=0; } if(run==1){ if(n P_up && n

Ngày đăng: 21/03/2022, 19:18

TỪ KHÓA LIÊN QUAN

w