ВикторС, я согласен с подбором номиналов резисторов. С пояснением от Карла-Хайнца также невозможно не согласиться. Но, не согласен с "Контролировать результат по тестам Т2-Т3."
Как уже было сказано, тесты Т2 и Т3 показывают разницу между измеренным и теоретическим значением на делителе напряжения. В тесте Т2 это делитель из резисторов 680, в тесте Т3 470к.
Расчет прост. Для Т2 сначала считается теоретическое значение:
u680 = ((long)ADCconfig.U_AVCC * (PIN_RM + R_L_VAL) / (PIN_RM + R_L_VAL + R_L_VAL + PIN_RP));
производится измерение:
adcmv[0] = W20msReadADC(TP1);
и высчитывается разница:
adcmv[0] -= u680;
Для Т3 аналогично.
Очевидно, что если значение опорного напряжения U_AVCC расчитано неверно, то и результат этого сравнения также будет не верен.
Т.е. пришли к пониманию, что изначально требуется знать точное значение опорного напряжения, которое расчитывается на основании источника напряжения с заведомо известным значением на ADC4.
Yuriy_King, для вас специально: поэтому значение источника напряжения с заведомо известным значением на ADC4 опосредованно принимает участие во всех последующих расчетах через значение опорного напряжения АЦП.
Так что, контролировать результат по тестам Т2-Т3 некорректно.
Но, это все красиво в теории.
В реальности, имеем т.н. шилд для ардуино, на картинке. Установленный TL431 оказался подделкой или отбраковкой, измеренное на нем напряжение 2467 мВ.
Сначала по-простецки загрузил код:
TP_DDR = _BV(TP1_LR) | _BV(TP2_LR);
TP_PORT = _BV(TP1_LR);
for( ; ; );
и измерил точное напряжение для теста Т2-12. ТП3 в тестах участия не принимал, т.к. стандартно в ардуино на PB5 висит светодиод, и часть тока идет через него.
Для теста Т3-12 измерить точное значение напряжения не удалось, т.к. входное сопротивление мультиметра на диапазоне 5 В лишь 1МОм, и он вносил большую ошибку.
Аналогично было измерено Aref, включаем АЦП и гоняем пустой цикл.
Т.е. итогом оказалось знание значений для теста Т2-12 и Aref.
Далее, загрузил код, который расчитывал значения Aref и Т2-12 и выводил его в терминал. Подбором значения с ADC4, на котором стоит TL431, выяснил, что "правильное" его значение не 2467мВ, а 2457мВ. Только с ним ранее измеренные Т2-12 и Aref условно совпали с расчетными.
С этим значением 2457мВ пересобрал прошивку.
Насколько точно показывает ТТ? А кто его знает.
