avv_rem Опубликовано 17 мая, 2020 Поделиться Опубликовано 17 мая, 2020 (изменено) Расчеты показывают, что выбран терморезистор с неверным сопротивлением.2,7кОм слишком мало. Нужно хотя бы 4,7кОм. Тогда проблемы с разрядностью АЦП сильно уменьшатся. Как вариант, могу порекомендовать включить ДВА таких ОДИНАКОВЫХ терморезистора последовательно. Есть такая возможность? Еще мне не совсем ясны вычислительные проблемы с контроллером. Если уж он запросто проворачивает пять операций деления за 3мкс, то, может быть, проще будет вообще выбросить все способы аппроксимации. Просто напрямую вычислять температуру по точной формуле и не забивать голову. Правда, придется один раз вычислить натуральный логарифм. Он долго считается. Но не сильно дольше, чем полином пятой степени или несколько операций деления. Думаю, контроллер в 5-10мкс уложится запросто. Я бы поступил так: 1. Увеличил бы сопротивление терморезистора в 2 раза. Еще лучше в 3 раза. 2. Применил Rd с номиналом, соответствующим максимуму динамического диапазона АЦП Rd = (Rtmax*Rtmin)^0,5. 3. Перешел на расчет по точной формуле. Вот лень мне проверять. Но функция 1/x весьма сильно отличается от exp(1/x). Особенно в точках, которые далеко стоят от узлов интерполяции. Хоть как ее интерполируй. Да и что она покажет в диапазоне 60°C …110°C? Этот участок просто продлен что ли? Не знаком с вашим способом интерполяции. Но он мне очень сильно полиномы Лагранжа напоминает по направлению мысли. Изменено 17 мая, 2020 пользователем avv_rem 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
PEF Опубликовано 18 мая, 2020 Поделиться Опубликовано 18 мая, 2020 Датчик имеет каталожный номер и применяемость на автомобилях ВАЗ с электронной системой управления двигателем. Изготавливается Калужским заводом автотракторного электрооборудования. Содран с аналогичного датчика BOSH. Формально разработан по ТЗ разработчика ЭСУД. Почему 2,7к наверно только разработчику и BOSH известно. Выпускается сотнями тысяч в год. В документации на датчик написано отклонение указанной температуры соответствующим сопротивлениям + - 1град в диапазоне 10..100гр. в остальной части не хуже + - 2 гр. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
PEF Опубликовано 18 мая, 2020 Поделиться Опубликовано 18 мая, 2020 В предлагаемом мной варианте ни Ньютон ни Лагранж ни причем, это очень редкий способ интерполяции непрерывными дробями. Я делал расчет по 5 парам функция проходит через все точки последние две просто не видны за счет упрощения дроби. В общем виде для 5 пар выглядит так: 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
avv_rem Опубликовано 18 мая, 2020 Поделиться Опубликовано 18 мая, 2020 (изменено) Мда. Не о том я спрашивал. Основной вопрос следующий.Может ли система команд контроллера вычислить натуральный логарифм? Если да, то можно было бы упростить все расчеты в несколько раз. О каких пяти парах идет речь? Из таблицы взяты пять точек t1, R1; t2, R2; t3, R3; t4, R4; t5, R5. Или, скорее всего, t1, kod1; t2, kod2; t3, kod3; t4, kod4; t5, kod5. И по ним все это построено?Если да, то какие температуры были выбраны? Изменено 18 мая, 2020 пользователем avv_rem 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
PEF Опубликовано 19 мая, 2020 Поделиться Опубликовано 19 мая, 2020 Еще подробнее: Java123.pdf Извините получилось вертикально. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
PEF Опубликовано 19 мая, 2020 Поделиться Опубликовано 19 мая, 2020 Математические функции простых контроллеров: Мат функции.txt 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
avv_rem Опубликовано 19 мая, 2020 Поделиться Опубликовано 19 мая, 2020 9 часов назад, PEF сказал: Математические функции Охренеть можно!!! Выкидывай на фиг всю интерполяцию и считай по точным формулам!!! Да мне бы и 25% от этого списка хватило бы на все случаи жизни! Для сравнения. Математический сопроцессор семейства Intel обходится всего ПЯТЬЮ трансцендентными командами.1) tg(X); 2) arctg(Y/X) 3) 2^X-1 4) Y*LOG2(X) 5) Y*LOG2(X+1) Все остальное считается через них, напримерSIN(X) = tg(X) / (1 + tg(X)*tg(X))^(0,5) LN(X) = LOG2(X) / LOG2(e) Через некоторое время выложу простую и более или менее точную формулу для имеющегося терморезистора. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
PEF Опубликовано 19 мая, 2020 Поделиться Опубликовано 19 мая, 2020 1 час назад, avv_rem сказал: Все остальное считается через них, Не все об этом знают вот в чем вопрос. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
avv_rem Опубликовано 21 мая, 2020 Поделиться Опубликовано 21 мая, 2020 Математическая модель терморезистора. Математическая модель терморезистора PEF.pdf Терморезистор PEF Ошибки интерполяции полиномов разных порядков.zip 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
avv_rem Опубликовано 21 мая, 2020 Поделиться Опубликовано 21 мая, 2020 Без комментариев Рисунки_без_искажений.zip 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
PEF Опубликовано 21 мая, 2020 Поделиться Опубликовано 21 мая, 2020 Таблица есть только одна, предоставленная заводом изготовителем и работать надо с ней, другой таблицы я не знаю. В конечном итоге я так и не понял в чем эффективнее ваш вариант с полиномом 2 порядка? Но в любом случае работа с аппроксимацией будь то с дробями либо с полиномами на мой взгляд эффективнее, чем с таблицей и кусочно линейной апроксимацией. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
avv_rem Опубликовано 21 мая, 2020 Поделиться Опубликовано 21 мая, 2020 (изменено) 2 часа назад, PEF сказал: В конечном итоге я так и не понял в чем эффективнее ваш вариант Еще раз. Все заново, но другими словами. Я уже второй день совсем про другое пишу после знакомства с доступной системой команд. Аппроксимация дробями и в подметки не годится традиционным способам. В вашем варианте график ошибки измерения уходит практически вертикально при температурах менее +20°C и более +60°C. При критических температурах 0°C, когда что-то может замерзнуть или +100°C, когда что-то может закипеть, ошибка достигает 5°C.Причем, получится самый опасный вариант. Вместо –5°C контроллер покажет 0°C. Вместо +105°C контроллер покажет +100°C. Выбросьте эту аппроксимацию дробями куда подальше, пока не поздно. Лучше уж по точной формуле первого порядка аппроксимации считайте. Там нужно – то всего два действия. Rt = kod * 2130.0697986 / (1013.0940426 – kod), t°C = B / LN(Rt/A) – 273.15. где A = 0.00318537874402868, B = 4078.8963037159. В этом случае ошибка измерения при температурах 0°C и 100°C едва ли достигнет 1°C. Впрочем, возможно, лучше принятьA = 0.00341343944227068, B = 4050.98528143512. В этом случае ошибка измерения при температурах 0°C и 100°C будет строго равна нулю, однако где-то в районе 50°C достигнет примерно –1°C. Ну и наплевать, в общем-то. Чего в том месте диапазона измерять-то? Переход на полином хотя бы 2-го порядка даст точность не хуже 0,1°C вообще по всему диапазону. Однако усложнит вычисления примерно в 2 раза. Изменено 21 мая, 2020 пользователем avv_rem 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
avv_rem Опубликовано 25 мая, 2020 Поделиться Опубликовано 25 мая, 2020 (изменено) 10.05.2020 в 16:12, PEF сказал: На мой взгляд точность расчетов в рабочем диапазоне должна быть в пределах 0.05..0,1 градус. Это вряд ли нужно. Рисунки без искажений.zip Изменено 25 мая, 2020 пользователем avv_rem 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
PEF Опубликовано 25 мая, 2020 Поделиться Опубликовано 25 мая, 2020 21.05.2020 в 21:04, avv_rem сказал: Причем, получится самый опасный вариант. Вместо –5°C контроллер покажет 0°C. Вместо +105°C контроллер покажет +100°C. Это не корректные и неверные данные. Я вам писал, что представленная формула аппроксимирует участок кривой от +20° до +100° в связи с тем, что автомобильные датчики использовались на котле отопления здания, который стоит в помещении, и температура в этом помещении не бывает ниже +15. Поэтому температура в котле ни при каких обстоятельствах не может быть ниже +15 и, соответственно, и аппроксимировать минусовую часть его не было смысла. Расширение участка аппроксимирования не представляет никаких трудностей, лишь добавляется три действия. Формулу аппроксимации от -40° до 128° я приведу ниже. Не сложно посчитать модуль среднего отклонения приведённой вами формулой и расчетом по методу непрерывных дробей. Согласно такого расчета, метод аппроксимации дробями более чем в два раза имеет меньшее отклонение, даже с учетом расширенного диапазона (+10 .. +110), а если учитывать только аппроксимируемый диапазон, то разница на порядок. Я прекрасно понимаю много связано с работой АЦП но я и аппроксимирую с учетом этого. Вот аппроксимация всей таблицы. P.S. Наверно можно использовать математическую модель терморезистора, если это таблица значений терморезистора, но, насколько я знаю, завод изготовитель этих датчиков каким то образом корректирует исходный терморезистор, чтобы обеспечить соответствие таблице. Не может ли это привести в этом случае к проблемам расчета по вашему варианту. Могу предположить, что в датчике не один Тр, а подгонку делают шунтами. Но это только предположение. Ну хорошо, с термодатчиком разобрались, а как быть с более сложными табличными зависимостями, к примеру термоанемометрический датчик массового расхода воздуха. Изготовитель BOSH дает таблицу и все. Мало того, в корпусе датчика есть встроенный ОУ, который может иметь свои цепи коррекции, как здесь написать математическую модель? Метод аппроксимации дробями позволяет решать такие задачи. А по поводу номинального сопротивления датчика я уже писал, параметры этого датчика согласованы между поставщиком разработчиком и потребителем. Сравнение.xlsx 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
avv_rem Опубликовано 25 мая, 2020 Поделиться Опубликовано 25 мая, 2020 1 час назад, PEF сказал: но, насколько я знаю, завод изготовитель этих датчиков каким то образом корректирует исходный терморезистор, чтобы обеспечить соответствие таблице. Не может ли это привести в этом случае к проблемам расчета по вашему варианту. Очередной миф. Нет там ни хрена. Подробности тут.https://www.drive2.ru/b/1840931/ 2 часа назад, PEF сказал: А по поводу номинального сопротивления датчика я уже писал, параметры этого датчика согласованы между поставщиком разработчиком и потребителем. Хе-хе. По крайней мере, теперь всем ясно, что они либо придурки, либо вредители. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
PEF Опубликовано 25 мая, 2020 Поделиться Опубликовано 25 мая, 2020 Возможно и то и другое. Я рассматривал вариант с уменьшением значения опорного напряжения АЦП (там есть вариант 3,3В) для повышения дискретности но забросил эту идею по следующим причинам: 1. Для вывода информации на индикатор десятые доли градуса не выводятся только единицы. 2. Отклонения в таблице номиналов температуры по ТУ +- 1° 3. Провожу опыт. Беру два датчика подключаю к лабораторному 14 бит АЦП, опускаю датчики закрепленные на одной медной пластине, в стакан с водой и наблюдаю дрейф в разницы показаний течении суток до 0,5° Причина этого явления мне неизвестна. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
avv_rem Опубликовано 25 мая, 2020 Поделиться Опубликовано 25 мая, 2020 (изменено) И прокомментируйте таблицу Сравнение.xlsx. А то цифры как с потолка. 10.05.2020 в 20:08, PEF сказал: temper=20+((kod-630.54)/((-10.96+((kod-411.43)/(-138.77+((kod-241.35)/(0.002222*kod-3.084))))))); И последнюю формулу приведите как в цитате. А то я просто затрахаюсь вводить ее с рисунка (если вообще не ошибусь). Тем более, что справа она читается не полностью. Изменено 25 мая, 2020 пользователем avv_rem 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
avv_rem Опубликовано 25 мая, 2020 Поделиться Опубликовано 25 мая, 2020 (изменено) 18 минут назад, PEF сказал: Причина этого явления мне неизвестна. Ничего удивительного. Да там датчик не столько температуру воды измеряет, сколько температуру корпуса. Он смонтирован раком в каком-то китайском подвале, и термопасты внутри с гулькин хрен. Любой сквозняк в помещении всю картину измерения испортит. Я же давал ссылку на статью около часа назад. Очень рекомендую. Изменено 25 мая, 2020 пользователем avv_rem 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
PEF Опубликовано 25 мая, 2020 Поделиться Опубликовано 25 мая, 2020 Вот формула на всю таблицу T=-40+(kod-991,14)/(-2,43+( kod -942,54)/(68,39+( kod -825,45)/(-10,39+( kod -630,54)/(-436,47+( kod -411,43)/(-0,6926+( kod -241,35)/(493,38+( kod -136,48)/(-1,89-0,02406* kod))))))) В таблице первые два столбца это данные из таблицы значений датчика. 3й столбец это код АЦП соответствующий данному табличному Rt (округленный до целого числа) , tc(ln) это значение температуры рассчитанное по вашей формуле для соответствующего кода. Затем отклонение по модулю от табличной температуры. Столбец tc(1/kod) это значения температуры рассчитанные по моей формуле для того же кода. Последний столбец это модуль отклонений от табличной температуры. Датчики на фотографии это явно левые поддельные датчики. Таких много на рынке. Свои датчики покупал на заводе с паспортами. По поводу дрейфа. Датчики вкручены в одну медную пластину и пластина и оба корпуса находятся в жидкости. Оба корпуса имеют одну и туже температуру и она практически не меняется, а разница показаний плавает. Я думаю, что это что то похожее на дрейф стабилитронов. Мне попадались расширенные характеристики на стабилитроны в которых указывалась кратковременная стабильность и рысканье напряжения стабилизации, а также стабильность в течении суток. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
avv_rem Опубликовано 25 мая, 2020 Поделиться Опубликовано 25 мая, 2020 Увы. Худшие предположения снова оправдались. Очередной миф. Разве можно так проверять. Первый же тест таблицы показывает минимум 3 ошибки. И это после того, как я показал на ряде графиков катастрофическую потерю точности из-за недостаточной точности АЦП! Сразу вопрос. Как же мы все-таки округляем код АЦП? Если мы просто отбрасываем дробную часть, то откуда взялись красные цифры? Если мы округляем код до целого числа, то откуда взялись синие цифры? С черными цифрами полностью согласен. И откуда взялся узел 132,2ом на температуре 110°C? В предыдущих таблицах его не было, и поэтому полиномом я его не охватывал. Разумеется, традиционная методика в этом случае даст дополнительную ошибку. Причем, довольно большую. Я же действовал практически наугад, вслепую. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
PEF Опубликовано 25 мая, 2020 Поделиться Опубликовано 25 мая, 2020 Узел 132,2 я получил экспериментальным путем её точность +-0,5 град. и приляпана она для того чтобы хоть как то оценить край. В расчете я ёё тоже не учитывал. Что такое сопротивление резистора Rd (2130.07) в схеме замещения делителя, и единиц Максимальний код (1013,094) АЦП в схеме замещения делителя я не понимаю. Цифры кодов у меня несколько другие. Нашел у себя ошибку округления на строке 80 градусов. Сравнение.xlsx 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
avv_rem Опубликовано 25 мая, 2020 Поделиться Опубликовано 25 мая, 2020 33 минуты назад, PEF сказал: Что такое сопротивление резистора Rd (2130.07) в схеме замещения делителя, и единиц Максимальний код (1013,094) АЦП в схеме замещения делителя я не понимаю. Обычная схема замещения для упрощения расчетов. Повторю в очередной раз, что откуда взялось. Нет нужды привязываться к опорному напряжению АЦП. Можно сразу считать в кодах АЦП. Вместо напряжения 4,947в появляется код 1013,09. 43 минуты назад, PEF сказал: Узел 132,2 я получил экспериментальным путем её точность +-0,5 град. и приляпана она для того чтобы хоть как то оценить край. В расчете я ёё тоже не учитывал. Формула с дробями строилась по диапазону 10°C...100°C или 10°C...128°C? Все точки из таблицы брались при аппроксимации, или только некоторые? К примеру в тестовой таблице нет температур 15°C, 25°C, 35°C, 45°C. Они как-то влияли на дроби, или нет? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
PEF Опубликовано 26 мая, 2020 Поделиться Опубликовано 26 мая, 2020 В апроксимации участвовало только 5 точек 20, 40, 60, 80, 100 град Точки 15, 25, 35, 45 на дробь не влияют. Их конечно можно учесть но это излишняя точность и раздутие формулы. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
avv_rem Опубликовано 26 мая, 2020 Поделиться Опубликовано 26 мая, 2020 1 час назад, PEF сказал: Точки 15, 25, 35, 45 на дробь не влияют. Их конечно можно учесть но это излишняя точность и раздутие формулы. Значит, все же по типу Лагранжа: Любой ценой провести кривую через заданные точки, а на промежуточных – хоть трава не расти. Выход за диапазон интерполяции – катастрофа. Найти ошибки экспериментальных данных нельзя. Тем временем я уже настроил кучу графиков. Коды не округлял. Вижу небольшой, но какой-то странный всплеск в районе кода 103. Что, впрочем, неудивительно, учитывая нарисованность точки 132,2. На рисунке график разности «логарифмы минус дроби». Пришел к выводу о недостаточной точности коэффициентов в вашей формуле. Хотя, возможно, и кривизна таблицы сказывается. Я – то в относительных единицах считаю. Немного сложнее, но хватает типа SINGLE. Мне и 4 – 5 верных цифр мантиссы выше крыши хватает. Короче, нужны более точные коэффициенты. Жду. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Евгений Опубликовано 26 мая, 2020 Поделиться Опубликовано 26 мая, 2020 temper=20+((kod-630.5423908)/((-10.95548358+((kod-411.4327193)/(-138.7653599+((kod-241.3503698)/(0.00222222732*kod-3.083623003))))))); 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.