Точный омметр. Реализация на 8 или на 32 Ардуино.

Hayabusa
Offline
Зарегистрирован: 29.03.2012

Приветствую, уважаемых гуру. 

Задался целью собрать точный омметр на Atmega (или DUE)  чипе. Диапазон измеряемых значений от 0 до 10к.

Погрешность минимальная, которую можно создать без сложных схем и дополнительных дорогостоящих модулей. 

Точность, в идеале, три знака. 5,56кOm меня устроит, но пусть бы было 5,564кОм.

/По случаю приобрел ADC ADS1115 за три копейки на 16 бит. Счел его более точный чем встроенный в 8 битные или 12 битные АЦП. 

Схема подключения стандартная, референсный резистор 10кОм, погрешностью 1% smd, аналоговый вывод и на землю. С другой стороны измеряемый резистор к этому же выводу и на +3.3. 

3.3, 4.096, 5v у меня от источника опорного напряжения, по этому есть выбор. 

Прошу подсказать схему, для реализации вроде бы несложного проекта.  Может спец чипы существуют, в которых уже все реальзовано, тырк его к плате, код минимальный накорябал кривыми руками, и вуалая. 

Благодарю за внимание. 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Не очень понятно нафига это нужно. Есть готовый проект -транзистортестер на меге 328, среди массы прочих возможностей  (изм. ёмкости, индуктивности, тестирование транзисторов и диодов) измеряет и сопротивление от 0,01 Ома до 50 МОм. Тут его обсуждали.

Если задача узкоспециализированная, то да точный ИОН, точный резистор, точный АЦП. Расчёт по закону Ома :) Если нужно измерять  резисторы с сопротивлением менее 1кОм с бОльшим разрешением -то нужно 2 точных резистора, 10 и 1кОм, и программно их подключать. В принципе чем больше точных резисторов разного номинала -тем выше разрешение в разных диапазонах.

 

arduinec
Offline
Зарегистрирован: 01.09.2015

Hayabusa пишет:

Прошу подсказать схему, для реализации вроде бы несложного проекта.

http://arduino.ru/forum/proekty/transistor-tester-arduino

Hayabusa
Offline
Зарегистрирован: 29.03.2012

Спасибо большое ребята. Задача да, узкая. Буду изучать приведенные ссылки.

Alex_Ferrum
Offline
Зарегистрирован: 04.05.2015

Если омметр с низкой погрешностью, то можно на основе инвертирующего ОУ (например AD8552), на вход которого через резистор высокой точности подается напряжение с ИОН (получается прецизионный генератор тока), в обратную связь ставим измеряемый резистор, соответственно ток создаст на резисторе падение напряжения пропорциональное сопротивлению резистора, напряжение измеряем АЦП MCP3421 и порядок. 

Alex_Ferrum
Offline
Зарегистрирован: 04.05.2015

Чуть позже накидаю схему в Протеус, если забуду - напомните: chemill@yandex.ru

Sirocco
Offline
Зарегистрирован: 28.09.2013

Появилась задача собрать прибор - тестер. 

Задача прибора - "отзвонить" кабель. К примеру имеем десятижильный кабель, жилы не промаркированы. С одной стороны кабеля на жилы вешаю сопротивления, к примеру между 1 и 2 жилой 500Ом, между второй и третьей 500Ом, между 3 и 4 опять 500Ом...

Таким образом запрограммировать ардуино так, чтоб она выдавала сигнал(зажгала светодиод) если 500Ом, то 1-2. Если намерила 1000Ом, то 3, если намерила 1500Ом, то 4.

Собственно какие могут быть подводные камни в таком методе? По опыту, сопротивление кабеля не превышает нескольких десятков Ом на 100 метров, это для сечений 0,5 мм2. Таким образом по сопротивлению, вроде однозначно вписываемся, пороги сильно разнесены, спутаться не должно.

Вопрос помех. Если измерять прямо "ногами" самой ардуины, то максимум можно подать пять вольт в кабель. При таком методе, если будут наводки в кабеле, то получится сильная погрешность.

Как вообще это делается, как можно реализовать?

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

Sirocco пишет:

Появилась задача собрать прибор - тестер. 

мультиметр - рулить/снимать с него показания с помощью дуино

GarryC
Offline
Зарегистрирован: 08.08.2016

