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.
Trang 1BỘ 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
Trang 2Mục Lục
2 TỔNG QUAN VỀ CẢM BIẾN SIÊU ÂM SRF05………… page10
Trang 4I Giới thiệu đề tài và tìm hiểu về MSP
1 Giới thiệu đề tài
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ở GTVT/GTCC 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
Trang 5Nhữ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ìm tố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.
- Bộ chuyển đổi ADC 10 bit, 200 ksps với điện áp tham chiếu nội, Lấy mẫ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ới MSP 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:
- 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 đượ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,
Trang 6MSP430 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ỏ (< 6us) Và có tích hợp 96 kiểu hình cho hiển thị LCD 16 bit thanh ghi, 16 bit RISC CPU.
Có một đặc điểm của họ nhà MSP là khi MCU không có tín hiệu dao động ngoại, thì MSP sẽ tự động chuyển sang hoạt động ở chế độ dao động nội.
b Các dòng của MSP
MSP430 có 5 thế hệ chip, được gọi là 1xx, 2xx, 3xx, 4xx, 5xx Thường là mấy
số xx càng lớn thì chức năng + chân cẳng càng nhiều.
o GPIO Options: 14, 22, 48 pins
o ADC Options: Slope, 10 & 12-bit SAR
o Other Integrated peripherals: Analog Comparator, DMA, Hardware Multiplier, SVS, 12-bit DAC
MSP430F2xx Series
Series 2xx cũng tương tự như 1xx nhưng tiêu thụ năng lượng ít hơn, tốc độ có thể lên tới 16MHz, đồng hồ on-chip có độ chính xác cao hơn (±2%) nên có thể hoạt động mà không cần thạch anh gắn ngoài.
o 1.8–3.6 V
o Tốc độ Flash/ROM: 16 MIPS
o Có tích hợp điện trở kéo lên/kéo xuống (pull-up/pull-down)
o Ultra-Fast Wake-Up From Standby Mode in <1 μs
o Device Parameters
o Flash Options: 1–120 KB
o RAM Options: 128 B–8 KB
o GPIO Options: 10, 16, 24, 32, 48, 64 pins
o ADC Options: Slope, 10 & 12-bit SAR, 16-bit Sigma Delta
o Other Integrated peripherals: Analog Comparator, Hardware Multiplier, DMA, SVS, 12-bit DAC, Op Amps
MSP430G2xx Series
Tương tự F2xx, chức năng ít hơn và giá thấp hơn:
o Flash Options: 0.5–16 KB
o RAM Options: 128–512 B
Trang 7o ADC Options: Slope, 10-bit SAR
o Other Integrated peripherals: Analog Comparator
MSP430x3xx Series
Đây là thế hệ lâu đời nhất (già cả nhất) của dòng MSP430, tích hợp LCD
controller Không hỗ trợ EEPROM.
o Feature Fast Wake-Up From Standby Mode in <6 μs
o 2.5–5.5 V
o ROM Options: 2–32 KB
o RAM Options: 512 B–1 KB
o GPIO Options: 14, 40 pins
o ADC Options: Slope, 14-bit SAR
o Other Integrated peripherals: LCD controller, Hardware Multiplier
o GPIO Options: 14, 32, 48, 56, 68, 72, 80 pins
o ADC Options: Slope, 10 &12-bit SAR, 16-bit Sigma Delta
o LCD Controller, Analog Comparator, 12-bit DAC, DMA, Hardware
Multiplier, Op Amp, USCI Modules.
MSP430x5xx Series
Tốc độ lên tới 25 MHz Đây là dòng có mức tiêu thụ năng lượng thấp nhất trong
họ MSP430, được tích hợp Module Giám sát Năng lượng (Power Management Module) để tối ưu điện năng tiêu thụ Một số chip tích hợp USB.
o Fast Wake-Up From Standby Mode in <5 μs
o 1.8-3.6V
o Flash Options: up to 256 KB
o RAM Options: up to 16 KB
o ADC Options: 10 & 12-bit SAR
o USB, Analog Comparator, DMA, Hardware Multiplier, RTC, USCI, 12-bit DAC
Trang 8II Thiết kế đề tài.
1 TỔNG QUAN VỀ MSP430G2553.
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 USB mini để nối vớimáy tính, phía dưới là hàng Header để nối ra đối tượng cần giao tiếp, bao gồmcá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 3.3V cho đối tượng (thường là nửa dưới LaunchPad)
Trang 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ạchanh, 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 headernguồn GND-GND-VCC để lấy nguồn 3.3V trên LaunchPad
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)
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
Ngoài chức năng I/O thì trên mỗi pin của các port đều là những chân đa chức năng, ta thể thấy rõ trong bảng sau :
Trang 11b Cấp nguồn cho mạch main.
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 ngoài vào mạch 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òngtiê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
Trang 12có 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ồnJ2 (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 áp cấp là gần 5V hay 3V3
- Sau khi cấp nguồn, Led D1, D2 sẽ sáng Ta gạt công tắc để Led D4 sáng, cấpnguồn cho MSP430
Tận dụng nguồn 3.3V trên LauchPad:
- 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ữ jumper VCC và lấy nguồn tự cụm header GND-GND-VCC phía
Tận dụng cọc nguồn 5V trên Lauchpad:
- LaunchPad có thiết kế lỗ TP1 (5V), TP3 (GND) để người dùng lấy nguồn 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
USB-đây (chỉ cần hàn header vào TP1 là đủ, GND có thể lấy từ nhiều vị trí khácTP3)
- 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ậpnguồn, ảnh hưởng đến hoạt động của máy tính Đặc biệt chú ý phần vỏ ngoàicủa đầu cắm USBmini được bắt dính với GND, không để cho header ở TP1 dínhvào đây
- Chúng ta cấp nguồn 5V-USB này vào mạch Main ở header nguồn J2 (5V) Saukhi cấp nguồn, Led D1, D2 sẽ sáng Ta gạt công tắc để Led D4 sáng, cấp nguồncho MSP430
2 Tổng quang về SRF 05
a Đặc tính kỹ thuật.
Trang 13SRF05 là một bước phát triển từ SRF04, được thiết kế làm tăng tính linh hoạt,tăng phạm vi, ngoài ra còn giảm bớt chi phí SRF05 là hoàn toàn tương thích vớiSRF04 Khoảng cách được tăng từ 3 – 4m.
SRF05 cho phép sử dụng một chân duy nhất cho cả kích hoạt và phản hồi, do
đó tiết kiệm giá trị trên chân điều khiển Khi chân chế độ không kết nối, thì SRF05hoạt động riêng biệt chân kích hoạt và chân hồi tiếp, như SRF04 SRF05 bao gồmmột thời gian trễ trước khi xung phản hồi để mang lại điều khiển chậm hơn hẳnnhư bộ điều khiển thời gian cơ bản Stamps và Picaxe để thực hiện các xung lệnh
b.Các chế độ của SRF05.
Chế đô 1: tách biệt kích hoạt và phản hồi.
Chế độ này sử dụng riêng biệt chân kích hoạt và chân phản hồi, và là chế
độ đơn giản nhất để sử dụng Tất cả các chương trình điển hình cho SRF04 sẽlàm việc cho SRF05 ở chế độ này Để sử dụng chế độ này, chỉ cần chân chế
độ không kết nối – SRF05 có một nội dừng trên chân này
Trang 14 Chế độ 2: Dùng một chân cho cả kích hoạt và phản hồi.
Chế độ này sử dụng một chân duy nhất cho cả tín hiệu kích hoạt và hồitiếp, và được thiết kế để lưu các giá trị trên chân lên bộ điều khiển nhúng Để
sử dụng chế độ này, chân chế độ kết nối vào chân mass Tín hiệu hồi tiếp sẽxuất hiện trên cùng một chân với tín hiệu kích hoạt SRF05 sẽ không tăngdòng phản hồi cho đến 700uS sau khi kết thúc các tín hiệu kích hoạt
Để sử dụng chế độ 2 với các Stamps BS2 cơ bản, ta chỉ cần sử dụngPULSOUT và PULSIN trên cùng 1 chân, như sau:
SRF05 PIN 15: sử dụng pin cho cả hai và kích hoạt echo
Range VAR Word: xác định phạm vi biến 16 bit
SRF05 = 0: bắt đầu bằng PIN thấp
PULSOUT SRF05, 5: đưa ra kích hoạt pulse 10uS (5x2uS)
Trang 15 Range = Range/29: để chuyển đổi sang cm (chia 74 cho inch).
c.Hoạt động phát và nhận phản hồi sóng âm cơ bản của SRF05.
Nguyên tắc cơ bản của sonar: là tạo ra một xung âm thanh điện tử và sau đó
lắng nghe tiếng vọng tạo ra khi các làn sóng âm thanh số truy cập một đối tượng
và được phản xạ trở lại Để tính thời gian cho phản hồi trở về, một ước tính chínhxác có thể được làm bằng khoảng cách tới đối tượng Xung âm thanh tạo ra bởiSRF05 là siêu âm, nghĩa là nó ở trên phạm vi nhận xét của con người Trong khitần số thấp hơn có thể được sử dụng trong các loại ứng dụng, tần số cao hơn thựchiện tốt hơn cho phạm vi ngắn, nhu cầu độ chính xác cao
Một số đặc điểm khác của cảm biến siêu âm SRF05:
Mức độ của sóng âm hồi tiếp phụ thuộc vào cấu tạo của đối tượng và góc phản
xạ của nó
Trang 16Một đối tượng mềm có thể cho ra tín hiệu phản hồi yếu hoặc không có phảnhồi Một đối tượng ở một góc cân đối thì mới có thể chuyển thành tín hiệu phảnchiếu một chiều cho cảm biến nhận.
Vùng phát hiện của SRF05 :
Nếu ngưỡng để phát hiện đối tượng được đặt quá gần với cảm biến, các đốitượng trên một đường có thể bị va chạm tại một điểm mù Nếu ngưỡng nàyđược đặt ở một khoảng cách quá lớn từ các cảm biến thì đối tượng sẽ được pháthiện mà không phải là trên một đường va chạm
Một kỹ thuật phổ biến để làm giảm các điểm mù và đạt được phát hiện chiềurộng lớn hơn cự ly gần là thêm một cải tiến bằng cách thêm một đơn vị SRF05
bổ sung và gắn kết của hai đơn vị hướng về phía trước Thiết lập như vậy thì cómột khu vực mà hai khu vực phát hiện chồng chéo lên nhau
Trang 17d.Một số ứng dụng của SRF05 và bộ vi điều khiển.
Chế độ 1 hoạt động:
Trong sơ đồ sau đây, hai kỹ thuật số I/O pins của một BrainStem GP 2,0được cấu hình để xử lý các ECHO và dòng Init của SRF05 module khác nhau.Pin ECHO là dây dẫn đến cổng số pin GP 1 Đây là dòng mà sẽ nhận được giátrị được đo bằng SRF05 Các pin ECHO phải có khả năng sử dụng các đầu vào
Trang 18là dây vào các chân lỹ thuật số GP 0, pin này sẽ gửi một xung 10uS để bắt đầu
vỡ âm, mạch được hỗ trợ bởi một 6C Battery Pack
Trang 20{ //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
Trang 21{ //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
Trang 22convert = data & 0x40 ;
if( convert == 0x40 ) DATA_6 = ;
else DATA_6 = ;
convert = data & 0x80 ;
if( convert == 0x80 ) DATA_7 = ;
Trang 23convert = data & 0x40 ;
if( convert == 0x40 ) DATA_6 = ;
else DATA_6 = ;
convert = data & 0x80 ;
if( convert == 0x80 ) DATA_7 = ;
Trang 24c Code SRF05 với MSP(kết quả hiển thị ra màn hình thay cho LCD)
#include <msp430g2553.h>
#include <stdbool.h>
////////////////Defines////////////////
#define LED1 BIT6
#define LED0 BIT0
#define DAT BIT0 //P2.0 //input signal port
char *itoa(int i, char *a, int r);
static char *i2a(unsigned i, char *a, unsigned
Trang 25char *itoa(int i, char *a, int r)
char *message; // message variable
unsigned int message_num; // define ascii int version variable
message = tx_message; // move tx_message into message
i++; // increase string index
delay_cycles(10000); //transmission delayif(i>50) //prevent infinite transmit
Trang 26P1SEL2 = 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
0
UCA0MCTL = UCBRS_1; // Modulation UCBRSx = 1
UCA0CTL1 &= ~UCSWRST; // Start USCI
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
Trang 27 Kết nối MSP430G2553 với SRF 05
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;
}
Trang 28 Sau khi kết nối và đổ code xuống MSP,tín hiệu được đưa ra màn hình bởi phần mềm PUTTY
Chương trình sử dụng Timer1 ở chế độ Capture để bắt xung từ chân P2.0.
Cứ mỗi 100ms chương trình sẽ phát xung (20us) ra chân P1.1 để kích cho SRF05 hoạt động SRF05 trả về giá trị đo được ở chân P2.0.Giá trị đo được sẽ được chia cho 58 để ra khoảng cách tính bằng centimet Sau đó giá trị được gửi lên máy tính.
Kết quả thực nghiệm: