avatar_Ghozt

BattMeter. Очередная попытка создать убийцу Cycle Analyst (уже в продаже)

Автор Ghozt, 14 Май 2017 в 21:38

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

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

Ghozt

[user]илс[/user], часы будут в обеих версиях. Скринов пока нет, занят железной частью. Планирую заменять 0кмч часами, как было оговорено ранее.

TRO

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

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


Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

Ghozt

[user]TRO[/user], да, я видел этот скрин. И у меня тоже порядка 7 экранов получается, с возможностью сокращения до 5 (без рекуперации и термоконтроля). Я пересмотрел много проектов ваттметров, и много где есть избыточная и неинтересная статистика (какая-нибудь средняя мощность, или общее время в движении для примера). Постарался ограничиться минимально возможным набором параметров, которые действительно могут быть полезны.

tmiaer

Цитата: Ghozt от 17 Май 2018 в 15:13При 18кмч это 141об/мин, при 23 полюсах это почти 3,3кГц меандра.
141 об/мин = 2.35 об/сек
2.35 * 23 = 54 Гц
даже один килогерц будет при какой-то совсем космической скорости

Ghozt

[user]tmiaer[/user], да, моя лажа, забыл на 60 разделить. Платы в производство все же ушли с разводкой под делитель, но поскольку он отключаемый, это ничему не помешает. Корень зла был не в высокой частоте (как казалось), а в том, что все вычисления в прерывании по скорости были с float. Активно перевожу всю работу ваттметра на целые числа везде, где только можно. С целыми и поразрядный ввод в обе стороны стал работать как надо.

Ghozt

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

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

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

Текущая небольшая проблема - малая частота семплирования ADC-преобразователя, но ее можно безболезненно решить либо его заменой (есть более скоростной, но с меньшим разрешением в том же корпусе и с той же распиновкой), либо еще поковырять прошивку и библиотеки. Пока что на съем одного показания с 1 канала тратится 9мс - это очень много, конечно. По этой причине для приемлемой частоты обновления показаний усреднение пока что делается для совсем крохотной выборки в 4 семпла по всем каналам, хотя этого хватает, цифры рисует вроде правильные. Подсчет ампер-часов 4 раза в секунду, все пока черновое.

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

Ну и небольшое видео о том, как все выглядит и работает в текущий момент.   


илс

Хм, а зачем нужно видеть мин. напряжение батареи? Его и так видно в конце разряда.  ;-)
Вот максимальную просадку смотреть интересней.
К тому же ее на ходу рассмотреть бывает сложно...

Genadi

А нельзя ли сделать эту железяку на русском языке? Куда не ткнись, то английский то китайский.. Вроде, автор ни тот и не другой. Это разве сложно?
Хотя может я опять глупость сморозил. :bw:

tmiaer

Лучше не минимальное напряжение показывать, а сразу считать сопротивление. Изменяющийся ток нагрузки есть, изменяющееся при этом напряжение тоже есть. Дальше небольшая фильтрация и математика.

TRO

[user]tmiaer[/user], К предложенному вами замеру сопротивления прямого отношения не имеет, просто вспомнился  случай курьезный.
Гдето в моноколесах один чел писал что его колесо зная заранее сопротивление батареи выдавало напряжение без учета просадки, и стало дурковать когда он батарей добавил (уменьшив сопротивление) , стало при нагрузке показывать больше напряжение (просадка наоборот). И чтобы ехать на разряженной батарее, приходилось после старта сразу вжаривать, что бы думало что напряжения больше чем есть.

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

tmiaer

[user]TRO[/user], хрень какая-то. Знать сопротивление невозможно. Оно сильно меняется от температуры и уровня заряда. Надо постоянно его перемерять, чтобы данный метод давал хоть какую-то точность.

Ghozt

[user]tmiaer[/user], вот да, тоже пришла в итоге мысль снимать напряжение под нагрузкой не меньше 5 ампер, например. И чередовать максимальную зафиксированную просадку с сопротивлением батареи.

