Tải bản đầy đủ - 0 (trang)
CHƯƠNG II – THIẾT KẾ VÀ CHẾ TẠO SẢN PHẨM

CHƯƠNG II – THIẾT KẾ VÀ CHẾ TẠO SẢN PHẨM

Tải bản đầy đủ - 0trang

Đồ án chuyên ngành II

Nghiên cứu, chế tạo driver điều khiển và khống chế tốc độ động cơ bước



2.2. Thiết kế, tính tốn và lựa chọn linh kiện cho mạch công suất

Mạch công suất mà em sử dụng trong đề tài này rất đơn giản . Tín hiệu điều khiển được

đưa qua khâu cách ly rồi sử dụng trực tiếp để điều khiển các van công suất cấp điện cho

các cuộn dây của động cơ bước .



Tín hiệu điều khiển



Khối

cách ly



Khối

cơng suất



Động cơ

bước



Hình :

Động cơ bước em sử dụng trong đề tài này có dòng điện định mức là 2.1 A, tốc độ quay

tối đa 300 vòng/phút (tương đương 1000 bước mỗi giây, hay tốc độ chuyển mạch tối đa là

1 KHz) . Dựa vào đó em chọn van cơng suất là mosfet IRF 540 (dòng 28 A nếu tẩn nhiệt

tốt, thời gian trễ khi chuyển mạch cớ vài ns) .

Để cấp tín hiệu điều khiển cho các mosfet em sử dụng cách ly quang PC817, nó hoạt

động tốt ở tần số 1 KHz .



Hình : Sơ đồ nguyên lý mạch cơng suất

Giáo viên hướng dẫn : Nguyễn Đình Hùng

Sinh viên thực hiện : Lê Đức Trường – Đỗ Như Bắc



Trang 29



Đồ án chuyên ngành II

Nghiên cứu, chế tạo driver điều khiển và khống chế tốc độ động cơ bước

Dòng ra của vi điều khiển có thể sử dụng trực tiếp để điều khiển các cách ly quang

PC817 nhưng em sử dụng transistor đệm dòng để giảm thiểu dòng tiêu thụ trên vi điều

khiển . Các transistor đệm dòng này (T1 đến T4) cần có tần số hoạt động cao nhưng

khơng cần dòng cơng suất lớn nên em sử dụng transistor A1015 (dòng 50 mA, tần số 80

MHz) . Điện trở hạn dòng từ vi điều khiển ra transistor đệm dòng là 10 kΩ (đây là điện

trở tiêu chuẩn khi kết nối với vi điều khiển) .

Cách ly quang hoạt động tốt với mức điện áp cấp vào là 5 mA, tiêu thụ trên diode phát

quang là 1.2 VDC, từ đó tính được điện trở hạn dòng cho diode phát quang của cách ly

quang là :

Em chọn điền trở hạn dòng cho PC 817 là 810 Ω .



Giáo viên hướng dẫn : Nguyễn Đình Hùng

Sinh viên thực hiện : Lê Đức Trường – Đỗ Như Bắc



Trang 30



Đồ án chuyên ngành II

Nghiên cứu, chế tạo driver điều khiển và khống chế tốc độ động cơ bước



2.3. Thiết kế, tính tốn và lựa chọn linh kiện khối giao tiếp

Như đã trình bày ở trên, khối giao tiếp có nhiệm vụ nhận lệnh từ người điều khiển và

chuyển lệnh đó tới khối điều khiển dưới dạng tín hiệu số .

Trong phạm vi đề tài này, khối giao tiếp cho phép thực hiện những lệnh sau :

 Đảo chiều động cơ bước

 Chuyển đổi giữa các chế độ : dừng - bằng tay - tự động

 Thay đổi tốc độ động cơ bước trong chế độ bằng tay

 Chỉnh số vòng động cơ sẽ quay khi nhận được xung trong chế độ tự động

Dựa theo yêu cầu điều khiển, ta lựa chọn giải pháp thiết kế như sau :

Chuyển đổi giữa các chế độ : dừng - bằng tay - tự động bằng một chuyển mạch 3 vị trí .

Do động cơ bước có đáp ứng rất tốt khi khởi động hay đảo chiều và có qn tính khơng

đáng kể nên có thể thực hiện đảo chiều trực tiếp . Vì thế ta chuyển đổi chiều quay bằng

một chuyển mạch 2 vị trí .

Các chuyển mạch đều tích cực mức 0 .



Hình

Trong chế độ bằng tay, tốc độ động cơ khơng cần chính xác nên em dùng biến trở để điều

khiển tốc độ .



Giáo viên hướng dẫn : Nguyễn Đình Hùng

Sinh viên thực hiện : Lê Đức Trường – Đỗ Như Bắc



Trang 31



Đồ án chuyên ngành II

Nghiên cứu, chế tạo driver điều khiển và khống chế tốc độ động cơ bước

Hình

Do trong chế độ tự động thí số vòng mà động cơ quay khi nhận được xung phải điều

khiển chính xác nên em sử dụng một bộ 8 chuyển mạch để cấp tín hiệu cho bộ điều khiển

theo dạng mã nhị phân . Bộ chuyển mạch này được kết nối trực tiếp vào vi điều khiển

theo kiểu kết nối song song, tích cực mức 0 .



Hình

Các điện trở nối từ vi điều khiển ra có giá trị rất nhỏ, chỉ 100 Ω, để bảo vệ các chân tín

hiệu khi xảy ra sự cố .

Tất cả các port đã sử dụng của vi điều khiển đều có sẵn điện trở treo bên trong nên em

khơng kết nối thêm điện trở treo bên ngoài .



Giáo viên hướng dẫn : Nguyễn Đình Hùng

Sinh viên thực hiện : Lê Đức Trường – Đỗ Như Bắc



Trang 32



Đồ án chuyên ngành II

Nghiên cứu, chế tạo driver điều khiển và khống chế tốc độ động cơ bước



2.4. Lựa chọn khối điều khiển và hồn thiện chương trình điều khiển

Do tần số xung cấp cho mạch công suất tối đa chỉ 1 KHz nên trong đề tài này em sử dụng

vi điều khiển AT89C51 làm khối điều khiển .

START



bang tay = 0



Sai



Đúng

điều khiển bằng tay



tu dong = 0



Sai



Đ

điều khiển tự động



END

Hình :

Em sẽ thiết kế lần lượt chế độ bằng tay và chế độ tự động theo các yêu cầu :

 Chế độ tự động :

o Chỉ hoạt động khi có xung nhịp cấp vào, có cộng dồn đến một số lần nhất

định

o Có thể đặt trước số vòng (số bước) dịch chuyển ứng với mỗi xung nhịp

 Chế độ bằng tay :

o Tốc độ động cơ bước tỷ lệ với giá trị biến trở



Giáo viên hướng dẫn : Nguyễn Đình Hùng

Sinh viên thực hiện : Lê Đức Trường – Đỗ Như Bắc



Trang 33



Đồ án chuyên ngành II

Nghiên cứu, chế tạo driver điều khiển và khống chế tốc độ động cơ bước

2.4.1. Chế độ bằng tay

Nguyên lý hoạt động của chế độ này được mơ tả như hình dưới



lấy giá trị biến trở



chieu = 0



quay ngược



quay thuận



Hình

Để đọc giá trị biến trở thì ta hay sử dụng ADC; nhưng trong đề tài này, để tiết kiệm chi

phí em khơng sử dụng ADC mà sử dụng một mạch tạo PWM bằng NE555 kết hợp với

một ngắt ngoài và một timer 16 bits để đọc giá trị biến trở thông qua độ rộng xung PWM

mà NE555 phát ra .



Hình

Giáo viên hướng dẫn : Nguyễn Đình Hùng

Sinh viên thực hiện : Lê Đức Trường – Đỗ Như Bắc



Trang 34



Đồ án chuyên ngành II

Nghiên cứu, chế tạo driver điều khiển và khống chế tốc độ động cơ bước

Ở đây em dùng timer 0 và ngắt ngoài 1 để thực hiện việc lấy độ rộng xung PWM . Ở chế

độ bằng tay, vi điều khiển cho phép thực hiện ngắt ngoài 1; ngắt ngoài 1 hoạt động tích

cực theo mức và timer 0 hoạt động chế độ timer 16 bít . Khi chân ngắt ngồi một được

kéo xuống mức “0”, cờ ngắt ngoài 1 được “set” và hệ thống chuyển đến chương trình

thực hiện ngắt ngồi 1, khởi đầu chương trình này ta cho phép timer 0 bắt đầu đếm và

chờ cho tới khi chân ngắt ngoài 1 được kéo lên mức “1” . Lúc này timer 0 dừng hoạt

động, giá trị các thanh ghi TH0 và TL0 phản ánh thời gian chân ngắt ngoài 1 ở mức “0”

được lưu lại, sau đó giá trị các thanh ghi này được đưa về “0” . Trước khi thoát khỏi

chương trình ngắt ta cấm ngắt ngồi 1 để động cơ bước dịch được ít nhất một bước trước

khi có lệnh ngắt tiếp theo tới ngắt ngồi 1 và xóa bit cờ ngắt .

Dưới đây là chương trình ngắt ngồi 1 :

void READ_PWM() interrupt 2

{

TR0=1;

while(P3_3==0);

TR0=0;

time=TH0*256+TL0;

TH0=0;

TL0=0;

IE1=0;

EX1=0;

}

Sau khi có được giá trị thời gian xung PWM, ta tiến hành dịch chuyển vị trí động cơ bước

theo bộ mã động cơ bước kiểu fullstep - two phase drive với thời gian thực hiện bước phụ

thuộc vào giá trị độ rộng xung PWM đo được theo chương trình sau :

if(bangtay==0)

{

time2=time;

IE=0x82;

if(chieu)

step++;

else

Giáo viên hướng dẫn : Nguyễn Đình Hùng

Sinh viên thực hiện : Lê Đức Trường – Đỗ Như Bắc



Trang 35



Đồ án chuyên ngành II

Nghiên cứu, chế tạo driver điều khiển và khống chế tốc độ động cơ bước

step--;

if(step>3)

step=0;

if(step<0)

step=3;

P2=Stepcode[step];

DELAY(1500);

P2=0xff;

DELAY(time2);

}

Khoảng trễ “DELAY(1500);” là khoảng trể tối thiểu để động cơ bước không bị trượt bước

khi em khảo sát thực tế . Sau đó ta ngắt tín hiệu cấp điện cho động cơ bước để tránh lãng

phí năng lượng và gây hại cho động cơ bước cũng như mạch công suất và chờ khoảng

thời gian là “DELAY(time2);” trước khi thực hiện di chuyển bước tiếp theo . Chân đảo

chiều quay được kiểm tra mỗi bước để xác định chiều quay cho động cơ bước .

Do khi tạo xung PWM em đã tính tốn để giới hạn thời gian xung PWM ở mức “0” trong

phạm vi đếm của timer 16 bits mà không thể xảy ra tràn bit và ngắt timer 0 bị cấm hoạt

động nên khơng có chương trình con nào phục vụ cho ngắt này .

Giá trị biến trở R29 là 5 kΩ, điện trở R30 là 1 kΩ, tụ C4 là 1 µF .

Diode D2 và D1 sẽ chia dòng nạp và dòng xả qua 2 đường khác nhau, từ đó thay đổi độ

rộng xung PWM được đưa ra ở chân 3 của IC NE555 .

Ta có cơng thức tính chu kỳ xung PWM như sau :

Từ đó ta có thời gian tối đa xung PWM ở mức “0” là :

Thời gian này thấp hơn rất nhiều thời gian cần để timer 0 xảy ra tràn bit là hơn 65 (ms) .



Giáo viên hướng dẫn : Nguyễn Đình Hùng

Sinh viên thực hiện : Lê Đức Trường – Đỗ Như Bắc



Trang 36



