Показано с 1 по 10 из 10

Тема: Датчики температуры Ni

  1. #1
    Пользователь
    Регистрация
    22.02.2012
    Адрес
    Челябинск
    Сообщений
    261

    По умолчанию Датчики температуры Ni

    В настройках аналогового входа ПР205 можно выбрать датчик температуры Ni1000, есть в менеджере компонентов и макрос с таким названием. Но у меня датчик Ni1000TK5000 - из Инета следует, что он по характеристикам отличается от просто Ni1000. Каким образом я смогу его использовать? Можно ли стандартные средства как-то адаптировать? Чем эти датчики различаются вообще, я понять не могу, ТК5000 везде в Инете, а что это?

  2. #2

    По умолчанию

    Может это Вам требуется?
    https://owen.ru/product/npt

  3. #3
    Пользователь
    Регистрация
    22.02.2012
    Адрес
    Челябинск
    Сообщений
    261

    По умолчанию

    Цитата Сообщение от Рогов Алексей Посмотреть сообщение
    Может это Вам требуется?
    https://owen.ru/product/npt
    Нет, это не требуется. У датчика сопротивление 1кОм, это вполне попадает в измеряемый контроллером диапазон, так что измерить сопротивление датчика контроллер сможет, вопрос как из этого получить температуру, с учетом ТК5000. Но понятно что делать это нужно программой, поэтому я сюда и написал.

  4. #4

    По умолчанию

    Цитата Сообщение от starmos Посмотреть сообщение
    В настройках аналогового входа ПР205 можно выбрать датчик температуры Ni1000, есть в менеджере компонентов и макрос с таким названием. Но у меня датчик Ni1000TK5000 - из Инета следует, что он по характеристикам отличается от просто Ni1000. Каким образом я смогу его использовать? Можно ли стандартные средства как-то адаптировать? Чем эти датчики различаются вообще, я понять не могу, ТК5000 везде в Инете, а что это?
    Добрый день. Макросов для работы с Ni1000TK5000 у нас нет. От обычного Ni1000 они отличаются по НСХ (другая зависимость сопротивления от температуры). Можете реализовать его самостоятельно, нужно только найти формулу преобразования сопротивления в температуру. В таком случае следует перевести аналоговый вход в режим 0..300 кОм и уже к нему подключить созданный Вами макрос.
    Инженер по продукту | ПР и Owen Logic
    email: k.korolev@owen.ru

  5. #5

    По умолчанию

    Надо снять график зависимости сопротивления от температуры (или взять табличные, если найдёте), не менее 10 точек и применить функцию Petera для 10 точек.
    https://owen.ru/forum/showthread.php?t=35489&page=5
    Последний раз редактировалось kondor3000; 08.11.2024 в 09:36.

  6. #6
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,912

    По умолчанию

    Вот, взял у Сигнетика
    Вложения Вложения

  7. #7
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,586

    По умолчанию

    возможно и такой код сгодится
    Код:
    function Solver: real;
        var_input
            res : real;
        end_var    
        var
            W1, W2, W3, W4, W5, W6, W7, W8 : real;
        end_var
        
        W1 := res * 1.3831139433862618  + -12.448275642218118;
        W2 := res * 6.682846489888407  + -14.392748820599467;
        W3 := res * -0.005676395436096994  + 8.019474677893733;
        W4 := res * -0.008025928784169988  + 8.575139053897809;
        W5 := res * -7.220669806960443  + 5.095049994395068;
        W6 := res * -0.012837643004405222  + 0.32252865727557123;
        W7 := res * 7.69970012369386  + -7.2486377046058985;
        W8 := res * 2.4572149965952743  + -1.8149306383777304;
        if W1 <= 0.0 then W1 := 0.0; end_if
        if W2 <= 0.0 then W2 := 0.0; end_if
        if W3 <= 0.0 then W3 := 0.0; end_if
        if W4 <= 0.0 then W4 := 0.0; end_if
        if W5 <= 0.0 then W5 := 0.0; end_if
        if W6 <= 0.0 then W6 := 0.0; end_if
        if W7 <= 0.0 then W7 := 0.0; end_if
        if W8 <= 0.0 then W8 := 0.0; end_if
        
        Solver := W1 * 9.82132213698798 + W2 * -4.321266935905112 + W3 * -5.233147887271718 + W4 * -4.576704842022764 + 
    W5 * 7.149600577059545 + W6 * 0.0505727397095359 + W7 * 2.0184721920501922 + W8 * -0.031374647564338706 + -14.392748820599467;
    end_function
    PS была ошибка одна и та же переменная затесалась в два места, поэтому функция считала не верно, постараюсь по новой собрать с не меньшей точностью
    Последний раз редактировалось capzap; 08.11.2024 в 12:25.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  8. #8

    По умолчанию

    Один из блоков явно врёт на 1000 Ом 1 Макросы Никель 1000.jpg
    на 1200 Ом расхождение 60 градусов уже 1 Макросы Никель 1000_2.jpg
    Последний раз редактировалось kondor3000; 08.11.2024 в 10:55.

  9. #9
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,586

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Один из блоков явно врёт
    сейчас не должен
    Код:
    function Solver: real;
        var_input
            res : real;
        end_var    
        var
            W1 : real;
            W2 : real;
            W3 : real;
            W4 : real;
            W5 : real;
            W6 : real;
            W7 : real;
            W8 : real;
        end_var
        
        W1 := res * 0.13878908745962965  + -11.169647158936789;
        W2 := res * -0.705290296164642  + -0.49852562738434325;
        W3 := res * -0.12242029107039004  + -0.41234795849720013;
        W4 := res * 0.009448343410483588  + -10.07187851154708;
        W5 := res * 0.40872556066351257  + 7.926780715730983;
        W6 := res * -0.14062452668260786  + -0.014881062272203267;
        W7 := res * -0.007041981194077907  + 9.971070083280027;
        W8 := res * -0.0201389901625474  + -0.38648060746547913;
        if W1 <= 0.0 then W1 := 0.0; end_if
        if W2 <= 0.0 then W2 := 0.0; end_if
        if W3 <= 0.0 then W3 := 0.0; end_if
        if W4 <= 0.0 then W4 := 0.0; end_if
        if W5 <= 0.0 then W5 := 0.0; end_if
        if W6 <= 0.0 then W6 := 0.0; end_if
        if W7 <= 0.0 then W7 := 0.0; end_if
        if W8 <= 0.0 then W8 := 0.0; end_if
        
        Solver := W1 * 13.259300412601876 + W2 * -0.09680719090111181 + W3 * -0.6471391858393304 + W4 * -3.772583236036509 + W5 * -4.00162988810079 + W6 * -0.28310643866597995 + W7 * -4.494375283061582 + W8 * -0.573359836329579 + -11.711165689542185;
    end_function
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  10. #10
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,912

    По умолчанию

    Еще вариант
    Код:
    unction fNi1000_TK5000: real;
        var_input //объявление входных переменных
            R : real;
        end_var
        
        var //объявление локальных переменных
            A : real := 5.585e-9;
            B : real := 5.172e-6;
            C : real := 4.427e-3;
            p, q, d, y : real;
        end_var
        
        fNi1000_TK5000 := -9999;
        if R > 790 and R < 1630 then
            p := (3 * A * C - B * B) / (3 * A * A);
            R := 1 - R / 1000;
            q := (2 * pow(B,3) - 9 * A * B * C + 27 * A * A * R) / (27 * pow(A,3));
            d := q * q / 4 + pow(p,3) / 27;
            y := pow((-q/2 + pow(d,0.5)),1/3) - pow((q/2 + pow(d,0.5)),1/3);       
            fNi1000_TK5000 := y - B / (3 * A);
        end_if
            
    end_function
    здесь я тупо решил уравнение 3-го порядка
    Безымянный.png
    Последний раз редактировалось Dimensy; 08.11.2024 в 13:48.

Похожие темы

  1. Датчики температуры ДТС065Д
    от SAKozirev в разделе Эксплуатация
    Ответов: 6
    Последнее сообщение: 22.03.2024, 08:45
  2. Датчики температуры для ПРМ-3
    от melky в разделе Подбор Оборудования
    Ответов: 4
    Последнее сообщение: 04.12.2023, 12:32
  3. датчики температуры ТСМ
    от YuriySt54 в разделе Эксплуатация
    Ответов: 4
    Последнее сообщение: 16.12.2011, 13:37
  4. Датчики температуры
    от Mikhail в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 22.02.2011, 21:11
  5. датчики температуры
    от незарегистрированный в разделе Эксплуатация
    Ответов: 5
    Последнее сообщение: 18.02.2008, 20:15

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •