Thiết kế mạch điều khiển tốc độ động cơ có hồi tiếp Bài tập lớn vi xử lý Viện điện tử truyền thông Đại học Bách Khoa Hà Nội
Trang 1VIỆN ĐIỆN TỬ VIỄN THÔNG
====o0o====
BÁO CÁO BÀI TẬP LỚN VI XỬ LÝ
ĐỀ TÀI:
THIẾT KẾ MẠCH ĐIỀU KHIỂN TỐC ĐỘ
ĐỘNG CƠ CÓ HỒI TIẾP
Nhóm:
GVHD: PGS.TS PHẠM NGỌC NAM
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ VIỄN THÔNG
====o0o====
BÁO CÁO BÀI TẬP LỚN VI XỬ LÝ
ĐỀ TÀI:
THIẾT KẾ MẠCH ĐIỀU KHIỂN TỐC ĐỘ
ĐỘNG CƠ CÓ HỒI TIẾP
Nhóm: 32 – TC301 – kỳ 20122 GVHD: PGS.TS PHẠM NGỌC NAM
Trang 3Hà Nội, 5/2013 NHÓM – TC301
Thành viên (#1 là trưởng nhóm):
1
2
3
4
5
Nhận xét (phần GVHD ghi):
Trang 4
Tiêu chí đánh giá Thang điểm
1 Điểm trừ
1.1 Không có sản phẩm
1.2 Không có báo cáo bản cứng
1.3 Thiếu chức năng: bật/tắt động cơ
1.4 Thiếu chức năng: cài đặt, hiển thị các tham số động cơ (tốc độ cài
đặt, sai số cho phép)
1.5 Thiếu chức năng: hiển thị tốc độ hiện thời của động cơ
1.6 Thiếu chức năng: cảnh báo nếu tốc độ quá cao/thấp (vượt qua sai
số cho phép)
1.7 Thiếu chức năng: hiển thị ngày, giờ hiện tại
1.8 Thiếu chức năng: chỉnh ngày, giờ hệ thống
1.9 Thiếu chức năng: hẹn giờ bật/tắt động cơ
1.10 Thiếu chức năng: hiển thị nhiệt độ hiện thời
1.11 Thiếu một đoạn code viết bắng ASM
1.12 PCB không có tên nhóm và các thành viên
1.13 Báo cáo sơ sài/thiếu nội dung (tên để tài/nhóm/mục lục/yêu cầu
của đề tài/kế hoạch nhóm/thiết kế sơ đồ khối/code)
2 Điểm cộng
2.1 Mạch in và sắp xếp linh kiện đẹp/Mạch in thủ công
2.2 Các chức năng đã thực hiện có đáp ứng tốt (độ nhạy, tốc độ tính
toán, hiển thị)
2.3 Có chức năng: hiển thị chiều quay của động cơ
2.4 Có chức năng: lưu cấu hình hệ thống trước khi tắt và khôi phục lại
khi bật
2.5 Hiển thị thời gian đáp ứng tốc độ (từ lúc điều chỉnh đến khi đạt
tốc độ ổn định đã cài đặt)
2.6 Dễ sử dụng (bàn phím lớn, ghi chú rõ ràng, thao tác đơn giản)
2.7 Trình bày rõ ràng, trả lời được các câu hỏi chuyên môn
TỔNG ĐIỂM:
Trang 6MỤC LỤC LỜI NÓI ĐẦU……… CHƯƠNG 1: MÔ TẢ ĐỀ TÀI
1.1 Yêu cầu chức năng 1.2 Sơ đồ khối hệ thống 1.3 Kế hoạch thực hiện và phân chia công việc
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
2.1 Khối nguồn 2.2 Khối vi xử lý 2.3 Khối công suất 2.4 Khối hiển thị 2.5 Khối giao tiếpbàn phím và cảm biến nhiệt độ 2.6 Hình ảnh layout
2.7 Hình ảnh thật của sản phẩm
CHƯƠNG 3: KẾT LUẬN
Tài liệu tham khảo Phụ lục A: Software Code (Viết trên CCS) Phụ lục B: Hướng dẫn sử dụng
Trang 7Lời Nói Đầu:
Động cơ dc được ứng dụng vào nhiều lĩnh vực trong cuộc sống (trong công nghệ chế tạo robot…).mach điều khiển động cơ có ý nghĩa rất quan trọng trong việc điều khiển động cơ theo mục đích của người sử dụng.bên cạnh mục đích chính là điều khiển động cơ ,ngoài ra còn có thêm một sổ chức năng khác như hiển thị thời gian thực trên LCD,hiển thị nhiệt độ trên led
Bài tập lớn của môn vi xử lý chúng em làm lần này gúp chúng em rèn lyện thêm các kỹ năng lập trình cho pic c,cách mô phỏng mạch trên proteus và kỹ năng làm mạch in trên orcard hoặc altium vận dụng những kiến thức đã học trên giảng đường vào thực tế và đồng thời rèn luyện được kỹ năng làm việc nhóm
Trang 8CHƯƠNG 1:MÔ PHỎNG ĐỀ TÀI
1.1 Yêu cầu chức năng
Mạch điều khiển tốc đo động cơ có hồi tiếp bao gồm các chức năng chính sau:
-Hiển thị thời gian thực trên LCD 16x2,cài đặt và thay đổi thời gian thực -Hiển thị nhiệt độ trên LED 7 thanh
-Hiển thị tốc độ động cơ trên led 7 thanh
-Tăng,giảm tốc độ động cơ ,nhập tốc độ động cơ từ bàn phím,cảnh báo khi động cơ quay với vận tốc vượt quá 1 ngưỡng nào đó
1.2 Sơ đồ khối hệ thống
Trang 91.3 Kế hoạch thực hiện và phân chia công việc
Trang 10CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
2.1 Khối nguồn
Nguồn đưa vào hệ thống là nguồn 12V DC, Yêu cầu điện áp sử dụng cho chip PIC và các linh kiện điện tử là 5V
Trang 112.2 Khối vi xử lý
-Vi điều khiển: Ở đây sử dụng vi điều khiển PIC 16F877A
-Khối này cũng rất quan trọng không khác gì khối nguồn nó đảm nhận nhiệm
vụ xử lý các dữ liệu chứa trong chương trình từ đó có thể điều khiển các đối tượng khác làm một công việc gì đó ,điều khiển truy xuất dữ liệu các khối còn lại trong mạch nói chung khối công xuất có thể làm nhiều công việc khác nhau tùy theo người lập trình viết ra để làm một công việc gì đó tùy theo nhu cầu sử dụng
2.3 Khối hiển thị
- bao gồm 1 màn hình hiển thị LCD 16x2,4 led 7 thanh
Màn hình LCD 16x2
Trang 12Đây là loại gồm 16 ký tự x2 dòng ,mỗi ký tự được tạo ra từ một ma trận điểm sáng kích cỡ 5×7 hoặc 5×10
*Sơ đồ chân:
*Nguyên lý hoạt động
-Các chân 1,2,3 là các chân VSS , VDD, VEE trong đó VSS chân nối đất , VEE chân chọn độ tương phản chân này dc chọn qua 1 biến trở 5K một đầu nối VCC , một đầu nối mát Chân VDD nối dương nguồn
- Chân chọn thanh ghi RS (Register Select): Có hai thanh ghi trong LCD, chân RS(Register Select) được dùng để chọn thanh ghi, như sau:
Nếu RS = 0 ở chế độ ghi lệnh như xóa màn hình , bật tắt con trỏ… Nếu RS =1 ở chế độ ghi dữ liệu như hiển thị ký tự , chữ số lên màn hình
-Chân đọc/ ghi (R/W): Đầu vào đọc/ ghi cho phép người dùng ghi
Trang 13thông tin lên LCD khi R/W = 0 hoặc đọc thông tin LCD khi
R/W = 1
-Chân cho phép E (Enable): Chân cho phép E được sử dụng bởi LCD
để chốt dữ liệu của nó Khi dữ liệu được đến chân dữ liệu thì cần có 1 xung từ mức cao xuống mức thấp ở chân này để LCD chốt dữ liệu , xung này phải có độ rộng tối thiểu 450ns
Chân D0 – D7: Đây là 8 chân dữ liệu 8 bít, được dùng để gửi thông tin lên LCD hoặc đọc nội dung của các thanh ghi trong
LCD Để hiển thị các chữ cái và các con số chúng ta gửi các mã ASCII của các chữ cái và các con số tương ứng đến các chân này khi bật
8 cực còn lại trên mỗi led đơn đƣợc đƣa thành 8 chân riêng:
với +Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0
nối xuống Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1
Trang 14 Để hiển thị được led 7 thanh chúng ta còn phải ghép nối led với linh kiện 74hc595
Cách mắc của 74hc595 như sau
2.4 Khối công suất
- gồm một động cơ dc encoder sử dụng 12v, khuếch đại công suất đùng L298 Đây là một khối cũng khá quan trọng,ta thường sử dụng nguồn 12v,dòng 1 ampe
Hình ảnh cho L298
L298 có mục đích sử dụng là khuếch đại công suất của động cơ
2.5 Khối giao tiếp bàn phím và Cảm biến nhiệt độ
Trang 150 # = D
Nút số gồm các số từ 0->9
Nút A là tăng thêm 1 đơn vị,nút B là giảm một đơn vị,nút C dùng để điều chỉnh giờ chế độ (12h/24h),nút D dùng đẻ chuyển chế đọ động cơ,nút # dùng để cho tốc độ động cơ về
0 và dùng để cài đặt tốc đọ động cơ
cảm biến nhiệt độ
-Chân này được kết nối với chân ADC (chân RA0)
-Tín hiệu tương tự được đọc và biến đổi ADC đưa kết quả nhiệt độ chính xác
ra màn led 7 thanh
2.6 Hình ảnh layout
Mặt trên:
Trang 16Mặt dưới:
Trang 172.7 Hình ảnh thật của mạch
Trang 20CHƯƠNG 3:KẾT LUẬN Sau khi làm xong bài tập lớn môn kỹ thuật vi xử lý ,chúng em đã học được rất
Trang 21nhiều điều từ các kỹ năng nhƣ làm việc nhóm,kỹ năng viết code c và asm,kỹ năng làm mạch thực tế.chúng em biết đƣợc mình phải làm những gì khi bắt tay vào làm 1 mạch điện tử
TÀI LIỆU THAM KHẢO
Các trang tìm hiểu thông tin
Trang 22#include "lcd_4bit.c"
#include "ds1307.c"
#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
Trang 23byte am_pm=0; // sang chieu
void dDisplay(int8 dec)
Trang 29// ghi du lieu vao DS1307
Trang 34case 13:// di chuyen vi tri
Trang 40case 2: LCD_PutChar(" Hai");break;
case 3: LCD_PutChar(" Ba");break;
case 4: LCD_PutChar(" Tu");break;
case 5: LCD_PutChar(" Nam");break;
case 6: LCD_PutChar(" Sau");break;
case 7: LCD_PutChar(" Bay");break;
Trang 41case 2: // chinh phut
Trang 43Mạch của bọn em phân ra các chế độ hiện thị khác nhau:
Chế độ LCD hiện thị ngày giờ, Khi LCD hiển thị ngày giờ thì LED 7 thanh chỉ hiện thị nhiệt độ
-ở chế độ LCD , Các nút số 0->9 không có tác dụng gì(Đừng bấm nút # ) các nút : = (tác dụng nhƣ nút set trong bài tập hiện thi thời gian thực)
nút: C (là nút MODE , dùng để thay đổi vị trí hoặc chuyển chế độ 12h/24h)
B (giảm lên 1 đơn vị)
A (Tăng lên 1 đơn vị)
-ở chế độ LCD hiện thị động cơ, LED hiển thị vận tốc tức thời , LCD hiện thị VT trung bình(thực chất là vận tốc tức thời, do chƣa làm đƣợc thuật toán tính vận tốc trung bình)
-Để hiện thị chế độ này , ấn nút D , sao cho LCD hiện thị chữ "vận tốc dc:" thì thôi(do phím bấm chƣa nhạy, nên đôi khi phải bấm nhiều lần)
nếu bấm tiếp nút D một lần nữa , nó sẽ chuyển chế độ LCD hiện thị ngay giờ
và LED hiện thị nhiệt độ
Nút C, cho động cơ ngừng quay(LED hiện thị nhiệt độ)
Khi tăng vân tốc động cơ vƣợt quá 3500 RPM,LCD hiện thị” nguy hiểm” và led 7 thanh hiện thị SOS(là số 505)
Trang 44thì mới đúng chức năng phím này)
sau đó nhập tốc độ động cơ ,băng cách nhập các phím số 0->9, chú ý cái động
cơ trong bài mô phỏng của mình chỉ có tốc độ tối đa là 4300 vòng/phút
Ví dụ nhập tốc độ động cơ là 250, bấm nút #,2,5,0 rồi sau đó bấm phím # sao cho LCD hiện thi chế độ động cơ