"Нет повести печальнее на свете,
чем повесть о дебиле в интернете ..."
уточнение от автора:
ресурсов было несколько, автор может путать
время , место и последовательность событий, но на общую картину
это никаким образом не влияет.
продолжение
Сцена первая.
Чуду был дан конкретный ответ в цифрах и информация
по методам расчетов.
Шло время....
Сцена вторая.
Чудо появилось на другом ресурсе, с вопросом о том,
почему он не может выставить нужную ему частоту ШИМ.
с примером где то спизженного кода.
На что ему был дан , ответ , что перед настройкой таймеров их
следует сбрасывать.
А код типа TCCR1B|=(0 сдвигWGM11) это гавно говняное. (Как корректно вывести символы сдвига ?)
Сцена третья
( ресурс тоже наверное)
Чудо пожаловалось на то, что он заводит таймер и все должно работать,
но ШИМ нужной частоты на пинах (абсолютно левых) отсутствует.
Чуду было объяснено, что аппаратные пины привязаны жёстко
и менять их смысла нет никакого.
Сцена четвертая
ШИМ вроде работает, но в программе написанной
(во всех смыслах) Чудом, частота ШИМ ~400Гц, хотя таймер настраивается
на 150Гц. Примерно так и звучал вопрос.
Было объяснено, что если таймер настраивается ручками,
то нет никакого смысла в вызове функции analogWrite.
тем более в виде : analogWrite(PWM1,OCR1A);
Кроме того, полный код был написан и выложен специально по
просьбе нашего Чудесного друга.
С полной настройкой регистров и осцилограммой.
Что опять же не помешало ещё раз задать этот вопрос.
Сцена пятая
Автору прилетело оповещение, о сообщении, в котором было указано, что
код выдает ШИМ, частотой в два раза меньше заявленной.
Я бросил все , собрал макет , залил код , проверил своим
любимым fluke 190-204...
Потратил 40мин жизни.
Пиздежь...
Все работает ровно так, как и должно работать.
Сделал вывод, что помогать дебилу бесполезно и
сослался на то, что калькулятор и осциллограф бракованные...
Сцена шестая.
РАЗВЯЗКА.
Чудо написало, что да все работает нормально ,
а написано было данное гавно для того, что бы
я , ОТОЗВАЛСЯ НА ЕГО ПРОСЬБЫ О ПОМОЩИ...
Тебя что мама дома в ванной ,наполненной рыбным супом, рожала ?
А собственно говоря, с какого такого перепугу
кто то должен отзывается на твои просьбы ?
Тут до меня дошло, что Чудо относится к категории
риэлторов/перекупов/прочихпидорасов(нужное зачеркнуть).
И я решил что "Йенг тебе по всей морде лица нужно размазать",
а не код за тебя писать.
PS. да у меня бомбит, но от такого отношения
от того кому помогаешь, забомбит у любого.
Возможно моя программа скорее всего не правильная, потому что я хотел так: Чтобы А 0 изменял ШИМ который на 9 пине,а А1 на 10 пине и они друг другу не мешали. Из предыдущих коментариев об инертности я сделал вывод что отбросить часть входных можно при помощи функции delayЯ сделал задержку 15 мс потом сделал 25 мс.Это не привело к результату раздельного управления,хорошо еще осталось повесить емкость на входа.(увидел из сообщений пкф)Я не знаю где взять эту информацию.Администратор если несу спам удали пожалуйста все мои сообщения.Заканчимваю с Ардуино.!Всем спасибо за внимание!!!
О! Ну как же можно быть таким упоротым. Задержка здесь не поможет, если ты не считываешь после задержки ещё раз тот же канал. Если после задержки считываешь другой канал, то переключение происходит после задержки. Поэтому последовательность действий такая. Считываем значение канала и забываем про него - этим мы переключили АЦП на нужный канал. Делаем задержку. 1мс будет достаточно! Ещё раз считываем тот же канал - получаем правильное значение. Считываем второй канал, задержка 1 мс, считываем второй канал ещё раз и используем правильное значение.
Из предыдущих коментариев об инертности я сделал вывод что отбросить часть входных можно при помощи функции delayЯ сделал задержку 15 мс потом сделал 25 мс.
Мне непонятно, как Вы пришли к такому выводу, и вообще, какое отношение delay() имеет к "отбросить".
Отбросить - это буквально следующее.:
ValUP = analogRead(joyUP);
ValUP = analogRead(joyUP);
Т.е. мы читаем первый раз, но результат не используем, после чего читаем второй раз в туже переменную (затирая значение с первого раза) и уже это значение используем для дальнейших вычислений.
Еще: Вам уже неоднократно указывалось, что для оценки нужно знать выходное сопротивление источника. В вашем случае нужно знать номинал потенциометра. Но сами Вы, очевидно, посчитать постоянную времени не умеете, а с форумчанами (чтобы они Вам помогли) информацией не делитесь.
Если окажется, что сопротивление велико, то, вероятно, действительно между двумя вызовами analogRead() нужно вставить delay(). Т.е. должно получиться:
ValUP = analogRead(joyUP);
delay(15);
ValUP = analogRead(joyUP);
Цитата:
Это не привело к результату раздельного управления,хорошо еще осталось повесить емкость на входа.(увидел из сообщений пкф)Я не знаю где взять эту информацию.
Входная емкость АЦП указана в дэйташите на контроллер. И рекомендации по выходному сопротивлению источника - там же.
Чувак, я тоже периодически обращаюсь к Кактусу за помощью. Прочитав мое сообщение в ВК, он делает паузу. Вероятно, блюëт или матерится с моей писанины и мировосприятия, но дебилом пока не называет. У меня ещё есть шанс)
Человек он грамотный, но без эмоций. Выдаëт информацию чëтко и быстро. И требует такого же оперативного восприятия.
В твоëм случае повестку в ПНХ тебе вручили, придётся перечитать всю тему, чтобы заполучить решение.
Спасибо большое всем кто участвовал в беседе! А так же тем кто развешивал ярлыки все таки буду объективным все равно мне помогли. Я еще с большим азартом окунулся в поиск решения, так как разведка не сдается!;)Способ "отбросить" результата не дал, сделал задержку тоже не получилось. Начал подумывать о том чтобы что то менять в ADMUX и ADCSRA но это уже для взрослых ,хотя надо чуть позже разобраться. Вообщем решение подошло отсюда, наверное это из сферы емкости и инертности я подтянул аналоговые входы и все заработало.
Странно. В обведённом абзаце написано, что подтягивающие резисторы на аналоговых входах используются в цифровом режиме, а в аналоговом они вносят погрешность в измерения. Как они смогли помочь в данном случае непонятно. 10к переменники достаточно малы, чтобы за 1 мс задержки полностью успели перезарядиться цепи АЦП.
Т.е если я буду использовать INPUT_PULLUP,то это будет правильное решение?
Нет. Сопротивление PULLUP резистора больше 100кОм. Попробуй посчитать как изменится сопротивление 5к - среднее положение переменника - если параллельно ему подключить 100кОм? Эти изменения ни как не могут повлиять на заряд цепей АЦП.
А что, в джойстике переменник подключается как-то иначе?
Да нет. Не иначе. Тогда как при линейной характеристике про повороте на 50% - среднее положение - из 10к получается 2.5 к? В джойстики ставят именно А, что бы в среднем положении было 50% - ровно половина.
И хочу заметить что нет характеристики где 50% оборотов соответствуют 25% сопротивления.
Да уж. Неожиданный поворот. Я ж имел в виду сопротивление подключенное на прямую к PULLUP резистору. 2.5к это выходное сопротивление каскада, без учёта сопротивления цепей питания, через которые собственно и подключены резисторы. PULLUP резистор подключен не параллельно этому конгломерату. Схема получается сложнее да и расчёт тоже усложняется. А так да. Абсолютно согласен с 2.5к при расчёте постоянных времени. В даташите емкость S/H конденсатора АЦП 14пФ. Время перезарядки получается десятки наносекунд. Это на столько мало, что даже первое преобразование должно давать правильные цифры. У меня к пульту от вертолёта к резисторам джойстика 30к припаяны входы леонардо - входы АЦП такие же- в исследовательских целях. Леонардо генерит PWM для управления наной машинки. Считываю положение резюков 1 раз. Ничего не отбрасываю. Никаких влияний резюков нет. И до 100к в общем и не ожидается. А то что 100к PULLUP резистора сняло проблему говорит только о том, что резюки у ТС не 10кОм а как минимум 10МОМ. Только в этом случае 100к может повлиять.
Странно. В обведённом абзаце написано, что подтягивающие резисторы на аналоговых входах используются в цифровом режиме, а в аналоговом они вносят погрешность в измерения. Как они смогли помочь в данном случае непонятно.
Возможно, схема "джойстика" собрана неправильно. "Подтяжка", наоборот, приведёт к влиянию изменения одного сопротивления на другое ИМХО
hristo3 пишет:
Если бы знал как скинуть видео ,то скинул бы.
Неплохо бы схему подключения резисторов посмотреть, для общего развития))
2.5к это выходное сопротивление каскада, без учёта сопротивления цепей питания, через которые собственно и подключены резисторы.
При номинале резистора более кОма сопротивление цепей питания можно считать равным 0. Что я и сделал.
Цитата:
PULLUP резистор подключен не параллельно этому конгломерату. Схема получается сложнее да и расчёт тоже усложняется. А так да. Абсолютно согласен с 2.5к при расчёте постоянных времени.
Хочешь сказать "по переменному току".
Так ведь в схеме нет частотно зависимых элементов. Следовательно, по постоянному току будет то же самое.
Потенциометр, включенный между питанием и землей (а также во всех иных случаях, когда внутренним сопротивлением и того и другого можно пренебречь) имеет выходное сопротивление от 0 (в каждом из крайних положений) до R/4 - в среднем положении.
Цитата:
А то что 100к PULLUP резистора сняло проблему говорит только о том, что резюки у ТС не 10кОм а как минимум 10МОМ. Только в этом случае 100к может повлиять.
ТС вообще несет какую-то пургу.
Мне кажется, его утверждения помогло/не помогло имеет смысл обсуждать не раньше, чем он приведет схему, по которой у него все подключено.
Мне кажется, его проблема связана с неверным подключением джойстика, а не со скетчем.
Странно. В обведённом абзаце написано, что подтягивающие резисторы на аналоговых входах используются в цифровом режиме, а в аналоговом они вносят погрешность в измерения. Как они смогли помочь в данном случае непонятно.
Возможно, схема "джойстика" собрана неправильно. "Подтяжка", наоборот, приведёт к влиянию изменения одного сопротивления на другое ИМХО
hristo3 пишет:
Если бы знал как скинуть видео ,то скинул бы.
Неплохо бы схему подключения резисторов посмотреть, для общего развития))
"Нет повести печальнее на свете,
чем повесть о дебиле в интернете ..."
уточнение от автора:
ресурсов было несколько, автор может путать
время , место и последовательность событий, но на общую картину
это никаким образом не влияет.
продолжение
Сцена первая.
Чуду был дан конкретный ответ в цифрах и информация
по методам расчетов.
Шло время....
Сцена вторая.
Чудо появилось на другом ресурсе, с вопросом о том,
почему он не может выставить нужную ему частоту ШИМ.
с примером где то спизженного кода.
На что ему был дан , ответ , что перед настройкой таймеров их
следует сбрасывать.
А код типа TCCR1B|=(0 сдвигWGM11) это гавно говняное. (Как корректно вывести символы сдвига ?)
Сцена третья
( ресурс тоже наверное)
Чудо пожаловалось на то, что он заводит таймер и все должно работать,
но ШИМ нужной частоты на пинах (абсолютно левых) отсутствует.
Чуду было объяснено, что аппаратные пины привязаны жёстко
и менять их смысла нет никакого.
Сцена четвертая
ШИМ вроде работает, но в программе написанной
(во всех смыслах) Чудом, частота ШИМ ~400Гц, хотя таймер настраивается
на 150Гц. Примерно так и звучал вопрос.
Было объяснено, что если таймер настраивается ручками,
то нет никакого смысла в вызове функции analogWrite.
тем более в виде : analogWrite(PWM1,OCR1A);
Кроме того, полный код был написан и выложен специально по
просьбе нашего Чудесного друга.
С полной настройкой регистров и осцилограммой.
Что опять же не помешало ещё раз задать этот вопрос.
Сцена пятая
Автору прилетело оповещение, о сообщении, в котором было указано, что
код выдает ШИМ, частотой в два раза меньше заявленной.
Я бросил все , собрал макет , залил код , проверил своим
любимым fluke 190-204...
Потратил 40мин жизни.
Пиздежь...
Все работает ровно так, как и должно работать.
Сделал вывод, что помогать дебилу бесполезно и
сослался на то, что калькулятор и осциллограф бракованные...
Сцена шестая.
РАЗВЯЗКА.
Чудо написало, что да все работает нормально ,
а написано было данное гавно для того, что бы
я , ОТОЗВАЛСЯ НА ЕГО ПРОСЬБЫ О ПОМОЩИ...
Тебя что мама дома в ванной ,наполненной рыбным супом, рожала ?
А собственно говоря, с какого такого перепугу
кто то должен отзывается на твои просьбы ?
Тут до меня дошло, что Чудо относится к категории
риэлторов/перекупов/прочихпидорасов(нужное зачеркнуть).
И я решил что "Йенг тебе по всей морде лица нужно размазать",
а не код за тебя писать.
PS. да у меня бомбит, но от такого отношения
от того кому помогаешь, забомбит у любого.
Возможно моя программа скорее всего не правильная, потому что я хотел так: Чтобы А 0 изменял ШИМ который на 9 пине,а А1 на 10 пине и они друг другу не мешали. Из предыдущих коментариев об инертности я сделал вывод что отбросить часть входных можно при помощи функции delayЯ сделал задержку 15 мс потом сделал 25 мс.Это не привело к результату раздельного управления,хорошо еще осталось повесить емкость на входа.(увидел из сообщений пкф)Я не знаю где взять эту информацию.Администратор если несу спам удали пожалуйста все мои сообщения.Заканчимваю с Ардуино.!Всем спасибо за внимание!!!
О! Ну как же можно быть таким упоротым. Задержка здесь не поможет, если ты не считываешь после задержки ещё раз тот же канал. Если после задержки считываешь другой канал, то переключение происходит после задержки. Поэтому последовательность действий такая. Считываем значение канала и забываем про него - этим мы переключили АЦП на нужный канал. Делаем задержку. 1мс будет достаточно! Ещё раз считываем тот же канал - получаем правильное значение. Считываем второй канал, задержка 1 мс, считываем второй канал ещё раз и используем правильное значение.
Вроде, суббота уже.
Из предыдущих коментариев об инертности я сделал вывод что отбросить часть входных можно при помощи функции delayЯ сделал задержку 15 мс потом сделал 25 мс.
Отбросить - это буквально следующее.:
ValUP = analogRead(joyUP);
ValUP = analogRead(joyUP);
Т.е. мы читаем первый раз, но результат не используем, после чего читаем второй раз в туже переменную (затирая значение с первого раза) и уже это значение используем для дальнейших вычислений.
Еще: Вам уже неоднократно указывалось, что для оценки нужно знать выходное сопротивление источника. В вашем случае нужно знать номинал потенциометра. Но сами Вы, очевидно, посчитать постоянную времени не умеете, а с форумчанами (чтобы они Вам помогли) информацией не делитесь.
Если окажется, что сопротивление велико, то, вероятно, действительно между двумя вызовами analogRead() нужно вставить delay(). Т.е. должно получиться:
ValUP = analogRead(joyUP);
delay(15);
ValUP = analogRead(joyUP);
Это не привело к результату раздельного управления,хорошо еще осталось повесить емкость на входа.(увидел из сообщений пкф)Я не знаю где взять эту информацию.
Входная емкость АЦП указана в дэйташите на контроллер. И рекомендации по выходному сопротивлению источника - там же.
Защекочу то потери сознания;)
Чувак, я тоже периодически обращаюсь к Кактусу за помощью. Прочитав мое сообщение в ВК, он делает паузу. Вероятно, блюëт или матерится с моей писанины и мировосприятия, но дебилом пока не называет. У меня ещё есть шанс)
Человек он грамотный, но без эмоций. Выдаëт информацию чëтко и быстро. И требует такого же оперативного восприятия.
В твоëм случае повестку в ПНХ тебе вручили, придётся перечитать всю тему, чтобы заполучить решение.
Спасибо большое всем кто участвовал в беседе! А так же тем кто развешивал ярлыки все таки буду объективным все равно мне помогли. Я еще с большим азартом окунулся в поиск решения, так как разведка не сдается!;)Способ "отбросить" результата не дал, сделал задержку тоже не получилось. Начал подумывать о том чтобы что то менять в ADMUX и ADCSRA но это уже для взрослых ,хотя надо чуть позже разобраться. Вообщем решение подошло отсюда, наверное это из сферы емкости и инертности я подтянул аналоговые входы и все заработало.
Вот код
01
#define joyUP A0
02
#define joyDown A1
03
#define PWM1 9
04
#define PWM2 10
05
06
int
ValUP;
07
int
ValDown;
08
void
setup
() {
09
Serial
.begin(9600);
10
digitalWrite(14, HIGH);
11
digitalWrite(15, HIGH);
12
pinMode(joyUP,INPUT);
13
pinMode(joyDown,INPUT);
14
pinMode(9,OUTPUT);
15
pinMode(10,OUTPUT);
16
TCCR1A=0;
17
TCCR1B=0;
18
TCCR1B|=(1<<CS11);
19
TCCR1A |= (1 << COM1B1)|(1 << COM1A1);
20
ICR1=13332;
21
TCCR1A |=(1 << WGM11);
22
23
TCCR1B |=(1 << WGM12)| (1 << WGM13);
24
25
}
26
27
void
loop
() {
28
ValUP = analogRead(joyUP);
29
delay(1);
30
ValUP = analogRead(joyUP);
31
32
Serial
.print(F(
"ValUP "
));
Serial
.println(ValUP);
33
34
OCR1A= map(ValUP,0,1023,0,13332);
35
Serial
.print(F(
"OCR1A "
));
Serial
.println(OCR1A);
36
37
ValDown = analogRead(joyDown);
38
delay(1);
39
ValDown = analogRead(joyDown);
40
41
Serial
.print(F(
"ValDown "
));
Serial
.println(ValDown);
42
OCR1B= map(ValDown,0,1023,0,13300);
43
44
Serial
.print(F(
"OCR1B "
));
Serial
.println(OCR1B);
45
46
}
каков номинал переменных резисторов?
10 ком
этого не может быть потому что не может быть никогда, у вас верхнее плечо резистора ВСЕГДА меньше внутреннего подтягивающего
Странно. В обведённом абзаце написано, что подтягивающие резисторы на аналоговых входах используются в цифровом режиме, а в аналоговом они вносят погрешность в измерения. Как они смогли помочь в данном случае непонятно. 10к переменники достаточно малы, чтобы за 1 мс задержки полностью успели перезарядиться цепи АЦП.
Это неправильный совет.
Подтяжка включается так:
pinMode(14, INPUT_PULLUP);
Собственно, приведенный на скриншоте способ тоже работает, но только для некоторых моделей Ардуино. Это связано со схемотехникой контроллеров AVR.
, наверное это из сферы емкости и инертности я подтянул аналоговые входы и все заработало.
Это неправильное решение.
Если Вам даже кажется, что "все заработало", то это далеко не так, и рано или поздно Вы с этим столкнетесь.
Согласен INPUT_PULLUP,я его хотел применить
Т.е если я буду использовать INPUT_PULLUP,то это будет правильное решение?
этого не может быть потому что не может быть никогда, у вас верхнее плечо резистора ВСЕГДА меньше внутреннего подтягивающего
Т.е если я буду использовать INPUT_PULLUP,то это будет правильное решение?
Нет. Сопротивление PULLUP резистора больше 100кОм. Попробуй посчитать как изменится сопротивление 5к - среднее положение переменника - если параллельно ему подключить 100кОм? Эти изменения ни как не могут повлиять на заряд цепей АЦП.
Попробуй посчитать как изменится сопротивление 5к - среднее положение переменника
Попробуй посчитать как изменится сопротивление 5к - среднее положение переменника
10к с характеристикой А в режиме именно пременниика а не реостата?
Именно переменника.
Реостата переменника
я и говорю, подтягивающий резистор тут как слону дробина
Переменника реостата.Вы что издеваетесь?
Режим реостата это когда регулируемый вывод соединён с одним из крайних.
Попробуй посчитать как изменится сопротивление 5к - среднее положение переменника
10к с характеристикой А в режиме именно пременниика а не реостата?
А что, в джойстике переменник подключается как-то иначе?
В режиме потенциометра.
А что, в джойстике переменник подключается как-то иначе?
Да нет. Не иначе. Тогда как при линейной характеристике про повороте на 50% - среднее положение - из 10к получается 2.5 к? В джойстики ставят именно А, что бы в среднем положении было 50% - ровно половина.
И хочу заметить что нет характеристики где 50% оборотов соответствуют 25% сопротивления.
В среднем положении у нас снизу 5 кОм и сверху 5 кОм.
Как не трудно догадаться, они соединены параллельно, следовательно, сопротивление 2.5 кОм.
Да уж. Неожиданный поворот. Я ж имел в виду сопротивление подключенное на прямую к PULLUP резистору. 2.5к это выходное сопротивление каскада, без учёта сопротивления цепей питания, через которые собственно и подключены резисторы. PULLUP резистор подключен не параллельно этому конгломерату. Схема получается сложнее да и расчёт тоже усложняется. А так да. Абсолютно согласен с 2.5к при расчёте постоянных времени. В даташите емкость S/H конденсатора АЦП 14пФ. Время перезарядки получается десятки наносекунд. Это на столько мало, что даже первое преобразование должно давать правильные цифры. У меня к пульту от вертолёта к резисторам джойстика 30к припаяны входы леонардо - входы АЦП такие же- в исследовательских целях. Леонардо генерит PWM для управления наной машинки. Считываю положение резюков 1 раз. Ничего не отбрасываю. Никаких влияний резюков нет. И до 100к в общем и не ожидается. А то что 100к PULLUP резистора сняло проблему говорит только о том, что резюки у ТС не 10кОм а как минимум 10МОМ. Только в этом случае 100к может повлиять.
Странно. В обведённом абзаце написано, что подтягивающие резисторы на аналоговых входах используются в цифровом режиме, а в аналоговом они вносят погрешность в измерения. Как они смогли помочь в данном случае непонятно.
Возможно, схема "джойстика" собрана неправильно. "Подтяжка", наоборот, приведёт к влиянию изменения одного сопротивления на другое ИМХО
Неплохо бы схему подключения резисторов посмотреть, для общего развития))
2.5к это выходное сопротивление каскада, без учёта сопротивления цепей питания, через которые собственно и подключены резисторы.
PULLUP резистор подключен не параллельно этому конгломерату. Схема получается сложнее да и расчёт тоже усложняется. А так да. Абсолютно согласен с 2.5к при расчёте постоянных времени.
Так ведь в схеме нет частотно зависимых элементов. Следовательно, по постоянному току будет то же самое.
Потенциометр, включенный между питанием и землей (а также во всех иных случаях, когда внутренним сопротивлением и того и другого можно пренебречь) имеет выходное сопротивление от 0 (в каждом из крайних положений) до R/4 - в среднем положении.
А то что 100к PULLUP резистора сняло проблему говорит только о том, что резюки у ТС не 10кОм а как минимум 10МОМ. Только в этом случае 100к может повлиять.
Мне кажется, его утверждения помогло/не помогло имеет смысл обсуждать не раньше, чем он приведет схему, по которой у него все подключено.
Мне кажется, его проблема связана с неверным подключением джойстика, а не со скетчем.
Деду надо срочно новый сертификат разработать - Пургоносец )))
Странно. В обведённом абзаце написано, что подтягивающие резисторы на аналоговых входах используются в цифровом режиме, а в аналоговом они вносят погрешность в измерения. Как они смогли помочь в данном случае непонятно.
Возможно, схема "джойстика" собрана неправильно. "Подтяжка", наоборот, приведёт к влиянию изменения одного сопротивления на другое ИМХО
Неплохо бы схему подключения резисторов посмотреть, для общего развития))
[
Это верно. Ещё бы "подтяжку" увидеть
[
Это верно. Ещё бы "подтяжку" увидеть
как может повлиять подтягивающее 20 ком на входное не более (а в основном менее) 2.5 ком, практически никак, то-есть вы нас тут троллите?
как может повлиять подтягивающее 20 ком на входное не более (а в основном менее) 2.5 ком, практически никак, то-есть вы нас тут троллите?
Микроконтроллер Atmega имеет программируемые встроенные подтягивающие к питанию резисторы 20 кОм.
Точнее 20-50 кОм.
В Вашем случае, возможно дело ещё в сборке схемы, слишком длинных проводах, например.
как может повлиять подтягивающее 20 ком на входное не более (а в основном менее) 2.5 ком
Вообще-то немного повлияет, т.к 20+20+2.5 при параллельном включении будет уже 2кОм.
Но это должно давать погрешность в измерении. Я бы попробовал лучше уменьшить сопротивление переменных резисторов, даже и до 5кОм.
Тоже сталкивался с "необъяснимыми чудесами" в электронике, большинство со временем, объяснялись