Việc ứng dụng các thành tựu khoa học kyc thuật hiện đại trong tất cả các lĩnh vực đã và đang rất phổ biến trong toàn thế giới, thay thế dần những phương thức thủ công, lạc hậu và ngày cà
Trang 1MỤC LỤC
DANH MỤC HÌNH VÀ BẢNG
LỜI NÓI ĐẦU
Với sự phát triển không ngừng của khoa học công nghệ, cuộc sống con người ngày càng trở nê tiện nghi và hiện đại hơn Điều đó đem lại cho chúng ta nhiều giải pháp tốt hơn, đa dạng hơn trong việc xử lý những vấn đề tưởng chừng như rất phức tạp gặp phải trong cuộc sống Việc ứng dụng các thành tựu khoa học kyc thuật hiện đại trong tất cả các lĩnh vực đã và đang rất phổ biến trong toàn thế giới, thay thế dần những phương thức thủ công, lạc hậu và ngày càng được cải tiến hiện đại hơn, hoàn mỹ hơn Cùng với sự phát triển chung đó, nước ta cũng đang mạnh mẽ tiến hành công cuộc công nghiệp hóa hiện đại hóa đất nước để theo kịp sự phát triển của các nước trong khu vực và trên thế giới Trong đó có lĩnh vực điện tử đang ngày càng đóng vai trò quan trọng trong việc phát triển kinh kế và đời sống con người Sự phổ biến của nó đóng góp không nhỏ tới sự phát triển của tất cả các ngành sản xuất, giải trí,…trong những năm gần đây đặc biệt trong lĩnh vực cần đến độ chính xác cao trong thiết kế và sản xuất, các dụng cụ hỗ trợ đo hiện đại sẽ đem lại rất nhiều lợi ích cho các ngành
Trang 2công nghiệp như: tiết kiệm chi phí, thời gian, cháy nổ, an toàn,…nó đã có sự phát triển mạnh mẽ với nhiều hình thức, phương pháp tiếp cận, chia sẻ thông tin hiện đại
và toàn diện hơn.
Nhóm em thực hiện đề tàido Thầy TS Nguyễn Xuân Quyềngiao:“ Thiết Kế Mạch
Đo Điện Áp và Tần Số Của Tín Hiệu Xoay Chiều ” làm đề tài đồ án thiết kế II.
Trong thời gian thực hiện đề tài cộng với kiến thức còn nhiều hạn chế, nên trong
đồ án này không tránh khỏi những sai sót, nhóm thực hiện rất mong được sự đóng góp
ý kiến của thầy cô và các bạn sinh viên.
Nhóm sinh viên thực hiện đề tài.
LỜI CẢM ƠN
Trong suốt khóa học tại “ Đại Học Bách Khoa Hà Nội ”, với sự giúp đỡ của quý thầy
cô và giáo viên hướng dẫn về mọi mặt từ nhiều phía và nhất là trong thời gian thực hiện đề tài , nên đề tài đã được hoàn thành đúng thời gian qui định Nhóm thực hiện xin chân thành cảm ơn đến:
Quý thầy cô trong viện Điện tử - Viễn thông đã giảng dạy những kiến thức chuyên môn làm cơ sở để thực hiện tốt đồ án môn học và đã tạo điều kiện thuận lợi cho chúng
em hoàn tất đồ án môn học này.
Đặc biệt, Thầy TS Nguyễn Xuân Quyền, giáo viên hướng dẫn đề tài đã nhiệt tình
giúp đỡ và cho nhóm thực hiện những lời chỉ dạy quý báu, giúp nhóm thực hiện định hướng tốt trong khi thực hiện đề tài.
Hà Nội Ngày Tháng 12 Năm 2013
Nhóm sinh viên thực hiện.
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 4
CHƯƠNG I: TÌM HIỂU ĐỀ TÀI
I, GIỚI THIỆU ĐỀ TÀI :
Với quy mô là đồ án môn học, nên nhóm em đã cố gắng làm những gì giảng viên yêu cầu, nhưng do kiến thức còn hạn chế nên chúng em thực hiện được những yêu cầu:
1, Hiển thị kết quả đo trên LCD 2x16.
2, Khoảng điện áp : 0 – 1000 mV, 1 – 50 V.
3, Khoảng tần số : 0- 1 MHz.
4, Truyền lên máy tính.
II, MỤC ĐÍCH NGHIÊN CỨU :
Mục đích trước hết khi thực hiện đề tài này là để hoàn tất chương trình môn học
để đủ điều kiện hoàn thành yêu cầu của môn học Cụ thể khi nghiên cứu đề tài là
Trang 5chúng em muốn phát huy những thành quả ứng dụng của vi điều khiển vào mạch thực
tế Nó còn là kinh nghiệm cho chúng em tiến đến đồ án tốt nghiệp sắp tới Ngoài ra quá trình thực hiện đề tài là một cơ hội để chúng em tự kiểm tra lại kiến những kiến thức đã học ở trường Đồng thời phát huy tính sáng tạo, khả năng giải những vấn đề do nhu cầu đặt ra.
III, ĐỐI TƯỢNG NGHIÊN CỨU :
1, Các phương án điều khiển và xử lý dữ liệu.
2, Tìm hiểu về kit MSP 430, ic msp430g2553.
3, Tìm hiểu về LCD và UART.
4, Tìm hiểu IC ổn áp 7812, 7912.
5, Tìm hiểu IC dán AMS117 – 3.3V, AMS117 – 5V.
6, Tìm hiểm IC khuếch đại thuật toán TL 072.
Trang 6độ rộng bit tương tự nhau Dưới đây là những đặc điểm tổng quát của họ vi điều khiển MSP430:
+ Cấu trúc sử dụng nguồn thấp giúp kéo dài tuổi thọ của Pin
-Duy trì 0.1µA dòng nuôi RAM.
-Chỉ 0.8µA real-time clock.
-250 µA/ MIPS.
+ Bộ tương tự hiệu suất cao cho các phép đo chính xác
-12 bit hoặc 10 bit ADC-200 kskp, cảm biến nhiệt độ, Vref ,
-12 bit DAC.
Trang 7-Bộ giám sát điện áp nguồn.
+ 16 bit RISC CPU cho phép được nhiều ứng dụng, thể hiện một phần ở kích thước Code lập trình.
-Thanh ghi lớn nên loại trừ được trường hợp tắt nghẽn tập tin khi đang làm việc -Thiết kế nhỏ gọn làm giảm lượng tiêu thụ điện và giảm giá thành.
-Tối ưu hóa cho những chương trình ngôn ngữ bậc cao như C, C++
-Có 7 chế độ định địa chỉ.
-Khả năng ngắt theo véc tơ lớn.
+ Trong lập trình cho bộ nhớ Flash cho phép thay đổi Code một cách linh hoạt, phạm
vi rộng, bộ nhớ Flash còn có thể lưu lại như nhật ký của dữ liệu.
2.1.2, Phần Cứng MSP430G2553 :
2.1.2.a.Sơ đồ chân :
Chip MSP430 có kích thước nhỏ gọn , chỉ với 20 chân đối với kiểu chân DIP Bao gồm 2 port I/O (hay GPIO general purprose input/ output : cổng nhập xuất chung).
Hình 1: Sơ đồ chân
Ta thấy rằng mỗi port đều có 8 chân.
Port 1 : có 8 chân từ P1.0 đến P1.7 tương ứng với các chân từ 2-7 và 14 , 15
Port 2 : cũng gồm có 8 chân P2.0 – P2.7 ứng với các chân 8 – 13 , 18,19.
Trang 102.1.2.b, Giải thích sơ lược các chân :
- Chân số 1 là chân cấp nguồn Vcc( ký hiệu trên chip là DVcc ) , ở đây nguồn cho chip chỉ được cấp ở mức 3,3V , nếu cấp nguốn cao quá mức này thì chip có thể hoạt động sai hay cháy chip
-Chân 20 là chân nối cực âm (0V) , chân này thì không có gì đặc biệt
-Chân reset : Chính là chân số 16 RST , nếu các bạn đã từng học về PIC thì sẽ thấy chân reset có ký hiệu là MCLR , các bạn để ý thấy dấu gạch ngang trên có nghĩa là chân này tích cực ở mức thấp Mục đích của việc reset là nhằm cho chương trình chạy lại từ đầu
- Port I/O :
Port 1 : có 8 chân từ P1.0 đến P1.7 tương ứng với các chân từ 2-7 và 14 , 15
Port 2 : cũng gồm có 8 chân P2.0 – P2.7 ứng với các chân 8 – 13 , 18,19.
Trong chế độ nhập (input) thì cả 2 port đều có 1 mạch điều khiển điện trở kéo dương – gọi là PULL UP nhưng giá trị của điện trở này rất lớn khoảng 47K nên gọi là
WEAK PULL UP RESISTAN Việc điều khiển PULL UP sẽ được tiến hành thông qua lập trình tác động lên thanh ghi PxREN sẽ được đề cập ở chương sau
Điều này cũng giống như việc thiết lập input ở port B của vi điều khiển PIC, ở port B cũng có điện trở kéo lên , và người lập trình phải thao tác qua thanh ghi
Trang 12Hình 2: Giới thiệu MSP430 -Kit có thể nạp được code cho dòng Msp430G : như msp430g2231, 2553, 2452,… -Kit kết nối với máy tính thông qua cổng USB
2.1.4, Trình Biên Dịch :
2.1.4.a, IAR (IAR Embedded Workbench ) :
Để tải chương trình , chúng ta có thể vào trang chủ : www.iar.com hoặc từ địa chỉ của TI : www.ti.com , sau đó gõ từ IAR trên mục tìm kiếm ,để download được thì các bạn phải tạo 1 tài khoản và đăng nhập để tải về
2.1.4.b, CCS (Code composer studio )
2.1.5, Basic Clocks :.
Chế độ clock được cung cấp trong tất cả các dòng MCUs Msp430 của TI Trong chương này sẽ giúp các bạn hiểu rõ về hoạt động các xung clocks cơ bản của msp430.
Trang 132.1.5.a, Giới thiệu về clock :
Với dòng msp430 này thì nó 3 loại xung cơ bản như sau :
- Trên chip Msp430 đã có sẵn nguồn xung DCO (Digitally Controller Oscillator)
hỗ trợ tốc độ cao
+ External :
Khác với những dòng vi điều khiển khác thì dòng Msp430 chỉ có thể hỗ trợ thạch anh có tần số lên đến 32.768khz ,việc sử dụng thạch anh ngoại nhằm đáp ứng nhu cầu về ứng dụng cần chạy thời gian thực và cần sự chính xác cao
2.1.5.b, Mode trong xung nội :
XT2CLK: Optional high-frequency oscillator
Module lựa chọn làm việc ở tần số cao
Trang 14DCOCLK: Internal digitally controlled oscillator (DCO).
Bộ dao động số được tích hợp sẵn trong chip, khi làm việc nếu không có thiết lập gì
về nguồn xung thì msp430 sẽ hoạt động dưa trên bộ DCO này
VLOCLK: Internal very low power, low frequency oscillator with 12-kHz typical frequency
Module tích hợp , đây là mode hoạt động siêu tiết kiệm năng lượng
Sơ đồ khối clocks :
Hình 3: Sơ đồ khối clock
2.1.6, Module ADC :
2.1.6.a, Giới thiệu Module ADC 10 bit :
Bộ chuyển đổi ADC10 (dựa trên các điện áp V+ và V- làm hệ quy chiếu) sẽ
chuyển từ tín hiệu analog thành tín hiệu digital với bộ phân giải 10 bit và lưu kết quả vào thanh ghi ADC10MEM.
Trang 15Nếu điện áp đọc vào lớn hơn V+ thì kết quả sẽ là 0x3ff và nếu bé hơn V- thì kếtquả sẽ
là 0.
Bộ điều khiển ADC được cài đặt bởi 2 thanh ghi là ADC10CTL0 và ADC10CTL1chỉ
có thể được chỉnh sửa khi bit ENC=0 và sau khi chỉnh sửa xong thì bạn cần setbit ENC=1 để ADC làm việc.
2.1.6.b, Thanh ghi ADC10CTL0 :
Hình 4: Thanh ghi ADC10TL0
Nếu bạn chọn điện áp quy chiếu nội:
+ Chọn nguồn điện áp so sánh bằng cách set bit REFON (REFON mất 30us để
chuyển trạng thái).Khi REFON = 0 thì tức là bạn chọn nguồn nội AVCC =3.5V,khi REFON =1 thì:
*Khi REF2_5V = 1,điện áp quy chiếu nội là 2.5V,ngược lại (bằng 0)
điện áp quy chiếu nội là 1.5V.
Nếu bạn chọn điện áp quy chiếu ngoại:
Khi đó bit REFOUT =1 thì chúng ta phải gắn điện áp quy chiếu ngoại vào 2 chân Vref+ và chân Vref- của chip,lần lượt ở P1.3 và P1.4.
Trang 16bắt đầu chuyển đổi.
Bit MSC : lựa chọn khởi động bằng tay sau mỗi lần chuyển đổi hoặc tự động chuyển đổi liên tục ADC (Chỉ dùng trong mode 1,2,3 của ADC).
2.1.6.c, Thanh ghi ADC10CTL1 :
Hình 5: ADC10CTL1, ADC10 Control Register 1
Trang 18Có 4 mode chuyển đổi ADC bằng cách chỉnh sửa bit CONSEQx:
+MODE 00: mẫu sẽ được chuyển đổi 1 lần, kết quả lưu trong thanh ghi
ADC10MEM,chuyển đổi được kích hoạt dựa vào bit ADC10SC và ENC phải được set lại sau mỗi lần chuyển đổi.
+MODE 01: chuyển đổi lần lượt nhiều tín hiệu ADC từ chân Ax (config bit trong INCHx) đến chân A0 kết quả sẽ lưu lần lượt vào ADC10MEM.
+MODE 10: chuyển đổi liên tục tín hiệu ADC từ 1 chân cố định kết quả sẽ lưu lần lượt vào ADC10MEM.
+MODE 11: chuyển đổi liên tục nhiều tín hiệu ADC từ chân Ax (config bit trong INCHx) đến chân A0 kết quả sẽ lưu lần lượt vào ADC10MEM.
=>Để mang lại hiệu năng cao nhất với cácSC = 1 ( multiple sample and convert ).
Bên cạnh việc set bit INCHx chọn chân mang chức năng ADC, các bạn phải enable chức năng ADC cho chúng qua thanh ghi ADC10AE.
2.1.7 Timer0 Module
Các module Timer0 kết hợp các tính năng sau :
+ Phần mềm hoạt động như là một lựa chọn bộ đếm thời gian hoặc truy cập vào cả 2 bit – 8 hoặc chế độ 16- bit.
+ Có thể đọc và ghi thanh ghi.
+ Chuyên dụng 8-bit, phần mềm lập trình precaler.
+ Đồng hồ lựa chọn mã nguồn ( bên trong hoặc bên ngoài ).
Trang 19+ Edge cọn cho đồng hồ bên ngoài.
+ Ngắt –on- tràn.
2.1.7.a, Hoạt Động Của Timer 0 :
Timer 0 có thể hoạt động như là một bộ định thời hoặc ngược lại, lựa chọn với các bit T0CS (T0CON <5>) Trong chế độ hẹn giờ (T0CS=0) Các gia số module trên mỗi đồng hồ theo mặc định Nếu ghi TMR0 được ghi vào, độ tăng được kìm hãm đối với hai chu trình lệnh sau Người dùng có thể làm việc này bằng cách viết một gía trị điều chỉnh cho ghi TMR0.
Chế độ truy cập đang chọn bằng cách thiết lập bit T0CS(=1) Trong chế độ này , số
ra Timer0 hoặc teeen tất cả các gọc lên và xuống của RA4/T0CKI pin Cạnh độ ăng được xác định bởi các Timer Source Edge Select, T0SE (T0CON<4>); xóa bit này lựa chọn các góc lên Các hạn chế trên đầu vào đồng hồ bên ngoài được tính sau.
Một nguồn clock bên ngoài có thể được sử dụng để cung cấp cho Timer0, tuy nhiên,
nó phải đáp ứng các yêu cầu nhất định để đảm bảo rằng đồng hồ từ bên ngoài có thể được đồng bộ hóa với pha bên trong đồng hồ (TOSC) Một trễ pha giữa đồng bộ và bắt đầu tăng dần của bộ hẹn giờ/ truy cập.
2.1.7.b, Các Timer0 Đọc và Ghi Trong 16-Bit Mode :
TMR0H không phải là byte cao thật sự của Timer0 ở chế độ 16-bit, nó thực tế là
một phiên bản có bộ đếm của byte cao của Timer0 mà không trực tiếp có thể đọc được
và cũng không thể xin lệnh TMR0H được updeted với các nội dung của byte cao của Timer0 trong một đọc của TMR0L Điều này cung cấp khả năng đọc tất cả 16 bit của Timer0 mà không cần phải xác minh rằng đọc của byte cao và thấp là có giá trị, do Rollover giữa kế tiếp lần đọc của byte cao và thấp.
Tương tự, một ghi cho các byte cao của Timer0 cũng phải được thực hiện thông qua việc ghi TMR0H bộ nhớ đệm Các byte cao được cập nhật với các nội dung của TMR0H khi ghi ra TMR0L Điều này cho phép tất cả 16 bit của Timer0 để được cập nhật cùng một lúc.
Trang 20Hình 6: Timer0 đọc và ghi trong 16 bit mode 2.1.7.c, Ngắt Timer0 :
Việc ngắt TMR0 được tạo ra khi ghi TMR0 tràn từ FFh đến 00h trong 8-bit hoặc từ FFFFh đến 0000h ở chế độ 16-bit Tràn này thiết lập bit cờ TMR0IF Việc ngắt có thể được ẩn bằng cách xóa bít TMR0IE ( INTCON<5) Trước khi cho phép tái ngắt, các bit TMR0IF phải được xóa trong phần mềm của những lần định kỳ ngắt.
Kể từ khi Timer0 bị dừng lại mode Sleep “quá trình nghỉ”, các TMR0 ngắt không thể hoạt động bộ vi xử lý từ quá trình nghỉ.
Bảng 2: Ngắt Timer0 2.2, Giới Thiệu Về Các Linh Kiện Khác :
2.2.1, Liquid crystal display ( LCD ) :
2.1.1.a, Sơ đồ nguyên lý :
Trang 21
Hình 7: LCD 16x4 2.2.1.b, Nguyên tắc hiển thị ký tự trên LCD :
Một chương trình hiển thị ký tự trên LCD sẽ đi theo bốn bước sau :
+ các bước 3, 4 có thể lặp lại nhiều lần nếu cần hiển thị nhiều ký tự.
+ Mỗi khi thực hiện ghi lệnh hoặc ghi dữ liệu hiển thị lên LCD cần phải kiểm tra cờ bận trước Vì vậy, cần phải chủ động phân phối thời gian khi ra lệnh cho LCD ( ví
dụ sau khi xóa màn hình sau khoảng 2ms mới ra lệnh khác vì thời gian để LCD xóa màn hình là 1,64ms )
+ Chế độ mặc định sẽ là hiển thị dịch, vị trí con trỏ mặc định sẽ đầu dòng thứ nhất.
2.2.2, Giới Thiệu Về Các IC Sử Dụng
2.2.2.a, IC Ổn Áp 7812 và 7912 :
Hình 8: Hình ảnh IC 7812 và 7912
Đó là loại IC của họ 78 và 79 với các nguồn ổn áp đầu ra khác nhau.
+ Họ 78xx là họ cho ổn định điện áp đầu ra là dương Còn xx là giá trị điện áp đầu ra nhứ 5V, 6V
+ Họ 79xx là họ ổn định điện áp đầu ra là âm Còn xx là giá trị điện áp đầu ra như : -5V,-6V
Sự kết hợp của hai con này sẽ tạo ra được bộ nguồn đối xứng.
Trang 22 IC 7812: Đây là dạng mạch nguồn ổn định điện áp đầu ra với công suất lớn.
Sử dụng IC ổn áp họ 78XX và transitor công suất.
Nhiệm vụ của 7812 trong mạch dùng để ổn định giá trị điện áp đầu ra là 12V cố định Với dòng đầu ra của 7812 là 1A.
IC 7912: Cũng như họ 78 thì họ 79 có hoạt động tương tự những điện áp đầu
ra là âm (-) trái ngược với họ 78
2.2.2.b, IC Ổn Áp dán AMS 117 – 3.3V và AMS 117 – 5V
+ IC AMS 117 – 3.3 V cấp nguồn cho IC MSP G2553 với điện áp đầu ra 3.3 V
+ IC AMS 117 – 5V cấp nguồn cho LCD.
2.2.2.c, IC khuếch đại thuật toán TL 072
Hình 9: IC khuếch đại thuật toán TL 072
+ Làm việc ở chế độ so sánh mức 0 không đảo.
Trang 23CHƯƠNG III : THIẾT KẾ VÀ THI CÔNG MẠCH
3.1, Thi Công
3.1.1, Mạch Nguồn :
Hình 10: Khối mạch nguồn
+ Nguồn cung cấp cho tất cả các khối là 12V DC.
+ Điện áp xoay chiều khi qua cầu diode sẽ được nắn tương đối phẳng.
+ Tụ C5 có nhiệm vụ làm phẳng điện áp.
3.1.2, Khối Xử Lý nguồn để cấp cho IC và LCD :
Hình 11: Khối Xử Lý Nguồn
Trang 24#define delay_us(x) delay_cycles(x*2ul)
#define delay_ms(x) delay_cycles(x*1100ul)
typedef unsigned char uchar;
union reg
{ unsigned char _byte; //khai bao 1byte
struct bit
Trang 25{ //dinh nghia bit trong byte vua khai bao
unsigned char b0:1; //bit 0 trong byte
unsigned char b1:1; //bit 1 trong byte
unsigned char b2:1; //bit 2 trong byte
unsigned char b3:1; //bit 3 trong byte
unsigned char b4:1; //bit 4 trong byte
unsigned char b5:1; //bit 5 trong byte
unsigned char b6:1; //bit 6 trong byte
unsigned char b7:1; //bit 7 trong byte
} _bit;
};
union reg* P2_dir=(union reg*)0x2a; //khai bao dia chi o nho
union reg* P2_out=(union reg*)0x29;
union reg* P2_sel=(union reg*)0x2e;
union reg* P2_in=(union reg*)0x28;
union reg* P1_sel=(union reg*)0x26;
union reg* P1_dir=(union reg*)0x22; //khai bao dia chi o nho
union reg* P1_out=(union reg*)0x21;
union reg* P1_in=(union reg*)0x20;
/********************** I/O LCD ******************************/
#define LCD_RS P2_out->_bit.b5
#define LCD_EN P2_out->_bit.b4