"Бортовой компьютер своими руками" или "Arduino для "чайника""

Автор Yaroslav, 16 Окт. 2017 в 19:30

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

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

Yaroslav

Тю, я раньше тоже думал что при 35а где то 0,6в, но оказалось ошибся на нолик :ah:.
Шунт в инфинеоне 1,7мОм, при 35а(прошито батарейного) по закону Ома 59,6мВ.
Получается что для шунта нужно использовать максимальное усиление, с диапазоном 0-0,256В.
Как измерять напряжение батареи, уложить его в диапазон 0-0,256В для ацп или 1-5в для ардуинки? Как то жалко что два канала ads1115 в воздухе висят и не используются. Может можно усиление на ходу менять, перед измерением на каждом входе изменять усиление, такое возможно??
Строю лигерад

edw123

Цитата: Yaroslav от 20 Окт. 2017 в 00:56
Тю, я раньше тоже думал что при 35а где то 0,6в, но оказалось ошибся на нолик
Шунт в инфинеоне 1,7мОм, при 35а(прошито батарейного) по закону Ома 59,6мВ.
Получается что для шунта нужно использовать максимальное усиление, с диапазоном 0-0,256В.
И что, в инфинеоне усилитель стоит? В моём контроллере с шунта на делитель и на вход цпу. А простой делитель напряжения батареи чем не подходит?

Yaroslav

[user]edw123[/user], В том то и дело что не стоит(я так думаю, да и вы подтвердили), а раз на разъем выводится сигнал без усиления, в моей конфигурации это максимум 59,6мВ. Перед измерением его нужно усилить.
Делитель подходит, вопрос в том, к каому уровню делить, к 5в для ардуино или к 0,256В для внешнего ацп(в случае, если внутреннее усиление ацп нельзя менять на ходу, перед измерением на каждом канале, пока не понял).
Строю лигерад

edw123

Цитата: Yaroslav от 20 Окт. 2017 в 01:18
[user]edw123[/user], В том то и дело что не стоит(я так думаю, да и вы подтвердили), а раз на разъем выводится сигнал без усиления, в моей конфигурации это максимум 59,6мВ. Перед измерением его нужно усилить.
Делитель подходит, вопрос в том, к каому уровню делить, к 5в для ардуино или к 0,256В для внешнего ацп(в случае, если внутреннее усиление ацп нельзя менять на ходу, перед измерением на каждом канале, пока не понял).
А зачем менять у внутреннего? Подогнать оба сигнала под один макс уровень. http://www.avdweb.nl/Article_files/Solarbike/Motor-controller/China-BLDC-motor-controller-36V-250W-circuit.jpg Батарейный сигнал можно и стабилитроном урезать для точности.

Если в контроллере нет усилителя - зачем Вам хочется?

Yaroslav

[user]edw123[/user],
ЦитироватьЕсли в контроллере нет усилителя - зачем Вам хочется?
И что, Вы предлагаете измерять 0-0,059В на входе 0-5В? Разве не стоит его усилить перед измерением? В не зависимости хочется мне или нет)

Добавлено 20 Окт. 2017 в 01:40

И так уточняю вопрос, если раньше не правильно выразился.
Такое будет работать?
Цитироватьvoid loop(void)
{
  int16_t  adc2;
  int16_t dif;
 
  ads.setGain(GAIN_SIXTEEN);
  dif = ads.readADC_Differential_0_1();

  ads.setGain(GAIN_ONE);
  adc2 = ads.readADC_SingleEnded(2);
 
}

Или ацп сгорит от того что на вход 2 будет подаваться сигнал больше чем нужно для "GAIN_SIXTEEN"?
Строю лигерад

Dmitry__

Цитата: Yaroslav от 19 Окт. 2017 в 22:02
1. Возможно считывать с двух каналов ads1115 дифференциально, а с оставшихся двух в одноканальном режиме между землей и входом?
Ничего не мешает (не увидел таких запретов в pdf). Все можно делать на ходу, и мультиплексор и PGA. Единственное, если будет режим "Continuous-conversion mode", то может понадобится останавливать, но это все легко проверить в тестовом скетче. Дать дифф. пару и одиночные сигналы на ацп и все вывести в терминалку.

А, ну [user]mr.Dream[/user] ответил на этот вопрос, все можно конфигурировать на лету.

Цитата: Yaroslav от 20 Окт. 2017 в 01:18
вопрос в том, к каому уровню делить, к 5в для ардуино или к 0,256В для внешнего ацп(в случае, если внутреннее усиление ацп нельзя менять на ходу, перед измерением на каждом канале, пока не понял).
Да все можно на ходу. Приводить напряжение к 0,256В не нужно, есть диапазон: FSR = ±6.144. Только учитывать пометку(1): This parameter expresses the full-scale range of the ADC scaling. Do not apply more than VDD + 0.3 V to this device.

Я комп делал (не доделал, ждет зимних длинных вечеров) на базе ваттметра hk_010. Вот он как раз абсолютно глючный устройств благодаря lm358 :)
Я на его разьем балансира вывел программатор, внутр. функции шунта использовать не буду хотя бы потому, что глупо вести силовые провода к рулю (внешний сенсор тока). Ваттметр сделан на atmega8, проект пишу в чистом gcc (не ардуино).