В ситемах учета тепла, где нужно померять температуру через сопротивление платинового датчика, делают как подсказал Алекс, но там задачка чуть другая - измерение в конкретном диапазоне, так что Вам придется сделать управляемый генератор тока с высокой точностью. 5.564 Вы, скорее всего, все таки не получите а вот на 5,56 можно рассчитывать.

arduinec
Offline
Зарегистрирован: 01.09.2015

Sirocco пишет:

Появилась задача собрать прибор - тестер.

Транзистор тестер на Ардуино: http://arduino.ru/forum/proekty/transistor-tester-arduino
 

woodlist
Offline
Зарегистрирован: 28.10.2018

Может, кто-то подскажет идеологию метода измерения сопротивления по схеме от http://meandr.org/archives/25040 Исходый скетч не приводится, к большому огорчению...

woodlist
Offline
Зарегистрирован: 28.10.2018

Для одной практической задачи, где нужно измерить напряжение на клеммах блока питания, в роли которого ставлен сварочный инвертор, без оконечного сглаживающего дросселя, китайского производства, (кстати, очень грамотно придуманного в плане простоты, ремонтнопригодности и функционала) ардуино уно просто сходит с ума и зависает даже если прицеплена только GND от инвертора к GND контроллера. Было решено перейти на STM32, убрать контроллер подальше от силовых элементов и полностью устроить гальваническую развязку. Для этого взят оптрон pc817 и изучена выходная характеристика оптотранзистора при подаче на светодиод через балласт весь диапазон возможных напряжений.

Вывод графика в Excel указал на не линейность характеристики.

kOm Volt
0.25 32.62
0.27 30.2
0.33 25.4
0.42 20.14
0.55 15.16
0.69 12
0.97 8.1

 

Поняв, что надо привлекать статистический анализ для правильной интерпретации напряжения на выходе инвертора контроллером, на https://vk.com/page-101677638_52802190 нашел очень полезную статью, где прямо в Excel можно получить интерполяционный полином, основываясь на табличные исходные данные, что и было сделано. Уже имеется формула 4-й степени, которая удавлитворительно аппроксимируется. Дело осталось за малым, измерить сопротивление оптотранзистора. Простой делитель загоняет измерения в доли вольта, что и так при максимуме в 3.3 вольта на АЦП затруднит адекватные измерения напряжения на выходе инвертора, с разрешением в 20-30мВ. Вопрос такой к аудитории. Описанные на этой ветке форума способы наточены на сугубо измерительные приемы и алгоритмы. А у меня контроллер будет занаят еще и массой других рассчетов и отображением графики, основываясь на разных измерениях. Каков мог бы самый компкатный в коде и аппаратной реализации метод измерения сопротивления?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

woodlist пишет:

Было решено перейти на STM32, убрать контроллер подальше от силовых элементов и полностью устроить гальваническую развязку.

Т.е. вы уверены, что stm32 с гальваноразвязкой не будет "сходить с ума" ?  Очень смело.  И кстати взять линейный оптрон -не, не наш путь? )

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

woodlist пишет:

Каков мог бы самый компкатный в коде и аппаратной реализации метод измерения сопротивления?

Очевидно, один резистор в аппаратной реализации и один вызов analogRead() в программной.

woodlist
Offline
Зарегистрирован: 28.10.2018

dimax пишет:

woodlist пишет:

Было решено перейти на STM32, убрать контроллер подальше от силовых элементов и полностью устроить гальваническую развязку.

Т.е. вы уверены, что stm32 с гальваноразвязкой не будет "сходить с ума" ?  Очень смело.  И кстати взять линейный оптрон -не, не наш путь? )

А где вы встречали линейный оптрон? Принимающая сторона еще может в некоторых обстоятельствах, а светоизлучатель по определению не может.

 

woodlist
Offline
Зарегистрирован: 28.10.2018

andriano пишет:

woodlist пишет:

Каков мог бы самый компкатный в коде и аппаратной реализации метод измерения сопротивления?

Очевидно, один резистор в аппаратной реализации и один вызов analogRead() в программной.

Я вверху написал, что этот способ не годится. Слишком узким получается полоса возможных напряжении на входе АЦП.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

woodlist пишет:

А где вы встречали линейный оптрон? Принимающая сторона еще может в некоторых обстоятельствах, а светоизлучатель по определению не может.

Да ладно, гуглить "линейная оптопара" пробывали?  И кстати гальваноразвязка  совсем не гарантирует отсутствие проблем. Обратите внимание на этот топик. Без специальных мер хоть свинцом всё залей -всё равно ловить помехи будет.

