Макетные платы и точные измерения напряжения
Я пытаюсь настроить термистор (PT1000) для работы с arduino. Для этого я использовал делитель напряжения и вывод 5 В в качестве источника напряжения. Я получал очень нестабильные результаты, поэтому я удалил термистор и вместо него использовал резисторы 2 1 Ком.
Я все еще получал результаты в диапазоне от очень близкого к истинному значения от 1 Ком до 1,2 Ком. Для справки, 4 Ом эквивалентны изменению температуры на 1 градус Цельсия.
Я измерил падение напряжения каждого резистора и был удивлен, что оно далеко от эквивалентного. Посмотрите видео полной настройки и подключения делителя напряжения крупным планом - https://easyupload.io/5fctxm
Я не могу объяснить разницу в падении напряжения 0,3 В между двумя резисторами одинакового номинала (сопротивление 1000 Ом +-0,5% было проверено мультиметром) каким-либо другим способом, кроме того, что макетные контакты и перемычки не подходят для точного измерения напряжения. Может ли кто-нибудь с большим опытом подтвердить, сломан ли мой макет или такое поведение предназначено.
@sanjihan, 👍0
Обсуждение2 ответа
Лучший ответ:
Чтобы оценить стабильность аналоговых показаний на макете, я
провел эксперимент, очень похожий на ваш. Я подключил два 1 Ком
резисторы на макетной плате, соединенные последовательно между GND моего Arduino
и +5V. Я соединил среднюю точку с A0 и составил гистограмму из
миллиона последовательных вызовов analogRead(A0)
.
Вот мой тестовый код:
const int histo_length = 64;
const long histo_count = 1000000;
long histo[histo_length];
int histo_start;
void setup() {
Serial.begin(9600);
// Центрируйте гистограмму по среднему показанию.
int sum = 0;
for (int i = 0; i < 16; i++)
sum += analogRead(A0);
int average = sum / 16;
histo_start = average - histo_length/2;
// Заполните гистограмму.
Serial.println("Ouliers:");
for (long i = 0; i < histo_count; i++) {
int x = analogRead(A0);
if (x >= histo_start && x < histo_start + histo_length)
histo[x - histo_start]++;
else
Serial.println(x); // средство печати
}
// Распечатайте его.
Serial.println("Histogram:");
for (int i = 0; i < histo_length; i++) {
Serial.print(histo_start + i);
Serial.print(" ");
Serial.println(histo[i]);
}
}
void loop() {}
Обратите внимание, что полная гистограмма не поместилась бы в памяти моего Uno, отсюда и хитрость с распечаткой выбросов вместо их записи.
А вот результирующая гистограмма:
508 0
509 39386
510 960567
511 47
512 0
Все остальные ячейки гистограммы были пусты (никаких выбросов).
Как вы можете видеть, 96% звонков были возвращены 510. Большинство из тех, кто не вернул 510, вернули 509, и менее 0,005% из них вернулись 511. Среднеквадратичная дисперсия показаний составляет около 0,04 шага АЦП.
Я едва ли могу представить себе что-либо более стабильное, чем это.
Очень круто, спасибо. Позже я пришел к выводу, что на моей макетной плате неисправны разъемы. 1 Ком, измеренный мультиметром, оценивается в 996 Ом. При подключении к макетной плате она составляла от 1000 до 1200 Ом. Это был мой первый раз, когда я использовал макеты, так что это застало меня врасплох., @sanjihan
Схемы даже для такого вопроса незаменимы.
Исходя из следующего:
Я не могу объяснить разницу в падении напряжения 0,3 В между двумя резисторами одинакового номинала
... означает, что напряжение на каждом из 2 разных резисторов, оба с маркировкой 1 Ком, последовательно соединенных с одним и тем же резистором 2,1 Ком, подключенным к 5 В и 0 В, отличается на 0,3 В.
Если предполагается, что два резистора по 1 Ком составляют 0,5% (5-я цветная полоса зеленого цвета), а резистор 2,1 Ком подходит так же хорошо, как и потенциал 5 В. Тогда резистор с сопротивлением 1 Ком, скажем, на 0,5% меньшим, составит 995 Ом. И еще, скажем, на 0,5% большее сопротивление составило бы 1005 Ом. Напряжение на 1-м в этой схеме резисторного делителя будет составлять 1005 x (5 / (1005 + 2100)) или 1,62 В. А 2-й будет равен 995 x (5 / (995 + 2100)) или 1,61. Это разница в 0,01В. Это меньше, чем измеренная разница между двумя разными резисторами 1 Ком, учитывая максимально возможную процентную погрешность в 0,5%.
Таким образом, разницу в 0,3 В между показаниями напряжения двух разных резисторов 1 Ком трудно учесть. Возможно, очистка соединений может улучшить результаты измерений.
Спасибо. Оба резистора имеют сопротивление 1 Ком с допуском 0,5%, проверенным мультиметром. Я убрал макет из всех соединений, и теперь показания сопротивления соответствуют ожидаемым., @sanjihan
Несколько дней назад, когда я подключал ЖК-дисплей, я столкнулся с аналогичной проблемой. Если я слегка прикасался к проводам, дисплей "сходил с ума". Для этого я сделал gif: D https://im.ezgif.com/tmp/ezgif-1-eabc871208.gif, @sanjihan
Обратите внимание, что вы можете обнаружить, что большинство резисторов находятся на крайнем пределе заданного допуска. Вероятно, это связано с тем, что производители отфильтровывают более точные резисторы по более высокой цене. Вы постоянно обновляли ЖК-дисплей, делая его более восприимчивым к прерывистым подключениям. Возможно, если бы вы перестали обновлять его и прикоснулись к проводам, меньше или вообще ничего не произошло бы., @st2000
Орехи, в ответе есть ошибка, и разница не превышает 0,3В., @st2000
Хорошо, исправил это. Но это указывает на то, что измеренная разница в 0,3 В была неожиданной и не могла быть учтена! Хорошо, что вы догадались об этом, устранив макет., @st2000
Еще раз спасибо вам. Буду использовать CircuitLab в будущем вопросе, теперь, когда я знаю о его существовании., @sanjihan
Таким образом, контакты макетных плат должны иметь сопротивление 0 Ом или для них характерно, что они вызывают несколько Ом, даже при токе и напряжении arduino?, @sanjihan
Это, вероятно, более случайно, чем последовательно несколько Ом. Вот почему я изначально сказал, что макетные платы хороши для насыщенных схем (то есть цифровых) и не так хороши для некоторых аналоговых и плохи для высоких частот. Опять же, если это важно, используйте чистые провода и очистите их от окисления. Кроме того, я не понимал, что вы основываете свои измерения АЦП на 1 выборке. Обычно этого никогда не делают из-за шума. Поскольку это встроенное программное обеспечение (ограниченная память) Я предлагаю использовать [экспоненциальное усреднение] (https://en.wikipedia.org/wiki/Exponential_smoothing )., @st2000
- Подключение Arduino к сервоприводу с внешним источником питания
- Как подключить несколько разных датчиков, использующих одни и те же контакты?
- Использование Arduino UNO в качестве FTDI
- Где находятся положительные и отрицательные отверстия на мини-макете arduino?
- Ограничение питания макетной платы MB-102
- Скорость передачи данных Arduino в 8 раз выше?
- Макет Arduino Uno не работает должным образом
- Что это за контактный разъем?
Вы измерили сопротивление каждого резистора? То, что они рассчитаны на одинаковое сопротивление, не означает, что они обладают одинаковым сопротивлением. В зависимости от того, что именно у вас есть, вы можете получить +-5% или +-1%, @chrisl
Добро пожаловать в Arduino: SE. Это похоже на вопрос об электронике / электротехнике, а не об Arduino., @sempaiscuba
Где именно вы измеряете напряжение, которое отличается на 0,3 В (меньше? больше, чем?) от чего вы ожидаете? Макетные платы хороши для насыщенных схем (например, цифровых), но не подходят для некоторых аналоговых. И ужасен для высоких частот. Значения для резисторных делителей выбираются достаточно высокими, чтобы ограничить ток (т. е. Снизить требования к питанию и нежелательные перепады напряжения), и достаточно низкими, чтобы уменьшить шум. Я бы попытался удалить все оксиды путем повторных вставок и повторного измерения., @st2000
Резисторы @chrisl также были измерены и находятся в пределах 0,5% допуска., @sanjihan
@st2000 Напряжение измеряется на выводе 5 В и первом резисторе в одном случае и на втором резисторе и заземлении в другом случае. Видео показывает больше, чем изображение., @sanjihan
"... видео ..." Благодарим вас за загрузку видео на внешний сервер. Но смысл stack exchange заключается в сохранении вопросов и ответов, чтобы другие могли в будущем извлечь выгоду из вашего вопроса и предоставленных ответов. Так как срок действия видео истечет .. что ж ... было бы намного лучше, если бы вместо этого вы включили схему непосредственно в свой вопрос. Или изображение, на котором цветовые полосы и соединения резисторов были более четкими., @st2000
@st2000 Я согласен. Какой инструмент обычно используется для создания схем и обмена ими?, @sanjihan
"Какой инструмент обычно используется ..." Я обычно включаю фотографии. Но на панели инструментов stackexchange есть ЗНАЧОК, доступный при редактировании вопроса или ответа., @st2000