Chế độ truyền

Một phần của tài liệu Thiết kế và chế tạo robot đo nhiệt độ điều khiển từ xa (Trang 41 - 54)

a. Chế độ ASCII

Khi các thiết bị trong một mạng Modbus chuẩn giao tiếp với chế độ ASCII, mỗi byte trong thông báo được gửi thành hai ký tự ASCII 7 bit, trong đó mỗi ký tự biểu diễn một chữ số Hex. Ưu điểm của chế độ truyền này là nó cho phép một khoảng thời gian trống tối đa một giây giữa hai ký tự mà không gây ra lỗi. Cấu trúc một ký tự khung gửi đi được thể hiện như sau:

Mỗi ký tự khung bao gồm : 1 bit khởi đầu (Start bit)

7 bit biểu diễn một chữ số hex của byte cần gửi dưới dạng kí tự ASCII (0-9 và A-F), trong đó bit thấp nhất được gửi đi trước. 1 bit parity chẵn/lẻ, nếu sử dụng parity. 1 bit kết thúc (Stop bit) nếu sử dụng parity hoặc 2 bit kết thúc nếu không sử dụng parity.

Một khung tin điển hình được hiển thị bên trên.

b. Chế độ RTU

Khi các thiết bị trong một mạng Modbus chuẩn được đặt chế độ RTU (Remote Terminal Unit), mỗi byte trong thông báo được gửi thành một ký tự 8 bit. Ưu điểm chính của chế độ truyền này so với chế độ ASCII là hiệu suất cao hơn,nhiều ký tự hơn . Tuy nhiên , mỗi thông báo phải được truyền thành một dòng liên tục. Cấu trúc một kí tự khung gửi đi được thể hiện như sau:

Mỗi ký tự khung bao gồm :1 bit khởi đầu (Start bit) 8 bit của byte thông báo cần gửi, trong đó bit thấp nhất được gửi đi trước.1 bit parity chẵn /lẻ, nếu sử dụng parity.

1 bit kết thúc (Stop bit) nếu sử dụng parity hoặc 2 bit kết thúc nếu không sử dụng parity.

2.2.10. Cảm biến nhiệt độ

2.2.10.1 Sơ lược về LM35

LM35 là cảm biến dùng để đo nhiệt độ tính theo độ C . Có 2 loại thường gặp: loại đóng gói như ic và loại kiểu plastis.

Tính năng của LM35

- Điều chỉnh trực tiếp thành độ C. - Hệ số chia tuyến tính 10ms/độ C. - Sai số khoảng 0.5 độ C ở 25độ C.

- Phạm vi giới hạn nhiệt độ từ -55 đến +150 độ C. - Phù hợp với những ứng dụng điều khiển từ xa. - Giá thành thấp.

- Hoạt động từ 4V đến 30V. - Dòng khoảng 60uA.

- Khả năng tự tản nhiệt thấp,khoảng 0.08 độ C trong không khí tĩnh. - Mức độ phi tuyến tiêu biểu là ±1⁄4 độ C .

- Trở kháng đầu ra thấp 0.1 ôm với tải 1mA

Hình 2.29: Lm35.

- Lm35 có nhiệt độ ngõ vào và xuất tín hiệu ngõ ra tỷ lệ tuyến tính với nhiệt độ đầu vào là độ C.

- Vì vậy nó có lợi thế hơn các loại cảm biến khác sử dụng nhiệt độ Kelvin độ K. Lm 35 không cần hiệu chỉnh hay tinh chỉnh bên ngoài, vì nó được cung cấp phạm vi chính xác, tiêu biểu là ±3⁄4 oC ở nhiệt độ từ -55 đến +150 độ C.

- Trở kháng đầu ra thấp, tuyến tính và hiệu chỉnh chính xác làm cho việc đọc đầu ra, và kiểm soát mạch điện trở nên dễ dàng.

- Lm35 có thể sử dụng nguồn đơn hoặc nguồn đôi và rút dòng khoảng 60uA.

a) b)

Hình 2.30: Lm35.

a) Lm35 nguồn đơn, b) Lm35 nguồn đôi

+ Nguồn đôi dùng để đo phạm vi từ -55 tới +150 độ C.

+ Nguồn đơn dùng để đo trong phạm vi từ +2 độ C +150 độ C.

- LM35 là 1 IC cảm biến nhiệt, mạch tích hợp chính xác cao có điện áp đầu ra tỷ lệ tuyến tính với nhiệt độ theo thang độ Celcius.

Cách mắc lm35. (adsbygoogle = window.adsbygoogle || []).push({});

Thông số kỹ thuật của cảm biến nhiệt họ LM35.

- Họ cảm biến này cũng không yêu cầu cân chỉnh bên ngoài vì bản thân nó đã được cân chỉnh.

- Họ này cho ra điện áp 10mV ứng với thay đổi nhiệt độ là 10C. Bảng giới thiệu một số thông số kỹ thuật chính của họ LM35.

- Vì IC cảm biến nhiệt cho ra tương ứng là +10mV/10C mà ADC có độ phân giải là 8 bit tương ứng 256 bước vì vậy ta sẽ chọn VREF cho ADC tương ứng là 2,56 V.

 Ngoài ra cũng có một loại cảm biến nhiệt độ khác, cũng thông dụng, nhưng đo được nhiệt độ chính xác hơn LM35, và không cần sử dụng đọc adc như LM35, được hỗ trợ sẵn trong codevision là DS18B20 được trình bày sau đây. 2.2.10.2 Sơ lược về Ds18b20

a) Mô tả

Ds18B20 là một sản phẩm của công ty MAIXIM, đây là công ty đã cho ra đời bus một dây và cảm biến một dây. Hình dạng bên ngoài của DS18B20 được mô

tả trên hình trong đó vỏ TO-92 với 3 chân là dạng dùng trong nhiều ứng dụng, còn dạng vỏ SOIC với 8 chân được dùng để đo nhiệt độ bề mặt, kể cả da người.

Hình 2.31 DS18B20

DS1820 thường được ứng dụng trong các bộ điều khiển HVAC, hệ thống giám sát nhiệt độ trong các tòa nhà, thiết bị máy móc…

DS1820 thường có 3 chân chức năng chính: 1. Chân GND: chân nối đất.

2. Chân DQ: chân trao đổi dữ liệu, đồng thời là chân cấp nguồn cho toàn bộ hoạt động của IC, nếu chân Vcc không sử dụng. Khi kết nối với vi điều khiển thì cần phải có điện trở kéo lên khoảng 4.7k.

3. Chân Vcc: chân cấp nguồn. b)Đặc trưng

 Sử dụng giao diện một dây nên chỉ cần một dây ra để truyền thông  Độ phân giải khi đo nhiệt độ từ 9 bit đến 12 bit. Dải đo nhiệt độ -550C

đến 1250C ,từng bậc 0,50C có thể đạt độ chính xác đến 0,1 C bằng việc hiệu chỉnh qua phần mềm.

 Rất thích hợp với các ứng dụng đo lường đa điểm vì nhiều đầu đo có thể dược nối trên một bus, bus này gọi là bus 1 dây

 Không cần thêm linh kiện bên ngoài

 Điện áp nguồn nuôi có thể thay đổi trong khoảng rộng, từ 3,5 V đến 5,5 V DC và có thể được cấp qua đường dữ liệu.

 Thời gian lấy mẫu và biến đổi ra digital 12 bit không quá lớn 750ms.  Mỗi cảm biến có một mã định danh nhất định 64 bit chứa trong bộ

nhớ ROM trên chip giá trị nhị phân được khắc bằng tia laze

Hình 2. 32 Bảng nhiệt độ và giá trị chuyển đổi

 Trao đổi dữ liệu giữa vi điều khiển và DS1820 thông qua ba bước sau: 1. Khởi tạo.

Quá trình khởi tạo bao gồm 1 xung reset do vi điều khiển master gửi đến slave DS1820, sau đó là xung presence từ DS1820 gửi đến vi điều khiển, để chỉ ra sự hiện diện của vi điều khiển và DS1820 và quá trình hoạt động trao đổi dữ liệu có thể bắt đầu.

2. Lệnh điều khiển ROM.

Các lệnh này làm việc với 64bits serial code ROM, lệnh này được phát ra sau quá trình khởi tạo. Lệnh cho phép vi điều khiển biết có bao nhiêu thiết bị và thiết bị loại gì trên bus. Có 5 lệnh điều khiển ROM:

a. SEARCH ROM [F0h]

Khi hệ thống bắt đầu hoạt động, thì vi điều khiển sử dụng lệnh này để kiểm tra code ROM của tất cả các thiết bị có trên bus cho phép vi điều khiển biết được số thiết bị và loại của thiết bị trên bus. Nếu trên bus chỉ có 1 thiết bị thì có thể sử dụng lệnh Read_ROM thay cho lệnh Search_ROM. Sau mỗi quá trình Search_ROM thì cần phải quay lại quá trình khởi tạo để reset hệ thống.

b. READ ROM [33h]

Lệnh này được sử dụng khi chỉ có 1 thiết bị trên bus. Lệnh này cho phép vi điều khiển đọc 64bit ROM code của thiết bị. Nếu trên bus có nhiều thiết bị thì lệnh này sẽ gây ra sự xung đột bus dữ liệu giữa các thiết bị. (adsbygoogle = window.adsbygoogle || []).push({});

