Ruslan1
Свой-
Постов
3 044 -
Зарегистрирован
-
Посещение
-
Победитель дней
3
Весь контент Ruslan1
-
Лучше все-таки привести бОльший кусок оригинальной срисованной схемы. Чтобы знать что на входе и как используется выход А по описанному- этот самый ненарисованный мультиплексор меняет сопротивление, соответственно меняет средний уровень (Vcm) выходного сигнала. А нужно это чтобы использовать полный динамический диапазон АЦП в случае, когда входной сигнал может быть несимметричным (разные пик+ и пик- значения относительно его нуля). Например АЦП умеет изменять от 0 до +5V, а нужно сегодня измерять от -1 до +4 V. Ставите Vcm=+1V, и имеете выход от 0 до +5В. А завтра станете измерять от -2.5 до +2.5, так нужно будет Vcm=+2.5V. Про "смещение (логометрическое измерение) берется не то, которое подается на REF, а с мультиплексора": думаю оно подается на вход IN- (а выход операционника на IN+), то есть АЦП измеряет реальный входной сигнал, независимо от этого Vcm. И изменение Vcm не влияет на результат изменеий. Классика. Но подстройка этого Vcm нужна в отдельных аргументированных случаях, обычно в схеме это просто Vcm=Vadc_input_range/2.
-
Под "простым" я имею в виду существование библиотек, которые можно с приемлемыми усилиями применить в микроконтроллере. И какие-нибудь примеры, где можно посмотреть и спрогнозировать, какие ресурсы понадобятся. Как, например, с протоколами SSL/TLS. Нашел интересный ресурс : oauth.net там есть ссылки на проекты, в том числе Си на Гитхабе для OAuth2. Вроде бы на первый взгляд читабельно и незапутано. Может и не так все сложно.... Upd: Но насколько этот протокол востребован и где прямо сейчас применяется?
-
Спросили, есть ли простой путь для работы через протокол аутентификации OAuth на embedded устройствах. Нужно отправлять емейлы, больше ничего. например STM32 и FreeRTOS ? Пока что я сказал что нет, но вдруг я неправ. Гугление в интернете ничего хорошего не показало, так и не понял, насколько это популярно и востребовано для email.
-
Делал устройство с большим диапазоном Vexc, 2-10V, и сопротивление моста может быть 100R-1K. 1. Сделал напряжение Vexc (2-10V). Тут самая хитрость- это малошумящий источник с хорошим КПД (взял DC/DC плюс следящий LDO). 2. поделил его на два (два точных резистора+ операционник), получил Vref в разрешенных для АЦП пределах (1-5 V). 3. Поделил это Vref (опять же два резистора+операционник), получил среднюю точку Vcm для дифф усилителя (типа АД620). Измеряю и Vexc от датчика (поделенный на два), и выход моста(усиленный), и еще знаю что выдал на сенсор полный размах АЦП. Так что могу и падение на проводах компенсировать в неполной схеме подключения, и вся схема Ratiometric: при изменении подаваемого Vexc результат не меняется, получаю то же значение ADC code. Ну и коэффициенты калибровки канала присутствуют в программе обработки, для точной настройки. Но на самом деле можно и не извращаться с Vref, если Vexc постоянное и известное. Обычно в АЦП битов больше, чем шумов от реального сенсора. Реверсил одну систему, чтоб подсмотреть идеи у "мэтров" - так там LT1009 используют (с подстроечными резисторами для калибровки на заводе), и преобразуют в нужные им напряжения через операционники типа OP262, который совсем не такой уж и прецизионный. И ничего кроме выхода моста не измеряют, и АЦП там 16 бит (Vref ~= Vexc), и только 4-проводка. И работает (по отзывам клиентов) отлично. По моему опыту- мало только первую гармонику фильтровать. следующие гармоники тоже фонят сильно. что-то типа картинки ниже. Обязательно софтовые фильтры-пробки нужны.
-
NB-iot модули, кто работал
Ruslan1 ответил Dobermann тема в Сотовая связь и ее приложения
открыл документы про SIM7022, первый попавшийся "Deutsche Telekom Certification Report" (SIM7022_ Deutsche Telekom_Report_20230419.pdf) там же есть "IMPACTS / POTENTIAL WORKAROUNDS" для этих проблем. Но вот где это в виде ерраты на сайте симкома? Upd: там же немцы положили тесты потребления, похоже близко к тому что я хотел, в разных режимах: -
NB-iot модули, кто работал
Ruslan1 ответил Dobermann тема в Сотовая связь и ее приложения
Здравствуйте! напишу тут, чтоб новую тему не открывать. Разрабатываю первое устройство под NB-IoT. Для начала выбрал SIM7020G. Кстати, если новое- то есть что-то покруче у Simcom (глобальное)? В требованиях - один раз в час передавать данные, примерно 100 байт. Питание батарейное. Хочу посчитать потребление NB-IoT части устройства. Есть в интернете какие-то хорошие ссылки-примеры, как посчитать нужную емкость батареи для NB-IoT модема? Самое лучшее что нашел это SIM7020 Series_Low Power Mode_Application Note , вроде бы картинка ясная: Но вот этот таймеры T3412 и T3324: они зависит от конкретной сети (провайдера), или я действительно могу выбрать хоть два часа, и просто будить модем когда мне нужно (раз в час) через пины? в аппноте написано: Это значит, что провайдер может какие-то длительности (записанные мной в регистры) принять, а какие-то отвергнуть? Какие самые нехорошие случаи? 1 секунда? 1 минута? И какие типичные для сетей? Нужен ориентир, для вычисления энергопотребления. Upd: на сайте Симкома уже и нет SIM7020, зато есть SIM7022 и Y7028. Как я вижу, они еще меньше потребляют. -
Да, есть и такой подход. У брендов тоже видел (kyowa): сама плата у них полный мост, а всякие частичные мосты они организуют через резисторы во внешней универсальной коробке. На внешней коробке есть механические переключатели для выбора режима (подключения нужных резисторов). Дешево и сердито (хотя нет, совсем не дешево).
-
Ставлю на то, что таким методом научного тыка Топикстартер еще много раз наткнется на непонятные ему сложности. Методология нужна. Разделить проблему на части (дерево) и доказать что каждая из частей (ветка дерева) работает корректно. А так... Ну, заработало сегодня, а завтра после обеда опять перестало... Непродуктивно и непредсказуемо. Хотя да, для демонстрации бурной деятельности хороший подход, иногда это даже нужнее результата (не сарказм: студентом подрабатывал в ремонте, так театр перед клиентом был не менее важен, чем результат):).
-
Все-таки подключите многканальный логический анализатор (тот же Saleae), и запишите всю процедуру, от включения и инициализации микросхемы до неполучения от нее ответа. Тут все очень просто: при соблюдении спецификации микросхема должна ответить. Если не отвечает- то проблемы в железе. Под набором сигналов я имею в виду все управляемые пины: SPI, CS, Reset, +5V. Кстати, непонятно в какой момент там питание +5V берется, и как его подача синхронизирована с запиткой МК (3.3V) и стартом коммуникации. Может просто времянку не выдерживаете (задержки между CS и клоком, например, идли между +5V и Reset, или Reset и началом общения), или фаза клока не та. Или микросхема отвечает, но Вы ее ответ не принимаете.
-
Выбор способа написать программу.
Ruslan1 ответил xinortcele тема в В помощь начинающему
Боюсь что просто WS из RDY счетным триггером (то есть получить скважность 2) и пользовать I2S не вариант, У меня же до 32 байт на каждый DRDY валится (8 каналов x 4 байта), я не уверен что I2S в ESP32 имеет такой режим чтения. Но вот запускать этот триггер от DRDY, и сбрасывать его программно, когда уже прочитал нужное количество байтов в этом пакете данных- это вариант. Это тоже сработало бы. Проще и гибче, чем аппаратный счетчик, но требует еще один пин есп32 занимать. -
Выбор способа написать программу.
Ruslan1 ответил xinortcele тема в В помощь начинающему
Думаю не врут, и I2S там есть. Просто мне I2S не подходит, там WS длинный, не меняется во время передачи данных от одного канала. С моим пульсом DRDY оно не будет работать. Да, в ЕСП32 есть разные режимы I2S. Вначале тоже думал: раз I2S есть то получится какой-то режим подобрать, но не получилось. Ну и у меня не два канала на один период WS, как думает этот I2S. Upd: Еще одно. Рабочей версией было изменение схемы: добавить железячное удлинение DRDY на следующее нужное количество клоков, и использовать его как CS для слейва SPI. Но удалось обойтись без аппаратных костылей, чисто программными. -
Выбор способа написать программу.
Ruslan1 ответил xinortcele тема в В помощь начинающему
В стм32 решением стал именно аппаратный SAI (выбрал камень где он есть), потому я его тут так назвал. В есп32 ничего похожего не нашлось, пришлось свой огород городить. В документации АЦП интерфейс никак не называется, чтобы никто не спорил :) Однонаправленный стрим от АЦП в микроконтроллер (DCLK , DOUT и DRDY это выходы из АЦП), данные нужно начинать читать после DRDY. Проще некуда, но требует быстроты реакции. Тут как ни крути- нужно по DRDY начинать принимать, или фиксировать этот момент (если парсить бесконечно принимаемый поток битов). -
Выбор способа написать программу.
Ruslan1 ответил xinortcele тема в В помощь начинающему
Я бы с удовольствием про ESP32 пообщался, сейчас это рабочая лошадка #2 в моих разработках, но, подозреваю, это не в теме топика :) Единственное что тут замечу из его недостатков, критичных для меня, это про упомянутую реакцию на прерывания. Коротко: Если кому-то нужно реагировать быстрее чам 350 ns - то врукопашную на ЕСП32 не получится. Длинно: Прерывания нужны, когда нужно сделать интерфейс, отсутствующий в ЕСП32. Для меня это был SAI для чтения потока из АЦП. Для его эмуляции нужен SPI, запускаемый в нужный момент по внешнему сигналу. На отдельном ядре поллингом удалось получилось время реакции, плавающее от 150 до 350 ns. Это ограничивает частоту SPI (350ns должно быть меньше половины клока, чтобы все работало). А частота SPI ограничивает возможности АЦП. -
Выбор способа написать программу.
Ruslan1 ответил xinortcele тема в В помощь начинающему
Вот не надо по больной мозоли.... ESP32 имеет очень мало пинов. приходится обвешиваться всякими експандерами. ESP32 очень тормознуто реагирует на прерывания. Даже когда отдельное ядро на это выделил для поллинга. Дебаггер для ESP32 (чтобы пошагово ходить и смотреть) нужно делать, и выделять еще пины для JTAG, а в STM32 все уже есть в кейле и работает через ст-линк. Если в ESP32 cделать много шагов в сторону и упереться в коре паник, то отлаживаться приходится методом научного тыка (потому как дебаггер не организовал). Если нужно больше памяти- то только через сериал, и про перформанс такого решения думать не хочется. Конечно, есть и куча плюсов у ESP32. И начинающему я бы именно его посоветовал. Но он не лучше чем стм32, он для другого. Использую и есп32 и стм32, так как они не взаимозаменяемые. -
Вроде разобрался. Зачем-то в лоб Баттерворта подставил, вместо того чтобы по нужным характеристикам построить оптимальный IIR фильтр с помощью встроенных функций.
-
Здравствуйте! Есть задачка фильтровать сигнал с полосой частот как один фильтр 1/3 октавы, и дополнительно - организовать канал с полосой пропускания несколько октав. семплрейт- 1000 SPS, третьоктавные частоты - от 1Гц до 398 Гц (27 элементарных 1/3-октавных каналов) С одиночными фильтрами вопросов нет- полосовые фильтры IIR 6-го и 8-го порядка покрывают нужный диапазон октав (1-500 Гц), и я вписываюсь в заданные в ISO лимиты по полосе (см. картинку ниже для фильтра на частоту 1 Гц). Но вот с полосовым фильтором на переменное число октав что-то не выходит так просто. Хочу "всего-то" сделать отдельные HPF и LPF на каждую из октав, и комбинировать из них нужный мне полосовой фильтр. То есть что-то типа как на картинке ниже: Пробую сделать Баттерворта, но получаю что-то непотребное: для низкого порядка не могу достичь нужного спада, а для высокого порядка получаю артефакты: [b1,a1] = butter(filtOrder,freq/(Fs/2),'high'); это фильтр 6-го порядка а это 8-го порядка если уменьшаю семплрейт с 1000 до 200, то он становится похож на фильтр: Это что-то я не так считаю? Может как-то можно получить нормальные крутые HPF фильтры на 1 Гц, для 1000 SPS? Думаю, если разберусь с HPF, то и c LPF будет ясно что делать.
-
Что-то не так. Одно из: - Вы неверно оцениваете ситуацию (измерение идет не так, как Вы думаете) - неисправность оборудования. - ошибка или неверные настройки программного обеспечения, как родного драйвера, так и пользовательской части. Пишите/звоните производителю или представителю производителя.
-
то есть делали по такой схеме: 1. Измерение входа#1 2. измерение закороченного входа 3. Измерение входа#2 И видели зависимость величины, измеренной на входе#2, от величины, установленной на входе#1 ?
-
д-да, та тема и открыла глаза, что может что-то можно механизировать в этом направлении. Но там сложно спросили, и герберы и прочее им нужно. Мне проще нужно, соответсвенно может и средства есть еще какие-то. PCAD я уже лет 10 не использовал, не думаю что он сумеет работать даже на Вин7, хотя вдруг. (Upd: почитал больше, пишут что PCAD работает и на W7 и даже на W10)
-
Нужно восстановить схему по плате. Если в рукопашную, то вижу, что справлюсь за 2-3 дня. Есть ли какие-то программные средства, которые помогут это сделать быстрее? Или процесс их поиска и изучения займет больше времени? Может, уже ИИ (GPT какой-нибудь) к этому подключили?
-
Начало работы с ADS1262
Ruslan1 ответил гость123 тема в В помощь начинающему
ADS1262 очень серьезный аппарат, начинать знакомство с АЦП с него- это как согласиться участвовать в гонке F1 без умения заезжать в гараж. Нучтож.... Начните с начала. То есть: 1. Вы сделали сброс через GPIO пин 2. Вы можете читать регистры, причем читаются именно ожидаемые величины. Для полного контроля: просто сделайте чтение содержимого ВСЕХ (!) регистров в массив и проверьте, если оно соответствует документации (дефолту после включения). Прочитайте второй раз, совпадает с первым? 3. Вы можете записывать отдельный регистр. Проверяется чтением (там где они не write-only). Причем остальные регистры при этом не меняются, или меняются предсказуемо. 4. А вот теперь пишите сюда и спрашивайте как, этот космический корабль заставить бороздить просторы нужного вам картофельного поля. -
TDS210 или не?
Ruslan1 ответил andrejl тема в Метрология, датчики, измерительная техника
Брать Тектроникс- переплачивать за бренд. Ну или Вы знаете, для чего именно берете и переплачиваете. После 96-го любой DSO из Китая нормальным будет. "прибор может показать погоду в африке" - это неисправность, а не признак дешевого осциллографа. Берите недорогой цифровик который вроде подходит и начинайте работать, не нужно полгода выбирать. Придет понимание чего именно Вам не хватает, ну и следующий уже возьмете получше. Или не возьмете. Я так взял "на пробу" DST1102B много лет назад, так пока и не хочу другой. Тут много раз тема поднималась, там посмотрите на что обратить внимание. Я бы советовал- без вентилятора, с честным разрешением 1 пиксель на экране, большой экран, отдельные кнопки-крутилки под каналы. Upd: и уж точно не нужно в наше время брать черно-белый дисплей, если это несколько-канальный осциллограф. -
Я аппаратуру разрабатываю. Пока что да, в документации написано будет "как у всех"- данная помеха внешняя, не можете устранить- включайте фильтр или применяйте полный мост. Просто хотел уточнить, вдруг что-то важное упустил и можно еще подшаманить.
-
У меня 1 килосемпл выход, тут синхронизация с сетью мало поможет. А фильтрация конечно рулит. Тестирую на 50-метровом кабеле полумост 350R- вижу 25 микрострейнов шум пик-пик на Vexc=2V. Если режекторным фильтром убираю первую гармонику 50Гц- то шум снижается до 4 uStrain, если давлю первые три или четыре гармоники- то получае шум меньше 1 uStrain. Ну и ожидаемо, если увеличиваю Vexc с 2V до 10V, то имею нефильтрованный шум 5 uStrain.
-
Если я правильно понял- предлагаете измерить каждый из резисторов через дифпару, соответственно шума не будет. Можно, но сложно, так как это уже не мостовое измерение. Получается, что нужно будет обеспечить измерение каждого сопротивления с точностью хотя бы 1e-6, чтобы говорить о единицах uStrain. то есть 20 бит. Хм. Боюсь при такой точности вылезут новые источники проблем, и они загубят точность (увеличат шум измерения) до уже достигнутой точности через мост. Интересно, где-то в выпускаемой аппаратуре так делают?