Các packer truyền trên các tần số khác nhau

Một phần của tài liệu Đồ án xe lăn thông minh (Trang 52)

Việc truyền nhận sử dụng các khe thời gian. Chiều dài 1 khe thời gian thơng thường là 625µs. Một packet thường nằm trong khe đơn, nhưng cũng có thể mở rộng ra 3 hay 5 khe, yêu cầu tần số phải khơng đổi cho đến khi tồn bộ packet gửi xong.

Sử dụng packet đa khe, tốc độ truyền dữ liệu cao hơn nhờ phần header của mỗi packet chỉ địi hỏi 1 lần 220µs. có thể hiểu ngắn gọn là thời gian truyền 3 packets đơn khe sẽ lớn hơn thời gian truyền 1 packet 3 khe. Bù lại, trong mơi trường có nhiều tín hiệu truyền, các packet dài chiếm nhiều timeslot dễ bị nhiều hơn do đo dễ bị mất hơn. Mỗi packet chứa 3 phần: Access Code, Header, Payload. Kích thước của access code và header là cố định.

Access Code: Gồm 72bits, dùng trong việc đồng bộ dữ liệu, định danh, báo hiệu.

Header:

Hình 3.25: Cấu tạo của packet

Trong header có 54 bits:

52

+ 4 bits tiếp theo cho biết loại packet. + 1 bits điều khiển luồng.

+ 1 bits ARQ: cho biết packet là Broadcast khơng có ACK. + 1 bits Sequencing: lọc bỏ những packet trùng do truyền lại.

+ 8 bits HEC: kiểm tra tính tồn vẹn của header. Tổng cộng có 18bits, các bit đó được mã hóa với 1/3 FEC (Forward Error Correction ) để có được 54 bits.

PayLoad : phần chứa dữ liệu truyền đi, có thể thay đổi từ 0 tới

2744bit/packet. Payload có thể là dữ liệu data hoặc voice.

3.3.9 Module Bluetooth HC - 06

3.3.9.1 Giới thiệu về Module Bluetooth HC – 06

Hình 3.26: Module Bluetooth HC-06

Module Bluetooth HC-06 được thiết kế đễ sử dụng giao giao tiếp Bluetooth qua Serial Port, truyền dữ liệu nối tiếp qua wireless.

Đặc điểm kỹ thuật:

- Chuẩn Bluetooth: V2.0+EDR. - Điện áp hoạt động: 3,3VDC/ 30mA.

53

- Kích thước 28mm x 15mm x 2.35mm - Tần số: 2.4GHz ISM band. - Tốc độ: Asynchronous: 2.1 Mbs (Max)/160kbps Synchronous: Mbps/1Mbps.

- Bảo mật: Authentication and encryption. - Giao tiếp: Bluetooth serial port.

- Baud Rate mặc định: 38400, databits: 8, Stopbit: 1, Parity : No. Hỗ trợ tốc độ baud: 9600, 19200, 38400, 57600, 115200, 230400, 46080.

- Nhiệt độ làm việc: -20 ~ 75 độ C - Độ nhạy: -80dBm.

- Công suất truyền: +4dBm - Tự động kết nối với pincode mặc định “1234”. - Tự động reconnect trong 30 phút nếu bị đứt kết nối Module có 2 chế độ làm việc ( có thể chọn chế độ làm việc bằng cahcs thay đổ trạng thái chân KEY-34).

- Tự động kết nối.

- Đáp ứng theo lệnh: khi làm việc ở chế độ này, chúng ta có thể gửi các lệnh AT để giao tiếp với module Gaio tiếp với module bằng giao tiếp nối tiếp không đồng bộ qua hai đường RX và TX Bằng cách thay đổ trạng thái chân KEY chúng ta có thể cấu hình chế độ hoạt động cho Module.

- Để module làm việc ở chế độ tự động kết nối: KEY phải ở trạng thái Floating (trạng thái không kết nối).

- Để module làm việc ở chế độ đáp ứng theo lệnh: KEY= ’0’, cấp nguồn cho module, chuyển KEY= ‘1’, lúc này có thể giao tiếp với modul bằng tập lệnh AT Ở chế độ SLAVE: chúng ta cần thiết lập kết nối từ smartphone, laptop, usb bluetooth để dị tìm module và ghép nối với pincode mặc định ‘’1234’’.

