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

Thiết kế mạch điểu khiển động cơ một chiều

21 3,7K 18
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 2,01 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

thiết kế mạch điều khiển động cơ một chiều gồm: quay thuận, quay nghịch, dừng, tăng tốc, giảm tốc. Mạch được mô phỏng trực tiếp trên proteus 7.8 cùng với code sử dụng keilc viết. Mạch đã được kiểm nghiệm và chạy tốt trên cả mạch lắp ráp thật. Có ứng dụng trong thang máy, công nghệ tời.

Trang 1

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI

KHOA ĐIỆN – ĐIỆN TỬ

Giáo viên hướng dẫn : Nhóm sinh viên:

TS Trần Văn Hưng : Ngyên Quý Tuấn Anh

: Cao Văn Đức

: Triệu Trung Hiếu Lớp: Kỹ thuật viễn thông_K52

Trang 2

MỤC LỤC

LỜI NÓI ĐẦU 1

I Thiết kế sơ đồ nguyên lý 2

1 Yêu cầu 2

1.1 Nhiệm vụ 2

1.2 Linh kiện 2

2 Sơ đồ nguyên lý 6

II Thiết kế mạch 7

1 Yêu cầu và nhiệm vụ 7

1.1 Yêu cầu 7

1.2 Nhiệm vụ 7

2 Sơ đồ khối toàn chương trình 13

3 Code 14

III Kết quả 17

1 Mô phỏng 17

2 Mạch thật 18

Trang 3

LỜI NÓI ĐẦU

Động cơ 1 chiều có nhiều ứng dụng trong điều khiển và sản xuất nhất là trong công nghiệp Trong đó nó đòi hỏi là động cơ phải có nhiều cấp tốc độ có thể tăng giảm dễ dàng

Với sự ra đời và phát triển của vi xử lý thì vấn đề điều khiển động cơ 1 chiều không còn là vấn đề khó khăn nữa Động cơ có thể điều khiển với nhiều cấp tốc độ khác nhau và điều khiển dừng, đảo chiểu, nhanh chậm dễ dàng được

Vi xử lý 8501 là loại dòng vi xử lý khá là thông dụng đã có mặt từ rất lâu và được ứng dụng vào nhiều các thiết bị điều khiển hay tự động hóa Nên việc điều khiển động cơ 1 chiều với dòng vi xử lý này là một phương pháp tối ưu và kinh tế đối với bài toán điều khiển động cơ DC ngày nay

Trên cơ sở những kiến thức đã học từ môn vi xử lý Chúng em đã thực hiện bài tập: Điều khiển động cơ một chiều (DC)

Chúng em cám ơn thầy Trần Văn Hưng đã hướng dẫn chúng em làm bài tập này!

Trang 4

I Thiết kế sơ đồ nguyên lý

1 Yêu cầu

1.1 Nhiệm vụ

Động cơ điện một chiều là động cơ điện hoạt động với dòng điện một chiều, động cơ sẽ quay khi có dòng điện một chiều đi qua Động cơ điện một chiều trong dân dụng thường là các dạng động cơ hoạt động với điện áp thấp, dùng với những tải nhỏ Trong công nghiệp, động cơ điện một chiều được sử dụng ở những nơi yêu cầu moment mở máy lớn hoặc yêu cầu thay đổi tốc

độ trong phạm vi rộng Động cơ DC sử dụng trong dân dụng thường chỉ hoạt động ở điện áp +24 VDC trở lại, ở đây ta sử dụng động cơ +12VDC có đảo chiều quay Vậy nhiệm vụ của chúng ta là phải thiết kế mạch điều khiển thuận nghịch và điều khiển tốc độ động cơ

1.2 Linh kiện

1.2.1 Chip AT89C52

Trang 5

1.2.2 Motor DC

Stator của động cơ điện một chiều thường là một hay nhiều cặp nam châm vĩnh cửu, hay nam châm điện, rotor có các cuộn dây quấn và được nối với nguồn điện một chiều, một phần quan trọng khác của động cơ điện một chiều là bộ phận chỉnh lưu, nó có nhiệm vụ là đổi chiều dòng điện trong khi chuyển động quay của rotor là liên tục Thông thường bộ phận này gồm có một bộ cổ góp và một bộ chổi than tiếp xúc với cổ góp

1.2.3 Transistor

Trang 6

Các transistor được dùng để tạo “cầu H” đảo chiều động cơ

Với các động cơ một chiều có thể đảo chiều quay, khi ta cấp dòng theo chiều ngược lại với chiều đang được cấp dòng thì động cơ sẽ đổi chiều quay Tuy nhiên chú ý phải dừng động cơ, đợi trễ rồi mới đảo chiều quay nếu không sẽ bị giật (rung lắc mạnh) ảnh hưởng tới mạch Khi tác động điều khiển chiều quay động cơ thuận hay nghịch, ta mở chéo dẫn thông các cặp khoá (K1 và K4) hoặc (K2 và K3)

Chú ý:

Tác động nhầm khoá sẽ dẫn thông dòng thẳng từ nguồn xống GND gây chập mạch

Ta nên để thời gian trễ khi tác động các cặp khoá cỡ vài chục ms, ví

dụ để tác động động cơ quay thuận ta thực hiện 3 thao tác: mở K1, trễ, mở K4

1.2.4 Diot

Diode trong mạch cầu H mắc song song với cực CE để tránh hiện tượng phóng điện làm hỏng khóa Q

1.2.5 IC ổn áp

Trang 7

Với những mạch điện không đòi hỏi độ ổn định của điện áp quá cao,

sử dụng IC ổn áp thường được người thiết kế sử dụng vì mạch điện khá đơn giản Các loại ổn áp thường được sử dụng là IC 78xx, với xx là điện áp cần

ổn áp Ví dụ 7805 ổn áp 5V, 7812 ổn áp 12V Việc dùng các loại IC ổn áp 78xx tương tự nhau, dưới đây là minh họa cho IC ổn áp 7812 và 7805

Trang 8

Thạch anh định tần cho xung nhịp

2 Sơ đồ nguyên lý

Trang 10

tốc-Để thay đổi tốc độ ta sử dụng phương pháp điều chế độ rộng xung

PWM, hoạt động dựa theo nguyên tắc cấp nguồn cho mô tơ bằng chuỗi xung đóng mở với tốc độ nhanh Nguồn DC được chuyển đổi thành tín hiệu xung vuông rồi cấp cho động cơ Dòng điều khiển tốc độ quay sẽ là đường điện áp trung bình của dãy xung này Nếu tấn số chuyển mạch đủ lớn mô

tơ sẽ chạy với tốc độ đều đặn phụ thuộc vào mô men của trục quay Với phương pháp PWM điều chỉnh tốc độ của mô tơ thông qua việc điều chế

độ rộng của xung, tức là thời gian “đầy xung” (“on”) của chuỗi xung vuông cấp cho mô tơ Việc điều chỉnh này sẽ tác động đến công suất trung bình cấp cho mô tơ và do đó sẽ thay đổi tốc độ của mô tơ cần điều khiển

Như trên hình, với dãy xung điều khiển trên cùng, xung ON có độ rộng nhỏ nên động cơ chạy chậm Nếu độ rộng xung ON càng lớn (như dãy xung thứ 2 và thứ 3) động cơ DC chạy càng nhanh Cụ thể, muốn thay đổi tốc độ ta sử dụng Timer cấp điện đóng mở các cặp khoá theo dạng xung với chu kỳ cố định

- Muốn tăng tốc động cơ ta cho tác động sườn dương nhiều, sườn âm ít

- Muốn giảm tốc động cơ ta cho tác động sườn dương ít, sườn

âm nhiều

Điện áp điều khiển là đường trung bình của các xung phát ra, vì vậy khi thay đổi biên độ xung ta sẽ tạo ra sự thay đổi của đường điện áp trung bình theo ý muốn

Tạo PWM từ ngắt Timer 0

Tạo hàm ngắt

Để tạo được hàm ngắt ta phải làm những công việc sau đây:

Trang 11

Khởi tạo hàm ngắt

Dùng ngắt nào thì cho phép ngắt đó hoạt động bằng cách gán giá trị cho thanh ghi cho phép ngắt IE

Cấu hình ngắt

Trong 1 ngắt có nhiều chế độ Với ngắt Timer0 cấu hình cho nó chạy ở chế

độ nào, chế độ timer hay counter, chế độ 8bit, 16bit … bằng cách gán cho giá trị tương ứng TMOD

Bắt đầu chương trình có ngắt

Trang 12

Các giá trị thanh ghi TCON

