Hiển thị nhiệt độ cảm biến nhiệt LM35 trên matlab thông qua cổng RS232 giao tiếp với máy tính

40 309 0
Hiển thị nhiệt độ cảm biến nhiệt LM35 trên matlab thông qua cổng RS232 giao tiếp với máy tính

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Hiển thị nhiệt độ cảm biến nhiệt LM35 trên matlab thông qua cổng RS232 giao tiếp với máy tính

LỜI CẢM ƠN Để hoàn thành được đồ án này, đầu tiên nhóm thực hiện xin được gởi lời cảm ơn đến Ban Giám Hiệu, quý Thầy Cô trong trường và đặc biệt là quý Thầy Cô trong khoa Cơ Điện Tử Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM, đã tận tình chỉ dẫn, truyền đạt kiến thức cũng như tạo điều kiện thuận lợi cho nhóm thực hiện trong suốt quá trình học tập vừa qua. Đặt biệt nhóm thực hiện xin chân thành cảm ơn Thầy Lê Tấn Cường đã tận tình hướng dẫn, quan tâm theo dõi và động viên nhóm thực hiện để hoàn thành tốt đồ án tốt nghiệp này. Ngoài ra, nhóm thực hiện đề tài cũng xin gửi lời cảm ơn đến tất cả các bạn bè cùng khóa và người thân chung quanh đã giúp đỡ về vật chất và tinh thần để nhóm thực hiện đạt được thành tích như ngày hôm nay. NHÓM THỰC HIỆN ĐỀ TÀI 1 Chương 1 : DẪN NHẬP 1.Nội dung đề tài: Hiển thị nhiệt độ cảm biến nhiệt LM35 trên matlab thong qua cổng RS232 giao tiếp với máy tính. 2.Mục đích đề tài: Söû duïng caûm bieán nhieät ñoä theo doõi söï thay ñoåi nhieät ñoä. Keát hôïp vôùi maùy tính ghi nhaän söï thay ñoåi nhieät ñoä nhaèm phaân tích ñaùnh giaù söï bieán ñoåi nhieät ñoä. Thông qua chương trình vi điều khiển nhaèm ñaùp öùng söï thay ñoåi nhieät ñoä tuøy theo muïc ñích söû duïng maø taùc ñoäng taêng hay giaûm nhieät ñoä. Môû roäng kieán thöùc veà caùc loaïi vi ñieàu khieåân môùi vaø öùng duïng vaøo trong thöïc teá. Sử dụng phần mềm matlab nhằm hiển thị giá trị nhiệt độ. Chương 2 : PHƯƠNG THỨC THỰC HIỆN 2 Phöông aùn thực hiện Maïch tích hôïp. Vi ñieàu khieån AVR coù tích hôïp boä chuyeån ñoåi ADC coù khaû naêng laäp trình. Maïch toå hôïp tích hôïp giao tiếp với máy tính thông qua cổng RS232. Hieån thò Hieån thò giaù trò nhieät ñoä treân Matlab Caûm bieán nhieät ñoä Caûm bieán nhieät ñoä LM35 vôùi ñoä nhaïy 10mV/oC doøng ñieän tieâu thuï 60µA, phaïm vi söû duïng töø -55 oC ñeán 150 oC. Giao tieáp maùy tính Giao tieáp vôùi maùy tính qua coång COM Chương 3 : CƠ SỞ LÝ LUẬN 3 Söû duïng AVR vi ñieàu khieån vôùi khaû naêng laäp trình vaø tích hôïp boä chuyeân ñoåi ADC thuaän tieän trong vieäc thi coâng vaø thieát keá, ñôn giaûn hoùa phaàn cöùng. Söû duïng caûm bieán nhieät ñoä LM35 vôùi phaïm vi söû duïng roäng, doøng ñieän tieâu thuï thaáp. Giao tieáp maùy tính qua coång noái tieáp thieát bò phaàn cöùng ñôn giaûn, khoaûng caùch xa 30m ñeán 50m. A. Giôùi thieäu caùc khoái 1.Khoái trung taâm Khoái naøy söû duïng vi ñieàu khieån ATMEGA32 cuûa haõng Atmel vôùi caùc tính naêng: -Vi ñieàu khieån 8 bit, coù tính naêng söû duïng cao, coâng suaát thaáp. -Coù 131 taäp leänh theo kieán truùc RISC, chuû yeáu thöïc hieän trong 1 chu kì maùy. -32x8 thanh ghi ña duïng. -16KB boä nhôù flash coù khaû naêng laäp trình ñöôïc. -512 Bytes EEPROM -1K Byte Internal SRAM. -Nhieàu ngoõ vaøo ra (I/O Port) 2 höôùng (bi-directional). -2 boä Timer/Counters 8-bit vôùi Separate Prescalers vaø Compare Modes. -1 Timer/Counter 16-bit vôùi Separate Prescaler, Compare Mode vaø -Capture Mode. -4 keânh PWM. -8 keânh chuyeån ñoåi ADC 10-bit 4 -8 keânh chuyeån ñoåi ñôn. -7 keânh chuyeån ñoåi vi sai chæ ñöôïc ñoùng goùi trong TQFP . -2 keânh chuyeån ñoåi vi sai coù khaû naêng laäp trình, löïa choïn ñoä lôïi 1x, 10x, or 200x. -Giao dieän noái tieáp USART( töông thích chuaån noái tieáp RS-232) -Giao dieän noái tieáp Two-wire Serial( töông thích chuaån I2C ) -Giao dieän noái tieáp SPI Master vaø Slave. -Boä Watchdog Timer coù khaû naêng laäp trình ñöôïc vôùi boä dao ñoäng treân chip. -Boä so saùnh Analog treân chip. …… Sô ñoà chaân cuûa ATMEGA32 Sô ñoà khoái cuûa ATMEGA32 Loõi AVR keát hôïp nhöõng taäp leänh vôùi 32 thanh ghi laøm vieäc vôùi muïc ñích chung. Caû 32 thanh ghi ñeàu ñöôïc keát noái tröïc tieáp ñeán ALU. Cho pheùp truy xuaát 2 thanh ghi laøm vieäc ñoäc laäp vôùi 1 chu kì maùy. Vôùi kieán 5 truùc RISC naøy cho pheùp CPU laøm vieäc nhanh gaáp möôøi laàn kieán truùc CISC. 6 7 Moâ taû chaân linh kieän: VCC & GND Chaân caáp nguoàn cho vi ñieàu khieån. Port A (PA7..PA0) Ñöôïc daønh rieâng cho ngoõ vaøo analog cuûa boä chuyeån ñoåi ADC. Ngoaøi ra Port A coøn ñöôïc duøng nhö 1 Port vaøo ra 2 höôùng neáu boä chuyeån ñoåi ADC khoâng söû duïng. Moãi chaân cuûa Port A ñöôïc cung caáp ñieän trôû keùo leân beân trong. Boä ñeäm ngoõ ra cuûa Port A ñöôïc ñieàu khieån cho caû 2 khaû naêng, sink doøng vaø source doøng. Khi Port A söû duïng nhö ngoõ vaøo, chuùng seõ source doøng neáu ñieän trôû keùo leân beân trong tích cöïc. Port B (PB7..PB0) Port B ñöôïc duøng nhö 1 Port vaøo ra 2 höôùng vôùi ñieän trôû keùo leân beân trong. Moãi chaân cuûa Port B ñöôïc cung caáp ñieän trôû keùo leân beân trong. Boä ñeäm ngoõ ra cuûa Port B ñöôïc ñieàu khieån cho caû 2 khaû naêng, sink doøng vaø source doøng. Khi Port B söû duïng nhö ngoõ vaøo, chuùng seõ source doøng neáu ñieän trôû keùo leân beân trong tích cöïc. Ngoaøi ra, Port B coøn ñöôïc söû duïng nhöõng chöùc naêng khaùc, ñöôïc trình baøy nhö sau: Port C (PC7..PC0) Port C ñöôïc duøng nhö 1 Port vaøo ra 2 höôùng vôùi ñieän trôû keùo leân beân trong. Moãi chaân cuûa Port B ñöôïc cung caáp ñieän trôû keùo leân beân trong. Boä ñeäm ngoõ ra cuûa Port C ñöôïc ñieàu khieån cho caû 2 khaû naêng, sink doøng vaø source doøng. Khi Port C söû duïng nhö ngoõ vaøo, chuùng seõ source doøng 8 neáu ñieän trôû keùo leân beân trong tích cöïc. Neáu söû duïng giao tieáp JTAG, ñieän trôû keùo leân ôû chaân PC5(TDI), PC3(TMS) vaø PC2(TCK) seõ tích cöïc thaäm chí coù Reset xaûy ra. Port C söû duïng cho giao tieáp JTAG vaø caùc tính naêng ñaëc bieät cuûa AVR ñöôïc lieät keâ ra sau ñaây: Port D (PD7..PD0) Port D ñöôïc duøng nhö 1 Port vaøo ra 2 höôùng vôùi ñieän trôû keùo leân beân trong. Moãi chaân cuûa Port B ñöôïc cung caáp ñieän trôû keùo leân beân trong. Boä ñeäm ngoõ ra cuûa Port D ñöôïc ñieàu khieån cho caû 2 khaû naêng, sink doøng vaø source doøng. Khi Port D söû duïng nhö ngoõ vaøo, chuùng seõ source doøng neáu ñieän trôû keùo leân beân trong tích cöïc. Ngoaøi ra, Port D coøn ñöôïc söû duïng nhöõng chöùc naêng khaùc, ñöôïc trình baøy nhö sau: RESET Ngoõ vaøo Reset. Neáu möùc Low ñaët vaøo chaân naøy daøi hôn ñoä roäng xung toái thieåu seõ reset AVR. Cho duø khoâng coù xung clock XTAL1 & XTAL2 Ngoõ vaøo ra cuûa boä dao ñoäng thaïch anh. AVCC Chaân nguoàn cung caáp cho Port A vaø boä chuyeån ñoåi ADC. Thöôøng ñöôïc keát noái vôùi Vcc, thaäm chí neáu ADC khoâng ñöôïc söû duïng. Coøn neáu ADC ñöôïc söû duïng, neân keát noái vôùi Vcc thoâng qua 1 maïch loïc thoâng thaáp. AREF Chaân ñieän aùp tham chieáu cho boä chuyeån ñoåi ADC. ADC (Analog to Digital Converter) Tính năng: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Caùc thanh ghi trong ADC ADC Multiplexer Selection Register – ADMUX 9 Bit 7:6 – REFS1:0: Reference Selection Bits. Hai bit naøy löïa choïn ñieän aùp tham chieáu cho ADC. Neáu nhöõng bit naøy ñöôïc thay ñoåi trong quaù trình chuyeån ñoåi thì söï thay ñoåi naøy seõ khoâng ñöôïc taùc ñoäng cho tôùi khi quaù trình chuyeån ñoåi hoaøn taát. Ñieän aùp tham chieáu beân trong coù theå khoâng ñöôïc söû duïng neáu ñieän aùp tham chieáu beân ngoaøi ñöôïc thieát laäp baèng caùch thieát laäp nguoàn VCC taïi chaân AREF. Bit 5 – ADLAR: ADC Left Adjust Result. Bit ADLAR taùc ñoäng ñeán caùch bieåu dieãn keát quaû cuûa quaù trình chuyeån ñoåi ADC trong thanh ghi Data Register. ADLAR=1: keát quaû ñöôïc canh theo leà traùi. ADLAR=0: keát quaû ñöôïc canh theo leà phaûi. ieäc thay ñoåi bit ADLAR aûnh höôûng ngay laäp töùc ñeán keát quaû ôû Data Register, baát chaáp quaù trình chuyeån ñoåi ñang xaûy ra hay khoâng. Bits 4:0 – MUX4:0 : Analog Channel and Gain Selection Bits. Caùc bit naøy ñöôïc duøng ñeå löïa choïn caùc ngoõ vaøo analog cho ADC. Ngoaøi ra coøn ñöôïc duøng ñeå löïa choïn ñoä lôïi cho caùc keânh vi sai. Söï thay ñoåi nhöõng bit naøy chæ ñöôïc taùc ñoäng khi quaù trình chuyeån ñoåi hoaøn taát. 10 ADC Control and Status Register A – ADCSRA 11 Bit 7 –ADEN: ADC Enable. ADEN=1: Cho pheùp ADC hoaït ñoäng. ADEN=0: Taét ADC. Bit 6 –ADSC: ADC Start Conversion. Trong cheá ñoä Single Conversion, ADSC=1 seõ baét ñaàu quaù trình chuyeån ñoåi. Trong cheá ñoä Free Running, ADSC=1 seõ baét ñaàu söï chuyeån ñoåi laàn ñaàu tieân. Söï chuyeån ñoåi ñaàu tieân xaûy ra sau khi ADCS ñöôïc ghi leân 1 vaø sau ADC ñöôïc cho pheùp. ADCS=1 khi quaù trình chuyeån ñoåi xaûy ra vaø trôû veà 0 khi keát thuùc quaù trình chuyeån ñoåi. Bit 4 – ADIF: ADC Interrupt Flag. ADIF=1 khi quaù trình chuyeån ñoåi hoaøn taát vaø Data Register ñöôïc caäp nhaät. Quaù trình ngaét ADC seõ ñöôïc thöïc hieän neáu bit ADIE vaø Ibit trong thanh ghi SREG ñöôïc thieát laäp. Bit 3 – ADIE: ADC Interrupt Enable. Khi bit naøy set leân 1 vaø I-bit trong SREG ñöôïc set. Ngaét ADC seõ ñöôïc thieát laäp. Bits 2:0 – ADPS2:0: ADC Prescaler Select Bits. Nhöõng bit naøy quyeát ñònh heä soá chia giöõa taàn soá XTAL vaø xung clock ngoõ vaøo ADC. The ADC Data Register – ADCL and ADCH: ADLAR = 0 12 ADLAR = 1 Khi quaù trình chuyeån ñoåi hoaøn taát, keát quaû seõ ñöôïc tìm thaáy ôû 2 thanh ghi naøy. Neáu keânh vi sai ñöôïc söû duïng, keát quaû seõ ñöôïc trình theo kieåu buø cuûa 2 daïng treân. Khi ADCL ñöôïc ñoïc, ADC Data Register seõ khoâng ñöôïc update cho ñeán khi ADCH ñöôïc ñoïc. Noùi caùch khaùc, ADCL phaûi ñöôïc ñoïc tröôùc ADCH. Special Function IO Register – SFIOR Bit 7:5 – ADTS2:0: ADC Auto Trigger Source. Neáu bit ADATE trong thanh ghi ADCSRA ghi leân 1, giaù trò cuûa nhöõng bit naøy seõ löïa choïn nguoàn kích cho quaù trình chuyeån ñoåi ADC. Neáu ADATE bò xoùa thì caùc thieát laäp cuûa ADTS2:0 seõ khoâng coù taùc duïng. Caùch tính keát quaû cuûa quaù trình chuyeån ñoåi ADC Sau khi quaù trình chuyeån ñoåi hoaøn taát (ADIF=1), keát quaû seõ ñöôïc tìm thaáy ôû 2 thanh ghi ADCL vaø ADCH. Vôùi quaù trình chuyeån ñoåi ñôn: Vin : ñieän aùp taïi chaân ngoõ vaøo ñöôïc choïn. Vref : ñieän aùp tham chieáu Neáu söû duïng keânh vi sai: 13 VPOS : ñieän aùp taïi chaân ngoõ vaøo döông. VNEG : ñieän aùp taïi chaân ngoõ vaøo aâm. GAIN : heä soá khueách ñaïi ñöôïc choïn VREF : ñieän aùp tham chieáu. USART Boä USART cuûa vi ñieàu khieån ATMEGA32 coù theå hoïat ñoäng nhö moät boä truyeàn nhaän song coâng, coù nghóa laø hoaït ñoäng truyeàn vaø nhaän coù theå tieán haønh ñoàng thôøiø( noù chöùa caùc thanh ghi truyeàn, nhaän rieâng leû). Boä phaùt toác ñoä baud coù theå taïo ra moät soá lôùn toác ñoä baud. Boä naâng cao toác ñoä baud taïi taàn soá thaïch anh thaáp. Moãi khung döõ lieäu coù theå coù 5,6,7, 8 hoaëc 9 bit döõ lieäu vaø 1 hoaëc 2 bit stop. Hoã trôï boä kieåm tra bit chaên leû parity baèêng phaàn cöùng. Phaùt hieän traïng thaùi Overrun. Phaùt hieän khung truyeàn bò loãi. Loïc nhieãu, phaùt hieän loãi bit start. Cho pheùp ba ngaùêt rieâng bieät laø TX Complete, TX Data Register Empty, RX Complete. Trong truyeàn nhaän baát ñoàâng boä hoã trôï chöùc naêng nhaân ñoâi toác ñoä. Truyeàn döõ lieäu (5 ñeán 8 bit) Vieäc thieát laäp cheá ñoä truyeàn noái thoâng qua vieäc thieát laäp bit TXEN (Transmit Enable) beân trong thanh chi UCSRB. Toác ñoä baud, cheá ñoä hoaït ñoäng vaø ñònh daïng khung döõ lieäu phaûi ñöôïc thieát laäp tröôùc khi thöïc hieän truyeàn döõ lieäu. Neáu hoaït doïâng ôû cheá ñoä ñoàng boä thì xung treân chaân XCK ñöôïc söû duïng nhö laø xung trong truyeàn döõ lieäu. Döõ lieäu caàn truyeàn ñöa vaøo trong boä ñeäm truyeàn baèng caùch ghi vaøo thanh ghi xuaát nhaäp UDR . Döõ lieäâu trong boä ñeäm ñöôïc ñöa vaøo thanh ghi dòch khi thanh ghi dòch ñaõ saün saøng ñeå truyeàn moät khung döõ lieäu môùi. Thanh ghi dich nhaän moät khung döõ lieäu môùi neáu noù ôû trong tình traïng nhaøn roãi hoaëc ngay sau khi bit stop cuûa khung döõ lieäu tröôùc ñoù ñöôïc truyeàn ñi. Khi döõ lieäu saün saøng trong thanh ghi dòch thì noù tieán haønh truyeàn ñi vôùi toác ñoä ñöôïc thieát laäp thoâng qua thanh ghi Baud Register, bit UX2 hoaëc XCK tuøy thuoäc vaøo cheá ñoä hoaït ñoäng. 14 Côø vaø ngaét trong truyeàn noái tieáp Truyeàn USART coù hai côø laø USART Data Register Empty (UDRE) vaø Transmit Complete (TXC), caû côø naøy coù theå ñöôïc duøng trong ngaét. Côø UDRE baùo cho bieát boä ñeäm ñaõ saèn saøng nhaän döõ lieäu môùi . Bít naøy leân möùc moät khi boä ñeäm truyeàn trong tình traïng troáng (nhaøn roãi) vaø bò xoùa veà khoâng khi boä ñeäm chöùa döõ lieäu. Khi ngaét UDRIE (Data Register empty Interrupt Enable) trong thanh ghi UCSRA leân möùc moät thì xaåy ra ngaét (vôùi ñieàu kieän ngaét toaøn cuïc cho pheùp) UDRE bi xoùa veà khoâng thoâng qua vieäc ghi leân thanh ghi UDR. Khi ngaét ñieàu khieån truyeàn döõ lieäu ñöôïc söû duïng, chöông trình phuïc vuï ngaét ñöôïc thöïc hieän ñeå ghi döõ lieäu môùi vaøo UDR. Coù theå khoâng duøng ngaét baèng caùch xoùa bit UDRE ñeå caám ngaét. Bit côø TXC (Transmit Complete) ñöôïc ñaët möùc moät khi toaøn boä khung döõ lieäu trong thanh ghi dòch ñaõ ñöôïc dòch ra ngoaøi vaø khoâng coù döõ lieäu môùi xuaát hieän trong boä ñeäm truyeàn. Bit côø TXC töï ñoäng bò xoùa khi chöông trình phuïc vuï ngaét ñöôïc thöïc thi. Bit côø TXC ñöôïc söû duïng trong giao tieáp truyeàn thoâng baùn song coâng (nhö chaån RS485). Khi ngaét Transmit Complete cho pheùp töùc laø bit TXCIE trong thanh ghi UCSRB ñöôïc ñaët leân möùc moät khi bit TXC ñaët leân möùc moät chöông trình phuïc vuï ngaêt ñöôïc thöïc thi vaø côø TXC töï ñoäng bò xoùa veà khoâng Nhaän döõ lieäu (5 ñeán 8 bit) Vieäc nhaän döõ lieäu ñöôïc cho pheùp khi bit RXEN (Receive Enable) trong thanh ghi UCSRB ñöôïc ñaët leân möùc moät. Toác ñoä baud, cheá ñoä hoaït ñoäng vaø ñònh daïng khung döõ lieäu phaûi ñöôïc thieát laäp tröôùc khi thöïc hieän nhaän döõ lieäu. Neáu hoaït ñoäng ôû cheá ñoä ñoàng boä thì xung treân chaân XCK ñöôïc söû duïng nhö laø xung trong nhaän döõ lieäu. Quaù trình nhaän döõ lieäu baét ñaàu khi boä nhaän phaùt hieän bit start moãi bit theo sau bit start ñöôïc laáy maãu ôû toác ñoä baud hoaëc xung XCK ñöôïc thieát laäp tröôùc ñoù, vaø döõ lieäu ñöôïc dòch vaøo thanh ghi dòch cho ñeán khi bit stop ñaàu tieân cuûa khung döõ lieäu ñöôïc nhaän. Moät bit stop thöù hai seõ ñöôïc boû qua. Khi bit stop thöù nhaát ñöôïc nhaän khung döõ lieäu ñöôïc ñaët trong thanh ghi dòch sau ño döõ lieâu ñöôïc di chuyeân vaøo boä ñeäm nhaän döõ lieâu trong boä ñeäm naøy ñöôïc ñoïc thoâng qua thanh ghi xuaát nhaäp UDR. Sô ñoà khoái USART 15 Toác ñoä baud Tuøy vaøo cheá ñoä hoaït ñoäng maø toác ñoä baud coù theå ñöôïc xaùc ñònh nhö sau: BAUD: toác ñoä baud (bps). 16 fosc : taàn soá thaïch anh (Hz). UBRR giaù trò cuûa caùc bit UBRR11:0 trong hai thanh ghi UBRRH vaø UBRRL . Caùc thanh ghi trong USART Thanh ghi UDR - UART I/O Data Register Thanh ghi UDR thöïc chaát laø hai thanh ghi rieâng leû veà maët vaät lyù nhöng cuøng chia seû ñòa chæ I/O gioáng nhau. Thanh ghi TXB (Transmit Data Buffer Register) ñöôïc söû duïng trong vieäc truyeàn döõ lieäu, trong nhaän döõ lieäu thì döõ lieäu ñöôïc ñoïc töø thanh ghi RXB (Receive Data Buffer Register). Thanh ghi UCSRA – USART Control and Status Register A Bit 7- RXC (USART Receive Complete) Bit côø naøy ñöôïc ñaët leân moät khi coù döõ lieäu chöa ñöôïc ñoïc trong thanh boä ñeäm nhaän vaø bò xoùa khi boä ñeäm nhaän troáng. Bit naøy coù theå ñöôïc söû duïng phaùt sinh ngaét Receive Complete interrupt Bit 6-TXD (USART Transmit Complete) Bit côø naøy ñöôïc ñaët leân möùc moät khi toaøn boä khung döõ lieäu trong boä ñeäm truyeàn ñöôïc dòch heát ra ngoaøi vaø chöa coù döõ lieäu môùi xuaát hieän trong boä ñeäm truyeàn. Bit nay töï ñoäng xoùa veà khoâng khi ngaét Transmit Complete ñöôïc thöïc thi. Bit 5- UDRE( USART Data Register Empty) Côø UDRE baùo neáu boä ñeäm (URD) saüng saøng nhaän döõ lieäu môùi. Neáu UDRE ôû möùc moät coù nghóa laø boä ñeäm truyeàn troáng saün saøng cho ghi döõ lieäu. Côø UDRE coù theå phaùt sinh ngaét Data Register empty Interrupt. Bit 4-FE (Frame Error) Bit naøy ñöôïc ñaët leân möùc moät neáu kyù töï keá tieáp trong boä ñeäm nhaän chöùa moät fame loãi trong khi nhaän döõ lieäu. 17 Bit 3- DOR (Data OverRun) Bit côø naøy ñöôïc ñaët leân möùc moät neáu Data OverRun ñöôïc phaùt hieän. Moät Data OverRun hoaït kích hoaït khi boä ñeäm nhaän ñaày (hai kyù töï). Moät kyù töï ñang chöùa trong thanh ghi dòch vaø coù bit start ñöôïc phaùt hieän. Bit naøy khoâng coù giaù trò cho ñeán khi döõ lieäu trong boä ñeäm nhaän ñöôïc ñoïc. Luoân luoân xoùa bit naøy veà khoâng khi thieát laäp thanh ghi UCSRA. Bit 2- PE ( Parity Error) Bit côø naøy ñöôïc ñaët leân möùc moät neáu tieáp theo kyù töï trong boä ñeäm nhaän coù bít parity loãi. Luoân luoân xoùa bit naøy veà khoâng khi thieát laäp thanh ghi UCSRA. Bit 1-U2X (Double the USART Transmission Speed) Bit naøy chæ coù taùc duïng trong cheá ñoä truyeàn baát ñoàng boä. Bit naøy bò xoùa veà khoâng thì söû duïng cheá ñoä truyeàn ñoàng boä. Coøn noù ñöôïc ñaët leân moät thì boä chia toác ñoä baud giaûm xuoáng töø 16 coøn 8 laøm toác ñoä truyeàn taêng leân. Bit 0-MPCM (Multi-processor Communication Mode) Thanh ghi UCSRB – USART Control and Status Register B Bit 7-RXCIE (RX Complete Interrupt Enable) Bit RXCIE ñöôïc ñaët leân moät cho pheùp ngaét, ngaét xaåy ra khi côø RXC ñaët leân moät. Ngaêt toaøn cuïc trong thanh ghi SREG ñöôïc ñaët leân moät vaø thì bit RXC trong thanh ghi UCSRA ñöôïc ñaët leân moät. Bit 6-TXCIE (TX Complete Interrupt Enable) Bit TXCIE ñöôïc ñaët leân moät cho pheùp ngaét, ngaét xaåy ra khi côø TXC ñaët leân moät. Ngaêt toaøn cuïc trong thanh ghi SREG ñöôïc ñaët leân moät vaø thì bit TXC trong thanh ghi UCSRA ñöôïc ñaët leân moät. Bit 5- UDRIE (USART Data Register Empty Interrupt Enable) Bit UDRIE ñöôïc ñaët leân moät cho pheùp ngaét, ngaét xaåy ra khi côø UDRE ñaët leân moät. Ngaêt toaøn cuïc trong thanh ghi SREG ñöôïc ñaët leân moät vaø thì bit UDRE trong thanh ghi UCSRA ñöôïc ñaët leân moät. 18 Bit 4- RXEN ( Receiver Enable) Bit RXEN ñöôïc ñaët leân moät cho pheùp nhaän döõ lieäu. Döõ lieäu ñöôïc nhaän vaøo thoâng qua chaân RxD. Neáu boä nhaän döõ lieäu bò caám thì boä ñeäm nhaän vaø caùc côø PE, DOR khoâng coù taùc duïng. Bit 3-TXEN ( Transmitter Enable) Bit TXEN ñöôïc ñaët leân moät cho pheùp truyeàn döõ lieäu. Döõ lieäu ñöôïc truyeàn ñi thoâng qua chaân RxD. Neáu boä nhaän döõ lieäu bò caám thì boä ñeäm truyeàn khoâng coù taùc duïng. Bit 2- UCSZ2 (Character Size) Bit UCSZ2 keát hôïp vôùi caùc bít UCSZ1:0 trong thanh ghi UCSRC thieát laäp soá bít döõ lieäu trong moät khung trong quaù trình truyeàn nhaän. Bit 1- RXB8 (Receive Data Bit 8) RXB8 bít thöù chín cuûa khung döõ lieäu trong nhaän döõ lieäu khi hoaït ñoäng vôùi khung döõ lieäu chín bit. Phaûi ñöôïc ñoïc tröôùc khi ñoïc caùc bit thaáp töø UDR. Bit 0-TXB8 (Transmit Data Bit 8) TXB8 bít thöù chín cuûa khung döõ lieäu trong truyeàn döõ lieäu khi hoaït ñoäng vôùi khung döõ lieäu chín bit. Phaûi ñöôïc ghi tröôùc khi ghi caùc bit thaáp töø UDR. Thanh ghi UCSRC – USART Control and Status Register C Bit 7 - URSEL ( Register Select) Löïa choïn giöõa vieäc truy caäp thanh ghi UCSRC hoaëc thanh ghi UBRRH. Bit URSEL phaûi ñöôïc ñaët leân moät khi thieát laäp thanh ghi UCSRC. Bit 6 – UMSEL (USART Mode Select) Choïn cheá ñoä hoaït ñoäng ñoàng boä hoaëc baát ñoàng boä.Bit UMSEL ñaët möùc moät thì hoaït ñoäng ñoàng boä, ôû möùc khoâng thì hoaït ñoäng khoâng ñoàng boä. Bit 5:4 – UPM1:0 (Parity Mode) Thieát laäp caùc kieåu parity vaø kieåm tra. 19 Bit 3 – USBS (Stop Bit Select) Löïa choïn soá löôïng bit stop ñöôïc cheøn vaøo trong khung döõ lieäu trong truyeàn döõ lieäu. Trong nhaän döõ lieäu noù ñöôïc boû qua. Bit USBS ñaët möùc moät cheøn hai bit stop, ôû möùc khoâng thì cheøn moät bit stop. Bit 2:1 – UCSZ1:0 (Character Size) Hai bit naøy keât hôïp vôùi bit UCSZ2 trong thanh ghi UCSRB thieát laäp soá bít trong moät khung döõ lieäu (Character Size). Bit 0 – UCPOL ( Clock Polarity) Bit naøy chæ söû duïng trong truyeàn nhaän ñoàng boä. Bit UCPOL ôû möùc khoâng khi hoaït ñoäng truyeàn nhaän khoâng ñoàng boä. Bit naøy thieát laäp moái quan heä thay ñoåi döõ lieâu ngoõ ra vaø döõ lieäu laáy maãu, vaø xung ñoàng boä (XCK). 20 Thanh ghi UBRRL and UBRRH – USART Baud Rate Registers Bit 15 – URSEL (Register Select) Löïa choïn vieäc truy xuaát giöõa hai thanh ghi UBRRH vaø UCSRC. Bit URSEL ñöôïc ñaët ôû möùc khoâng khi thieát laäp thanh ghi UBRRH. Bit 14:12 – (Reserved Bits) Caùc bit naøy khoâng coù chöùc naêng trong ATMEGA16, vaø phaûi ñöôïc xoùa veà khoâng. Bit 11:0 – UBRR11:0 (USART Baud Rate Register) Bao goàm 12 bit, 4 bit cuûa thanh ghi UBRRH vaø 8 bit cuûa thanh ghi UBRRL. Caùc bit naøy thieát laäp toác ñoä baud cuûa USART. 2.Khoái caûm bieán nhieät ñoä: LM35 laø caûm bieán duøng ñeå ño nhieät ñoä tính theo oC. Coù 2 loaïi thöôøng gaëp: loaïi ñoùng goùi theo kieåu IC vaø kieåu plastis : 21 Tính naêng cuûa LM35 Ñöôïc hieäu chænh tröïc tieáp thaønh oC. Heä soá chia tuyeán tính + 10.0 mV/ oC. Sai soá khoaûng 0.5 oC taïi 25 oC. Phaïm vi giôùi haïn nhieät ñoä töø −55 tôùi +150 oC. Phuø hôïp vôùi caùc öùng duïng ñieàu khieån töø xa. Giaù thaønh thaáp (15k). Hoaït ñoäng töø 4V ñeán 30V. Doøng qua khoaûng 60 µA. Khaû naêng töï taûn nhieät thaáp, khoaûng 0.08 oC trong ñieàu kieän khoâng khí laø tónh. Möùc ñoä phi tuyeán tieâu bieåu laø ±1⁄4 oC. Trôû khaùng ngoõ ra thaáp, 0.1 Ω vôùi taûi 1 mA. ÖÙng duïng tieâu bieåu LM35 ño nhieät ñoä ngoõ vaøo vaø xuaát tín hieäu ñieän aùp ngoõ ra tæ leä tuyeán tính vôùi nhieät ñoä ngoõ vaøo laø oC. Vì vaäy noù coù lôïi theá hôn caùc caûm bieán tuyeán tính hieäu chænh theo ñoä Kelvin oK. LM35 khoâng caàn thieát phaûi hieäu chænh hay tinh chænh beân ngoaøi vì noù ñöôïc cung caáp phaïm vi chính xaùc tieâu bieåu laø ±1⁄4 oC taïi nhieät ñoä phoøng vaø ±3⁄4 oC ôû nhieät ñoä töø −55 tôùi +150 oC. Trôû khaùng ngoõ ra thaáp, tuyeán tính vaø hieäu chænh chính xaùc laøm 22 cho vieäc ñoïc ngoõ ra vaø kieåm soaùt maïch ñieän trôû neân deã daøng. LM35 coù theå söû duïng nguoàn ñôn hoaëc nguoàn ñoâi vaø ruùt doøng khoaûng 60 µA. Nguoàn ñôn duøng ñeå ño trong phaïm vi töø +2 oC tôùi +150 oC Nguoàn ñoâi duøng ñeå ño phaïm vi töø−55 tôùi +150 oC. Bảng A.3: Thông số kỹ thuật của cảm biến nhiệt họ LM35. Mã sản phẩm Dải nhiệt độ Độ chính xác Đầu ra LM35A -550C đến +1500C +1.00C 10mV/0C LM35 -550C đến +1500C +1.50C 10mV/0C LM35CA -400C đến +1100C +1.00C 10mV/0C LM35C -400C đến +1100C +1.50C 10mV/0C 23 LM35D 00C đến +1000C +20C 10mV/0C LM35 là 1 IC cảm biến nhiệt, mạch tích hợp chính xác cao có điện áp đầu ra tỷ lệ tuyến tính với nhiệt độ theo thang độ Celcius. Họ cảm biến này cũng không yêu cầu cân chỉnh bên ngoài vì bản thân nó đã được cân chỉnh. Họ này cho ra điện áp 10mV ứng với thay đổi nhiệt độ là 1 0C.Bảng giới thiệu một số thông số kỹ thuật chính của họ LM35. Hình A.3: Sơ đồ chân của cảm biến nhiệt LM35. Vì IC cảm biến nhiệt cho ra tương ứng là +10mV/1 0C mà ADC có độ phân giải là 8 bit tương ứng 256 bước vì vậy ta sẽ chọn V REF cho ADC tương ứng là 2,56 V. 3.Khoái giao tieáp maùy tính Chuaån giao tieáp RS232 Chuaån RS232 söû duïng phöông thöùc truyeàn khoâng ñoái xöùng, söû duïng tín hieäu ñieän aùp cheânh leänh giöõa moät daây tín hieäu vaø ñaát. Möùc ñieän aùp ñöôïc söû duïng giao ñoäng -15V ñeán +15V . Möùc logic 1 töông ñöông vôùi ñieän aùp töø -3V ñeán -15V, möùc logic 0 töông ñöông vôùi ñieän aùp töø 3V ñeán 15V. Toác ñoä laøm truyeàn nhaän khoaûng 20kps vaø phuï thuoäc vaøo khoaûng caùch. Coâng suaát phaùt töông ñoái thaáp nhôø trôû khaùng ñaàu vaøo haïn cheá. Chuaån RS232 loaïi 9 chaân: 24 Giao dieän chuaån RS232 loaïi 9 chaân ( coång COM) DCD : Phaùt hieän soùng mang. DSR : saün saøng laøm vieäc. RXD :ñoïc döõ lieäu RTS : yeâu caàu truyeàn döõ lieäu. TXD : Truyeàn döõ lieäu. CTS : saün saøng nhaän döõ lieäu. DTR : saün saøng laøm vieäc. RI : Baùo chuoâng. GND : 0V Chương 4 : THIẾT KẾ PHẦN CỨNG HỆ THỐNG 1.Chuẩn RS232 Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232, được gọi là cổng Com. Chúng được dùng ghép nối cho chuột, modem, thiết bị đo lường…Khi cần dùng nhiều cổng hơn ta có thể lắp đặt các card mở rộng trên đó có thêm một đến hai cổng Com. Có hai dạng cổng Com: cổng Com 25 chân và cổng Com 9 chân. Ưu điểm giao diện nối tiếp RS232: − Khả năng chống nhiễu của các cổng nối tiếp cao. 25 − Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện. − Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua cổng nối tiếp. Hình 4.1: Chân ra cổng Com DB9. Bảng 4.1: Các Chân và chức năng của cổng Com DB9. DB-9 Tên Data Carrier 1 Detect 2 Receive Data 3 Transmit Data Ký hiệu DCD RxD TxD 4 Data Terminal DTR Ready 5 Singal Ground SG 6 Data Set Ready DSR 7 Request to Send RTS 8 Clear To Send CTS 9 Ring Indicate RI Chức năng Phát hiện tín hiệu mang dữ liệu Nhận dữ liệu Truyền dữ liệu Đầu cuối dữ liệu sẵn sàng, được kích hoạt bởi bộ nhận khi muốn truyền dữ liệu Mass của tín hiệu Dữ liệu sẵn sàng, được kích hoạt bởi bộ truyền khi nó sẵn sàng nhận dữ liệu Yêu cầu gửi, bộ truyền đặt đường này lên mức hoạt động khi sẵn sàng truyền dữ liệu Xóa để gửi, bộ nhận đặt đường này lên mức hoạt động để thông báo cho bộ truyền là nó sẵn sàng nhận dữ liệu. Báo chuông, cho biết là bộ nhận đang nhận tín hiệu rung chuông. Những đặc điểm cần lưu ý trong chuẩn RS232: 26 − Trong chuẩn RS232, các giới hạn trên đối với mức logic 0 và logic 1 là ±12V. Chuẩn RS232 ngày nay đang được áp dụng còn cố định trở kháng tải trong phạm vi từ 3000Ω đến 7000Ω. − Mức logic 1 có điện áp nằm trong khoảng –3V đến –12V, mức logic 0 từ +3V đến +12V. − Trở kháng tải phải lớn hơn 3000Ω nhưng phải nhỏ hơn 7000Ω. − Tốc độ truyền/nhận dữ liệu cực đại là 100kbps (ngày nay có thể đạt được 200 kbps). − Các lối vào phải có điện dung nhỏ hơn 2500pF − Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp RS232 không thể vượt quá 15 m nếu không sử dụng Modem. − Các giá trị tốc độ truyền dữ liệu chuẩn là : 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800 …… 56600, 115200bps. Vi maïch MAX232 -Vi maïch MAX 232 cuûa haõng MAXIM laø moät vi maïch chuyeân duøng trong giao dieän noái tieáp vôùi maùy tính. Chuùng coù nhieäm vuï chuyeån ñoåi möùc TTL ôû loái vaøo thaønh möùc +3…+15V hoaëc -3…-15V thaønh möùc TTL ôû phía nhaän hay möùc +10V hoaëc –10V ôû phía truyeàn. -Vi maïch MAX 232 coù hai boä ñeäm vaø hai boä nhaän. Ñöôøng daãn ñieàu khieån loái vaøo CTS, ñieàu khieån vieäc xuaát ra döõ lieäu ôû coång noái tieáp khi caàn thieát, ñöôïc noái vôùi chaân 9 cuûa vi maïch MAX 232. Coøn chaân RST (chaân 10 cuûa vi maïch MAX ) noái vôùi ñöôøng daãn baét tay ñeå ñieàu khieån quaù trình nhaän. Thöôøng thì caùc ñöôøng daãn baét tay ñöôïc noái vôùi coång noái tieáp qua caùc caàu noái, ñeå khi khoâng duøng ñeán nöõa coù theå hôû maïch caùc caàu naøy. Caùch truyeàn döõ lieäu ñôn giaûn nhaát laø chæ duøng ba ñöôøng daãn TxD, RxD vaø GND (mass). SƠ ĐỒ MẠCH PHẦN CỨNG VI ĐIỀU KHIỂN ATEMEGA32: 27 Chương 5 : THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN Đoạn codevision AVR: /***************************************************** This program was produced by the CodeWizardAVR V1.24.8d Professional Automatic Program Generator © Copyright 1998-2006 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : 6/24/2009 Author : F4CG Company : F4CG 28 Comments: Chip type : ATmega32 Program type : Application Clock frequency : 16.000000 MHz Memory model : Small External SRAM size : 0 Data Stack size : 512 *****************************************************/ #include #include #include #define RXB8 1 #define TXB8 0 #define UPE 2 #define OVR 3 #define FE 4 #define UDRE 5 #define RXC 7 #define FRAMING_ERROR (1[...]... tốc độ baud của USART 2.Khối cảm biến nhiệt độ: LM35 là cảm biến dùng để đo nhiệt độ tính theo oC Có 2 loại thường gặp: loại đóng gói theo kiểu IC và kiểu plastis : 21 Tính năng của LM35 Được hiệu chỉnh trực tiếp thành oC Hệ số chia tuyến tính + 10.0 mV/ oC Sai số khoảng 0.5 oC tại 25 oC Phạm vi giới hạn nhiệt độ từ −55 tới +150 oC Phù hợp với các ứng dụng điều khiển từ xa Giá thành thấp (15k) Hoạt động... biến nhiệt họ LM35 Mã sản phẩm Dải nhiệt độ Độ chính xác Đầu ra LM35A -550C đến +1500C +1.00C 10mV/0C LM35 -550C đến +1500C +1.50C 10mV/0C LM35CA -400C đến +1100C +1.00C 10mV/0C LM35C -400C đến +1100C +1.50C 10mV/0C 23 LM35D 00C đến +1000C +20C 10mV/0C LM35 là 1 IC cảm biến nhiệt, mạch tích hợp chính xác cao có điện áp đầu ra tỷ lệ tuyến tính với nhiệt độ theo thang độ Celcius Họ cảm biến này cũng... Họ này cho ra điện áp 10mV ứng với thay đổi nhiệt độ là 1 0C.Bảng giới thiệu một số thơng số kỹ thuật chính của họ LM35 Hình A.3: Sơ đồ chân của cảm biến nhiệt LM35 Vì IC cảm biến nhiệt cho ra tương ứng là +10mV/1 0C mà ADC có độ phân giải là 8 bit tương ứng 256 bước vì vậy ta sẽ chọn V REF cho ADC tương ứng là 2,56 V 3.Khối giao tiếp máy tính Chuẩn giao tiếp RS232 Chuẩn RS232 sử dụng phương thức truyền... 1.Chuẩn RS232 Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232, được gọi là cổng Com Chúng được dùng ghép nối cho chuột, modem, thiết bị đo lường…Khi cần dùng nhiều cổng hơn ta có thể lắp đặt các card mở rộng trên đó có thêm một đến hai cổng Com Có hai dạng cổng Com: cổng Com 25 chân và cổng Com 9 chân Ưu điểm giao diện nối tiếp RS232: − Khả năng chống nhiễu của các cổng nối tiếp cao... 4V đến 30V Dòng qua khoảng 60 µA Khả năng tự tản nhiệt thấp, khoảng 0.08 oC trong điều kiện không khí là tónh Mức độ phi tuyến tiêu biểu là ±1⁄4 oC Trở kháng ngõ ra thấp, 0.1 Ω với tải 1 mA Ứng dụng tiêu biểu LM35 đo nhiệt độ ngõ vào và xuất tín hiệu điện áp ngõ ra tỉ lệ tuyến tính với nhiệt độ ngõ vào là oC Vì vậy nó có lợi thế hơn các cảm biến tuyến tính hiệu chỉnh theo độ Kelvin oK LM35 không cần... giao diện nối tiếp với máy tính Chúng có nhiệm vụ chuyển đổi mức TTL ở lối vào thành mức +3…+15V hoặc -3…-15V thành mức TTL ở phía nhận hay mức +10V hoặc –10V ở phía truyền -Vi mạch MAX 232 có hai bộ đệm và hai bộ nhận Đường dẫn điều khiển lối vào CTS, điều khiển việc xuất ra dữ liệu ở cổng nối tiếp khi cần thiết, được nối với chân 9 của vi mạch MAX 232 Còn chân RST (chân 10 của vi mạch MAX ) nối với. .. dây tín hiệu và đất Mức điện áp được sử dụng giao động -15V đến +15V Mức logic 1 tương đương với điện áp từ -3V đến -15V, mức logic 0 tương đương với điện áp từ 3V đến 15V Tốc độ làm truyền nhận khoảng 20kps và phụ thuộc vào khoảng cách Công suất phát tương đối thấp nhờ trở kháng đầu vào hạn chế Chuẩn RS232 loại 9 chân: 24 Giao diện chuẩn RS232 loại 9 chân ( cổng COM) DCD : Phát hiện sóng mang DSR :... truyền nhận bất đồâng bộ hỗ trợ chức năng nhân đôi tốc độ Truyền dữ liệu (5 đến 8 bit) Việc thiết lập chế độ truyền nối thông qua việc thiết lập bit TXEN (Transmit Enable) bên trong thanh chi UCSRB Tốc độ baud, chế độ hoạt động và đònh dạng khung dữ liệu phải được thiết lập trước khi thực hiện truyền dữ liệu Nếu hoạt dọâng ở chế độ đồng bộ thì xung trên chân XCK được sử dụng như là xung trong truyền dữ... Trở kháng tải phải lớn hơn 3000Ω nhưng phải nhỏ hơn 7000Ω − Tốc độ truyền/nhận dữ liệu cực đại là 100kbps (ngày nay có thể đạt được 200 kbps) − Các lối vào phải có điện dung nhỏ hơn 2500pF − Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp RS232 khơng thể vượt q 15 m nếu khơng sử dụng Modem − Các giá trị tốc độ truyền dữ liệu chuẩn là : 50, 75, 110, 150, 300, 600, 1200,... tại nhiệt độ phòng và ±3⁄4 oC ở nhiệt độ từ −55 tới +150 oC Trở kháng ngõ ra thấp, tuyến tính và hiệu chỉnh chính xác làm 22 cho việc đọc ngõ ra và kiểm soát mạch điện trở nên dễ dàng LM35 có thể sử dụng nguồn đơn hoặc nguồn đôi và rút dòng khoảng 60 µA Nguồn đơn dùng để đo trong phạm vi từ +2 oC tới +150 oC Nguồn đôi dùng để đo phạm vi từ−55 tới +150 oC Bảng A.3: Thơng số kỹ thuật của cảm biến nhiệt ... đề tài: Hiển thị nhiệt độ cảm biến nhiệt LM35 matlab thong qua cổng RS232 giao tiếp với máy tính 2.Mục đích đề tài: Sử dụng cảm biến nhiệt độ theo dõi thay đổi nhiệt độ Kết hợp với máy tính ghi... trình Mạch tổ hợp tích hợp giao tiếp với máy tính thơng qua cổng RS232 Hiển thò Hiển thò giá trò nhiệt độ Matlab Cảm biến nhiệt độ Cảm biến nhiệt độ LM35 với độ nhạy 10mV/oC dòng điện tiêu thụ... tốc độ baud USART 2.Khối cảm biến nhiệt độ: LM35 cảm biến dùng để đo nhiệt độ tính theo oC Có loại thường gặp: loại đóng gói theo kiểu IC kiểu plastis : 21 Tính LM35 Được hiệu chỉnh trực tiếp

Ngày đăng: 06/10/2015, 00:19

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan