Kiểm tra chính xác: cấp nguồn, dung chương trình test đơn giản để kiểm tra việc set các mức 0 và 1 của IC. Nếu IC hoạt động tốt thì ta chọn sử dụng IC này, nếu kết quả không đảm bảo thì ta cần thay mới IC
- Kiểm tra các tụ: Dùng đồng hồ VOM để kiểm tra tụ hoạt động tốt hay xấu. Nếu tụ bị khô, bị rò rỉ hay bị đứt thì ta phải nhanh chóng thay thế bằng tụ mới tương đương để đảm bảo sự hoạt động của khối mạch chứa tụ điện đó, và cũng như đảm bảo cho hoạt đông của toàn mạch.
- Kiểm tra trở: Các trở thường ít bị hư hỏng trong quá trình sử dụng. Tuy nhiên với những điện trở tải dóng lớn ta cần sử dụng các trở công suất để đảm bảo hoạt động của mạch
76 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3001 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Báo cáo Thực tập công nhân lớp 07dt1 (mạch điều khiển nhiệt độ), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
mong nhận được những ý kiến đóng góp, giúp đỡ chân thành của các thầy cô cũng như của các bạn sinh viên để giúp nhóm có thể làm tốt hơn những đề tài sau này ./.
Đà Nẵng,tháng 3 năm 2011
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI THIẾT KẾ MẠCH ĐIỀU KHIỂN NHIỆT ĐỘ ỨNG DỤNG TRONG LÒ NHIỆT
Nhiệm vụ thiết kế:
Nhiệm vụ cần thực hiện là thiết kế một bộ điều khiển nhiệt độ với dải nhiệt độ từ 300C đến 1300C. Vậy yêu cầu đặt ra là:
+Thiết kế bộ cảm biến nhiệt độ.
+Thiết kế bộ chuyển đổi tương tự sang số ( khối ADC)
+Thiết kế khối xử lý trung tâm
+Thiết kế khối bàn phím
+Thiết kế khối công suất
+Thiết kế khối hiển thị
+Thiết kế khối giao tiếp
+Viết thuật toán.
+Viết chương trình điều khiển
Sơ đồ khối:
CMU 8051
Khối hiển thị
Lò nhiệt
Khối cảm biến
Khối ADC
Khối giao tiếp
Khối công suất
Khối bàn phím
Chức năng và linh kiện sử dụng trong các khối.
Khối cảm biến nhiệt độ và ADC:
Nhiệm vụ:
Dùng để đo nhiệt độ trong lò nhiệt.
Số hóa tín hiệu ra của cảm biến nhiệt độ để đưa vào vi điều khiển.
Chọn linh kiện sử dụng:
ADC0804
LM35, UJT LM336
IC LM358
UJT LM336
1 biến trở,một số tụ và một số điện trở thường
Sơ đồ nguyên lý:
Nguyên lý làm việc:
LM35 có độ biến thiên theo nhiệt độ: 10mV / 1oC.
Độ chính xác cao, tính năng cảm biến nhiệt độ rất nhạy, ở nhiệt độ 25oC nó có sai số không quá 1%. Với tầm đo từ -55oC – 150oC, tín hiệu ngõ ra tuyến tính liên tục với những thay đổi của tín hiệu ngõ vào.
Khối xử lý trung tâm:
Nhiệm vụ:
Dùng để xử lý các tín hiệu vào và xuất tín hiệu ra,điều khiển mọi hoạt động của hệ thống.
Chọn linh kiện sử dụng:
Vi điều khiển AT89C51, thạch anh 11.598Mhz, switch nhỏ.
Điện trở thanh, các Jump, điện trở thường và một số tụ điện.
Sơ đồ nguyên lý
Nguyên lý làm việc:
Nhận dữ liệu điều khiển từ bàn phím 4x4 qua Port0.
Giao tiếp với PC qua cổng Com dùng max232 bằng các chân Rx và Tx.
Giao tiếp với khối hiển thị để hiện thị giá trị nhiệt độ qua Port2.
Khối công suất và đồng bộ.
Nhiệm vụ :
Điều khiển,cấp nguồn cho lò nhiệt,qua đó làm thay đổi nhiệt độ trong lò nhiệt. Ở đây lò nhiệt được thay thế bằng tải có công suất lớn.
Điều khiển tín hiệu kích và áp xoay chiều đặt lên Triac, tạo sự đồng bộ về tín hiệu kích và áp xoay chiều đặt vào Triac.
Chọn linh kiện sử dụng :
BJT 2SA1015, Triac BT138, OPTO Triac MOC3021
Một số điện trở thường, tụ điện, Jump cắm tải công suất.
Chọn IC Opamp LM393, biến trở 10K, Jump cắm nguồn xoay chiều.
Sơ đồ nguyên lý :
Nguyên lý làm việc :
Mạch đồng bộ tạo ra xung để điều khiển tín hiệu kích và áp xoay chiều đặt lên triac.
Triac kích ở chế độ I+,III+
Tín hiệu xoay chiều qua bộ opamp so sánh và BJT A1015 để lật tín hiệu.Tín hiệu ra đưa qua VĐK nhận được và kết hợp với tín hiệu từ cảm biến sẽ điều khiển tín hiệu ở chân P3.4 để điều khiển BJT A1015 và tạo ra dòng kích cho triac.
Nếu mức ra từ cảm biến là ở Tôđmin thì P3.4=0,BJT A1015 dẫn bão hoà và tạo ra dòng kích vào cổng G của triac,làm triac hoạt động ,từ đó nung nhiệt nóng lên.
Nếu mức ra từ cảm biến là Tôđmax thì P3.4=1,BJT A1015 ngắt và làm triac ngưng hoạt động, từ đó nhiệt giảm dần
Khối hiển thị và bàn phím
3.4.1Khối hiển thị
Nhiệm vụ:
Hiển thị nhiệt độ của lò nhiệt.
Hiển thị giá trị đặt từ bàn phím, dữ liệu nhiệt đồ truyền từ PC.
Chọn linh kiện sử dụng
Jump nhận dữ liệu, IC 74LS47, 3Led 7 đoạn Anode chung
BJT 2SA1015, Led báo hiệu, một số điện trở thường.
Sơ đồ nguyên lý :
Nguyên lý hoạt động :
Hoạt động dựa trên chế độ 8 bit dữ liệu. IC 74LS47 có nhiệm vụ giải mã BCD sang led 7 đoạn.
Dữ liệu được nhân từ vi điều khiển thông qua Jump.
3.4.2 Khối bàn phím.
Nhiệm vụ
Nhập dữ liệu.
Linh kiện sử dụng
Switch cở nhỏ để tiết kiệm diện tích mạch, Jump nối để truyền dữ liệu lên vi điều khiển.
Sơ đồ nguyên lý
Nguyên lý hoạt động
Hoạt động theo nguyên tắc định vị ma trận 4x4.
Khi có nút được nhấn, dữ liệu tương ứng sẽ được gửi về vi điều khiển và được chương trình xử lí xác thực chức năng của nút bấm
Để thực hiện ma trận bàn phím ta dùng phương pháp quét phím. Quét cột và đọc dữ liệu tại hàng hoặc ngược lại. Theo hình vẽ thì các cột cách nhau 1 đơn vị, các hàng cách nhau 4 đơn vi.
Vậy giá trị của bàn phím được tính theo công thức sau
Bp= C+h.4
Trong đó: Bp: Giá trị của phím được nhấn.
C: Cột được quét.
H: Hàng có phím nhấn.
Ví dụ: Khi ta quét cột C0 mà phím 4 được nhấn thì H1 nhận được tín hiệu.
Vậy giá trị nhận được của bàn phím là Bp = 0 + 1.4 = 4.
Khi mạch cần nhiều phím thì ta mới tổ chức ma trận phím để giảm số lượng cổng sử dụng cho bàn phím.
Khối giao tiếp
Nhiệm vụ
Có nhiệm vụ trao đổi thông tin giữa máy tính và vi điều khiển thông qua cổng COM.
Linh kiện sử dụng
MAX232, cổng COM, tụ điện, Jump giao tiếp.
Sơ đồ nguyên lý
Mạch chuyển mức logic TTL « RS232.
Nguyên lý hoạt động
Max 232 là IC lái điện áp, có nhiệm vụ tương thích điện áp TTL của vi điều khiển. Bởì vì chuẩn RS232 không tương thích với mức logic TTL, do vậy nó yêu cầu một bộ điều khiển đưởng truyền để chuyển đổi mức điện áp RS232 về các mức TTL và ngược lại. IC MAX232 sẽ liên kết giữa vi điều khiển và jump cổng Com của máy tính, từ đó tạo cầu nối cho việc truyền dữ liệu giữa vi điều khiển và máy tính.
CHƯƠNG 2 GIỚI THIỆU LINH KIỆN SỬ DỤNG TRONG MẠCH
1. Giới thiệu vi điều khiển AT89C51
1.1 Sơ đồ khối của một bộ vi điều khiển.
Sơ đồ khối chung của hầu hết các bộ vi điều khiển bao gồm CPU, bộ nhớ ROM hay EPROM và RAM, mạch giao tiếp, mạch giao tiếp song song, bộ định thời gian, hệ thống ngắt và các BUS được tích hợp trên cùng một chip.
1.2. Kiến trúc của vi điều khiển 8951
1.2.1 Giới thiệu
IC vi điểu khiển 8951 thuộc họ MCS51 có các đặc điểm sau :
+ 4 kbyte ROM
+ 128 byte RAM
+ 4 port I/0 8 bit
+ Hai bộ định thời 16 bits
+ Giao tiếp nối tiếp
+ 64KB không gian bộ nhớ chương trình ngoài
+ 64 KB không gian bộ nhớ dữ liệu ngoài.
+ 210 bit được địa chỉ hóa.
+Bộ nhân / chia 4ms
INT\1
INT\0
TIMER2
TIMER1
PORT noái tieáp
TXD* RXD*
T1*
T2*
P0 P1 P2 P3
EA\ RST PSEN ALE
Các thanh ghi khác
128 byte Ram
Rom
4K-8951
OK-8031
Timer1
Timer2
Điều khiển ngắt
Điều khiển bus
CPU
Port nối tiếp
Các port I/O
Tạo dao động
1.2.2. Cấu trúc bên trong của 8951
Sơ đồ khối 8951
Phần chính của vi điều khiển 8951 là bộ xử lý trung tâm (CPU: Central Processing Unit) bao gồm:
+ Thanh ghi tích lũy A
+ Thanh ghi tích lũy phụ B, dùng cho phép nhân và phép chia
+ Đơn vị Logic học (ALU: Arithmetic Logical Unit )
+ Từ trạng thái chương trình (PSW : Prorgam Status Word)
+ Bốn băng thanh ghi
+ Con trỏ ngăn xếp
+ Ngoài ra còn có bộ nhớ chương trình, bộ giải mã lệnh, bộ điều khiển thời gian và logic.
Đơn vị xử lý trung tâm nhận trực tiếp xung từ bộ dao động, ngoài ra còn có khả năng đưa một tín hiệu giữ nhịp từ bên ngoài.
Chương trình đang chạy có thể cho dừng lại nhờ một khối điều khiển ngắt ở bên trong. Các nguồn ngắt có thể là giao diện nối tiếp.
Hai bộ định thời 16 bit hoạt động.
Các cổng (port0,1,2,3), sử dụng vào mục đích điều khiển. Ở cổng 3 có thêm các đường dẫn điều khiển dùng để trao đổi với bộ nhớ bên ngoài. Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ, làm việc độc lập với nhau. Tốc độ truyền qua cổng nối tiếp có thể đặt trong dãi rộng và được ấn định bằng một bộ định thời.
Trong vi điều khiển 8951 có 2 thành phần quan trọng khác đó là bộ nhớ và các thanh ghi
+ Bộ nhớ gồm bộ nhớ RAM và bộ nhớ ROM dung để lưu trữ dữ liệu và mã lệnh.
+ Các thanh ghi sử dụng để lưu trử thông tin trong quá trình xử lý. Khi làm việc nó làm thay đổi nội dung của các thanh ghi.
1.2.3.Chức năng các chân của vi điều khiển 8951
Sơ đồ chân 8951
Vi điều khiển 8951 có 32 trong 40 chân có chức năng như là các cổng I/O, trong đó 24 chân được sử dụng với hai mục đích. Nghĩa là ngoài chức năng cổng I/O, mỗi chân có công dụng kép này có thể là một đường điều khiển của Bus địa chỉ hay Bus dữ liệu hoặc là mỗi chân hoạt động một cách độc lập để giao tiếp với các thiết bị đơn bit như công tắc, LED, transistor…
a.Port0: là port có 2 chức năng, ở trên chân từ 32 đến 39 của MC 8951, Trong các thiết kế cỡ nhỏ không dung bộ nhớ ngoài, Port 0 được sử dụng như là những cổng I/O. Còn trong các thiết kế lớn có yêu cầu một số lượng đáng kể bộ nhớ ngoài thì Port 0 trở thành các đường truyền dữ liệu và 8 bits thấp của Bus địa chỉ.
b. Port1: Là một port I/O chuyên dụng, trên chân 1-8 của MC8951. Chúng được sử dụng với mục đích duy nhất là giao tiếp với thiết bị ngoài khi cần thiết.
c. Port2: Là một cổng có công dụng kép trên chân 21-28 của MC 8951. Ngoài chức năng I/O, các chân này dung làm 8 bit cao của bus địa chỉ cho những mô hình thiết kế có bộ nhớ chương trình ROM ngoài hoặc bộ nhớ dữ liệu RAM có dung lượng lớn hơn 256 Bytes.
d. Port3: Là một cổng có công dụng kép trên chân 10-17 của MC 8951. Ngoài chức năng là cổng I/O những chân này kiêm luôn nhiều chức năng khác nữa liên quan đến nhiều tính năng đặc biệt của MC 8951, được mô tả trong bảng sau:
Bit
Tên
Chức năng chuyển đổi
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RxD
TxD
T0
T1
Ngõ vào dữ liệu nối tiếp.
Ngõ xuất dữ liệu nối tiếp.
Ngắt ngoài 0.
Ngắt ngoài 1.
Ngõ vào TIMER 0.
Ngõ vào của TIMER 1.
Điều khiển ghi dữ liệu lên bộ nhớ
Điều chỉnh đọc bộ nhớ dữ liệu ngoài
Chức năng của các chân trên port3
e. PSEN (Program Store Enable): 8951 có 4 tín hiệu điều khiển, PSEN là tín hiệu ra trên chân 29. Nó là tín hiệu điều kển để cho phép truy xuất bộ nhớ chương trình mở rộng và thường được nối đến chân OE ( Output Enable) của một EPROM để cho phép đọc các byte mã lệnh của chương trình. Tín hiệu PSEN ở mức thấp trong suốt phạm vi quá trình của một lệnh. Các mã 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 8951 để giải mã lệnh. Khi thi hành chương trình trong ROM nội PSEN sẽ ở mức cao.
f. ALE (Address Latch Enable ): Tín hiệu ra ALE trên chân 30 tương ứng hợp với các thiệt bị xử lý 8585, 8085, 8951 dùng ALE để giải đa hợp bus địa chỉ dữ liệu, khi port 0 được dùng làm bus địa chỉ/ dữ liệu đa hợp: vùa là bus dữ liệu vừa là byte thấp của địa chỉ 16 bit. ALE là tín hiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong nữa đầu của chu kỳ bộ nhớ. Sau đó, các đường Port 0 dùng để xuất nhập dữ liệu trong nữa sau chu kỳ của chu kỳ bộ nhớ.
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên Chip và có thể được dùng là nguồn xung nhịp cho các hệ thống. Nếu xung trên 8951 là 12MHz thì ALE có tần số là 2MHz. Chân này cũng được làm ngõ vào cho xung lập trình cho EPROM trong 8951.
g. EA (External Access): Tín hiệu vào EA trên chân 31 thường được nối lên mức cao (+5V) hoặc mức thấp (GND). Nếu ở mức cao, 8951 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp (4K). Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng. Người ta còn dung chân EA làm chân cấp điện áp 21V khi lập trình cho EPROM trong 8951.
h. RST (Reset): Ngõ vào RST trên chân 9 là ngõ reset của 8951. Khi tín hiệu này được đưa lên mức cao (trong ít nhất 2 chu kỳ máy), các thanh ghi trong 8951 được đưa vào những giá trị thích hợp để khởi động hệ thống.
i.OSC: 8951 có một bộ dao động trên chip, nó thường được nối với thạch anh giữa chân 18 và 19. Tần số thạch anh thông thường là 12 MHz.
j. POWER: 8951 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.
ADC0804:
Giới thiệu:
Chip ADC0804 là bộ chuyển đổi tương tự số thuộc họ ADC800 của hãng National Semiconductor. Chip này cũng được nhiều hãng khác sản xuất. Chip có điện áp nuôi +5V và độ phân giải 8 bit. Ngoài độ phân giải thì thời gian chuyển đổi cũng là một tham số quan trọng khi đánh giá bộ ADC. Thời gian chuyển đổi được định nghĩa là thời gian mà bộ ADC cần để chuyển một đầu vào tương tự thành một số nhị phân. Đối với ADC0804 thì thời gian chuyển đổi phụ thuộc vào tần số đồng hồ được cấp tới chân CLK và CLK IN và không bé hơn 110µs.
Chức năng của các chân:
2.2.1 Sơ đồ chân ADC0804
CS (Chip select) Chân số 1, là chân chọn Chip, đầu vào tích cực mức thấp được sử dụng để kích hoạt Chip ADC0804. Để truy cập ADC0804 thì chân này phải ở mức thấp.
RD (Read) Chân số 2, là một tín hiệu vào, tích cực ở mức thấp. Các bộ chuyển đổi đầu vào tương tự thành số nhị phân và giữ nó ở một thanh ghi trong. RD được sử dụng để có dữ liệu đã được chyển đổi tới đầu ra của ADC0804.
Khi CS = 0 nếu có một xung cao xuống thấp áp đến chân RD thì dữ liệu ra dạng số 8 bit được đưa tới các chân dữ liệu (DB0 – DB7).
WR (Write) Chân số 3, đây là chân vào tích cực mức thấp được dùng để báo cho ADC biết bắt đầu quá trình chuyển đổi. Nếu CS = 0 khi WR tạo ra xung cao xuống thấp thì bộ ADC0804 bắt đầu quá trình chuyển đổi giá trị đầu vào tương tự Vin về số nhị phân 8 bit. Khi việc chuyển đổi hoàn tất thì chân INTR được ADC hạ xuống thấp.
Ngắt INTR (Interupt) Chân số 5, là chân ra tích cực mức thấp. Bình thường chân này ở trạng thái cao và khi việc chuyển đổi hoàn tất thì nó xuống thấp để báo cho CPU biết là dữ liệu chuyển đổi sẵn sàng để lấy đi. Sau khi INTR xuống thấp, cần đặt CS = 0 và gửi một xung cao xuống thấp tới chân RD để đưa dữ liệu ra.
Vin (+) và Vin (-) Chân số 6 và chân số 7, đây là 2 đầu vào tương tự vi sai, trong đó Vin = Vin(+) – Vin (-). Thông thường Vin (-) được nối tới đất và Vin (+) được dùng làm đầu vào tương tự và sẽ được chuyển đổi về dạng số.
Vcc Chân số 20, là chân nguồn nuôi +5V. Chân này còn được dùng làm điện áp tham chiếu khi đầu vào Vref/2 để hở.
Vref/2 Chân số 9, là chân điện áp đầu vào được dùng làm điện áp tham chiếu. Nếu chân này hở thì điện áp đầu vào tương tự cho ADC0804 nằm trong dải 0 - +5V. Tuy nhiên, có nhiều ứng dụng mà đầu vào tương tự áp đến Vin khác với dải 0 - +5V. Chân Vref/2 được dùng để thực hiện các điện áp đầu ra khác 0 - +5V.
Bảng quan hệ điện áp Vref/2 với Vin
Vref/2(V)
Vin(V)
Kích thước bước (mV)
Hở
0-5
5/256=19.53
2.0
0-4
4/256=15.63
1.5
0-3
3/256=11.72
1.25
0-2.56
2.56/256=10
1.0
0-2
2/256=7.81
0.5
0-1
1/256=3.91
D0 - D7D0 - D7, chân số 18 – 11, là các chân ra dữ liệu số (D7 là bit cao nhất MSB và D0 là bit thấp nhất LSB). Các chân này được đệm ba trạng thái và dữ liệu đã được chuyển đổi chỉ được truy cập khi chân CS = 0 và chân RD đưa xuống mức thấp. Để tính điện áp đầu ra ta tính theo công thức sau:
Dout=VinKích thước bước
CLK IN và CLK R:
CLK IN (chân số 4), là chân vào nối tới đồng hồ ngoài được sử dụng để tạo thời gian. Tuy nhiên ADC0804 cũng có một bộ tạo xung đồng hồ riêng. Để dùng đồng hồ riêng thì các chân CLK IN (chân số 4) và CLK R (chân số 19) được nối với một tụ điện và một điện trở (như hình vẽ). Khi ấy tần số được xác định bằng biểu thức: f=11.1RCVới R=10 kW , C=150pF và tần số f=606 kHz và thời gian chuyển đổi là 110 µs
MAX232.
3.1.Tìm hiểu về MAX 232
MAX 232 là 1 mạch tích hợp chuyển đổi tín hiệu từ port nối tiếp chuẩn RS 232 sang tín hiệu thích hợp để sử dụng trong các mạch số logic chuẩn tương thích TTL
RS232 Line Type & Logic Level
RS232 Voltage
TTL Voltage to/from MAX232
Data Transmission (Rx/Tx) Logic 0
+3 V to+15 V
0V
Data Transmission (Rx/Tx) Logic 1
-3 V to -15 V
5V
Control Signals (RTS/CTS/DTR/DSR) Logic 0
-3 V to -15 V
5V
Control Signals (RTS/CTS/DTR/DSR) Logic 1
+3 V to+15 V
0V
Sơ đồ chân và mạch đặc trưng của max232
3.2 Các ứng dụng của max232:
Máy tính xách tay
Modem công suất thấp
Hệ thống ắc qui- năng lượng RS 232
Mạng đa điểm RS 232
3.3 Các thông số kĩ thuật của max232:
Nguồn cung cấp: +5V.
Đặc trưng: tốc độ chuyển đổi cao hơn, đỉnh nhỏ.
Giá trị thông thường của tụ là: 1µF.
Data rate : 200kbps.
TRIAC BT138
Cấu tạo và hình dạng:
Thường được coi như một SCR lưỡng hướng vì có thể dẫn điện theo hai chiều
Các cách kích khởi cho triac
Cách xác định chân của TRIAC.
Vặn VOM ở thang Rx1
Ta đặt que đo vào một chân cố định, còn que còn lại đảo gữa hai chân còn lại nếu kim không lên thì ta đảo hai que đo với nhau và đo như trên kim không lên thì chân cố định là chân T2. Ta đặt que đen vào chân A và que đỏ vào một trong hai chân còn lại, sau đó lấy dây nối gữa chân T2 kích với chân còn lại ( chân không đặt que đỏ). Nếu kim lên và thả ra kim tự giữ thì chân đó là chân G. Chân còn lại là chân T1.
Các thông số kỹ thuật của BT138:
IGT :( dòng cổng kích khởi) cở 10mA đến 100mA
Dòng đóng IL ứng với VD = 12 V; IGT = 0.1 A khoảng từ 10mA- 60mA
Dòng đi qua Triac cực đại là 12A
Điện áp cực đại chịu đựng là : 600Vac
IC cảm biến nhiệt LM35
Hình dạng:
Một số tính chất cơ bản của LM35:
LM35 có độ biến thiên theo nhiệt độ: 10mV / 1oC.
Độ chính xác cao, tính năng cảm biến nhiệt độ rất nhạy, ở nhiệt độ 25oC nó có sai số không quá 1%. Với tầm đo từ -55oC – 150oC, tín hiệu ngõ ra tuyến tính liên tục với những thay đổi của tín hiệu ngõ vào.
Thông số kỹ thuật:
Tiêu tán công suất thấp.
Dòng làm việc từ 450mA – 5mA.
Dòng ngược 15mA.
Dòng thuận 10mA.
+ Đặc tính điện:
Theo thông số của nhà sản xuất LM35, quan hệ giữa nhiệt độ và điện áp ngõ ra như sau:
Vout = 0,01´ToC
Vậy ứng với tầm hoạt động từ 0oC – 150oC ta có sự biến thiên điện áp ngõ ra là:
Ở 0oC thì điện áp ngõ ra Vout = 0 (V).
Ở 150oC thì điện áp ngõ ra Vout = 1,5(V).
MOC3020:
6.1 Sơ đồ chân:
6.2 Các thông số kỹ thuật của MOC3020:
Ngõ ra dung điều khiển 220Vac
Dòng kích khởi ứng với Vout =3V: từ 15mA đến 30mA
Dòng giữ: IH là 100µA
IC Giải mã 74LS47
Đại cương.
Mạch giải là mạch có chức năng ngược lại với mạch mã hoá. Mục đích sử dụng phổ biến nhất cũa mạch giải mã là làm sáng tỏ các đèn để hiển thị kết quả ở dạng chữ số. Do có nhiều loại đèn hiển thị và có nhiều loại mã số khác nhau nên có nhiều mạch giải mã khác nhau, ví dụ: giải mã 4 đường sang 10 đường, giải mã BCD sang thập phân…IC74LS47 là loại IC giải mã BCD sang led 7 đoạn. Mạch giải mã BCD sang led 7 đoạn là mạch giải mã phức tạp vì mạch phải cho nhiều ngõ ra lên cao hoặc xuống thấp( tuỳ vào loại đèn led là anod chung hay catod chung) để làm các đèn cần thiết sáng nên các số hoặc ký tự. IC 74LS47 là loại IC tác động ở mức thấp có ngõ ra cực thu để hở và khả năng nhận dòng đủ cao để thúc trực tiếp các đèn led 7 đoạn loại anod chung.
Hình 7.1 Thông số kỹ thuật kích thước của 74LS47
IC giải mã 74ls47 là một trong những IC giãi mã thông dụng cho nên việc tìm hiểu IC này là rất cần thết . Sau day là một số thông số làm việc của IC 74ls47
Điện áp cung cấp cực đại : 7v
Điện áp ngõ vào max : 7v
Nhiệt độ khi làm việc tốt : 0C => 70C
Khoang nhiệt độ dao động cho phép : -65 C => 150 C
Hình 7.2 : Thông số làm việc của 74ls47
7.2 Hình dáng và sơ đồ chân.
Hinh 7.3 :Hình dáng và sơ đồ chân của IC 74LS47.
Chân 1, 2, 6, 7: Chân dử liệu BCD vào.
Chân 9, 10, 11, 12, 13, 14, 15: Các chân ra tác động mức thấp.
Chân 8: Chân nối mass.
Chân 16: Chân nối nguồn.
Chân 4: Gồm ngõ vào xoá BI được để không hay nối lên cao cho hoạt động giải mã bình thường. Khi nối BI ở mức thấp, các ngõ ra đều tắt bất chấp trạng thái của các ngõ vào.
Chân 5: Ngõ vào xoá dợn sóng RBI được để không hay nối lên cao khi không được dùng để xoá số 0( số 0 ở trước số có nghĩa hay số 0 thừa bên trái dấu chấm thập phân).
Chân 3: Ngõ vào thử đèn LT ở cao các ngõ ra đều tắt và ngõ ra xoá dợn sóng RBO thấp. Khi ngõ vào BI/RBO để không hay nối lên cao và ngõ vào LT giữ ở mức thấp các ngõ ra đều sáng.
7.3 Sơ đồ logic và bảng trạng thái.
Hình 7.4: Sơ đồ logic của IC 74LS47.
Sơ đồ cấu trúc của IC74LS47, nó giúp cho những ai muốn tìm hiểu sâu về IC giải mã 74LS47 hoạt động và giải mã BCD sang led 7 đoạn như thế nào. Sự hoạt động của mạch được thể hiện ở bảng sự thật, trong đó đối với các ngõ ra H là tắt và L là sáng, nghĩa là nếu 74LS47 thúc đèn led 7 đoạn thì các đoạn a, b, c, d, e, f, g của đèn sẽ sáng hay tắt tuỳ vào ngõ ra tương ứng của 74LS47 là L hay H.
Hình 7.5 : Bảng trạng thái của IC74LS47.
Kết quả là khi mã số nhị phân 4 bit vào có giá trị thập phân từ 0 đến 15 đèn led hiển thị lên các số như ở hình bên dưới. Chú ý là khi mã số nhị phân vào là 1111= 1510 thì đèn led tắt.
Hình 7.6: Các hiển thị của IC giải mã 74LS47.
LED 7 Đoạn
Led 7 đoạn có thể xem như 7 con led đơn ghép lại , có 1 đầu nối chung còn 1 đầu để hở đưa ra ngoài để phân cực cho led
Đây là lọai đèn dùng hiển thị các số từ 0 đến 9, đèn gồm 7 đọan a, b, c, d, e, f, g, bên dưới mỗi đọan là một led (đèn nhỏ) hoặc một nhóm led mắc song song (đèn lớn).Qui ước các đọan cho bởi:
hi một tổ hợp các đọan cháy sáng sẽ tạo được một con số thập phân từ 0 - 9.
Hình 8.1: Led 7 đoạn có hai loại là loại anot chung và catot chung.
LED anot chung LED catot chung
Đối với led 7 đoạn ta phải tính toán sao cho mỗi đoạn của led 7 đoạn có dòng điện từ 10....20mA. Với điện áp 5V thì điện trở cần dùng là 270Ω; công suất là 1,4 Watt
Hình 8.2: bảng giá trị Led 7 Đoạn
9 Điện trở
Điện trở là đại lượng vật lý đặc trưng cho tính chất cản trở dòng điện của một vật thể dẫn điện. Nó được định nghĩa là tỉ số của hiệu điện thế giữa hai đầu vật thể đó với cường độ dòng điện đi qua nó
Trong đó: Hình II. 1.1: Hình dáng điện trở thục tế
U : là hiệu điện thế giữa hai đầu vật dẫn điện, đo bằng vôn (V).
I : là cường độ dòng điện đi qua vật dẫn điện, đo bằng ampe (A).
R : là điện trở của vật dẫn điện, đo bằng Ohm (Ω).
Ký hiệu:
Ứng dụng:
Điện trở được dùng để chế tạo ra địch mức điện áp giữa hai điểm khác nhau của mạch.
10 Tụ điện:
Tụ điện phẳng gồm hai bàn phẳng kim loại diện tích đặt song song và cách nhau một khoảng d.
Cường độ điện trường bên trong tụ có trị số
E =
= 8.86.10-12 C2/ N.m2 là hằng số điện môi của chân không.
là hằng số điện môi tương đối của môi trường; đối với chân không = 1, giấy tẩm dầu = 3,6; gốm = 5,5; mica = 4 5
CHƯƠNG 3 NGUYÊN LÝ HOẠT ĐỘNG, TÍNH TOÁN CHỌN LINH KIỆN TRONG MẠCH.
Sơ đồ nguyên lý của mạch.
Khối hiển thị.
Khối giao tiếp máy tính.
Khối bàn phím
1.4 Khối mạch chính (có sơ đồ mạch nguyên lý kèm theo)
2 Nguyên lý hoạt động của mạch.
Khi cấp nguồn cho mạch, dựa vào đặc tính nhạy cao của IC LM35 với nhiệt độ. Qua đó tạo ra điện áp hoặc dòng điện tỷ lệ thuận với nhiệt độ tuyệt đối nên ta đo được nhiệt độ của lò nhiệt hiện thời.
Khối ADC chuyển tín hiệu điện sang mã nhị phân có giá trị tương ứng rồi đưa vào vi điều khiển. Từ vi điều khiển tín hiệu dạng số nhị phân được đưa qua IC74LS47 để chuyển sang mã 7 đoạn,sau đó đưa đến khối hiển thị tại lò nhiệt.
Tại lò nhiệt ta có thể đặt nhiệt độ hoặt động của tải bằng bàn phím ma trận 4x4.
Tại máy tính điều khiển trung tâm,có thể nhận được nhiệt độ và đặt nhiệt độ cho phép hoặt động ở lò nhiệt thông qua khối giao tiếp dùng MAX232 và chương trình điều khiển bằng Delphi.
Khi nhiệt độ tại lò vượt quá nhiệt độ cho phép hoặt động mà ta đã đặt thì vi điều khiển làm ngắt tải xoay chiều,giảm nhiệt độ của lò.Sau đó quá trình được lặp lại.
3 Tính toán thiết kế mạch
3.1 Mạch cảm biến và ADC
Chọn nguồn Vcc 5v để cung cấp cho chip adc
Dựa vào datasheet của ADC0804. chọn
C5:150pF
R8:10k
Đối với các tải có điện dung.LM35 có thể lái các tải có điện dung lên đến 50pF.
Thông thường ta sử dụng các mạch nối tiếp R-C (gọi là các R-C Damper) để cách li tải (heavier load),tách các tải với điện trở đồng thời cải thiện khả năng chịu đựng của điện dung
Ta chọn : R7=75 Ohm
C4=0.1µF
3.2 Khối hiển thị và bàn phím
3.2.1 Khối hiển thị
Tính giá trị địên trở hạn dòng Rhd nối với 74LS47 :
Nguồn cung cấp Vcc = 5V. Các thông số ngõ ra của IC7447 là :
Vol = 0.4V
Iol = 40mA .
- Giả sử , ta muốn các led sáng với một dòng điện Iledhd =30mA vậy:
Ihd = .Iledđm
Suy ra: Iledđm = Ihd /
Với T0 là thời gian 1 led sáng
T là thời gian toàn chu kỳ
Chọn thời gian sáng cho 1 led là 100µs
Thời gian toàn chu kì là 600 µs
Vậy :
Iledđm = Ihd / =30/ =73.48 mA
Chọn loại đèn có : Iledđm =70mA
Do led 7 đoạn có 7 led đơn nên dòng Iledđm qua mỗi led sẻ là : Iledđm đơn = 10mA
Chọn BJT 2SA1015 có β = 70
Dòng IBmin = 30/70 =0,428(mA)
Chọn IB=(2÷3)IBmin =2.0.428 =0.856(mA)
Rhd= (Vcc – V LED – Vol)/ILED => Rhd = (5V-1.8V –0.4V )/0.856mA
=> Rhd = 2,73KΩ
Rhd =3,9KΩ.
Lúc đó ILED =(5V-1,8V-0,4V)3,9K = 0,7(mA)
Tính giá trị điện trở Rb nối với BJT:
- Xét điều kiện để transistor boã hoà là :Ic ≥βIb
Với led 7 đoạn, để 1 led sáng cần dòng 10mA, để sáng hết 7 led cần dòng
Ic = 7.10 = 70 (mA)
Chọn BJT A1015 có βmin = 70 .Tại ngõ ra của IC8051 có các thông số sau :
Iol = 3.2mA
Vol =0.4 V
Vậy dòng Ib nằm trong giới hạn sau :
≤ Ib ≤ Iol hay ≤ ≤Iol
Từ đó ta suy ra R:
Rb≥ == = 1187,5Ω
Chọn RB =1.2K Ω
Lúc đó với led 7 đoạn ta có:
Ib = = = 3,16 (mA) ≥ =1(mA)
Với led đơn ta có:
Ib = 3,16 (mA) ≥ =0,14(mA)
3.2.2 Khối bàn phím.
Dùng 16 phím nhấn là các switch nhỏ và 1 Jump 8 để nối dữ liệu.
3.3 Khối mạch giao tiếp
Tụ trong mạch RS232 để tạo mức áp theo chuẩn RS232 và quyết định tốc độ chuyển đổi mức áp, chọn dung lượng nhỏ để tốc độ chuyển đổi tăng.
Chọn giá trị C9,C10,C11,C12=10µF
3.4 Mạch công suất và đồng bộ
3.4.1 Tính mạch công suất:
Dùng điện trở dây đốt : Rs4=50(Ω)
Khi đó dòng qua mạch:
I=UR=22050=4,4(A)
Chọn triac :BT138 có VDRM=±600(V) IT=12(A) VGM=5(V)
dIT/dt =45A/s IGM=2(A) PG(tb)=0,5(w) ton=2us
Tra datasheet chọn dòng kích cho triac IG=10mA
Chọn áp đặt vào triac khi kích là 14(V)
Khi đó: VGT2=0,7(V) (80oC)
Vtriacopto=1,4(v)
VR25+13=14- 0,7 - 1,4=11,9(v)
RR25+13=11,910=1,19(k Ω)
Chọn R25=1(kΩ) R13=180(ohm)
Dòng kích cho triac là 10mA⇒Ptriacopto=10.1,4=14(mW)
Chọn opto_triac MOC3021:
Input: Vm=1,5(V) Im=50mA Pm=100mV
Output: Vm=400(V) Im=100mA Pm=300mV
Chọn dòng qua Input của opto triac :I=50mA ; Vdiode=1,2(v)
Chọn BJT Qs1 là A1015
Khi opto hoạt động thì BJT A1015 dẫn bão hoà
⇒ VCEs=0,1(v) ⇒ P=50.0,1=5(mW) thoả mãn điều kiện của BJT
Áp rơi trên: R11=Vcc-VCEs-VdiodeIC=5-0,1-1,250=74(Ω)
Chọn R11=100(Ω)
Tính chọn R12
Để QS1 A1015 dẫn bão hoà thì:
VEB=VEBs=0,8(v)
IB≥5070=0,714(mA)
Mặc khác dòng VĐK I=3,2(mA) Vmax=0,8(v) ở mức 0
⇒ IB.R12+0,8+0,8=5(v)
Chọn IB=1(mA)
⇒ R12=5-1,61=3,4(kΩ)
Chọn R12=3,3(kΩ)
3.4.2 Tính toán mạch đồng bộ:
Chọn R17=R14=100k để hạn dòng vào opamp và hạn chế dòng lệch không.
Chọn áp vào so sánh VI=4v
UV.R20R20+R26=VI=4(v)
R26R20=3
Chọn R26=12(k Ω) R20=5,6(k Ω)
Opamp co VO=3,5(V) IO=1(uA)
Chọn Vcc=5V và biến trở R18=10K để điều chỉnh so với áp đầu vào.
3.5 Khối mạch trung tâm
Khối xử lý trung tâm chip AT89C51.
Chọn trở thanh kéo lên nguồn ở port 0: Vì dòng ngõ ra tại port 0 rất thấp nên ta phải kéo trở lên nguồn để nâng dòng.Ta chọn trở thanh 10KOhm
Chọn giá trị tần số của bộ dao động thạch anh:
Theo yêu cầu thiết kế tần số tối đa của xung là 1MHz.
Chu kỳ của xung ra:
T=1fxung=11MHz=1μs
Độ rộng xung:
τ=T2=0.5μs
Khi đó thời gian của một chu kỳ lệnh tối đa phải là 1 μs.Tần số thạch anh cần dùng phải là:
fdd≥12τ*2=121=12MHz
Vậy ta chọn thạch anh 12MHz.
Chọn C1=C2=33pF
Tính toán bộ switch cho chân RST của vi điều khiển.
-Khi dòng đổ qua trở R1 và R2,với mục đích muốn sụt áp chủ yếu rơi trên R2 để quyết định mức điện áp cho chân RST nên ta phải chọn R2 lớn hơn nhiều so với R1.
Ta chọn R1=100 Ohm và R2=10 KOhm
Ta có phương trình xả của tụ C3 từ 5Vdc xuống còn 2.6Vdc(lúc này áp rơi trên R2 bằng 2.2Vdc-2.4Vdc nên RST ở mức cao):
VC3(t)=[VC3(0)-VC3(∞)].e-tτ+VC3(∞)
2.6 =[0-5]. e-tτ+5
→etτ ≈2.08
tτ ≈0.734
-Gọi tmax là thời gian lâu nhất cần thiết để bấm chân RST.Vì vậy,tmax này càng bé càng tốt.Tuy nhiên,tmax phải phù hợp với thực tế,nên ta chọn tmax=0.1s.
τ=(R1+R2).C3≈0.136s
C3=τR1+R2=0.136100+10.103≈13.47.10-6F
-Ta chọn C3=10 µF
CHƯƠNG 4 THỰC HIỆN MẠCH IN LẮP RÁP VÀ KIỂM TRA MẠCH
Quy trình thực hiện mạch in.
Layout mạch:
Dùng Orcad để vẽ sơ đồ nguyên lý mạch
Dùng Layout Plus để tạo layout từ sơ đồ nguyên lý.
Quá trình ủi mạch :
Chùi sạch bảng đồng bằng giấy nhám mịn, đặt úp phần layout được in trên giấy vào bảng đồng.
Đặt nhiệt độ bàn là lên mức cao nhất khoảng 1 phút sau đó giữ chặt lên board một thời gian để cho mực in được chảy ra và giấy bắt đầu bám lên board đồng.
Sau khi giấy đã được giữ cố định trên board. Tiến hành là qua lại khắp board để cho mực in được chảy ra. Sau khi cảm thấy mực đã chảy ra và bám chặt trên board thì hạ nhiệt độ bàn là và đặt bàn là khỏi board.
Quá trình rửa mạch:
Sau khi đợi cho mạch mới ửi xong được nguội, ta gở bỏ phần giấy trên board, ngâm vào nước lạnh để lấy sạch giấy. Sau đó kiểm tra phần chổ nào mực không bám lên board ta dùng bút xạ để kẻ lại đường mực.
Sau đó tiến hành ngâm mạch trong dung dịch FeCl3 được pha sẵn trong khoảng 1 giờ để cho FeCl3 phản ứng hết với phần đồng không bị bám mực trên board.
Sau khi hoàn thành quá trình ngâm mạch ta rửa lại trong nước lạnh, dùng giấy nhám mịn chà cho sạch đường mực bám trên board sao cho phần đường đồng trên mạch không bị ảnh hưởng.
Quá trình khoan, hàn mạch:
Chọn mũi khoan phù hợp cho chân linh kiện.
Đối với đế IC thì chọn mũi khoang 1mm. Các linh kiện như điện trở, tụ, trở thanh, BJT thường LM35 chọn mũi khoang 0.6mm và 0.8mm. Đối với BJT công suất thì chọn mũi 1.2mm.
Gắn linh kiện theo layout và hàn từng linh kiện 1 vào mạch.
Sau khi hàn xong linh kiện vào board dùng kìm bấm phần chân còn dư.
Đối với những phần cần phải chạy thêm dây: tiến hành chọn dây dẫn phù hợp. Gọt 2 đầu và hàn vào mạch như linh kiện thông thường.
Các khối mạch trong đề tài
Khối mạch giao tiếp:
Khối hiển thị:
Khối bàn phím:
Khối mạch xử lý trung tâm:
Lắp ráp và kiểm tra mạch
3.1 Lắp ráp mạch:
Nối dây cấp nguồn cho các khối mạch trung tâm gồm: vi điều khiển, max 232.
Nối dây cấp nguồn cho khối hiển thị LED
Nối dây cấp nguồn cho tải: bóng đèn.
Nối jump từ port 0 của vi điều khiển thuộc khối mạch trung tâm vào đầu vào của khối bàn phím
Nối Jump từ port 2 của vi điều khiển vào đầu vào của khối hiển thị Led 7 đoạn.
Nối dây cổng COM với máy tính để thực hiện giao tiếp.
3.2 Kiểm tra mạch:
Quan sát toàn bộ một lượt mạch in, kiểm tra xem có các đường đồng có còn tốt hay không, có đảm bảo kích thước dẫn dòng hay không để xử lí kịp thời.
Kiểm tra khối hiển thị Led 7 đoạn có hoạt động tốt không. Nếu không hiển thị gì thì ta kiểm tra xem port đó đã được kéo dòng hay chưa. Nếu chưa thi cần phải kiểm tra BJT như thế nào. Kiểm tra lại tất cả mà không cải thiện thì lỗi nằm ở phần chương trình.
Kiểm tra điện áp cung cấp cho IC cảm biến LM35, IC 89C51 và IC chuyển đổi mã có đúng đủ thông. Đo điện áp ra trên mỗi IC xem có đạt yêu cầu hay không.
Kiểm tra các điện trở nối từ bộ chuyển đổi đến các led 7 đoạn có đúng không, kiểm tra các điện trở kéo từ xuống có đúng không.
Và kiểm tra lại lẫn nữa các led 7 đoạn có đúng loại không . Trong mạch dung loại anod chung.
* Nếu Led 7 đoạn không sáng thì phải kiểm tra:
Kiểm tra led có đúng loại không
Kiểm tra nguồn cung cấo , BJT dẫn.
Kiểm tra IC giải mã 74LS47 có hoạt động không
* Nếu hiển thị không đúng thì phải kiểm tra:
Cho thử lại code trên chương trình mô phỏng
Kiểm tra khối bàn phím: Nếu bấm phím không nhập được giá trị thì phải kiểm tra xem có switch nào bị hỏng hay không, đã thực hiện kéo trở nâng dòng cho khối bàn phím chưa. Nếu cả hai đều không có thì lỗi nằm ở phần chương trình/
- Kiểm tra giao tiếp máy tính: Nếu việc giao tiếo không thực hiện được với loại thạch anh cần dung thì phải kiểm tra xem vi điều khoển đang dung có đúng là 89c51 hay không, bên cạnh đó cần kiểm tra lại dây cổng COM có còn dùng được hay không, chiều dài dây đã hợp lí hay chưa. Nếu đã thực hiện hết các công việc trên mà việc giao tiếp máy tính vẫn không cải thiển được thì chứng tỏ lỗi nằm ở phần chương trình.
- Kiểm tra nguồn cung cấp:
+ Kiểm tra các tụ đúng cực tính, diode cầu gắn đúng cưc của nó
+ Các điện trở thông mạch
+ Đo điện áp ngõ ra đúng 5V cung cấp cho mạch
Kiểm tra khối điều khiển công suất:
+ Trước tiên kiểm tra con Triac đã gắn đúng chưa, nên dung đồng hồ xác định các chân của triac
+ Kiểm tra các thành phần điều khiển có trong khối
+ Kiểm tra nguồn cung cấp, kích áp các chân..
- Kiểm tra Max 232:
+ Đo nguồn, đo các tụ có trong khối đung syêu cầu tính toàn
+Kiểm tra các các chân của tụ, chân Max232 với điều kiện đầy đủ theo thiết kế mạch
+ Đấu chân 2 và chân 3 thử test gửi dữ liệu xuống, nếu nhận được là tốt
+ Chập ngõ ra của MAX232, nối với chân ra của IC89C51 kiểm tra giao tiếp, kiểm tra phát thu dữ liệu.
3.3 Kiểm tra linh kiện:
- Kiểm tra IC:
+ Kiểm tra tương đối: IC có chân bị cháy đen thường là những IC đã chết và cần được thay mới.
+ Kiểm tra chính xác: cấp nguồn, dung chương trình test đơn giản để kiểm tra việc set các mức 0 và 1 của IC. Nếu IC hoạt động tốt thì ta chọn sử dụng IC này, nếu kết quả không đảm bảo thì ta cần thay mới IC
- Kiểm tra các tụ: Dùng đồng hồ VOM để kiểm tra tụ hoạt động tốt hay xấu. Nếu tụ bị khô, bị rò rỉ hay bị đứt thì ta phải nhanh chóng thay thế bằng tụ mới tương đương để đảm bảo sự hoạt động của khối mạch chứa tụ điện đó, và cũng như đảm bảo cho hoạt đông của toàn mạch.
- Kiểm tra trở: Các trở thường ít bị hư hỏng trong quá trình sử dụng. Tuy nhiên với những điện trở tải dóng lớn ta cần sử dụng các trở công suất để đảm bảo hoạt động của mạch
CHƯƠNG 5. CHƯƠNG TRÌNH DELPHI GIAO TIẾP GIỮA MÁY TÍNH VÀ MẠCH.
1 Giới thiệu
1.1.Mục đích:
Nhằm giúp cho người quản lý có thể dể dàng biết được điều kiện hoạt động hiện thời của thiết bị. Trong phần mạch đã thiết kế thêm 1 phần giao tiếp với máy tính qua cổng COM.
Qua đó giúp người quản lý dể dàng xử lý tại chổ thay vì phải trực tiếp vận hành trên thiết bị.
1.2.Giao diện hiển thị trên máy tính.
Chương trình dùng để thiết kế giao diện và công cụ quản lý được dùng là Delphi.
Nút Send
Cổng Com Mở ?
Hiển thị “Cổng com đang đóng”
40<EditText<100
Hiển thị “ Cần nhập nhiệt độ vào”
Hiển thị “ Cần nhập nhiệt độ từ 40 đến 100”
Gửi dữ liệu ra cồng Com
Kết thúc
Nút Open
Hiển thị “Close”
Đóng cổng Com
Hiển thị “Open”
Mở cổng Com
Kết Thúc
2. Thực hiện
2.1.Lưu đồ thuật toán:
Cổng Com Mở ?
S
Đ
Đúng
Sai
Đúng
EditText= “ ”?
Sai
Đúng
Sai
Kết thúc
Doc <n ?
MeMo trạng thái hiển thị “Lò nóng”
MeMo trạng thái -> màu Đỏ
MeMo trạng thái hiển thị “Lò Nguội”
MeMo trạng thái -> màu Xanh
MeMo trạng thái hiển thị “Lò hoạt động bình thường
MeMo trạng thái -> màu Trắng
Doc =n ?
m = Dat +5
n = Dat -5
Dat=Strtoint(Edit2Tnhap.text)
Doc=Strtoint(Memo1.Text)
Memo Trạng thái lò
2.2. Chương trình thực hiện:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls,CPort, Menus;
type
TForm1 = class(TForm)
Open: TButton;
Setting: TButton;
Send: TButton;
Edit1: TEdit;
Clear: TButton;
Memo1: TMemo;
Timer1: TTimer;
Label_Gio: TLabel;
Label_Ngay: TLabel;
MainMenu1: TMainMenu;
File1: TMenuItem;
About1: TMenuItem;
Help1: TMenuItem;
Exit1: TMenuItem;
Time: TLabel;
Date: TLabel;
Edit2Tnhap: TEdit;
ComPort1: TComPort;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
TRANGTHAI: TMemo;
procedure ComportRxChar(Sender: TObject; Count: Integer);
procedure ExitClick(Sender: TObject);
procedure OpenClick(Sender: TObject);
procedure SettingClick(Sender: TObject);
procedure SendClick(Sender: TObject);
procedure ClearClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure About1Click(Sender: TObject);
procedure Help1Click(Sender: TObject);
procedure TRANGTHAIchange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
//dong cong com va exit chuong trinh
procedure TForm1.ExitClick(Sender: TObject);
begin
ComPort1.Close;
Close;
end;
// dong va mo cong com
procedure TForm1.OpenClick(Sender: TObject);
begin
if ComPort1.Connected then
begin
ComPort1.Close;
Open.Caption :='Close';
end
else
begin
ComPort1.Open;
Open.Caption:='Open';
end
end;
//dat cac tham so cho cong com
procedure TForm1.SettingClick(Sender: TObject);
begin
ComPort1.ShowSetupDialog;
ComPort1.Open;
end;
// Gui du lieu ra cong com
procedure TForm1.SendClick(Sender: TObject);
var i:byte;
s:string;
begin
if Comport1.Connected then
begin
if(Edit1.Text='')or(Edit1.Text=' ')or(Edit1.Text=' ')or(Edit1.Text=' ') then
ShowMessage('Can nhap du lieu vao')
else
//if 1=2 then showMessage('Can nhap vao so')
//else
if(strtoint(Edit1.Text)>120)or(strtoint(Edit1.Text)<15)then
ShowMessage('Nhap so lon hon hoac bang 15 va nho hon 120')
else
begin
s:= chr(strtoint(Edit1.Text));
for i:=1 to length(s) do comport1.WriteStr(s[i]);
end
end
else ShowMessage('Cong com dang dong')
end;
// Nhan du lieu tu cong com
procedure TForm1.ComportRxChar(Sender: TObject; Count: Integer);
var str:string; m,n,dat,ht: integer;
begin
ComPort1.ReadStr(str,count);
Memo1.Text := inttostr(ord(str[1]));
Edit2Tnhap.Text := inttostr(ord(str[2]));
dat:= strtoint(Edit2Tnhap.Text);
ht:= strtoint(Memo1.Text);
m:= dat+ 5;
n:= dat - 5;
if( (htn))
then
begin TRANGTHAI.Text:='Lo Hoat Dong Binh Thuong';
TRANGTHAI.Color:=clWhite;
end
else if(ht<n)
then
begin
TRANGTHAI.Text:='Lo Nguoi';
TRANGTHAI.Color:=clLime ;
Beep;
end
else
begin
TRANGTHAI.Text:='Lo Nong';
TRANGTHAI.Color:=clRed;
Beep;
End
end;
// xoa memo
procedure TForm1.ClearClick(Sender: TObject);
begin
Memo1.Lines.Clear;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label_Gio.Caption:=timetostr(now());
Label_Ngay.Caption:=datetostr(now());
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Comport1.Close;
Close;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
ShowMessage('Chuong trinh GIAM SAT VA ON DINH NHIET DO'
+#13#10+
'Giao vien huong dan: Le Hong Nam'
+#13#10+'Sinh vien thuc hien:'
+#13#10+'Nhóm 13-Lop 07DT4'
+#13#10+' Phan Van Bin '
+#13#10+' Cao Manh Hung '
+#13#10+' Le Viet Khanh '
+#13#10+' Nguyen Xuan Quang '
+#13#10+' Nguyen Son Tung '
+#13#10+' Le Anh Tuan '
+#13#10+' Da Nang, Thang 3 nam 2011');
end;
procedure TForm1.Help1Click(Sender: TObject);
begin
ShowMessage('Contact: Group 13-07DT4');
end;
end.
CHƯƠNG 6. CHƯƠNG TRÌNH ASSEMBLY VIẾT CHO VI ĐIỀU KHIỂN
Lưu đồ thuật toán.
LOOP_MAIN
Chương trình chính
GOIDULIEU
CLEAR
HIENTHI
ENTER
DOCCAMBIEN
DISPLAY
XULYCONGSUAT
CALL IN_HEX
Nhập giá trị ?
Nhập giá trị
ENTER ?
CLEAR ?
Hiển thị lại ?
Các khối lưu đồ của chương trình con
IN_HEX
Kiểm tra cột 0
Biến đếm số cột
R4=4
Đ
R4=4?
S
Đ
Hàng 0 có ấn?
S
Mã quét
Đ
Hàng 1 có ấn?
DEC R4
Chuyển sang cột kế tiếp
S
Mã quét
Hàng 2 có ấn?
Đ
S
Mã quét
Đ
Hàng 3 có ấn?
Mã quét
RET
GET_KEY_SET
Có phím chọn nhập giá trị từ bàn phím không?
Set bit 10
R6= 14
KEY-SET= R6
RET
DAT_KEYBOARD
Có phím chọn hiển thị giá trị từ bàn phím không?
Set bit 12
R6= 12
KEY-DAT= R6
RET
CALL_KEYBOAD
Cho các thanh ghi có liên quan bằng 0
Call IN_HEX
Call CLEAR
PHIM_NHAN= 13?
Call ENTER
PHIM_NHAN= 15?
Call XULYPHIM
PHIM_NHAN= các số 0-9?
Cất lại giá trị nhập
NEXT_MAIN
LOOP_MAIN
CALL_KEYBOAD
KEY_SET=14?
Hiển thị giá trị vừa nhập
KEY_SET=12?
NEXT_MAIN
DOC_CAM_BIEN
- Clear Bit WRCB để thực hiện quá trình chuyển đổi ADC- Nop : đợi thời gian để chuyển đổi ADC xong
Kiểm tra bit INTR = 0 ?
S
Đ
Clear bit RDCB để đưa giá trị chuyển đổi đến cổng ra
Nạp giá trị cổng ra vào NHIETDODOC
RET
Chuyển mã&Hiển thị
RET
HIỂN THỊ ĐƠN VỊ
CỘNG A VỚI 0E0H
DONVI <- A
A<-B
CHỤC <- A
B <- 10
HIỂN THỊ CHỤC
CHỤC <- A
CỘNG A VỚI 0D0H
A <- B
HIỂN THỊ TRĂM
Cộng A với #0B0H
CHIA A CHO B
TRAM <- A
CHIA A CHO B
B <- #100
A <- NHIETDODOC
Xử Lý Công Suất
Đ
S
Nhietdodoc>
Nhietdodat
Bật lò
Tắt lò
Kết Thúc
Đ
S
Đ
Đ
Đ
S
S
S
Cờ ngắt IT = 1 ?
Xóa bit cờ ngắt IT
Gửi Nhietdodoc lên máy tính
Thoát Ngắt
Gửi Nhietdodoc lên máy tính
Xóa bit cờ ngắt IT
Hiển Thị NHIETDODAT
Xóa cờ ngắt IR
Nhận dữ liệu từ máy tính đưa đến NHIETDODAT
Cờ ngắt IR = 1 ?
Cờ ngắt IT = 1 ?
Ngắt Nối Tiếp
Cờ ngắt IT = 1 ?
Chương trình Assembly
DONVI EQU 30H
CHUC EQU 31H
TRAM EQU 32H
PHIM_NHAN EQU 40H
PHIM1 EQU 41H
PHIM2 EQU 42H
PHIM3 EQU 43H
PHIMT EQU 44H
TG1 EQU 45H
TG2 EQU 46H
TG3 EQU 47H
NHO_LAN1 EQU 48H
NHO_LAN2 EQU 49H
KEY_SET EQU 50H
KEY_DAT EQU 54H
NHIETDODOC EQU 50H
NHIETDODAT EQU 51H
KETQUA EQU 52H
GTCB EQU 53H
//Dinh nghia cac Bit
RDCB BIT P3^7
WRCB BIT P3^6
INTRCB BIT P3^5
CONGSUAT BIT P3^4
DONGBO BIT P3^2
LED1 BIT P3^3
;--------------------------------------
;----------Chuong trinh----------------
;--------------------------------------
ORG 0000H
LJMP MAIN
;--------------------------------------
;------------Khai bao cac ngat---------
;--------------------------------------
ORG 23H
LJMP SERIAL ;Ngat noi tiep
;--------------------------------------
;------------Chuong trinh chinh--------
;--------------------------------------
ORG 100H
MAIN:
;---Cai dat ban dau------------
MOV KEY_SET,#0H
MOV DONVI,#0H
MOV CHUC,#0H
MOV TRAM,#0H
MOV NHIETDODOC,#0H
MOV NHIETDODAT,#28H
MOV NHO_LAN1,#0H
MOV NHO_LAN2,#0H
MOV PHIM_NHAN,#0H
MOV PHIM1,#0H
MOV PHIM2,#0H
MOV PHIM3,#0H
MOV PHIMT,#0H
MOV TG1,#0H
MOV TG2,#0H
MOV TG3,#0H
MOV TMOD,#11H
MOV PHIM_NHAN,#0H
MOV P0,#0FFH
MOV P1,#0FFH
MOV P2,#0FFH
MOV P3,#0FFH
SETB EA
SETB ES
MOV TMOD,#21H
MOV TH1,#-3
MOV SCON,#50H ;Sm1=1:mode 2 ; ren(receive enable =1 ) : cho phép thu
SETB TR1 ; cho phép timer 1 hoạt động
;--------------------------------------
;--------Chuong trinh chinh------------
;--------------------------------------
LOOP_MAIN:
MOV A,#00H
MOV KEY_SET,A
MOV KEY_DAT,A
CALL SET_KEYBOAD
MOV A,KEY_SET
CJNE A,#14,DAT_KEY
LCALL CALL_KEYBOAD
DAT_KEY:
CALL DAT_KEYBOARD
MOV A,KEY_DAT
CJNE A,#12,NEXT_MAIN
CALL HIENTHI
NEXT_MAIN:
CALL DOC_CAM_BIEN
MOV A,NHIETDODOC
MOV SBUF,A ; Goi du lieu len may tinh ///////
CALL CHUYENMA
CALL DISPLAY
CALL XULYCONGSUAT
SJMP LOOP_MAIN
;---------------------------------------
;---------Phim cai dat phim SET---------
;---------------------------------------
SET_KEYBOAD:
MOV R7,#50
BACK1_SET_KEY:
CALL GET_KEY_SET
JNB 10,EXP1_SET_KEY
DJNZ R7,BACK1_SET_KEY
BACK2_SET_KEY:
MOV R7,#50
BACK3_SET_KEY:
CALL GET_KEY_SET
JB 10,BACK2_SET_KEY
DJNZ R7,BACK3_SET_KEY
MOV KEY_SET,R6
EXP1_SET_KEY:
RET
//-------------------------------------------
GET_KEY_SET:
MOV P0,#07FH;10111111
JNB P0.2,ROW_3_SET ;nhảy tới nhãn row nếu P0.0 = 0
SJMP NO_CODE_SET
ROW_3_SET:
SETB 10
MOV R6,#14
SJMP EXIT_SET_KEY
NO_CODE_SET: ;Neu khong co phim nhan thi xoa bit 10
CLR 10
EXIT_SET_KEY:
RET
;----------------------------------------
;-------DAT SET KEY---------------------
;-----------------------------------------
DAT_KEYBOARD:
MOV R7,#50
BACK1_SET_KEY1:
CALL GET_KEY_SET1
JNB 12,EXP1_SET_KEY1
DJNZ R7,BACK1_SET_KEY1
BACK2_SET_KEY1:
MOV R7,#50
BACK3_SET_KEY1:
CALL GET_KEY_SET1
JB 12,BACK2_SET_KEY1
DJNZ R7,BACK3_SET_KEY1
MOV KEY_DAT,R6
EXP1_SET_KEY1:
RET
//-------------------------------------------
GET_KEY_SET1:
MOV P0,#07FH;10111111
JNB P0.0,ROW_3_SET1 ;nhảy tới nhãn row nếu P0.0 = 0
SJMP NO_CODE_SET1
ROW_3_SET1:
SETB 12
MOV R6,#12
SJMP EXIT_SET_KEY1
NO_CODE_SET1: ;Neu khong co phim nhan thi xoa bit 10
CLR 12
EXIT_SET_KEY1:
RET
HIENTHI:
MOV A,NHIETDODAT
CALL CHUYENMA
MOV R7,#3
DOI:
CALL DISPLAY
DJNZ R7,DOI
RET
;----------------------------------------------
;--------Quet ban phim-------------------------
;----------------------------------------------
CALL_KEYBOAD:
CLR ES ; xóa bít ngắt nối tiếp
MOV A,#130
MOV SBUF,A ;xóa dữ liệu vào máy tính
JNB TI,$
CLR TI ;xóa cổ ngắt do cổng nối tiếp
CLR LED1 ; xóa bít P3.3
MOV PHIM_NHAN,#0H
MOV PHIM1,#0H
MOV PHIM2,#0H
MOV PHIM3,#0H
MOV PHIMT,#0H
MOV TG1,#0H
MOV TG2,#0H
MOV TG3,#0H
LOOP_KEYBOAD:
CLR 11
CALL IN_HEX
JNB 11,NEXT
//So sanh de chon phim
MOV A,PHIM_NHAN ;Phim so 10 tai nguyen
CJNE A,#10,NEXT_KEYBOAD1
SJMP EXIT_KEYBOAD
NEXT_KEYBOAD1:
MOV A,PHIM_NHAN ;Phim so 11 tai nguen
CJNE A,#11,NEXT_KEYBOAD2
SJMP EXIT_KEYBOAD
NEXT_KEYBOAD2:
MOV A,PHIM_NHAN ;Phim so 12 tai nguen
CJNE A,#12,NEXT_KEYBOAD3
SJMP EXIT_KEYBOAD
NEXT_KEYBOAD3: ;Phim so 13 la phim CLR
MOV A,PHIM_NHAN
CJNE A,#13,NO_CLEAR
SJMP CLEAR
NO_CLEAR:
MOV A,PHIM_NHAN ;Phim so 14 tai nguyen
CJNE A,#14,NEXT_KEYBOAD4
SJMP EXIT_KEYBOAD
NEXT_KEYBOAD4:
MOV A,PHIM_NHAN ;Phim so 15 la phim ENTER
CJNE A,#15,NO_ENTER
LJMP ENTER
NO_ENTER:
CALL XULYPHIM
MOV A,PHIMT
CJNE A,#255,OVER_MAX ;Neu gia tri dat >120 thi xoa ve 0 va nhap lai
SJMP NEXT
OVER_MAX:
JC NEXT
CLEAR:
MOV PHIM_NHAN,#0H
MOV PHIM1,#0H
MOV PHIM2,#0H
MOV PHIM3,#0H
MOV PHIMT,#0H
MOV TG1,#0H
MOV TG2,#0H
MOV TG3,#0H
NEXT:
MOV A,PHIMT
MOV SBUF,A
JNB TI,$
CLR TI
CALL CHUYENMA
CALL DISPLAY
EXIT_KEYBOAD:
SJMP LOOP_KEYBOAD
ENTER:
MOV NHIETDODAT,PHIMT
MOV A,#131
MOV SBUF,A
JNB TI,$
CLR TI
SETB ES
SETB LED1
JMP NEXT_MAIN
;------------------------------------------
;-------Chuong trinh con xu ly ban phim----
;------------------------------------------
IN_HEX:
MOV R7,#70
BACK1:
ACALL GET_KEY
JNB 10,EXP1
DJNZ R7,BACK1
BACK2:
MOV R7,#50
BACK3:
ACALL GET_KEY
JB 10,BACK2
DJNZ R7,BACK3
SETB 11
MOV PHIM_NHAN,R6
EXP1:
NOP
RET
;----------------------------------------------------------------------------
GET_KEY:
MOV A,#0FEH
MOV R5,#0
SCAN_ROW:
MOV P0,A
MOV R4,A ;luu gia tri cua A vao R4
;chuan bi quet cac cot va nhay
JNB P0.4,ROW_0
JNB P0.5,ROW_1
JNB P0.6,ROW_2
JNB P0.7,ROW_3
;khong co phim an thi chuyen den cot tiep theo
MOV A,R4 ;lay lai ma lan truoc tu r4
RL A ;quay trai 1 bit de chuyen den cot ke tiep
INC R5 ;tang so lan quet len 1
CJNE R5,#4,SCAN_ROW ;khong du 4 cot thi quay lai quet
SJMP NO_CODE
ROW_0:
MOV A,R5
ADD A,#0
SETB 10
MOV R6,A
SJMP EXIT
ROW_1:
MOV A,R5
ADD A,#4
SETB 10
MOV R6,A
SJMP EXIT
ROW_2:
MOV A,R5
ADD A,#8
SETB 10
MOV R6,A
SJMP EXIT
ROW_3:
MOV A,R5
ADD A,#12
SETB 10
MOV R6,A
SJMP EXIT
NO_CODE: ;Neu khong co phim nhan thi xoa bit 10
CLR 10
EXIT:
RET
;-----Chuong trinh con xu ly ban phim---------------
XULYPHIM:
MOV TG1,PHIM_NHAN
MOV TG2,PHIM1
MOV TG3,PHIM2
MOV PHIM3,TG3
MOV A,PHIM3
MOV B,#100
MUL AB
MOV NHO_LAN1,A
MOV PHIM2,TG2
MOV A,PHIM2
MOV B,#10
MUL AB
MOV NHO_LAN2,A
MOV PHIM1,TG1
MOV A,PHIM1
ADD A,NHO_LAN1
ADD A,NHO_LAN2
MOV PHIMT,A
RET
;---------------------------------------
;------Chuong trinh con ngat noi tiep---
;---------------------------------------
SERIAL:
PUSH ACC
PUSH PSW
JB TI,TRANS
; CLR LED1
JNB RI,$
MOV NHIETDODAT,SBUF
CLR RI
CALL CHUYENMA
CALL DISPLAY
; SETB LED1
SJMP EXIT_SERIAL
TRANS: MOV SBUF,NHIETDODOC
JNB TI,$
CLR TI
MOV SBUF,NHIETDODAT
JNB TI,$
CLR TI
EXIT_SERIAL:
POP PSW
POP ACC
RETI
;---------------------------------------
;--------Chuong trinh con---------------
;---------------------------------------
;--------Chuong trinh con doc cam bien--
;---------------------------------------
DOC_CAM_BIEN:
CLR WRCB
NOP
SETB WRCB
HERE:
JB INTRCB,HERE
CLR RDCB
MOV A,P1
MOV NHIETDODOC,A
SETB RDCB
RET
;-----------------------------------------------------
;------Chuong trinh con xu ly cong xuat-----
;------------------------------------------------------
XULYCONGSUAT:
MOV A,NHIETDODOC
CJNE A,NHIETDODAT,OVER
SJMP EXIT
OVER:
JNC NEXT_POWER ;NHIETDODOC>NHIETDODAT
CALL POWER_ON
SJMP EXIT_POWER
NEXT_POWER:
CALL POWER_OFF
EXIT_POWER:
RET
;-------------------------------------------------------
;------Chuong trinh con mo mach cong suat---
;-------------------------------------------------------
POWER_ON:
CLR CONGSUAT
RET
;---------------------------------------------------------
;------Chuong trinh con dong mach cong suat---
;---------------------------------------------------------
POWER_OFF:
SETB CONGSUAT
RET
;-------------------------------------------------------
;------Chuong trinh con hien thi-----------------
;------------------------------------------------------
DISPLAY:
MOV R0,#100
LOOP:
MOV P2,DONVI
CALL DELAY_1MS
MOV P2,CHUC
CALL DELAY_1MS
MOV P2,TRAM
CALL DELAY_1MS
DJNZ R0,LOOP
RET
;----------------------------------------------------
;-----chuong trinh con chuyen ma-----------
;---------------------------------------------------
CHUYENMA:
MOV B,#100
DIV AB
ADD A,#0B0H
MOV TRAM,A
MOV A,B
MOV B,#10
DIV AB
ADD A,#0E0H
MOV CHUC,A
MOV A,B
ADD A,#0D0H
MOV DONVI,A
RET
;-----------------------------------------------------
;-----Chuong trinh con tao tre 1ms------------
;----------------------------------------------------
DELAY_1MS:
MOV R3,#00H
LOOPE: INC R3
NOP
CJNE R3,#250,LOOPE
RET
END
CHƯƠNG 7. NHẬN XÉT ĐỀ TÀI.
Tính ứng dụng của đề tài.
Mạch bảo vệ trong lò nhiệt là một ứng dụng rất phù hợp với thực tế.
Điều khiển nhiệt độ của vật cần quản lý hiệu quả để tránh gây nên hư hỏng và thiệt hại không đáng có.
Do có khả năng giao tiếp máy tính nên người quản lý có thể không cần trực tiếp theo dõi mà chỉ cần ở phòng điều khiển để quản lý.
Thuận lợi
Trong quá trình thiết kế và thi công mạch luôn có sự hướng dẫn chu đáo của thầy hướng dẫn.
Đề tài được làm theo nhóm nên kinh phí thực hiện được đảm bảo.
Thành viên trong nhóm đều nhiệt tình nên quá trình làm được đẩy nhanh.
Tài liệu về đề tài phong phú và phù hợp nên quá trình tìm hiểu thuận lợi.
Khó khăn.
Do mạch gồm nhiều khối với rất nhiều linh kiện sử dụng. Với linh kiện sử dụng cho các khối có giá cao trên thị trường nên trong quá trình thực hiện đề tài còn gặp nhiều khó khăn về vấn đề tài chính.
Thời gian thực hiện không được tập trung nên hiệu quả không cao.
Hạn chế của đề tài
Đề tài mới chỉ có thể khảo sát trong điều kiện cho phép.
Tính ổn định còn chưa cao.
Mạch thực hiện với nhiều khối khác nhau nên quá trình điều khiển rất dể xảy ra lỗi.
Các file đính kèm theo tài liệu này:
- Báo cáo thực tập công nhân lớp 07dt1(mạch điều khiển nhiệt độ).docx