Vin показывает на 0,5 вольта от факта. Это поддается корректировке или проблема с железом?
Здравствуйте!
Питание контроллера осуществляется по схеме, приведенной в документации. То есть осуществляется через диоды. Измерение напряжения питания производится уже после диодов. Из-за того, что небольшое напряжение падает на диоде, измеряемое напряжение меньше напряжения источника питания.
Если вам это критично, то правильнее будет создать с помощью правил виртуальное устройство, в котором отобразить точное значение питающего напряжения. Его можно получить добавив 0,5 В к измеренному. Это можно сделать, например, так:
defineVirtualDevice("Vin", {
title: "Input Voltage",
cells: {
Vin_corr: {
type: "value",
value: 0,
},
},
});
defineRule({
whenChanged: "wb-adc/Vin",
then: function (newValue, devName, cellName) {
dev["Vin"]["Vin_corr"] = dev["wb-adc"]["Vin"] + 0.5;
},
});
В результате работы правила на странице устройств появится еще одно окно, в котором будет выведено скорректированное значение напряжения питания:
В одной из тем видел, что ранее конфигурационные файлы по adc назывались wb-homa-adc.conf и в нем прописывалось количество знаков после запятой и множитель. В обновлённом файле нет таких параметров. Можно ли добавить эти параметры, чтобы без правил обойтись?
Эти параметры в актуальном ПО передаются через Device Tree — Wiren Board
В релизе testing настройка количества знаков после запятой доступна для изменения из веб-интерфейса: