ĐẠI HỌC QUỐC GIA HÀ NỘI<br />
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ<br />
<br />
BÀI TẬP LỚN<br />
Môn: Vi xử lý, vi điều khiển<br />
Đề bài: Thiết kế bộ điều khiển tốc độ của động cơ điện một chiều<br />
<br />
GVHD: PGS.TS Phạm Mạnh Thắng<br />
ThS. Hoàng Văn Mạnh<br />
Nhóm sinh viên: Nhóm 18<br />
Lớp: K57M<br />
Khoa Cơ học kỹ thuật và Tự động hóa<br />
<br />
Hà Nội, ngày 21/11/2015<br />
<br />
Bài tập lớn<br />
<br />
Lời mở đầu<br />
Nước ta đang đang trong công cuộc công nghiệp hóa, tự động hóa, đổi mới phát<br />
triền toàn diện. Phục vụ cho công cuộc đổi mới này đó là các máy móc hiện đại được điều<br />
khiển vô cùng phức tạp; nhưng cũng vì thế mà làm giảm được tối đa sự góp mặt của con<br />
người vào các quá trình sản xuất đó. Tự động hóa phát triển kéo theo những công nghệ<br />
điều khiển tiên tiến cũng phát triển và đóng góp vai trò vô cùng quan trọng trong sản xuất.<br />
Có thể kể đến đó là những rô bốt công nghiệp, tay máy hay các dây chuyền tự động được<br />
lập trình sẵn đó là những quá trình lớn. Ở trong một phạm vi nhỏ hơn, việc điều khiển được<br />
thực hiện một cách dễ dàng với những vi xử lý hoặc những vi điều khiển được lập trình sẵn<br />
cũng góp mặt vô cùng nhiều trong các ứng dụng thực tế trong cuộc sống.<br />
Trong các ứng dụng liên quan đến truyền động, một thành phần gần như không thể<br />
thiếu đó là các động cơ điện, nó có tác dụng gây ra các lực làm các cơ cấu chấp hành hoạt<br />
động. Động cơ điện có rất nhiều ứng dụng trong cuộc sống, nhất là trong sản xuất công<br />
nghiệp. Việc điều khiển được tốc độ cũng như chiều quay của nó cũng là một vấn đề cần<br />
giải quyết. Kết hợp với vi điều khiển, việc điều khiển động cơ trở lên dễ dàng hơn rất<br />
nhiều.<br />
Xuất phát từ yêu cầu đó, nhóm chúng em đã nghiên cứu và làm một bài tập về điều<br />
khiển động cơ điện một chiều đó là “thiết kế bộ điều khiển tốc độ động cơ điện một chiều”<br />
với yêu cầu là điều khiển quay nhanh, quay chậm, quay thuận, quay ngược và dừng. Vận<br />
dụng các kiến thức được học trong trường nhóm đã thực hiện trên vi điều khiển ATmega16<br />
nhằm nắm được cơ bản về vi điều khiển này, cách đọc, viết, cách nhận biết các chân của vi<br />
điều khiển và vận dụng vào thực tế.<br />
<br />
Các thành viên nhóm:<br />
- Phạm Trần Hoàng<br />
- Vũ Đình Ngọc<br />
- Nguyễn Viết Bình<br />
<br />
Vi xử lý, vi điều khiển<br />
<br />
Trang 1<br />
<br />
Bài tập lớn<br />
<br />
Mục lục<br />
Phần I. Cơ sở lý thuyết ........................................................................................... 3<br />
Vi điều khiển ATmega16 ............................................................................ 3<br />
<br />
I.<br />
1.<br />
<br />
Cấu trúc nhân ........................................................................................... 4<br />
<br />
2.<br />
<br />
Sơ đồ khối ................................................................................................. 6<br />
<br />
3.<br />
<br />
Ý nghĩa các chân ...................................................................................... 7<br />
<br />
4.<br />
<br />
Bộ định thời ............................................................................................. 7<br />
<br />
II.<br />
<br />
Động cơ điện một chiều ............................................................................ 10<br />
<br />
1.<br />
<br />
Cấu tạo .................................................................................................... 10<br />
<br />
2.<br />
<br />
Nguyên lý làm việc .................................................................................. 10<br />
<br />
3.<br />
<br />
Phân loại ................................................................................................. 11<br />
<br />
III.<br />
<br />
Các phương pháp điều khiển động cơ điện một chiều ......................... 11<br />
<br />
1.<br />
<br />
Điều khiển chiều quay của động cơ điện một chiều ............................... 11<br />
<br />
2.<br />
<br />
Điều khiển tốc độ động cơ điện một chiều ............................................. 12<br />
<br />
Phần II. Nội dung .................................................................................................. 18<br />
Thiết kế và thi công phần cứng ................................................................ 18<br />
<br />
I.<br />
1.<br />
<br />
Sơ đồ khối ............................................................................................... 18<br />
<br />
2.<br />
3.<br />
<br />
Sơ đồ nguyên lý và mạch in .................................................................... 18<br />
Mô phỏng trên Proteus ........................................................................... 21<br />
<br />
4.<br />
<br />
Hình ảnh mạch thực tế. .......................................................................... 22<br />
<br />
II.<br />
<br />
Viết code cho vi điều khiển. ...................................................................... 23<br />
<br />
Phần III. Kết luận ................................................................................................. 26<br />
<br />
Vi xử lý, vi điều khiển<br />
<br />
Trang 2<br />
<br />
Bài tập lớn<br />
<br />
Phần I. Cơ sở lý thuyết<br />
I. Vi điều khiển ATmega16<br />
ATmega16 là vi điều khiển 8 bit dựa trên kiến trúc RISC. Với khả năng thực hiện mỗi lệnh<br />
trong vòng một chu kỳ xung clock, ATmega16 có thể đạt được tốc độ 1MIPS trên mỗi MHz.<br />
Ngoài ra ATmega16 có các đặc điểm sau: 16KB bộ nhớ Flash với khả năng đọc trong khi<br />
ghi, 512 byte bộ nhớ EEPROM, 1KB bộ nhớ SRAM, 32 thanh ghi chức năng chung, 32 đường vào<br />
ra chung, 3 bộ định thời/bộ đếm, ngắt nội và ngắt ngoại, USART, giao tiếp nối tiếp 2 dây, 8 kênh<br />
ADC 10 bit, ... ATmega 16 hỗ trợ đầy đủ các chương trình và công cụ phát triển hệ thống như:<br />
trình dịch C, macro assemblers, chương trình mô phỏng/sửa lỗi, …<br />
<br />
Hình 1. Hình ảnh thực tế vi điều khiển Atmega16.<br />
<br />
Hình 2. Sơ đồ chân của ATmega16<br />
Vi xử lý, vi điều khiển<br />
<br />
Trang 3<br />
<br />
Bài tập lớn<br />
1. Cấu trúc nhân<br />
CPU của Atmega16 có chức năng bảo đảm sự hoạt động chính xác các chương trình. Do đó<br />
nó phải có khả năng truy cập bộ nhớ, thực hiện các quá trình tính toán, điều khiển các thiết bị<br />
ngoại vi và quản lý ngắt.<br />
- Cấu trúc tổng quát<br />
AVR sử dụng cấu trúc Harvard, tách riêng bộ nhớ và các bus cho chương trình và dữ liệu.<br />
Các lệnh được thực hiện chỉ trong một chu kỳ xung clock. Bộ nhớ chương trình được lưu trong bộ<br />
nhớ Flash.<br />
<br />
Hình 3. Cấu trúc tổng quát Atmega16<br />
- ALU<br />
ALU làm việc trực tiếp với các thanh ghi chức năng chung. Các phép toán được thực hiện<br />
trong một chu kỳ xung clock. Hoạt động của ALU được chia làm 3 loại: đại số, logic và theo bit.<br />
- Thanh ghi trạng thái<br />
Đây là thanh ghi trạng thái có 8 bit lưu trữ trạng thái của ALU sau các phép tính số học và<br />
logic.<br />
<br />
Hình 4. Thanh ghi trạng thái<br />
<br />
Vi xử lý, vi điều khiển<br />
<br />
Trang 4<br />
<br />