Быстрое измерение 64 различных термопар
Для тестирования я использовал MAX31850K. Это слишком медленно (100 мс, что приводит к ожиданию около 7 с, пока я не узнаю температуру всех). Я хочу иметь возможность измерить их все в течение 1 секунды. Должен ли я попробовать создать свой собственный или есть альтернативы?
@RIJIK, 👍-1
Обсуждение1 ответ
Вы получаете доступ к ним последовательно. Запустите один, подождите одну мс, запустите следующий, подождите одну мс и т. д. После 64 мс все конвертируются, подождите еще 36 мс, а затем начните считывать их все обратно со скоростью одной мс. В худшем случае вы получите 64 результата за 164 мс.
Я, наверное, не совсем понял, что вы сказали. У меня есть только один MAX31850K, и я переключаюсь между термопарами с помощью мультиплексоров. Это означает, что я не могу «запустить один» и позволить ему тем временем преобразовывать температуры, пока я запускаю другие. Проблема не в АЦП (его самая быстрая часть). Проблема в том, что связь с ардуино занимает так много времени., @RIJIK
Ах. Я думал, что проблема заключалась во времени преобразования от 72 до 100 миллисекунд, а не в десятках или даже сотнях микросекунд времени чтения по однопроводной шине. 64 x 0,072 с = 4,6 с, 64 x 0,1 с = 6,4 с, я бы посоветовал вам использовать часть с более быстрым временем преобразования, чтобы улучшить те, которые используют I2C или SPI для быстрых результатов. Например, ADS1118 имеет время преобразования 8 мкс, а затем четыре 8-битных передачи SPI для считывания данных. http://www.ti.com/lit/ds/symlink/ads1118.pdf, @CrossRoads
это хорошая часть. Я принял некоторые отклонения от этого, но это будет работать так же. Спасибо. Я предполагаю, что не так много альтернатив самостоятельному построению измерения, @RIJIK
- Частота дискретизации нескольких аналоговых контактов на Arduino
- Отправка данных аналогового датчика на ноутбук со скоростью 1 кГц через USB
- Arduino читает термопару типа K с помощью ADS1115
- Как инициализировать сброс на цифровом термометре sht30?
- Почему мои высокие и низкие значения не обновляются корректно во время последовательных циклов
- Отображение 2 сообщений об ошибках на дисплее 16x02
- DS18B20 работает ненадежно.
- Управление ардуино через python
Распараллелить. Запустить временное преобразование для всех из них, дождаться его завершения, а затем прочитать их все последовательно? Итак, сначала вы должны отделить код «триггера» от кода «считывания»., @Maximilian Gerhardt