Bài tiểu luận Vi điều khiển và ứng dụng ĐỀ TÀI : VI ĐIỀU KHIỂN 8051 ĐIỀU KHIỂN ĐỘNG CƠ DC BẰNG XUNG PWM Giới thiệu 2. Tổng quan kỹ thuật vi điều khiển 8051 3. Xung PWM Pulse Width Modulation 4. Mạch cầu H 5. Động cơ 1 chiều 6. Mạch nguồn 7805 7. Sơ đồ nguyên lý 8. Chương trình 9. Mạch in Giới thiệu Ngày nay đa số các lĩnh vực sản xuất , điều khiển , giám sát , đo lường đều được trang bị hệ thống tự động hóa . Một trong các vi mạch được sử dụng là vi điều khiển , nó được ứng dụng rất phổ biến trong các lĩnh vực này . Vi điều khiển quản lý hoạt động của hệ thống thông qua phần mềm , nhờ vậy mà chúng ta có thể thay đổi 1 cách dễ dàng hoạt động của hệ thống bằng cách thay đổi thông số của chương trình . Vi điều khiển hoạt động theo chương trình đã nạp sẵn , đọc các tín hiệu từ bên ngoài sau đó đưa vào để xử lý ,trên cơ sở đố vi điều khiển đưa ra các tín hiệu điều khiển để điều khiển các thiết bị bên ngoài hoạt động theo đúng yêu cầu , thông số của chương trình cài đặt sẵn bên trong vi điều khiển . Trên thực tế vi điều khiển có mặt trong hầu hết các thiết bị , đồ dùng của chúng ta và ngày càng trở nên phổ biến như : lò vi sóng ,máy giặt , hệ thống cảnh báo , hệ thống đèn giao thông … Trong báo cáo này chúng em xin được phép giới thiệu về một trong các hệ thống điều khiển sử dụng vi điều khiển 8051 để điều khiển động cơ DC bằng xung PWM . Để điều khiển tốc độ động cơ DC người ta có thể dùng nhiều phương pháp khác nhau trong đó có một phương pháp hết sức quan trọng và thông dụng là phương pháp điều chế độ rộng xung kích (PWM), có nghĩa là thay đổi độ rộng xung kích để điều khiển linh kiện đóng ngắt (SCR hay Transistor), từ đó điều khiển tốc độ động cơ. Bộ PWM có thể tạo ra từ các linh kiện điện tử. Với yêu cầu dùng vi điều khiển 8051để điều khiển động cơ quay thuậnnghịch và thay đổi tốc độ, ta sử dụng chương trình để tạo xung PWM bên trong vi điều khiển AT89S52 tại chân P2.6 . Tại chân này khi hoạt động sẽ xuất chuỗi xung vuông , độ rộng điều chỉnh được dễ dàng. Xung ra này dùng để tạo tín hiệu đóng ngắt Trasistor trong mạch động lực, với độ rộng xác định sẽ tạo ra một điện áp trung bình xác định. Thay đổi độ rộng xung sẽ thay đổi điện áp trung bình và do đó thay đổi được tốc độ động cơ. 2. Tổng quan vi điều khiển 8051 Bộ vi điều khiển 8051 là thành viên đầu tiên của họ 8051. Hãng Intel ký hiệu nó như là MCS51
BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG Bài tiểu luận Vi điều khiển ứng dụng ĐỀ TÀI : VI ĐIỀU KHIỂN 8051 ĐIỀU KHIỂN ĐỘNG CƠ DC BẰNG XUNG PWM Giảng viên : Nguyễn Huy Dũng Sinh viên : Phạm Nho Biển Đào thị Năm Tạ Hữu Quang Vinh Mục lục Giới thiệu Tổng quan kỹ thuật vi điều khiển 8051 Xung PWM - Pulse Width Modulation Mạch cầu H Động chiều Mạch nguồn 7805 Sơ đồ nguyên lý Chương trình Mạch in 1 Giới thiệu Ngày đa số lĩnh vực sản xuất , điều khiển , giám sát , đo lường trang bị hệ thống tự động hóa Một vi mạch sử dụng vi điều khiển , ứng dụng phổ biến lĩnh vực Vi điều khiển quản lý hoạt động hệ thống thông qua phần mềm , nhờ mà thay đổi cách dễ dàng hoạt động hệ thống cách thay đổi thông số chương trình Vi điều khiển hoạt động theo chương trình nạp sẵn , đọc tín hiệu từ bên ngồi sau đưa vào để xử lý ,trên sở đố vi điều khiển đưa tín hiệu điều khiển để điều khiển thiết bị bên hoạt động theo yêu cầu , thông số chương trình cài đặt sẵn bên vi điều khiển Trên thực tế vi điều khiển có mặt hầu hết thiết bị , đồ dùng ngày trở nên phổ biến : lò vi sóng ,máy giặt , hệ thống cảnh báo , hệ thống đèn giao thông … Trong báo cáo chúng em xin phép giới thiệu hệ thống điều khiển sử dụng vi điều khiển 8051 để điều khiển động DC xung PWM Để điều khiển tốc độ động DC người ta dùng nhiều phương pháp khác có phương pháp quan trọng thông dụng phương pháp điều chế độ rộng xung kích (PWM), có nghĩa thay đổi độ rộng xung kích để điều khiển linh kiện đóng ngắt (SCR hay Transistor), từ điều khiển tốc độ động Bộ PWM tạo từ linh kiện điện tử Với yêu cầu dùng vi điều khiển 8051để điều khiển động quay thuận-nghịch thay đổi tốc độ, ta sử dụng chương trình để tạo xung PWM bên vi điều khiển AT89S52 chân P2.6 Tại chân hoạt động xuất chuỗi xung vuông , độ rộng điều chỉnh dễ dàng Xung dùng để tạo tín hiệu đóng ngắt Trasistor mạch động lực, với độ rộng xác định tạo điện áp trung bình xác định Thay đổi độ rộng xung thay đổi điện áp trung bình thay đổi tốc độ động Tổng quan vi điều khiển 8051 Bộ vi điều khiển 8051 thành viên họ 8051 Hãng Intel ký hiệu MCS51 Đặc tính Số lượng ROM chíp k byte RAM 128 byte Bộ định thời Các chân vào 32 Cổng nối tiếp Nguồn ngắt Các đặc tính 8051 Cấu tạo chức khối AT89S52 Các đặc tính AT89S52 CPU( CPU centralprocessing unit) bao gồm: Thanh ghi tích lũy A Thanh ghi tích lũy phụ B Đơn vị logic học (ALU) Thanh ghi từ trạng thái chương trình Bốn băng ghi Con trỏ ngăn xếp Bộ nhớ chương trình( ROM) gồm 8Kbyte Flash Bộ nhớ liệu( RAM) gồm 256 byte Bộ UART, có chức truyền nhận nối tiếp Timer/Counter 16 bit thực chức định thời đếm kiện Khối điều khiển ngắt với nguồn ngắt nguồn ngắt Bộ lập trình( ghi chương trình lên Flash ROM) cho phép người sử dụng nạp chương trình cho chíp mà khơng cần nạp chuyên dụng Bộ chia tần số với hệ số chia 12 cổng xuất nhập với 32 chân Chức chân AT89S52 Port 0( P0.0=>P0.7) Port gồm chân, chức xuất nhập, port bus đa hợp liệu địa chỉ( AD0-AD7), chức sử dụng 89s52 giao tiếp với thiết bị ngồi có kiến trúc Bus vi mạch nhớ, mạch PIO… Port 1( P1.0=>P1.7) Chức Port chức xuất nhập Port khác Port1 xuất nhập theo bit theo byte Port 2( P2.0=>P2.7) Port chức cổng vào/ra Port byte cao bus địa sử dụng nhớ Port Mỗi chân Port chức xuất nhập có chức riêng, cụ thể sau: Bit Tên Chức P3.0 RXD Dữ liệu nhận cho Port nối tiếp P3.1 TXD Dữ liệu truyền cho Port nối tiếp P3.2 INT0 Ngắt bên P3.3 INT1 Ngắt P3.4 TO Ngõ vào Timer/counter0 P3.5 T1 Ngõ vào Timer/counter1 P3.6 /WR Xung ghi nhớ liệu P3.7 /RD Xung đọc nhớ liệu Chân /PSEN : chân điều khiển đọc chương trình nhớ ngồi Chân ALE : ALE tín hiệu điều khiển chốt địa có tần số 1/6 tần số dao động vi điều khiển Tín hiệu ALE dùng phép vi mạch chốt bên 7473 Chân /EA : Tín hiệu /EA cho phép chọn nhớ chương trình nhớ hay ngồi EA=1 thực chương trình RAM nội EA=0 thực RAM RST( reset) : Ngõ vào reset chân số RST=1 vi điều khiển khởi động lại thiết lập ban đầu XTAL1, XTAL2 : chân nối song song với thạch anh tần số max=33 Mhz để tạo dao động cho vi điều khiển Vcc, GND : cung cấp nguồn nuôi cho vi điều khiển cấp qua chân 20 40 Xung PWM - Pulse Width Modulation Phương pháp điều chế PWM có tên tiếng anh Pulse Width Modulation phương pháp điều chỉnh điện áp tải hay nói cách khác phương pháp điều chế dựa thay đổi độ rộng chuỗi xung vuông dẫm đếm thay đổi điện áp Các PWM biến đổi có tần số khác độ rộng sườn dương hay sườn âm Điều chế độ rộng xung (PWM) kỹ thuật thường sử dụng để kiểm sốt tính thiết bị qn tính điện, áp dụng thực tế thiết bị chuyển mạch điện điện tử đại Tần số chuyển mạch PWM nhanh nhiều so với tác động ảnh hưởng đến tải, cụ thể thiết bị sử dụng điện Thông thường chuyển đổi thực nhiều lần phút bếp điện, 120 Hz đèn mờ, từ vài kilohertz (kHz) đến hàng chục kHz cho ổ đĩa động vào hàng chục hàng trăm kHz, khuyếch đại âm máy tính nguồn cung cấp điện Ví dụ PWM ổ đĩa động PWM sử dụng số hệ thống thông tin chu kỳ nhiệm vụ sử dụng để truyền đạt thơng tin qua kênh thông tin liên lạc Trong báo cáo để điều khiển tốc độ dùng chỉnh độ rộng xung (Pulse Width Modulation -PWM) hay đội robot gọi là: băm xung Là cách phổ biến để thay đổi tốc độ robot Điều khiển độ rộng xung làm cách tắt bật nhanh nguồn điện lên động Nguồn áp chiều DC chuyển thành tín hiệu xung vng, thay đổi từ 12V xuống 0V.Nếu tần số bật tắt mà đủ cao, motor chạy tốc độ ổn định nhờ mômen quay.Bằng cách thay đổi chu kỳ hoạt động tín hiệu (thay đổi độ rộng xung – PWM), tức khoảng thời gian “Bật”, nguồn điện trung bình đặt lên động thay đổi dẫn đến thay đổi tốc độ Như hình, với dãy xung điều khiển cùng, xung ON có độ rộng nhỏ nên động chạy chậm Nếu độ rộng xung ON lớn (như dãy xung thứ thứ 3) động DC chạy nhanh Ưu điểm: - Transistor lối có hai trạng thái (ON OFF) loại bỏ mát lượng đốt nóng hay lượng rò rỉ lối - Dải điều khiển rộng so với mạch điều chỉnh tuyến tính - Tốc độ mô tơ quay nhanh cấp chuỗi xung điều chế theo kiểu PWM so với cấp điện áp tương đương với điện áp trung bình chuỗi xung PWM Nhược điểm: - Cần mạch điện tử bổ trợ - giá thành cao - Các xung kích lên điện áp cao (12 - 24V) gây nên tiếng ồn mô tơ không gắn chặt tiếng ồn tăng lên gặp phải trường hợp cộng hưởng vỏ - Ngoài việc dùng chuỗi xung điều chế PWM làm giảm tuổi thọ mô tơ Mạch cầu H Mạch cầu H mạch cấu tạo transitor Fet Đôi mạch cầu H cấu tạo transitor hay Fet Tác dụng transitor Fet van đóng mở dẫn dòng điện từ nguồn xuống tải với cơng suất lớn Tìn hiệu điều khiển van tín hiệu nhỏ (điện áp hay dòng điện) cho dẫn dòng điện áp lớn để cung cấp cho tải Tín hiệu điều khiển điều khiển nhỏ thường tín hiệu đầu vi điều khiển nhỏ 5V (do điều chế PWM) mà điều khiển động cần dòng điện điện áp lớn Các van điều khiển hay chân điều khiển cần tín hiệu nhỏ (Điện áp hay dòng điện) mở khóa (Transitor) dẫn dòng cho tải Nên dùng mạch cầu H Mạch cầu H đảo chiều dòng điện qua tải nên hay dùng mạch điều khiển động DC mạch băm áp Đối với mạch điều khiển động mạch cầu H đảo chiều động đơn giản Chỉ cần mở khóa van chiều mà muốn Giả sử có động DC có đầu A B, nối đầu dây với nguồn điện DC (ắc qui điện – battery) Nếu nối A với cực (+), B với cực (-) mà động chạy theo chiều thuận (kim đồng hồ) đảo cực đấu dây (A với (-), B với (+) động đảo chiều quay , mạch cầu H (H-Bridge Circuit) giúp bạn Như thế, mạch cầu H mạch điện giúp đảo chiều dòng điện qua đối tượng Mạch cầu H Trong hình đầu V GND đầu (+) (-) ắc qui, “đối tượng” động DC mà cần điều khiển, “đối tượng” có đầu A B, mục đích điều khiển cho phép dòng điện qua “đối tượng” theo chiều A đến B B đến A Thành phần tạo nên mạch cầu H “khóa” L1, L2, R1 R2 (L: Left, R:Right) Ở điều kiện bình thường khóa “mở”, mạch cầu H khơng hoạt động Chúng ta khảo sát hoạt động mạch cầu H thơng qua hình minh họa có hình dạng : Nguyên lý hoạt động mạch cầu H Giả sử cách mà khóa L1 R2 “đóng lại” (L2 R1 mở), dễ dàng hình dung có dòng điện chạy từ V qua khóa L1 đến đầu A xuyên qua đối tượng đến đầu B trước qua khóa R2 GND (như hình a) Như thế, với giả sử có dòng điện chạy qua đối tượng theo chiều từ A đến B Bây giả sử khác R1 L2 đóng L1 R2 mở, dòng điện lại xuất lần chạy qua đối tượng theo chiều từ B đến A hình b (V->R1->B->A->L2->GND) Chúng ta dùng mạch cầu H để đảo chiều dòng điện qua “đối tượng” (hay cụ thể, đảo chiều quay động cơ) “một cách đó” Nếu đóng đồng thời khóa bên (L1 L2 R1 R2) chí đóng khóa xảy tượng “ngắn mạch” (short circuit), V GND gần nối trực tiếp với hiển nhiên ắc qui bị hỏng nguy hiểm cháy nổ mạch xảy Cách đóng khóa làm ảnh hưởng mạch cầu H Động chiều Động điện chiều động điện hoạt động với dòng điện chiều Động điện chiều ứng dụng rộng rãi ứng dụng dân dụng công nghiệp Thông thường động điện chiều chạy tốc độ nối với nguồn điện, nhiên điều khiển tốc độ chiều quay động với hỗ trợ mạch điện tử phương pháp PWM 10 Phần gồm Stato(phần đứng yên) với cực từ (bằng nam châm vĩnh cửu nam châm điện), Roto với cuộn dây quấn, cổ góp chổi điện Mạch nguồn 7805 Linh Kiện : IC 7805 IC ổn áp 5V Với mạch điện khơng đòi hỏi độ ổn định điện áp cao, sử dụng IC ổn áp thường người thiết kế sử dụng mạch điện đơn giản Các loại ổn áp thường sử dụng IC 78xx, với xx điện áp cần ổn áp Sơ đồ phía IC 7805 có chân: 11 Ngõ OUT ln ổn định 5V dù điện áp từ nguồn cung cấp thay đổi Mạch dùng để bảo vệ mạch điện hoạt động điện áp 5V (các loại IC thường hoạt động điện áp này) Nếu nguồn điện có cố đột ngột: điện áp tăng cao mạch điện hoạt động ổn định nhờ có IC 7805 giữ điện áp ngõ OUT 5V không đổi Mạch lấy nguồn chiều từ máy biến áp với điện áp từ 7V đến 9V để đưa vào ngõ IN Khi kết nối mạch điện, nhiều nguyên nhân, người dùng dễ nhầm lẫn cực tính nguồn cung cấp đấu nối vào mạch, trường hợp dễ ảnh hưởng đến linh kiện board mạch Vì lí diode cầu lắp thêm vào mạch, diode cầu đảm bảo cực tính nguồn cấp cho mạch theo chiều nhất, nguời dùng khơng cần quan tâm đến cực tính nguồn nối vào ngõ IN Điện áp đặt trước IC7805 phải lớn điện áp cần ổn áp từ 1.5V đến 2V Sơ đồ nguyên lý Sơ đồ khối Tín hiệu vào Khối điều khiển trung tâm Mạch cầu H Khối nguồn 5V 12 Motor DC Sơ đồ nguyên lý 13 BEGIN Lưu đồ thuật toán : Khởi tạo cấu hình xung PWM Quay thuận Y Xử lý quay thuận Y Xử lý quay nghịch Y Xử lý tốc độ tăng Y Xử lý tốc độ giảm Y Ngừng động N Quay nghịch N Tăng tốc N Giảm tốc N Stop N Điều khiển động quay END 14 Chương trình #include char duty=0,pwm=0;// Gia tri toc ban dau unsigned char t=0; bit enable_pwm=0,rl=0; void left(void); void right(void); void init_timer()//khoi tao ban dau cho ngat { // thiet lap tna so bus TMOD=0x22;//chon timer che bit tu lap lai TH0=0x00;//thoi gian ngat ~140us TL0=0xFC;//thoi gian ngat ~140us ET0=1;// Cho phep ngat timer TR0=1;//khoi dong timer EA=1;//cho phep ngat toan cuc } void timer_int_0(void) interrupt 1// Ham xu li ngat timer { TF0=0; if(enable_pwm==1)// Pwm=4.7619Khz { if(duty=0) { if(rl==0) P2_3=1;// Quay trai else P2_6=1;// Quay phai } 15 else if(duty>pwm && duty0) { pwm ;// Tang toc } } else if(P3_3==0)// Neu an tang toc { if(pwm