c. MATCH ROM [55h]

Lệnh này theo sau bởi 64 bit ROM code cho phép vi điều khiển định địa chỉ thiết bị cần giao tiếp. Chỉ thiết bị có ROM code phù hợp sẽ trả lời, các thiết bị còn lại sẽ đợi xung reset tiếp theo.

d. SKIP ROM [CCh]

Lệnh này cho phép vi điều khiển gửi đồng thời đến tất cả các thiết bị trên bus mà không cần bất cứ thông tin nào về ROM Code. Ví dụ, muốn gửi lệnh Convert_T đến tất cả các thiết bị trên bus, thì đầu tiên ta gửi lệnh Skip_ROM sau đó tiếp theo là gửi lệnh Convert_T.

Tương tự như vậy, nếu theo sau lệnh Skip_ROM là lệnh Read_Scratchpad thì dữ liệu trên DS1820 được đọc về, và lưu ý rằng lệnh này chỉ thực hiện được khi trên bus có 1 thiết bị, nếu trên bus có nhiều thiết bị thì sẽ gây ra xung đột bus.

e. ALARM SEARCH [ECh]

Lệnh này gần giống với lệnh Search_ROM, nhưng lệnh này chỉ tác động đến thiết bị mà cờ alarm được bật lên sẽ trả lời. Lệnh này cho phép xác định các thiết bị mà ở đó nhiệt độ đo được vượt qua ngưỡng nhiệt độ, và sau khi lệnh này được thực thi thì vi điều khiển phải lập lại quá trình khởi tạo – quay lại bước 1.

3. Lệnh điều khiển DS1820.

Sau khi vi điều khiển định địa chỉ thiết bị cần giao tiếp thông qua các lệnh ROM, vi điều khiển sẽ gửi các lệnh điều khiển hoạt động của DS1820. Những lệnh

này cho phép vi điều khiển ghi và đọc dữ liệu từ bộ nhờ Scratchpad của DS1820, bắt đầu quá trình chuyển đổi nhiệt độ, và xác định chế độ cấp nguồn.

2.2.11. Sơ lược về Camera

Camera là loại không dây dược gắn lên robot, tín hiệu được truyền về máy tính, và dựa vào đó ta có thể thấy đường đi của robot và điều khiển nó đi theo ý muốn.

Hình 2.34: Camera.

Để có thể kết nối với máy tính ta cần them 1 bộ chuyển đổi kết nối máy tính và bội thu “ Aver Media DVD EZMaker USB Plus”

Camera có 2 bộ phận là thu và phát, bộ phát là bộ gắn trên robot nhận hình ảnh rồi gửi về, còn bộ nhận là bộ kết nối vơi máy tính.

Hình 2.35: Bộ kết nối máy tính.

Cả 2 bộ đều có angten để bức xạ sóng. Sử dụng nguồn 9V(cả 2 bộ).

Khoảng cách có thể truyền khoảng 50 dến 70m.

2.2.12. Động cơ bước

Động cơ bước là một loại động cơ điện có nguyên lý và ứng dụng khác biệt

với đa số các động cơ điện thông thường. Chúng thực chất là một động cơ đồng bộ dùng để biến đổi các tín hiệu điều khiển dưới dạng các xung điện rời rạc kế tiếp nhau thành các chuyển động góc quay hoặc các chuyển động của rôto có khả năng cố định rôto vào các vị trí cần thiết.

Trong đề tài này em sử dụng động cơ bước để điều khiển chính xác góc quay của camera.

Về cấu tạo, động cơ bước có thể được coi là tổng hợp của hai loại động cơ: Động cơ một chiều không tiếp xúc và động cơ đồng bộ giảm tốc công suất nhỏ.

Hình 2.36 Cấu tạo động cơ bước

Phân loại

Động cơ bước gồm 2 loại chính là động cơ nam châm vĩnh cửu và biến từ trở (ngoài ra cũng có động cơ bước hỗn hợp nhưng không khác nhiều so với biến từ trở). Trong động cơ nam châm vĩnh cửu cũng chia làm 2 loại là động cơ bước đơn cực và lưỡng cực.

Động cơ bước phong phú về góc quay. Các động cơ kém nhất quay 90 độ mỗi bước, trong khi đó các động cơ nam châm vĩnh cửu xử lý cao thường quay 1.8 (adsbygoogle = window.adsbygoogle || []).push({});

độ đến 0.72 độ mỗi bước. Với một bộ điều khiển, hầu hết các loại động cơ nam châm vĩnh cửu đều có thể chạy ở chế độ nửa bước, và một vài bộ điều khiển có thể điều khiển các phân bước nhỏ hơn hay còn gọi là vi bước. Trong đề tài này em sử dụng loại động cơ với góc quay 1.8 độ mỗi bước.

Nguyên tắc hoạt động

Động cơ bước không quay theo cơ chế thông thường, chúng quay theo từng bước nên có độ chính xác rất cao về mặt điều khiển học. Chúng làm việc nhờ các bộ chuyển mạch điện tử đưa các tín hiệu điều khiển vào stato theo thứ tự và một tần số nhất định. Tổng số góc quay của rôto tương ứng với số lần chuyển mạch, cũng như chiều quay và tốc độ quay của rôto phụ thuộc vào thứ tự chuyển đổi và tần số chuyển đổi.

Hình 2.37 Sơ đồ đấu dây động cơ bước

Cách điều khiển

a) Điều khiển toàn bước:

M ấu 1a 100010001000100010001000 1 Mấu 1a 1100110011001100110011 001 M ấu 1b 001000100010001000100010 0 Mấu 1b 0011001100110011001100 110 M ấu 2a 010001000100010001000100 0 Mấu 2a 0110011001100110011001 100 M ấu 2b 000100010001000100010001 0 Mấu 2b 1001100110011001100110 011 thời gian ‐‐> thời gian ‐‐>

Ta nối đất cho các mấu khi giá trị của mấu là 1 một cách liên tục. Sơ đồ bên trái chỉ cấp điện cho 1 mấu trong cùng 1 thời điểm nên nó sử dụng ít năng lượng hơn. Còn sơ đồ bên phải do cấp điện cho 2 mấu cùng 1 thời điểm cho nên nó tốn năng lượng hơn nhưng lại sinh moment xoay gấp 1,4 lần so với sơ đồ bên trái.

b) Điều khiển nửa bước:

Mấu1a

Mấu1b 00011100000111000001110000 Mấ u2a 01110000011100000111000001 Mấu2b 00000111000001110000011100 Thời gian ‐‐> 2.2.13 Thiết kế phần mạch 2.2.13.1 Mạch nguồn

*Sơ đồ nguyên lý.

Mạch nguồn gồm 3 nguồn.

Hình 2.38: Sơ đồ mạch nguồn 5v vi điều khiển

Hình 2.39: Sơ đồ mạch nguồn 9v và 12v.

*Chức năng.

- Cung cấp nguồn 12V DC ổn định để kích cuộn dây đảo chiều động cơ. - Cung cấp nguồn 9V DC ổn định để camera hoạt động.

- Tạo ra nguồn để động cơ chạy. *Nguyên lý hoạt động.

- Điện được lấy từ acquy vào 2 jum, 2 jum này có thể chung 1 nguồn hoặc 2 nguồn ,

- Jum1 là nguồn để chạy động cơ và đảo chiều role, nguồn camera

+ Nguồn được chỉnh lưu qua 1 con diod để trở thành nguồn 1 chiều,ở đây ta lấy được VS là nguồn cho động cơ chạy.

+ Để lấy được nguồn 12V để kích role ta sử dụng ic ổn áp 7812 để lấy ra điện áp theo ý muốn.

+ Có led báo nguồn.

- Jum2 là nguồn cho VDK .

+ Nguồn được chỉnh lưu qua 1 con diod để trở thành nguồn 1 chiều,có 1 tụ hóa và 1 tụ gốm để lọc nguồn và tần số cho nguồn, dùng 7805 để tạo nguồn 5v

+Trong mạch gồm 2 nguồn khác nhau lên cũng có 2 mass khác nhau,trên mạch cũng được phủ mass 2 lần. 1 mass là khối của VDk và ic và 1 mass là của role (nguồn nuôi động cơ, 2 nguồn này được cách ly,lên ta có thể dùng 1 nguồn nối chung hoặc 2 nguồn riêng biệt.

2.2.13.2 Mạch vi điều khiển

Mạch VDK là khối trung tâm của mạch mà phần chính là ATmega32, trong đó có nguồn cung cấp cho VDK hoạt động. Có thạch anh tạo xung cung cấp xung ngoài cho VDK hoạt động trong mạch ta dùng thạch anh 11.0592M, tụ lọc 22p nối tiếp với thạch anh xuống mass có chức năng lọc nhiễu và tụ reset 4.7uF, điện trở reset 10k, có chân load dữ liệu từ máy tính xuống(chân lập trình), và chân cắm LCD hiển thị. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 2.40: Sơ đồ mạch Atmega32.

Một phần của tài liệu Thiết kế và chế tạo robot đo nhiệt độ điều khiển từ xa (Trang 41 - 54)