nik182
Offline
Зарегистрирован: 04.05.2015

woodlist пишет:

А где вы встречали линейный оптрон? Принимающая сторона еще может в некоторых обстоятельствах, а светоизлучатель по определению не может.

https://www.jameco.com/Jameco/Products/ProdDS/1548967.pdf

• Low nonlinearity: 0.01%

Обратите внимание на рис. 16. Проверял сам. До 1 МГц даже фаза стоит. 

 

woodlist
Offline
Зарегистрирован: 28.10.2018

nik182 пишет:

woodlist пишет:

А где вы встречали линейный оптрон? Принимающая сторона еще может в некоторых обстоятельствах, а светоизлучатель по определению не может.

https://www.jameco.com/Jameco/Products/ProdDS/1548967.pdf

• Low nonlinearity: 0.01%

Обратите внимание на рис. 16. Проверял сам. До 1 МГц даже фаза стоит. 

 

Виноват, такого прибора не встречал. Буду знать. Но время поджимает для данного проекта и пожалуй, на этот раз обойдусь интерполированием. Но вопрос про измерение сопротивления остался открытым.

woodlist
Offline
Зарегистрирован: 28.10.2018

dimax пишет:

woodlist пишет:

А где вы встречали линейный оптрон? Принимающая сторона еще может в некоторых обстоятельствах, а светоизлучатель по определению не может.

Да ладно, гуглить "линейная оптопара" пробывали?  И кстати гальваноразвязка  совсем не гарантирует отсутствие проблем. Обратите внимание на этот топик. Без специальных мер хоть свинцом всё залей -всё равно ловить помехи будет.

Вы в этом правы, проблема не детская. Запитывая от отдельного питания плату ардуино, отсоеденив ВСЮ проводную обвязку с инвертором, как подношу ближе 20см к силовому трансформатору, виснет. Кажется, обходит законы физики потому, что виснет даже будучи монтированный с наружи, когда железный корпус инвертора должен играть роль магнитного шунта.

woodlist
Offline
Зарегистрирован: 28.10.2018

Наверно дело кроется в обратном всплеске при запирании выпрямительных диодов, на SOS эффекте, когда производное напражения по времени имеет сумощедшие значения.

woodlist
Offline
Зарегистрирован: 28.10.2018

woodlist пишет:

Наверно дело кроется в обратном всплеске при запирании выпрямительных диодов, на SOS эффекте, когда производное напражения по времени имеет сумощедшие значения.

без проводов обвязки только вынос на определенное расстояное прекращает зависание. Но как только хоть один провод, даже только землю подключаю, виснет.

woodlist
Offline
Зарегистрирован: 28.10.2018

Извиняюсь за оффтопик, но прошить STM32, как порекомендовано на https://www.youtube.com/watch?v=aiDYgJeegqs не получается. А USB-TTL прибора нет в наличии. У кого есть опыт зашивания STM с помощью ардуино уно или нано?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

woodlist пишет:

без проводов обвязки только вынос на определенное расстояное прекращает зависание. Но как только хоть один провод, даже только землю подключаю, виснет.

Да, и это нормально. Поэтому ещё раз акцентирую - без специальных мер вы не избавитесь от помех,  разве что просто повезёт. А мер этих очень много, это практически отдельная наука, так что сказав сейчас "сделайте то-то и то-то, и ещё то-то "  всё равно не охватишь всего. Мой вам совет -отложите все прочие дела, и плотно займитесь изучением работы  микроконтроллеров в условиях сильных помех.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

woodlist пишет:

andriano пишет:

woodlist пишет:

Каков мог бы самый компкатный в коде и аппаратной реализации метод измерения сопротивления?

Очевидно, один резистор в аппаратной реализации и один вызов analogRead() в программной.

Я вверху написал, что этот способ не годится. Слишком узким получается полоса возможных напряжении на входе АЦП.

Тогда самый компактный в аппаратной реализации не подойдет - нужно добавить 1 ОУ. Программная реализация не изменится.

woodlist
Offline
Зарегистрирован: 28.10.2018

Да, действительно, схема с ОУ самый компактный, но здесь другая проблема. Собираем схему с предаточной формулой Vвых=V0x(1+R2/R1), где V0 входное напряжение,  в данном случае, определенное опорное напряжение, R2 прецизионный резистор, R1 сопротивление фототранзистора.

Получаем следующую таблицу по формуле, подставляя 0,41В опорного и 1,8Ком за R2

