Решил собрать устройство измеряющую температуру с помощью двух термопар. Собрал печатную плату, по следующей схеме: Спойлер *Красной линией обвёл часть отвечающую за усиление сигнала с термопар.
*Код отвечающий непосредственно за измерения пометил комментарием: "//+++".
Как видно, обе части отвечающих за измерение температуры построены абсолютно одинаково, как аппаратно, так и программно. Но значения меряют по разному. Если подышать на термопары, то термопара подключённая к PC0 покажет изменения в температуре, а термопара подключённая к PC2 никак не отреагирует. В теплой воде PC0 показывает температуру примерно на 7 выше, чем PC2. Температуру пара в чайнике показывают одну и туже. Это не просто разница в чувствительности, разница между PC0 и PC2 не стабильно 7 градусов.
*Термопары одинаковые. Менял местами, ничего не изменилось.
В чем может быть проблема?
Последний раз редактировалось Gap Ср июн 14, 2017 10:15:21, всего редактировалось 1 раз.
C такой смехатехникой, не удивительно... Зачем R4 R8 ? Кто разрешил 358 нагружать на емкость? Почему не нагружен на активное сопротивление? Кто решил ставить в обратной связи подстроечники? У тебя там самовозбуд, наверняка...
Обрати внимание на последнюю картинку-схему. Она самая грамотная, так как является вольной переделкой весьма продуманной схемы от аналог девайсес. Там хоть и поставили подстроечник, но при этом избавились от возбуда, добавив конденсатор в ОС. R9 там является частью схемы усилителя, а не просто последовательным резистором. А 358 нагрузи 10 кОм.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
1. При однополярном питании на входы + ОУ принято подавать некоторое напряжение смещения. После усиления это напряжение вычитают. 2. Перед чтением результата АЦП data = ADCW; //+++ рекомендуется подождать флага готовности. АЦП - штука медленная и не выдаёт ответ сразу.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Ради интереса... провёл эксперимент. Налил в кружку кипяток и каждые 30 секунд мерял температуру. Построил график: Спойлер *Температура приведена без компенсации холодного спая.
Добавлено after 16 minutes 52 seconds: Flasher, спасибо за указание правильного направления. Но, обвязка неправильная как на PC0, так и на PC2, тогда почему измерения разные?
Отсоединить один выход LM358. Соединить PC0 и PC2 вместе. Определитесь камень или аналоговая часть. Можно в принципе и цешкой замерить на выходах LM358. АЦП работает в диапазоне до 100ед.....???
uk8amk, добавил флаг готовности следующим образом:
Код:
while(ADCSRA != 0x95){} data = ADCW; ADCSRA |= 0x10;
Ничего не изменилось.
Добавлено after 1 hour 4 minutes 22 seconds: bob1, отсоединил один выход LM385, которая идет к PC2. И соединил на Atmega8A PC0 и PC2. Разница есть, причем чем выше температура, тем выше разница. При измерении температуры пара в чайнике, разница в 13 градусов. Причем PC0 < PC2.
P.s. Забыл сказать. Прежде, когда PC0 не было соединено c PC1. Я, когда мерял температуру пара, с помощью подстроечных резисторов настроил термопары так, что б они показывали одинаковую температуру. Возможно именно поэтому на графике в моей предыдущем сообщении, чем ниже температура, тем выше разница.
P.s.s. Сейчас вспомнил... Достаточно давно, я случайно сделал КЗ на этом микроконтроллере (подключил AREF и AVCC к земле), которое заметил, только после того как он раскалился. Возможно здесь собака и зарыта. К сожалению на данный момент не имею другого кристалла для проверки.
Код ужасен. Динамическую индикацию обычно делают на прерывании таймера либо в бесконечном цикле с низкой частотой (порядка 200-1000 Гц), делать как у вас сейчас - нарываться на неодинаковую яркость сегментов, гашение первых и засветы. Для выбора комбинации диодов для каждой цифры заводят массив констант, из которого выбирают по индексу. Также и с разрядами. Отдельные биты стоит оборачивать в макросы чтобы было удобно изменять если что:
Почему не дожидаетесь окончания преобразования? У вас вроде еще PC1 свободен, что если подключить его в параллель к PC0 или PC2 - может он более линеен? Соединять AREF с VCC - плохая идея.
COKPOWEHEU, спасибо за наводку по индикации. К PC1 у меня подключён терморезистор, который измеряет температуру помещения для компенсации холодного спая. В одном из моих предыдущих комментариев, добавил в код ожидание окончания преобразования.
Короче говоря... Поставил другую Atmega8A, разница в измерениях осталась, как PC0 показывал меньше PC2 так и показывает... и тут я в панике вспоминаю код... вспоминаю следующие строки:
Температуру на PC0 я рассчитывал по одной формуле, а на PC2 по другой) В общем одинаковые значения показывают АЦП PC0 и PC2. Значит ошибка где то в аналоговой части.
Можно и в основном цикле. Главное чтобы за одну итерацию обрабатывалось не более одного разряда. Тем более что требования к точности временных интервалов там минимальны.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения