Полезная информация


avatar_UriBas

Продвинутое самодельное универсальное ЗУ на МК

Автор UriBas, 02 Апр. 2018 в 22:43

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

KIE

Мой знакомый, талантливый программист,  сделал дома котел отопительный, с выводом всей информации на мобилу, в том чиле и вебкамеру на пламя и дымовую трубу. Сейчас репу чешет, как с мобилы дрова в котел загружать. ;-D

Кass

Цитата: KIE от 16 Май 2018 в 12:15А давайте посчитаем?
Сопротивление меди=0,0175ом\мм2*м
Провода  1,0+1,0м\п, сечение 4мм2 Выбрал предельно-разумные значения, плохенький вариант.
Получаем:
0,0175 *2/4 = 0,0086 Ом При токе 5А получаем 43мВ  Которые элементарно вставляем в программу, кому шибко хочется, просто и элементарно.
ТКЕ при таком огромном градиенте температур ТКЕ = +-15%-20% Получаем максимум 8,8мВ - это пыль.

Не все так просто. Попробуйте, потом поговорим. :)  Ошибка то в том, что это теоретические расчетные данные, которые не учитывают различные клеммы, разъемы, дорожки на плате, датчик тока, канал фета и т.п. Поэтому для снижения этих потерь и требуются провода больших сечений, 2х4 мм2, 6-10 мм2... Если такие провода вытащить на мороз, то работать с ними не удобно. Обратите внимание на тот факт, что ни о одного заводского ЗУ нет проводов такого сечения. Как думаете, почему? Если сходите на сайт того же Ориона, то прочитаете на форуме ответы инженеров завода, что замена проводов ведет к раскалибровке прибора. То есть и там калибровкой все решается, а не толщиной проводов.

Теперь вы берете в расчет удельное сопротивление 17.5 мОм*мм2/м, но это при +20°С, а ТКЕ меди 4.1...4.3 мОм/градус. То есть при -30 под капотом удельное сопротивление 1.39, а при +50 1.97, а не 1.75. Разница 30%. Какое значение берем для расчетов? :)
АРМ стенда онлайн: http://scada.kontar.ru Пользователь: Электротранспорт, Пароль: 111111

Гербалайф от всех болезней, Кашпировский лучший врач,  Орифлейм самая лучшая косметика, а МММ самый лучший способ вложения денег. Кто бы спорил. ;)

Кass

Цитата: UriBas от 16 Май 2018 в 12:30Значит в методику входят измерения с помощью отдельного прибора, а также ввод в ЗУ длинны и сопротивление проводов, учитывать ТКЕ, вводить поправочный коэф. делителя, поправку на температуру..    А как будет компенсироваться плохой контакт клемм с АКБ (при обыденной эксплуатации), сопротивление которого может меняться в широких пределах от случая к случаю?

Нет. Или измерение сопротивления и потом его корректировка при калибровке, или забиваем параметры проводов, а потом корректируем длину. Какой вариант вы выберите. У меня сейчас на стенде второй.

Цитата: UriBas от 16 Май 2018 в 12:30Думаю, четерехпроводная система, все же, предпочтительнее.. там как раз все будет  учитываться почти все сразу, причем автоматом (ничего не надо вводить)..  мало того, при  плохом контакте ЗУ может выдать сигнал, по которому будет ясно, что заряжать при таком контакте будет проблематично, что очень удобно при работе - "запищало, зажимаешь получше, пока не замолчит.."  и т.д.   

Четырех проводная схема хороша в тестере, а в ЗУ она опасна. Если у вас плохой контакт именно в измерительной губке (ну что то попало, или провод оборвался), напряжение имеем крайне низкое, то регулятор может легко вскипятить АКБ. В итоге при плохом контакте АКБ будет на выброс. Ну и вы должны учитывать, что контакт с силовой частью клеммы будет все равно хуже, ибо площадь контакта как минимум вдвое меньше. Поэтому у каждого решения есть свои плюсы и минусы.
АРМ стенда онлайн: http://scada.kontar.ru Пользователь: Электротранспорт, Пароль: 111111

Гербалайф от всех болезней, Кашпировский лучший врач,  Орифлейм самая лучшая косметика, а МММ самый лучший способ вложения денег. Кто бы спорил. ;)

serggio

Цитата: KIE от 16 Май 2018 в 09:31LEMовские датчики мне не подходят. Нужно и постоянный ток и переменный измерять.
Серия, которую я посоветовал работают от DC до AC 300 кГц. Имеет однополярное питание 5В, выход опорного напряжения, чтобы измерять между опорным и выходом усилителя от нуля без всяких внешних цепей

Цитата: Кass от 16 Май 2018 в 17:01Поэтому для снижения этих потерь и требуются провода больших сечений, 2х4 мм2, 6-10 мм2... Если такие провода вытащить на мороз, то работать с ними не удобно. Обратите внимание на тот факт, что ни о одного заводского ЗУ нет проводов такого сечения. Как думаете, почему? Если сходите на сайт того же Ориона, то прочитаете на форуме ответы инженеров завода, что замена проводов ведет к раскалибровке прибора. То есть и там калибровкой все решается, а не толщиной проводов
Очередное "Остапа понесло"....
И опять скачиваем и читаем мануал и даташит насчет проводов...

KIE

Цитата: serggio от 16 Май 2018 в 22:03посоветовал работают от DC до AC 300 кГц.
Спасибо.
Кроме самодельного датчика, у меня есть фабричные осилографические токовые клещи AC/DC, на большие токи  пояс Роговского.
Т. что вопрос с измерение тока от 0 до 10000А уже закрыт.

SanSanich

Цитата: KIE от 16 Май 2018 в 12:15С чего это такое глубокое умозаключение?
Сама м\схема датчика тока и заточена под м\контроллер. Для них выходной сигнал специально сформирован.
У меня такие https://static.chipdip.ru/lib/243/DOC000243002.pdf
А отдавать по цифре в МК я имел в виду по SPI или I2C с АЦП в связке с этим датчиком. Минимум помех и ошибок. Ну да ладно...
ЗУК "ЖУЖА" Самодельный измеритель Rвн https://electrotransport.ru/index.php?msg=1280851

Кass

Цитата: SanSanich от 17 Май 2018 в 01:14А отдавать по цифре в МК я имел в виду по SPI или I2C с АЦП в связке с этим датчиком. Минимум помех и ошибок. Ну да ладно...

Это не совсем верно. Смотря для каких данных брать значение тока. Если для индикации и визуального контроля, то пойдет, если для регулирования, то нет. Все дело в том, что для целей регулирования и даже для тех же счетчиков Ач вам нужно обеспечить постоянство dt, что вам не гарантирует использование асинхронных протоколов. В итоге регуляторы не настроите. Именно поэтому в автоматизации и существуют унифицированные аналоговые сигналы для датчиков, которые фиксируются через стабильные dt.
АРМ стенда онлайн: http://scada.kontar.ru Пользователь: Электротранспорт, Пароль: 111111

Гербалайф от всех болезней, Кашпировский лучший врач,  Орифлейм самая лучшая косметика, а МММ самый лучший способ вложения денег. Кто бы спорил. ;)

Яков93

Цитата: Кass от 17 Май 2018 в 08:25для тех же счетчиков Ач вам нужно обеспечить постоянство dt
А в чем преимущество постоянного dt (насколько я понимаю имеется в виду отрезок времени) перед dt, измеряемым в каждом случае отдельно?
Вот у Вас цикл ходит каждые 50 мс, хотя вся работа в нем занимает допустим 10 мс. Вы считаете Ач периодами по 50 мс, предполагая, что в течение 40 свободных миллисекунд ток не изменялся.
У меня циклы идут без перерыва, длительность каждого цикла подсчитывается отдельно. Соответственно за 50 мс я получу 5 измерений тока и подсчетов емкости, а Вы только одно. ПМСМ чем больше измерений тем точнее итог. А в чем преимущество длинной паузы между измерениями я не понимаю.

serggio

#206
[user]Яков93[/user], это дрейф по времени. Обычно указывается характеристика dt/dv. При непрерывной работе сигнал постоянно отклоняется от истинного, ошибка накапливается.
С каких пор равные интервалы времени стали обозначать дельтой, я не знаю. Видимо у нас новое обозначение

KIE

Уважаемые.
Какая разница где стоит АЦП? (чисто теоретически). Внутри м\контроллера или снаружи?
Практически, все зависит от реальной задачи, условий и бюджета проекта. Не утраивает внутренний АЦП, ставим внешний. А принцип работы АЦП, протокол связи итд  это уже вторично.

KIE

Цитата: SanSanich от 17 Май 2018 в 01:14У меня такие https://static.chipdip.ru/lib/243/DOC000243002.pdf
А у меня какой? :kidding:
Только на меньший ток, меньше размером и меньше шума.

Яков93

Цитата: serggio от 17 Май 2018 в 09:42
[user]Яков93[/user], это дрейф по времени. Обычно указывается характеристика dt/dv. При непрерывной работе сигнал постоянно отклоняется от истинного, ошибка накапливается.
Не ради спора, ради понимания.
Вот ардуина, она постоянно считает количество миллисекунд с момента включения - millis().
Есть такой простой алгоритм:
1. Переменная time=millis() равна количеству текущих миллисекунд.
2. Проводим измерение тока (переменная Amp) и делаем еще что-то.
3. Переменная time_dt = millis()-time, т.е. считаем сколько миллисекунд занял цикл в том числе и измерение.
4. Измеряем емкость: AmpH=Amp*time_dt.
5. Складываем полученные "ампер*часы" с предыдущими.
6. Возвращаемся в п.1.

Какой может быть дрейф по времени? Отталкиваемся от постоянно считающихся millis().

Alex_Soroka

Цитата: Яков93 от 17 Май 2018 в 12:08
Есть такой простой алгоритм:
1. Переменная time=millis() равна количеству текущих миллисекунд.
стесняюсь спросить  ;-D а эту переменную кто и когда считает?
по таймеру? да? а таймеров то в Ардуине всего три! каой из них используется ТОЛЬКО для счета милисекунд?
не таймер? тогда это не милисекунды а непонятно что, ибо прерывания еще есть, которые жрут такты процессора на "прыжки в сторону"  :hello:

а так - да - вы очень ценный совет дали, серьезно.
Только вот "программирование сферического коня в вакууме" это а не "программирование Системы Реального Времени".

Кass

Цитата: Яков93 от 17 Май 2018 в 09:04А в чем преимущество постоянного dt (насколько я понимаю имеется в виду отрезок времени) перед dt, измеряемым в каждом случае отдельно?

Да, правильно понимаете. Это нужно для работы функции интегрирования. Аналогично в регуляторах тоже есть функции интегрирования и дифференцирования. Для них нужен постоянный dt. Как говорится,  "дорога ложка к обеду", так и здесь, каждое значение вы должны получать не когда получится, а ровно через dt. Иначе вы получите не функцию интеграла или дифференциала, а нечто напоминающее ее в виде мат. ожидания, с корреляцией значений на значение дрейфа.

Цитата: Яков93 от 17 Май 2018 в 09:04У меня циклы идут без перерыва, длительность каждого цикла подсчитывается отдельно. Соответственно за 50 мс я получу 5 измерений тока и подсчетов емкости, а Вы только одно. ПМСМ чем больше измерений тем точнее итог. А в чем преимущество длинной паузы между измерениями я не понимаю.

Я думаю, что вы путаете время цикла и время считывания мгновенного значения из АЦП. За 50 мс я получаю не мгновенное значение, а среднее за это время. АЦП работает со скоростью 500 000 измерений в секунду, а не 20. То есть за 50 мс МК получает 10 000 мгновенных значений а раз в 50 мс выдает среднее из них. Организацией циклов в ПЛК, как и поддержанием обмена данными, протоколами, прерываниями и т.п. занимается его ОС. То есть за 50 мс проходит все, и все измерения, и обмен по протоколам, может что то запрашивать по Модбасу, и архивирование, и выдача на армы, и запись входов в конце. То есть вся программа МК не занимается только вот измерением с АЦП и все. :)
АРМ стенда онлайн: http://scada.kontar.ru Пользователь: Электротранспорт, Пароль: 111111

Гербалайф от всех болезней, Кашпировский лучший врач,  Орифлейм самая лучшая косметика, а МММ самый лучший способ вложения денег. Кто бы спорил. ;)

Яков93

Цитата: Кass от 17 Май 2018 в 13:06То есть за 50 мс МК получает 10 000 мгновенных значений а раз в 50 мс выдает среднее из них.
Не понимаю.
У Вас что ток измеряется все время цикла, все 50 мс без перерыва?
Я себе это несколько по другому представлял, да и представляю.
Один раз за цикл получаем данные с датчика тока (10 измерений, 100, 1000...), усредняем их и получаем более-менее точный ток за цикл.
Если цикл искусственно повторять раз в 50 мс, то значение тока умножаем на 50 мс. Если цикл не ограничивать по времени то просто измеряем каждый раз сколько времени занимает цикл и умножаем значение тока на время цикла.

Necromant


Alex_Soroka

Цитата: Кass от 17 Май 2018 в 13:06
мгновенное значение, а среднее за это время. АЦП работает со скоростью 500 000 измерений в секунду, а не 20.
"Имя, сестра!" (с) кино про мушкетеров  B-)

АЦП в вашей поделке называемой ПЛК, насколько я помню, отдельного не стоит, значит "оно в микроконтроллере" на чипе, а там АЦП не выше 200ksps, и это в лучшем случае.
Так что вы снова врете.  :hello:

500000 измерений в секунду ?  ;-D :laugh:

serggio

Цитата: Яков93 от 17 Май 2018 в 12:08Переменная time_dt = millis()-time, т.е. считаем сколько миллисекунд занял цикл в том числе и измерение
Я с ардуиной не знаком, это некая стандартная переменная или вы ее так назвали?
Просто под дельтой обычно подразумевают разницу двух случайных значений а постоянные значения, напр. длительность цикла обозначают просто как T