Tải bản đầy đủ (.pdf) (24 trang)

ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.76 MB, 24 trang )

ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

2





CHƢƠNG I – TỔNG QUAN

I./ Các ứng dụng phổ biến của vitme trong thực tế hiện nay 3
II/Giới thiệu hoạt động mô hình thực hiện 4
III/Chương trình sử dụng trong đồ án 4

CHƢƠNG II – THIẾT KẾ CƠ CẤU CƠ KHÍ

I./Thiết kế cơ cấu cơ khí 5
II./Tính bền cơ cấu cơ khí trên SolidWorks 6

CHƢƠNG III – THIẾT KẾ VÀ MÔ PHỎNG BỘ ĐIỀU KHIỂN

I./Thiết lập sơ đồ khối của mô hình động cơ bước trên Matlab Simulink 9
II./Khảo sát các kết quả 9
III./Kết luận 10

CHƢƠNG IV
SƠ ĐỒ MẠCH DRIVER CHO ĐỘNG CƠ VÀ SƠ ĐỒ MẠCH ĐK

Thiết kế mạch công suất và mạch điều khiển 11

CHƢƠNG V – LƢU ĐỒ GIẢI THUẬT VÀ CHƢƠNG TRÌNH ĐIỀU KHIỂN


I./Lưu đồ giải thuật điều khiển 13
II./Nguyên lý hoạt động động cơ bước 14
III./Chương trình C# trên máy tính 16

CHƢƠNG VI – THÍ NGHIỆM VÀ KẾT LUẬN
I./Kết quả thực nghiệm 17
II./Kết luận 17
TÀI LIỆU THAM KHẢO VÀ PHỤ LỤC

I./Tài liệu tham khảo 18
II./Phụ lục 19





ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

3

CHƢƠNG I

TỔNG QUAN

I/ MỘT SỐ ỨNG DỤNG CỦA VITME TRONG THỰC TẾ HIỆN NAY

Bộ truyền động Vitme-Đai ốc hiện nay được ứng dụng rất nhiều và là một thành phần
gần như không thể thiếu trong các hệ thống dẫn động ,các thiết bị máy móc công
nghiệp củng như dân dụng ,thiết bị hàng không ,quân sự…
Ví dụ như máy CNC , các cánh tay Robot… Các máy dân dụng như các ổ CD , máy

photocoppy…









ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

4

II/ GIỚI THIỆU HOẠT ĐỘNG CỦA MÔ HÌNH THỰC HIỆN

Nhiệm vụ trong đồ án này là điều khiển vị trí của vitme – đai ốc ,sử dụng động cơ
bước và cảm biến analog.

Hình 2: Mô hình thực hiện

Tín hiệu điều khiển truyền từ máy tính đến vi điều khiển (PIC) qua cổng COM, Vi
điều khiển đọc ADC về và xử lý và ra quyết định cho động cơ quay
Khi động cơ quay trục vítme được nối với động cơ bằng nối trục cũng chuyển động
quay và đai ốc chuyển động thẳng.

III. CHƢƠNG TRÌNH SỬ DỤNG TRONG ĐỒ ÁN

- Chương trình Solidworks 2010: Thiết kế mô hình 3D
- Chương trình SolidWorks 2D Editor 2010 :Dùng biểu diễn bản vẽ lắp 2D