[user]Genadi[/user], я делаю универсальную в плане языка железку. Русский язык реализовать, конечно, можно, если применить дисплеи с его поддержкой (например от МЭЛТ, в теме выше они упоминались). Но, во-первых, они дороже, а во-вторых, поддержка русского языка в подобных дисплеях сделана так, что каждое русское слово приходится выводить посимвольно, а это неудобно и жрет память. На текущий момент модуль вывода на дисплей в ваттметре самый увесистый и занимает порядка половины памяти. И потому поддержку английского и русского сделать невозможно, это по сути будет два отдельных модуля, которые забьют все место в микроконтроллере. А железку чисто на русском делать не хочу. Кстати, английский еще удобен тем, что некоторые слова там значительно короче, чем аналогичные русские, в пунктах меню это критично

Genadi

[user]Ghozt[/user], Всё понял, спасибо. С интересом буду наблюдать за Вашим проектом. В своё время приобрёл прибор вот в этой теме:
https://electrotransport.ru/index.php?topic=17964.0#topmsg
До сих пор на нём катаюсь - удачная конструкция получилось. Жалко что дальнейшего развития тема не получила..
Вам предлагаю с корпусом не заморачиваться  - и Вам проще и нам дешевле.

acyd

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

Ghozt

#140
Требуется помощь зала со списком возможных поддерживаемых термодатчиков. Пока что нацелился на KTY83-110, также еще будет термистор NTC 10k, но бета будет фиксированной для него, 3900, может 3950. Допустим еще можно добавить NTC 100k достаточно безболезненно. Также точно знаю, что в некоторых кваншунях встречается то ли kty84-122, то ли kty84-130. По KTY настрою графиков, осредню линейный участок и добавлю соответствующие множители для датчиков. Но модельный ряд KTY широк, хотелось бы сузить до 3-5 моделей. Не хочу добавлять цифровые LM35, потому что один раз от такого натерпелся кучи глюков от наводок на него. Итого на данный момент список:

1. KTY83-110 (KTY81-110 практически аналогичен с ним по показаниям, только корпуса разные)
2. NTC 10k
3. NTC 100k

Остальные позиции пока вакантны, но я думаю ограничить круг в 6-8 датчиков, не более. Предлагайте еще варианты, но только аналоговые, цифровые лесом

илс

У меня в разных МК -  целый зоопарк термодатчиков.
В основном аквариумные NTC 1к и 10к

С Адаптто ездит МК где стоит  KTY84, если не ошибаюсь

Включите поддержку 1 килоомных датчиков, они у многих стоят, насколько мне известно.
Ну и миниатюрный KTY84  - тоже в тему.  :exactly:

Ghozt

Хорошо, 1к будет в списке.

Я провел небольшое исследование датчиков 83 и 84 серии. Так думаю, что просто разделю поддержку на NTC 1, 10, 100k, + серии целиком KTY83 и KTY84. Потому что внутри серий датчики практически не отличаются по показаниям сопротивления от температуры.
В доказательство всему этому вот пара графиков:




В 83 серии серым помечены участки, где ожидаемая ошибка температуры превышает 5К. Из этого следует, что применять лучше датчики 83/110, 83/121 и 83/122. В 84 серии выделять не стал, там их и так довольно мало, в моторах вообще только один встречается - 84/130.

Решил аппроксимировать экспонентой, 84 серия вообще замечательно легла, 83 после 130 градусов будет чуть врать вверх, но там это уже неважно - обмоткам будет уже все равно при использовании в моторе. 81 серию решил не брать, они только до 150 градусов.

tmiaer

Цитата: Ghozt от 26 Нояб. 2018 в 16:27

Решил аппроксимировать экспонентой, 84 серия вообще замечательно легла, 83 после 130 градусов будет чуть врать вверх, но там это уже неважно - обмоткам будет уже все равно при использовании в моторе. 81 серию решил не брать, они только до 150 градусов.
А почему бы таблицей не забить? 140-160 как раз та самая тонкая грань, где пока можно, но ещё чуть-чуть и всё. Именно там точность нужна