Báo cáo Thực tập công nhân lớp 07dt1 (mạch điều khiển nhiệt độ)

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

docx76 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2986 | Lượt tải: 4download
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 - D7 D0 - 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.1RC Vớ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:

  • docxBáo cáo thực tập công nhân lớp 07dt1(mạch điều khiển nhiệt độ).docx