Đăng Ký
Kết quả 1 đến 10 của 196

Hybrid View

  1. #1
    Thành viên cấp 1
    Ngày tham gia
    Jan 2016
    Bài viết
    27
    Thanks
    5
    Thanked 1 Time in 1 Post
    Trích dẫn Gửi bởi anhlv.ddt Xem bài viết
    sai khác là do bạn lập trình, có thể tín hiệu đọc về bị hao tổn trên đường dây sinh ra sai số ... bạn cần viết hàm để tuyến tính hóa giá trị của bạn
    Modul analog đọc tín hiệu có giá trị 0 - 32767 và hiển thị dải giá trị ra là 0 - 1300 độ C. Phương trình có dạng: y = (1300/32767)*x, Mình cho kết nối với 5 can nhiệt thì nhận được giá trị x = 290, 312, 270, 285, 267. Thay vào phương trình thì y = 11, các khoảng gần đó. nhiệt độ môi trường là khoảng 28, 29 rồi. Sai lệch quá lớn. Có cách nào làm cho sai lệch nhỏ lại không bạn??
    p/s: - mình tháo can nhiệt ra thì trên phần mềm lập trình, giá trị nhận về từ tín hiệu là +32767
    - Nối tắt can nhiệt thì tín hiệu vẫn nhận về là +312. Khó hiểu quá, bạn biết tại sao không??

  2. #2
    Thành viên cấp 4
    Ngày tham gia
    Oct 2011
    Bài viết
    300
    Thanks
    17
    89 lượt trong 75 bài viết
    Trích dẫn Gửi bởi hanhcb Xem bài viết
    Modul analog đọc tín hiệu có giá trị 0 - 32767 và hiển thị dải giá trị ra là 0 - 1300 độ C. Phương trình có dạng: y = (1300/32767)*x, Mình cho kết nối với 5 can nhiệt thì nhận được giá trị x = 290, 312, 270, 285, 267. Thay vào phương trình thì y = 11, các khoảng gần đó. nhiệt độ môi trường là khoảng 28, 29 rồi. Sai lệch quá lớn. Có cách nào làm cho sai lệch nhỏ lại không bạn??
    p/s: - mình tháo can nhiệt ra thì trên phần mềm lập trình, giá trị nhận về từ tín hiệu là +32767
    - Nối tắt can nhiệt thì tín hiệu vẫn nhận về là +312. Khó hiểu quá, bạn biết tại sao không??
    Can nhiệt thì không dùng hàm scale nha bạn, cứ lấy giá trị đọc về chia 10 là đúng

  3. #3
    Thành viên cấp 1
    Ngày tham gia
    Jan 2016
    Bài viết
    27
    Thanks
    5
    Thanked 1 Time in 1 Post
    Trích dẫn Gửi bởi Mechatronic_Hieu Xem bài viết
    Can nhiệt thì không dùng hàm scale nha bạn, cứ lấy giá trị đọc về chia 10 là đúng
    Mình để ý là khi can nhiệt bị lỗi hay mất tín hiệu, giá trị đọc về sẽ là max (+32767) và giá trị trả ra màn hình cũng là max (1300 độ C). Nếu chia cho 10 thì không hiện giá trị 1300 được

  4. #4
    Thành viên cấp 10
    Ngày tham gia
    Apr 2011
    Bài viết
    1,221
    Thanks
    17
    201 lượt trong 169 bài viết
    Trích dẫn Gửi bởi hanhcb Xem bài viết
    Mình để ý là khi can nhiệt bị lỗi hay mất tín hiệu, giá trị đọc về sẽ là max (+32767) và giá trị trả ra màn hình cũng là max (1300 độ C). Nếu chia cho 10 thì không hiện giá trị 1300 được
    Bạn kia chỉ đúng rồi đó,lấy tín hiệu chia 10 xử lý là xong,còn chuyện mà trả về 1300 là do giới hạn hàm scale max người lập trình quy định là 1300 thì cứ vượt ngưỡng là nó sẽ tính ra 1300
    MUA BÁN-DỊCH VỤ-TRAINING
    Email: Hidden Content
    Hidden Content

  5. Bài viết của "kidsolo1412" đã được cám ơn bởi các thành viên:


  6. #5
    Thành viên cấp 4
    Ngày tham gia
    Oct 2011
    Bài viết
    300
    Thanks
    17
    89 lượt trong 75 bài viết
    Trích dẫn Gửi bởi hanhcb Xem bài viết
    Mình để ý là khi can nhiệt bị lỗi hay mất tín hiệu, giá trị đọc về sẽ là max (+32767) và giá trị trả ra màn hình cũng là max (1300 độ C). Nếu chia cho 10 thì không hiện giá trị 1300 được
    Bạn nên đọc lại tài liệu về can nhiệt và analog của Siemen.

  7. Bài viết của "Mechatronic_Hieu" đã được cám ơn bởi các thành viên:


Tag của Chủ đề này

Đánh dấu

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Back to Top