Module tương thích với các vi diều khiển 5V mà khơng cần chuyển đổ mức giao tiếp 5V về 3.3V như nhiều loại module khác.

54

3.3.9.2 Đặc tả phần cứng

Module Bluetooth HC-06 được thiết kế để chuyển đổi giao tiếp nối tiếp không đồng bộ và thành giao tiếp không dây Bluetooth và ngược lại

55

Tên Chân STT

Chân Loại Chân Mô Tả Chân

GND 13,

21,22 VSS Chân nối đất

3.3v VCC 12 Chân 3,3v Chân nguồn

AIO0 9 2 Hướng Lập trình I/O

AIO1 10 2 Hướng Lập trình I/O

PIO0 23 2 Hướng RX EN

Lập trình I/O, điều khiển output cho LNA nếu được trang

bị.

PIO1 24 2 Hướng RT EN

Lập trình I/O, điều khiển LA nếu được

trang bị.

PIO2 25 2 Hướng Lập trình I/O

PIO3 26 2 Hướng Lập trình I/O

PIO4 27 2 Hướng Lập trình I/O

PIO5 28 2 Hướng Lập trình I/O

PIO6 29 2 Hướng Lập trình I/O

PIO7 30 2 Hướng Lập trình I/O

PIO8 31 2 Hướng Lập trình I/O

PIO9 32 2 Hướng Lập trình I/O

56

PIO11 34 2 Hướng Lập trình I/O

ResetB 11 Cmos input with weak

internal pull-up Reset nếu LOW

UART_RST 4 Cmos output, tri-stable with weak internal pullup.

UART yêu cầu khi gửi, hoạt động LOW.

UART_CTS 3 Cmos input with weak

internal pull-down.

UART xóa khi gửi, hoạt động LOW.

UART_RX 2 Cmos input with weak

internal pull-down Dữ liệu vào UART

UART_TX 1 Cmos output, tri-stable with

weak internal pullup. Dữ liệu ra UART

SPI_MOSI 17 Cmos input with weak

internal pull-down

Serial peripheral interface data input

SPI_CSB 16 Cmos input with weak

internal pull-up.

Chip select for serial peripheral interface,

active low.

SPI_CLK 19 Cmos input with weak

internal pull-down.

Serial peripheral interface clock.

SPI_MISO 18 Cmos input with weak

internal pull-down.

Serial peripheral interface data output

USB - 15 2 Hướng

USB + 20 2 Hướng

57

PCM_CLK 5 2 Hướng Synchronous PCM

data clock

PCM_OUT 6 Cmos output Synchronous PCM

data output

PCM_IN 7 Cmos input Synchronous PCM

data input

PCM_SYNC 8 2 Hướng Synchronous PCM

data strobe

Tập Lệnh AT cho Moduel Bluetooth HC – 06

Lệnh Trả Về Tham Số Chức Năng

AT OK None Test

AT+RESET OK None Reset

AT+VERSION? +VERSION: <Param> OK

Version number

Kiểm tra phiên bản

AT+ORGL OK None Khôi phục trạng

thái mặc định

AT+ADDR? +ADDR:<Param> OK Bluetooth

address

Địa chỉ Bluetooth

AT+NAME=<param> OK Đặt tên cho

module AT+NAME? 1. +NAME:<Param > OK---success 2. FAIL---failure Bluetooth device name Tên thiết bị (mặc định:HC- 06) AT+RNAME?<param 1> 1. +NAME:<Param 2> OK---success 2. FAIL- --failur Tên thiết bị

58 AT+ROLE? +ROLE:<Param> OK 0---Slave role 1---Master role 2---Slaver- Loop role Truy vấn chức năng modul Mặc định :0

AT+PSWD=<param> OK Pincode Đặt mã Pin Mặc

định:”1234”

AT+PSWD? +PSWD:<Param> Pincode Truy vấn mã

PIN

AT+UART=<Param>,

<Param2>,<Param3> OK

Param1: Baud rate Param2: stop bit Param:

parity bit Cấu hình cho cổg UART AT+UART? UART=<Param>,<Para m2>,<Param3> OK Param1: Baud rate Param2: stop bit Param:

parity bit

Truy vấn thông tin cổg UART

59

