Trong thời mở của, nghành kinh tế dịch vụ nhà hàng khách sạn đang phát triển mạnh mẽ, đặc biệt là ở các đô thị lớn, đòi hỏi người lao động dịch vụ phải được giá dục nghề nghiệp một cách cơ bản và có hệ thống. Chính vì thế để đào tạo được một sinh viên có cơ sở lý thuyết vững vangthì vuụng gúcẫn chưa đủ. Thực hành đối với một sinh viên không kém phần quan trọng, nếu không muốn nói đến chất lượng va khả năng làm việc sau này của sinh viên cũng như của nhà tuyển dụng. Song điều này hiện tại vẫn là một khiếm khuyết của nền giáo dục nước ta. Nhưng với hoàn cảnh hiện nay thì chúng ta vàẫn phải coi đó là một nền quá độ để có một nền giáo dục hiện đại để vượt ra ngoài khuôn khổ đó với những nỗ lực hết mình của trường THCNCN&QTKD Hà Nội, khoa Khách sạn Du Lịch đã khác phục phần nào thiếu xót này vơí kỳ thực tập vừa qua tạo cho sinh viên những hiểu biết, nắm bắt được những kinh nghiệm đẻ chuẩn bị cho kỳ thi tót nghiệp sau đó giúp sinh viên gắn được những kiến thức mình mới được học vào thực tiễn điều này giúp sinh viên nhớ lý thuyết hơn vàà thực hành tót hơn, hăng say vơí việc học tập hơn đưa hiệu quả giáo dục tốt hơn đối với sinh viên. Với thời gian thực tập 12 tuần thì bài viết này không thể nói lên cặn kẽ chi tiết mọi vàấn đề chúng ta cần diễn đạt trong bài do đó em chỉ đưa những nét cơ bản vàà quan trọng của công ty VĂN HIÊN vàới cơ sở kinh doanh là cà phê và Liveshow ca nhạc TheBig1 làm đối tượng cho bài báo cáo này. Bài viết tuy đã được nghiên cứu kỹ lưỡng song không thể không có nhưng thiếu xót, em rất mong được sự giúp đỡ góp ý của thầy cô
Trang 1Đề tài: Đo và ổn định độ sỏng phũng
NộI DUNG BáO CáO :
I.Mục đớch yờu cầu
II.Sơ đồ khối tổng quát
III.Mạch nguyên lý,tính toán và mạch in
IV.Lu đồ thuật toán
Trang 2theo yờu cầu sử dụng, hệ thống điều khiển sẽ đo và thay đổi độ sỏng phũng
theo yờu càu bằng cơ cấu rốm cửa và búng đốn
II Sơ đồ khối tổng quỏt
1.Sơ đồ khối :
Sơ đồ khối tổng quát của hệ thống đo lờng và điều khiển là:
Từ sơ đồ khối tổng quát, dựa theo yêu cầu bài toán ta có sơ đồ khối
cụ thể của mạch đo và điều khiển ánh sáng là:
2.Giới thiệu các linh kiện chính:
a.Quang trở:
Đặc trng của các cảm biến điện trở là sự phụ thuộc của điện trở vào
thông lợng bức xạ và phổ của bức xạ đó.Các tế bào quang dẫn là một trong
những cảm biến quang có độ nhạy cao.Cơ sở vật lý của tế bào quang dẫn là
hiện tợng quang dẫn do kết quả của hiệu ứng quang điện nội:hiện tợng giải
phóng hạt tải điện trong vật liệu dới tác dụng của ánh sáng làm tăng độ dẫn
của vật liệu
Trong đề tài này ta dùng quang trở RCdS chế tạo bằng bán dẫn đa tinh
thể đồng nhất.Độ nhạy của quang trở rất cao và còn phụ thuộc vào nhiệt độ
làm việc.Điện trở tối của nó khoảng 104-109 ôm ở 270c.Điện trở giảm rất
nhanh khi độ rọi tăng,đơn vị của độ rọi là:LUX
I/O
So sánh
P/C/PCA/D
Chỉ thị kết quả
ánh sáng SENSOR Biến đổi
chuẩn hoá
Cơ cấu
chấp hành điều khiển
MCA/D
Trang 3b Bộ chuyển đổi tương tự/số
Bộ chuyển đổi tương tự – số được sử dụng trong hệ thống là ADC
0809 Đây là IC được chế tạo theo công nghệ CMOS gồm một bộ chuyểnđổi tươngtự - số 8 bit, bộ chọn 8 kênh và một bộ logic điều khiển tươngthích.Bộ chuyển đổi AD 8 bit này dùng phương pháp chuyển đổi xấp xỉliên tiếp Bộ chọn kênh có thể truy xuất bất kỳ kênh nào trong các ngõvào tương tự một cách độc lập
Phương pháp ADC xấp xỉ liên tiếp (Successive- Approximation ADC) là một trong những phương pháp được sử dụng rộng rãi Tuy mạch điện phức tạp nhưng thời gian chuyển đổi lại ngắn hơn Phương phápchuyển đổi ADC xấp xỉ liên tiếp có thời gian chuyển đổi cố định không phụ thuộc vào điện áp ngõ vào
- Hoạt động:Khi tác động cạnh xuống của xung start thì ADC bắtđầu chuyển đổi Mạch logic điều khiển set bit có nghĩa lớn nhất (MSB)của thanh ghi điều khiển lên mức cao và tất cả các bit còn lại ở mức thấp.Số nhị phân ra ở mạch thanh ghi điều khiển được qua mạch DAC để tạo
ra điện áp tham chiếu V’a
Logic điều khiển MSB LSB
Sơ đồ khối chuyển đổi ADC dùng phương
pháp xấp xỉ liên tiếp.
Trang 4+ Nếu V’a<Va thì ngõ ra của bộ so sánh vẫn ở mức cao và làm cho mạch logic điều khiển giữ bit MSB ở mức cao
Tiếp theo mạch logic điều khiển đưa bit có nghĩa kế bit MSB lên mức cao và tạo ở ngõ ra khối DAC một điện áp tham chiếu V’a rồi đem
so sánh tương tự như bit MSB ở trên Quá trình này cứ tiếp tục cho đến bit cuối cùng trong thanh ghi điều khiển Lúc đó V’a gần bằng Va ngõ ra của mạch logic điều khiển báo kết thúc chuyển đổi
Như vậy mạch đổi ra n bit chỉ mất n chu kỳ xung clock nên có thể đạt tốc độ rất cao Tuy nhiên nhược điểm của phương pháp ADC xấp xỉ liên tiếp là không thể đáp ứng với tín hiệu tương tự vào biến đổi cực nhanh
- Sơ đồ chân ADC 0809:
- Chức năng các chân: + IN0 đến IN7 : 8 ngõ vào tương tự + A, B, C : giải mã chọn 1 trong 8 ngõ vào + Z-1 đến Z-8 : ngõ ra song song 8 bit + ALE : cho phép chốt địa chỉ + START : xung bắt đầu chuyển đổi + CLK : xung đồng hồ + REF (+) : điện thế tham chiếu (+) + REF (-) : điện thế tham chiếu (-) + VCC : nguồn cung cấp - Các đặc điểm của ADC 0809: + Độ phân giải 8 bit + Tổng sai số chưa chỉnh định ½ LSB; 1 LSB ADC0809 28
15
1
14
IN2 IN1 IN0 A B C ALE 2 -1
2 -2
2 -3
2 -4
2 -8
START
Trang 5+ Thời gian chuyển đổi: 100s ở tần số 640 kHz+ Nguồn cung cấp + 5V
+ Điện áp ngõ vào 0 – 5V+ Tần số xung clock 10kHz – 1280 kHz+ Nhiệt độ hoạt động - 40oC đến 85oC+ Dễ dàng giao tiếp với vi xử lý hoặc dùng riêng+ Không cần điều chỉnh zero hoặc đầy thang
- Nguyên lý hoạt động: ADC 0809 có 8 ngõ vào tương tự, 8 ngõ ra
8 bit có thể chọn 1 trong 8 ngõ vào tương tự để chuyển đổi sang số 8 bit
Các ngõ vào được chọn bằng cách giải mã Chọn 1 trong 8 ngõ vàotương tự được thực hiện nhờ 3 chân ADDA , ADDB , ADDC như bảngtrạng thái sau:
A B C Ngõ vào được chọn 0
0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7Sau khi kích xung start thì bộ chuyển đổi bắt đầu hoạt động ở cạnhxuống của xung start, ngõ ra EOC sẽ xuống mức thấp sau khoảng 8 xungclock (tính từ cạnh xuống của xung start) Lúc này bit có trọng số lớn nhất(MSB) được đặt lên mức 1, tất cả các bit còn lại ở mức 0, đồng thời tạo rađiện áp có giá trị Vref/2, điện thế này được so sánh với điện thế vào Vin
+ Nếu Vin > Vref/2 thì bit MSB vẫn ở mức 1
+ Nếu Vin < Vref/2 thì bit MSB vẫn ở mức 0
Tương tự như vậy bit kế tiếp MSB được đặt lên 1 và tạo ra điện thếcó giá trị Vref/4 và cũng so sánh với điện áp ngõ vào Vin Quá trình cứ
Trang 6Trong suốt quá trình chuyển đổi chân OE được đặt ở mức 1, muốnđọc dữ liệu ra chân OE xuống mức 0, nếu có 1 xung start tác động thìADC sẽ ngưng chuyển đổi Mã ra N cho một ngõ vào tùy ý là một sốnguyên.
) ( ) (
) ( ) (
ref IN
V V
V V N
Trong đó: Vin : điện áp ngõ vào hệ so sánh
Vref(+) : điện áp tại chân REF(+)
Vref(-) : điện áp tại chân REF(-)
Nếu chọn Vref(-) = 0 thì N = 256
) (
ref
in
V V
Vref(+) = Vcc = 5V thì đầy thang là 256
Giá trị bước nhỏ nhất: 1 LSB = 285 1
= 0,0196 V/byteVậy với 256 bước điện áp vào lớn nhất của ADC0809 là Vin = 5V
- Mạch tạo xung clock cho ADC 0809: Sử dụng mạch dao độngdùng các cổng NOT để tạo dao động cho ADC như sau:
Tần số dao động của mạch là f = 3RC1
Tần số dao động chuẩn là 600 kHz
Suy ra 640 = 3RC1
Với R từ 100 đến vài k Ta chọn R =1 k C = 500 pF
c.Bộ vi điều khiển
Hệ thống sử dụng bộ vi điều khiển AT89C51 có các đặc điểm sau :
+ 4 kbyte ROM, 128 bit RAM
+ 4 port vào ra 8 bit
+ 2 bộ định thời 16 bit
IK
Trang 7+ 1 port noỏi tieỏp.
+ 64 KB khoõng gian boọ nhụự chửụng trỡnh mụỷ roọng.+ 64 KB khoõng gian boọ nhụự dửừ lieọu mụỷ roọng
- Sụ ủoà khoỏi boọ vi ủieàu khieồn AT89C51
CPU
Port nối tiếp Các port I/O
Tạo dao
động
Đếm /
Định thời
XTAL
Trang 8- Sơ đồ chân bộ vi điều khiển AT89C51
- Chức năng các chân:
+ Port0: là port đa hợp từ chân 32 đến 39 Nếu không dùng bộ nhớmở rộng nó có chức năng như các đường vào ra Đối với các thiếtkế sử dụng bộ nhớ mở rộng nó còn được sử dụng làm các đườngđịa chỉ
+ Port1: là một port vào ra từ chân 1 đến 8 Các chân được kýhiệu P1.0, P1.1, P1.2 …P1.8 có thể dùng cho các thiết bị ngoài nếucần Port1 chỉ được dùng trong giao tiếp với các thiết bị ngoài.+ Port2: là một port có công dụng kép từ chân 21 đến 28, đượcdùng như các đường xuất nhập hoặc là byte cao của bus địa chỉđối với các thiết kế dùng bộ nhớ mở rộng
+ Port3: từ chân 10 đến 17 Các chân của port này có nhiều chứcnăng, các công dụng chuyển đổi có liên hệ với các đặc tính đặcbiệt của AT89C51 như ở bảng sau :
P3.2 12 P3.3 13 P3.4 14 P3.5 15
P1.0 1 P1.1 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 P1.7 8
Sơ đồ chân AT89C51
Trang 9Bit Tên Chức năng chuyển đổi
Dữ liệu nhận cho port nối tiếp Dữ liệu phát cho port nối tiếp Ngắt 0 bên ngoài
Ngắt 1 bên ngoài Ngõ vào của timer/counter 0 Ngõ vào của timer/counter 1 Xung ghi bộ nhớ dữ liệu ngoài Xung đọc bộ nhớ dữ liệu ngoài+ PSEN (Program Store Enable): AT89C51 có 4 tín hiệu điềukhiển PSEN là tín hiệu ra trên chân 29, nó là tín hiệu điều khiểncho phép bộ nhớ chương trình mở rộng và thường được nối đếnchân OE (Output Enable) của một EPROM để cho phép đọc cácbyte mã lệnh PSEN sẽ ở mức thấp trong thời gian lấy lệnh Cácmã nhị phân của chương trình được đọc từ EPROM qua bus vàđược chốt vào thanh ghi lệnh của AT89C51 để giải mã lệnh Khithi hành chương trình trong ROM nội PSEN sẽ ở mức thụ động(mức cao)
+ ALE (Address Latch Enable): tín hiệu ra ALE trên chân 30.AT89C51dùng ALE để giải các bus địa chỉ và dữ liệu đa hợp Khiport 0 vừa là bus dữ liệu vừa là byte thấp của địa chỉ, ALE là tínhiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong nữa đầucủa chu kỳ bộ nhớ Sau đó, port 0 dùng để xuất hoặc nhập dữ liệutrong nữa sau chu kỳ của bộ nhớ
+ EA (External Access): Tín hiệu vào EA trên chân 31 thườngđược mắc lên mức cao (+5V) hoặc mức thấp (GND) Nếu ở mứccao, AT89C51 thi hành chương trình từ ROM nội trong khoảng địachỉ thấp (4K) Nếu ở mức thấp, chương trình chỉ được thi hành từbộ nhớ mở rộng Nếu EA được nối mức thấp, bộ nhớ bên trongchương trình AT89C51 sẽ bị cấm và chương trình thi hành từEPROM mở rộng Người ta còn dùng chân EA làm chân cấp điệnáp 21V khi lập trình cho EPROM trong AT89C51
Trang 10+ RST (Reset): Ngõ vào RST trên chân 9 là ngõ reset của AT89C51 Khi tín hiệu này được đưa lên mứùc cao trong ít nhất 2 chu kỳ, các thanh ghi trong AT89C51 sẽ được thiết lập về những giá trị thích hợp để khởi động hệ thống RST có thể được kích khi cấp điện dùng một mạch R-C Sơ đồ mạch Reset được sử dụng
trong hệ thống:
Trạng thái của tất cả các thanh ghi củaAT89C51/8031 sau khi reset hệ thống được tóm tắt trongbảng sau:
00H
00H 07H 0000H FFH XXX00000B 0XX00000B 00H
00H 00H 0XXXXXXB 0XXX0000B+ Các ngõ vào bộ dao động trên chip: Như đã thấy trong các hìnhtrên, AT89C51 có một bộ dao động trên chip Nó thường được nối
Trang 11với thạch anh giữa hai chân 18 và 19 Tần số thạch anh thôngthường là 12MHz.
+ Các chân nguồn: AT89C51 vận hành với nguồn đơn +5V Vcc
được nối vào chân 40 và Vss (GND) được nối vào chân 20
d.Cấu trúc của động cơ bước
H×nh: CÊu trĩc cđa motor bíc
Trang 12Hình: Sơ đồ nguyên lí của khối khuếch đại công suất động cơ.
Bộ khuếch đại công suất sử dụng 1 transitor công suất cho mỗi cuộn dây:
"ABCD"= "0001" "0010" "0100" "1000" "0001"
"ABCD" thực hiện lệnh dịch 4 lần, động cơ quay 1 vòng
Giả sử động cơ quay 1000vòng/phút đến 10000vòng/phút trong khoảng T1
đến T2
Ta có công thức: n=kT
n1=1000vòng/phút = 16,6vòng/giây
"ABCD" quay16,6x4lần = 66,4lần/giây
Với xung nhịp = 17,4kHz cứ 17,4kHz/66.4=262 xung =1 "ABCD" quay
1 lần
n2=10000vòng phút, tơng tự trên, 26 xung =2 "ABCD" quay 1 lần
Khi nhiệt độ biến thiên từ T0 đến T8, thì biến chỉ báo nhiệt độ VT biến thiên
Trang 13Nh vậy, với tần số xung là 17,4kHz thì cứ xung thì "ABCD" quay 1 lần.
III.Sơ đồ nguyên lý,tính toán và mạch in.
-12V
khối hiển thị
Q10 2N2222
+ C22
R22 1K
U33C 74LS04
R30
U7
ADC0809
10 9 7
17 8 20
CLK OE EOC
D0
D3
D6
START ALE
Y1 12Mhz
Q14 2N2222
C6 104
COM GN
IN1
IN4
IN7 OUT1
SW4 RESET
5V
Enter X2
4 5 13 10 14
C2 33pF
SW1
A5
R9
Q13 2N2222
5V
CTRL3
R7
+ 10uF
A0
R19 C10
khối tạo xung cho ADC0809
CTRL1
X8 X10
C8 104
1K
Q15 2N2222
R15
D4
Q9 2N2222
U33F 74LS04
+ 1000uF
N0
1K
SW3 Nhap
U34D 74LS04
Q12 2N2222
khối nguồn
+12V
PhimTang
U34F 74LS04
U33D 74LS04
U33B 74LS04
Q5 2N2222
X3
+ C12 1000uF
31
1 4 7 21 24 27 10 13 16 39 36 33
RST
GND PSEN ALE/PROG
P2.5/A13
P3.0/RXD
P3.3/INT1 P3.4/T0 P3.6/WR P0.0/AD0
P0.3/AD3
P0.6/AD6
R23 1K
U44C
74LS04
5 6
Q15 2N2222
+ C11 2200uF
N1 A7
Trang 14Theo c«ng thøc ph©n ¸p cã:
Ura=Vcc.Rm/ (RCdS+Rm) (3.1)suy ra m cc ra
(với Uso là điện áp sau khi chuyển đổi A/D)
thay vào biểu thức trên ta được
Đồ thị biểu thị sự phụ thuộc của điện trở CDS vào độ sáng
coi gần đúng sự phụ thuộc trên là tuyến tính, ta có:
Trang 15với E1= 1000, đo được R1=1800
Trang 16Sơ đồ mạch in tổng quát
Trang 17IV Lưu đồ thuật toỏn
V Phần mềm điều khiển
Chơng trình đựoc viết bằng ngôn ngữ lập trình C trên môi trờng RIDE
Chơng trình đợc chia thành 5 module chính:
1 Module khai báo
2 Module điều khiển ADC
Nhận dữ liệu
từ cảm biến
Xử lí dữ liệu và đ a tín hiệu t ơng ứng ra cơ cấu chấp hành
Hiển thị ra đèn LED các giá trị về
ánh sáng
Trang 18#include <define.h>
//Khai bao cac bien
extern unsigned int E, EDuoi, ETren;
//Khai bao cac ham
void HienthiLEDDuoi(); //Display to 7 bar LED gia tri can duoi
void HienthiLEDTren(); //Display to 7 bar LED gia tri can tren
void Hienthi(unsigned time);
void Delay(unsigned int time);
void ThietLap()interrupt 0; //Ngat ngoai 0
void ThietLap()interrupt 0 //Ngat ngoai 0
Trang 19#include <define.h>
void Delay(unsigned int time);
Trang 20{
unsigned char so,i;
unsigned int Sum;
//************************************************************
#include <define.h>
// Variables used in this program
extern unsigned int E, EDuoi, ETren;
bit Q0_hn, Q1_hn, Q2_hn, Q3_hn, Q0_ht, Q1_ht, Q2_ht, Q3_ht,
Q0_hc, Q1_hc, Q2_hc, Q3_hc, Q0_hdv, Q1_hdv, Q2_hdv, Q3_hdv;//Functions used in this program
void Delay(unsigned int time);
void Khoitaoht(unsigned char gt);
void Khoitaohc(unsigned char gt);
void Khoitaohdv(unsigned char gt);
void Khoitao(unsigned int num);
void HienthiLEDHienThoi(); //Display to 7 bar LED gia tri anh sang hien thoi
void HienthiLEDDuoi(); //Display to 7 bar LED gia tri anh sang can duoivoid HienthiLEDTren(); //Display to 7 bar LED gia tri anh sang can trenvoid Hienthi(unsigned int time);
void Duavao7447(bit bi0,bit bi1,bit bi2,bit bi3);
// -//Noi dung cac ham
// -void TatLED()
Trang 23#include <define.h>
//Khai bao cac bien dung trong chuong trinh
unsigned char Eso, Solantran;
unsigned int E, EDuoi, ETren, BuocRem;
//Cac ham dung trong chuong trinh
void HienthiLEDHienThoi(); //Ham hien thi ra LED 7 thanh
void HienthiLEDDuoi();
void HienthiLEDTren();
void Hienthi(unsigned int time);
unsigned char QuetDuLieuSo(); //Lay du lieu tu cac cam bien o cac vi tri va luu vao bo nho
unsigned int AnhSang(unsigned char so);
void KiemTra()interrupt 1; //Ngat do bo dinh thoi 0
void Delay(int time);
Trang 24{
//Cho phep ngat do bo dinh thoi 0 va ngat ngoai 0
IE=0x83; //10000011 EA=1 va ET0=1 , EX0=1
PX0=1; //Uu tien cho ngat ngoai 0
IT0=1; //Chon ngat ngoai 0 duoc kich thich boi canh
//Khoi tao bo dinh thoi 0 va bo dinh thoi 1
BuocRem = 0; //Khoi tao rem o vi tri dong han
//Khoi tao dong co buoc
Trang 25break;
case 1:
CTRL0=0; CTRL1=1; CTRL2=0; CTRL3=0; Hienthi(4);
break;
case 2:
CTRL0=0; CTRL1=0; CTRL2=1; CTRL3=0; Hienthi(4);
break;
case 3:
CTRL0=0; CTRL1=0; CTRL2=0; CTRL3=1; Hienthi(4);
break;
case 1:
CTRL0=1; CTRL1=0; CTRL2=0; CTRL3=0; Hienthi(4);
case 2:
CTRL0=0; CTRL1=1; CTRL2=0; CTRL3=0; Hienthi(4);
break;
case 3:
CTRL0=0; CTRL1=0; CTRL2=1; CTRL3=0; Hienthi(4);
break;