Ngày nay khi khoa học công nghệ đang phát triển mạnh mẽ.Động cơ một chiều có nhiều ứng dụng trong điều khiển và sản xuất nhất là trong côngnghiệp. Trong đó nó đòi hỏi là động cơ phải có nhiều cấp tốc độ có thể tăng giảm dễdàng,độ ổn định tốc độ cao nên động cơ một chiều đã được sử dụng khá phổ biến như:truyền động cho một số máy như máy nghiền,máy nâng vận chuyển, điều khiển băng tải, điều khiển các robot…Với sự ra đời và phát triển của vi xử lý thì vấn đề điều khiển động cơ DC khôngcòn là vấn đề khó khăn nữa. Động cơ có thể điều khiển với nhiều cấp tốc độ khác nhauvà điều khiển dừng, đảo chiểu , nhanh chậm dễ dàng được Đây chính là ý tưởng để nhóm thực hiện đề tài thiết kế “ Mạch điều khiển Động Cơ DC “
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG
Phần A Thiết kế hệ thống báo khẩn trong bệnh viện dùng cho bệnh nhân
Phần B Thiết kế hệ thống báo khẩn trong bệnh viện dùng cho bệnh nhân
Phần C
Sinh viên thực hiện : Nguyễn Văn Doanh
Nguyễn Hồng Việt
Trang 2Hà Nội ngày 21tháng 6 năm 2014
BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Độc lập - Tự do - Hạnh phúc
Trang 36 Ngày giao nhiệm vụ đồ án :
Chủ nhiệm bộ môn Giảng viên hướng dẫn
Sinh viên đã hoàn thành và nộp đồ án tốt nghiệp ngày tháng năm
Cán bộ phản biện
Trang 4BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-BẢN NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP Họ và tên sinh viên: ………Số hiệu sinh viên………
Ngành :……… Khóa: ………
Giảng viên hướng dẫn : ………
Cán bộ phản biện : ………
1 Nội dung thiết kế tốt nghiệp : ………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 5………
………
………
2 Nhận xét của cán bộ phản biện : ………
………
………
………
………
………
…………
Ngày tháng năm
Cán bộ phản biện
Trang 6LỜI NÓI ĐẦU
Ngày nay khi khoa học công nghệ đang phát triển mạnh mẽ.Động cơ một chiều
có nhiều ứng dụng trong điều khiển và sản xuất nhất là trong côngnghiệp Trong
đó nó đòi hỏi là động cơ phải có nhiều cấp tốc độ có thể tăng giảm dễdàng,độ ổn định tốc độ cao nên động cơ một chiều đã được sử dụng khá phổ biến như:truyền động cho một số máy như máy nghiền,máy nâng vận chuyển, điều khiển băng tải, điều khiển các robot…Với sự ra đời và phát triển của vi xử lý thì vấn đề điều khiển động cơ DC khôngcòn là vấn đề khó khăn nữa Động cơ có thể điều khiển với nhiều cấp tốc độ khác nhauvà điều khiển dừng, đảo chiểu , nhanh chậm dễ dàng được
Đây chính là ý tưởng để nhóm thực hiện đề tài thiết kế “ Mạch điều khiển Động
Cơ DC “
Chúng em xin được gửi lời cảm ơn chân thành đến các Thầy cô trong Viện Điện
Tử - Viễn Thông đã giảng dạy và truyền đạt kiến thức chuyên ngành cho chúng
em trong thời gian vừa qua
Đặc biệt người thực hiện xin gửi lời cảm ơn sâu sắc tới cô Vũ Thị Hườngvì sự tận tình hướng dẫn cũng nhưđã tạo những điều kiện thuận lợi nhất cho chúng em để
có thể thực hiện và hoàn thành tốt đề tài này Chúng em cũng không quên cảm ơn các bạn trong lớp đã trao đổi, góp ý để người thực hiện hoàn thành đề tài này một cách tốt đẹp và đúng thờigian Mặc dù đã có nhiều cố gắng và nỗ lực thực hiện, nhưng do kiến thức cũng như khả năng bản thân còn nhiều hạn chế nên trong quá trình thực hiện đề tài không thể tránh khỏi những sai phạm, thiếu sót…Rất mong nhận được sự góp ý, chỉ dẫn từ thầy cô và các bạn sinh viên
Trang 7TÓM TẮT ĐỒ ÁN
Vận dụng những kiến thức đã được học trong quá trình học tập ở nhà
trường nhóm chúng em thực hiện đồ án này:Điều khiển động cơ một chiều (DC)
Sử dụng động cơ điện 1 chiều có gắn Encoder dùng để đưa tín hiệu tốc độ dưới dạng xung về vi điều khiển sau đó hiển thị lên màn hình LCD 16 kí tự
2 dòng
Với yêu cầu là điều khiển : Dừng, Quay thuận, Quay nghịch, Tăng tốc, Giảm tốc
Để điều khiển tốc độ của động cơ một chiều thì có rất nhiều phương
pháp,trong đồ án của mình chúng em xin trình bày điều khiển động cơ dùng
họ vi điều khiển AVR bằng phương pháp đếm xung (dùng động cơ có
sử dụng encoder)
Trong đồ án của mình chúng em sử dụng IC Atmega16để lập trình điều khiển động cơ một chiều DC 5V
Trang 8MỤC LỤC
Chương 1: Mở Đầu
1.1Khái quát vấn đề
1.2 Mục tiêu yêu cầu của đề tài
1.3 Nội dung đề tài
Chương 2:Cơ sở lý thuyết
2.1 Phương pháp điều chế độ rộng xung PWM
2.2 Các linh kiện sử dụng trong mạch
o 2.2.2a Sơ đồ chân ATmega16
o 2.2.2b Chức năng các chân Atmega16
2.2.3 IC tạo nguồn ổn áp chuẩn 7805
3.3 Mạch thực tế sau khi thi công
Chương 4: Lưu đồ và Code chương tình
4.1 Lưu đồ chương trình
4.2 Codechương trình
Trang 9Chương 1 Mở đầu 1.1Khái quát vấn đề
Ngày nay, nhu cầu học tập và nghiên cứu các ứng dụng công nghệ Vi điều khiển ngày càng tăng trưởng mạnh mẽ Các công trình nghiên cứu và ứng dụng côngnghệ này đều rất phong phú, đa dạng Vi điều khiển đang dần dần thay thế con người trong các ứng dụng trong thực tiễn, và một số ứng dụng thực tiễn của Vi điều khiển như: Điều khiển tốc độ động cơ, thiết kế bảng led điện tử, đếm sản phẩm, đo và khống chế nhiệtđộ…
Với ưu điểm là điều khiển tốc độ động cơ dễ dàng, độ ổn định tốc độ cao nên động cơ một chiều đã được sử dụng khá phổ biến như: truyền động cho một sốmáy như máy nghiền ,máy nâng vận chuyển, điều khiển băng tải, điều khiển các robot…
Động cơ 1 chiều có nhiều ứng dụng trong điều khiển và sản xuất nhất là trong công nghiệp Trong đó nó đòi hỏi là động cơ phải có nhiều cấp tốc độ có thể tăng giảm dễdàng
Với sự ra đời và phát triển của vi xử lý thì vấn đề điều khiển động cơ 1 chiều không còn là vấn đề khó khăn nữa Động cơ có thể điều khiển với nhiều cấp tốc
độ khác nhau và điều khiển dừng, đảo chiểu , nhanh chậm dễ dàng được
Trang 101.2 Mục tiêu yêu cầu của đề tài:
Vi xử lý AVR là loại dòng vi xử lý khá là thông dụng đã có mặt từ rất lâu và được ứng dụng vào nhiều các thiết bị điều khiển hay tự động hóa Nên việc điều khiển động cơ 1 chiều với dòng vi xử lý này là 1 phương pháp tối ưu và kinh tế đối với bài toán điều khiển động cơ DC ngày nay
1.3 Nội dung đề tài
Ứng dụng vi điều khiển AVR để chế tạo mạch điều khiển tốc độ động cơ DC
Trang 11Chương 2 : Cơ sở lý thuyết
Đối với điều khiển tốc độ động cơ DC trong robot, phương pháp được sử dụng phổ biến nhất là điều chế độ rộng xung (Pulse Width Modulation) hay được gọi tắt
là điều xung, băm xung hoặc PWM
2.1Phương pháp điều xung PWM
PWM là phương pháp điều chỉnh điện áp ra tải hay nói cách khác là phương pháp điều chế dựa trên sự thay đổi độ rộng của chuỗi xung vuông dẫm đếm sự thay đổi điện áp ra
Các PWM khi biến đổi thì có cùng 1 tần số và khác nhau về độ rộng của sườn dương hay hoặc là sườn âm
Trang 12Trên là đồ thị dạng xung khi điều khiển bằng PWM Với độ rộng xung đầu ra tương ứng và được tính bằng % tùy thích do chúng ta điều khiển
Để tạo được ra PWM thì hiện nay có hai cách thông dụng : Bằng phần cứng và bằng phần mềm Trong phần cứng có thể tạo bằng phương pháp so sánh hay là từ trực tiếp từcác IC dao động tạo xung vuông như : 555, LM556 Trong phần mền được tạo bằng các chip có thể lập trình được Tạo bằng phần mền thì độ chính xáccao hơn là tạo bằng phần cứng,nên người ta hay sử dụng phần mền để tạo PWM Trong phạm vi yêu cầucủa đề tài em đã chọn cách hai,cụ thể là lập trình
Atmega16
Điều xung PWM bằng phần mềm:
Điều xung PWM một cách đơn giản là đưa 1 chân nào đó của vi điều khiển
lên mức 1, sau đó đưa xuống mức 0 Công việc này được lặp đi lặp lại liên tục sẽ tạo ra xung, và tốc độ của động cơ sẽ tương ứng với duty cycle
2.2Các linh kiện sử dụng trong mạch.
Có rất nhiều loại vi điều khiển khác nhau có thể sử dụng trong mạch điều khiển tốc độ DC này như vi điều khiển PIC , 8051,AVR…
Vi điều khiển AVR có nhiều ưu điểm hơn so với 8051, PIC như hỗ trợ
kết nối ngoại vi tốt hơn, tốc độ xử lý nhanh hơn, lập trình đơn giản hơn
Trang 132.2.1Giới thiệu Vi Điều Khiển ATmega16
AVR là họ vi điều khiển do hãng Atmel sản xuất.Đây là họ vi điều khiển 8 bit,
xử lý nhanh và tiêu thụ ít năng lượng (< 1.1mA tại 3v-1Mhz ) Ngoài ra còn được tích hợp thêm mạch ADC, gõ ra điều rộng xung, giao tiếp I2C, bộ nhớ EEPROM,USART, WATCHDOG, dao động nội và lập trình trên hệ thống ISP Thêm vào
đó AVR còn được hỗ trợ mạnh mẽ bởi các phần mềm lập trình như Code Vision, Bascom Avr studio.v.v…… làm giảm độ phức tạp cũng như thân thiện hơn với ngôn ngữ con người Do đó AVR ngày càng được ứng dụng rộng rãi trong đời sống cũng như trong giáo dục và đào tạo
2.2.2 Mô tả Atmega16
Hiệu năng cao, tiêu thụ ít năng lượng
Kiến trúc RISC:
• 131 lệnh – hầu hết các lệnh thực thi trong một chu kỳ máy
• 32 thanh ghi 8 bit đa năng
• Tốc độ thực hiện lên tới 16 triệu lệnh trong 1 giây (tần số16MHz)
Các bộ nhớ chương trình và bộ nhớ dữ liệu:
• 32Kbyte bộ nhớ Flash có khả năng tự lập trình trong hệ thống
Có thể thực hiện được 10.000 lần ghi xóa
• Vùng mã Boot tùy chọn với những bit khóa độc lập
• Lập trình trong hệ thống bởi chương trình on-chip boot
• Thao tác đọc ghi trong khi nghỉ
Trang 14• 2 bộ định thời/bộ đếm 8 bit với bộ chia tần số độc lập và chế độ so sánh 1
bộ định thời/bộ đếm 16 bit với bộ chia tần số, chế độ so sánh vàchế độ bắt mẫu (Capture)
• Bộ đếm thời gian thực với bộ dao động độc lập
• Bốn kênh PWM
• Bộ ADC 8 kênh 10 bit
• Bộ truyền dữ liệu đồng bộ/bất đồng bộ USART
• Bộ truyền dữ liệu chuẩn SPI
• Watchdog timer khả trình với bộ dao động nội riêng biệt
• Bộ so sánh Analog
Các đặc điểm khác:
• Power-on Reset và phát hiện Brown-out khả trình
• Bộ tạo dao động nội
• Nguồn ngắt nội và ngoại
• 6 chế độngủ: Idle, ADC noise reduction, Power-save,
• Power-down, Standby và Extended Standby
Ngõ vào/ra: có 32 ngõ vào ra
Điện áp hoạt động:
• 2.7V – 5.5V đối với Atmega16L
• 4.5V – 5.5V đối với Atmega16
Tần số hoạt động:
• 0 – 8MHz đối với Atmega16L
• 0 – 16MHz đối với Atmega16
Trang 152.2.2aCấu trúc bên trong
Trang 16
Phần lõi AVR kết hợp tập lệnh phong phú với 32 thanh ghi đa dụng
Toàn bộ 32 thanh ghi này đều kết nối trực tiếp với ALU (Arithmetic Logic Unit), cho phép truy cập 2 thanh ghi độc lập với 1 lệnh thực thi trong 1 chu kỳ xung nhịp Cấu trúc đạt được có tốc độ xử lý nhanh gấp 10 lần so với vi điều khiển CISC thông thường
Với các tính năng đã nêu trên, khi ở chế độ nghỉ (Idle), CPU vẫn
cho phép các chức năng khác hoạt động như: USART, giao tiếp 2 dây,
chuyển đổi A/D, SRAM, bộ đếm/bộ định thời, cổng SPI và các chế độ
ngắt Chế độ Power-down lưu giữ nội dung các thanh ghi nhưng làm ngừng bộ tạo dao động, thoát khỏi các chức năng của chip cho đến khi có
ngắt ngoài hoặc reset phần cứng Trong chế độ Power-save, đồng hồ đồng
bộ tiếp tục chạy cho phép chương trình có thể giữ được sự đồng bộ về
thời gian nhưng các thiết bị còn lại ở trong trạng thái ngủ Chế độ ADC
Noise Reduction dừng CPU và tất cả các thiết bị còn lại ngoại trừ đồng hồ
đồng bộ và ADC, giảm thiểu nhiễu khi ADC hoạt động Ở chế độStandby, bộ tạo dao động chạy trong khi các thiết bị còn lại ở trạng thái ngủ Những đặc điểm này cho phép bộ vi điều khiển khởi động rất nhanh trong chế độ tiêu thụ công suất thấp
Trang 17AVR được sản xuất sử dụng công nghệ bộ nhớ cố định mật độ cao
của Atmel Bộ nhớ On-chip ISP Flash cho phép lập trình lại vào hệ thống
thông qua giao diện SPI bởi bộ lập trình bộ nhớ cố định truyền thống hoặc
bởi chương trình On-chip Boot chạy trên lõi AVR Chương trình Boot có
thể sử dụng bất cứ giao diện nào để download chương trình ứng dụng
trong bộ nhớ Flash Phần mềm trong vùng Boot Flash sẽ tiếp tục chạy
trong khi vùng Application Flash được cập nhật, giúp tạo ra thao tác Read-While-Write thực sự Nhờ việc kết hợp một bộ 8bit RISC CPU với In-System Self-Programmable Flash chỉ trong một chip, Atmega16 là một vi điều khiển mạnh có thể cung cấp những giải pháp có tính linh động
cao, giá thành rẻ cho nhiều ứng dụng điều khiển nhúng Atmega16 được
hỗ trợ đầy đủ với các công cụ hỗ trợ phát triển cũng như lập trình, bao
gồm: trình biên dịch C, macro assembler, mô phỏng/dò lỗi lập trình, mô
phỏng mạch điện và các bộ kit thí nghiệm
Trang 182.2.2b Sơ đồ chân của Atmega16
Ý nghĩa các chân
-GND: chân nối mass
- VCC: điện áp nguồn
Trang 19- Port A (PA0…PA7): ngõ vào/ra Port A.
Các chân Port A cũng là ngõ vào analog của bộ chuyển đổi A/D
Port B (PB0…PB7): ngõ vào/ra Port B
Các chức năng khác của Port B:
Trang 20 Port C (PC0…PC7): ngõ vào/ra Port C
Các chức năng khác của Port C:
Port D (PD0…PD7): ngõ vào/ra Port D
Các chức năng khác của Port D:
Trang 21 Reset: Chân ngõ vào Khi đặt vào chân này điện áp mức thấp trong
thời gian xác định (xem trong datasheet) thì sẽ reset chương trình Nếu thời
gian ngắn hơn thì việc reset không thành công
XTAL1: ngõ vào khuếch đại dao động đảo và cũng là ngõ vào mạch tạo xungnội
XTAL2: ngõ ra của mạch khuếch đại dao động đảo
AVCC: là chân nguồn cấp cho Port A và bộ chuyển đổi A/D Nên nối chân này với chân VCC ngay cả khi không sử dụng ADC Nếu dùng ADC thì nên nối chân này với chân VCC qua 1 tụ lọc thông thấp
AREF: chân tham chiếu điện áp analog của bộ chuyển đổi A/D
2.2.3 IC tạo ổn áp 7805:( IC ổn áp 12V).
Với những mạch điện không đòi hỏi độ ổn định của điện áp quá cao, sử dụng
IC ổn áp thường được người thiết kế sử dụng vì mạch điện khá đơn giản Các loại ổn áp thường được sử dụng là IC 78xx, với xx là điện áp cần ổn
Trang 22áp Ví dụ 7805 ổn áp 5V, 7812 ổn áp 12V Việc dùng các loại IC ổn áp 78xx tương tự nhau, dưới đây là minh họa cho IC ổn áp 7805
Dưới đây là minh họa cho IC ổn áp 7805
IC 7805 có 3 chân:
Chân số 1 là chân IN
Chân số 2 là chân GND
Chân số 3 là chân OUT
Ngõ ra OUT luôn ổn định ở 12V dù điện áp từ nguồn cung cấp thay đổi Mạch này dùng để bảo vệ những mạch điện chỉ hoạt động ở điện áp 12V (cácloại IC thường hoạt động ở điện áp này) Nếu nguồn điện có sự cố đột ngột: điện áp tăng cao thì mạch điện vẫn hoạt động ổn định nhờ có IC 7805 vẫn giữ được điện áp ở ngõ ra OUT 125V không đổi
Mạch trên lấy nguồn một chiều từ một máy biến áp với điện áp từ 7V đến 9Vđểđưa vào ngõ IN Khi kết nối mạch điện, do nhiều nguyên nhân, người dùng
dễ nhầm lẫn cực tính của nguồn cung cấp khi đấu nối vào mạch, trong trườnghợp này rất dễ ảnh hưởng đến các linh kiện trên board mạch Vì lí do đó một diode cầu được lắp thêm vào mạch, diode cầu đảm bảo cực tính của nguồn cấp cho mạch theo một chiều duy nhất, và nguời dùng cũng không cần quan tâm đến cực tính của nguồn khi nối vào ngõ IN nữa
2.2.4 Màn hình LCD
Trang 23 Loại hiển thị ký tự (character LCD) có các kích cỡ: 16x1, 16x2, 16x4…mỗi
ký tự được tạo thành bởi một ma trận các điểm sáng kích thước 5x7 hoặc 5x10 điểm ảnh
Loại hiển thị đồ họa (Grafic LCD) đen trắng hoặc màu, gồm các kíc thước
1.47 inch (128x128 điểm ảnh) 1,8 inch (128x160 điểm ảnh), 2inch(176x220điểm ảnh), 2,2 inch (240x320 điểm ảnh), 2,4 inch (240x320 điểm ảnh), 3,5inch(320x240 điểm ảnh), 4,3 inch (480x272 điểm ảnh ), 7 inch (800x480điểm ảnh), 8inch (800x600 điểm ảnh) Được dùng nhiều trong điện thoại di động, máy ảnh số, camera …
2.2.4 a Cấu tạo LCD 16x2 ( 2 dòng 16 kí tự )
Hình ảnh minh họa hình dạng thực tế LCD:
Trang 24Sơ đồ chân LCD 16x2
Trang 25 Ý nghĩa các chân của LCD
Chân Vcc, Vss và Vee :Cấp dương nguồn -5V và đất tương ứng thì Vee được dùng để điều khiển độ tương phản của LCD
Chân chọn thanh ghi RS (Register select): Có hai thanh ghi rất quan trọng bên trong LCD, chân RS được dùng để chọn các thanh ghi này như sau: Nếu RS = 0thì thanh ghi mã lệnh được chọn để cho phép người dùng gửi đến một lệnh như xóa màn hình, con trỏ về đầu dòng… Nếu RS = 1 thì thanh ghi dữ liệu được chọn cho phép người dùng gửi dữ liệu cần hiển thị
2 Vcc - Dương nguồn 5 V
3 Vee - Cấp nguồn cho điều khiển
4 RS I RS= 0 chọn thanh ghi lệnh RS= 1 chọn thanh ghi
dữ liệu
5 R/W I R/W= 1 đọc dữ liệu R/W = 0 ghi dữ liệu
6 E I/O Cho phép
7 DB0 I/O Các bit dữ liệu
8 DB1 I/O Các bit dữ liệu
9 DB2 I/O Các bit dữ liệu
10 DB3 I/O Các bit dữ liệu
11 DB4 I/O Các bit dữ liệu
12 DB5 I/O Các bit dữ liệu
13 DB6 I/O Các bit dữ liệu
14 DB7 I/O Các bit dữ liệu
Trang 26 Chân đọc/ghi(R/W) : Đầu đọc/ghi cho phép người dùng ghi thông tin trên LCD Khi R/W = 0 thì ghi, R/W = 1 thì đọc.
Chân cho phép E(Enable): Chân cho phép E được sử dụng bởi LCD để chốtthông tin hiện hữu trên chân dữ liệu của nó, khi dữ liệu được cấp đến chân
đữ liệu thì một mức xung từ cao xuống thấp phải được áp đến chân này để LCD chốt dữ liệu trên các chân chốt dữ liệu Xung này phải rộng tối thiểu 450ns
Chân D0- D7.Đây là 8 chân dữ liệu 8 bit, được dùng để gửi
thông tin lên LCD hoặc đọc nội dung của các thanh ghi trên
Các mã lệnh LCD
Trang 272.2.4b Các lệnh giao tiếp LCD
Để thực hiện các giao tiếp với LCD cần có các lệnh và địa chỉ lệnh
Các lệnh được mô tả dưới bảng sau:
Trang 30 Ghi chú:
Thời gian thời gian cực đại khi tần số fCP hoặc fosc là 250KHz.
Thời gian thực thay đổi khi tần số thay đổi Khi tần số fEP hay fosc là 270kHz thì thời gian thực hiện tính 250/270 x 4 = 35 µs…
Các ký hiệu viết tắt trong bảng là :
DD RAM :RAM dữ liệu hiển thị (Display Data RAM)CG RAM
RAM máy phát ký tự (character Generator)
ACC :Địa chỉ của RAM máy phát ký tự
ADD :Địa chỉ của RAM dữ liệu hiển thị phù hợp với địachỉ con trỏ
AC : Bộ đếm địa chỉ (Address Counter) được dùngcác địa chỉ DDRA vàCG RAM