PHÁT TRIỂN THIẾT BỊ PHÂN LOẠI XE DỰA TRÊN CHIỀU CAO đặt tại CỔNG THU PHÍ

29 61 0
PHÁT TRIỂN THIẾT BỊ PHÂN LOẠI XE DỰA TRÊN CHIỀU CAO đặt tại CỔNG THU PHÍ

Đ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 nay trên hệ thống quốc lộ nước ta có 59 trạm thu phí các loại. Trong đó 42 trạm thu phí do cá Khi quản lý Đường Bộ trực thuộc cục đường bộ Việt Nam quản lý; 6 trạm do Cục ủy quyền cho các sở GTVTGTCC quản lý,2 trạm do UBND tỉnh quản lý và 9 trạm do các doanh nghiệp BOT quản lý. Một thực trạng hiện nay là ở các trạm thu phí hiện nay chưa có tiêu chuẩn chung về chiều cao của từng loại xe. Dẫn đến không kiểm soát được các loại xe thực tế và phát sinh nhiều tiêu cực. Vì vậy xác định,phát triển phân loại các loại xe dựa trên chiều cao của xe đặt tại các trạm thu phí là cơ sở cho việc xây dựng quy trình thu phí thuận tiện,an toàn và hiệu quả nhất cần phải được tiến hành.

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG ĐỀ TÀI: PHÁT TRIỂN THIẾT BỊ PHÂN LOẠI XE DỰA TRÊN CHIỀU CAO ĐẶT TẠI CỔNG THU PHÍ Giảng viên hướng dẫn : TS Nguyễn Tiến Dũng Sinh viên thực : Hoàng Đức Long Lớp : ĐTVT 2-K55 MSSV : 20101795 Hà Nội T5 Ngày Tháng Năm 2014 Mục Lục Trang I GIỚI THIỆU ĐỀ TÀI VÀ TÌM HIỂU VỀ MSP……………… page1 GIỚI THIỆU ĐỀ TÀI……………………………………… page1 TÌM HIỂU VỀ MSP……………………………………… page1 a TỔNG QUAN VỀ MSP………………………………… page1 b CÁC DÒNG MSP……………………………………… page4 II THIẾT KẾ ĐỀ TÀI…………………………………………… page5 TỔNG QUAN VỀ MSP 430G2553…………………………page5 a SƠ ĐỒ CHÂN……………………………………………page6 b CẤP NGUỒN CHO MẠCH…………………………… page8 TỔNG QUAN VỀ CẢM BIẾN SIÊU ÂM SRF05………… page10 a ĐẶC TÍNH KỸ THUẬT………………………………… page10 b CÁC CHẾ ĐỘ CHÂN CỦA SRF05…………………… page10 c HOẠT ĐỘNG PHÁT VÀ NHẬN PHẢN HỒI SÓNG ÂM CƠ BẢN CỦA SRF05……………………….page12 d MỘT SỐ ỨNG DỤNG CỦA SRF05 VÀ VI ĐIỀU KHIỂN…………………………………… page15 HIỂN THỊ LCD………………………………………………page16 III KẾT QUẢ……………………………………………………… page17 MẠCH IN…………………………………………………….page17 CODE LCD VỚI MSP……………………………………….page18 Code SRF05 với MSP……………………………………… page22 Giới thiệu đề tài tìm hiểu MSP Giới thiệu đề tài Hiện hệ thống quốc lộ nước ta có 59 trạm thu phí loại Trong 42 trạm thu phí cá Khi quản lý Đường Bộ trực thuộc cục đường Việt Nam quản lý; trạm Cục ủy quyền cho sở GTVT/GTCC quản lý,2 trạm UBND tỉnh quản lý trạm doanh nghiệp BOT quản lý Một thực trạng trạm thu phí chưa có tiêu chuẩn chung chiều cao loại xe Dẫn đến khơng kiểm sốt loại xe thực tế phát sinh nhiều tiêu cực Vì xác định,phát triển phân loại loại xe dựa chiều cao xe đặt trạm thu phí sở cho việc xây dựng quy trình thu phí thuận tiện,an tồn hiệu cần phải tiến hành Tìm hiểu MSP a Tổng qua MSP MSP 430 họ vi điều khiển cấu trúc RISC 16-bit sản xuất công ty Texas Instruments MSP chữ viết tắt “MIXED SIGNAL MICROCONTROLLER” Là dòng vi điều khiển siêu tiết kiệm 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 tính CPU đại tích hợp sẵn module ngoại vi Đặc biệt Chíp MSP 430 giải pháp thích hợp cho ứng dụng yêu cầu trộn tín hiệu I Page Những đặc tính dòng MSP 430 bao gồm: - Điện áp nguồn: 1.8V – 3.6 V - Mức tiêu thụ lượng cực thấp: * Chế độ hoạt động: 270 μA 1MHz, 2,2 V * Chế độ chờ: 0.7 μA * Chế độ tắt (RAM trì): 0.1 μA * Thời gian đánh thức từ chế độ Standby nhỏ 1μs - Cấu trúc RISC-16 bit, Thời gian chu kỳ lệnh 62.5 ns - Cấu hình module Clock bản: * Tần số nội lên tới 16 MHz với 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 * Điện trở bên - Timer_A 16 bit với ghi hình, ghi so sánh độ rộng 16 bit - Timer_B 16 bit với ghi hình, 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ìm tốc độ Baud * Bộ mã hóa giải mã IrDA (Infrared Data Associatio) * Chuẩn giao tiếp động SPI * Chuẩn giao tiếp I2C - Bộ chuyển đổi ADC 10 bit, 200 ksps với điện áp tham chiếu nội, Lấy mẫu chốt Tự động quét kênh, điều khiển chuyển đổi liệu - Hai khuếch đại thuật tốn (hoạt động) định cấu hình (Đối với MSP 430x22x4) - Bảo vệ sụt áp - Bộ nạp chương trình - Module mơ chip - Các thành viên dòng MSP 430 bao gồm: - MSP430F2232: 8KB + 256B Flash Memory 512B RAM - MSP430F2252: 16KB + 256B Flash Memory 512B RAM - MSP430F2272: 32KB + 256B Flash Memory 1KB RAM - MSP430F2234: 8KB + 256B Flash Memory 512B RAM - MSP430F2254: 16KB + 256B Flash Memory 512B RAM - MSP430F2274: 32KB + 256B Flash Memory 1KB RAM MSP430 sử dụng biết đến đặc biệt ứng dụng thiết bị đo có sử dụng khơng sử dụng LCD với chế độ nguồn nuôi thấp Với chế độ nguồn nuôi từ khoảng 1,8 đến 3,6v chế độ bảo vệ nguồn Với tiêu thụ dòng thấp chế độ tích cực dòng tiêu thụ 200uA, 1Mhz, 2.2v; với chế độ standby dòng tiêu thụ 0.7uA Và chế độ tắt trì nhớ Ram dòng tiêu thụ nhỏ 0.1uA Page MSP430 có ưu chế độ nguồn ni Thời gian chuyển chế độ từ chế độ standby sang chế độ tích cực nhỏ (< 6us) Và có tích hợp 96 kiểu hình cho hiển thị LCD 16 bit ghi, 16 bit RISC CPU Có đặc điểm họ nhà MSP MCU khơng có tín hiệu dao động ngoại, MSP tự động chuyển sang hoạt động chế độ dao động nội b Các dòng MSP MSP430 hệ chip, gọi 1xx, 2xx, 3xx, 4xx, 5xx Thường số xx lớn chức + chân cẳng nhiều MSP430x1xx Series o 1.8–3.6V o Tốc độ Flash/ROM: MIPS o Feature Fast Wake-Up From Standby Mode in _bit.b2 #define DATA_7 P2_out->_bit.b3 #define line_1          0x80 #define line_2          0xC0 #define clr_scr         0x01 //********************delay******************** **** #define RS     P2_out->_bit.b4     //0-void delay(unsigned long int t); >thanh ghi lenh lenh;1 >thanh ghi data #define EN     P2_out//********************LCD Funtion************** >_bit.b5     //phan biet giua 2lan gui data ********* #define DATA_4 P2_out->_bit.b0 //********************tao xung***************** #define DATA_5 P2_out->_bit.b1 ************************** #define DATA_6 P2_out->_bit.b2 void enable(); #define DATA_7 P2_out->_bit.b3 #define line_1          0x80 //**********convert data-#define line_2          0xC0 >send to Pin of microcontrol******************* #define clr_scr         0x01 ********* //********************delay******************** void set_data_lsb(unsigned char data);  //ham g **** ui byte data thap void delay(unsigned long int t); //********************LCD Funtion************** ********* void set_data_msb(unsigned char data);  //ham g //********************tao xung***************** ui byte data cao ************************** void enable(); //************************HAM GUI LENH********* //**********convert data-********************************* >send to Pin of microcontrol******************* void put_cmd(unsigned char cmd); ********* void set_data_lsb(unsigned char data);  //ham g //**************************ham gui data******* ui byte data thap ****************************** void set_data_msb(unsigned char data);  //ham g void lcd_putchar(unsigned char data); ui byte data cao //************************HAM GUI LENH********* void lcd_putsf(uchar *s); ********************************* void put_cmd(unsigned char cmd); //****************HTLCD************************ ************************ //**************************ham gui data******* ****************************** //****************************ham khoi tao lcd* void lcd_putchar(unsigned char data); ************************ void lcd_putsf(uchar *s); void lcd_init(); //****************HTLCD************************ //********************************************* ************************ ***   //****************************ham khoi tao lcd* ************************ void lcd_init(); //********************************************* Page 18 ***   File LCD.c PHP Code: #include #include "TVLCD.h" //********************delay********************* *** void delay(unsigned long int t) {   unsigned long int i=0;   for(i=0;isend to Pin of microcontrol******************** ******** void set_data_lsb(unsigned char data)  //ham gui  byte data thap {   unsigned char convert=0;   convert=data&0x01;   if(convert==0x01)DATA_4=1;      else DATA_4=0;   convert=data&0x02;   if(convert==0x02)DATA_5=1;      else DATA_5=0;   convert=data&0x04;   if(convert==0x04)DATA_6=1; else DATA_6=0;   convert=data&0x08;   if(convert==0x08)DATA_7=1;      else DATA_7=0; } void set_data_msb(unsigned char data)  //ham gui  byte data cao Page 19 {   unsigned char convert=0;   convert=data&0x10;      else DATA_4=0;   convert=data&0x20;   if(convert==0x20)DATA_5=1;      else DATA_5=0;   convert=data&0x40;   if(convert==0x40)DATA_6=1;      else DATA_6=0;   convert=data&0x80;   if(convert==0x80)DATA_7=1;      else DATA_7=0; } //************************HAM GUI LENH************************** **************** void put_cmd(unsigned char cmd) {   convert=data&0x10;   RS=0;  //chon thanh ghi lenh   set_data_msb(cmd);   if(convert==0x10)DATA_4=1;   enable();      else DATA_4=0;   set_data_lsb(cmd);   convert=data&0x20;   enable();      if(convert==0x20)DATA_5=1; }      else DATA_5=0; //**************************ham gui data************************   convert=data&0x40; ************* void lcd_putchar(unsigned char data)   if(convert==0x40)DATA_6=1; {      else DATA_6=0;   RS=1;   convert=data&0x80;   set_data_msb(data);   enable();   if(convert==0x80)DATA_7=1;   set_data_lsb(data);      else DATA_7=0;   enable(); } } void put_cmd(unsigned char cmd) { void lcd_putsf(uchar *s)   RS=0;  //chon thanh ghi lenh {   while(*s)    set_data_msb(cmd);   {   enable();     lcd_putchar(*s);   set_data_lsb(cmd);     s++;   };   enable(); }   } void lcd_putchar(unsigned char data) //****************HTLCD***************************************** { *******   RS=1; //****************************ham khoi tao lcd******************   set_data_msb(data); ******* void lcd_init()   enable(); {   set_data_lsb(data);   delay(100);   enable();   RS=0;              // che do gui lenh }   set_data_lsb(0x03);   enable(); void lcd_putsf(uchar *s)   enable(); {   enable();   set_data_lsb(0x02);   while(*s)    enable();   {    put_cmd ( 0x28 );    //cd 4bit,2dong,5x7     lcd_putchar(*s);     put_cmd ( 0x0C);     //bat hien thi,tat con tro     put_cmd ( 0x06 );    //* entry mode set, increment & scroll      s++; left   };     put_cmd ( 0x01 );    //* clear display } } //************************************************ void lcd_init() {   delay(100);   RS=0;              // che do gui lenh   set_data_lsb(0x03);   enable();   enable();   enable(); Page 20   set_data_lsb(0x02);   enable();          put_cmd ( 0x01 );    //* clear display //********************************************** ** #include put_cmd ( 0x28 );    //cd 4bit,2dong,5x7 #include     put_cmd ( 0x0C);     //bat hien thi,tat con tro ////////////////Defines////////////////     put_cmd ( 0x06 );    //* entry mode set, incremen #define LED1 BIT6 t & scroll left #define LED0 BIT0     put_cmd ( 0x01 );    //* clear display } #define DAT BIT0 //P2.0 //input signal port } #define VCC BIT5 //P1.5 #define GND BIT4 //P1.4 //************************************************ #define KICH BIT1 char charbuffer[8]; int i=0; int j=0; c Code SRF05 với hiển thị hìnharray thay cho LCD) unsigned intMSP(kết capture_array[51]; // RAM for captures int tick=0; int cap=0; int pre_cap=0; int first_pulse=0; ////////////////Function Protos//////////////// void TX(char *tx_message); void DO_KHOANG_CACH(void); static char *i2a(unsigned i, char *a, unsigned r); char *itoa(int i, char *a, int r); static char *i2a(unsigned i, char *a, unsigned r) { if (i/r > 0) a = i2a(i/r,a,r); *a = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"[i %r]; Page 21 return a+1; } char *itoa(int i, char *a, int r) { if ((r < 2) || (r > 36)) r = 10; if (i < 0) { *a = '-'; *i2a(-(unsigned)i,a+1,r) = 0; } else *i2a(i,a,r) = 0; return a; } void TX(char *tx_message) { unsigned int i=0; //Define end of string loop int char *message; // message variable unsigned int message_num; // define ascii int version variable message = tx_message; // move tx_message into message while(1) { if(message[i]==0) // If end of input string is reached, break loop {break;} message_num = (int)message[i]; //Cast string char into a int variable UCA0TXBUF = message_num; // write INT to TX buffer i++; // increase string index delay_cycles(10000); //transmission delay if(i>50) //prevent infinite transmit { // P1OUT |= (LED1+LED0); break; } } // End TX Main While Loop } // End TX Function int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer //setup clock to 1MHZ BCSCTL1 = CALBC1_1MHZ; // Set DCO to 1MHz DCOCTL = CALDCO_1MHZ; Page 22 ////////////////USCI setup//////////////// P1SEL = BIT1 + BIT2; // Set P1.1 to RXD and P1.2 to TXD P1SEL2 = BIT1 + BIT2; // UCA0CTL1 |= UCSSEL_2; // Have USCI use SMCLK AKA 1MHz main CLK UCA0BR0 = 104; // Baud: 9600, N= CLK/Baud, N= 10^6 / 9600 UCA0BR1 = 0; // Set upper half of baud select to UCA0MCTL = UCBRS_1; // Modulation UCBRSx = UCA0CTL1 &= ~UCSWRST; // Start USCI ////////////////General GPIO Defines//////////////// P1DIR |= (LED0 + LED1+GND+VCC); //define output ports P1OUT &= ~(LED0 + LED1+GND); //turn ports low P2DIR |= KICH; P2IE |= DAT; P2IFG &= ~DAT; P2SEL = DAT; // Set P2.0 to TA0 /////////////////SETUP TIMER TA1CCTL0 = CM_3 + SCS + CCIS_0 + CAP + CCIE; // falling edge + CCI0A (P2.0)// + Capture Mode + Interrupt TA1CTL = TASSEL_2 + MC_2; // SMCLK + Continuous Mode enable_interrupt(); while(1) { delay_cycles(100000); DO_KHOANG_CACH(); } } // Timer1 interrupt service routine #pragma vector=TIMER1_A0_VECTOR interrupt void TIMER1(void) { if ( (first_pulse==0) & (DAT == 1) ) { P1OUT |= LED1; pre_cap=TA1CCR0; first_pulse=1; } else { P1OUT &= ~LED1; Page 23tick = TA1CCR0; cap = (tick- pre_cap)/58; first_pulse =0; TA1CCR0=0; itoa(cap, charbuffer, 10); TX(charbuffer); TX("\r\n"); } } void DO_KHOANG_CACH(void) { P2OUT |= KICH; delay_cycles(20); P2OUT &= ~KICH; }  Kết nối MSP430G2553 với SRF 05 Page 24  Sau kết nối đổ code xuống MSP,tín hiệu đưa hình phần mềm PUTTY  Chương trình sử dụng Timer1 chế độ Capture để bắt xung từ chân P2.0 Cứ 100ms chương trình phát xung (20us) chân P1.1 để kích cho SRF05 hoạt động SRF05 trả giá trị đo chân P2.0.Giá trị đo chia cho 58 để khoảng cách tính centimet Sau giá trị gửi lên máy tính  Kết thực nghiệm: Page 25 Page 26 ... trạm thu phí chưa có tiêu chuẩn chung chiều cao loại xe Dẫn đến không kiểm soát loại xe thực tế phát sinh nhiều tiêu cực Vì xác định ,phát triển phân loại loại xe dựa chiều cao xe đặt trạm thu phí. .. chiếu chiều cho cảm biến nhận Vùng phát SRF05 :  Nếu ngưỡng để phát đối tượng đặt gần với cảm biến, đối tượng đường bị va chạm điểm mù Nếu ngưỡng đặt khoảng cách lớn từ cảm biến đối tượng phát. .. MSP Giới thiệu đề tài Hiện hệ thống quốc lộ nước ta có 59 trạm thu phí loại Trong 42 trạm thu phí cá Khi quản lý Đường Bộ trực thu c cục đường Việt Nam quản lý; trạm Cục ủy quyền cho sở GTVT/GTCC

Ngày đăng: 22/10/2018, 21:51

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

  • Đang cập nhật ...

Tài liệu liên quan