Li-Force Самодельный логгер - делал ли кто? - Страница 12
 

Самодельный логгер - делал ли кто?

Автор Timber, 26 Сен. 2016 в 22:21

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

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

KIE

Что то, как то, все подряд методом тыка.
А есть инструкция по работе этого прибора?

Серик

Здравствуйте, Уважаемый KIE!
Вот здесь я задался/задавался вопросом:
https://electrotransport.ru/index.php?msg=1242957
https://electrotransport.ru/index.php?msg=1242968
Цитировать, иначе в соответствующей теме мне придется задать сотни вопросов, прежде чем я соберу этот логгер.
Благодарю Вас за Внимание и прошу простить за много вопросов!
Жажду получить графики!
:-)

LeoDron

Цитата: clawham от 17 Март 2018 в 15:10просчитайте мне сопротивление этой банки!
Вы абсолютно правы  - мерять сопротивление в режиме реального времени практически не реально, но ваши исследования натолкнули меня на интересную мысль. В принципе не столь важно, какое сопротивление ячеек, их разбалансировка и тд. Ваш логгер даёт возможность определить, что какая-то ячейка(ячейки) под нагрузкой ведёт себя неадекватно по сравнению с работой всей батареи. И это даёт нам возможность проводить диагностику ячеек батареи  в режиме реального времени. А критерием некорректной работы батареи и поиска «паршивой овцы» должно быть не внутреннее сопротивление секции, а ее отличие от  «стада»/ всех остальных секций(батареи). Мы можем использовать, так называемый полнопрофильный анализ «fullprof». Проананализировать поведение каждой секции под нагрузкой  по отношению к поведению  всей батареи (усреднённое значение для всех секциях (S)). Например  U-I зависимость, которую вы представили:

Алгоритм вижу такой:
выделяем часть U-спектрa под нагрузкой:

1. U-спектры секций сдвинуты по отношению друг с другом. Причина - разбаланс ячеек.
Сдвиг (разбаланс) определяем по методу наименьших квадратов (МНК) для каждой секции по сравнению с усреднённым значением для всех секций (батареи). Первое важное значение - разбаланс секций  (Ud) по отношению к напряжению всей батареи найдено. Но это не самое важное. Кто-то скажет, что это значение проще найти и  без нагрузки. Согласен - но оно будет другое, и суть сейчас не в этом.
2. Приводим напряжение всех секции к общему знаменателю (добавляя к напряжению секции, напряжение  разбаланстровки (Ud) этой секции), и после этого делаем полнопрофильный анализ.
3. Рассчитываем для всех точек спектра сумму квадратов отклонения напряжения каждой секции по отношению к усреднённому значению по батарее, мы определяем  вклад  этой ячейки (серии) в работу батареи.  Назовём это значение фактором добротности ячейки ( goodness of fit - GOF).
4. Чем ближе величина этого фактора к 1, тем более «гармонично» работает эта секция по отношению к работе всей батареи. Если значение значимо отличается от 1   - секция работает за других или "косячит": элемент в секциии просел, ус на элементе в секции перегорел или контакт отвалился и тд.). Возможно, нужно  батарею на стол - вскрытие покажет.
Так я вижу умные БМС в комбинации с грамотным целлогом.
Такой алгоритм кажется сложным, на первый взгляд, но  ничего сложного в нем нет и даже самые примитивные гаджеты проводят подобный анализ тысячи/миллионы раз за день.
«Конёк Горбунoк»-Колёса: 16"; Single speed: 48/12T; 2MК (YOUE,250W,8Т); Kонтролёры: 2xКТ 14A; Батарея:36В/27Ач; Вес: ~150 кг; Макс. ск. : 28 км/ч
Симулятор: https://www.ebikes.ca/tools/simulator.html?bopen=true&motor_b=MG01_STD&motor=MG01_STD&batt=B3614_PF&batt_b=B3614_PF&autothrot=false&cont=cust_14_50_0.1_V&cont_b=cust_14_50_0.1_V&mass=150&mass_b=150&hp=0&hp_b=0&throt=100&grade=&grade_b=0&k_b=1&throt_b=100&whee&wheel_b=16i&wheel=16i&add=true&blue=Lbs

KIE

Цитата: Серик от 17 Апр. 2018 в 17:28Вот здесь я задался/задавался вопросом:
А где ответ на этот вопрос?
Что отсылаем\получаем, настройки протокола?

edw123

#202
Цитата: LeoDron от 17 Апр. 2018 в 21:39
...
1. U-спектры секций сдвинуты по отношению друг с другом. Причина - разбаланс ячеек.
Это если 100% идентичны цепи и каналы измерителя. И 100% идентичны условия нагрузки для каждой ячейки. Т.е. в целом - если для каждой ячейки заранее определена систематическая погрешность, и во всех режимах, и с дрейфом. И не потеряется ли в них измеряемое в "полевых условиях" отклонение :)

LeoDron

Цитата: edw123 от 18 Апр. 2018 в 09:18
Это если 100% идентичны цепи и каналы измерителя. И 100% идентичны условия нагрузки для каждой ячейки. Т.е. в целом - если для каждой ячейки заранее определена систематическая погрешность, и во всех режимах, и с дрейфом. И не потеряется ли в них измеряемое в "полевых условиях" отклонение :)
100 % не бывает, но даже китайские 8s тестеры  дают разброс напряжения между каналами «всего» 1 %. И этой точности  уже достаточно чтобы без анализа увидеть, что определеенняя секция ведёт себя нехорошо.

Кроме того, точность  будет выше 1% потому, что ошибка состоит из несколькоких составляющих: систематический сдвиг, температурный дрифт, нелинейную составляющую и тд. Первые две составляющие (а они самые значимые) в значительной степени нивелируются  процедурой нормализации U-I зависимости (шаг 2)

Такой логер хорош тем, что может писать каналы не постоянно, а по событиям (например по всплескам тока выше определённого), анализировать эти участки и записывать на флешку минимум данных:
Время, усреднённые: ток, напряжение на каждой секции и нормализированное квадратичное отклонение напряжения. Флешки на   16 Гб для 10s батареи хватит почти на миллион таких событий (ручка газа быстрее отвалится), и мы будем иметь всю историю жизни нашей батареи.
Вот такого логгер очень бы хотелось иметь   :ah:


«Конёк Горбунoк»-Колёса: 16"; Single speed: 48/12T; 2MК (YOUE,250W,8Т); Kонтролёры: 2xКТ 14A; Батарея:36В/27Ач; Вес: ~150 кг; Макс. ск. : 28 км/ч
Симулятор: https://www.ebikes.ca/tools/simulator.html?bopen=true&motor_b=MG01_STD&motor=MG01_STD&batt=B3614_PF&batt_b=B3614_PF&autothrot=false&cont=cust_14_50_0.1_V&cont_b=cust_14_50_0.1_V&mass=150&mass_b=150&hp=0&hp_b=0&throt=100&grade=&grade_b=0&k_b=1&throt_b=100&whee&wheel_b=16i&wheel=16i&add=true&blue=Lbs

UstAlexei

[user]KIE[/user], чем вас не устраивает параметры протокола которые указаны в данном сообщении? https://electrotransport.ru/index.php?msg=984965
Пример возвращаемого значения можете увидеть в сообщение https://electrotransport.ru/index.php?msg=1321212 через запятую передаются кванты измеренные АЦП двух входов.

KIE

Цитата: UstAlexei от 18 Апр. 2018 в 14:05чем вас не устраивает параметры протокола которые указаны в данном сообщении?
Это параметры настройки порта.
А танцы с бубном были из-за того, что Серик не передавал символ окончания передачи.
В сообщении №57 об этом ничего не написано.
Это не серийное изделие, где четко и жестко определены все параметры приема\передачи. Догадаться что автор придумал просто невозможно.

Серик

Цитата: UstAlexei от 17 Апр. 2018 в 13:52ничем не отличается от terminal. См. выше.
И даже если строка с предложением ввести паузу не появилась... Вы просто ее не успели получить, то можно смело вводить интересующую вас паузу и нажимать клавишу Enter.
Приветствую Всех Форумчан!
Я прогрессирую! ;-)
Сделал с Oscilloscope 1.5 как сказано-точно так и произошло!
Вывод-ресет делать не надо и в этом приложении!
Просто вводим число и нажимаем Enter и все ОК!
Также, попробовал в Oscilloscope 1.5 выбрать baudrate 115200, сразу появилась ошибка!:
Спойлер


KIE

#207
Цитата: Серик от 19 Апр. 2018 в 14:52Просто вводим число и нажимаем Enter и все ОК!
Enter - это байт окончания передачи.
Вы передаете число (напр 1000(дес)=3Е8(НЕХ)) которое контроллер запоминает, обрабатывает и на основании этого значения формирует паузу между измерениями.
Затем передаете второе число (Enter=0D8) которое контроллер интерпретирует как команду выхода из подпрограммы приема информации и переходу к измерение+передача+пауза. Нет команды завершить прием - контроллер зависает.
В таком простом устройстве, эту команду можно было и не вводит. Но раз она есть, то есть.
Эти действия и команды не являются определенным стандартом. Часто при передаче добавляют стартовый байт итд итп. Принятую информацию можно с натугой декодировать, а вот управляющую-передаваемую строку это из области фантастики.
По этому и написал, что:
Цитата: KIE от 17 Апр. 2018 в 15:34Что то, как то, все подряд методом тыка.
........................
Цитата: Серик от 19 Апр. 2018 в 14:52выбрать baudrate 115200, сразу появилась ошибка
Скорость передачи\приема определена жестко. Информация синхронизирована временем. Грубо говоря интерфейс однопроводный. При большом потоке информации обязательно нужна синхронизация м\к кварцем (посмотрите даташит, там есть таблица статистических ошибок при разной частоте синхронизации) и нормальный UART.

UstAlexei

[user]KIE[/user], вопросов нет. И вы по большей части правы.
Но
1. Логгер я делал для себя, и не претендую на то что это устройство совершенно.
2. Не заставляю никого его повторять.
3. Возможность подключить кварц к данному контроллеру отсутствует.

KIE

Цитата: UstAlexei от 20 Апр. 2018 в 13:33
1. Логгер я делал для себя, и не претендую на то что это устройство совершенно.
2. Не заставляю никого его повторять.
Лукавите. ;-)
В теме есть схема, плата, прошивка. Описание работы, но не полное.
Только запредельная настойчивость Серика привела его к положительному результату.
Цитата: UstAlexei от 20 Апр. 2018 в 13:333. Возможность подключить кварц к данному контроллеру отсутствует.
У него и встроенный UART отсутствует. Это плохо. Какой бы совершенный софтовый UART не был, полностью встроенный не заменит.   

Серик

#210
Приветствую Всех Форумчан!
Здравствуйте, Уважаемый KIE!
ЦитироватьВ теме есть схема, плата, прошивка. Описание работы, но не полное.
Только запредельная настойчивость Серика привела его к положительному результату.
Согласен, в теме есть все необходимое, для повторения проекта, если действительно нужно!
Автор сопроводил новичка до финиша советами!
За что еще раз хочется поблагодарить Автора!
Также Благодарю всех Неравнодушных Форумчан за Помощь и Советы!
KIE, Благодарю за советы, подсказки и ссылку на UART-радиоудлинитель!
https://electrotransport.ru/index.php?msg=1285382
Мне еще предстоит внедрить UART-радиоудлинитель к этому Двухканальный логгер на Attiny13 c 57 поста.
Радиологгер - это круто!

KIE

#211
Цитата: Серик от 21 Апр. 2018 в 11:43Мне еще предстоит внедрить UART-радиоудлинитель
Дерзайте.
Сделать беспроводную информационную линию, это огромный плюс для такого устройства.
..........................
В дальнейшем, на перспективу: B-)
http://www.mini-tech.com.ua/index.php?route=product/category&path=65_177

Серик

#212
Приветствую Всех Форумчан!
Пришли радиомодули НС-12 2 шт., прошло некоторое время, все не решался за них взяться.
Но все же , когда-то же надо их подключать.
Для подключения этих модулей к  двухканальному логгеру на Attiny13 с 57 поста, я полагаю, надо что бы конфиг/настройка НС-12 совпадал бы с конфигом/настройкой двухканального логгера на Attiny13 с 57 поста.
В НС-12 по умолчания (правка: 28072018, по умолчанию) такой конфиг/настройка: When the HC-12 module leaves the factory, its default serial port transparent
transmission mode is FU3.
осюда:
http://arduinolab.pw/wp-content/uploads/2016/06/2016-01-14_122335_HC-12_v2.3B.pdf
Здесь написано, какие AT команды подавать, что бы настроить:
http://arduinolab.pw/index.php/2016/07/02/radiomoduli-na-433mgc-hc-11hc-12-c-uart-interfejsom-obzor/
Параметры передаваемого сигнала в двухканальном логгере на Attiny13 с 57 поста:
ЦитироватьЗабыл написать параметры передаваемого сигнала baud - 9600, data bits - 8, stop bits - 2, Parite - None.
, отсюда:
https://electrotransport.ru/index.php?msg=984965
Возник вопрос ( в связи с вышеизложенным ), если мне надо изменить настройки НС-12, то надо вывод SET припаять к массе этого же модуля, а после задания настроек-отпаять, это понятно! Но я не понимаю, каким образом я могу подать эти AT команды на этот модуль? Один из модулей у меня будет работать с USBUART переходником, а другой модуль будет работать с двухканальным логгером на Attiny13 с 57 поста, настройки, полагаю, у двух НС-12 должны быть одинаковые.
Что мне надо сделать?
Припаять сначала один НС-12 к USBUART переходнику, посадить SET к GND, подключить это в USB гнездо компьютера, а затем что?
Попробовать через терминал отправлять команды?
Затем тоже самое сделать с вторым модулем?

Похоже, что эти команды можно набирать прямо с клавиатуры:
Команды воспринимаются модемом только тогда, когда он находится в «командном режиме» или offline. AT-команды обычно отправляются модему посредством коммуникационного программного обеспечения, но также могут быть введены пользователем вручную, с компьютерной клавиатуры.
Осюда:
https://ru.wikipedia.org/wiki/AT-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B
Напоминает мне:
Описание АТ команд модулей:
Для настройки модуля необходимо перевести его в командный режим, для этого необходимо притянуть контакт «SET» к массе и подождать ~40ms. Контакт «SET» имеет подтягивающий резистор на 10к. В командном режиме последовательный порт сконфигурирован на 9600bps. Если параметры модуля были изменены, после выхода из командного режима, они будут применены через ~80ms.

Отсюда:
http://arduinolab.pw/index.php/2016/07/02/radiomoduli-na-433mgc-hc-11hc-12-c-uart-interfejsom-obzor/
Можно догадаться, что , 1. Заземляю SET-Команды воспринимаются модемом только тогда, когда он находится в «командном режиме» или offline.
                                        2.Наверное, с "терминала" ввожу команды.-AT-команды обычно отправляются модему посредством коммуникационного программного обеспечения, но также могут быть введены пользователем вручную, с компьютерной клавиатуры.
А если серьезно, то как все же  подготовить эти радиомодули для работы?
:bw:

Паяка

#213
Цитата: Серик от 22 Июнь 2018 в 08:24Припаять сначала один НС-12 к USBUART переходнику, посадить SET к GND, подключить это в USB гнездо компьютера, а затем что?
Попробовать через терминал отправлять команды?
Затем тоже самое сделать с вторым модулем?
Именно так. А когда оба модуля уже одинаково настроены, пользоваться ими как длинным гальваноразвязанным COM. Модули никак не контролируют, дошли ли данные, все проверки и подтверждения должны производиться логгером и ПК, каждым со своей стороны.
Наверняка есть смысл установить режим поэкономнее, задача ведь не на сотни метров вещать.
По этой ссылке
смотрели? Там SET к выводу Ардуино подключается, что даёт дополнительные возможности.
GT TF1 60V 20Ah Chilwee DZF

Серик

Приветствую Всех Форумчан!
Благодарю Вас Уважаемый Паяка!
Решусь все же попробовать настроить, собираюсь поставить режим поэкономнее-50 метров меня устроит!

Серик

#215
Приветствую Всех Форумчан!
Все еще не настроил ( даже не начинал настраивать, поскольку непонятно ) свои радио модули HC-12.
Нашел еще один pdf на этот HC-12:
https://www.elecrow.com/download/HC-12.pdf
Здесь, в разделе Module Parameter Setting AT Command, на 9 странице, обратил внимание на команду ( и описание )
Цитировать⑧AT+Uxxx
Set data bits, check bit and stop bit of serial port communication. For check bit, N
means no check, O means odd check, and E means even check. For stop bit, 1 means
one stop bit, 2 means two stop bits, and 3 means 1.5 stop bits.
e.g.:
To send serial port format to be eight data bits, odd check, and one stop bit, please
Send "AT+U8O1" to module, and the module returns "OK+U8O1". ⑨AT+V
Inquire firmware version information of module.
e.g.:
Send "AT+V" command to module, and the module returns "HC-12_V1.1".

А по умолчанию, этот модуль приходит с заводскими настройками:
ЦитироватьThe default working mode of system is in FU3 full-speed mode, and in this mode, the baud rate in
this air can be automatically adjusted according to baud rate of serial port, and the
communication distance will be the farthest at the low baud rate.
и
ЦитироватьThe default setting is FU3, 9,600bps (8-dibit data, no check, one stop bit), CH001 (433.4MHz).
Как я понял, 
ЦитироватьЗабыл написать параметры передаваемого сигнала baud - 9600, data bits - 8, stop bits - 2, Parite - None.
, отсюда:
https://electrotransport.ru/index.php?msg=984965,
в простом двухканальном логгере от UstAlexei baud rate-9600, а НС-12 с заводской настройкой FU3 baud rate устройства настроится на baud rate of serial port, или я не так понял?
Также,
ЦитироватьThe default setting is FU3, 9,600bps (8-dibit data, no check, one stop bit), CH001 (433.4MHz).
что не совпадает с :
ЦитироватьЗабыл написать параметры передаваемого сигнала baud - 9600, data bits - 8, stop bits - 2, Parite - None.
Здесь только совпадает, что в дефолтном режиме FU3 от HС-12 "baud rate" устройства автоматически  подстроится (хотя. и там 9600 и там 9600), и "data bits-8" совпадает, а "stop bits-2" не совпадает с "one stope bit", и непонятно, что такое "Parite-None" - это "chek bit"?
Тогда дефолтные "no chek" от HC-12 и "Parite-none" в настройках двухканального логгера от UstAlexei совпадают!
А не совпадает только "one stope bit" из дефолтных настроек FU3 от HC-12, так как в настройках от UstAlexei "stop bits-2".
Итого, решил, что мне надо только изменить 8-ю команду на:
Спойлер

остальное оставить как есть.
Подскажите, Уважаемые Форумчане, пожалуйста, правильно ли будет так сделать?