Page 1 of 1

Интеграция с Tuner Studio - термистор

Posted: Sat Jan 25, 2014 8:19 am
by rus084
в TS я немогу откалибровать термистор : к 3.3в на плате подключил обычный резистор , - питания к термистору , общую точку к ацп .
показывает постоянно 200 градусов . в чем дело?

Re: Интеграция с Tuner Studio - термистор

Posted: Sat Jan 25, 2014 1:43 pm
by AndreyB
какой термистор? к какой ноге? какое напряжение в общей точке?

фотку в студию. термистор же ты заземлил, правда? :)

Re: Интеграция с Tuner Studio - термистор

Posted: Sat Jan 25, 2014 2:24 pm
by rus084
резистор на 5.6к , термистор при температуре 0 градусов - 1900 ом , при 25 - 1400 . при 25 градусах напряжение остается 840мв .
при держании термистора в руках , температура в ts начинает потихоньку расти .

Re: Интеграция с Tuner Studio - термистор

Posted: Sat Jan 25, 2014 2:30 pm
by puff
нужно нарисовать для тупых вроде меня.

GND->NTC->PA6->5.6K->3.3V?

Re: Интеграция с Tuner Studio - термистор

Posted: Sat Jan 25, 2014 2:32 pm
by AndreyB
Ой, а я знаю, в чём одна из проблем :(

Сейчас весь код вокруг измерений напряжения исходит их того, что напряжение на входе поделено пополам - т.е. он всегда умножает то, что он считывает на два. У тебя деления напряжения на два нет: из-за этого математика вся съезжает, из-за этого цифры левые.

По уму нужно этот момент про деление на два делать настраиваемым для большей гибкости. Хочешь заняться? :) Я могу сделать сложную половину и тебе оставить простую половину.

Re: Интеграция с Tuner Studio - термистор

Posted: Sat Jan 25, 2014 2:37 pm
by rus084
puff , так и есть .
russian , давай

Re: Интеграция с Tuner Studio - термистор

Posted: Sat Jan 25, 2014 2:39 pm
by AndreyB
Итак, если кто-то хочет помочь сделать это место настраивыемым:
первый этап: нужно макрос 'getVoltage' переименовать в 'getVoltageDivided', а макрос 'adcToVolts' нужно переименовать в 'adcToVoltsDivided', и прислать мне на почту патч :)

Re: Интеграция с Tuner Studio - термистор

Posted: Sat Jan 25, 2014 2:40 pm
by puff
russian, а зачем оно делится пополам? ведь от этого точность еще больше падает?

Re: Интеграция с Tuner Studio - термистор

Posted: Sat Jan 25, 2014 2:41 pm
by AndreyB
puff wrote:russian, а зачем оно делится пополам? ведь от этого точность еще больше падает?
машина 5 вольт, ацп - 3 вольта

Re: Интеграция с Tuner Studio - термистор

Posted: Sat Jan 25, 2014 2:44 pm
by AndreyB
puff wrote:и кстати, это вот 5,6К сопротивление и называется в настройках TS bias resistor?
ну естественно :)

Re: Интеграция с Tuner Studio - термистор

Posted: Sat Jan 25, 2014 2:59 pm
by puff
не совсем очевидно про машина 5, ацп 3.
во-первых, 3,3 - разве нет?
во-вторых, не в два раза? если бы в два раза - ацп был бы 2,5 - разве нет?
необходимость удвоения чем вызвана? чтобы получить сразу "правильное" значение для датчика кислорода?
не правильнее будет оставить в АЦП получение "сырого" результата, а обрабатывать эти данные уже непосредственно там, где они используются? (на ум приходят только датчик давления воздуха и датчик кислорода, в остальных вроде измеряем сопротивление). или придётся для каждого канала АЦП задавать эти коэффициенты - как бы потом не потеряться в этих настройках.

Re: Интеграция с Tuner Studio - термистор

Posted: Sat Jan 25, 2014 3:01 pm
by AndreyB
конечно же 3.3, я просто ленился писать
мне резисторы проще всего припаивать в делитель одинаковые - поэтому у меня в два раза. Коэффициет общий точно нужно сделать настраиваемым для желающих припаивать неодинаковые резисторы.

много что можно сделать лучше, даже скажу больше - почти ВСЁ можно сделать лучше. давай делать? :)

Re: Интеграция с Tuner Studio - термистор

Posted: Sat Jan 25, 2014 8:28 pm
by AndreyB
Теперь нужно добавить новое поле в структуру данных, которая настраивается через TunerStudio - это делается добавлением в низ структуры EngineConfiguration

когда в EngineConfiguration добавляется поле - увеличивается размер в rusefi.ini и просто в конец добавляется еще одна новая строчка

у новой настройки - коэффициент деления, назовём её analogInputDividerCoefficient - должно быть значение по-умолчани, которое по-умолчанию 2. Это значение нужно присовоить в методе setDefaultConfiguration

Всё. теперь надо в макросе adcToVoltsDivided вместо умножения на 2 - начать умножать на engineConfiguration->analogInputDividerCoefficient

Если где-то какие-то файлы не будут компилиться - в нужно будет добавить extern engineConfiguration * engineConfiguration; - для ссылки на внешнюю структуру кофигурации. Одним словом, немного улучать код совсем не сложно.

Re: Интеграция с Tuner Studio - термистор

Posted: Sun Jan 26, 2014 9:07 am
by rus084
что именно нужно , я понял отлично , но запутался с фалами кода (какой куда)