avatar_xxoma

Ваттметр/велокомп на ардуино

Автор xxoma, 10 Апр. 2014 в 17:42

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

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

v61

Цитата: xxoma от 10 Апр. 2015 в 17:34
Кому влом самому делать плату, паять смд и тд:
пара вопросов по этой плате:
1. стабилизатор дисплея питается от порта меги? Если да, то какой в этом смысл?
2. что за элемент sot236 (?) на который заведены кнопки?

Цитата: xxoma от 10 Апр. 2015 в 17:34
Новые прошивки буду выкладывать в этой теме.
По прежнему планируется?

alex286

Цитата: Grigory55 от 01 Май 2015 в 15:13
Насколько я понял надо шунт подключить к датчику тока, а потом в скетче рассчитать по формуле реальный ток.
Я правильно мыслю, или нет?
Нет конечно... Примененный датчик тока уже имеет встроенный шунт, помимо операционного усилителя, .. или тогда какой смысл в слове "датчик тока"?
С уважением, Александр.

FobOrgan

[user]xxoma[/user], а как у вас насчёт экспериментов с монитором тока/напряжения INA226. А то чтото читал arduino.ru и наткнулся на знакомый ник. Вчера вот только попробовал измерять АВРкой напряжение, Точность в диапазоне 30В-54В получилась 0.3В, т.е. например на 30В всё путём, а потом плавно уплывает. Можно откорректировать конечно и довести до 0.1В, но не лучше. А измерение тока почему датчиком, а не шунт плюс ОУ. Хочу попробовать измерять ток  и думаю может вы уже экспериментировали на эту тему.
Посмотрел код который вы выкладывали и там измерение напряжения реализовано как 10 замеров с нахождением среднего и никакой коррекции нету. Неужели точно измеряет или в более поздних прошивках там наворочено на эту тему для повышения точности чтото?
Езжу на 2хQ100/1200Вт/14Sx18Ач Li-ion уже 33300км за 9 лет

xxoma

Уже второй месяц как переделал на монитор шунта, только не ina а от linear techlogy. 12 бит разрешение для тока и напряжения. Сопротивление шунта задаётся в настройках велокомпа.



Меряет десятки милиампер при максимальном значении 50А в моём случае.
Но есть и минус, не измеряет ток в обратном направлении так что измерение рекуперации я убрал. Но мне и не нужно с подвесным бафангом.
Kellys Blog, Bafang 750W 48V bbs02, 48V 23Ah.

FobOrgan

[user]xxoma[/user], это очень хорошая точность. А не поделитесь названием микросхемы? Конечно я бы и от исходников по части общения с этой микросхемой не отказался, а то честно c I2C никогда даже не экспериментировал. И чтобы как говорится велосипед не изобретать. Но это если не жалко.
Езжу на 2хQ100/1200Вт/14Sx18Ач Li-ion уже 33300км за 9 лет

xxoma

[user]FobOrgan[/user], ltc4151, есть библиотека для ардуино. Ничего сложного.
Kellys Blog, Bafang 750W 48V bbs02, 48V 23Ah.

FobOrgan

Цитата: xxoma от 20 Авг. 2015 в 20:43
ltc4151
Спасибо. Цена иго-го конечно говорит, да и купить негде (кроме алиэкспресса), но что-нить придумаю. Не настолько то и дорого, учитывая удобство.
Езжу на 2хQ100/1200Вт/14Sx18Ач Li-ion уже 33300км за 9 лет

MotoVlad

[user]xxoma[/user], у меня тоже накопилось немного вопросов по модернизации
1)При переходе с датчика тока acs712 на 756, переделавалась система опорного питания ? Как быть если питания датчика и ардуины будет от разных источников ? Датчик планирую встроить в сам контролер, а там lm317 возможно будет давать дрейф напряжения. Стоит ли применять REF195 к примеру ?
2)Какие требуются усилия и компонентная база что б задействовать i2c шину, сделать цифровую шину обмена?
Идея такова - в контролере ставим датчик тока и простенький проц который считывает АЦП, сигнал скорости , имеет 2 ШИМ (управление газом и тормозом) и к примеру умеет ещё дрыгать ногой - включение ограничение скорости подачей лог 0 на сам контролер. Само собой шина обмена i2c.

ximion

[user]xxoma[/user], приветствую! Подойдет ли датчик ACS758ECB-200B-PFF-T, или какой можно использовать для измерений до 200А с рекуперацией?

demonys

[user]genamuy[/user], Привет у меня к тебе 2 вопроса по ваттметру . 1. Какой датчик тока подойдёт на двигатель 1кВт 48вольт ACS758LCB-050B-PFF-T или ACS758LCB-100B-PFF-T. 2. Переделай прошивку подходящий датчик тока ваттметр на ардуино нано.

xxoma

[user]ximion[/user], пойдет по идеи) походу он до 200А в обе стороны. Но дискретность будет хреновая. Получается 400А/1023 ~= 0.4А
Kellys Blog, Bafang 750W 48V bbs02, 48V 23Ah.

xxoma

Кому интересен готовый девайс есть пару штук на продажу.
Переделал, сейчас всё на одной плате, подключаете к клемам шунт, +/- от батареи, датчики температуры(в комплекте 2шт), и геркон для измерения скорости.
Девайс без шунта $28. Еста парочка шунтов на 50А/75mV - $5 шт.








Kellys Blog, Bafang 750W 48V bbs02, 48V 23Ah.

big17

Цитата: xxoma от 09 Июнь 2016 в 02:32
... и геркон для измерения скорости.
А выход с датчиков холла с моторчика для определения скорости почему не используете?
На стадии проектирования сборки: легкая открытая прогулочная двухместная машинка: 48V 2+2 КВт Quanshun'ы 100Ач !!!
https://electrotransport.ru/index.php?topic=26801.0 (заходите, критикуйте)

xxoma

[user]big17[/user], с моим мотором это не возможно. Но должно работать и с холлами.
Kellys Blog, Bafang 750W 48V bbs02, 48V 23Ah.

clawham

Цитата: big17 от 14 Июнь 2016 в 00:57
Цитата: xxoma от 09 Июнь 2016 в 02:32
... и геркон для измерения скорости.
А выход с датчиков холла с моторчика для определения скорости почему не используете?

ну так у человека кареточный мотор - скорость на нем это скорость педалирования  :) передачи ж ещё...кроме того фривил.
1)8FUN SWXK 250w24V@17A48V 13S4P LGD1, China kontr
3)MXUS 3000 @90A80V LiFePo 20Ah 25S, Nucular 12F
Telegram @clawham

Grendel

[user]xxoma[/user], Хочу прикупить деайс, но ты куда-то пропал. Не отвечаешь по всем каналам.

Ghozt

#214
Каждый уважающий себя электробайкер пытается сделать свой ваттметр (с)
Наконец выдалось достаточно свободного времени, чтобы тоже попытать счастья в этой дисциплине. Аппаратная часть все та же - arduino uno (atmega328p). За основу прошивки взял код [user]xxoma[/user], но переписал его под дисплей 1602, так как считаю этот дисплей эталоном в плане засветоустойчивости и читаемости. Концепцию и менюшки частично взял с CycleAnalyst, частично придумал сам. От полноценного встроенного меню для настройки длины окружности/пр. было решено отказаться - по 3-летнему опыту использования СА могу сказать, что в настройки я лазил раз 10 за все это время. Выставить значение шунта, длину окружности, количество полюсов и пр. можно сразу прямо в прошивке или еще кое-каким способом... но об этом ниже

Что было добавлено:
- поддержка термодатчика KTY81-110. Просто скопировал готовый скетч из примеров с правкой пина для его входа. Соответственно есть экран с его текущим, максимальным показанием и порогом ограничения.

- экраны пиковой статистики: минимальное напряжение, максимальная скорость, максимальный ток