Прикол ваттметра в открытой прошивке, надоело писАть комп, залил обратно прошивку ваттметра :) Вот:





Yaroslav

ЦитироватьДа все можно на ходу. Приводить напряжение к 0,256В не нужно, есть диапазон: FSR = ±6.144.
Вот это круто,  не ожидал что усиление можно менять!) Все пугает меня тот факт что то одной ноге будет висеть вольта 4, пока на паре других измерения с диапазоном 0,256В))
Строю лигерад

Dmitry__

Ну только надо посмотреть библу ардуиновскую, может там есть косяки с переключением mux, тут я как mr.Dream, люблю полный контроль над чипами. Лучше свои функции написать. В последнее время библиотеки ардуин полны быдлокода...
Скажем так, если будет малейшее подозрение на глючность ардуиновскай функции (возитсья не дольше 3-х часов :)), то писАть свое...

edw123

Цитата: Yaroslav от 20 Окт. 2017 в 01:36
[user]edw123[/user],
ЦитироватьЕсли в контроллере нет усилителя - зачем Вам хочется?
И что, Вы предлагаете измерять 0-0,059В на входе 0-5В? Разве не стоит его усилить перед измерением? В не зависимости хочется мне или нет)
Почему-это вход "0-5В"? Внешнее опорное с нужным уровнем.

Yaroslav

Кто в курсе, какой сигнал приходит на контакт скорости разъема для цикл аналиста?
Наверное сигнал с датчика хола, короткие импульсы от 4 до 5 вольт?
Строю лигерад

batson

[user]Yaroslav[/user], да они самые, 5 вольт через резистор 10к
Самоходный аппарат из нержавейки: нержавеющий чоботар, инфинеон 12, MXUS 1000

Yaroslav

Хорошо.
Нужно выяснить сколько импульсов получу за 1 оборот.
Мк ДД, стандартный 205-й киловаттник, вроде 46 магнитов(сам не считал). Получается за один оборот 23 импульса, правильно?
Строю лигерад

Dmitry__

Забить на это. Должна быть константа как в велокомпьютере - вводишь диаметр обода на колич. импульсов...

TRO

Цитата: edw123 от 20 Окт. 2017 в 10:12
Цитата: Yaroslav от 20 Окт. 2017 в 01:36
[user]edw123[/user],
ЦитироватьЕсли в контроллере нет усилителя - зачем Вам хочется?
И что, Вы предлагаете измерять 0-0,059В на входе 0-5В? Разве не стоит его усилить перед измерением? В не зависимости хочется мне или нет)
Почему-это вход "0-5В"? Внешнее опорное с нужным уровнем.

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

Для усиления в атмелах есть усилитель, вот только его нет в камнях на которых построены младшие модели ардуин.
Ну и ко всему, 10 бит для измерения тока как по мне маловоато (особенно с учетом что пара младших бит плывет куда хочет от "фазы луны"), поэтому я тоже за внешний АЦП.

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

Yaroslav

При чем это достаточно дешево. Меньше чем за 2 бакса(на али) получаем 4 входа с бОльшим разрешением чем в ардуино, плюс в ацп есть собственный опорник на борту.
Строю лигерад

mr.Dream

В аруинки (меги328) тоже есть внутренний опорник, 2,56 и 1,1В (+-10% изначально, но достаточно термостабильны, но есго значение можно предопределить методом научного тыка)
Попробуйте делать "для чайника", начиная с простого, а добавить внешний АЦП успеете :)

Добавлено 21 Окт. 2017 в 14:26

извиняюсь, в 328 только 1,1В (обычно 1,055-1,090)

Dmitry__

Большое разрешение нужно для подсчета потраченной энергии, или для подобных функций. Т.к. там идет интегрирование, то никакого внутр. ацп не хватит для этого. Внутр. ацп и lm358 - только для показометров. Я приводил в пример ваттметр hk-010, он со своим lm358 врет безбожно. Есть еще одна кЕтайская поделка на авр для измерения тока, светил ее в теме переделки двигателя от стиралки LG, тоже врет безбожно, токи ниже 2-х ампер просто не показывает.

mr.Dream

Ну ладно, разрешение 0,1% разве мало? Даже если откинуть пару младших бит, да пусть 0,4%. Зачем больше точности для измерения емкости? :) Тут больше ошибка измерений будет от малой частоты пересчета, и ее нужно делать относительно большой, а не раз в секунду. Так как за секунду, ток может подняться до пика и упусть до нуля. Частично спасет RC-интегратор, но это будет влиять на показания реального времени, если его постоянная времени будет сильно больше от частоты обновления дисплея :)
Допустим, на батарее я проезжаю 50км ровно.  Сильно ли изменит ситуацию, если я не доеду 200 метров из за 0,4% ошибки измерения ?  да там остаточная емкость будет в разы больше зависить от снимаемого тока и температуры, чем от такой вот погрешности :)
Нужно сначала определиться, нужна ли сверх высокая точность, или высокой достаточно? :)