Đồ án chuyên ngành II

Nghiên cứu, chế tạo driver điều khiển và khống chế tốc độ động cơ bước

2.4.2. Chế độ tự động

Trong chế độ tự động em sử dụng 2 chương trình con riêng biệt để nhận xung và xuất tín

hiệu điều khiển động cơ

Một chương trình sử dụng để phát xung điều khiển khi có xung nhịp đầu vào :



Sai



dem > 0

Đúng



lấy giá trị đặt trước số vòng quay

(step) và giảm biến dem



step > 0



Sai



Đúng

giảm step



chieu = 0



Sai



quay ngược



Đúng

quay thuận



Hình



Giáo viên hướng dẫn : Nguyễn Đình Hùng

Sinh viên thực hiện : Lê Đức Trường – Đỗ Như Bắc



Trang 37



Đồ án chuyên ngành II

Nghiên cứu, chế tạo driver điều khiển và khống chế tốc độ động cơ bước

Một chương trình khác sử dụng cho việc nhận dạng và kiểm soát số lần cộng dồn tối đa

khi phát hiện có xung nhịp đầu vào



có xung clock và

< 10



dem



tăng biến đếm



Hình

Trong chế độ này, vi điều khiển cho phép thực hiện ngắt ngoài 0 và ngắt timer 1, cấm hết

các ngắt còn lại; ngắt ngồi 0 kích hoạt theo sườn âm và ngắt timer 1 hoạt động ở chế độ

16 bits .

Nguyên lý hoạt động của chế độ này như đã mô tả ở trên, mỗi khi có xung nhịp tác động

vào chân ngắt ngồi 0 thì hệ thống chuyển đến chương trình con phục vụ ngắt ngoài,

cộng dồn biến “dem” ghi nhớ số xung nhịp đến tối đa là 10 .

Việc phát tín hiệu cho khối công suất thuộc về ngắt timer 1 . Ngắt timer 1 được thực hiện

mỗi 1 (ms), khi được gọi, chương trình này sẽ lấy giá trị đặt ở cổng P1 (vị trí kết nối các

chuyển mạch) tương ứng với số vòng (hay cũng là số bước) cần thực hiện khi mà biến

“dem” vẫn cho thấy có xung clock chưa được chuyển thành sự dịch chuyển tương ứng

của động cơ bước, được lưu trong biến “step” . Mỗi khi hoàn thành một bước thì giá trị

biến “step” giảm đi 1 và khi hoàn thành đủ số bước đã đặt trước (biến “step” giảm về 0)

thì biến “dem” giảm đi một đơn vị cho tới khi bằng 0 . Khi đã hoàn thành tất cả các lệnh

dịch chuyển cần thiết thì tất cả các cuộn dây của động cơ bước được ngắt điện để tiết

kiệm năng lượng và tránh làm hư hại động cơ và mạch công suất .



Giáo viên hướng dẫn : Nguyễn Đình Hùng

Sinh viên thực hiện : Lê Đức Trường – Đỗ Như Bắc



Trang 38



Đồ án chuyên ngành II

Nghiên cứu, chế tạo driver điều khiển và khống chế tốc độ động cơ bước

Chương trình phục vụ ngắt ngồi 0 :

void AUTO() interrupt 0

{

if(dem<10)

dem++;

EX0=0;

}

Chương trình phục vụ ngắt timer 1 :

void Stepclock() interrupt 3

{

TR1=0;

TH1=0xfc;

TL1=0x17;

TR1=1;

if((dem>0)&&(timestep==0))

{

dem--;

timestep=(255-P1)*20;

}

else

{

if(timestep>0)

{

timestep--;

if(chieu)

step++;

else

step--;

if(step>3)

Giáo viên hướng dẫn : Nguyễn Đình Hùng

Sinh viên thực hiện : Lê Đức Trường – Đỗ Như Bắc



Trang 39



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

CHƯƠNG II – THIẾT KẾ VÀ CHẾ TẠO SẢN PHẨM

Tải bản đầy đủ ngay(0 tr)

×