Đồ án Vi xử lý Thiết kế mạch điều khiển và đo tốc độ động cơ một chiều dùng Atmega16mạch điều khiển và đo tốc độ động cơ một chiều dùng Atmega16mạch điều khiển và đo tốc độ động cơ một chiều dùng Atmega16Đồ án Vi xử lý Thiết kế mạch điều khiển và đo tốc độ động cơ một chiều dùng Atmega16Đồ án Vi xử lý Thiết kế mạch điều khiển và đo tốc độ động cơ một chiều dùng Atmega16
LỜI NĨI ĐẦU Nước ta cơng cơng nghiệp hóa, đại hóa, đổi phát triển tồn diện Phục vụ cho cơng đổi máy móc đại, điều khiển phức tạp; mà làm giảm tối đa góp mặt người vào q trình sản xuất Tự động hóa phát triển kéo theo công nghệ điều khiển tiên tiến khác phát triển đóng góp vai trò vơ quan trọng trình sản xuất Trong ứng dụng liên quan đến truyền động, thành phần khơng thể thiếu động điện Nó có tác dụng làm cho cấu chấp hành hoạt động Trong số phải kể đến động điện chiều (động DC) Các động DC có nhiều ứng dụng sống, sản xuất công nghiệp Tuy nhiên, lại đòi hỏi động phải có nhiều cấp tốc độ để tăng giảm dễ dàng, độ ổn định tốc độ cao Động DC sử dụng phổ biến để làm cấu truyền động cho số loại máy máy nghiền, máy nâng vận chuyển, điều khiển băng tải, điều khiển robot,… Với đời phát triển vi xử lý vấn đề điều khiển động DC khơng q khó khăn Động điều khiển để chạy nhiều cấp tốc độ khác nhau, điều khiển dừng, đảo chiều, nhanh chậm cách dễ dàng Đó ý tưởng để nhóm em nghiên cứu thực đề tài “Thiết kế mạch điều khiển động đo tốc độ động điện chiều” Nhóm em xin gửi lời cảm ơn đến thầy cô khoa Công nghệ tự động giảng dạy truyền đạt kiến thức chuyên ngành cho chúng em thời gian chúng em học trường Đặc biệt nhóm em gửi lời cảm ơn sâu sắc tới ThS Bùi Thị Duyên trực tiếp hướng dẫn, giúp đỡ tạo điều kiện thuận lợi để nhóm em hồn thành tốt đề tài Mặc dù cố gắng học hỏi nhiều, kiến thức kinh nghiệm thân hạn chế nên đề tài nhóm em khơng thể tránh khỏi sai sót Rất mong nhận góp ý, dẫn từ thầy cô Em xin chân thành cảm ơn! MỤC LỤC CHƯƠNG 1: ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ THƯ .3 1.1 Đặt vấn đề 1.2 Nhiệm vụ thiết kế CHƯƠNG 2: CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN ĐỘNG CƠ MỘT CHIỀU 2.1 Cấu tạo nguyên lý làm việc động chiều 2.1.1 Cấu tạo 2.2.2 Nguyên lý hoạt động 2.2.3 Đặc điểm phân loại 2.2 Các phương pháp điều chỉnh tốc độ động chiều .7 2.2.1 Điều chỉnh tốc độ động cách thay đổi giá trị điện trở phụ mạch phần ứng 2.2.2 Điều chỉnh tốc độ động cách thay đổi từ thông cuộn kích từ 2.2.3 Điều chỉnh tốc độ động cách thay đổi giá trị điện áp phần ứng 11 2.3 Phương pháp điều chỉnh độ rộng xung PWM (Pulse Width Modulation) 13 2.3.1 Giới thiệu PWM 13 2.3.2 Nguyên lý hoạt động PWM 14 2.3.3 Các phương pháp tạo xung PWM .15 2.4 Phương pháp điều khiển chiều quay động điện chiều 15 2.4.1 Khái quát chung 15 2.4.2 Mạch đảo chiều quay động dùng mạch cầu H 15 2.4.3 Mạch cầu H dùng transistor (hoặc MOSFET) 16 CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG .18 3.1 Khối XỬ LÝ TRUNG TÂM 18 3.1.1 Giới thiệu vi điều khiển Atmega16 19 3.1.2 Mô tả cấu trúc bên Atmega16 .19 3.1.3 Sơ đồ chân Atmega16 23 3.2 Khối NGUỒN .25 3.3 Khối HIỂN THỊ 26 3.3.1 Cấu tạo LCD 16x2 (2 dòng 16 kí tự) 27 3.3.2 Các mã lệnh LCD 29 3.4 Khối CÔNG SUẤT 32 3.5 Khối ĐỘNG CƠ MỘT CHIỀU 34 3.6 Khối NÚT NHẤN .37 3.7 Khối GIAO TIẾP MÁY TÍNH 37 CHƯƠNG 4: THIẾT KẾ PHẦN MỀM 39 4.1 Lưu đồ thuật toán 39 4.2 Sử dụng CodeVisionAVR để viết chương trình cho vi điều khiển 42 CHƯƠNG 5: KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN 53 5.1 Kết luận 53 5.2 Tính thực tế sản phẩm hướng phát triển đề tài 54 TÀI LIỆU THAM KHẢO .55 Đồ án Vi xử lý đo lường điều khiển CHƯƠNG ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ THƯ 1.1 Đặt vấn đề Tự động hóa ngày phát triển mạnh mẽ, giảm tối đa góp mặt người vào q trình sản xuất Máy móc ngày đại điều khiển phức tạp Trong ứng dụng liên quan đến truyền động, động điện đóng vai trò quan trọng, làm cho cấu chấp hành hoạt động Tuy nhiên, điều cần quan tâm đến tốc độ động Trong trình làm việc, tốc độ động thường bị thay đổi biến đổi tải, nguồn Điều gây sai lệch tốc độ thực với tốc độ đặt, làm giảm suất máy sản xuất chí gây hỏng động Vì vậy, việc điều chỉnh tốc độ động yêu cầu tất yếu máy sản xuất Về phương diện điều chỉnh tốc độ, động điện chiều (DC motor) có nhiều ưu việt so với loại động khác Không có khả điều chỉnh tốc độ dễ dàng mà cấu trúc mạch lực, mạch điều khiển đơn giản đồng thời lại đạt chất lượng điều chỉnh cao dải điều chỉnh tốc độ rộng Trong thực tế, có hai phương pháp để điều chỉnh tốc độ động điện chiều: Điều chỉnh điện áp cấp cho phần ứng động Điều chỉnh điện áp cấp cho mạch kích từ động Đối với vấn đề đảo chiều quay động chiều, ta có hai phương pháp: Đảo chiều dòng điện qua phần ứng Đảo chiều từ trường cuộn kích từ tạo cách đảo chiều dòng điện qua cuộn kích từ Tuy nhiên cách việc điều khiển tốc độ động trở nên khó khăn hiệu thấp Hiện với đời phát triển nhanh chóng vi xử lý, điều khiển số dần thay điều khiển tương tự truyền thống nhiều ưu điểm chúng Động điều khiển để chạy nhiều cấp tốc độ khác nhau, điều khiển dừng, đảo chiều, nhanh chậm cách dễ dàng Chính vậy, nhóm em định dùng vi điều khiển để thiết kế mạch điều khiển động điện chiều Việc điều khiển tốc độ động thực phương pháp điều xung, tức thay đổi độ rộng xung Độ rộng xung lớn động quay nhanh Để điều khiển động theo phương pháp cần nhiều bước khác nhau, từ thiết lập phần cứng điều khiển đến cấu trúc chương trình điều khiển Nếu việc THIẾT KẾ MẠCH ĐIỀU KHIỂN VÀ ĐO TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU Đồ án Vi xử lý đo lường điều khiển thiết lập phần cứng chương trình điều khiển khơng phù hợp khơng điều khiển động 1.2 Nhiệm vụ thiết kế Lựa chọn vi điều khiển Vi điều khiển lựa chọn để nghiên cứu thiết kế đề tài vi điều khiển Atmega16, thuộc họ vi điều khiển AVR Atmel sản xuất Phương pháp điều khiển động cơ: Động điều khiển theo phương pháp điều chỉnh độ rộng xung (Pulse Width Modulation – PWM) Thay đổi độ rộng xung để thay đổi điện áp trung bình cấp cho động Độ rộng xung lớn động chạy nhanh ngược lại Encoder đọc Encoder cảm biến chữ U Để điều khiển số vòng quay hay vận tốc động bắt buộc phải đọc góc quay motor Một số phương pháp dùng để xác định góc quay motor bao gồm dùng tachometer (cảm biến vận tốc), dùng biến trở xoay dùng optical encoder (encoder quang học) Hai phương pháp phương pháp analog dùng encoder quang học phương pháp digital Hệ thống optical encoder gồm nguồn phát quang, cảm biến quang đĩa có khe thủng gắn trục động Cứ lần động quay vòng, tia hồng ngoại từ nguồn phát xuyên qua lỗ thủng đến cảm biến quang, từ xuất tín hiệu cảm biến Như vòng quay động làm xuất xung Thiết kế phím chức tương ứng để Dừng Quay thuận Quay nghịch, Tăng tốc, Giảm tốc cho động Hiển thị lên hình LCD chức tương ứng động vận hành tốc độ động Điều giúp ta theo dõi động vận hành chế độ nào, tốc độ động để điều khiển trường hợp khác THIẾT KẾ MẠCH ĐIỀU KHIỂN VÀ ĐO TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU Đồ án Vi xử lý đo lường điều khiển CHƯƠNG CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN ĐỘNG CƠ MỘT CHIỀU 2.1 Cấu tạo nguyên lý làm việc động chiều 2.1.1 Cấu tạo Động điện chiều (động DC) động điện hoạt động với dòng điện chiều Cấu tạo động DC gồm có phần động (rotor), phần tĩnh (stator) phần chỉnh lưu (hệ thống chổi than – vành góp) a) Phần tĩnh (stator) Stator hay gọi phần kích từ động cơ, phận sinh từ trường, nam châm vĩnh cửu nam châm điện (với động có cơng suất lớn), gồm có phận sau: ̶̶ Mạch từ dây quấn kích từ lồng ngồi mạch từ (nếu động kích từ nam châm điện): mạch từ làm sắt từ Dây quấn kích từ làm dây điện từ, cuộn dây điện từ mắc nối tiếp với ̶̶ Cực từ chính: phận sinh từ trường gồm có lõi sắt cực từ dây quấn kích từ lồng ngồi lõi sắt cực từ Cực từ gắn chặt vào vỏ máy nhờ bulơng Dây quấn kích từ làm dây đồng bọc cách điện cuộn dây bọc cách điện kỹ thành khối, tẩm sơn cách điện trước đặt cực từ Các cuộn dây kích từ đặt cực từ nối tiếp với ̶̶ Cực từ phụ: đặt cực từ Lõi thép cực từ phụ thường làm thép khối thân cực từ phụ có đặt dây quấn mà cấu tạo giống dây quấn cực từ ̶̶ Gơng từ: dùng làm mạch nối liền cực từ, đồng thời làm vỏ máy ̶̶ Nắp máy: để bảo vệ máy khỏi tác động bên làm hỏng dây quấn đảm bảo an tồn cho người khơng chạm vào điện ̶̶ Cơ cấu chổi than: có nhiệm vụ đưa dòng điện chiều từ phần quay vào Cơ cấu chổi than gồm chổi than đặt hộ chổi than nhờ lò xo tì chặt lên cổ góp Hộp chổi than cố định giá chổi than cách điện với giá b) Phần quay (rotor) Là phần sinh sức điện động Gồm có mạch từ làm thép kĩ thuật điện xếp lại với nhau, mạch từ có xẻ rãnh để lồng dây quấn phần ứng THIẾT KẾ MẠCH ĐIỀU KHIỂN VÀ ĐO TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU Đồ án Vi xử lý đo lường điều khiển ̶̶ Lõi sắt phần ứng: làm nhiệm vụ dẫn từ Lõi sắt làm thép kĩ thuật điện dày 0.5mm phủ cách điện mỏng hai mặt ép chặt lại Trên thép có dập hình dạnh rãnh để lồng dây quấn ̶̶ Dây quấn phần ứng: phần sinh sức điện động Dây quấn phần ứng làm dây đồng có bọc cách điện Các cuộn dây quấn phần ứng gồm nhiều bối dây nối với theo quy luật định Mỗi bối dây gồm nhiều vòng dây, đầu dây bối dây nối với phiến đồng gọi phiến góp Dây quấn cách điện cẩn thận với rãnh lõi thép ̶̶ Cổ góp: với cấu chổi than có nhiệm vụ đưa điện áp chiều vào dây quấn phần ứng đảo chiều dòng điện cuộn dây phần ứng 2.2.2 Nguyên lý hoạt động Động điện chiều hoạt động dựa tác dụng từ trường lên khung dây dẫn có dòng điện chạy qua đặt từ trường Khi có dòng điện chạy qua dây quấn phần ứng đặt từ trường stator, cuộn dây chịu tác động lực từ theo nguyên lý bàn tay trái Fleming Các lực gây nên momen quay cho cuộn dây khiến cho rotor quay Khi quay nửa vòng, vị trí hai cạnh bên cuộn dây hốn đổi cho Nhờ có phận cổ góp mà chiều dòng điện giữ ngun làm cho chiều lực từ tác động không thay đổi Tuy nhiên, mặt phẳng khung dây vng góc với đường sức từ momen lực từ gần không Điều làm rotor quay không Để khắc phục điều này, ta thêm nhiều cuộn dây xen kẽ liên tiếp Trong thực tế, phần rotor gắn thêm lõi sắt xem vào vòng dây trục quay để tăng cường thêm lực từ 2.2.3 Đặc điểm phân loại Động chiều có qn tính tương đối nhỏ, dễ điều chỉnh tốc độ khoảng rộng Động chiều có momen khởi động làm việc ổn định tải thay đổi Tuy nhiên, động chiều có cấu tạo phức tạp có cấu chổi than vành góp nên phải bảo dưỡng định kì Ưu điểm động chiều có nhiều phương pháp thay đổi tốc độ, dễ dàng việc điều chỉnh tốc độ chiều quay nên sử dụng rộng rãi công nghiệp Phân loại theo phương pháp kích từ, ta có loại động điện chiều sau: Kích từ độc lập: phần ứng cuộn kích từ cấp điện hai nguồn chiều riêng rẽ THIẾT KẾ MẠCH ĐIỀU KHIỂN VÀ ĐO TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU Đồ án Vi xử lý đo lường điều khiển Kích từ song song: cuộn kích từ phần ứng mắc song song với Kích từ nối tiếp: cuộn kích từ mắc nối tiếp với phần ứng Kích từ hỗn hợp: gồm có hai cuộn dây kích từ, cuộn mắc song song với phần ứng, cuộn lại mắc nối tiếp với phần ứng Tương ứng với loại động đặc tính, đặc điểm kĩ thuật, điều khiển ứng dụng tương đối khác phụ thuộc vào nhiều yếu tố Trong đề tài này, nhóm em xét đến động điện chiều kích từ độc lập biện pháp hữu hiệu để điều khiển loại động 2.2 Các phương pháp điều chỉnh tốc độ động chiều Ta có phương trình đặc tính động chiều kích từ độc lập: ω= ̶ đó: ω – tốc độ góc động – điện áp phần ứng – điện trở dây quấn phần ứng động M – momen phần ứng động (bỏ qua tổn thất từ M = = = k ) k – hệ số cấu tạo động – từ thơng động Từ phương trình đặc tính cho thấy để điều chỉnh tốc độ động chiều, ta điều chỉnh thông số sau: Điều chỉnh điện áp phần ứng Điều chỉnh cách thêm điện trở phụ vào mạch phần ứng Điều chỉnh từ thông Ta phân tích trường hợp cụ thể 2.2.1 Điều chỉnh tốc độ động cách thay đổi giá trị điện trở phụ mạch phần ứng Giả thiết = = const = Muốn thay đổi giá trị điện trở mạch phần ứng, ta mắc thêm điện trở phụ vào mạch phần ứng Thay đổi giá trị làm thay đổi tốc độ động Phương trình đặc tính lúc là: ω= ̶ Ta nhận thấy, tăng giá trị điện trở phụ tốc độ động giảm Xét đặc tính động chiều mắc vào mạch phần ứng sau: THIẾT KẾ MẠCH ĐIỀU KHIỂN VÀ ĐO TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU Đồ án Vi xử lý đo lường điều khiển Ta có: ω = ̶ = – Δω : tốc độ khơng tải động Δω độ sụt tốc độ Theo đường đặc tính ta có: Δ= Δ= Δ= Ta giải thiết U, , số Do momen M số Thấy ngay: Δ < Δ < Δ Như với giá trị điện trở phụ nối vào mạch phần ứng lớn tốc độ động giảm Độ cứng đặc tính cơ: = = = = = Vậy > > Nhận xét: - Nếu giá trị momen cản độ sụt tốc độ lớn điện trở mạch phần ứng lớn, làm cho tốc độ động bị suy giảm, đồng thời làm cho độ cứng đặc tính giảm Dựa vào đồ thị đặc tính cơ, ta thấy tốc độ làm việc , động đường đặc tính nhân tạo (2) (3) nhỏ tốc độ đường đặc tính tự nhiên Vậy phương pháp nối điện trở phụ vào mạch phần ứng động điều chỉnh tốc độ động phía dưới, độ điều chỉnh nhỏ tốc độ định mức - Hiệu suất phương pháp tương đối thấp Điều chỉnh tốc độ theo phương pháp khơng kinh tế, có tổn hao điện trở phụ làm hiệu suất thiết bị giảm Vì phương pháp thực tế sử dụng THIẾT KẾ MẠCH ĐIỀU KHIỂN VÀ ĐO TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU Đồ án Vi xử lý đo lường điều khiển 2.2.2 Điều chỉnh tốc độ động cách thay đổi từ thông cuộn kích từ Giả thiết = = const = const Muốn thay đổi độ lớn từ thông ta phải thay đổi dòng điện kích từ động Điều thực cách mắc nối tiếp biến trở vào mạch kích từ hay thay đổi điện áp cấp cho mạch kích từ Bình thường động làm việc chế độ định mức với kích thích tối đa ( = ) mà phương pháp cho phép tăng điện trở vào mạch kích từ nên điều chỉnh theo hướng giảm từ thông tức điều chỉnh tốc độ vùng tốc độ định mức Nên giảm tốc độ khơng tải lý tưởng = tăng, độ cứng đặc tính = giảm, ta thu họ đặc tính nằm đường đặc tính tự nhiên Hình 2.1: Họ đặc tính thay đổi từ thơng cuộn kích từ Khi tăng tốc độ động cách giảm từ thơng dòng điện tăng tăng mức giá trị cho phép momen động khơng đổi Vì muốn giữ cho dòng điện khơng vượt q giá trị cho phép đồng thời với việc giảm từ thơng ta phải giảm momen tải theo tỉ lệ Đặc điểm phương pháp: - Phương pháp điều chỉnh tốc độ vùng cao tốc độ định mức THIẾT KẾ MẠCH ĐIỀU KHIỂN VÀ ĐO TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU Đồ án Vi xử lý đo lường điều khiển 4.2 Sử dụng CodeVisionAVR để viết chương trình cho vi điều khiển Tạo project CodeVisionAVR với vi điều khiển Atmega16 Sau ta thiết lập thơng số sau: Trong mục Chip, nhập tần số thạch anh sử dụng ô Clock Ở 8MHz Ở mục Ports, ta cần thiết lập cổng PD1, PD3, PD5 làm ngõ set điện trở kéo lên Trong mục Timers/Counters Timer định khoảng thời gian cố định để đếm xung từ encoder Ta đặt giá trị ban đầu Timer 6, Timer có 255+1-6 =250 giá trị đếm Nếu ta dùng thạch anh 8MHz, chu kì máy 1/8MHz = 0.125 s Như chu kì đếm 31.25s Tuy nhiên nhanh để vi điều khiển tiếp nhận THIẾT KẾ MẠCH ĐIỀU KHIỂN VÀ ĐO TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU 41 Đồ án Vi xử lý đo lường điều khiển xử lý liệu Vì ta cần delay khoảng thời gian dài cách thiết lập chia tần thành /1024 mục Clock Value Một chu kì máy lúc 1024*31.25s = 32ms Kết hợp với biến countT0 đếm số chu kì đếm timer (đặt 20) ta có khoảng thời gian 640 ms Ở mục External Interupts, ngắt ngồi Timer kích hoạt có Falling Edges xung vng từ encoder THIẾT KẾ MẠCH ĐIỀU KHIỂN VÀ ĐO TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU 42 Đồ án Vi xử lý đo lường điều khiển Timer có nhiệm vụ tạo xung vuông PWM cấp cho động Trong tab Timer 1, mục Mode ta chọn Fast PWM top = ICR1 Timer có khả tạo xung PWM riêng biệt qua kênh A B ta cần sử dụng kênh A Xung PWM xuất chân OC1A, ta chọn đầu Non-Inverted PWM mục Out.A Ta cần tạo xung PWM với tần số kHz, suy chu kì xung PWM ms Với thạch anh 8MHz, tương ứng với chu kì máy 0.125 s, ta cần 8000 giá trị đếm để định khoảng thời gian ms Tuy nhiên cần đặt giá trị ICR1 = 7999 (1F3F) lần tràn từ 7999 OCR1A ban đầu đặt (tương ứng với 0% duty cycle) Giá trị tăng giảm thông qua biến temp THIẾT KẾ MẠCH ĐIỀU KHIỂN VÀ ĐO TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU 43 Đồ án Vi xử lý đo lường điều khiển Ta đọc tín hiệu từ phím bấm thơng qua ngắt Timer để tránh vi điều khiển xử lý nhiều công việc thời điểm Các thông số giống Timer Thiết lập hiển thị LCD Các chân LCD cần phải chọn lại cho với sơ đồ nguyên lý THIẾT KẾ MẠCH ĐIỀU KHIỂN VÀ ĐO TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU 44 Đồ án Vi xử lý đo lường điều khiển Sau thiết lập xong, ta lưu project lại Phần mềm tạo cho ta file main.c Việc lại khai báo biến, thiết lập câu lệnh hàm tạo sẵn chương trình cho phù hợp với u cầu điều khiển Code hoàn chỉnh: #include #include #include #include #define Tang PINB.0 #define Giam PINB.1 #define Dao PINB.2 #define Stop PINB.3 unsigned long encoder=0; //Khoi tao bien dem encoder unsigned char countT0=0,countT2=0 ; //Khoi tao bien dem Timer 0, Timer unsigned int speed; //Khai bao bien toc unsigned int temp=0; //Gia tri cua temp se duoc nap vao OCR1A unsigned char phantram=0; //Khoi tao duty cycle char lcd[20]; ********************************************************************* //Ham ngat ngoai Timer interrupt [EXT_INT0] void ext_int0_isr(void) { encoder++; } THIẾT KẾ MẠCH ĐIỀU KHIỂN VÀ ĐO TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU 45 Đồ án Vi xử lý đo lường điều khiển //Ham ngat tran Timer interrupt [TIM0_OVF] void timer0_ovf_isr(void) { TCCR0=(0