CHƯƠNG 4: QUY TRÌNH THIẾT KẾ 4.1 Chọn thiết bị:

_ Xe lăn dùng người khuyết tật

_ Động cơ xe đạp điện: động cơ 3 pha vận tốc 20-30km/h

_ Bình ắc quy và bộ sạc cho động cơ xe đạp điện (12v-12a) và (12v-14a) _ Bộ kết nối Bluetooth và điều khiển Bluetooth

_ Bộ thắng

_ Bộ báo động bằng âm thanh _ Bộ trục xoay cân bằng

4.2 Thông số kĩ thuật thiết bị

Kĩ thuật Số

Cường độ dòng điện bộ điều khiển 50A

Khí áp sâm xe 2KGF/M2

Bình ắc quy 24V 12AH

Quãng đường hành trình 10-20 km

Blutooth quay lùi xe có

Động cơ DC250*2PCS Độ cao chỗ tựa 445MM Độ cao chỗ để tay 210MM Độ rộng chỗ ngồi 510MM Độ sâu chỗ ngồi 450MM Độ cao chỗ ngồi 480MM Cự ly phanh thắng an toàn ≤1.5M Bán kính xoay xe ≤1.2M

Tính ổn định khi duy chuyển ≥6°

Nguồn điện DC220V 50H 5A

Tốc độ xe 0-6KM

Tải trọng an toàn ≤100KG

Tính ỏn định khi xe khơng di chuyển ≥9°

Đường kính bánh rước 25CM

Dường kính bánh sau 61CM

Trọng lượng tịnh 48KG

Trọng lượng 51KG

60

4.3 Thiết bị bên ngồi:

Hình 4.1:hình mơ phỏng thiết kế xe lăn

Hình 4.2: tổng qua phía bên xe lăn

61

4.4 Tổng quan bên trong, lập trình code:

Cấu tạo của động cơ xe đạp điện:

Động cơ của xe đạp điện được thiết kế khép kín có khả năng chống nước cao. Vị trí đặt động cơ thường là bánh sau của xe, động cơ liền khối với vành xe. Động cơ xe đạp điện được thiết kế gồm 2 phần là vỏ và lõi. Vỏ động cơ là phần bên ngoài giúp bảo vệ động cơ chống lại các tác nhân gây hại, bên trong có nam châm để giúp động cơ quay khi có dịng điện đi qua lõi động cơ.Lõi động cơ được cuốn bằng các cuộn dây đồng, có trục động cơ và các mắt động cơ. Động cơ xe đạp điện thường là 3 pha và phân biệt là loại có chổi than và khơng có chổi than. Động cơ, motor lắp bánh sau 24v /36v; cho tốc độ từ 27- 30km/h.

Hình 4.4: động cơ xe đạp điện gắn vào e lăn • Bình ắc quy xe đạp điện:

Ắc quy xe đạp điện: (12v-12a) và (12v-14a)

Ắc quy nhỏ được dùng chủ yếu là cho các dịng xe đạp điện cơng suất dưới 500W như: Ninja, Honda A6, Giant M133, Yamaha icat, Vnbike và các dịng xe đạp điện khác... Thơng thường ắc quy nhỏ gồm có 3 cách mắc thơng dụng như sau:

Cách 1: mắc nối tiếp 2 bình với nhau: (24v-12a) và (24v-14a) Dùng để bắt cho các loại xe dưới 250W.

Cách 2: mắc nối tiếp 3 bình với nhau: (36v - 12a) và (36v-14a) Dùng để bắt cho các loại xe từ 250W-350W.

Cách 3: mắc nối tiếp 4 bình với nhau: (48v - 12a) và (48v-14a) Dùng để bắt cho các loại xe từ 350W - 500W.

62

Hình 4.5: hình bình ắc quy thực tế Chú ý: Chú ý:

1. So sánh giữa bình ắc quy 14a và 12a:

+ Bình ắc quy 14a có tuổi thọ cao hơn bình ắc quy 12a do mỗi lần sạc bình 14a sẽ tích đựơc nhiều lượng điện hơn.

+ Bình ắc quy 14a có gia thành cao hơn bình ắc quy 12a.

+ Bình ắc quy 14a giúp cho xe có thể chạy được nhanh hơn, khỏe hơn, xa hơn so với bình 12a.

+ Bình ắc quy 14a sạc lâu đầy hơn bình 12a nếu dùng chung 1 loại sạc.

2. Trong 3 cách mắc nói trên thì cách mắc 4 bình nối tiếp vơi nhau là thơng dụng nhất và được sử dụng nhiều nhất vì cách bắt này giúp cho khách hàng tiết kiệm được chi phí nhiều nhất, giải quyết được hiệu quả về vấn đề tích trữ nhiên liệu của xe đạp điện. 3. Những dịng xe dùng loại bình nhỏ này được gọi chung là xe đạp điện và không phải đăng ký biển số xe.

4. Khi mắc nối tiếp thì hiệu điện thế (V) được cộng dồn và cường độ dịng điện (A) khơng thay đổi.

5. Khi bắt ắc quy phải để ắc quy theo chiều đứng, tuyệt đối khơng được đặt nghiêng hoặc lật úp.

Lập trình code kết nối bluetooth _ Bản mạch thu và khuếch đại bluetooth

63 ➢ Sơ đồ kết nối [1]

Hình 4.6: thiết kế mạch kết nối bluetooth mơ hình

64

4.5 Code lập trình

65

4.5.2 Code thiết lập ở ARDUINO

#include <SoftwareSerial.h> char state;

int toc_do;

const int role1 = 2;// role la thuoc bo dieu khien dong co const int tip1 = 3;// tip la dong co

const int role2 = 4; const int tip2 = 5;

const int motor3 = 6 ;// dong co lung ghe const int motor4 = 9 ;// dong co chan trai const int motor5 = 10;// dong co chan phai void setup()

66

{

pinMode(role1, OUTPUT);// thiet lap chan ra pinMode(tip1 , OUTPUT);

pinMode(role2, OUTPUT); pinMode(tip2 , OUTPUT);

digitalWrite( role1, HIGH );// thiet lap tat dong co khi bat digitalWrite( tip1, HIGH );

digitalWrite( role2, HIGH ); digitalWrite( tip2, HIGH );

Serial.begin(9600);// khai bao toc do } void loop() { if(Serial.available() > 0){ state = Serial.read(); switch (state) {

case 'M'://neu nhan thanh truot toc do

toc_do = Serial.parseInt(); //bien toc do = gia tri thanh truot goi ve hc-06 toc_do = map(toc_do,0,255,255,0);//dao gia tri tren thanh truoc

break;

67 case'U'://chay toi while(!Serial.available()); analogWrite(tip1, toc_do); analogWrite(tip2, toc_do); digitalWrite(role1, HIGH); digitalWrite(role2, HIGH); break; case'D'://chay lui digitalWrite(role1, LOW); digitalWrite(role2, LOW); analogWrite(tip1, toc_do); analogWrite(tip2, toc_do); break; case'L'://sang trai digitalWrite(role1, LOW); digitalWrite(role2, HIGH); analogWrite(tip1, toc_do); analogWrite(tip2, toc_do); break; case'R'://sang phai digitalWrite(role1, HIGH);

68 digitalWrite(role2, LOW); analogWrite(tip1, toc_do); analogWrite(tip2, toc_do); break; case'S'://stop

digitalWrite( role1, HIGH ); digitalWrite( tip1, HIGH ); digitalWrite( role2, HIGH ); digitalWrite( tip2, HIGH ); break;

case '1'://nang lung ghe analogWrite(motor3, HIGH); break;

case '2'://nang chan trai analogWrite(motor4, HIGH); break;

case '3'://nang chan phai analogWrite(motor5, HIGH); break;

69

analogWrite(motor5, LOW); break;

case 'B'://ha chan trai

analogWrite(motor5, LOW); break;

case 'C'://ha chan phai

analogWrite(motor5, LOW); break; } } }

70

4.5.3 Code bluetooth

1. // Khai báo biến

2. char state;

3.

4. void setup() {

5. // Cài đặt các chân bạn

muốn điều khiển thành

thành Ouput 6. // Ở đây tôi sử dụng 4 chân 9, 10, 11, 1 7. pinMode(9, OUTPUT) 8. pinMode(10, OUTPUT) 9. pinMode(11, OUTPUT) 10. pinMode(12, OUTPUT) 11. Serial.begin(9600); // Kết nối bluetooth module ở tốc độ 960 12. } 13. 14. void loop() { 15. 16. if(Serial.available() > 0) 17. // Đọc giá trị nhận được từ bluetoot 18. state = Serial.read() 19. } else 20. state = 0 21. 22. Serial.println(state) 23. // Thực hiện điều khiển các chân 9, 10, 11, 12

24. // Ở đây tôi đã quy

ước sẵn các giá trị gửi và nhận dữ liệu giữa điện thoại và Arduino 25. switch (state) { 26. case '1' 27. digitalWrite(9, HIGH) 28. break 29. case '2' 30. digitalWrite(9, LOW) 31. break 32. case '3' 33. digitalWrite(10, HIGH) 34. break 35. case '4' 36. digitalWrite(10, LOW) 37. break 38. case '5' 39. digitalWrite(11, HIGH) 40. break 41. case '6' 42. digitalWrite(11, LOW) 43. break 44. case '7' 45. digitalWrite(12, HIGH) 46. break 47. case '8' 48. digitalWrite(12, LOW) 49. break; 50. 51. default: 52. break 53. } 54. 55.

71 ➢ Hình ảnh thực

Hình4.9: ảnh chạy thử mạch blueooth

4.6 Mơ hình mơ phỏng sơ lược:

72

4.7 Sơ đồ mạch điều khiển và động lực

Hình 4.11: Sơ đồ mạch động lực

Mạch động cơ có chức năng điều khiển động cơ chạy thuận hoặc chạy ngược. Ban đầu khi TIP41C và role chưa dẫn thì động cơ khơng hoạt động. Khi TIP41C dẫn thì động cơ sẽ được cấp điện để chạy thuận, tiếp đó kích thêm role thì động cơ chạy ngược.

4.8 Mạch kết nối Bluetooth và Aurino

73

4.9 Mạch tổng

Hình 4.13: Mạch tổng

74

Hình 4.15: Hình chạy mơ phỏng trên phần mềm

Hình 4.16: Mạch in

75

4.10 Tính tốn khối nguồn:

Hình 4.18: nguồn được sử dụng trên xe lăn

❖ Các thông số: [3] • Dung lượng pin: 12AH • Điện áp tiêu chuẩn: 24V • Sạc điện áp: 24V

• Tiêu chuẩn: GB/18278-2000 Cơng suất tiêu thụ:

Dòng ESP8266 1 chân GPIO là 20mA, trong hệ thống này sử dụng 8 chân GPIO nên dòng sẽ là 160mA.

Dòng module 1 chân là 40mA, sử dụng 2 chân nên số dịng là 80mA. Do đó, có tổng dịng là 240mA.

Cơng suất tiêu thụ của hệ thống là: P = U*I = 5 *0.24 = 1.2 W

Tính thời gian sử dụng của xe:

Do xe được điều khiển với 5 tốc độ nên ở mỗi mức độ sẽ có 1 thời gian sử dụng khác nhau, qua thực nghiệm và tính tốn đã cho ra kết quả:

• Thời gian sử dụng xe ở mức 1 (MIN): Áp lúc sử dụng: 1,7V Dòng điện: 2.3A Cơng suất là: 3.91W

76

Do đó, thời gian sử dụng của xe là:[3]

Tương tự, ta được kết quả thời gian sử dụng ở các mức tiếp theo. • Thời gian sử dụng xe ở mức 3 (TB) là hơn 6h.

• Thời gian sử dụng xe ở mức 5 (MAX) là hơn 3h.

4.11 Khối công suất điều khiển động cơ

Động cơ được chọn trong mơ hình là động cơ giảm tốc DC để điều khiển xe chạy tiến, lùi, xoay trái, xoay phải, điều chỉnh tốc độ nhanh chậm theo ý muốn.Ở đây nhóm chọn module BTS7960 để điều khiển động cơ do module đáp ứng đủ những điều kiện trên, giá thành của module là 139.000 VNĐ phù hợp cho sinh viên sử dụng trong mơ hình. Một số thơng số cơ bản của module BTS7960:

• Điện áp đầu vào: 6~27V

• Dịng điện tải mạch: 43A (tải trở), 15A (tải cảm).

Một phần của tài liệu Đồ án xe lăn thông minh (Trang 52)

Tải bản đầy đủ (PDF)

(84 trang)