Tải bản đầy đủ (.docx) (14 trang)

: Sử dụng ngắt timer để xác định tốc độ động cơ, hiển thị lên led 7 đoạn HỆ THỐNG NHÚNG( LẤY FULL FILE CODE PIC + MÔ PHỎNG PROTEUS LIÊN HỆ ZALO 0327697318)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (434.76 KB, 14 trang )

TRƯỜNG ĐẠI HỌC KỸ THUẬT CƠNG NGHIỆP
KHOA CƠ KHÍ

BÁO CÁO TIỂU LUẬN
Đề tài: Sử dụng ngắt timer để xác định tốc độ động cơ, hiển thị lên led
7 đoạn
Học phần: Hệ thống nhúng
Giáo viên hướng dẫn: Tăng Cẩm Nhung
Sinh viên thực hiện: Trần Đức Trà
Mssv: K175520114058
Sinh viên thực hiện: Trần Quốc Chiến
Mssv: K175520114006

Thái nguyên, ngày 12, tháng 7, năm 2021


MỤC LỤC

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
1.1. Giới thiệu
- Ngày nay, với sự phát triển của khoa học kỹ thuật, đặc biệt là tự động
hóa trong mọi lĩnh vực nhằm giảm thiểu lượng lao động chân tay cũng như nâng
cao chất lượng sản xuất thì máy móc được đưa vào hoạt động rất là nhiều.
- Máy móc trong sản xuất thì cần độ chính xác cao, tỉ mỉ, địi hỏi tốc độ
nhanh nhưng ổn định và từ đó chúng ta cần biết được tốc độ là bao nhiêu, qua
vấn đề đó bọn em đã xây dựng ra mạch xác định tốc độ động cơ và hiển thị lên
được Led 7 đoạn.
1.2. Giới hạn đề tài
- Xây dựng mơ hình cũng như lập trình điều khiển đề tài “Xác định tốc độ
động cơ hiển thị lên Led 7 đoạn”
- Động cơ tùy chỉnh tốc độ rồi hiển thị lên Led 7 đoạn tùy theo tốc độ mà


động cơ đang chạy cho tới khi tốc độ max.
2


- Nắm vững ngun lý và lập trình mơ phỏng trên proteus.

3


CHƯƠNG 2: THIẾT KẾ
2.1. Giới thiệu
- Sử dụng kiến thức đã học để thiết kế sơ đồ khối.
- Sử dụng phần mềm proteus để mô phỏng và thiết kế mạch.
- Sử dụng phần mềm CCS để lập trình code cho PIC 16F877A.
2.2. Thiết kế sơ đồ khối
Theo yêu cầu của đề tài chúng em tiến hang thiết kế sơ đồ khối của mạch
hiển thị tốc độ động cơ lên Led 7 đoạn như hình 2.2.1:

Hình 2.2.1 Sơ đồ khối của mạch hiển thị tốc độ động cơ lên Led 7 đoạn
4


Chức năng của từng khối:
- Encoder: Chuyển đổi vị trí góc hoặc chuyển động của trục hoặc trục
thành tín hiệu đầu ra analog hoặc kỹ thuật số.
- Khối nguồn: có chức năng cấp nguồn cho toàn bộ mạch để hoạt động.
- Vi điều khiển: Là thiết bị được dùng để điều khiển các thiết bị điện tử.
- Khối hiển thị: Hiển thị các thông số và kết quả.

2.3. Thiết kế sơ đồ nguyên lý

a. Khối hiển thị
- Gồm có 2 Led 7 đoạn để hiển thị tốc độ động, một Led hiển thị chữ số
hàng chục và Led hiển thị chữ số hàng đơn vị.
- Led 7 đoạn có 2 dạng :
+ Led Anot chung.
+ Led Katot chung.

5


Hình 2.3.1 Hình ảnh về màn hình Led 7 đoạn Katot chung
- Mô tả các chân của Led:
Mỗi chân của led sẽ tương ứng với từng vị trí trên thanh Led

Hình 2.3.2 Sơ đồ chân của Led 7 đoạn
6


b. Vi điều khiển
- Vi điều khiển được sử dụng ở đây là PIC 16F877A

Hình 2.3.3 Hình ảnh PIC 16F877A trên phần mềm Proteus
- Chức năng các chân của PIC 16F877A:
+ VDD và VSS là những chân cấp nguồn. Trong PIC16F877A, VDD =
5V và VSS = GND (0V)
+ Chân số 1 MCLR là chân RESET của VDK, nó tác động mức thấp
(0V).
+ PORT A,PORT B, PORT C, PORT D là những chân INPUT hoặc
OUTPUT.


7


Hình 2.3.4 Sơ đồ chân vi xử lý PIC 16F877A
c. Khối nguồn
Tạo ra nguồn điện hợp lý cho các khối thành phần.
d. Encoder
Encoder hay cịn gọi là bộ mã hóa, là một bộ cảm biến chuyển động cơ
học tạo ra tín hiệu kỹ thuật số đáp ứng với chuyển động. Là một thiết bị cơ điện
có khả năng làm biến đổi chuyển động thành tín hiệu số hoặc xung.

Hình 2.3.5: Cấu tạo encoder
Một bộ mã hóa thường được phân loại theo các phương tiện đầu ra của
nó, gồm 2 loại chính: Encoder tuyệt đối và Encoder tương đối.

8


Encoder tuyệt đối:
Encoder tuyệt đối (adsolute encoder): đúng với cái tên tuyệt đối thì tức là
tín hiệu ta nhận được từ Encoder cho biết chính xác vị trí của Encoder mà người
sử dụng khơng phải xử lý thêm gì cả. Encoder tuyệt đối (adsolute encoder):
được sử dụng đĩa theo mã nhị phân hay mã Gray.

Hình 2.3.6: Motor sử dụng encoder tuyệt đối
Encoder kiểu tuyệt đối thường có kết cấu bao gồm những phần như sau:
Bộ phát ánh sáng (LED), một bộ thu ánh sáng nhạy với ánh sáng phát ra
(photosensor), đĩa mã hóa (có chứa dải băng mang tín hiệu). Đĩa mã hóa ở
encoder được chế tạo từ vật liệu trong suốt đảm bảo, hơn nữa người ta đã chia
mặt đĩa thành các góc đều nhau cùng các đường trịn đồng tâm. Hơn nữa, các

đường tròn đồng tâm và bán kính thường giới hạn các góc hình thành bởi các
phân tố diện tích. Tập hợp các phân tố diện tích có cùng giới hạn bởi 2 vịng trịn
đồng tâm thường được gọi là dải băng. Trong đó, số dải băng cịn tùy thuộc vào
cơng nghệ sản xuất hay cịn gọi là chủng loại sản phẩm, tương ứng với một dải
băng suy ra ta có một đèn LED và một bộ thu.
Các đặc điểm cơ bản của dòng encoder này bao gồm:
9


- Sử dụng đĩa theo mã nhị phân hoặc mã Gray.
- Có kết cấu gồm: bộ phát ánh sáng (LED), đĩa mã hóa (có chứa dãi băng
mang tín hiệu), một bộ thu ánh sáng nhạy với ánh sáng phát ra.
- Đĩa mã hóa ở Encoder được chế tạo từ vật liệu trong suốt, người ta đã
chia mặt đĩa thành các góc đều nhau cùng các đường trịn đồng tâm.
- Ưu điểm: giữ được giá trị tuyệt đối khi Encoder mất nguồn.
- Nhược điểm: giá thành cao vì chế tạo phức tạp, đọc tín hiệu khó.
Encoder tương đối:
Encoder tương đối (incremental encoder): loại thiết bị này sẽ phát ra tín
hiệu tăng dần hoặc theo chu kỳ, có các đặc điểm như sau:
- Đĩa mã hóa bao gồm một dãy băng tạo xung, thường được chia thành
nhiều lỗ bằng nhau và được cách đều nhau.
- Chất liệu có thể là trong suốt để giúp ánh sáng chiếu qua.
- Là Encoder chỉ có 1,2 hoặc tối đa 3 vịng lỗ, và thường có thêm một lỗ
định vị.
- Ưu điểm: giá thành rẻ, chế tạo đơn giản, xử lý tín hiệu trả về dễ dàng.
- Nhược điểm: dễ bị sai lệch về xung khi trả về. Sẽ tích lũy sai số khi hoạt
động lâu dài.

10



Hình 2.3.7: Motor sử dụng encoder tương đối
2.4 Lưu đồ và chương trình
a. Yêu cầu điều khiển
- Xác định được tốc độ của động cơ sử dụng ngắt timer.
- Hiển thị lên Led 7 đoạn.

b. Lưu đồ

11


c. Chương trình
#include <16f877a.h>
#use delay(clock=20M)
int8
ma_led[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //! ma led
catot chung
unsigned int16 xung=0,dem=0,td; //cac bien
#INT_TIMER0 //co tran timer0
void dem_xung(){ //ham dem so lan tran
dem++;
}
void main()
{
set_tris_b(0xff); //setup port b
set_tris_c(0xff); //setup port c
SETUP_COUNTERS(T0_EXT_L_TO_H,T0_DIV_1); //cai dat time0 o
che do counters dem xung ngoai
enable_interrupts(INT_TIMER0); //bat ngat time

enable_interrupts(GLOBAL); // bat ngat toan cuc
output_b(ma_led[0]); //hien thi 0
output_c(ma_led[0]); //hien thi 0
while(TRUE)
{

set_timer0(0); //setup gia tri ban dau cho mo lan bat dau doc
12


delay_ms(1000); //cho 1s
xung=get_timer0()+256*dem; // xung dem duoc trong 1 s
dem=0; //reset dem ve 0
td=(xung*60)/24; //toc do vong tren phut
int hc=td/10; //hang chuc
int dv=td%10; //hang don vi
output_b(ma_led[hc]); //hien thi
output_c(ma_led[dv]); //hien thi

}

}

CHƯƠNG 3: KẾT QUẢ THỰC HIỆN VÀ KẾT LUẬN
3.1. Kết luận
Mạch mơ phỏng được hồn thành:
- Chạy đúng các chức năng yêu cầu đề ra.
- Hệ thống hoạt động ổn định.
Thực tế mạch có thể sử dụng trong các hệ thống máy móc địi hỏi độ
chính xác cao như cnc… nhằm biết được tốc độ động cơ để điều chỉnh một cách

chính xác những u cầu cơng nghệ đề ra.
3.2. Hướng phát triển đề tài

13


Có thể phát triển code của mạch và hệ thống lên cao hơn để có thể điều
chỉnh ln được cả tốc độ động cơ ở một tốc độ mong muốn để áp dụng thực
tiễn hơn

14



×