Thiết kế và thi công mô hình robot lau kính

73 1.7K 46
Thiết kế và thi công mô hình robot lau kính

Đ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

Chương 1: Tổng quan về đề tài nghiên cứuChương này sẽ giới thiệu tổng quát về mục đính nghiên cứu, ứng dụng của nghiên cứu, phương pháp nghiên cứu, cách lựa chọn phương pháp thực hiện đề tài.Chương 2: Cơ sở lí thuyết của đề tàiChương này sẽ giới thiệu về cơ sở lí thuyết, các thiết bị được sử dụng trong đề tài.Chương 3: Thi công đề tàiChương này sẽ là phần thi công thực tế đề tài, cách xây dựng lưu đồ thuật toán, cách điều khiển các động cơ có trong robot, giới thiệu các linh kiện thực tế, thiết kế mạch, thiết kế robot.

LỜI CẢM ƠN LỜI CẢM ƠN Trước tiên, cho em xin gởi lời cảm ơn chân thành tới thầy Vũ Vân Thanh thầy Huỳnh Thanh Tùng, người hướng dẫn em nhiệt tình giúp em vượt qua hạn chế kiến thức thân để hoàn thành đồ án Em xin gởi lời cảm ơn đến giúp đỡ nhiệt tình bạn khóa, ủng hộ cha, mẹ, anh chị em gia đình giúp em vượt qua nhiều khó khăn trình làm đồ án Ngoài em xin cảm ơn tất thầy, cô trường ĐHBK Đà Nẵng giảng dạy cho em suốt năm năm qua, cung cấp cho em kiến thức làm tảng để hoàn thiện đồ án Mặc dù cố gắng để hoàn thành tập đồ án, kiến thức cá nhân có hạn, em không tránh khỏi thiếu sót Em mong quí thầy cô bảo Em mong đón nhận ý kiến đóng góp Đà Nẵng, ngày tháng năm 2014 Sinh viên thực LỜI CAM ĐOAN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc ======== LỜI CAM ĐOAN Kính gửi: Hội đồng bảo vệ đồ án tốt nghiệp khoa Điện tử - Viễn thông, Đại học Bách khoa, Đại học Đà Nẵng Chúng em gồm: - Sinh viên: Hồ Đức Huy Sinh viên: Nguyễn Văn Cường Lớp 09DT2 Lớp 09DT1 Đề tài tốt nghiệp: Thiết kế thi công mô hình Robot lau kính Chúng em xin cam đoan nội dung đồ án chép đồ án hay công trình có trước Nếu vi phạm điều chúng em xin chịu hình thức kỷ luật từ thầy cô hội đồng bảo vệ Đà Nẵng, ngày tháng năm 2014 MỤC LỤC MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt MCU DC PWM EDF ESC Li-Po GPIO DTFM Tiếng Anh Microcontroller Unit Direct Current Pulse Width Modulation Electric Ducted Fan Electronic Speed Controller Lithium Polymer General purpose I/O Dual-tone multi-frequency Tiếng Việt Vi điều khiển Một chiều Điều xung Động điện Điều khiển tốc độ điện tử Pin Li-Po Chân xuất nhập chung Âm đa tần số DANH MỤC HÌNH ẢNH DANH MỤC HÌNH ẢNH DANH MỤC BẢNG DANH MỤC BẢNG BẢNG PHÂN CÔNG NHIỆM VỤ BẢNG PHÂN CÔNG NHIỆM VỤ Nhiệm vụ - Tìm hiểu sở lý thuyết - Lựa chọn linh kiện - Mô mạch xử lý trung tâm - Layout thi công mạch giải mã - Thiết kế phần cứng - Đo đạc, kiểm tra mạch - Đánh giá kết - Viết báo cáo Hồ Đức Huy        Nguyễn Văn Cường        MỞ ĐẦU MỞ ĐẦU Ngày nay, việc ứng dụng khoa học kỹ thuật vào đời sống người làm thay đổi diện mạo giới Từ công nghệ điện tử, máy tính, truyền thông đến hóa học, lượng… giúp thuận tiện, dễ dàng đạt hiệu cao công việc Trong lĩnh vực đó, công nghệ robot góp phần hữu hiệu vào thành tựu đạt Robot trở thành cánh tay đắc lực cho người, làm việc người không làm được, tần suất 24/24 môi trường nguy hiểm đến tính mạng, sức khỏe người Xã hội phát triển tòa nhà cao tầng mọc lên nhiều, khó khăn nảy sinh việc vệ sinh ô cửa kính bên tòa nhà độ cao hàng chục, chí hàng trăm mét thực thử thách người, công nhân phải đối mặt với nhiều rủi ro phải thực công việc cách thủ công Lấy cảm hứng từ đó, chúng em thực đề tài “Robot lau kính” Đề tài chia thành chương có nội dung sau: Chương 1: Tổng quan đề tài nghiên cứu Chương giới thiệu tổng quát mục đính nghiên cứu, ứng dụng nghiên cứu, phương pháp nghiên cứu, cách lựa chọn phương pháp thực đề tài Chương 2: Cơ sở lí thuyết đề tài Chương giới thiệu sở lí thuyết, thiết bị sử dụng đề tài Chương 3: Thi công đề tài Chương phần thi công thực tế đề tài, cách xây dựng lưu đồ thuật toán, cách điều khiển động có robot, giới thiệu linh kiện thực tế, thiết kế mạch, thiết kế robot Kết luận hướng phát triển đề tài MỞ ĐẦU Sau thời gian nghiên cứu, thi công chạy thử đề tài “thiết kế robot lau kính” hoàn thành đạt số kết sau: - Tìm hiểu cấu tạo, nguyên lý hoạt động loại robot leo tường lau kính thông dụng - Phân tích thông số kỹ thuật phương án thiết kế robot leo tường dùng nguyên lý phản lực - Thiết kế khung robot, thiết kế mạch, viết chương trình điều khiển robot qua sóng điện thoại - Chạy demo sản phẩm CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU 1.1 Giới thiệu chương Chương giới thiệu khái quát ứng dụng đề tài, mục đích nghiên cứu, phương pháp phương tiện nghiên cứu, đưa lựa chọn phương án thi công đề tài để đạt hiệu tốt nhất, phù hợp với khả năng, nguồn nguyên liệu sẵn có giá thành 1.2 Ứng dụng đề tài Robot có khả di chuyển mặt phẳng thẳng đứng hay trần nhà dựa vào nguyên tắc khí động học tạo từ cánh quạt phản lực gắn thân Tín hiệu điều khiển truyền qua tín hiệu DTMF điện thoại Khi hoàn thành, robot thay người việc vệ sinh cửa kính mặt tòa nhà cao tầng cách an toàn hiệu 1.3 Mục đích nghiên cứu Tạo ứng dụng sử dụng Robot leo tường để lau kính, giúp người tiết kiệm thời gian công sức để vệ sinh nhà văn phòng làm việc Ngoài ra, ứng dụng áp dụng cho tòa nhà cao tầng nhằm giảm nguy hiểm xảy cho công nhân làm việc 1.4 - Phương pháp phương tiện nghiên cứu Phương pháp khảo cứu tài liệu: Tham khảo, tra cứu từ tài liệu có liên quan để thấu hiểu kiến thức có liên quan đến đề tài thực Phương tiện: Tạp chí chuyên ngành; sách kỹ thuật chuyên môn; - website, diễn đàn trực tuyến, … Phương pháp thực nghiệm: Trực tiếp thi công mạch, từ kinh nghiệm, qui trình thực tế rút kết xác đưa vào đồ án 10 CHƯƠNG 3: THI CÔNG ĐỀ TÀI Hình 23 Robot trình hoàn thiện 3.4.5 Phần lau kính Để phù hợp với môi trường làm việc Robot cửa kính tòa nhà, việc thiết kế phần lau kính yêu cầu bám sát bề mặt kính, làm khu vực mà Robot qua, đồng thời giảm đến tối thiểu khối lượng Robot Đáp đứng yêu cầu đó, phận lau kính Robot thiết kế từ xốp bọc vải mềm có kích thước 18cm x 1cm x 1cm, gắn đầu Robot đặt sát với bề mặt kính 3.4.6 Bảo mật Việc điều khiển thiết bị qua điện thoại cho phép truyền tín hiệu điều khiển cách ổn định, khoảng cách không giới hạn mà có khả 59 CHƯƠNG 3: THI CÔNG ĐỀ TÀI bảo mật Việc bảo mật điều khiển tức số thuê bao danh sách kết nối gọi đến điện thoại robot đặc biệt, thiết lập mật điều khiển Khi điện thoại robot nhận gọi, bắt máy theo chế độ “tự động trả lời” thiết lập sẵn, bước thứ nhập mật khẩu, người dùng nhập chuỗi mật điều khiển robot, mật thay đổi độ dài, ký tự bảo mật phần mềm Lưu đồ thuật toán thực chức bảo mật (lấy ví dụ với mật chuỗi ký tự “*28*”): 60 CHƯƠNG 3: THI CÔNG ĐỀ TÀI 61 CHƯƠNG 3: THI CÔNG ĐỀ TÀI Hình 24 Lưu đồ thuật toán kiểm tra mật Sau nhận tín hiệu mật từ đầu vào, thực kiểm tra biến kiemtra: - Nếu kiemtra!=4: mật sai, Robot đứng yên Nếu kiemtra=4: mật đúng, bắt đầu điều khiển Robot 3.5 Kết luận chương Ở chương này, chúng em thiết kế sản phẩm theo yêu cầu đề tài - Giải mã thành công tín hiệu điều khiển từ điện thoại - Thiết kế robot có khả di chuyển mặt phẳng thẳng đứng trần - Bảo mật điều khiển mật 62 KẾT QUẢ, KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI KẾT QUẢ, KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI KẾT QUẢ: Sau thời gian nghiên cứu, thi công chạy thử đề tài “thiết kế robot leo tường” hoàn thành đạt số kết sau: - Tìm hiểu cấu tạo, nguyên lý hoạt động loại robot leo tường thông dụng - Phân tích thông số kỹ thuật phương án thiết kế robot leo tường dùng nguyên lý phản lực - Thiết kế khung robot, thiết kế mạch, viết chương trình điều khiển robot qua sóng điện thoại - Chạy demo sản phẩm KẾT LUẬN: - Đề tài đạt mục tiêu đề ra, song số khó khăn kinh phí kỹ thuật gặp phải nên kết chưa thực mỹ mãn - Ở chừng mực định, đề tài gặp nhiều thiếu sót cần phải bổ sung để hoàn thiện hơn, chúng em mong nhận nhận xét góp ý quý thầy cô để chúng em phát triển lên phiên cao HƯỚNG PHÁT TRIỀN ĐỀ TÀI - Bổ sung thêm cảm biến để xác định vị trí trạng thái robot, giúp robot tự hành - Robot leo tường thực nhiều mục đích người: từ quan trắc, điều khiển đến cứu hộ, vệ sinh… nên tích hợp số phụ phần kết thú vị - Hướng đề tài chúng em phát triển thêm để đạt mục tiêu thiết kế “ROBOT LAU KÍNH CHO CÁC TÒA NHÀ CAO TẦNG” 63 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO [1] John Davies, “MSP430 Microcontroller basics”, Elsevier Ltd, 2008 [2] Help software IAR Embedded Workbech IDE [3] Datasheet MSP430G2553 [4] Jizhong Xiao and Ali Sadegh, “InTech-City climber a new generation wall climbing robots” [5] www.diendanti.com.vn [6] www.google.com [7] http://banlinhkien.vn/ [8] http://www.luanairmodels.com/ [9] http://diendanxedapdien.hkbike.com.vn/ [10] Co_so_ly_thuyet_MSP430 64 PHỤ LỤC PHỤ LỤC CODE: #include volatile unsigned int kiemtra; / *============================================================= ================================== Name : main Description : Argument(s) : Return value : None ============================================================== ==================================*/ void main(void) { WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer BCSCTL1 = CALBC1_1MHZ; // chon nguon clock DCOCTL = CALDCO_1MHZ; /*============================================================ cau hinh cac pin, port ============================================================*/ 65 PHỤ LỤC P1DIR |= BIT6; P1SEL |= BIT6; // chan dieu khien quat P2DIR |= BIT1 + BIT2; P2SEL |= BIT1 + BIT2; // chan dieu xung cho banh xe P2DIR |= BIT0 + BIT3 + BIT4 + BIT5; //4 chan dieu khien huong P1REN |= BIT4; // Cho phep dien tro keo len tren chan P1.4 P1OUT |= BIT4; // Dien tro keo len P1IE |= BIT4; P1IES |= BIT4; // Cho phep ngat tren chan P1.4 // Ngat theo suon xuong P1IFG &= ~BIT4; // xoa co ngat P1.4 /*============================================================ PWM cho canh quat, dung TA0 ============================================================*/ TA0CTL |= TASSEL_2 + MC_1; TA0CCR0 = 20000; TA0CCTL1 |= OUTMOD_7; // chon sub-main clock, 1MHz // tao tan so 50Hz // reset/set TA0CCR1 = 1000; /*============================================================ PWM cho dong co, dung TA1.1 va TA1.2 66 PHỤ LỤC ============================================================*/ TA1CTL |= TASSEL_2 + MC_1; TA1CCR0 = 10000; // chon submain clock // f = 100Hz TA1CCTL1 |= OUTMOD_7; TA1CCR1 = 7000; TA1CCTL2 |= OUTMOD_7; TA1CCR2 = 7000; P2OUT |= BIT0 + BIT4+BIT3 + BIT5;//Dung tat ca dong co enable_interrupt(); // cho phep ngat _BIS_SR(CPUOFF + GIE); // Lowpower mode while (1) {} } // Port interrupt service routine #pragma vector=PORT1_VECTOR interrupt void Port_1(void) { volatile unsigned int giatri; P1IFG &= ~BIT4; giatri = P1IN & 0x0f; // P1.3 IFG cleared // Lay gia tri BCD cua DTFM /*============================================================ Kiem tra mat khau 67 PHỤ LỤC ============================================================*/ switch (kiemtra) { case (0): { if (giatri == 11) kiemtra ++; break; } case (1): { if (giatri == 2) kiemtra ++; else kiemtra = 0; break; } case (2): { if (giatri == 8) kiemtra ++; else kiemtra = 0; break; } case (3): { if (giatri == 11) kiemtra ++; else kiemtra = 0; break; } 68 PHỤ LỤC default: break; } if (kiemtra!=4) { P2OUT |= BIT0 + BIT4+BIT3 + BIT5; // Dung dong co neu mat khau sai } else { /*============================================================ Dieu khien bobot ============================================================*/ switch(giatri) { case (1): // dung tat ca { delay_cycles(1000); TA0CCR1 = 1000; P2OUT |= BIT0 + BIT4 + BIT3 + BIT5; break; } case (2)://tien { P2OUT |= BIT0 + BIT4 + BIT3 + BIT5; 69 PHỤ LỤC delay_cycles(10000); P2OUT &= ~(BIT0 + BIT4); P2OUT |= BIT3 + BIT5; TA1CCR1 = 7000; TA1CCR2 = 7000; break; } case (3): //tang toc { if (TA1CCR1 >= 7000) TA1CCR1 = 10000; else TA1CCR2 += 3000; break; } case (4): //re trai { TA1CCR1 = 4000; TA1CCR2 = 4000; delay_cycles(1000); P2OUT |= BIT0 + BIT4 + BIT3 + BIT5; delay_cycles(10000); P2OUT &= ~(BIT5 + BIT0); P2OUT |= BIT3 + BIT4; delay_cycles(480000); P2OUT |= BIT0 + BIT4+BIT3 + BIT5; 70 PHỤ LỤC break; } case (5): //dung banh xe { delay_cycles(1000); P2OUT |= BIT0 + BIT4 + BIT3 + BIT5; break; } case (6): //re phai { TA1CCR1 = 4000; TA1CCR2 = 4000; delay_cycles(1000); P2OUT |= BIT0 + BIT4 + BIT3 + BIT5; delay_cycles(10000); P2OUT &= ~(BIT4 + BIT3); P2OUT |= BIT0 + BIT5; delay_cycles(480000); P2OUT |= BIT0 + BIT4+BIT3 + BIT5; break; } case (8): // lui { P2OUT |= BIT0 + BIT4 + BIT3 + BIT5; delay_cycles(10000); P2OUT &= ~(BIT3 + BIT5); P2OUT |= BIT0 + BIT4; 71 PHỤ LỤC break; } case (10): // hut vua { delay_cycles(1000); TA0CCR1 =1600; break; } case (11): // hut nhe { delay_cycles(1000); TA0CCR1 =1400; break; } case (12): // hut manh { delay_cycles(1000); TA0CCR1 =1700; break; } default: { P2OUT |= BIT0 + BIT4+BIT3 + BIT5; break; }//end of default 72 PHỤ LỤC }//end of switch }//end of else }//end of IR 73 [...]... của loại robot này Các van cơ học điều khiển các miếng hút khiến robot có thể bám dính vào bề mặt một lực tương đối lớn, nhưng với kiểu thi t kế này, việc di chuyển robot khá khó khăn và không phù hợp với những công việc trên bề mặt không thực sự bằng phẳng Hình 1 2 Robot leo tường sử dụng giác hút của ĐH Seoul Một giải pháp khác khá mới mẻ là robot phỏng sinh học Để có thể bám trên tường, robot sử... thể được đọc ghi độc lập với nhau Port 1 và 2 có khả năng ngắt và được cấu hình riêng rẽ theo cạnh lên/xuống của tín hiệu vào Các đặc điểm chính của port I/O: - Có thể cấu hình độc lập mỗi chân - Có thể kết hợp cả vào và ra - Cấu hình ngắt độc lập trên P1 và P2 - Các thanh ghi dữ liệu vào/ra độc lập với nhau - Có thể cấu hình các điện trở kéo lên, kéo xuống - Cấu hình chức năng nguồn clock (ở một số dòng... LÍ THUYẾT CỦA ĐỀ TÀI CHƯƠNG 2: CƠ SỞ LÍ THUYẾT CỦA ĐỀ TÀI 2.1 Giới thi u chương Trong chương hai sẽ giới thi u sơ đồ khối tổng quát, tìm hiểu về cơ sở lý thuyết cơ học Nghiên cứu về DTMF, về sơ đồ khối và chức năng các khối của IC giãi mã MT8870 Giới thi u về họ vi điều khiển MSP430x2xx3 và các thi t bị được sử dụng để thi công robot Hình 2 1 Sơ đồ khối tổng quát Lợi dụng khả năng truyền tín hiệu DTMF... VDD vào là một tần số hợp lệ Không dùng đến trong trường hợp này Chân cấp nguồn, 5v Bảng 2 2 Hình 2 4 OUT IN Chức năng từng chân của MT8870 Sơ đồ khối chức năng MT8870 2.3.3 Chức năng các khối của IC MT8870 19 CHƯƠNG 2: CƠ SỞ LÍ THUYẾT CỦA ĐỀ TÀI 2.3.3.1 Cấu hình ngõ vào: Thi t kế đầu vào của MT8870 cung cấp 1 bộ khuếch đại opamp ngõ vào vi sai cũng như một ngõ vào VREF để điều chỉnh điện áp cho đầu vào... không quá phức tạp và đắt đỏ, robot cũng có thể di chuyển một cách rất linh hoạt như ở mặt đất Chi tiết sẽ được chúng em giới thi u ngay sau đây 1.6 Kết luận chương Chương một cho ta một cách nhìn khái quát về mục đích nghiên cứu và ứng dụng của đề tài “ Robot leo tường lau kính ” cũng như qua nghiên cứu các phương pháp và sản phẩm tương tự đã có trên thế giới để đưa ra phương án thi công đề tài tối ưu... cung cấp cho động cơ Tùy thuộc vào thi t kế mà ta chọn loại động cơ, nguồn và bộ ESC cho phù hợp Trong đồ án này chúng em chọn loại cánh quạt sử dụng trong máy bay mô hình để tạo lực hút, cánh quạt và ống dẫn đều bằng nhựa nên giảm được trọng lượng cho robot Để đo tốc độ động cơ ta dùng đơn vị RPM (Revolutions Per Munite) tức là số vòng quay được trong một phút khi đầu vào là 1V mà motor không tải Các... mode output được thi t lập qua OUTMODx bit và tín hiệu ra OUTx được thay đổi phụ thuộc vào mode được chọn Bảng 2 5 Các mode ứng với từng giá trị của OUTMODx Hình 2 9 Timer A, up mode 30 CHƯƠNG 2: CƠ SỞ LÍ THUYẾT CỦA ĐỀ TÀI 2.5 Động cơ phân luồng 2.5.1 Giới thi u Động cơ phân luồng (Ducted fan) là một thi t bị đẩy được gắn trên máy bay, trong đó có một cánh quạt trong lòng một ống hình trụ hở 2 đầu... miếng tiếp xúc được gắn dưới chân giống như một con tắc kè PEDA Labs và University of California Berkeley đã thi t kế một con robot như vậy có tên là Mecho-Gecko 12 CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU Hình 1 3 Mecho-Gecko đang leo trên cửa kính Cũng giống như việc dùng giác hút, robot kiểu này không thể di chuyển linh động được và kinh phí cho các miếng tiếp xúc thường khá cao Giải pháp cuối cùng... LÍ THUYẾT CỦA ĐỀ TÀI Hình 2 7 2.4.2.1 Sơ đồ chân IC MSP430G2553 Thanh ghi đầu vào PxIN Mỗi bit ở thanh ghi PxIN lưu giá trị ngõ vào tương ứng với chân đó (khi chân đã được cấu hình thành ngõ vào) Bit = 0: đầu vào ở mức thấp Bit = 1: đầu vào ở mức cao 2.4.2.2 Thanh ghi ngõ ra PxOUT Mỗi bit trong thanh ghi PxOUT chứa giá trị ngõ ra trên từng chân tương ứng (khi chân đã được cấu hình thành ngõ ra) Bit... thường được kết hợp với các ngoại vi, để cấu hình chức năng cho các chân này ta set các bit trong 2 thanh ghi tướng ứng như bảng sau: Bảng 2 4 PxSEL và PxSEL2 Lưu ý: chỉ cấu hình riêng 2 thanh ghi trên thôi chưa đủ mà còn phải cấu hình các bit ở PxDIR tương ứng với chức năng nữa 2.4.2.6 Ngắt trên P1, P2 Mỗi chân trên ports P1, P2 đều có khả năng ngắt và được cấu hình thông qua PxIFG, PxIE và PxIES -

Ngày đăng: 24/06/2016, 21:54

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

  • LỜI CAM ĐOAN

  • MỤC LỤC

  • DANH MỤC CÁC TỪ VIẾT TẮT

  • DANH MỤC HÌNH ẢNH

  • DANH MỤC BẢNG

  • BẢNG PHÂN CÔNG NHIỆM VỤ

  • CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU

  • CHƯƠNG 2: CƠ SỞ LÍ THUYẾT CỦA ĐỀ TÀI

  • CHƯƠNG 3: THI CÔNG ĐỀ TÀI

  • KẾT QUẢ, KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI

  • LỜI CẢM ƠN

  • LỜI CAM ĐOAN

  • MỤC LỤC

  • DANH MỤC CÁC TỪ VIẾT TẮT

  • DANH MỤC HÌNH ẢNH

  • DANH MỤC BẢNG

  • BẢNG PHÂN CÔNG NHIỆM VỤ

  • CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU

    • 1.1 Giới thiệu chương

    • 1.2 Ứng dụng của đề tài

Tài liệu cùng người dùng

Tài liệu liên quan