- поддержка SD-карты. Научил ваттметр писать лог показаний V, A, W, Ah, скорости, суточного и общего пробега. В принципе не проблема добавить какие-нибудь еще показания вроде рекуперации, сопротивления батареи и пр. Лог пишет с интервалом в 1с в таком виде:
31.49;8.33;262.26;38.82;2041.46;0.00;0.51;36.68
Потом эти цифры можно вставить в  Excel напрямую и обработать. Думаю еще добавить чтение файла настроек с SD-карты, чтобы можно было прибор настраивать без подключения UART. Кстати, основное место в памяти микроконтроллера сожрала именно поддержка карты (около половины места)

- полностью переделана обработка кнопки под библиотеку AnalogDebounce с поддержкой длинных и коротких нажатий. Кнопка все так же одна, хотя запросто можно добавить и вторую

- переделана работа подсветки: убрана возможность ручного включения/выключения; теперь она светится всегда, если скорость больше нуля, и 10 секунд после остановки или последнего нажатия кнопки.



UPD: добавил прошивку

UPD2:
- Доделан корректный подсчет регена. Теперь потраченное и восстановленное считается отдельно и НЕ суммируется
- Переписан вольтметр под внешний источник опорного напряжения
- Переделан амперметр под внешний источник опорного напряжения, добавлены константы усиления сигнала с шунта и сопротивления шунта
- Добавлен алгоритм подсчета внутреннего сопротивления батареи (надо тестить)
- Сделан корректный подсчет общих ампер-часов
- Доработан алгоритм сохранения: теперь сохраняется раз в 30сек независимо от движения/стоянки
- Добавлен примитивный алгоритм управления ручкой газа: при достижении ограничения температуры он скидывает сигнал до 1,5в, а если текущая температура больше ограничения  больше, чем на 5 градусов - скидывает напряжение до нуля и пишет "OVERHEAT" на экране. PID решил не использовать. По крайней мере пока

У контроллера остался последний незадействованный аналоговый вход, и я решил отдать его под второй термодатчик.
Места в контроллере осталось меньше 4кб, вряд ли стану делать настраиваемый лимит тока/скорости.
Что еще нужно добавить:
- подсчет средней скорости
- добавить константу Poles(количество полюсов) и изменить алгоритм подсчета скорости/дистанции для возможности снимать скорость с ДХ директ-драйвов

UPD3:
- Добавлено чтение настроек с SD-карты. Работает следующим образом: на карту закидывается файл settings.txt с следующим содержанием:
poles=1
wheel=2.115
Rshunt=1000
limtemp=110

poles - количество полюсов (1 в случае геркона)
wheel - длина окружности колеса в метрах
Rshunt - сопротивление шунта в миллиомах
limTemp - ограничение температуры

После этого карта вставляется и ваттметр отправляется в перезагрузку. При запуске инициализируется файл с новыми настройками, они прописываются в EEPROM и демонстрируются на экране для достоверности. После этого файл settings.txt автоматически удаляется с карты. Настройки вступают в силу сразу после его удаления, и при следующей загрузке читаются уже из EEPROM



- Немного переделан логгер: добавлено внутреннее сопротивление батареи в записываемый лог. Также теперь при записи каждого нового лога сначала прописывается шапка вида:

*****************************
V;A;W;Ah;Speed;km;totkm;Rbatt
*****************************


которая разделяет логи между собой.

- Убрано определение объема SD-карты на экране загрузки из-за нестабильной работы логгера

- Добавлена возможность снятия скорости с ДХ директ-драйвов.  Надо тестить

Пытался реализовать подсчет средней скорости через библиотеку Average - считает верно, но не учитывает то, когда велик стоит. Видимо, надо завести еще один таймер для времени, когда скорость больше нуля, и потом суточный пробег делить на это время. Займусь этим позже.

TRO

[user]Ghozt[/user], не мучайся, возьми экран 2004 вместо 1602, а то ведь ничерта не влазит, по управлению все тоже самое, даже код по моему переписывать не надо,  только информации влезает в 2+ раз больше, два бакса разницы не та цена чтобы на этом экономить, а то эти скролинги в печенках уже сидят.

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