Вариант каскада с реле худо-бедно работает скорее всего потому, что BSH103 открывается уже начиная с Vgs = 1.2 вольта, и цепь реле запитана не от +3.3, а от +5. При том, что автор сам пишет, что с номиналом резистора в цепи питания реле пришлось поколдовать — скорее всего, работает на краю возможного. Никто не может гарантировать, что однажды не попадутся полевик, светодиод, реле, стабилизатор питания с комбинацией допусков, которые приведут к неработоспособности подобного решения. BTW, в биполярном варианте каскада включать диод в эмиттер при управлении особенно от TTL — скорее хорошая, чем плохая практика — угадайте, почему? ;)
Автору можно посоветовать взять обычный тестер и измерить Vgs во включенном состоянии, а затем заглянуть в даташит
Что-то схема включения реле какая-то необычная — на светодиоде слабозависимо от прямого тока (в интересущем нас с точки зрения включения реле диапазоне) падает в зависимости от его цвета от 1.3 (красный) до 3 вольт (синий).
То есть даже в отсутствии ограничительного резистора на обмотку остается максимум 3.7 вольта. Вдобавок, светодиод + резистор в цепи истока управляющего полевика дает сильную ООС, которая естественно, пытается вывести коммутирующий полевик из ключевого в линейный режим — что чревато неполным включением полевика от управляющего логического сигнала, его перегревом и вялым включением реле.
Если уж прямой ток светодиода и ток включения реле сравнимы, оба этих элемента надо включить в цепь стока, а еще лучше — параллельно обмотке реле включить светодиод с ограничительным резистором, а реле взять 5-вольтовое, чтобы никаких цепей ограничения тока для него городить не было необходимости
Кстати, и «силовые» выходы тоже имеют светодиоды в цепях истока, и соответственно, они годны для коммутации только высокоомной нагрузки. Либо я глючу или в схеме ошибка, и феты — P-канальные
Архитектура была такая — очередь заданий находилась на единственном сервере БД, к которому могло ходить от 1 до K серверов приложений, кладущих задания в очередь, либо забирающих их оттуда (через обычную сетевую SQL-коннекцию).
На каждом сервере приложения крутился 1 диспетчерский процесс и пул процессов-обработчиков. Диспетчерский процесс был придуман для того, чтобы обработчики сами в БД за заданиями не ходили, т.к. из БД выгодно забирать задания пачками.
В общем случае, некая единица работы могла содержать несколько фаз, каждая из которых представляла собой задание в очереди. В зависимости от типа задания метаданными накладывались правила, например такие, что некоторые типы были хостонезависимыми, а некоторые — требовали, чтобы задание выполнялось на том же хосте, что и хост, добавивший задание в очередь.
Кроме того, в самих метаданных задания в БД была возможность создавать начало (fork) и конец (collect) параллельных цепочек — ее логика поддерживалась внутри самой БД сторед-процедурами, которые клали, выбирали и отмечали как выполненные задания из базы.
Использовалось все это в системе распознавания изображений (конкретно типа еды по ее фотографии) — например, типичная работа содержала такую последовательность — препроцессинг -> выборка контекстов распознавания -> запихивание контекстов в очередь (точка fork) со ссылкой вперед на задание типа collect (оно делало aggregate_context_results) -> debug_out (опционально) -> save.
Интересно. Я делал похожую штуку в системе, хранящей очередь разнотипных заданий в БД, выбираемых процессом-диспетчером на выполнение по N штук, где N — количество свободных процессов-обработчиков на момент вызова диспетчера.
Так как время выборки заданий было конечно и сравнимо с временем их выполнения, процесс-диспетчер вел статистику а) среднего времени выборки пачки заданий из БД, как функцию от M (размера пачки) и б) среднего времени выполнения заданий как функцию от типа задания и количества работающих процессов-обработчиков.
В итоге, алгоритм диспетчера был построен так, что он при свободных на текущий момент N процессах выбирал M заданий (M >= N), рассчитывая M с учетом времени выборки таким образом, что к моменту, когда выбранные из БД задания будут готовы к выполнению на процессах, какая-то часть процессов статистически завершится, и число свободных процессов будет >= M.
Класс! Повезло, что пришлось переопределять 1 -> 0, а не наоборот, иначе пришлось бы мудрить двунаправленный коммутатор, так как насильно поднимать линию с монтажным И чревато
Очень много лирики и пугания иностранными агентами страшными врагами — хоть енумы делай — враг_программиста_1, враг_программиста_2… враг_программиста_N… Хотя если подумать — выявление врагов у нас сейчас в тренде, так что все наверное ок :(
Я думал о таком устройстве, но хотел сделать доставку мастер-сигнала в зоны цифровым способом, и может быть даже беспроводным. В вашей схеме по всей квартире придется разводить десятки метров силовых аудиокабелей, что не очень интересно, и не полезно с точки зрения качества звучания и отношения сигнал-шум в частности
Вообще схема с разнесением аналогового аудио по всей квартире — это, мягко говоря, слегка прошлый век — современное решение включало бы либо внутриквартирный бродкаст цифры по воздуху (скорее всего, каким-нибудь проприетарным протоколом для гарантии относительной синхронизации приемных сторон), либо вообще пуляние с головного устройства в облако, и забор оконечниками данных из облака — также с какими-нибудь дополнениями формата медиастрима для точной временной (вплоть до фазовой) синхронизации — но здесь скорее всего пришлось бы писать еще и самодельный облачный медиасервер
в данном случае в даташите есть фраза «Recommended for 115/240 Vac(rms) Applications» — хотя для 240 V она противоречит другой фразе в заголовке — «400 Volts Peak», так как Vp-p для 240 Vac(rms) равно 2 * 330, то есть 660 V. Видимо во фразе «400 Volts Peak» под словом Peak имеется в виду не Vp-p, а максимальное действующее значение синусоиды питающей сети. Такая же неопределенность, кстати, бывает в маркировке конденсаторов, предназначенных для работы в устройствах сетевого переменного тока (например, фазосдвигающих для асинхронных двигателей) — там может быть указано действующее значение рабочего напряжения
Просто электрически (не электромагнитно) экранировать сигнальные цепи (или электрически развязывать оптронами) хорошо, но недостаточно, т.к. спектр силовых коммутационных помех чрезвычайно широк (межконтактная дуга вроде дает до десятков МГц), а большая протяженность силового контура и высокие токи в нем порождают быстроменяющееся магнитное поле большой величины, которое соответственно, наводит заметный ток в сигнальном проводе, несимметричном относительно экрана.
Лучше пускать в экран витую пару, экран соединять с корпусной землей, а один из проводов витой пары — с сигнальной. Еще лучше пускать сигнальные цепи в магнитном экране — хоть в шланге от душа :)
Кроме того, входное сопротивление сигнальной цепи и ее полоса пропускания должны быть минимально возможными — то есть, желательно зашунтировать начало и конец линии резисторами, например, по 200-300 Ом — тогда наведенный магнитным полем ток внесет меньшее изменение напряжения. Входы и выходы всех линий (включая питающие, и неважно, развязанные оптронами или нет) в цифровой блок хорошо пропускать через ВЧ феррит, и затем еще шунтировать ВЧ конденсатором — а еще лучше ставить проходные конденсаторы, корпус цифрового блока делать из магнитного материала (хоть из жести), и пропускать провод через ВЧ ферриты еще и внутри корпуса — эта мера на порядок эффективнее, чем просто шунтирование цепей конденсаторами
Насчет того, чтобы присечь помехи в месте их возникновения — тут хороши способы, затягивающие коммутационные фронты (RC и LC-фильтры) и ограничители амплитуды коммутационных помех (суппрессоры), но для мощностей в пару десятков кВт я ничего конкретного предложить не рискну :)
Ну и конечно, прокладывать трассы сигнальных проводов нужно максимально далеко и перпендикулярно трассам силовых — это банально, но редко когда выполнимо из компоновочных соображений и в силу того, что датчики (к которым сигнальные провода и тянутся) обычно облепляют механизм со всех сторон :)
Так круче и не надо — измерительный шунт — простой, и при этом достаточно точный способ для неэкстремальных случаев, и в частности тогда, когда схемотехнически можно приземлить один из выводов шунта к одному из питающих потенциалов (понятно, что лучше — к земле)
Для вашего случая — самое то. В тиньке в дифференциальном режиме АЦП 20-кратный усилитель уже есть, в итоге вам должно хватить просто резистора в 20 миллиом, чтобы на нем при токе в 2А получить более-менее заметную часть диапазона пребразования (800 милливольт после усиления — примерно треть полного диапазона при задании Vref для АЦП от внутреннего источника — ЕМНИП это 2.56 вольта) — это позволит решить задачу, вообще не имея никаких внешних компонентов, кроме шунт-резистора (5 SMD в параллель по 0.1). Паразитная мощность при максимальном режиме при этом будет всего 4 * 0.02 = 80 мВт, что является порядка 1.5 % потерь (если считать Uпр светодиода в районе 3 вольт). Дифф входы тиньки при этом по даташиту поднимают сигнал прямо с уровня земли, но для подстраховки можно холодный конец шунт-резистора (к которому будет подключен Vin- АЦП) немного приподнять над землей чисто за счет разводки печати
Про метод измерения DCR я тоже не понял — самое простое — смоделировать схему в каком-нибудь эмуляторе и посмотреть форму сигнала на входе в воображаемый АЦП — однако, поведение будет сильно зависеть от номиналов элементов и частоты преобразования — т.к. в общем случае RC-цепь в параллель с LR катушки должна создавать колебательный контур, но отношения сопротивлений и C к 1/L мы не знаем, как и частоты преобразования, поэтому что там поймается на входе АЦП — мне сказать сложно. Кроме того, возможные колебания будут сильно демпфированы низким сопротивлением нагрузки и источника питания через открытый ключ — так что я не берусь сказать, что там увидится
тогда я по приколу взял бы тиньку (ATTiny) из серии с дифференциальным АЦП и ШИМ-таймером, и сделал бы на ней программно. Получилось бы конечно на один корпус больше (мощный полевик), но зато можно реализовать очень интересные алгоритмы управления диодом — типа плавного зажигания/гашения, сколько угодно режимов работы итд
лучше всего использовать готовый LED-драйвер — так как кроме измерения тока, вам придется его регулировать. Делать это линейным регулятором накладно — значит блок схема устройства будет такая: шунт -> усилитель -> ШИМ-регулятор с управляемой напряжением скважностью -> дроссель -> светодиод. Все это (кроме дросселя) уже есть в ИМС LED-драйверов — собственно, они мало чем отличаются от ИМС импульсных DC/DC преобразователей, кроме того, что вход обратной связи у них рассчитан на низкие напряжения ООС, типично выделяемые на токоизмерительном шунте
ЕМНИП данный принцип (регулирование мощности коммутацией полупериодов целиком) был описан в аппаратном регуляторе у Шевкопляса в Микропроцессорных структурах — там решалась задача наилучшей равномерности распределения полупериодов по оси времени для заданного среднего уровня мощности — кстати, с учетом бесконечности временной оси (то есть для нарисованных графиков — закольцованности начала и конца линий). Навскидку — вроде бы с использованием детектора нуля, ПЗУ (в нем была зашита карта оптимального расположения полупериодов) и сдвигового регистра и/или счетчика. Чему был отдан приоритет — минимизации DC в бесконечном временном промежутке или временной равномерности — не помню, да и в общем, это несущественно — алгоритм в табличной форме все равно шился в ПЗУ. А вот насчет Брезенхама в целочисленном поле вместо табличной функции — идея классная, нужно только оценить а) насколько длиннее алгоритм чем битовая маска для приемлемой на практике точности (скажем, шага в 5%) и б) всегда ли он дает равномерность при закольцованном времени, или требуется его модификация, чтобы гладко сшить начало с концом
Вы меня, конечно, извините, но к статье (а конкретно, именно к средствам измерения тока) также имеют мало отношения следующие фрагменты:
При проектировании печатной платы необходимо, чтобы ее медные проводники выдержали максимальный ток, необходимый для устройства.
Для каждого устройства необходимо найти разумный компромисс между толщиной, шириной проводников и стоимостью.
— эти рекомендации, как и защита от помех относятся к разработке печатных плат вообще, и смысла приводить их в частном случае имхо мало.
Читаем дальше:
Необходимо помнить, что сигнальные проводники с высоким импедансом не должны располагаться параллельно проводникам с большим током
— в случае с измерительным шунтом импеданс сигнальной цепи как раз очень низкий — он равен сопротивлению этого шунта — поэтому наведенные изменяющимся магнитным полем в сигнальных цепях токи не способны вызвать сколько-нибудь заметного падения напряжения — я не говорю, что этого совсем нет, и принцип разводки сигнальных цепей относительно силовых применять не надo — просто конкретно в этом случае цитата про высокий импеданс подходит как раз меньше всего.
Теперь про датчики Холла:
Для ограничения влияния внешних магнитных полей на датчики используется магнитный экран, который окружает проводник с током. На рисунке показан пример использования металлического кожуха (клетки Фарадея),
Как известно, клетка Фарадея не защищает от статического магнитного поля, а только от электрического (и порожденного им при его изменении магнитного) — то есть первая часть цитаты — верная (магнитный экран), а вторая — бессмысленная.
Про качество описания второго метода я вообще молчу — это какой-то набор полусвязанных между собой фраз, принцип работы из которых понять невозможно. Почему выход импульсного ключа преобразователя называется Фаза? Почему обведенный блок, содержащий индуктивность вместе с присущим ей активным сопротивлением и измерительной RC-цепочкой называется Схема с активным сопротивлением — подозреваю что LR-реактивность компенсируется в ней антиреактивностью RC — но где объяснение? Зачем последовательно с входом АЦП (имеющим близкое к бесконечности входное сопротивление) стоит резистор с суммарным сопротивлением (подозреваю, что низким) Rsen + Rdor?
И вообще — у меня сильное подозрение, что весь материал — механический (ну или в лучшем случае механистический перевод):
Большие температурные коэффициенты индукторов и конденсаторов увеличивают погрешность схемы
— катушки индуктивности оказываются индукторами при переводе с английского
Поскольку измерение тока осуществляется дистанционно, считается, что датчики Холла работают без потерь
— тоже фраза не по-русски. Скорее всего, в оригинале имелось в виду то, что измерение осуществляется косвенно
Недавно на рынке появились датчики Холла с интегрированным проводящим каналом, цепью компенсации и защитным экраном
— здесь прямых улик нет, но фраза все еще очень характерна для западного контекста.
И наконец, бесчисленные «решения», которых в тексте пруд пруди:
У каждого из трех рассмотренных решений имеются свои преимущества и недостатки. Из-за того, что шунтовые резисторы рассеивают мощность, энергоэффективность решений на основе этих компонентов сравнительно невелика
Итого мой вывод: статья — либо прямой перевод автора, либо копия из научпоп-книжки, являющейся переводом плохого качества. Если это не так — готов съесть свою шляпу.
Безусловно, в ней есть определенная просветительская польза, но сумбура, скользких моментов и неожиданной аргументации — намного больше.
Для первой схемы я бы упомянул, что в ней используется особенность именно данного типа ОУ работать с входными напряжениями, превышающими напряжение питания — так называемые over-the-top op amps. Большинство дифференциальных ОУ общего применения теряют способность правильно трактовать разность напряжений на входах при приближении хотя бы одного из них к одному из напряжений питания ближе чем на 0.2-0.3 вольта
Каким образом нормализатор определяет направление оси X, связанное с продольной осью машины? Это же невозможно в статике.
У меня была подобная задача — в теоретической проработке я сначала приводил ось Z по модулю ускорения в статике (или брал с API мобильного устройства, которое дает направление вектора G, подсчитанное видимо так же), а потом анализировал статистику карты ускорений в плоскости XY, и определял ось X как направление, в котором двумерная карта интегрированных по мгновенным ускорениям скоростей имела наибольшую дисперсию, а направление оси X (то есть ускорение/торможение) — по наличию/отсутствию признака движения в условиях малых модулей ускорения по приведенной оси Х. GPS при этом не использовался
Солнечная батарея прямо так и просится на противоположную экрану поверхность прозрачного корпуса — тем более для походного девайса.
Программно можно организовать два режима — performance и energy saving — в последнем а) опрашивать кнопки, например, раз в пару секунд (после обнаружения нажатия переходить уже к более частому опросу), б) гасить дисплей при отсутствии интерактива и динамики изменения измеряемых параметров, в) увеличить период опроса датчиков. Голый AVR при правильном программировании и отсутствии ошибок в аппаратной обвязке (постоянно подтянутые к Vcc резисторы итд) имхо позволит сократить среднее потребление до уровня, при котором можно не только работать, но и заряжать девайс панелью размером со спичечный коробок.
Еще для походных устройств, кстати, отличная вещь — маятниковая зарядка — магнит на пружине с катушкой — но тут по компоновке можно не влезть.
фурье не дает пространственной локализации — в итоге чтобы точно понять, где именно в кадре начинается и где заканчивается периодичность (то есть где начало и гле конец стопки), придется делать фурье много раз над буферами с почти 100% перекрытием. Тем более, что нам спектральные составляющие ни к чему, нужен только период основной частоты — можно использовать автокорреляцию, пройдясь слева направо несколькими пробными лучами, и на каждом из них а) найти период по максимуму АКФ, б) найти примерно начало и конец, свернув луч с одним периодом синтезированной синусоиды найденного периода в) синтезировать N периодов синусоиды (N = 45..55) и свернуть по очереди с диапазоном между началом и концом (может быть покачать слегка вправо-влево в поисках максимума для данного N) г) выбрать N, для которого КФ максимальна, д) усреднить или статобработать (убрать выбросы, взять медиану итд) результат по всем лучам — это первое, что приходит в голову, хотя может быть метод будет вычислительно затратным из-за множественных КФ
Автору можно посоветовать взять обычный тестер и измерить Vgs во включенном состоянии, а затем заглянуть в даташит
То есть даже в отсутствии ограничительного резистора на обмотку остается максимум 3.7 вольта. Вдобавок, светодиод + резистор в цепи истока управляющего полевика дает сильную ООС, которая естественно, пытается вывести коммутирующий полевик из ключевого в линейный режим — что чревато неполным включением полевика от управляющего логического сигнала, его перегревом и вялым включением реле.
Если уж прямой ток светодиода и ток включения реле сравнимы, оба этих элемента надо включить в цепь стока, а еще лучше — параллельно обмотке реле включить светодиод с ограничительным резистором, а реле взять 5-вольтовое, чтобы никаких цепей ограничения тока для него городить не было необходимости
Кстати, и «силовые» выходы тоже имеют светодиоды в цепях истока, и соответственно, они годны для коммутации только высокоомной нагрузки. Либо я глючу или в схеме ошибка, и феты — P-канальные
На каждом сервере приложения крутился 1 диспетчерский процесс и пул процессов-обработчиков. Диспетчерский процесс был придуман для того, чтобы обработчики сами в БД за заданиями не ходили, т.к. из БД выгодно забирать задания пачками.
В общем случае, некая единица работы могла содержать несколько фаз, каждая из которых представляла собой задание в очереди. В зависимости от типа задания метаданными накладывались правила, например такие, что некоторые типы были хостонезависимыми, а некоторые — требовали, чтобы задание выполнялось на том же хосте, что и хост, добавивший задание в очередь.
Кроме того, в самих метаданных задания в БД была возможность создавать начало (fork) и конец (collect) параллельных цепочек — ее логика поддерживалась внутри самой БД сторед-процедурами, которые клали, выбирали и отмечали как выполненные задания из базы.
Использовалось все это в системе распознавания изображений (конкретно типа еды по ее фотографии) — например, типичная работа содержала такую последовательность — препроцессинг -> выборка контекстов распознавания -> запихивание контекстов в очередь (точка fork) со ссылкой вперед на задание типа collect (оно делало aggregate_context_results) -> debug_out (опционально) -> save.
Так как время выборки заданий было конечно и сравнимо с временем их выполнения, процесс-диспетчер вел статистику а) среднего времени выборки пачки заданий из БД, как функцию от M (размера пачки) и б) среднего времени выполнения заданий как функцию от типа задания и количества работающих процессов-обработчиков.
В итоге, алгоритм диспетчера был построен так, что он при свободных на текущий момент N процессах выбирал M заданий (M >= N), рассчитывая M с учетом времени выборки таким образом, что к моменту, когда выбранные из БД задания будут готовы к выполнению на процессах, какая-то часть процессов статистически завершится, и число свободных процессов будет >= M.
иностранными агентамистрашными врагами — хоть енумы делай — враг_программиста_1, враг_программиста_2… враг_программиста_N… Хотя если подумать — выявление врагов у нас сейчас в тренде, так что все наверное ок :(Ворота устанавливаются на футбольном поле. У полевых транзисторов все-таки затворы — перевод совсем не причесан
Вообще схема с разнесением аналогового аудио по всей квартире — это, мягко говоря, слегка прошлый век — современное решение включало бы либо внутриквартирный бродкаст цифры по воздуху (скорее всего, каким-нибудь проприетарным протоколом для гарантии относительной синхронизации приемных сторон), либо вообще пуляние с головного устройства в облако, и забор оконечниками данных из облака — также с какими-нибудь дополнениями формата медиастрима для точной временной (вплоть до фазовой) синхронизации — но здесь скорее всего пришлось бы писать еще и самодельный облачный медиасервер
Лучше пускать в экран витую пару, экран соединять с корпусной землей, а один из проводов витой пары — с сигнальной. Еще лучше пускать сигнальные цепи в магнитном экране — хоть в шланге от душа :)
Кроме того, входное сопротивление сигнальной цепи и ее полоса пропускания должны быть минимально возможными — то есть, желательно зашунтировать начало и конец линии резисторами, например, по 200-300 Ом — тогда наведенный магнитным полем ток внесет меньшее изменение напряжения. Входы и выходы всех линий (включая питающие, и неважно, развязанные оптронами или нет) в цифровой блок хорошо пропускать через ВЧ феррит, и затем еще шунтировать ВЧ конденсатором — а еще лучше ставить проходные конденсаторы, корпус цифрового блока делать из магнитного материала (хоть из жести), и пропускать провод через ВЧ ферриты еще и внутри корпуса — эта мера на порядок эффективнее, чем просто шунтирование цепей конденсаторами
Насчет того, чтобы присечь помехи в месте их возникновения — тут хороши способы, затягивающие коммутационные фронты (RC и LC-фильтры) и ограничители амплитуды коммутационных помех (суппрессоры), но для мощностей в пару десятков кВт я ничего конкретного предложить не рискну :)
Ну и конечно, прокладывать трассы сигнальных проводов нужно максимально далеко и перпендикулярно трассам силовых — это банально, но редко когда выполнимо из компоновочных соображений и в силу того, что датчики (к которым сигнальные провода и тянутся) обычно облепляют механизм со всех сторон :)
Для вашего случая — самое то. В тиньке в дифференциальном режиме АЦП 20-кратный усилитель уже есть, в итоге вам должно хватить просто резистора в 20 миллиом, чтобы на нем при токе в 2А получить более-менее заметную часть диапазона пребразования (800 милливольт после усиления — примерно треть полного диапазона при задании Vref для АЦП от внутреннего источника — ЕМНИП это 2.56 вольта) — это позволит решить задачу, вообще не имея никаких внешних компонентов, кроме шунт-резистора (5 SMD в параллель по 0.1). Паразитная мощность при максимальном режиме при этом будет всего 4 * 0.02 = 80 мВт, что является порядка 1.5 % потерь (если считать Uпр светодиода в районе 3 вольт). Дифф входы тиньки при этом по даташиту поднимают сигнал прямо с уровня земли, но для подстраховки можно холодный конец шунт-резистора (к которому будет подключен Vin- АЦП) немного приподнять над землей чисто за счет разводки печати
Про метод измерения DCR я тоже не понял — самое простое — смоделировать схему в каком-нибудь эмуляторе и посмотреть форму сигнала на входе в воображаемый АЦП — однако, поведение будет сильно зависеть от номиналов элементов и частоты преобразования — т.к. в общем случае RC-цепь в параллель с LR катушки должна создавать колебательный контур, но отношения сопротивлений и C к 1/L мы не знаем, как и частоты преобразования, поэтому что там поймается на входе АЦП — мне сказать сложно. Кроме того, возможные колебания будут сильно демпфированы низким сопротивлением нагрузки и источника питания через открытый ключ — так что я не берусь сказать, что там увидится
— эти рекомендации, как и защита от помех относятся к разработке печатных плат вообще, и смысла приводить их в частном случае имхо мало.
Читаем дальше:
— в случае с измерительным шунтом импеданс сигнальной цепи как раз очень низкий — он равен сопротивлению этого шунта — поэтому наведенные изменяющимся магнитным полем в сигнальных цепях токи не способны вызвать сколько-нибудь заметного падения напряжения — я не говорю, что этого совсем нет, и принцип разводки сигнальных цепей относительно силовых применять не надo — просто конкретно в этом случае цитата про высокий импеданс подходит как раз меньше всего.
Теперь про датчики Холла:
Как известно, клетка Фарадея не защищает от статического магнитного поля, а только от электрического (и порожденного им при его изменении магнитного) — то есть первая часть цитаты — верная (магнитный экран), а вторая — бессмысленная.
Про качество описания второго метода я вообще молчу — это какой-то набор полусвязанных между собой фраз, принцип работы из которых понять невозможно. Почему выход импульсного ключа преобразователя называется Фаза? Почему обведенный блок, содержащий индуктивность вместе с присущим ей активным сопротивлением и измерительной RC-цепочкой называется Схема с активным сопротивлением — подозреваю что LR-реактивность компенсируется в ней антиреактивностью RC — но где объяснение? Зачем последовательно с входом АЦП (имеющим близкое к бесконечности входное сопротивление) стоит резистор с суммарным сопротивлением (подозреваю, что низким) Rsen + Rdor?
И вообще — у меня сильное подозрение, что весь материал — механический (ну или в лучшем случае механистический перевод):
— катушки индуктивности оказываются индукторами при переводе с английского
— тоже фраза не по-русски. Скорее всего, в оригинале имелось в виду то, что измерение осуществляется косвенно
— здесь прямых улик нет, но фраза все еще очень характерна для западного контекста.
И наконец, бесчисленные «решения», которых в тексте пруд пруди:
Итого мой вывод: статья — либо прямой перевод автора, либо копия из научпоп-книжки, являющейся переводом плохого качества. Если это не так — готов съесть свою шляпу.
Безусловно, в ней есть определенная просветительская польза, но сумбура, скользких моментов и неожиданной аргументации — намного больше.
У меня была подобная задача — в теоретической проработке я сначала приводил ось Z по модулю ускорения в статике (или брал с API мобильного устройства, которое дает направление вектора G, подсчитанное видимо так же), а потом анализировал статистику карты ускорений в плоскости XY, и определял ось X как направление, в котором двумерная карта интегрированных по мгновенным ускорениям скоростей имела наибольшую дисперсию, а направление оси X (то есть ускорение/торможение) — по наличию/отсутствию признака движения в условиях малых модулей ускорения по приведенной оси Х. GPS при этом не использовался
Программно можно организовать два режима — performance и energy saving — в последнем а) опрашивать кнопки, например, раз в пару секунд (после обнаружения нажатия переходить уже к более частому опросу), б) гасить дисплей при отсутствии интерактива и динамики изменения измеряемых параметров, в) увеличить период опроса датчиков. Голый AVR при правильном программировании и отсутствии ошибок в аппаратной обвязке (постоянно подтянутые к Vcc резисторы итд) имхо позволит сократить среднее потребление до уровня, при котором можно не только работать, но и заряжать девайс панелью размером со спичечный коробок.
Еще для походных устройств, кстати, отличная вещь — маятниковая зарядка — магнит на пружине с катушкой — но тут по компоновке можно не влезть.
В любом случае — девайс отменный!