32.62 3.36
30.2 3.14
25.4 2.65
20.14 2.17
15.16 1.75
12 1.48
8.1 1.17

Как видим, первая строка добилась деления 1/10 (вернее подбором опорного напряжения и R2 добивается) и встроилась под максимум как для выхода инвертора, так и для входа АЦП контроллера, а дальше уже сбился счет и не удовлетворяется условие деления 1/10. Условие постоянства 1/10 не выполнимо ни при каких опорных и R2. Раздумывая шибко углубенно, уничтожая пару пачек сигарет и литр кофе, нашел таки выход, на мой взгляд простой и тем самым изящный. Задал контроллеру посчитать обратную задачу, при известном выходном напряжении с ОУ, опорном напряжении и данном R2.

Вот что делает чудовторящее курьево и кофе.

Но вот аппроксимационным полиномом остался не даволен y = 154.6x4 - 456.1x3 + 520.1x2 - 289.3x + 78.80

R² = 0.999

В искомых опроных узлах врет на 


0.16
-0.25
-0.01
0.08
-0.12
-0.01
-0.04

Врет на столько Вольт, когда по идее должен сходится с входными данными ровно.

Видимо надо раздобыть линейный оптрон или найти другой способ аппроксимации.

woodlist
Offline
Зарегистрирован: 28.10.2018

Кто силен в высшей математике, прощу присоединится к полемике. Какой метод выбрать для аппромсимации?

slider
Offline
Зарегистрирован: 17.06.2014

woodlist пишет:

Кто силен в высшей математике, прощу присоединится к полемике. Какой метод выбрать для аппромсимации?

вариантов м.б. масса. от среднего арифметического до .... возможно и целые библиотеки существуют.

Делал себе как-то так: ввиду неожиданной помехи , среднеарифметическое может значительно исказиться,
берем 2 одинаковых по длинне массива  . к примеру 20
1. 20 измерений заноятся в первый массив. 
2. массив прошаривается циклом в цикле - берется число по очереди  и во внутреннем цикле сравнивается по очереди с каждым из этого же массива и заносится во второй массив  "вес" "встречаемость" этого числа ,  равное сколько раз оно встретилось.  И можно одновременно запоминать измерение набравшее максимальный "вес" . Либо дополнительным циклом прошарить второй массив на максимальный "вес"
3.  измерение имеющее максимальную встречаемость и будет наиболее вероятное к истинному. 

таким образом вообще отметаются те измерения , которые имеют встречаемость 1 или 2  , т.е. это были случайные помехи. А в случае среднего арифметического , они бы повлияли на усредненный результат. 

Мож как то и называется этот метод,  он както сам придумался.

// а вообще надо стараться решать аппаратно . интегрирующие цепочки,...

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

woodlist пишет:

Да, действительно, схема с ОУ самый компактный, но здесь другая проблема. Собираем схему с предаточной формулой Vвых=V0x(1+R2/R1), где V0 входное напряжение,  в данном случае, определенное опорное напряжение, R2 прецизионный резистор, R1 сопротивление фототранзистора.

Получаем следующую таблицу по формуле, подставляя 0,41В опорного и 1,8Ком за R2

...

Как видим, первая строка добилась деления 1/10 (вернее подбором опорного напряжения и R2 добивается) и встроилась под максимум как для выхода инвертора, так и для входа АЦП контроллера, а дальше уже сбился счет и не удовлетворяется условие деления 1/10. Условие постоянства 1/10 не выполнимо ни при каких опорных и R2. Раздумывая шибко углубенно, уничтожая пару пачек сигарет и литр кофе, нашел таки выход, на мой взгляд простой и тем самым изящный. Задал контроллеру посчитать обратную задачу, при известном выходном напряжении с ОУ, опорном напряжении и данном R2.

Вот что делает чудовторящее курьево и кофе.

Но вот аппроксимационным полиномом остался не даволен y = 154.6x4 - 456.1x3 + 520.1x2 - 289.3x + 78.80

Я что-то вообще не понял, что Вы делаете и чего при этом хотите добиться.

Если в Вашей схеме "Vвых=V0x(1+R2/R1)", причем, "R1 сопротивление фототранзистора" и именно его Вам нужно определить по результатам измерения, то R1=R2/(Vвых/V0x-1), при чем здесь полином 4-й степени?

woodlist
Offline
Зарегистрирован: 28.10.2018

