1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐỒ ÁN VDK ĐIỀU KHIỂN ĐỘNG CƠ

40 399 2

Đ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 KT VĐK Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng LỜI NÓI ĐẦU Động chiều có nhiều ứng dụng điều khiển sản xuất công nghiệp Trong đòi hỏi động phải có nhiều cấp tốc độ tăng giảm dễ dàng Với đời phát triển vi xử lý vấn đề điều khiển động chiều không vấn đề khó khăn Động điều khiển với nhiều cấp tốc độ khác điều khiển dừng, đảo chiểu , nhanh chậm dễ dàng Vi xử lý 8051 loại dòng vi xử lý thông dụng có mặt từ lâu ứng dụng vào nhiều thiết bị điều khiển hay tự động hóa Nên việc điều khiển động chiều với dòng vi xử lý phương pháp tối ưu kinh tế toán điều khiển động DC ngày Trên sở kiến thức học từ môn vi xử lý Em thực đồ án môn học : Điều khiển động chiều (DC ) Với yêu cầu điều khiển Dừng, Quay thuận, Quay nghịch, Tăng tốc, Giảm tốc Em xin chân thành cảm ơn thầy Lê Xứng tận tình hướng dẫn em hoàn thành đề tài Sinh viên thực hiện: SVTH: Đồ án KT VĐK Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng Phần I Giới Thiệu Đề Tài Trong nhiều ứng dụng máy in, máy ATM, Rôbốt , CD play, disk driver,…thường sử dụng động chiều Trong đa số ứng dụng đó, động đòi hỏi phải có điều khiển tốt, hiệu suất cao, nhỏ gọn Đó đòi hỏi phức tạp Chính mà đề tài em xin đưa phương pháp “ Điều khiển tốc độ động DC phương pháp băm xung, sử dụng vi điều khiển AT89C51 mạch cầu H ” nhằm đạt số yêu cầu Nếu giải vấn tốt đề cải thiện chất lượng máy sử dụng động DC lớn Như máy CNC, máy đĩa, rôbốt,…… Phần II Thiết Kế Phần Cứng 2.1 Sơ đồ khối : SVTH: Đồ án KT VĐK Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng 2.2 Chức bƣớc thiết kế khối: 2.2.1 Chức khối: - Khối hiển thị : Gồm led hiển giá tri tương đương tốc độ led đơn với màu đỏ, xanh, vàng tương ứng với trạng thái quay thuận, quay nghịch dừng lại(Stop) - Khối điều chỉnh: Gồm nút bấm với chức dừng lại(Stop), quay thuận, quay nghịch, tăng tốc, giảm tốc - Khối động cơ: Gồm mạch cầu H sử dụng cặp transistor thuận nghịch để nhận tín hiệu điều khiển động DC - Khối VĐK89C51: Gồm mạch reset, mạch tạo dao dộng mạch chứa VĐK89C51 cổng ghép nối vào VĐK thông qua port 2.2.2 Khối VĐK 89C51 : Bắt đầu xuất vào năm 1980, trải qua gần 30 năm, có tới hang trăm biến thể (derrivatives) sản xuất 20 hãng khác nhau, phải kể đến đại gia làng bán dẫn (Semiconductor) ATMEL, Texas Instrument, Philips, Analog Devices… Tại Việt Nam, biến thể hãng ATMEL AT89C51, AT89C52, AT89S51, AT89S52… có thời gian xuất thị trường lâu nói sử dụng rộng rãi loại vi điều khiển bit SVTH: Đồ án KT VĐK Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng Cấu trúc bus : Bus địa họ vi điều khiển 8051 gồm 16 đường tín hiệu (thường gọi bus địa 16 bit) Với số lượng bit địa trên, không gian nhớ chip mở rộng tối đa 216 = 65536 địa chỉ, tương đương 64K Bus liệu họ vi điều khiển 8051 gồm đường tín hiệu (thường gọi bus liệu bit), lý nói 8051 họ vi điều khiển bit Với độ rộng bus liệu vậy, chip họ 8051 xử lý toán hạng bit chu kỳ lệnh CPU (Central Processing Unit): CPU đơn vị xử lý trung tâm, não toàn hệ thống vi điện tử tích hợp chip vi điều khiển CPU có cấu tạo gồm đơn vị xử lý số học lôgic ALU (Arithmethic Logic Unit) - nơi thực tất phép toán số học phép lôgic cho trình xử lý Bộ nhớ chƣơng trình (Program Memory): Không gian nhớ chương trình AT89 64K byte, nhiên hầu hết vi điều khiển AT89 thị trường tích hợp sẵn chip lượng nhớ chương trình định chiếm dải địa từ 0000h trở không gian nhớ chương trình AT89C51/AT89S51 có 4K byte nhớ chương trình loại Flash tích hợp sẵn bên chip Đây nhớ cho phép ghi/xóa nhiều lần điện, cho phép người sử dụng thay đổi chương trình nhiều lần Số lần ghi/xóa thường lên tới hàng vạn lần Bộ nhớ chương trình dùng để chứa mã chương trình nạp vào chip Mỗi lệnh mã hóa hay vài byte, dung lượng nhớ chương trình phản ánh số lượng lệnh mà nhớ chứa Địa nhớ chương trình (0x0000) địa Reset 8051 Ngay sau reset (do tắt bật nguồn, mức điện áp chân RESET bị kéo lên 5V ), CPU nhảy đến thựchiện lệnh đặt địa trước tiên, luôn Phần trống không gian chương trình không dùng để làm Nếu muốn mở rộng nhớ chương trình, ta phải dùng nhớ chương trình bên có dung lượng ý muốn Tuy nhiên dùng nhớ chương trình ngoài, nhớ chương trình onchip không dùng nữa, nhớ chương trình chiếm dải địa từ địa 0x0000 Bộ nhớ liệu (Data Memory): Vi điều khiển họ 8051 có không gian nhớ liệu 64K địa chỉ, dung lượng nhớ liệu lớn mà chip thuộc họ có (nếu phối ghép SVTH: Đồ án KT VĐK Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng cách tắc, sử dụng đường tín hiệu bus địa liệu) Bộ nhớ liệu chip họ 8051 thuộc hay hai lo ại: SRAM EEPROM Bộ nhớ liệu SRAM tích hợp bên chip thuộc họ vi điều khiển này, có dung lượng khác tùy loại chip, thường khoảng vài trăm byte Đây nơi chứa biến trung gian trình hoạt động chip điện, chất SRAM mà giá trị biến bị theo Khi có điện trở lại, nội dung ô nhớ chứa biến bất kỳ, xác định trước Bên cạnh nhớ loại SRAM, số chip thuộc họ 8051 có thêm nhớ liệu loại EEPROM với dung lượng tối đa vài Kbyte, tùytừng loại chip cụ thể Dưới vài ví dụ nhớ chương trình số loại chip thông dụng thuộc họ 8051 STT Tên chip Bộ nhớ SRAM Bộ nhớ EEPROM AT89C51 128 byte AT89C52 256 byte AT89C2051 128 byte AT89S51 128 byte AT89S52 256 byte AT89S8252 256 byte 2048 byte Đối với chip có nhớ SRAM 128 byte địa byte SRAM đánh số từ 00h đến 7Fh Đối với chip có nhớ SRAM 256 byte địa byte SRAM đánh số từ 00h đến FFh Ở hai loại chip, SRAM có địa từ 00h đến 7Fh gọi vùng RAM thấp, phần có địa từ 80h đến FFh (nếu có) gọi vùng RAM cao.Bên c ạnh nhớ, bên chip 8051 có tập hợp thanhghi chức đặc biệt (SFR – Special Function Register) Các ghi lien quan đến hoạt động ngoại vi onchip (các cổng vào ra, timer, ngắt ) Địa chúng trùng với dải địa vùng SRAM cao, tức có địa từ 80h đến FFh Các nghi đặc biệt SFR: SVTH: Đồ án KT VĐK Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng Cổng vào song song (I/O Port): SVTH: Đồ án KT VĐK Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng 8051 có cổng vào song song, có tên l ần lượt P0, P1, P2 P3 Tất cảcác cổng cổng vào hai chiều 8bit Các bit cổng chân chip, cổng có chân chip Hướng liệu dùng cổng làm cổng hay cổng vào) độc lập cổng chân (các bit) cổng Ví dụ, ta định nghĩa cổng P0 cổng ra, P1 cổng vào ngược lại cách tùy ý, với cổng P2 P3 lại Trong cổng P0, ta định nghĩa chân P0.0 cổng vào, P0.1 lại cổng tùy ý Cổng P0 điện trở treo cao (pullup resistor) bên trong, mạch lái tạomức cao có sử dụng cổng với tính bus dồn kênh địa chỉ/dữ liệu Như với chức thông thường, P0 cổng open drain, với chức vào, P0 cổng vào cao trở (high impedance) Nếu muốn sử dụng cổng P0 làm cổng vào/ra thông thường, ta phải thêm điện trở pullup bên Giá trị điện trở pullup bên thường từ 4K7 đến 10K Các cổng P1, P2 P3 có điện trở pullup bên trong, dùng với chức cổng vào/ra thông thường mà không cần có thêm điện trở pullup bên Thực chất, điện trở pullup bên FET, điện trở tuyến tính thông thường, khả phun dòng mạch lái đầu mức cao (hoặc đầu vào) nhỏ, khoảng 100 micro Ampe Cổng vào nối tiếp (Serial Port): Cổng nối tiếp 8051 chủ yếu dùng ứng dụng có yêu cầu truyền thông với máy tính, với vi điều khiển khác Liên quan đến cổng nối tiếp chủ yếu có ghi: SCON SBUF Ngoài ra, ghi khác ghi PCON (không đánh địa bit) có bit tên SMOD quy định tốc độ truyền cổng nối tiếp có gấp đôi lên (SMOD = 1) hay không (SMOD = 0) Ngắt (Interrupt): 8051 có số lượng nguồn ngắt (interrupt source) gọi nguyên nhân ngắt Mỗi ngắt có vector ngắt riêng, địa cố định nằm nhớ chương trình, ngắt xảy ra, CPU tự động nhảy đến thực lệnh nằm địa Với 8052, ngắt có thêm ngắt timer2 (do vi điều khiểnnày có thêm timer2 số ngoại vi onchip) Mỗi ngắt dành cho vector ngắt kéo dài 8byte Về mặt lý thuyết, chương trình đủ ngắn, mã tạo chứa đủ byte, người lập trình hoàn toàn đặt phần SVTH: Đồ án KT VĐK Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng chương trình xử lý ngắt vector ngắt Tuy nhiên hầu hết trường hợp, chương trình xử lý ngắt có dung lượng mã tạo lớn 8byte nên vector ngắt, ta đặt lệnh nhảy tới chương trình xử lý ngắt nằm vùng nhớ khác Nếu không làm vậy, mã chương trình xử lý ngắt lấn sang, đè vào vector ngắt kế cận Bảng tóm tắt ngắt 8051 sau: SVTH: Đồ án KT VĐK Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng Để cho phép ngắt, bit tương ứng với ngắt bit EA phải đặt Thanh ghi IE ghi đánh địa bit, dùng lệnh tác động bit để tác động riêng rẽ lên bit mà không làm ảnh hưởng đến giá trị bit khác Cờ ngắt hoạt động độc lập với việc cho phép ngắt, điều có nghĩa cờ ngắt tự động đặt lên có kiện gây ngắt xảy ra, kiện có cho phép ngắt hay không Do vậy, trước cho phép ngắt, ta nên xóa cờ ngắt để đảm bảo sau cho phép, kiện gây ngắt khứ gây ngắt 8051 có ngắt INT0 INT1 Ngắt hiểu ngắt gây kiện mức lôgic (mức điện áp thấp, gần 0V) sườn xuống (sự chuyển mức điện áp từ mức cao mức thấp) xảy chân ngắt tương ứng (P3.2 với ngắt P3.3 với ngắt 1) Việc lựa chọn kiểu ngắt thực bit IT (Interrupt Type) nằm ghi TCON Đây ghi điều khiển timer bit LSB (bit0 3) dùng cho ngắt Khi bit ITx = ngắt tương ứng chọn kiểu ngắt theo sườn xuống, ngược lại bit ITx = ngắt tương ứng có kiểu ngắt ngắt theo mức thấp Các bit IE bit cờ ngắt ngoài, có tác dụng trường hợp kiểu ngắt chọn ngắt theo sườn xuống Khi kiểu ngắt theo sườn xuống chọn ngắt xảy lần có sườn xuống tín hiệu, sau tín hiệu mức thấp, có sườn lên, mức cao ngắt xảy có sườn xuống Cờ ngắt IE dựng lên có sườn xuống tự động bị xóa CPU bắt đầu xử lý ngắt Khi kiểu ngắt theo mức thấp chọn ngắt xảy tín hiệu chân ngắt mức thấp Nếu sau xử lý xong ngắt mà tín hiệu mức thấp lại ngắt tiếp, xử lý xong ngắt lần thứ n , tín hiệu lên mức cao không ngắt Cờ ngắt IE trường hợp ý nghĩa cả.Thông thường kiểu ngắt hay chọn ngắt theo sườn xuống Bộ định thời/Bộ đếm (Timer/Counter): 8051 có timer tên timer0 timer1 Các timer timer 16bit, giátrị đếm max 216 = 65536 (đếm từ đến 65535) Hai timer có nguyên lý hoạt động hoàn toàn giống độc lập Sau cho phép chạy, có thêm xung đầu vào đếm, giá trị timer tự động tăng lên đơn vị, giá trị tăng lên vượt giá trị max mà ghi SVTH: Đồ án KT VĐK Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng đếm biểu diễn giá trị đếm lại đưa trở giá trị (thông thường = 0) Sự kiện hiểu kiện tràn timer (overflow) gây ngắt ngắt tràn timer cho phép (bit ETx ghi IE = 1) Việc cho timer chạy/dừng thực bit TR ghi TCON (đánh địa đến bit) Khi bit TRx = 1, timerx đếm, ngược lại TRx = 0, timerx không đếm có xung đưa vào Khi dừng không đếm, giá trị timer giữ nguyên Các bit TFx cờ báo tràn timer, kiện tràn timer xảy ra, cờ tự động đặt lên ngắt tràn timer cho phép, ngắt xảy Khi CPU xử lý ngắt tràn timerx, cờ ngắt TFx tương ứng tự động xóa Giá trị đếm 16bit timerx lưu hai ghi THx (byte cao) TLx (byte thấp) Hai ghi ghi/đọc lúc Tuy nhiên nhà sản xuất khuyến cáo nên dừng timer (cho bit TRx = 0) trước ghi/đọc ghi chứa giá trị đếm Các timer hoạt động theo nhiều chế độ, quy định bittrong ghi TMOD (không đánh địa đến bit) Để xác định thời gian, người ta chọn nguồn xung nhịp (clock) đưa vào đếm timer xung nhịp bên (dành cho CPU) Nguồn xung nhịp thường đặn (có tần số ổn định), từ số đếm timer người ta nhân với chu kỳ xung nhịp để tính thời gian trôi qua Timer lúc gọi xác với tên “timer”, tức định thời Để đếm kiện bên ngoài, người ta chọn nguồn xung nhịp đưa vào đếm timer tín hiệu từ bên (đã chuẩn hóa dạng xung vuông 0V/5V) Các tín hiệu nối với bit cổng có dồn kênh thêm tính T0/T1/T2 Khi có kiện bên gây thay đổi mức xung đầu vào đếm, timer tự động tăng lên đơn vị giống trường hợp đếm xung nhịp bên Lúc này, timer gọi xác với tên khác: “counter”, tức đếm (sự kiện) Nhìn vào bảng mô tả ghi TMOD bên trên, ta nhận thấy có bit giống (gồm GATEx, C/Tx, Mx0 Mx1) dành cho timer0 Ý nghĩa bit timer Bit G ATEx quy định việc cho phép timer đếm (run timer) Nếu GATEx = 0,timerx đếm bit TRx 1, dừng bit TRx Nếu GATEx = 1, timerx đếm bit TRx = tín hiệu chân INTx = 1, dừng hai điều kiện SVTH: 10 Đồ án KT VĐK Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng #include /* Dinh nghia cac nut nhan*/ #define stop P1_0 #define thuan P1_1 #define nghich P1_2 #define tang P1_3 #define giam P1_4 bit PWM; unsigned char dem=0; unsigned int phantram_PWM=5; /* Ham tao thoi gian tre*/ void delay(unsigned int t) { unsigned int i,j; for(i=0;i[...]... dùng để điều khiển động cơ DC lớn và các bộ băm áp có công suất lớn Cái này chúng ta cần chú đến : Tín hiệu điều khiển đóng cắt , bảo vệ các van điều khiển, dòng ngược từ tài có khả năng phá hủy tiếp giáp Ví dụ như mạch dùng Công suất dùng Mosfet điều khiển động cơ DC - 24V: Mạch này là điều khiển động cơ DC-24 hay nhỏ hơn 24V dùng cầu H sử dụng Fet công suất Trong mạch này do tín hiệu từ vi điều khiển. .. xuống tải với công suất lớn Tìn hiệu điều khiển các van là tín hiệu nhỏ (điện áp hay dòng điện) và cho dẫn dòng và điện áp lớn để cung cấp cho tải Hiểu như thế này tín hiệu điều khiển của mình là nhỏ thường là tín hiệu đầu ra của vi điều khiển là nhỏ hơn 5V (do các điều chế PWM) mà điều khiển động cơ cần dòng điện và điện áp lớn Các van điều khiển hay các chân điều khiển chỉ cần tín hiệu nhỏ (Điện áp... trị 15535) SVTH: 11 Đồ án KT VĐK và Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng - Đặt mức ưu tiên ngắt và cho phép ngắt tràn timer (nếu muốn) - Dùng bit TRx trong thanh ghi TCON để cho timer chạy hay dừng theo ý muốn 2.3 ĐIỀU CHẾ PWM ĐỂ ĐIỀU KHIỂN ĐỘNG CƠ 1 CHIỀU: Để điều khiển được tốc độ động cơ thì ta chỉ cần thay đổi độ rộng xung trong vi điều khiển Độ rộng xung càng lớn thì động cơ quay càng nhanh... 15 Đồ án KT VĐK và Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng 2)Tạo PWM có chu kì max : 100us a) Tạo timer 0 Do yêu cầu của bài toán là điều khiển tốc độ động cơ quay nhanh và quay chậm trong khi chạy thuận nghịch nên dữ nguyên chu kì và thay đổi thời gian mở Yêu cầu như: + Động cơ quay thuận nghịch bình thường : 1000us + Động cơ tăng tốc lớn nhất : 100us + Động cơ giảm tốc lớn nhất : 2000us SVTH: 16 Đồ. .. tải nên thế nó hay được dùng trong các mạch điều khiển động cơ DC và các mạch băm áp Đối với mạch điều khiển động cơ thì mạch cầu H có thể đảo chiều động cơ quá là đơn giản Chỉ cần mở khóa các van đúng chiều mà mình muốn 2.4.1 Các dạng cấu tạo của mạch cầu H : Mạch cầu H được cấu tạo bởi 2 dạng chính: Dạng 1) Được cấu tạo bởi 4 transitor (Fet) Cùng kênh N Sơ đồ nguyên lý mạch được cấu tạo như sau (Chỉ... có độ rộng 10% tức là T1/T=10% b) Nguyên lý hoạt động PWM: * PWM : Đưa ra để mở các transitor , xung có độ rộng lớn hơn thì transitor sẽ mở lâu hơn động cơ sẽ quay nhanh hơn nhưng mà không tuyến tính Không có xung thì động cơ sẽ không quay, xung có độ rộng 100% thì động cơ quay là lớn nhất Tuy nhiên xung phải lớn hơn 1 mức nào đó mới đủ khởi động động cơ Để có thể thay đổi được độ rộng xung theo 10... Đấy là dạng đi của chiều thuận : Dòng điện từ nguồn qua Q1 sau đó qua tải và qua Q2 xuống GND SVTH: 21 Đồ án KT VĐK và Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng * Điều khiển ở chế độ nghịch: Ở chế độ này ta cũng cấp 4 tín hiệu điều khiển vào 4 con transitor Và 4 tín hiệu điều khiển này phải thỏa mãn điều kiển sau : + Tín hiệu 1 = 1 (Tức là khóa transitor Q1) + Tín hiệu 2 = 1 ( Tức là mở transitor Q2)... thì phải thiết kế cận thận, tính toán dòng điện qua cầu H, điện áp kích Van! khi thiết kế mạch cầu H cần chú ý những điểm sau: Tín hiệu điều khiển van,dòng điện qua cầu H, bảo vệ cho van, dòng ngược do tải cảm tạo ra làm phá hủy tiếp giáp a ) Đối với mạch công suất nhỏ : Đối với tải có công suất nhỏ : Tần số đóng cắt hay tần số điều khiển nhỏ như điều khiển động cơ nhỏ hay tải cảm có công suất nhỏ... tram xung SVTH: 18 Đồ án KT VĐK và Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng if(dem==20) dem=0;// Neu dem du 20 thi gan lai bang 0 de bat dau chu ki moi TR0=1;// Cho chay timer } Do yêu cầu bài toán là điều khiển thuận nghịch nên ta cần phải lưu biến PWM này Do PWM có chu kì không đổi nên do đó ta chỉ cần thay đổi phantram_PWM là có thể thay đổi được độ rộng xung 2.4 Khối điều khiển động cơ DC : Mạch cầu... đóng cắt hay tần số điều khiển nhỏ như điều khiển động cơ nhỏ hay tải cảm có công suất nhỏ Thì mạch cầu H thường được thiết kế bằng BJT và chúng ta cần chú ý đến dòng ngược khi điều khiển động cơ, tín hiệu điều khiển SVTH: 22 Đồ án KT VĐK và Ghép Nối Thiết Bị Ngoại Vi GVHD: Lê Xứng để cho BJT mở và các thông số khác liên quan đến nó như dòng điện, điện áp ( Mạch tham khảo không được vẽ) b) Đối với mạch

Ngày đăng: 26/06/2016, 17:35

Xem thêm: ĐỒ ÁN VDK ĐIỀU KHIỂN ĐỘNG CƠ

TỪ KHÓA LIÊN QUAN

w