Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.58 MB, 18 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
Ngày nay khoa học kỹ thuật đã có những bước tiến rất nhanh chóng ở các quốc gia trên tồn thế giới nói chung và Việt Nam nói riêng. Ngành tự động hóa đã, đang và sẽ tiếp tục có những đóng góp to lớn cho tình hình phát triển chung đó. Một trong những thành tựu của ngành tự động hóa là việc cho ra đời các hệ thống sản xuất tự động thay thế con người. Điều này đã giúp tăng hiệu suất lao động và tăng năng suất sản xuất cho các nhà máy, xí nghiệp... Các hệ thống tự động được xây dựng nhằm mục đích phục vụ cho lĩnh vực sản xuất đặc biệt là sản xuất với số lượng lớn và ngay khi vừa mới đưa vào thử nghiệm thì nó đã chứng tỏ được ưu thế của mình thơng qua các con số thống kê về số lượng thành phẩm mà dây chuyền tự động thực hiện được so với số thành phẩm do nhân cơng tạo ra.
Trên cơ sở đó, nhằm để có thể phát huy những kiến thức đã học cũng như tích luỹ thêm kinh nghiệm trong thiết kế mạch chúng em đã chọn đề tài: “ Mạch đếm sản phẩm sử dụng PIC”. Mục đích chính của đồ án là thiết kế một hệ thống tự động có thể cho biết năng suất của dây chuyền sản xuất trong một nhà máy. Đồ án được thực hiện Trên cơ sở đó, nhằm để có thể phát huy những kiến thức đã học cũng như tích luỹ thêm kinh nghiệm trong thiết kế mạch chúng em đã chọn đề tài: “ Mạch đếm sản phẩm sử dụng PIC”. Mục đích chính của đồ án là thiết kế một hệ thống tự động có thể cho biết năng suất của dây chuyền sản xuất trong một nhà máy. Đồ án được thực hiện dựa trên 3 yêu cầu là mạch phải đơn giản, rẻ và có tính khả thi. Từng cơng đoạn thực hiện cũng như giới thiệu về cơ sở lý thuyết để thiết kế nên mạch sẽ lần lượt được giới thiệu cụ thể trong những phần sau của đồ án.
Việc làm đồ án đã giúp cho chúng em có thêm được nhiều kiến thức bổ ích về thực tế, bổ sung những kiến thức đã được học ở nhà trường.
Tuy nhiên, do còn hạn chế về kinh nghiệm thực tế, tài liệu tham khảo, thời gian thực hiện, nên đồ án không thể tránh khỏi những thiếu sót, kính mong giáo viên hướng dẫn góp ý xây dựng để đồ án được hồn thiện hơn.
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><b>1.1 : Giới thiệu </b>
<i>Đề tài đồ án mơn học của nhóm em là : “ Đếm sản phẩm dùng Timer của PIC16F877A</i>
chúng em như sau :
*Tóm tắt hướng thực hiện đề tài
- Sử dụng vi điều khiển Pic 16F877 làm chíp điều khiển trung tâm - Dùng chương trình PIC-C lập trình code
- Đối tượng điều khiển là các thiết bị điện trong mạch.
- Ngồi ra , trên mạch cịn có các linh kiện khác để thực hiện truyền tín hiệu giữa vi điều khiển trung tâm với các thiết bị nói trên .
Tất cả các module mạch trên sẽ được chúng em trình bày rõ trong ccs phần tiếp theo của đề tài .
<b>1.2 : Sơ đồ nguyên lý kết nối các module trong mạch 1.3 Cách vận hành mạch</b>
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">PIC là tên viết tắt của “Programmable Intelligent computer” do hãng General Instrument đặt tên cho con vi điều khiển đầu tiên của họ. Hãng Micrchip tiếp tục phát triển sản phẩm này và cho đến hàng đã tạo ra gần 100 loại sản phẩm khác nhau. PIC16F877A là dòng PIC khá phổ biến, khá đầy đủ tính năng phục vụ cho hầu hết tất cả các ứng dụng thực tế. Đây là dòng PIC khá dễ cho người mới làm quen với PIC có thể học tập và tạo nền tảng về họ vi điều khiển PIC của mình.Cấu trúc tổng quát của
Timer0 : bộ nhớ 8 bit bộ chia tần số 8 bit Timer2 : bộ đếm 8 bit với bộ chia tần số
- 1 bộ định thời Timer1 16 bit có thể hoạt động ở cả chế độ tiết kiệm năng lượng với nguồn xung clock ngồi.
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">-15 nguồn ngắt
PIC là một họ vi điều khiển RISC của MICROCHIP
<i>PIC: Programmable Intelligent Computer</i>
<small> Hình 1.1 : Sơ đồ cơ cấu của PIC16F877A </small>
<small> Hình 1.2 : Sơ đồ chân của PIC 16F877A </small>
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><small> Hình 1.3 : Sơ đồ thực tế </small>
<b>* Chức năng của các ports:</b>
RA0-5 : Cổng giao tiếp 2 chiều A. RB1-7 : Cổng giao tiếp 2 chiều B. RBO/INT : Cổng giao tiếp 2 chiều. Chân ngắt ngoài ( External Interrup Pin) RC0-7 : Cổng giao tiếp 2 chiều C. RD0-7 : Cổng giao tiếp 2 chiều D. REO-2 : Cổng giao tiếp 2 chiều E. AN0-7 : Cổng giao tiếp tương tự. V : Chân mass.
Vp: Chân nguồn.( +2.0V > +5.5V)
OSC1/CLKIN : Chân nối với dao động thạch anh (Oscillator Crystal Input) OSC2/CLKOUT : Chân nối với dao động thạch anh (Oscillator Crystal Output) MCLR : Chân reset mức thấp (Active low reset).
<b>*Điều kiện hoạt động </b>
VDD : 5VDC
RESET: Tích cực mức thấp Thạch anh : 4/8/12/20MHz Cổng ghi chương trình : JTAG
<b>2. Giới thiệu về các linh kiện trong mạch </b>
<i>2.1 Led 7 đoạn </i>
Có thể hiểu một cách vô cùng đơn giản về LED 7 đoạn như sau:
LED 7 đoạn hay LED 7 thanh (Seven Segment display) là 1 linh kiện rất phổ dụng, được dùng như là 1 công cụ hiển thị đơn giản nhất.
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">- Trong LED 7 thanh bao gồm ít nhất là 7 con LED mắc lại với nhau, vì vậy mà có tên là LED 7 đoạn là vậy ,7 LED đơn được mắc sao cho nó có thể hiển thị được các số từ 0 - 9, và 1 vài chữ cái thông dụng, để phân cách thì người ta cịn dùng thêm 1 led đơn để hiển thị dấu chấm (dot) . Các led đơn lần lượt được gọi tên theo chữ cái A- B-C-D-E-F-G, và dấu chấm dot (DP).
- 8 led đơn trên led 7 thanh có Anode (cực +) hoặc Cathode (cực -) được nổi chung với nhau vào một điểm và được đưa chân ra ngoài để kết nối với mạch điện. 7 cực còn lại trên mỗi led đơn của led 7 đoạn và 1 cực trên led đơn ở góc dưới, bên phải của led 7 đoạn được đưa thành 8 chân riêng để điều khiển cho led sáng tắt theo ý muốn. Nếu led 7 đoạn có Anode (cực +) chung, đầu chung này được nối với +Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0.
<small>Hình 2.1 Sơ đồ chân của Led 7 thanh </small>
<i>2.2 .Điện trở:</i>
Điện trở là linh kiện thụ động có tác dụng cản trở cả dòng và áp. Điện trở được sử dụng rất nhiều trong các mạch điện tử.
Trong đó: p là điện trở suất của vật liệu , S là thiết diện của dây , l là chiều dài của dây. Đ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ó:
R= Trong đó
U : là hiệu điện thế giữa hai đầu vật dẫn điện, đo bằng vôn (V).
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">I: là cường độ dòng điện đi qua vật dẫn điện, đo bằng ămpe (A). R : là điện trở của vật dẫn điện, đo bằng Ohm (Ω).
<i>a. Thạch anh 8MHz </i>
Tạo tần số hoạt động cho PIC 16F877
Đặc tính vật lý : độ bền cơ học ít , ít chịu ảnh hưởng của nhiệt độ và tác dụng hóa học
<small>Hình 2.2: Hình và kí hiệu thạch anh</small> Giá trị thạch anh thường dùng là 8MHz , 12MHz ,20MHz
<i>b. Tụ điện : </i>
Tụ điện là một linh kiện thụ động cấu tạo của tụ điện là hai bản cực bằng kim loại ghép cách nhau một khoảng 1 ở giữa hai bản tụ là dung dịch hay chất điện mỗi cách điện có điện dung C. Đặc điểm của tụ là cho dòng điện xoay chiều đi qua, ngăn cản dòng điện
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">Đơn vị của đại lượng điện dung là Fara [F]. Trong thực tế đơn vị Fara là trị số rất lớn, do đó thường dùng các đơn vị đo nhỏ hơn như micro Fara (1uF=106F), nano Fara (InF-10 °F), picoFara (1pF=(InF-10-12F).
Cơng thức tính điện dung của tụ : =ℰ Trong đó : là hằng số điện môi ℰ
Dẫn điện ( thường dùng để tạo mức LOW cho vi điều khiển ) Không dẫn ( thường dùng để tạp múc HIGHT cho vi điều khiển )
<i>2.4 Ic 7805 </i>
IC điều chỉnh điện áp dương đầu ra 5V. Nó là IC của dòng ổn áp dương LM78xx, được sản xuất trong gói TO-220 và các gói khác. IC này được sử dụng rộng rãi trong các thiết bị thương mại và giáo dục. Nó cũng được sử dụng bởi nhiều người đam mê điện tử và thợ mày mị do giá rẻ, dễ sử dụng và khơng cần nhiều linh kiê “n bên ngồi. IC có nhiều tính năng tích hợp lý tưởng để sử dụng trong nhiều ứng dụng điện tử như dòng điện đầu ra 1.5A, chức năng bảo vệ quá tải, bảo vệ quá nhiệt, dòng điện tĩnh thấp, v.v.
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">Bộ điều chỉnh điện áp dương trong cấu hình điện áp âm Bộ điều chỉnh đầu ra có thể điều chỉnh
Điều chỉnh dòng điện
Bộ điều chỉnh điện áp một chiều có thể điều chỉnh Nguồn cung cấp kép được điều chỉnh
Mạch bảo vệ đảo cực-đảo chiều đầu ra Mạch chiếu phân cực ngược
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">Bộ điều chỉnh điện áp 7805 cũng được sử dụng trong các mạch xây dựng cho đồng hồ đo điện cảm, bộ sạc điện thoại , đầu đĩa CD di động, phần mở rộng điều khiển từ xa hồng ngoại và các mạch cung cấp điện của UPS .
<i>2.5 Diode </i>
Diode là một linh kiện điện tử bán dẫn chỉ cho phép dịng điện đi qua nó theo một chiều duy nhất mà không chạy ngược lại. Điốt bán dẫn thường đều có nguyên lý cấu tạo chung là một khối bán dẫn loại P ghép với một khối bán dẫn loại N và được nối với 2 chân ra là anode và cathode.
Mối tiếp xúc P – N => Cấu tạo của Diode .
* Ở hình trên là mối tiếp xúc P – N và cũng chính là cấu tạo của Diode bán dẫn.
Ký hiệu và hình dáng của Diode bán dẫn 2.6 Giới thiệu về lập trình PIC CCS
Cài đặt chương trình biên dịch C dùng phần mềm CCS
Cửa số CCS
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">Tạo mới một source file : File -> source file Biên chương trình :
Kiểu biên Giá trị • Ý nghĩa Intl True hay False (0 hay 1) số 1 bit int8 0 đến 255 Số nguyên 1 byte ( 8 bit) int16 0 đến 65,535 Số nguyên 2 byte int32 0 đến 4,294,967,295 Số nguyên 4 byte Char -128 đến 127 Ký tự 8 bit Float 3,4-38 đến 3,438 Số thực 32 bit short Mặc định như kiểu int Byte Mặc định như kiểu int 8 Int Mặc định như kiểu int8 Long Mặc định như kiểu int 16 Lưu ý: có thể sử dụng signed hoặc unsigned trước các kiểu để chỉ cho trường hợp có dấu và khơng có dấu.
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">
3.1 : Sơ đồ khối của hệ thống
Khối nguồn : Nhiệm vụ cung cấp nguồn điện 1 chiều cho mạch Khối xử lý : IC xử lý tin hiệu theo code chương trình nạp sẵn
Khối hiển thị : LED 7 đọan hiển thị theo mã code được lập trình trong khối xử lý
3.2 : Sơ đồ nguyên lý
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">3.3 : Lưu đồ thuật toán
3.4 : Code vi điều khiển
#include <Dem san pham 2 LED 7 doan.h> void main() // chuong trinh chinh {
so_dem=read_eeprom(0); // doc so dem cu duoc luu trong eeprom tai dia chi 0
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">setup_adc_ports(AN0); // thiêt lap kenh ADC AN0 lam ngo vao ADC dung de doc tin hieu tu mat thu hong ngoai
setup_adc(ADC_CLOCK_INTERNAL); // thiet lap xung cap cho ADC là xung noi
set_adc_channel(0); // dat kenh cho ADC là kenh 0 (AN0) while(TRUE) // vong lap vo han
delay_us(25); // tao thoi gian tre us
ty_le_cb=read_adc()*0.39; // doc ty lê % tín hieu tu mat thu hơng ngoai (0-100); gia tri adc max=255; 0,39=100/255;
if(ty_le_cb>70) // khi ty le dan cua mat thu lon hon nguong (70) th¡ do là muc 1, tuc khong co vat can
{ muc=1; // xac dinh muc 1; cham=0xff; // tat LED bao co vat can }
if(ty_le_cb<30) // khi ty le dan cua mat thu nho hon nguong (30) th¡ do là muc 0, tuc co vat can
{
muc=0; // xac dinh muc 0; cham=0x7f; // bat led bao co vat can co_vat=1; // bao co vat can
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">so_dem++; // tang so dem if(so_dem>99) // gioi han so dem den 99
while(input(pin_d2)==0); // tao vong lap chowf nut duoc nha so_dem=0; // dat so dem ve 0;
write_eeprom(0, so_dem); // ghi so dem vao EEPROM tai dia chi 0 }
if(input(pin_d0)==0) // khi nut giam duoc nhan {
while(input(pin_d0)==0); // tao vong lap chowf nut duoc nha so_dem--; // giam gia tri so dem
if(so_dem>99) // neu so dem > 99
while(input(pin_d1)==0); // tao vong lap chowf nut duoc nha so_dem++; // tang gia tri so dem
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">if(so_dem>99) // neu so dem > 99
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">4.3 : Ảnh 3d boad mạch
4.4 : Thực hiện
Thi công in mạch , rửa mạch và hàn linh kiện 4.5 : Nạp code
</div>