Báo cáo thực tập công nhân: Đề tài : giám sát lò vi sinh, Khoa điện tử viễn thông Đại học bách khoa Đà Nẵng. Người hướng dẫn: Thầy: Lê Hồng Nam. Thời gian thực hiện 8 tuần. Học kì 2 năm học 20152016
THC TP CễNG NHN TI: GIM ST V CN BNG Lề VI SINH o o o GVHD: Lấ HNG NAM SV THC TP: Vế DUY HNG SM (NT) Lấ VN CHIN TRN TH THU THO NGUYN V NGC NGHA (NT) TRN TIN PHT TRN C NHIấN LP: 12DT2 LễỉI NOI ẹAU Trong ng dng hng ngy, nhu cu theo dừi nhit v m ngy cng tr nờn ph bin v thit thc v s dng trong: Sn xut ch bin nụng nghip Hin th v thc thi iu khin (qut giú, mỏy sy, iu hũa, hay bỏo ng) Datalog d liu v mụi trng ti mt khu vc Theo dừi mụi trng, ch lm vic ca mt s cỏc dõy chuyn, thit b cú yờu cu cao Khỏi nim v o nhit v m ó cú t rt lõu, tt c cỏc i lng vt lý thỡ nhit v m c quan tõm nhiu nht Nhit v m l yu t nh hng trc tip n tớnh cht ca vt cht v mụi trng sng Trong cụng nghip sn xut v lnh vc o lng iu khin, quỏ trỡnh o v x lớ nhit , m gi mt vai trũ quan trng Trong cỏc thit b ú cú cỏc thit b ũi hi v cm bin o v iu chnh nhit , m ca khụng khớ nh iu hũa, chung bỏo chỏy, lũ vi súng Do ú ta cú th thy tm quan trng v tớnh thc t ca vic o v iu chnh nhit v m cỏc thit b t ng húa cng nh i sng hng ngy t thc ln ny, chỳng em nhn c ti thit k GIM ST V CN BNG NHIT V M Lề VI SINH, mt ti rt sỏt vi thc t, mang tớnh ng dng thc tin rt cao Trong k thc ln ny chc hn cũn nhiu sai sút, chỳng em rt mong nhn c s ch bo, hng dn ca cỏc thy cụ c bit l thy Lấ HNG NAM ó tn tỡnh giỳp chỳng em vic hon thnh ti V cng xin cm n s úng gúp ca cỏc bn sinh viờn ti c hon thnh Chỳng em chõn thnh cm n! Nng, ngy thỏng nm 2016 Chng PHN CHIA NHIM V PHN CNG: Sõm: Khi hin th LED on, mch nghch lu, n ỏp ngun 5V cp cho LED Chin: Khi trung tõm, bn phớm, LCD, m rng chõn dựng IC 74HC245, n ỏp 5V cp cho IC chớnh Tho: Khi cm bin nhit LM35, m HS1101, giao tip mỏy tớnh Ngha: Mch ngun chớnh cp cho ton mch(bo v dũng, ỏp) Nhiờn: Khi mch sc ỏc quy v cnh bỏo tỡnh trng ỏc quy 12V Phỏt: Khi iu khin gm cỏc ng c phun sng, qut(thay i tc quay), búng ốn, cm bin dũng PHN MM: Sõm: Vit chng trỡnh c v x lý d liu t cỏc cm bin nhit , m Chin: Vit chng trỡnh ng h thi gian thc, b hn gi, hin th LED on(phng phỏp quột LED) Tho: Lp trỡnh cho bn phớm 12 nỳt Ngha: Lp trỡnh giao tip mỏy tớnh vi IC8051 Nhiờn: Lp trỡnh hin th LCD, bỏo ng Phỏt: Lp trỡnh cho iu khin ng c(iu khin sỏng ốn, b tt qut, mỏy phun sng) Chng THI CễNG PHN CNG 1.Mch hin th LED on: Nhim v ca khi: Hin th thi gian S mch: Nguyờn lý hot ng: D liu c a t vi iu khin vo ic 7447 cú dng nh phõn bit, ic 7447 s gii mó nhng s nh phõn ny thnh tớn hiu u hin th cỏc s tng ng trờn LED on loi Anot chung D liu t 7447 c a ng thi vo tt c c LED vỡ vy mun mi LED hin th giỏ tr m ta mong mun ta phi s dng phng phỏp quột LED Cỏc LED c kớch sỏng thụng qua cỏc Transitor pnp vi khong thi gian dn rt nh v liờn tc nhau, vi mi thi gian sỏng ca LED tng ng vi d liu m ta mun hin th LED ú c a vo S thi gian quột LED Vỡ mt ta cú hin tng lu nh nờn LED chp tt ln hn 24 ln trờn 1s thỡ ta thy LED sỏng liờn tc o v kim tra IC7447: o kim tra iu kin lm vic: Cp ngun cho IC t que en vo chõn 8, que vo VCCngun, o c 5.04v => t yờu cu t que vo chõn 16, que en vo chõn GND ca ngun, o c 5.04V => t yờu cu o in ỏp ca mc logic: Logic1 : 3.59v(t yờu cu) Logic0: 0.25v (t yờu cõu) Nhn xột: IC7447 ó cú iu kin hot ng o kim tra nguyờn lý lm vic: Gi lp tớn hiu: Cp ngun cho IC, ni cỏc chõn 7,1,2,6 (tng ng vi bit input A,B,C,D) vo GND, o in ỏp t chõn n chõn 15, chõn 14 cú mc logic 1, cỏc chõn cũn li cú mc logic 0=> gia ca LED tt, cỏc cũn li sỏng Nhn xột: IC7447 hot ng theo ỳng nguyờn lý hot ng lý thuyt Transitor A1013: o kim tra iu kin lm vic: o in ỏp Veb= 0.725v, Vcb= 0.713v, Vec= 0.12v Nhn xột: Transitor hot ng tt o kim tra nguyờn lý lm vic: Cp ngun cho mch LED on, chõn E ni vi ngun 5v,chõn C ni vi LED on Gi lp tớn hiu: Ni mass u ni vi 7447 ca tr 220, chõn B ni vo GND, ta thy LED on sỏng Kt lun: Transitor hot ng tt ch bóo hũa 2.Mch nghch lu: Nhim v ca mch: Chuyn in ỏp 12v mt chiu t acquy thnh in ỏp xoay chiu 220v S mch: Nguyờn lý hot ng: Ngun 12v c cung cp t acquy Khi c cp ngun IC 4047 to xung vuụng, xung vuụng trờn chõn 10,11 ngc pha Ta cú th iu chnh tn s ca xung vuụng qua bin tr Tớn hiu xung c cp trc tip cho chõn ca optoPC817 khong 1.1v Khi cú xung opto dn xung kớch dn cho MOSFET IRF540 lm cho bin ỏp im gia xut hin dũng in c na chu k o v kim tra: IC4047: o kim tra iu kin lm vic: Cp ngun cho IC t que en vo GND, que ln lt t vo chõn 4,5,6 in ỏp o c l V= 12.39v t que en vo GND,que ln lt vo chõn v chõn 12 in ỏp o c l V=0.00v Kim tra ngun cung cp chõn 14 v Nhn xột: IC4047 ó iu kin hot ng o kim tra nguyờn lý lm vic: Dựng mỏy hin súng o dng súng u chõn 10 v 11 Dng súng cú dng xung vuụng,iu chnh bin tr tn sụ l 50hz Nhn xột: IC4047 ó hot ng ỳng nh nguyờn lý lý thuyt OPTO PC817: o kim tra iu kin lm vic: a que en vo ln lt chõn v chõn 3, que t vo ngun Vcc V=12.30v a que vo chõn 4, que en vo GND ca ngun V= 12.30v Nhn xột: opto ó c cung cp y iu kin hot ng o kim tra nguyờn lý lm vic: Dựng mỏy hin súng o trờn chõn ca opto 3.Mch cnh bỏo bng loa: Nhim v ca mch: Phỏt tớn hiu cnh bỏo cỏc thụng s mụi trng khụng c n nh S mch: Nguyờn lý hot ng: Transitor npn hot ng ch bóo hũa Khi cú vi iu khin thay i mc logic t sang 1, transitor chuyn i trng trỏi sang dn bóo hũa, loa c cp ỏp 5v v phỏt ting kờu Kim tra loa: Cp ngun 5v cho loa, loa kờu=> loa hot ng tt Transitor D468: o kim tra iu kin lm vic: a ng h v than o diode, t que vo chõn B, que en ln lt vo chõn E v C,ng h hin th giỏ tr khong 500600 Nhn xột: Transitor D468 hot ng tt o kim tra nguyờn lý lm vic: Gi lp tớn hiu vo chõn B ca D468, mc logic chõn B, transitor dn v loa kờu Nhn xột: D468 hot ng ỳng theo nguyờn lý catch { MessageBox.Show("khong the mo cong " + comboBox1.Text, "loi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } private void groupBox1_Enter(object sender, EventArgs e) { } private void groupBox2_Enter(object sender, EventArgs e) { } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (serialPort1.IsOpen) { serialPort1.Close(); } } private void textBox1_TextChanged(object sender, EventArgs e) { } private void button2_Click(object sender, EventArgs e) { serialPort1.Write(textBox1.Text); } private void label1_Click(object sender, EventArgs e) { } private void label2_Click(object sender, EventArgs e) { } Action serialPort1ReceiverAction; private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { serialPort1ReceiverAction = serialPortReceiver; try { this.BeginInvoke(serialPort1ReceiverAction, serialPort1.ReadExisting()); } catch { } } private void serialPortReceiver(string input) { if(input.Length==6) { textBox2.Text += "\r\nNhit ( C): "; textBox2.Text += input.Substring(0,3); textBox2.Text += "\r\n m (%): "; textBox2.Text += input.Substring(3); } } private void textBox2_TextChanged(object sender, EventArgs e) { } private void label5_Click(object sender, EventArgs e) { } private void button3_Click(object sender, EventArgs e) { if (button3.Text == "Bt") { { serialPort1.Write("q"); button3.Text = "Tt"; } } else { try { serialPort1.Write("1"); button3.Text = "Bt"; } catch { MessageBox.Show("khụng th tt qut", "loi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } private void button4_Click(object sender, EventArgs e) { if (button4.Text == "Bt") { try { serialPort1.Write("d"); button4.Text = "Tt"; } catch { MessageBox.Show("khụng th bt ốn", "loi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { try { serialPort1.Write("2"); button4.Text = "Bt"; } catch { MessageBox.Show("khụng th tt ốn", "loi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } private void button5_Click(object sender, EventArgs e) { if (button5.Text == "Bt") { try { serialPort1.Write("p"); button5.Text = "Tt"; } catch { MessageBox.Show("khụng th bt phun sng", "loi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { try { serialPort1.Write("3"); button5.Text = "Bt"; } catch { MessageBox.Show("khụng th tt phun sng", "loi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } private void groupBox3_Enter(object sender, EventArgs e) { } private void groupBox2_Enter_1(object sender, EventArgs e) { } } } Chng trỡnh cnh bỏo: #include "regx51.h" #define bat #define tat #define nhietdo P1^0 #define doam P1^1 #define cuaho P1^2 sbit Leddo = P2^7; sbit Ledxanh = P2^6; sbit Ledvang = P2^5; sbit loa = P2^0; void delay(unsigned int time) { unsigned int i,j; for(i=0;i 24) {Leddo = bat; delay(1000); Leddo = bat; delay(1000); Leddo= tat; delay(1000); loa = bat; delay(1000);} else Leddo= tat; if(78 >doam>82) {Ledxanh = bat; delay(1000); Ledxanh=tat ; delay(1000); Ledxanh = bat; delay(1000); loa = bat; delay(1000);} else Ledxanh=tat; if( cuaho < 3.6) {Ledvang = bat; delay(1000); Ledvang=tat; delay(1000); Ledvang = bat; delay(1000); loa = bat; delay(1000); else Ledvang=tat; } } Chng trỡnh hin th LCD: #include #include //Dinh nghia LCD #define LINE_1 0x80 #define LINE_2 0xC0 #define CLEAR_LCD 0x01 //Dinh nghia chan su dung giao tiep LCD Sbit LCD_D4 = P2^3; Sbit LCD_D5 = P2^2; Sbit LCD_D6 = P2^1; Sbit LCD_D7 = P2^0; Sbit LCD_E = P2^5; Sbit LCD_RW = P2^6; Sbit LCD_RS = P2^7; sbit DQ = P1^0 ; sbit relay = P3^6; sbit sw1 =P0^0; sbit sw2 =P0^1; //Ham tre thoi gian void delay_ms(unsigned int Time) {unsigned int i,j,t; t=Time; for(i=0;i2)&1; LCD_D7 = (cX>>3)&1; } // Ham Gui Lenh Cho LCD void lcd1602_send_command (unsigned char cX ) {P3_7=0; lcd1602_send_4bit_data ( cX >>4 ); lcd1602_enable() ; lcd1602_send_4bit_data ( cX ); lcd1602_enable() ; } // Ham Khoi Tao LCD void lcd1602_init ( void ) {P3_7=0; lcd1602_send_4bit_data ( 0x00 ); delay_ms(200); LCD_RS=0; LCD_RW=0; LCD_E=0; lcd1602_send_4bit_data ( 0x03 ); lcd1602_enable() ; lcd1602_enable () ; lcd1602_enable () ; lcd1602_send_4bit_data ( 0x02 ); lcd1602_enable() ; lcd1602_send_command( 0x2C lcd1602_send_command( 0x80); lcd1602_send_command( 0x0C); lcd1602_send_command( 0x06 ); lcd1602_send_command( CLEAR_LCD ); } // Ham Thiet Lap Vi Tri Con Tro void lcd1602_gotoxy(unsigned char x, unsigned char y) {unsigned char address; if(!y) address = (LINE_1+x); else address = (LINE_2+x); delay_ms(3); lcd1602_send_command(address); delay_ms(1); } // Ham Xoa Man Hinh LCD void lcd1602_clear(void) {P3_7=0; lcd1602_send_command( CLEAR_LCD ); //delay_us(300); }// Ham Gui Ky Tu Len LCD void lcd1602_putchar ( unsigned int cX ) {P3_7=0; LCD_RS=1; lcd1602_send_command( cX ); LCD_RS=0; } // Ham Gui Chuoi Ky Tu Len LCD void lcd1602_puts(char *s) { while (*s) {lcd1602_putchar(*s); s++; } } int xung,dem,frequency; void delay_18B20(unsigned int i) { while(i );} void Init_DS18B20(void) { unsigned char x=0; DQ = 1; delay_18B20(8); DQ = 0; delay_18B20(80); DQ = 1; delay_18B20(14); x=DQ; delay_18B20(20); } unsigned char ReadOneChar(void) { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i ) {DQ = 0; dat>>=1; DQ = 1; if(DQ) dat|=0x80; delay_18B20(4); } return(dat); } void WriteOneChar(unsigned char dat) { unsigned char i=0; for (i=8; i>0; i ) {DQ = 0; DQ = dat&0x01; delay_18B20(5); DQ = 1; dat>>=1; }} int ReadTemp(void) {unsigned char a=0; unsigned char b=0; unsigned char t=0; int nhiet_thuc; Init_DS18B20(); WriteOneChar(0xCC); WriteOneChar(0x44); delay_18B20(100); Init_DS18B20(); WriteOneChar(0xCC); WriteOneChar(0xBE); delay_18B20(100); a=ReadOneChar(); b=ReadOneChar(); nhiet_thuc=b4; return(nhiet_thuc); } code int HS1101_Table[101]={ 8109,8090,8070,8051,8033,8015,7997,7979,7961,7944, 7927,7910,7894,7878,7862,7846,7830,7815,7799,7784, 7769,7755,7740,7726,7711,7697,7683,7669,7655,7641, 7628,7614,7600,7587,7574,7560,7547,7534,7521,7507, 7494,7481,7468,7455,7442,7429,7416,7403,7390,7377, 7364,7350,7337,7324,7311,7298,7284,7271,7257,7244, 7230,7216,7203,7189,7175,7161,7147,7132,7118,7103, 7089,7074,7059,7045,7029,7014,6999,6984,6968,6952, 6936,6920,6904,6888,6872,6855,6838,6821,6804,6787, 6770,6752,6735,6717,6699,6680,6662,6644,6625,6606, 6587}; int HS1101_GetHumi(int frequency) {int i; for(i=0;iHS1101_Table[i])return i; } return 100; } void ngat0(void) interrupt { xung++; } void ngat_timer_0(void) interrupt {P3_7=0; dem++; if(dem >= 4000) { dem=0; frequency = xung-2600; xung=0; }} void main(void) { int humi,nhiet_do,nhiet_do2,nhiet_do3,nhiet_do_khong_che=40,fr; char str[20]; TMOD = 0x02; TH0=TL0=-250; IT0=1; IE=0x83; TR0=1; lcd1602_init(); lcd1602_clear(); while(1) {P3_7=0; if(sw1 == 0){nhiet_do_khong_che++; if(nhiet_do_khong_che>=150) nhiet_do_khong_che=0; } if(sw2 == 0){nhiet_do_khong_che ; if(nhiet_do_khong_che= nhiet_do-4)&&(nhiet_do2 = nhiet_do2-4)&&(nhiet_do3 nhiet_do_khong_che) relay =1; else relay=0; humi=HS1101_GetHumi(frequency); sprintf(str,"Do Am: %d %% ,humi"); lcd1602_gotoxy(1,0); lcd1602_puts(str); sprintf(str,"Nhiet do: %doC ,nhiet_do"); lcd1602_gotoxy(1,1) lcd1602_puts(str); } delay_ms(100); } } Chơng trình điều khiển động #include sbit quat=P2^1; sbit phunsuong=P2^2; sbit den=P2^4; unsigned int ndtren=35, ndduoi=33; unsigned int doamdat=80, ndmax=40; unsigned char nhietdo=42, doam=80; void ngatngoai1(void) //khoi tao ngat ngoai { EX1=1; //cho phep ngat ngoai IT1=1; EA=1; } void ctngatngoai(void) interrupt { den=0; TR1=1; //chay timer } void ngattimer1(void) { if (nhietdo=ndduoi) { TMOD=0x10 ; TH1=0xF0; TL1=0x60; ET1=1; } else { TMOD=0x10 ; TH1=0xF8; TL1=0x30; ET1=1; } } else { TMOD=0x10 ; TH1=0xE8; TL1=0x90; ET1=1; } } //delay 4ms //cho phep ngat timer //delay 2ms //cho phep ngat timer //delay 6ms //cho phep ngat timer void ctngatimer1(void) interrupt { int a=10; TR1=0; P3_6=0; den=1; while(a ) {} den=0; } void battat(void) { P3_6=0; if (nhietdo>=ndmax) { quat=1; if (nhietdo