0 / 0 / 0
Регистрация: 03.09.2015
Сообщений: 29
|
|
Лабораторный мониторинг сопротивления жидкости06.09.2015, 16:47. Показов 15230. Ответов 47
Метки нет Все метки)
(
Сразу хочу предупредить - я врач-исследователь. Поэтому, несмотря на старательные попытки подтянуть знания в области электроники, могу делать тупейшие ошибки. Сейчас занимаемся стволовыми клетками и мне понадобилось получить мониторинг сопротивления жидкости, чтобы измерять динамику изменения концентрации солей. Типа TDS-метр. Дальнейшая логика не принципиальна - там хоть свисток включай, хоть клапан перекрывай. Это мне не очень сложно. Не без помощи уроков уважаемого Di Halt, который пинал в мозг и тыкал носом в самые очевидные ляпы. Я был бы очень благодарен, если бы вы просмотрели все это безобразие, прежде чем я ЛУТ начну делать. Все компоненты уже в наличии. Arduino nano, которых у меня пачка, работает в качестве контроллера. АЦП внешний - briokout c ADS1115 16-bit и обвязкой.
Принципиальная схема: https://habrastorage.org/files/865/05a/5a1/86505a5a1ddd40fb91a016025e06286c.png Логика работы: обычный импульсный блок питания на 12 вольт, линейные стабилизаторы снижают все это до 5 вольт и фильтруют. Просто 5 вольт идет на питание arduino и периферии, где небольшие погрешности напряжения некритичны. Также 5 вольт идут на питание ИОН REF198ESZ. Он на выходе может выдавать 30 мА. Этого достаточно на питание малошумящего операционного усилителя AD795JRZ, АЦП и на ток через раствор. Работаем на принципе обычного делителя напряжений, где раствор выступает в роли резистора с переменным сопротивлением. Операционный усилитель работает в дифференциальной схеме. Оставляем только разницу в диапазоне и умножаем на 7.5. Сигнал получаем АЦП и отдаем контроллеру по y2s. По y2s аналогично подключается экран символьный на 2 строчки обычный. Там прилеплен китайский контроллер, что позволяет сэкономить ноги. Работает отлично. Добавил подтяжку к +5V SDA и SCL. Работает и без них, но на всякий случай. Чтобы не налажать в расчетах попытался освоить SPICE-моделирование. Использовал QUCS опенсорсный. Я преимущественно в Linux работаю, поэтому и выбор инструментов соответственный. ОУ упрощенно взят идеальным. Мне не столь принципиальны совсем мелкие отличия. Тем более, что постоянный ток короткими импульсами. Результаты моделирования: https://habrastorage.org/files/49e/76f/9f0/49e76f9f0e8d41988c960bf340c9e1c4.png Схему развел настолько аккуратно, насколько умею. Постарался разделить землю на силовую, аналоговую и цифровую. Все будет залито полигонами соответствующими. Я их не заливал пока, чтобы нагляднее было. Все согласно даташиту на ОУ для подавления помех. Линия до усилителя будет с двух сторон закрыта землей. На плате все более чем просторно, но утрамбовывать все, кроме зоны ОУ, где это критично, смысла особого нет. Места в корпусе еще на такую же хватит. Общий вид платы: https://habrastorage.org/files/a58/bfb/e1e/a58bfbe1ed3f4e538b6e7b3e29336cf8.png Отдельно линии GND, +5V, +4.096, syknal, preamp. GND https://habrastorage.org/files/319/6fb/0e6/3196fb0e6af544348d9e618ad2ea8166.png +5V https://habrastorage.org/files/19a/65b/87d/19a65b87d66247ce9791aa03a811dc5d.png +4.096 https://habrastorage.org/files/796/af9/b11/796af9b11e89494d8c5cf1883749dae6.png Preamp https://habrastorage.org/files/8b9/37a/a02/8b937aa02ffa4687a68bbfebc7307ed0.png Signal https://habrastorage.org/files/63f/83f/66d/63f83f66d1a44865953085ef43f2fad3.png
0
|
06.09.2015, 16:47 | |
Ответы с готовыми решениями:
47
Найти силу сопротивления, испытываемого цилиндром при его движении в вязкой несжимаемой жидкости Сколько тепла переходит от одной жидкости к другой жидкости в процессе теплообмена |
0 / 0 / 0
Регистрация: 03.09.2015
Сообщений: 29
|
|
08.09.2015, 01:03 | |
![]() Размах получается в 0.4 В. В принципе, немало, но множитель использовать не получится, насколько я понимаю. Даже при умножении на 2 мы выходим за предел диапазона в 5 В. Без отрицательных значений нам доступно 2^15 значений. Значит на 0.4 вольта полезного диапазона будет приходиться 0.4/(5/2^15) = 2621 значений. В принципе очень неплохо. Лишь бы не шумело сильно.
0
|
0 / 0 / 0
Регистрация: 03.09.2015
Сообщений: 29
|
|
09.09.2015, 17:28 | |
Поляризация электродов дикая(( Кто-нибудь может подсказать простой вариант генерировать меиндр с частотой в районе 1-3 кГц через тот же делитель и потом это выпрямлять и скармливать АЦП? Самый просто вариант ногами дрыгать разнонаправленно, но потом это все надо через диодный мост пропустить? Я схему не очень представляю.
Короче, чувствую, что самым простым решением с учетом моего нулевого опыта будет припаяться к китайскому TDS-метру до оцифровки сигнала.
0
|
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
|
|
10.09.2015, 18:50 | |
следующим щагом будет выкидывание внешнего АЦП, и использование внутреннего (заодно и с таймером, который шим будет выдавать на делитель, синхронизироваться проще), он побыстрее немного, до 20-30кГц работать пожалуй будет, а недостаток разрядности небольшим оверсэмплингом компенсировать, требуемый 1% получить думаю вполне удастся.
0
|
0 / 0 / 0
Регистрация: 03.09.2015
Сообщений: 29
|
|
11.09.2015, 02:01 | |
![]()
0
|
11.09.2015, 02:01 | ||||||
Помогаю со студенческими работами здесь
48
Поставить краевую задачу для определения скорости частиц жидкости и давления жидкости в трубе Как найти объём жидкости в усеченной четырехугольной пирамиде при уровне жидкости 3 метра Зависимость силы давления жидкости на конус от жидкости Вывести зависимость КПД источника питания от внутреннего сопротивления и сопротивления нагрузки Смоделировать бросок камня под углом к горизонту без учета сопротивления, и с учетом сопротивления воздуха Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
std::mutex в C++: Советы и примеры использования
bytestream 03.04.2025
std::mutex - это механизм взаимного исключения, который гарантирует, что критический участок кода выполняется только одним потоком в каждый момент времени. Это простое, но могущественное средство. . .
|
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
|
Метод с двумя буферами (или double buffering) или ping-pong buffering
Hrethgir 02.04.2025
Из ответов LM модели.
Метод, который предполагает использование двух массивов для хранения промежуточных результатов сложения векторов, обычно применяется в сценариях, где необходимо минимизировать. . .
|
На любовном киберфронте
Alexander-7 01.04.2025
Недавно на одном малоизвестном сайте знакомств мною заинтересовалась девушка:
«Текст немного странный. Но, судя по адресу почты, иностранка», – подумал я. Поколебавшись пару суток, я ответил ей:. . .
|
Как работает Node.js изнутри
run.dev 29.03.2025
Node. js изменил подход к разработке веб-приложений, позволив использовать JavaScript не только на стороне клиента, но и на сервере. Созданный в 2009 году Райаном Далем, этот открытый,. . .
|
Моки в Python: Mock Object Library
py-thonny 29.03.2025
Тестирование кода требует особого подхода, когда речь идёт о компонентах, взаимодействующих с внешним миром. Мы часто сталкиваемся с непредсказуемостью HTTP-запросов, чтением данных из базы или. . .
|
JavaScript: Управление памятью и улучшение производительности
run.dev 29.03.2025
В отличие от низкоуровневых языков программирования, JavaScript не требует ручного выделения и освобождения памяти. Здесь работает автоматический сборщик мусора, который определяет, какие объекты. . .
|
Мультитенантная архитектура со SpringBoot и PostgreSQL
ArchitectMsa 29.03.2025
SaaS-приложения редко обслуживают одного клиента и обычно они должны поддерживать множество организаций, каждая из которых работает в своём изолированном пространстве. Мультитенантная архитектура. . .
|
std::span в C++: Производительность и лучшие практики
NullReferenced 28.03.2025
std::span — одно из самых недооценённых нововведений стандарта C++20, которое радикально меняет подход к работе с непрерывными последовательностями данных. По сути, это невладеющее представление. . .
|
Многопоточность в C#: Threadpool
UnmanagedCoder 28.03.2025
Пул потоков в C# — это коллекция заранее созданных и готовых к использованию потоков, которые находятся в распоряжении приложения. Вместо того чтобы создавать и уничтожать потоки для каждой небольшой. . .
|