1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỀ TÀI CẢM BIỆN NHIỆT ĐỘ LM35 VÀ HỆ THỐNG GIÁM SÁT SỬ DỤNG MẠNG CAN

31 3 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 31
Dung lượng 2,24 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN VỀ CẢM BIẾN NHIỆT ĐỘ LM35 (6)
    • 1.1 Giới thiệu (6)
    • 1.2 Sơ đồ đấu chân của cảm biến nhiệt độ LM35 (7)
    • 1.3 Thông số kỹ thuật LM35 (7)
    • 1.4 Nguyên lý hoạt động của cảm biến nhiệt độ LM35 (8)
    • 1.5 Các dạng mạch đo nhiệt độ (8)
    • 1.6 Các bước tính toán nhiệt độ bằng cảm biến nhiệt độ LM35 (9)
    • 1.7 Công thức chuyển đổi điện áp thành nhiệt độ (9)
    • 1.8 Ứng dụng của cảm biến nhiệt độ LM35 (10)
    • 1.9 LM35 VỚI ARDUINO (10)
  • CHƯƠNG 2. MẠNG TRUYỀN THÔNG CÔNG NGHIỆP (12)
    • 2.1 Mạng truyền thông công nghiệp? (12)
    • 2.2 Trình bày sơ lược phần lý thuyết cơ sở kỹ thuật mạng truyền thông công nghiệp được giao của nhóm (12)
      • 2.2.1 Các khái niệm cơ bản (12)
      • 2.2.2 Chế độ truyền tải (13)
      • 2.2.3 Cấu trúc mạng – Toplogy (15)
      • 2.2.4 Kiến trúc giao thức (17)
      • 2.2.5 Truy nhập bus (20)
    • 2.3 Trình bày về mạng CAN (20)
      • 2.3.1 Sơ lược phần lý thuyết mạng CAN được giao của nhóm (20)
      • 2.3.2 Sơ lược về module can bus MCP2515 (21)
      • 2.3.3 Hệ thống giám sát tốc độ động cơ sử dụng mạng CAN (23)
      • 2.3.4 Viết chương trình cho hệ thống giám sát tốc độ động cơ (24)

Nội dung

TỔNG QUAN VỀ CẢM BIẾN NHIỆT ĐỘ LM35

Giới thiệu

Nhiệt độ là một trong những thông số được đo phổ biến nhất trên thế giới. Chúng được sử dụng trong các thiết bị gia dụng như lò vi sóng, tủ lạnh, máy điều hòa, v.v cho đến các thiết bị được sử dụng trong công nghiệp Cảm biến nhiệt độ về cơ bản đo nóng/lạnh được tạo ra bởi một đối tượng mà nó được kết nối Cảm biến cung cấp một giá trị điện trở, dòng điện hoặc điện áp ở đầu ra tỷ lệ với nhiệt độ cần đo, sau đó các đại lượng này được đo hoặc xử lý theo ứng dụng của chúng ta.

Cảm biến nhiệt độ về cơ bản được phân thành hai loại:

Cảm biến nhiệt độ không tiếp xúc: Các cảm biến nhiệt độ này sử dụng đối lưu và bức xạ để theo dõi nhiệt độ.

Cảm biến nhiệt độ tiếp xúc: Cảm biến nhiệt độ tiếp xúc được chia thành ba loại:

1 Cơ điện (Cặp nhiệt điện – Thermocouple)

2 Cảm biến nhiệt độ điện trở (RTD – Resistance Temperature Detector)

3 Dựa trên chất bán dẫn (LM35, DS1820, v.v )

LM35 là một cảm biến nhiệt độ tương tự, điện áp ở đầu ra của cảm biến tỷ lệ với nhiệt độ tức thời và có thể dễ dàng được xử lý để có được giá trị nhiệt độ bằng oC. Ưu điểm của LM35 so với cặp nhiệt điện là nó không yêu cầu bất kỳ hiệu chuẩn bên ngoài nào Lớp vỏ cũng bảo vệ nó khỏi bị quá nhiệt Chi phí thấp và độ chính xác cao đã khiến cho loại cảm biến này trở thành một lựa chọn đối với những người yêu thích chế tạo mạch điện tử, người làm mạch tự chế và các bạn sinh viên.

Vì có nhiều ưu điểm nêu trên nên cảm biến nhiệt độ LM35 đã được sử dụng trong nhiều sản phẩm đơn giản, giá thành thấp Đã hơn 15 năm kể từ lần ra mắt đầu tiên nhưng cảm biến này vẫn tồn tại và được sử dụng trong nhiều sản phẩm và ứng dụng đã cho thấy giá trị của loại cảm biến này.

Sơ đồ đấu chân của cảm biến nhiệt độ LM35

Hình 1.2: chân Tên chân Chức năng

1 VCC hay +VS Chân cấp nguồn với điện áp từ 4V đến 30V

2 VOUT Chân lấy điện áp ra, điện áp ở chân này thay đổi 10mV/oC

Thông số kỹ thuật LM35

Hiệu chuẩn trực tiếp theo oC

Điện áp hoạt động: 4-30VDC

Dòng điện tiêu thụ: khoảng 60uA

Nhiệt độ thay đổi tuyến tính: 10mV/°C

Khoảng nhiệt độ đo được: -55°C đến 150°C

Điện áp thay đổi tuyến tính theo nhiệt độ: 10mV/°C

Độ tự gia nhiệt thấp, 0,08oC trong không khí tĩnh

Trở kháng ngõ ra nhỏ, 0,2Ω với dòng tải 1mA

LM35 có thể đo nhiệt độ trong phạm vi từ -55oC đến 150oC Độ chính xác thực tế của cảm biến: ±1/4°C ở nhiệt độ phòng và ±3/4°C trong phạm vi nhiệt độ từ - 55°C đến 150°C Việc chuyển đổi điện áp đầu ra sang oC cũng dễ dàng và trực tiếp.

Trở kháng đầu ra nhỏ, đầu ra tuyến tính và hiệu chuẩn chính xác là những đặc tính vốn có của LM35, giúp tạo giao tiếp để đọc hoặc điều khiển mạch rất dễ dàng. Điện áp cung cấp cho cảm biến LM35 hoạt động có thể từ +4 V đến 30 V Nó tiêu thụ dòng điện khoảng 60μA LM35 có nhiều họ là LM35A, LM35CA,A LM35 có nhiều họ là LM35A, LM35CA,LM35D, LM135, LM135A, LM235, LM335 Tất cả các thành viên trong họLM35 đều hoạt động theo nguyên tắc giống nhau nhưng khả năng đo nhiệt độ khác nhau và chúng cũng có nhiều kiểu chân khác nhau (SOIC, TO-220, TO-92,TO)

Nguyên lý hoạt động của cảm biến nhiệt độ LM35

Cảm biến LM35 hoạt động bằng cách cho ra một giá trị điện áp nhất định tại chân VOUT (chân giữa) ứng với mỗi mức nhiệt độ Như vậy, bằng cách đưa vào chân bên trái của cảm biến LM35 điện áp 5V, chân phải nối đất, đo hiệu điện thế ở chân giữa, bạn sẽ có được nhiệt độ (0-100ºC) tương ứng với điện áp đo được.

Vì điện áp ngõ ra của cảm biến tương đối nhỏ nên thông thường trong các mạch ứng dụng thực tế, chúng ta thường dùng Op-Amp để khuếch đại điện áp ngõ ra này.

Các dạng mạch đo nhiệt độ

LM35 có thể được sử dụng một trong hai cấu hình mạch như hình bên dưới Cả hai đều mang lại kết quả khác nhau.

Trong cấu hình mạch phía bên trái, cảm biến chỉ có thể đo nhiệt độ dương từ

2 oC đến 150 oC Theo cấu hình mạch này, chúng ta chỉ cần cấp nguồn cho LM35 và kết nối đầu ra trực tiếp với bộ chuyển đổi tương tự sang số.

Trong cấu hình mạch thứ hai, chúng ta có thể đo nhiệt độ toàn dải từ -55 oC đến

150 oC Cấu hình mạch này hơi phức tạp nhưng mang lại kết quả cao Trong trường hợp này, chúng ta phải kết nối một điện trở bên ngoài (R1) để chuyển mức điện áp âm lên dương Giá trị điện trở bên ngoài có thể được tính toán theo công thức ghi bên dưới cấu hình mạch.