Tạo PWM có chu kì max: 100us

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 Khi bắt đầu cho timer 0 chạy thì bộ đếm của timer sẽ đếm dao động thạch anh, cứ 12 dao động cửa thạch anh thì bộ đếm timer 0 TL0 sẽ đếm tăng 1 , có thể nói timer 0 đếm chu kì máy đối với chế độ 8bit

TL0 là thanh ghi 8 bit nó đếm từ 0 đến 255 Nếu nó đếm đến 256 thì nó tràn

bộ đếm TL0 lại quay về 0 và cờ ngắt TF0 tự động nạp lại giá trị 1 và ngắt được xảy

ra

Trang 13

Như đối với bài toán này thì ta chỉ cần tạo timer 0 là 100us nên ta tính theo công thức ta có:

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 cấp khác nhau (lấy giá trị quay thuận nghịch lúc bình thường là 1000us) với chu kì là 2000us ta phải khởi tạo timer

cứ 1000us lại ngắt 1 lần

Hàm khởi tạo timer0

Như đã nói ở trên muốn có giá trị timer0 nào chỉ cần gán cho TL0 để cho thanh ghi đếm sau đó tràn nhưng ở đây do tạo timer là 100us nên ta dùng chế độ 2:

8 bit tự nạp lại giá trị đầu

void khoitaotimer0(void) // Ham khoi tao

{

EA=0; // Cam ngat toan cuc

Trang 14

TH0=0x9B; // Gia tri nap lai 155 doi ra so hex

ET0=1; // Cho phep ngat timer0

EA=1; // Cho phep ngat toan cuc

TR0=1; // Chay timer 0 bat dau dem so chu ki may

dau chu ki moi

TR0=1; // Cho chay timer0

}

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

Trang 15

2 Sơ đồ khối toàn chương trình

Phục vụ ngắt Timer 0

Trang 16

bit PWM; // Dang bien 'bit' co hai mien gia tri la: 0 va 1

unsigned char dem=0; // Khai bao bien dem de dem tu 1 den 10

unsigned int phantram_PWM=10; // Bien chua phan tram xung(0 10)

// Ham tao thoi gian tre ms

void delay(unsigned int t)

{ unsigned int i,j;

for(i=0;i<100;i++) for(j=0;j<t;j++);

}

// Khoi tao Timer 100us

void khoitaohethong()

{

EA=0; // cam tat ca cac ngat khong bi che TMOD=0x02; // timer0 che do 2: 8 bit tu nap lai gia tri dau TH0=0x9B; // nap gia tri 155 vao 8bit cao: 255-155=100 EA=1; // cho phep tat ca cac ngat khong bi che TR0=1; // cho timer0 chay

ET0=1; // cho phep ngat timer0

TR0=0; // Dung chay timer0

TF0=0; // Xoa co, o che do co tu duoc xoa

dem++;

if(dem>=phantram_PWM)

{ PWM=1;

Trang 17

} // Neu bien dem < phan tram xung thi dua gia

tri 1 ra chan, xung 5V

else

{ PWM=0;

} if(dem==20) dem=0; // Neu dem du 20 thi gan

lai bang 0 de bat dau chu ki moi

TR0=1; // Cho chay timer0

// Ham quay thuan dong co

// Hàm quay nghich dong co

// Ham dieu khien tang toc do

unsigned char tangtoc(void)

Trang 18

phantram_PWM ;

delay(100);

if(phantram_PWM<1)

{ phantram_PWM=1;

} return (phantram_PWM);

}

// Ham dieu khien giam toc do

unsigned char giamtoc(void)

delay(100);

if(phantram_PWM>20)

{ phantram_PWM=20;

} }

}

Trang 19

// Chuong trinh chinh

void main()

{ khoitaohethong();

while(1) //lap vo han {

Trang 20

2 Mạch thật

Ngày đăng: 08/05/2014, 22:42

HÌNH ẢNH LIÊN QUAN

Sơ đồ phía dưới IC 78xx có 3 chân: chân số 1 là chân IN, chân số 2 là  chân GND và chân số 3 là chân OUT - Thiết kế mạch điểu khiển động cơ một chiều
Sơ đồ ph ía dưới IC 78xx có 3 chân: chân số 1 là chân IN, chân số 2 là chân GND và chân số 3 là chân OUT (Trang 7)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w