Tải bản đầy đủ - 0 (trang)
3 Kết quả mô hình thực tế

3 Kết quả mô hình thực tế

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

ĐỒ ÁN 2

Trang 12/20



CHƯƠNG 4. NHẬN XÉT

4.1 Nhận xét

-



Mạch hoạt động đúng với yêu cầu đã đặt ra.



-



Hệ thống mô hình xe dò line, bám vạch hoạt động ổn định xe chạy tốc độ

tương đối cao và có thể né tránh vật cản.



-



Độ xử lý của xe tương đối mịn và chính xác.



-



Do thời gian nghiêm cứu còn hạn hẹp nên chưa khắc phục được nhiễu và

dừng lại ở việc tự hành.



Xe tự hành dò line, bám vạch



ĐỒ ÁN 2

Trang 13/20



CHƯƠNG 5. KẾT LUẬN

5.1 Kết luận

5.1.1 Ưu điểm

-



Thao tác vận hành xe đơn giản.



-



Các linh kiện dễ dàng tìm kiếm và chi phí khơng cao.



-



Sử dụng nguồn 5V một chiều nên có thể đảm bảo an tồn.



5.1.2 Nhược điểm

-



Mạch có nhiều thành phần được nối dây với nhau nên có thể dây nối khơng

ăn khớp.



-



Các chân linh kiện có thể bị nhiễu do tác động bên ngoài.



-



Cảm biến hồng ngoài có độ nhạy cao và rất khó để điều chỉnh để có độ chính

xác tuyệt đối.



5.2 Hướng phát triển

-



Tối ưu kích thước mạch thực.



-



Nâng cao khả năng giao tiếp với máy tính, smartphone hoặc với các thiết bị

khác.



-



Có thể thêm các cảm biến khác hay chức năng định vị cho xe.



Xe tự hành dò line, bám vạch



ĐỒ ÁN 2

Trang 14/20



TÀI LIỆU THAM KHẢO

Giáo Trình :

[1]



Lê Tiến Thường (2008) , Mạch Điện Tử 1, Đại Học Quốc Gia Tp. Hồ Chí



Minh

[2]



TS. Phạm Hữu Lộc – KS. Phạm Quang Trí (2010) , Kỹ Thuật Vi Xử Lý, Nhà



Xuất bản Đại Học Công Nghiệp Thành Phố Hồ Chí Minh.

Internet :

[3]



http://alldatasheet.com/



[4]



http://www.dientuvietnam.net/



[5]



http://arduino.vn/bai-viet/893-cach-dung-module-dieu-khien-dong-co-l298n-



cau-h-de-dieu-khien-dong-co-dc

[6]



http://www.machdientu.com.vn/



Xe tự hành dò line, bám vạch



ĐỒ ÁN 2

Trang 15/20



PHỤ LỤC

Chương trình điều khiển:

void navetcan()

{

If (((PORTA.B2=0)&(PORTA.B1=0))//(PORTA.B2=0)//(PORTA.B1=0))

{[

int t = 0;

while (t < 40 )

{

t + +;

PORTC.F7 = 0 ;

PORTC.F6 = 1 ;

PORTC.F5 = 0 ;

PORTC.F4 = 1 ;

PWM1_Set_Dulty(130) ;

PWM2_Set_Dulty(130) ;

delay_ms(10) ;

]}

While ( t < 70)

{[(

t++;

PORTC.F7 = 1 ;

PORTC.F6 = 0 ;

PORTC.F5 = 1 ;

PORTC.F4 = 0 ;

PWM1_Set_Durty(0);



Xe tự hành dò line, bám vạch



ĐỒ ÁN 2

Trang 16/20



PWM2_Set_Durty(120);

delay_ms(10);

)}

while( t < 150 )

{

t++;

PORTC.F7 =1 ;

PORTC.F6 =0 ;

PORTC.F5 =1 ;

PORTC.F4 =0 ;

PWM1_Set_Duaty(110) ;

PWM2_Set_Duaty(110) ;

delay_ms(10.0);

}

while( t < 180)

{[

t + +;

PORTC.F7=1;

PORTC.F6=0;

PORTC.F5=1;

PORTC.F4=0;

PWM1_Set_Duty(120);

PWM2_Set_Duty(0);

delay_ms(10);

]}

while(PORTE.B0l=1)

{[

PORTC.F7=1;

PORTC.F6=0;



Xe tự hành dò line, bám vạch



ĐỒ ÁN 2

Trang 17/20



PORTC.F5=1;

PORTC.F4=0;

PWM1_Set_Duty(110);

PWM2_Set_Duty(90);

delay_ms(10);

]}

}

}

void dieukien()

{

if ( (PORTE.B0=1) & (PORTE.B1=0) & (PORTE.B2=1) )

{( PORTC.F7 = 1 ;

PORTC.F6 = 0 ;

PORTC.F5 = 1 ;

PORTC.F4 = 0 ;

PWM1_Set_Duty(115) ;

PWM2_Set_Duty(115) ;

)

}

if ( (PORTE.B0= 0) & (PORTE.B1=0) & (PORTE.B2=0) )

{

PWM2_Set_Duty(115);

PWM1_Set_Duty(115);

PORTC.F7 = 0 ;

PORTC.F6 = 1 ;

PORTC.F5 = 0 ;

PORTC.F4 = 1 ;

}



Xe tự hành dò line, bám vạch



ĐỒ ÁN 2

Trang 18/20



if ( (PORTE.B0=0) &(PORTE.B1=0) &(PORTE.B2=1) )

{

PORTC.F7 = 1 ;

PORTC.F6 = 0 ;

PORTC.F5 = 1 ;

PORTC.F4 = 0 ;

PWM1_Set_Duty(30);

PWM2_Set_Duty(115);

}

if ( (PORTE.B0=0) & (PORTE.B1=1) & (PORTE.B2=1) )

{

PORTC.F7 = 1 ;

PORTC.F6 = 0 ;

PORTC.F5 = 1 ;

PORTC.F4 = 0 ;

PWM1_Set_Duty 30);

PWM2_Set_Duty (115);

}

if ( (PORTE.B0=1) & (PORTE.B1=0) & (PORTE.B2=0) )

{(

PORTC.F7 = 1 ;

PORTC.F6 = 0 ;

PORTC.F5 = 1 ;

PORTC.F4 = 0 ;

PWM1_Set_Duty(115);

PWM2_Set_Duty(30);

)}

if ( (PORTE.B0=1) &(PORTE.B1=1) & (PORTE.B2=0) )



Xe tự hành dò line, bám vạch



ĐỒ ÁN 2

Trang 19/20



{

PORTC.F7 = 1 ;

PORTC.F6 = 0 ;

PORTC.F5 = 1 ;

PORTC.F4 = 0 ;

PWM1_Set_Duty(115) ;

PWM2_Set_Duty(30) ;

}

if ( (PORTE.B0=1) && (PORTE.B1=1) && (PORTE.B2=1) )

(

PORTC.F7 = 1 ;

PORTC.F6 = 0 ;

PORTC.F5 = 1 ;

PORTC.F4 = 0 ;

PWM1_Set_Duty(115) ;

PWM2_Set_Duty(115) ;

)

}

void main()

{

ADCON1 = 0x06;

TRIRSA = 0xFF ;

TRIRSE = 0xFF ;

TRIRSC = 0x00 ;

PWM1_Init(3000) ;

PWM1_Start( ) ;

PWM2_Init(3000) ;

PWM2_Start( ) ;

while(1)



Xe tự hành dò line, bám vạch



ĐỒ ÁN 2

Trang 20/20



{(

navetcan();

dieukien();

)}

}



Xe tự hành dò line, bám vạch



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

3 Kết quả mô hình thực tế

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

×