- Chương trình AutoCad 2007 :Dùng biểu diễn bản vẽ lắp 2D
- Chương trình Orcad 9.2 : thiết kế mạch điện điều khiển, xuất Layout
- Chương trình Visual Studio 2008(C#) :thiết kế chương trình điều khiển

ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

5

CHƢƠNG II

THIẾT KẾ CƠ CẤU CƠ KHÍ


I/THIẾT KẾ CƠ CẤU CƠ KHÍ :

SƠ ĐỒ ĐỘNG
Driver
Động cơ


Cảm biếnVi xử lý4
1
5
2
3


Trong đó : (1) là step motor (động cơ bước)
(2) là khớp nối trục ,cơ cấu vit-đai ốc
(3) là cảm biến vị trí (analog )

(4) là bộ vi xử lý và điều khiển
(5) là Transistor Driver


Tính toán vận tốc động cơ:
Yêu cầu: Thiết kế hệ thống vít me đai ốc với vận tốc bàn trượt từ 2 –> 5mm/s.
Chọn vít me có bước vít 1,2 mm đường kính ngoài D = 8mm .
Vận tốc trục vít me:
V
v
=
bt
V
p

Với V
bt
= 2 –> 5mm/s ta tính được vận tốc trục vít me từ 100 vòng/phút – 250 vòng/phút
Chọn hộp giảm tốc 2 cấp với tỷ số truyền tổng là 6. Từ đó ta chọn được vận tốc của động
cơ là:
V
dc
= V
bt
U = 600 ->1500 vòng/phút
Ta chọn loại động cơ có vận tốc tối đa là 1500 vòng/phút


ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………


6

II.TÍNH BỀN CƠ CẤU TRÊN SOLIDWORKS

Mô hình tính bền với bộ thông số:
bước ren bằng 1,2 mm, chiều dài L1 =140mm, chiều dài vitme L2 = 117mm , đường
kính đỉnh ren D=8mm, đường kính chân ren d = 4mm
Các chi tiết phụ khác :ổ bi,nối trục ,bể chặn, công tắc hành trình, biến trở…


Ta sử dụng SolidWorks Simulation để thiết lập các biểu đồ ứng suất, chuyển vị và sức
căng của cơ cấu. Với tải là con chạy, cơ cấu chịu lực là vitme và thanh trượt.

Hình 5: Biểu đồ ứng suất
ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

7



Hình 6: Biểu đồ chuyển vị

Hình 7: Biểu đồ sức căng

ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

8


Hình 8: Biểu đồ hệ số an toàn


Qua các biểu đồ, ta thấy kết cấu cơ khí hoàn toàn đáp ứng được các đòi hỏi về sức
bền.




















ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

9

CHƢƠNG III

THIẾT KẾ VÀ MÔ PHỎNG BỘ ĐIỀU KHIỂN BẰNG

MATLAB SIMULINK
Yêu cầu đặt ra: Sử dụng Matlab Simulink mô phỏng điều khiển động cơ bước đến
vị trí mong muốn trong thời gian cho trước (ví dụ là 2s).

I. Thiết lập sơ đồ khối của mô hình động cơ trên Matlab Simulink

Ta sử dụng SimElectronic để mô phỏng hoạt động của động cơ.
Trên cửa sổ Simulink ta thiết lập hệ thống sơ đồ khối như sau:


Hình 9
II.KHẢO SÁT CÁC KẾT QUẢ:
Ta thử khảo sát kết quả sau khi động cơ quay lần lượt 10, 15, 20, 25 bước. Các biểu
đồ thu được là như sau:
ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

10





III.NHẬN XÉT:
Các kết quả thu được vẫn chưa cho ta thấy được rõ ràng sự vận động của động cơ
bước trong mô phỏng Matlab, như vậy, việc khảo sát động cơ bước trên Matlab
Simulink là rất phức tạp. Qua đó có thể thấy rằng, việc sử dụng PID để điều chỉnh
bề rộng xung nhằm mục đích giảm thời gian đạt đến vị trí mong muốn của động cơ
bước trong trường hợp này (mô phỏng trên Matlab) là hết sức khó khăn. Ở thời
điểm hiện tại, do kiến thức và thời gian còn hạn chế nên trong nội dung đồ án
chúng em chưa thể thực hiện được. Chúng em sẽ tiếp tục nghiên cứu sâu thêm về

vấn đề này trong thời gian sắp tới.







ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

11

CHƢƠNG IV
SƠ ĐỒ MẠCH DRIVER CHO ĐỘNG CƠ VÀ SƠ ĐỒ MẠCH ĐK

THIẾT KẾ MẠCH CÔNG SUẤT VÀ MẠCH ĐIỀU KHIỂN
Thiết kế mạch công suất và mạch điều khiển bằng phần mềm orcad 9.2 ta được mạch
nguyên lý như hình sau:

Hình 12:mạch điều khiển
Nguyên lý hoạt động:
mạch điểu khiển gồm :nguồn cấp cho toàn bộ mạch,ta sử dụng PIC16F87 giao tiếp
với máy tính bẳng cổng com qua RS232,khối cảm biến analog và 2 limit swich để
giới hạn hành trình.
Tín hiệu được truyền từ máy tính qua giao tiếp cổng com đựơc PIC16F887 xử lý,PIC
cấp xung qua các chân RD0 đến RD4 để đi đến mạch công suất điều khiển động cơ.
ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

12




Hình 10: Mạch công suất (Driver)

Nguyên lý hoạt động mạch công suất:
Ta sử dụng OPTO PC817 và TIP122
Khi xung được cấp từ PIC qua chân số 1 của HEADER 4 sẽ kích hoạt OPTO cho
phép nguồn 5v kích hoạt Tip 122 ,cho phép dòng qua cuộn thứ nhất của động cơ
bứơc.
Tương tự với các xung còn lại .động cơ bước hoạt động


ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

13

CHƢƠNG V : LƢU ĐỒ GIẢI THUẬT VÀ CHƢƠNG TRÌNH ĐIỀU KHIỂN

I. LƢU ĐỒ GIẢI THUẬT ĐIỀU KHIỂN

VỊ TRÍ CÀI ĐẶT
VI ĐIỀU KHIỂN
ĐỌC ADC
QUAY NGHỊCH
QUAY THUẬN
SO SÁNH
X < Y
STOP
SO SÁNH
X =Y

n
y
y
n

ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

14

II.NGUYÊN LÝ HOẠT ĐỘNG ĐỘNG CƠ BƢỚC
Động cơ bước sử dụng trong đồ án là động cơ bước đơn cực
Cấu tạo động cơ bƣớc đơn cực:

Hoạt động động cơ bƣớc:
Quay thuận

1a
2a
1b
2b
1
0
0
0
0
1
0
0
0
0

1
0
0
0
0
1

Quay nghịch









1a
2a
1b
2b
1
0
0
0
0
0
0
1
0

0
1
0
0
1
0
0
ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

15

Máy tính gửi giá trị cài đặt qua cổng com đến vi điều khiển qua các lệnh
private void send_Click(object sender, EventArgs e)
{
byte data = (byte) Convert .ToInt16 (set.Text,10 );
if (data > 55)
serialPort1.Write(new byte[] { 55 }, 0, 1);
else if (data <10)
serialPort1.Write(new byte[] { 10 }, 0, 1);
else
serialPort1.Write(new byte[] { data }, 0, 1);
}
Vi điều khiển đọc giá trị cảm biến về trong ngắt giao tiếp
#INT_RDA
VOID RECEVICE()
{
X=GETC();
SET_ADC();
Y=READ_ADC();


Các giá trị đọc từ cảm biến và giá trị nhận từ máy tính qua vài phép biến đổi
rồi so sánh Sau đó sẽ quyết dịnh cho động cơ quay thuận hoặc quay nghịch
Tín hiệu điều khiển sẽ được truyền qua mạch công suất để điều khiển động cơ
 Chƣơng trình viết bằng CCS cho PIC16F887 (phụ lục trang 24 )

















ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

16

IV/CHƢƠNG TRÌNH C# TRÊN MÁY TÍNH
Chương trình giao tiếp pic và máy tính có giao diện như hình sau:




Khoảng cách lớn nhất mà bộ truyền thực hiện là 55mm.khi nhập vị trí mong muốn
vào ô vị trí cài đặt và nhấn send trên bảng thông số đáp ứng sẽ phản hồi về vị trí mà
bộ truyền đang di chuyển.Biến trở sử dụng có giá trị 10k ,do đó vị trí cài đặt =vị trí
đáp ứng

 Chƣơng trình c# ( phụ lục trang 26)











ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

17

CHƢƠNG IV: THỰC NGHIỆM VÀ KẾT LUẬN
I/ KẾT QUẢ THỰC NGHIỆM
Khảo sát quá trình thực nghiệm ta được bảng thông số sau:
-Vị trí nhập từ giao diện điều khiển (mm).
-Giá trị đọc được trên thước đo (mm).
-số lần đo .

Vị trí


Lần


10

20

30

40

50

1


10

20

30

39

50

2


11


20

30

39

50

3


11

20

30

39

50

4


11

20

30


40

50

5


10

20

29

39

50

-Biến trở gần tuyến tính nên kết quả điều khiển chưa chính xác
-Do các mạch điều khiển và mạch công suất làm thủ công nên mức độ ổn định không
cao

II/ KẾT LUẬN
-Có sự hiểu biết lập trình vi điều khiển PIC trên CCS
-Lập trình C# tạo giao diện điều khiển
-Hiểu biết giao tiếp nối tiếp
-Tìm hiểu được vi điều khiển pic 16F887, Transistor driver dùng điều khiển động cơ
-Điều khiển được vị trí vitme qua máy tính
-Sử dụng cáp chuyển đổi từ USB sang COM nên việc điều khiển chưa ổn định
+Trong quá trình thực hiện đồ án chúng em đã làm việc rất nghiêm túc và đã cố gắn

hoàn thành tốt đồ án ,tuy nhiên do trình độ còn hạn chế nên không tránh khỏi những
sai sót trong quá trình thực hiện kính mong thầy cô thông cảm, chúng em sẽ cố gắng
học tập rèn luyện để hoàn thiện mình hơn.
ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

18

Tài liệu tham khảo và các phụ lục

Tài liệu tham khảo:
[1]. Trịnh Chất – Lê Văn Uyển. Tính toán thiết kế hệ dẫn động cơ khí, tập 1 và 2. Nhà
xuất bản giáo dục. 2003.
[2]. Nguyễn Hữu Lộc. Cơ sở thiết kế máy. Nhà xuất bản Đại học quốc gia TP. Hồ Chí
Minh. 2004.
[3]. Trần Xuân Trường. Tài liệu sử dụng CCS tiếng việt. 2007.
[4] Http://www.picvietnam.com
























ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

19

Các phụ lục:
 Chƣơng trình viết bằng CCS cho PIC16F887
#include<16f887.h>
#device *=16 adc=10
#use delay(clock=20000000)
#fuses HS,NOWDT,NOPROTECT
#use rs232(baud=9600,parity=N,xmit=pin_c6,rcv=pin_c7)
INT16 x,y;
float32 x1,y1;
void quay_thuan()
{
output_high(PIN_d0);
delay_ms(10);
output_low(PIN_d0);
output_high(PIN_d1);
delay_ms(10);
output_low(PIN_d1);

output_high(PIN_d2);
delay_ms(10);
output_low(PIN_d2);
output_high(PIN_d3);
delay_ms(10);
output_low(PIN_d3);
}
void quay_nghich()
{
output_high(PIN_d3);
delay_ms(10);
output_low(PIN_d3);
output_high(PIN_d2);
delay_ms(10);
output_low(PIN_d2);
output_high(PIN_d1);
delay_ms(10);
output_low(PIN_d1);
output_high(PIN_d0);
delay_ms(10);
output_low(PIN_d0);
}
void SET_ADC()
ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

20

{
setup_adc_ports(all_analog);
setup_adc(adc_clock_internal);

set_adc_channel(0);
delay_us(10);
}
#int_rb
void Int_ls()
{

output_LOW(PIN_C3);
}
#INT_RDA
VOID RECEVICE()
{
X=GETC();
SET_ADC();
Y=READ_ADC();
X1=X*17.1;
while((int16)X1<y)
{
QUAY_NGHICH();
SET_ADC();
Y=READ_ADC();
y1=y/17.1;
putc((int8)y1);
}
while ((int16)X1>y)
{
QUAY_THUAN();
SET_ADC();
Y=READ_ADC();
y1=y/17.1;

putc((int8)y);
}
}
VOID MAIN()
{
while(TRUE)
{
enable_interrupts(int_rb);
ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

21

enable_interrupts(INT_RDA);
enable_interrupts(global);

}}

 Chƣơng trình c#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace giaotiepmaytinh
{
public partial class Form1 : Form

{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
if (serialPort1.IsOpen) serialPort1.Close();
serialPort1 .Open ();
}

private void Form1_FormClosed(object sender,
FormClosedEventArgs e)
{
if (serialPort1.IsOpen) serialPort1.Close();
}

private void send_Click(object sender, EventArgs e)
{
byte data = (byte) Convert .ToInt16 (set.Text,10 );
if (data > 55)
serialPort1.Write(new byte[] { 55 }, 0, 1);
else if (data <10)
serialPort1.Write(new byte[] { 10 }, 0, 1);
else
serialPort1.Write(new byte[] { data }, 0, 1);
ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

22


}

private void serialPort1_DataReceived(object sender,
System.IO.Ports.SerialDataReceivedEventArgs e)
{
//dapung.Text = serialPort1.ReadByte().ToString();
byte nhan = (byte)serialPort1.ReadByte();
object[] para = { nhan };
//dapung .BeginInvoke (new deleFunC
dapung.BeginInvoke(new deleFunc(Display),para);
//Gọi hàm hiển thị dữ liệu
}
//Hàm con hiển thị dữ liệu
private delegate void deleFunc(byte nhan);
private void Display(byte nhan)
{
//Chuyển byte nhận được thành số thập phân
string receive = Convert.ToString(nhan, 10);

dapung.AppendText(receive + " ");
}

private void reset_Click(object sender, EventArgs e)
{
serialPort1.Write(new byte[] { 0 }, 0, 1);
set.Text = " 5";
}

private void button1_Click(object sender, EventArgs

{
dapung.Text = " ";
}

private void label1_Click(object sender, EventArgs e)
{

}
}









ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

23

Mạch vẽ bằng SolidWorks 2010:




ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

24


Các hình ảnh trong quá trình thƣc hiện đồ án






ĐAMH THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: ………

25







×