intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Báo cáo đồ án 2: Điều khiển thiết bị điện trong nhà qua Module thu phát RF 315M

Chia sẻ: _ _ | Ngày: | Loại File: DOCX | Số trang:20

28
lượt xem
13
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Báo cáo đồ án 2 "Điều khiển thiết bị điện trong nhà qua Module thu phát RF 315M" trình bày các nội dung chính sau đây: Tổng quan về MSP430; Giới thiệu về KIT Launch Pad; Phần thực hành trên KIT. Mời các bạn cùng tham khảo chi tiết báo cáo đồ án!

Chủ đề:
Lưu

Nội dung Text: Báo cáo đồ án 2: Điều khiển thiết bị điện trong nhà qua Module thu phát RF 315M

  1. TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ ­ VIỄN THÔNG ******************************* MÔN ĐỒ ÁN II Báo cáo tiến độ Đồ Án II: Điều khiển thiết bị điện trong nhà qua   Module thu phát RF 315M Giáo viên hướng dẫn:Th.s Đinh Thị Nhung Sinh viên:          Hà Quốc Việt      ­ MSSV 20102546 Ich Vannak          ­MSSV 20102569
  2. Trần Đức Thắng  ­MSSV 20106270 MỤC LỤC: I.Tổng quan về MSP430. II.Giới thiệu về KIT Launch Pad. III.Phần thực hành trên KIT.
  3. Phần I. Tổng quan về MSP430: MSP 430là họ vi điều khiển cấu trúcRISC 16­bitđược sản xuất bởicông ty Texas  Instruments.MSP là chữ viết tắt của“MIXED SIGNAL MICROCONTROLLER” ­ Làdòng vi điều khiển siêu tiết kiệm năng lượng, sử dụng nguồn thấp, khoảng  điệnáp nguồn cấp từ1.8V – 3.6V ­MSP 430 kết hợp các đặc tính của mộtCPUhiện đại và tích hợp sẵn cácmodule  ngoại vi. Đặc biệt ChípMSP 430là giải pháp thích hợp cho những ứngdụng yêu  cầu trộn tín hiệu. ­Những đặc tính của dòng MSP 430 bao gồm: +Điện áp nguồn: 1.8V – 3.6 V. +Mức tiêu thụ năng lượng cực thấp: +Chế độ hoạt động: 270 μA tại 1MHz, 2,2 V. +Chế độ chờ: 0.7 μA. +Chế độ tắt (RAM vẫn được duy trì): 0.1 μA. +Thời gian đánh thức từ chế độ Standby nhỏ hơn 1μs. +Cấu trúc RISC­16 bit, Thời gian một chu kỳ lệnh là 62.5 ns +Cấu hình các module Clock cơ bản: +Tần số nội lên tới 16 MHz với 4 hiệu chỉnh tần số +­ 1%. +Thạch anh 32 KHz. +Tần số làm việc lên tới 16 MHz. +Bộ cộng hưởng. +Nguồn tạo xung nhịp bên ngoài. +Điện trở bên ngoài. +Timer_A 16 bit với 3 thanh ghi hình, 3 thanh ghi so sánh độ rộng 16 bit. +Timer_B 16 bit với 3 thanh ghi hình, 3 thanh ghi so sánh độ rộng 16 bit. +Giao diện truyền thông nối tiếp: +Hỗ trợ truyền thông nối tiếp nâng cao UART, tự động dò tìmtốc độ Baud. +Bộ mã hóa và giải mã IrDA (Infrared Data Associatio). +Chuẩn giao tiếp động bộ SPI. +Chuẩn giao tiếp I2C.
  4. +Bộ chuyển đổi ADC 10 bit, 200 ksps với điện áp tham chiếu nội, Lấymẫu và  chốt. Tự động quét kênh, điều khiển chuyển đổi dữ liệu. +Hai bộ khuếch đại thuật toán (hoạt động) có thể định cấu hình (Đối vớiMSP  430x22x4). +Bảo vệ sụt áp. +Bộ nạp chương trình. +Module mô phỏng trên chip. +Các thành viên của dòng MSP 430 bao gồm: +MSP430G2553: 16MB + 16kB Flash Memory 512B RAM. MSP43G2213: 16MB + 2KB Flash Memory 256B RAM.­ MSP430G2203: 16MB + 2KB Flash Memory 256B RAM. ­ MSP430G2303: 16MB + 4KB Flash Memory 256B RAM.­ MSP430G2313: 16MB + 4KB Flash Memory 256B RAM.­ ­MSP430 được sử dụng và biết đến đặc biệt trong những ứng dụng về thiết  bịđo có sử dụng hoặc không sử dụng LCD với chế độ nguồn nuôi rất thấp. Với  chế độnguồn nuôi từ khoảng 1,8 đến 3,6v và 5 chế độ bảo vệ nguồn.Với sự  tiêu thụ dòng rất thấp trong chế độ tích cực thì dòng tiêu thụ là 200uA,1Mhz,  2.2v; với chế độ standby thì dòng tiêu thụ là 0.7uA. Và chế độ tắt chỉ duy trì bộ  nhớ Ram thì dòng tiêu thụ rất nhỏ 0.1uA.MSP430 có ưu thế về chế độ nguồn  nuôi. Thời gian chuyển chế độ từ chế độstandby sang chế độ tích cực rất nhỏ  (
  5. Thanh ghi vao /ra ̀
  6. ­Bộ định thời: MSP430 có hai bộ định thời 16 Bit là Timer_A và Timer_B nó cũng đồngthời  đóng vai trò là bộ đếm. Timer_A:Đặc tính của Timer_A: Là một bộ Timer/Counter 16 bit. Với ba thanh ghi lưu trữ và 3 thanh ghi  sosánh.Là một Timer đa chức năng. Đếm thời gian, so sánh, PWM .  Timer_Acũng có khả năng ngắt khi counter đếm tràn hoặc mỗi thanh ghi đếm  tràn. Cácđặc tính chính của Timer_A bao gồm:+ Là một Timer/counter 16 Bit  không đồng bộ với 4 chế độ hoạt động.+ Có thể lựa chọn và cấu hình nguồn  xung+ Hai tới 3 thanh ghi có thể cấu hình capture/compare+ Cấu hình đầu ra với  chế độ PWM+ Chốt ngõ vào và ngõ ra không đồng bộ.
  7. Sơ đồ khối của Timer_A
  8. Phân 2: Gi ̀ ơi thiêu vê kit launch pad ́ ̣ ̀ 1.1.Giơi thiêu kit: ́ ̣ Hình minh họa kit LaunchPad Rev.1.1 (bản ổn định hiện tại là Rev.1.5) : Một kit LaunchPad gồm hai thành phần, với GND được phủ chung: ­ Nửa trên: Là phần mạch nạp theo chuẩn spy­bi­wire Jtag (2 dây), kết hợp với  chuyển đổi giao tiếp UART với máy tính. Trên cùng là đầu USBmini để nối với  máy tính, phía dưới là hàng Header để nối ra đối tượng cần giao tiếp, bao gồm  các chân: ∙ TXD, RXD: phục vụ giao tiếp UART với máy tính. ∙ RST, TEST: phục vụ nạp và debug (sửa lỗi) theo chuẩn spy­bi­wire Jtag. ∙ VCC: cấp nguồn 3V3 cho đối tượng (thường là nửa dưới LaunchPad).
  9. ­ Nửa dưới: là một mạch phát triển MSP430 đơn giản, bao gồm: ∙ Socket cắm MSP430 (thường gắn sẵn chip MSP430G2553), Pad hàn thạch anh,  Nút nhấn Reset chip. ∙ Nút nhấn gắn vào P1.3, hai Led hiển thị có jumper để gắn vào P1.0 và P1.6. Hai  hàng header để kết nối hai hàng chân của chip ra ngoài, một hàng header  nguồnGND­GND­VCC để lấy nguồn 3V3 trên LaunchPad. 1.2.Sơ đô chân: ̀
  10. 1.3.Câp nguôn cho kit ́ ̀ : Việc cấp nguồn cho mạch main có thể tiến hành bằng 3 cách: *Câp nguôn ngoai vao mach Main ́ ̀ ̀ ̀ ̣ - Nguồn ngoài được cấp qua Domino J1 trong khối nguồn của mạch. Nguồn vào có thể là AC hay DC, dải điện áp từ 8V đến 30V. Với phương án này, tổng dòng tiêu thụ của mạch giới hạn ở khoảng 1A (giới hạn của 7805). Cụ thể, chúng ta có thể lựa chọn biến áp 220V/12-24V; các cục sạc (adapter) AC, DC 9V, 12V, 19V, …; Ac-quy 12-24V; Pin 9V, … - Ngoài ra, nếu có nguồn DC 5V, 3V3 bên ngoài thì có thể cắm vào header nguồn  J2 (5V) hay J14 (3V3) để sử dụng. Khi làm cách làm này cần phải chắc chắn,  đảm bảo điên ap câp trong khoang t ̣ ́ ́ ̉ ư 3v3 đên 5v ̀ ́
  11. ­ Sau khi cấp nguồn, Led D1, D2 sẽ sáng. Ta gạt công tắc để Led D4 sáng, cấp  nguồnMSP430 ̣ ̣ *Tân dung nguôn 3V3 trên launch pad: ̀ ­ Nguồn 3V3 LaunchPad được cấp qua header J11, với dòng tối đa  khoảng 250mA. ­ Nguồn trên Launch Pad có thể lấy từ nhiều điểm, được đánh dấu  là VCC và GND (chú ý trạng thái của jumper VCC khi lấy nguồn). Thông  thường, ta giữ jumperVCC và lấy nguồn tự cụm header GND­GND­VCC phía  dưới kit. ­ Sau khi cấp nguồn vào J11, Led D3 sẽ sáng. Ta gạt công tắc để Led D4 sáng,  cấp nguôn cho MSP430 ̀ ­ Chú ý là khi mạch chỉ được cấp nguồn 3V3, các module dùng nguồn  5V (LCD, ..)se không hoat đông. ̃ ̣ ̣ ̣ ̣ *Tân dung nguôn 5V ̀ ­ LaunchPad có thiết kế lỗ TP1 (5V), TP3 (GND) để người dùng lấy  nguồn USB­5V từ máy tính khi cần thiết. Chúng ta có thể hàn thêm header để  lấy nguồn tại đây (chỉ cần hàn header vào TP1 là đủ, GND có thể lấy từ nhiều  vị trí khác TP3).
  12. ­ Nguồn USB­5V có dòng tối đa khoảng 500mA, đủ cho việc chạy LCD trên  mạch Main.Tuy nhiên, khi sử dụng nguồn này cần phải cẩn thận, tránh để chập  nguồn, ảnh hưởng đến hoạt động của máy tính.Đặc biệt chú ý phần vỏ ngoài  của đầu cắm USBmini được bắt dính với GND, không để cho header ở TP1  dính vào đây. ­ Chúng ta cấp nguồn 5V­USB này vào mạch Main ở header nguồn J2 (5V). Sau  khi cấp nguồn, Led D1, D2 sẽ sáng. Ta gạt công tắc để Led D4 sáng, cấp nguồn  cho MSP430. Phân 3: Th ̀ ực hanh trên kit: ̀ Code giao tiêp spi gi ́ ưa msp430g2553 va capacitive touch ̃ ̀ #include int count_default[5], count_edge[5], k; char touch[4], touch_rem[4], touch_count[4], j, i, key, speed = 1, mode = 0, proximity = 0, slider = 0; constchar sensivity = 30; //Threshold
  13. voidInit(void) { P1DIR |= 0xff; P1SEL &= ~(BIT2 + BIT3 + BIT4 + BIT5); // Pin-Osc: PxSEL.x = 0; PxSEL2.x = 1; P1OUT &= ~(BIT2 + BIT3 + BIT4 + BIT5); P2DIR = 0xff; P2OUT &= ~BIT6; P2SEL &= ~BIT6; // Pin-Osc: PxSEL.x = 0; PxSEL2.x = 1; //Config timer A TA0CTL = TASSEL_3+MC_2; // TACLK, cont mode TA0CCTL1 = CM_3+CCIS_3+CAP; // Pos&Neg,GND,Cap } voidGet_info(void) { P2SEL2 &= ~BIT6; //P2.6 -> Output P2OUT &= ~BIT6; //P2.6 -> Ground for (j = 0; j < 4; j++) { P1SEL2 &= ~(BIT2 + BIT3 + BIT4 + BIT5); P1SEL2 |= 0x04 P1.5 are output, Turn off Pin-Osc P1SEL2 &= ~(BIT2 + BIT3 + BIT4 + BIT5); P1DIR |= BIT0 + BIT2 + BIT3 + BIT4 + BIT5 + BIT6; P1OUT &= ~(BIT2 + BIT3 + BIT4 + BIT5); // Set P1.2 -> P1.5 = 0; P2SEL2 |= BIT6; TA0CTL |= TACLR; // Clear Timer_A TAR _delay_cycles(10000); TA0CCTL1 ^= CCIS0; // Create SW capture of CCR1 count_edge[4] = TACCR1; // Save result } voidmain(void) { WDTCTL = WDTPW + WDTHOLD; //Stop Watchdog Timer Init(); // touch_count[0]=1; for (i = 0; i < 10; i++) { Get_info();
  14. for (j = 0; j < 5; j++) count_default[j] = (count_default[j] + count_edge[j]) /2; } while (1) { Get_info(); for (i = 0; i < 4; i++) { touch_rem[i] = touch[i]; if ((count_edge[i] + sensivity) < count_default[i]) // { if (touch_count[i] > 0) touch_count[i]++; touch[i] = 1; } else { touch[i] = 0; touch_count[i] = 1; } if (touch_count[0] > 100) { touch_count[0] = 0; proximity = ++proximity % 2; P1OUT ^= BIT0; } if ((touch[i] != touch_rem[i]) && (touch[i] == 1)) { if (touch_rem[(i-1) % 4] == 1) slider =1; if (touch_rem[(i+1) % 4] == 1) slider = 2; switch (i) { case 0: break; case 1: speed++; if (speed > 10) speed = 10; break; case 2: mode = ++mode % 3; if (mode == 2) { P1OUT &= ~0x41; P1OUT |= BIT0; } break;
  15. case 3: speed--; if (speed < 1) speed = 1; break; } } } if (slider == 1) { P1OUT &= ~0x41; for (i = 0; i < 29; i++) { P1OUT ^= BIT0; _delay_cycles(100000); } } elseif (slider == 2) { P1OUT &= ~0x41; for (i = 0; i < 29; i++) { P1OUT ^= BIT6; _delay_cycles(100000); } } switch (proximity) { case 0: { switch (mode) { case 0: P1OUT &= ~BIT6; P1OUT |= BIT0; break; case 1: P1OUT &= ~BIT0; P1OUT |= BIT6; break; case 2: k = ++k % (3 * speed); if (k == 0) P1OUT ^= 0x41; break; } _delay_cycles(2000); } break; case 1: if (count_edge[4] > count_default[4]) count_default[4] = (count_default[4] + count_edge[4])/2; for (i = 0; i < 150; i++)
  16. { if (i < count_default[4] - count_edge[4] - 10) P1OUT |= BIT0 + BIT6; else P1OUT &= ~(BIT0 + BIT6); _delay_cycles(15); } break; } slider = 0; } }
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2