Mặc dù cấu hình mạch đầu tiên không cần điện trở ở phía đầu ra nhưng tôi khuyên bạn nên kết nối điện trở 80 kΩ đến 100 kΩ giữa chân VOUT và chân GND Khi tôi thực hiện một số thí nghiệm, tôi nhận thấy rằng các số đọc bị dao động và ngõ ra VOUT có hiện tượng thả nổi Vì vậy, một điện trở giữa VOUT và GND sẽ cố định chân VOUT ở mức thấp và ngăn không cho chân này bị thả nổi.

Các thông số về độ chính xác cho cả hai cấu hình mạch là khác nhau Mức độ chính xác trung bình là ± 1 oC cho cả hai cấu hình Nhưng mức độ chính xác giảm đối với khoảng nhiệt độ từ 2 oC đến 25 oC.

Các bước tính toán nhiệt độ bằng cảm biến nhiệt độ LM35

Cấp nguồn cho cảm biến với điện áp từ 4V đến 30V Chân GND được nối đất.

Kết nối chân VOUT với đầu vào bộ chuyển đổi tương tự sang số hay vi điều khiển.

Lấy mẫu đọc ADC để xác định điện áp đầu ra VOUT.

Chuyển đổi điện áp thành nhiệt độ.

Công thức chuyển đổi điện áp thành nhiệt độ

Công thức để chuyển đổi điện áp sang nhiệt độ độ C cho LM35 là:

Nhiệt độ đo được (oC) = Điện áp được đọc bởi bộ ADC/10 mV

Tôi chia cho 10 mV vì độ nhạy của cảm biến LM35 là 10mV.

Làm theo các bước và hướng dẫn ở trên, bạn có thể dễ dàng giao tiếp cảm biến LM35 với bất kỳ bộ vi điều khiển nào có chân chuyển đổi tín hiệu tương tự sang số được tích hợp sẵn Hầu hết tất cả các bộ vi điều khiển ngày nay đều có bộADC tích hợp sẵn.

Ứng dụng của cảm biến nhiệt độ LM35

Cảm biến nhiệt độ LM35 phù hợp cho các ứng dụng:

Đo nhiệt độ của một môi trường cụ thể

Giám sát nhiệt độ trong hệ thống HVAC

Kiểm tra nhiệt độ pin

Cung cấp thông tin về nhiệt độ của một linh kiện điện tử khác

LM35 VỚI ARDUINO

Arduino Uno Cảm biến nhiệt độ LM35

CODE int sensorPin = A0; void setup()

{ int reading = analogRead(sensorPin); float voltage = reading * 5.0 / 1024.0; float temp = voltage * 100.0;

GIẢI THÍCH CODE reading = analogRead(sensorPin);

Hàm analogRead() có nhiệm vụ đọc giá trị điện áp từ một chân Analog (ADC), hàm này luôn trả về 1 số nguyên nằm trong khoảng từ 0 đến 1023 tương ứng với thang điện áp (mặc định) từ 0 đến 5V Hàm analogRead()cần 100 micro giây để thực hiện.

Vậy reading = analogRead(sensorPin) có nghĩa là đọc giá trị điện áp từ cảm biến nhiệt độ LM35. float voltage = reading * 5.0 / 1024.0;

Công thức tính ra giá trị hiệu điện thế từ giá trị cảm biến (đơn vị Volt) Voltage

= giá trị điện áp từ cảm biến chia cho mức analog cao nhất (1024) rồi nhân với mức điện áp 5V.

Như ở trên ta thấy nhiệt độ thay đổi tuyến tính 10mV/°C nên đổi từ Vol sang °C thì ta chỉ cần nhân giá trị điện thế với 100 là ra nhiệt độ. float temp = voltage * 100.0;

MẠNG TRUYỀN THÔNG CÔNG NGHIỆP

Mạng truyền thông công nghiệp?

Sự phổ biến của các giải pháp tự động hóa sử dụng hế thống truyền thông số là kết quả tổng hợp của các tiến bộ trong kỹ thuật vi điện tử, kỹ thuật máy tính, kỹ thuật thông tin và đương nhiên là của cả kỹ thuật tự động hóa Mạng truyền thông công nghiệp (MCN) là một khái niệm chung chỉ các hệ thống mạng truyền thông số, truyền bit nối tiếp , được sử dụng để ghép nối các thiết bị công nghiệp. Các hệ thống truyền thông công nghiệp phổ biến hiện nay cho phép liên kết mạng ở nhiều mức khác nhau, từ cảm biến, cơ cấu chấp hành dưới cấp trường cho đến các máy tính điều khiển, thiết bị quan sát, máy tính điều khiển giảm sát và các máy tính cấp điều hành xí nghiệp, quản lý công ty.

Trình bày sơ lược phần lý thuyết cơ sở kỹ thuật mạng truyền thông công nghiệp được giao của nhóm

2.2.1 Các khái niệm cơ bản

- Thông tin: Là sự thông báo, trao đổi, giải thích về một đối tượng cụ thể nào đó nhằm mang lại một sự hiểu biết nào đó cho đối tượng nhận tin Một hệ thống xử lí thông tin hoặc 1 hệ thống truyền thông là 1 hệ thống kĩ thuật chỉ quan tâm tới các đầu vào và đầu ra là thông tin.Tuy nhiên, đa số các hệ thống kỹ thuật khác thường có đầu vào và đầu ra hỗn hợp.

- Dữ liệu: Là một đại lượng khá trừu tượng, vì vậy cần được biểu diễn dưới một hình thức khác Khả năng biểu diễn thông tin rất đa dạng , ví dụ qua chữ viết, hình ảnh, cử chỉ…Thông tin có thể được mô tả bằng dữ liệu để có thể lưu trữ và xử lí trong máy tính.

- Tín hiệu: Việc trao đổi thông tin( giữa người và người, người và máy) hay dữ liệu( giữa máy và máy) chỉ có thể thực hiện được nhờ tín hiệu Có thể định nghĩa , tín hiệu là biểu diễn của đại lượng vật lí chứa đựng tham số thông tin/dữ liệu và có thể truyền dẫn được.

Hình 2.2.1: Các dạng tín hiệu

- Giao tiếp và truyền thông: Là quá trình trao đổi thông tin giữa 2 chủ thể với nhau, được gọi là đối tác giao tiếp, theo một phương pháp được quy định trước Để thực hiện việc giao tiếp hay truyền thông ta cần các tín hiệu thích hợp, có thể là tín hiệu tương tự hay tín hiệu số.

- Tính năng thời gian thực: Là một trong những đặc trưng quan trọng nhất đối với các hệ thống tự động hóa nói chung và các hệ thống bus trường nói riêng Sự hoạt động bình thường của một hệ thống kĩ thuật làm việc trong thời gian thực không chỉ phụ thuộc và độ chính xác, đúng đắn của một kết quả đầu ra, mà còn phụ thuộc vào thời điểm đưa ra kết quả. Để đảm bảo tính năng thời gian thực, một hệ thống bus phải đảm bảo về độ nhanh nhạy, tính tiền định, độ tin cậy kịp thời, tính bền vững.

Chế độ truyền tải được hiểu là phương pháp các bit dữ liệu được chuyển giữa các đối tác truyền thông Có các chế độ truyền tải như sau:

• Truyền bit song song hoặc bit nối tiếp

• Truyền bit đồng bộ hoặc không đồng bộ

• Truyền tải dải cơ sở, truyền tải dải mang

- Truyền bit song song: được dùng phổ biến trong các bus nội bộ của máy tính như bus địa chỉ, bus dữ liệu và bus điều khiển Tốc độ truyền tải phụ thuộc vào số các kênh dẫn, hay cũng chính là độ rộng của một bus song song, ví dụ 8 bit, 16 bit, 32 bit hay 64 bit

- Truyền bit nối tiếp: Từng bit được chuyển đi 1 cách tuần tự qua 1 đường truyền duy nhất.

Hình 2.2.2: Mô tả truyền bit song song và truyền bit nối tiếp

- Truyền bit đồng bộ và không đồng bộ: Trong chế độ truyền đồng bộ, các đối tác truyền thông làm việc theo cùng một nhịp, tức là cùng tần số và độ lệch pha cố định Trong chế độ truyền không đồng bộ, bên gửi và bên nhận không làm việc theo một nhịp, dữ liệu trao đổi thường được chia thành từng nhóm 7-8 bit, gọi là kí tự Các kí tự được chuyển đi vào những thời điểm không đồng đều, vì vậy cần thêm 2 bit để đánh dấu khởi đầu và kết thúc cho mỗi kí tự.

- Truyền tải dải cơ sở: Một tín hiệu mang một nguồn thông tin có thể biểu diễn bằng tổng của nhiều dao động có tần số khác nhau nằm trong một phạm vi hẹp, được gọi là dải tần cơ sở hay dải hẹp Tín hiệu được truyền đi cũng chính là tín hiệu được tạo ra sau khi mã hóa bit, nên có tần số cố định hoặc nằm trong một khoảng hẹp nào đó, tùy thuộc vào phương pháp mã hóa bit

- Truyền tải dải mang: Dải tần này thường lớn hơn nhiều so với tần số nhịp Dữ liệu cần truyền tải sẽ dùng để điều chế tần số, biên độ hoặc pha của tín hiệu để khắc phục tình trạng tín hiệu có thể bức xạ nhiễu ảnh hưởng tới hoạt động của các thiết bị điện tử khác, hoặc ngược lại, bị các thiết bị khác gây nhiễu.

- Cấu trúc bus: Trong cấu trúc đơn giản này, tất cả các thành viên của mạng đều được nối trực tiếp với một đường dẫn chung Đặc điểm cơ bản của cấu trúc bus là việc sử dụng chung một đường dẫn duy nhất cho tất cả các trạm, vì thế tiết kiệm được cáp dẫn và công lắp đặt

- Cấu trúc mạch vòng: Cấu trúc mạch vòng được thiết kế sao cho các thành viên trong mạng được nối từ điểm này đến điểm kia một cách tuần tự

Hình 2.2.3.1: Các cấu trúc dạng bus

Hình 2.2.3.2: Cấu trúc mạch vòng trong một mạch vòng khép kín Mỗi thành viên đều tham gia tích cực vào việc kiểm soát dòng tín hiệu Khác với cấu trúc đường thẳng, ở đây tín hiệu được truyền đi theo một chiều qui định.

- Cấu trúc hình sao: Cấu trúc hình sao là một cấu trúc mạng có một trạm trung tâm quan trọng hơn tất cả các nút khác, nút này sẽ điều khiển hoạt động truyền thông của toàn mạng.

Các thành viên khác được kết nối gián tiếp với nhau qua trạm trung tâm Tương tự như cấu trúc mạch vòng, có thể nhận thấy ở đây kiểu liên kết về mặt vật lý là điểm-điểm Tuy nhiên, liên kết về mặt logic vẫn có thể là nhiều điểm.

- Cấu trúc hình cây: Cấu trúc cây thực chất không phải là một cấu trúc cơ bản Một mạng có cấu trúc cây chính là sự liên kết của nhiều mạng con có cấu trúc đường thẳng, mạch vòng hoặc hình sao Đặc trưng của cấu trúc cây là sự phân cấp đường dẫn.

Hình 2.2.3.3: Cấu trúc hình sao

Hình 2.2.3.4: Cấu trúc hình cây

Hình 2.2.4.1: Thiết kế giao diện điều khiển nút nhấn và đèn trên phần mềm PLC

Trình bày về mạng CAN

2.3.1 Sơ lược phần lý thuyết mạng CAN được giao của nhóm

- Bảo toàn dữ liệu trong mạng CAN: Mỗi trạm CAN đều sử dụng kết hợp nhiều biện pháp để tự kiểm tra, phát hiện và báo hiệu lỗi; theo dõi mức tín hiệu của mỗi bit truyền đi và so sánh với với tín hiệu nhận được trên bus; kiểm soát qua mã CRC; thực hiện nhồi bit (nhồi một bit nghịch đảo sau năm bít giống nhau); kiểm soát khung thông báo.

- Kỹ thuật truyền dẫn trong mạng CAN: CAN thực chất chỉ là chuẩn giao thức từ phần trên của lớp vật lí cho tới hết lớp liên kết dữ liệu, vì vậy không có quy định cụ thể về chuẩn truyền dẫn cũng như môi trường truyền thông CAN phân biệt 2 trạng thái logic của tín hiệu là mức trội(dominant) và mức lặn(recessive), tuy nhiên không quy định rõ giá trị bit nào ứng với mức tín hiệu nào Trong trường hợp cả bit trội và bit lặn được phát đồng thời thì bit trội sẽ lấn át và tín hiệu trên BUS sẽ có mức trội

- Mã hóa bit: Trước khi được chuyển đổi thành tín hiệu trên đường truyền, CAN sử dụng phương pháp nhồi bit (bit stuffing) Phương pháp này được sử dụng với mục đích chính là tạo một dãy bit thuận lợi cho việc đóng gói dữ liệu và mã hóa bit Khi 5 bit giống nhau liên tục, bộ phát sẽ tự động bổ sung bit nghịch đảo vào cuối, bên nhận sẽ phát hiện ra bit được nhồi và tái tạo thông tin ban đầu.

+ Cho một dãy thông tin nguồn: A = 0111111

+ Khi đó, thông tin gửi đi sẽ là: D = 01111101

+ Nếu thông tin nhận được là D’ = 01111101 thì bên nhận sẽ phát hiện được ra bit được nhồi và sẽ tái tạo lại thông tin nguồn.

+ Nếu thông tin nhận được là D’’= 11111101, bên nhận sẽ phát hiện ra lỗi.

Cuối cùng, dãy bit được mã hóa theo phương pháp Non return to zero (NRZ) Đây là mã nhị phân được sử dụng trong truyền dẫn viễn thông, bit dữ liệu 1 là điện áp dương, bit dữ liệu 0 là điện áp âm, nghĩa là trong suốt một chu kỳ bit, mức tín hiệu hoặc là TRỘI hoặc là LẶN.

2.3.2 Sơ lược về module can bus MCP2515

Module CAN-BUS dùng chip CAN Controller MCP2515 và CAN Transceiver TJA1040 là module mở rộng ngoại vi CAN cho vi điều khiển không tích hợp chuẩn giao tiếp hiện đại này MCP2515 sử dụng giao tiếp SPI nên bất kỳ một loại vi điều khiển nào cũng có thể giao tiếp với nó thông qua ngoại vi SPI có sẵn hoặc thậm chí là dùng các chân IO thông thường cũng được.

CAN-BUS là một trong số những chuẩn giao tiếp trên các thiết bị hiện đại ngày nay như hệ thống điện trên Ô tô OBD II hay hệ thống điện trong nhà máy công nghiệp, máy phát điện, tàu thủy, Các vi điều khiển đời mới gần như tích hợp ngoại vi giao tiếp CAN là bắt buộc, như STM32, LPC, PIC32, thậm chí đến ESP32 cũng hỗ trợ CAN

Tuy nhiên, cũng chính vì thế mà các dòng vi điều khiển cũ như 8051 hay PIC, AVR không được tích hợp sẵn ( PIC thì các dòng từ PIC18F trở lên mới hỗ trợ, giá thành cũng khá cao) Module MCP2515 là CAN controller do MicroChip sản xuất nhằm mục đích bổ sung tính năng này cho bất cứ vi điều khiển nào Chỉ cần dùng 3 đến 5 chân IO hoặc ngoại vi SPI có sẵn trên chip là chúng ta có thể biết những dòng chip này có khả năng làm việc với mạng CAN-BUS một cách trơn tru.

Module sử dụng chip MCP2551 làm CAN Controller và TJA1040 làm CAN Transceiver nên các thông số kỹ thuật là thông số của hai chip này ( xem datasheet bên dưới), ngoài ra Module còn tích hợp các Jump J1 J2, trong đó:

- J1 là jump chọn chế độ tốc độ giao tiếp, nếu Jump 1 được nối thì chip

TJA1040 cho phép giao tiếp trên mạng CAN- BUS với tốc độ cao nhất có thể Nếu Jump 1 không được kết nối thì TJA1040 giao tiếp với BUS CAN tốc độ thấp, ở chế độ này cho phép khoảng cách truyền xa hơn và nối được nhiều node mạng CAN trên bus vật lý hơn.

- J2 là jump nối điện trở liên kết Mỗi BUS CAN có 2 điện trở 120 Ohm ở hai đầu bus Nếu J2 nối thì module sẽ là nốt mạng đầu hoặc node mạng cuối J2 không nối khi sử dụng ở module giao tiếp với mạng CAN BUS đã có sẵn điện trở ở 2 đầu.

Hình 2.3.2: Module can bus MCP2515

Về thông số kỹ thuật:

 Tốc độ độ truyền dữ liệu: 1 Mb/giây

 Điện trở phối hợp trở kháng: 120 ohm

 Đường truyền dài, chống nhiễu tốt

 Dòng làm việc: 5mA, dòng tĩnh 1uA

2.3.3 Hệ thống giám sát tốc độ động cơ sử dụng mạng CAN

Hình 2.3.3: Sơ đồ đấu nối mạch giám sát tốc độ động cơ sử dụng can bus Đầu tiên về các thiết bị cần sử dụng để thiết kế mạch này bao gồm: 1 động cơ giảm tốc mini, 1 module L298N, 2 arduino uno, 1 module encoder, 1 chiết áp 10k, 2 module can bus MCP2515, 1 pin 9V, 1 đĩa encoder, test boad, dây điện

Về sơ đồ đấu dây: Arduino thứ nhất đóng vai trò truyền dữ liệu: đấu 2 đầu động cơ vào 2 đầu domino OUT1 của module L298N; đấu 2 đầu của pin 9V vào

1 đầu dương và 1 đầu âm của module L298N; đấu chân ENA, IN1, IN2 của module L298N lần lượt với chân 9,8,7 của arduino; đấu chân GND của module encoder, chiết áp, module L298N, module can bus MCP2515 chung với chân GND của arduino thứ nhất; chân Vcc của module encoder, module can bus MCP2515, chiết áp đấu chung với chân 5V của arduino; chân D0 của module encoder đấu với chân 2 của arduino; chân tín hiệu của chiết áp đấu với chân A0 của arduino thứ nhất; các chân 13,12,11,10 của arduino thứ nhất đấu với lần lượt chân SCK, SO, SI, CS của module can bus MCP2515 Arduino thứ hai đóng vai trò nhận dữ liệu để hiển thị lên màn hình: chân 13,12,11,10 của arduino thứ hai đấu với lần lượt chân SCK, SO, SI, CS của module can bus MCP2515 còn lại, Vcc và GND của module MCP2515 đấu lần lượt với 5V và GND của arduino thứ hai Đối với 2 module can bus MCP2515: chân L của 2 module được đấu với nhau, chân H của 2 module được đấu với nhau Cụ thể chi tiết đấu nối ở hình bên trên.

2.3.4 Viết chương trình cho hệ thống giám sát tốc độ động cơ

Chương trình con arduino truyền:

#include struct can_frame canMsg;

MCP2515 mcp2515(10); int in1 = 8; int in2 = 7; int enA = 9; int bientro = A0; int encorder = 2; // chân D0 của module nối vào chân 3 của chân aruduino int dem = 0; // đặt biến đếm ban đầu bằng 0 int rpm = 0; // đặt tốc độ ban đầu bằng 0 vòng/phút unsigned long thoigian; unsigned long hientai; void demxung()

SPI.begin(); mcp2515.reset(); mcp2515.setBitrate(CAN_500KBPS, MCP_8MHZ); mcp2515.setNormalMode(); pinMode(encorder, INPUT); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(enA, OUTPUT); attachInterrupt(0, demxung, RISING); // cái đặt 1 hàm ngắt để thực hiện void demxung

{ digitalWrite(in1, LOW); digitalWrite(in2, HIGH); int docbientro = analogRead(bientro); int tocdo = map(docbientro, 0, 1023, 0, 255); // giới hạn phát xung từ 0 đến

255 nên ta phải quy đổi từ tín hiệu analog đọc được từ biến trở analogWrite(enA, tocdo); thoigian = millis(); // khởi tạo biến thoigian là giá trị hiện tại của hàm millis if (thoigian - hientai >= 1000) // cứ sau 1000ms là thực hiện việc bên dưới 1 lần

Ngày đăng: 26/03/2024, 16:55

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w