Спасибо, что интересуетесь проблемой. Этот самый R1 не воспроизводит световой поток от излучателя линейно. Это было установлено лабораторным блоком питания, измерения были опубликованы выше. Это значит, что измеряв сопротивление не возможно просто так посчитать величину напряжения на первичной стороне.

woodlist
Offline
Зарегистрирован: 28.10.2018

woodlist пишет:

Спасибо, что интересуетесь проблемой. Этот самый R1 не воспроизводит световой поток от излучателя линейно. Это было установлено лабораторным блоком питания, измерения были опубликованы выше. Это значит, что измеряв сопротивление не возможно просто так посчитать величину напряжения на первичной стороне.

Нужно найти закономерность, по которому взаимосвязаны напряжение на первичной стороне и сопротивление фототранзистора на вторичной стороне.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Понятно.

Но IMHO интерполяционный полином лучше подбирать уже тогда, когда функция хотя бы немного приближается к линейной. Т.е. коэффициент при линейном члене должен быть существенно больше, чем при остальных. В противном случае следует использовать не полином, а наиболее подходящий по физике вид функции. Пытаться аппроксимировать полиномом функцию 1/х - занятие малопродуктивное.

woodlist
Offline
Зарегистрирован: 28.10.2018

Как представить на С уровнение y = 8,108*x-1,01

-1,01 это спепень х-а

woodlist
Offline
Зарегистрирован: 28.10.2018

woodlist пишет:

Как представить на С уровнение y = 8,108*x-1,01

-1,01 это спепень х-а

Сам разобрался

#include <math.h>

void setup() {
  // put your setup code here, to run once:
double x=0;
}

void loop() {
  // put your main code here, to run repeatedly:
x = 8.103 * pow(0.42, -1.01);

}

Но компилятор все ровно нугается так: 'x' was not declared in this scope

это как понять?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

В вашем коде переменная х является локальной и для функции loop() не существует. Т.к. объявлена в другой функции, при выходе из которой она уничтожается.

woodlist
Offline
Зарегистрирован: 28.10.2018

Jeka_M пишет:

В вашем коде переменная х является локальной и для функции loop() не существует. Т.к. объявлена в другой функции, при выходе из которой она уничтожается.

Cпасибо, родной! Записал double x = 8.103 * pow(0.42, -1.01); и перестало ругатся.

Alex_Ferrum
Offline
Зарегистрирован: 04.05.2015

Alex_Ferrum
Offline
Зарегистрирован: 04.05.2015

Выкладываю схему, которую давно обещал. На схеме на AD8552, собран генератор тока, который генерирует ток для измеряемого сопротивления и, соответственно, по закону Ома U=IR напряжение будет пропорционально сопротивлению. В примере - генератор тока генерирует ток (2.5-1.5)/10 000 = 0.0001 ампер, то есть 100 микроампер, измеряемый резистор 10 КОм установлен на половину, то есть 5 КОм, то есть 5 000 Ом, соответственно U= 5 000 Ом * 0.0001 А = 0.5 В = 500 мВ, то есть 500 милливольт, которые показывает милливольтметр.

woodlist
Offline
Зарегистрирован: 28.10.2018

Alex_Ferrum пишет:

Выкладываю схему, которую давно обещал. На схеме на AD8552, собран генератор тока, который генерирует ток для измеряемого сопротивления и, соответственно, по закону Ома U=IR напряжение будет пропорционально сопротивлению. В примере - генератор тока генерирует ток (2.5-1.5)/10 000 = 0.0001 ампер, то есть 100 микроампер, измеряемый резистор 10 КОм установлен на половину, то есть 5 КОм, то есть 5 000 Ом, соответственно U= 5 000 Ом * 0.0001 А = 0.5 В = 500 мВ, то есть 500 милливольт, которые показывает милливольтметр.

Ну спасибо, кормилец! Аж с 2015 года ждем  схемку. Шучу, шучу..., я тут недавно.

Alex_Ferrum
Offline
Зарегистрирован: 04.05.2015

Пожалуйста, обращайтесь, всегда к вашим услугам! :-) :-) :-)

woodlist
Offline
Зарегистрирован: 28.10.2018

Дружище, а можно попросить поставить в протеусе оптотранзистор рс817-а вместо подстроечного потенцометра?

Если нужны входные данный по первичной стороне, то балласт стветодиода 7.3К, напряжение от 8-33В.

Меня смутил слышком малый ток генератора, что маловат для работы транзистора

Alex_Ferrum
Offline
Зарегистрирован: 04.05.2015

Уважаемый Дружище, я возможно что-то пропустил, я помню было обсуждение светодиода и фототранзистора, но не знаю о чём тема, для меня эти разговоры как говориться "ни к селу, ни к городу", вкратце сформулируйте к чему здесь оптопары (я и сам их использовал, для изолирования аналогового сигнала, LOC110, кстати есть пару десятков, если кому для дела нужны, могу дать, Москва, Перово). Сопротивление светодиода сильно зависят от приложенного напряжения.

По поводу малого или большого тока генератора, так установите сами такой, какой хотите, возьмите OPA544, и установите ток, хоть 2 Ампера.

woodlist
Offline
Зарегистрирован: 28.10.2018

Alex_Ferrum пишет:

Уважаемый Дружище, я возможно что-то пропустил, я помню было обсуждение светодиода и фототранзистора, но не знаю о чём тема, для меня эти разговоры как говориться "ни к селу, ни к городу", вкратце сформулируйте к чему здесь оптопары (я и сам их использовал, для изолирования аналогового сигнала, LOC110, кстати есть пару десятков, если кому для дела нужны, могу дать, Москва, Перово). Сопротивление светодиода сильно зависят от приложенного напряжения.

По поводу малого или большого тока генератора, так установите сами такой, какой хотите, возьмите OPA544, и установите ток, хоть 2 Ампера.

Уважаемый Алекс, ловлю некоторое оправданное раздражение в ответе. Дело в том, что уровень моих знаний не на должном уровне. Чаще всего я прибегаю к copy/paste понравившегося метода или приъема, не увидев решение на свою узкую задачу на вершок от носа. Мне скоро 48, а такие задачи решал будучи еще студентом. Так что уж будьте снисходительным. Дело в том, что данный проект притворяю в жизнь в далекой Армении и даже любезное предоставление линейных оптронов для меня не самый опреативно быстрый выход из положения. А дело вот в чем. Контроллер должен мерить и в реальном времени показывать напряжение, силу тока и мощность от блока питания, роль которого играет сварочный инвертор. От работы инвертора контроллер зависает. Стоит задача разнесения котроллера от инвертора и полная гальваническая развязка.

woodlist
Offline
Зарегистрирован: 28.10.2018

заказал rail-to-rail прецизионный операционник из Китая, полтора месяца ждал. Надобы так организовать это долбанное измерение сопротивления, чтоб где специфический прибор надо ставить, заменить его на математику и иные приемы обхода

woodlist
Offline
Зарегистрирован: 28.10.2018

woodlist пишет:

Может, кто-то подскажет идеологию метода измерения сопротивления по схеме от http://meandr.org/archives/25040 Исходый скетч не приводится, к большому огорчению...

Вот тут просто идеальное решение на одном конденсаторе и пару резисторов. Но алгоритма и исходника кода нет. А в нашем дискутируемом случае надо организовать опорное напряжение двух величин, ставить шустрый операционник, на все это делать плату и т.д.

Alex_Ferrum
Offline
Зарегистрирован: 04.05.2015

По поводу зависания контроллера, там могут быть и другие причины, например связанные с организацией питания самого контроллера, например наличие керамического конденсатора емкостью 0.01 - 1 мкФ, подключенного непосредственно к выводам питания контроллера и находящегося рядом с данными выводами. Также помогает наличие развязывающего диода, который спасает от просадок напряжения.

Если нужно изолировать тот же MCP3421, то можно использовать цифровой изолятор, например, ADUM1250 или ADUM1251.

Если вы хотите готовое решения, то нужно либо долго искать в интернете и спрашивать на форумах или обращаться в раздел "Ищу исполнителя".

woodlist
Offline
Зарегистрирован: 28.10.2018

woodlist пишет:

woodlist пишет:

Наверно дело кроется в обратном всплеске при запирании выпрямительных диодов, на SOS эффекте, когда производное напражения по времени имеет сумощедшие значения.

без проводов обвязки только вынос на определенное расстояное прекращает зависание. Но как только хоть один провод, даже только землю подключаю, виснет.

nik182
Offline
Зарегистрирован: 04.05.2015

Колечко ферритовое на земляной провод пробовали? 

woodlist
Offline
Зарегистрирован: 28.10.2018

Я нашел решение, прогонка показала хороший результат. Помог местный проффи, физик-ядерщик.