1 2 3 4 5 6 7 8 9 10 10/10 10,00оценок: 7

Получение лога данных с контроллеров EPsolar Tracer

Тема в разделе "Возобновляемые источники электроэнергии", создана пользователем osetroff, 09.09.13.

  1. aostspb
    Регистрация:
    31.08.11
    Сообщения:
    7.744
    Благодарности:
    6.083

    aostspb

    Живу здесь

    aostspb

    Живу здесь

    Регистрация:
    31.08.11
    Сообщения:
    7.744
    Благодарности:
    6.083
    Адрес:
    Санкт-Петербург
    А если это синтетическая земля получающаяся от 5V питания контроллера, и необходимая для работы, например, операционников в двухполярном питании? Хотя зачем в MT5 операционники - непонятно...

    Токи - порядка 10 миллиампер могут микруху и подпалить, я бы делал делитель на 30 - 50 килоомных резисторах. Собрал делитель 15+30, попробовал от средней точки миллиамперметром дать ток на 2-й провод - по нулям. Светодиод, подключенный плюсом поочередно к tx и rx - в одном случае горит ярче, в другом значительно более тускло.
     
  2. Мax94
    Регистрация:
    07.09.12
    Сообщения:
    16.725
    Благодарности:
    6.638

    Мax94

    ·

    Мax94

    ·

    Регистрация:
    07.09.12
    Сообщения:
    16.725
    Благодарности:
    6.638
    Адрес:
    Калининград
    Начать с простого резистивного делителя. Даже если ОУ питаются- тока миллиамперные, 2,5кОм обеспечит запас по току. Подключить делитель- если напруга сильно сядет (при 1мА- до 4В)- значит, потребитель там есть, но источником- то панель не является?
     
  3. osetroff
    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144

    osetroff

    Живу здесь

    osetroff

    Живу здесь

    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144
    Адрес:
    Самара
    Приехал tracer 3215 на контроллере STM32F103C8 LQFP48 pinout.
    Снял крышку (без маркировки типа пластика - голимый китай), прозвонил RJ45.
    Нашел Tx и Rx. Но, как ни искал, контакта 2 (оранж) на плате не нашел.

    Взял старый дата-кабель USB с PL2303 на платке, припаял 3 провода.

    rj45 (пин) - pl2303 (по datasheet):
    синий (4) GND - GND (7),
    белосиний (5) TX - Rx (5),
    зеленый (6) Rx - Tx (1).

    На vmware player с WIN воткнул USB, поставил драйвер pl2303.
    В диспетчере устройств появился Prolific USB-to-Serial Comm Port (COM3).
    Подключил с горем пополам (китайская клемма на авто аккум развалилась из-за низкопробного литья) tracer к АКБ.
    Воткнул разъем в rj45.
    Запустил SolarChargerMonitorWindows. exe
    На экране отчет с tracer - приложил снимок экрана.
    В data. csv следующие строки:

    Time; Battery voltage; Solar module voltage; Load current; Overdischarge voltage; Full voltage; Temperature; Charging current; Load detected; Overloaded; Short circuit; Overcharged; Battery voltage too low; Battery voltage full; Charging
    19.09.2013 15:19:38;8,91;0;0;11,1;14,78;25;0;0;0;0;0;1;0;0
    19.09.2013 15:19:48;8,89;0;0;11,1;14,78;25;0;0;0;0;0;1;0;0
    19.09.2013 15:19:58;8,91;0;0;11,1;14,78;25;0;0;0;0;0;1;0;0
     

    Вложения:

    • платка1.jpg
    • monitor.JPG
  4. osetroff
    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144

    osetroff

    Живу здесь

    osetroff

    Живу здесь

    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144
    Адрес:
    Самара
    Ваши предложения, что делать дальше.

    Долго думал, как вести лог.
    Мои мысли:
    1. Для контроля солнечной электростанции не жалко выделить 1500 наших на роутер ASUS с питанием 12V из списка, прошив его прошивкой энтузиастов.
    Цель: с помощью роутера можно иметь доступ к логу и через ethernet и через wifi и через инет 3G модем или вообще прикрутить к роутеру RS485 (вроде так).
    Toolchain ставится без проблем на большой linux.
    Я за пол дня разобрался и собрал на си простенькую программу (раньше я прямо на своем wl500g собирал).
    2. В роутер втыкаем usb хаб и навешиваем шнурки типа описанного в предыдущем посте для каждого tracer.
    3. Сбором, усреднением данных с tracer (ов) занимается роутер.
    4. Роутер может также включать балластные нагрузки и тп.

    Может, ардуино и лучше, не пробовал.
    По-моему, с роутером уже имеем авто доступ к логам из любого места.
    К тому же ардуино можно к роутеру подключить по usb.

    P. S. хочется потратить больше времени на tracer. Подскажите, где можно купить датчик температуры, подключаемый к USB и исходники для linux под него. Я свой паял на ds1621, второй такой найти не могу.
     
  5. aostspb
    Регистрация:
    31.08.11
    Сообщения:
    7.744
    Благодарности:
    6.083

    aostspb

    Живу здесь

    aostspb

    Живу здесь

    Регистрация:
    31.08.11
    Сообщения:
    7.744
    Благодарности:
    6.083
    Адрес:
    Санкт-Петербург
    Если удастся разобраться с протоколом - нагрузку включать и отключать "с выносного пульта" умеет и сам контроллер.

    Вы имеете ввиду модуль DS9097 для подключения 1-wire устройств? Или переходник USB-I2C?
     
  6. osetroff
    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144

    osetroff

    Живу здесь

    osetroff

    Живу здесь

    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144
    Адрес:
    Самара
    Пока ваяю программу, работать будет так:
    $tracer /dev/ttyUSB2
    8,91;0;0;11,1;14,78;25;0;0;0;0;0;1;0;0
    $

    Для этого надо еще один шнурок с pl2303.
    Раздобыть MT-5.
    Между MT-5 и tracerом - компьютер.
    Написать программу, которая будет с выхода MT-5 передавать данные на tracer, и с tracer на MT5, записывая при этом какие гуляют пакеты.
    Программу могу написать, но MT-5 и еще один шнурок - проблема.

    USB-I2C + DS18B20 + source. tgz
     
  7. aostspb
    Регистрация:
    31.08.11
    Сообщения:
    7.744
    Благодарности:
    6.083

    aostspb

    Живу здесь

    aostspb

    Живу здесь

    Регистрация:
    31.08.11
    Сообщения:
    7.744
    Благодарности:
    6.083
    Адрес:
    Санкт-Петербург
    Так не бывает. :) DS18?20 работают по 1-wire протоколу.
    Для них софтина есть в исходниках, а переходники я делал для компорта на 1-wire. С USB надо думать, т. к. для работы переходника нужно 12 вольт, или покупать переходник у китайцев задорого.
     
  8. osetroff
    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144

    osetroff

    Живу здесь

    osetroff

    Живу здесь

    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144
    Адрес:
    Самара
    Посылая AA55AA55AA55EB90EB90EB9016A000B1A77F
    на tracer через терминальную программу
    Получаю:
    EB90EB90EB90 - заголовок пакета
    00A0 - не знаю
    18 - 24 (байта) длина пакета до КС
    BA04 - 12,1V Battery Voltage
    1400 - 0,2V Solar module Voltage
    0000 - Charging Current
    0100 - 0,01 Load Current
    5604 - 11,1V Overdischarge Voltage
    B205 - 14,58V Full Voltage
    01 - Load Detected
    00 - Overloaded (не уверен)
    00 - Short circuit (не уверен)
    18 - 24C Temperature
    00 - Overcharged (не уверен)
    00 - Battery Voltage too low (не уверен)
    00 - Battery Voltage full (не уверен)
    00 - Charging (не уверен)
    37000000 - не знаю
    4629 - КС пакета
    7F - конец пакета

    Пока на таком уровне детализации - со временем все встанет на свои места.
    Посоветуйте, как замыканием или ее чем вводить контроллер в режимы
    Overloaded, Short circuit, Overcharged.
     
  9. Libran
    Регистрация:
    20.08.13
    Сообщения:
    340
    Благодарности:
    51

    Libran

    Живу здесь

    Libran

    Живу здесь

    Регистрация:
    20.08.13
    Сообщения:
    340
    Благодарности:
    51
    Адрес:
    Москва
    С почином!
    А не пробовали программку через Wine погонять? А то с виртуальной машиной слишком громоздко получается.

    Интересно было бы, локальный логгер на базе Arduino+SD флешка, без сети. Карточку время от времени вытаскивать, скинуть лог.
    Кстати, сколько такой минимальный вариант будет кушать?
     
  10. osetroff
    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144

    osetroff

    Живу здесь

    osetroff

    Живу здесь

    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144
    Адрес:
    Самара
    Спасибо. Но мне бы готовое купить, чтоб время сэкономить для tracerа.

    Программа то уже и не нужна - на днях исходники консольной программы tracer выложу для linux.

    Думаю, кто может под arduino писать? тот без труда зашлет пакет из предыдущего поста и разложит по байтам полученный пакет (или просто запихнет пакет в открытый на флешке файл).
     
  11. aostspb
    Регистрация:
    31.08.11
    Сообщения:
    7.744
    Благодарности:
    6.083

    aostspb

    Живу здесь

    aostspb

    Живу здесь

    Регистрация:
    31.08.11
    Сообщения:
    7.744
    Благодарности:
    6.083
    Адрес:
    Санкт-Петербург
    Хмм, не уверен, что это достаточно безопасно...

    Overcharged я бы эмулировал последовательным включением в цепь аккумуляторов полуторавольтовой батарейки...
     
  12. aostspb
    Регистрация:
    31.08.11
    Сообщения:
    7.744
    Благодарности:
    6.083

    aostspb

    Живу здесь

    aostspb

    Живу здесь

    Регистрация:
    31.08.11
    Сообщения:
    7.744
    Благодарности:
    6.083
    Адрес:
    Санкт-Петербург
    Похожая сигнатура заголовка попалась в документации по протоколу PWMIII (PWM 3) с китайского сайта: wenku. baidu. com/view/56bb984afe4733687e21aaaf.html

    AA 55 AA 55 AA 55 EB 90 EB 90 EB 90 = 12 Синхронизация заголовка
    01 00 16 A0 2D = 5 ID длина данных
    15 2B 15 1F 15 1F 15 2B 00 00 00 00 15 1F 00 00 00 00 = 9 двухбайтовых параметров
    00 00 00 00 00 00 00 00 00 0E 00 00 07 B0 00 56 00 02 = 9 двухбайтовых параметров
    00 00 00 00 00 00 20 80 00 = 9 однобайтовых параметров
    71 C7 7F = 2 байта CRC и один завершающий байт

    Там дальше идет описание и пример программы, но я не настолько свободно ориентируюсь в китайском и в сях...
     
  13. osetroff
    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144

    osetroff

    Живу здесь

    osetroff

    Живу здесь

    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144
    Адрес:
    Самара
    Как раз алгоритм CRC описан, спасибо.
    Только у меня что-то не получается ни сам файл скачать, ни перевести (там документ через flash player показывается).
     
  14. aostspb
    Регистрация:
    31.08.11
    Сообщения:
    7.744
    Благодарности:
    6.083

    aostspb

    Живу здесь

    aostspb

    Живу здесь

    Регистрация:
    31.08.11
    Сообщения:
    7.744
    Благодарности:
    6.083
    Адрес:
    Санкт-Петербург
    Я в файрфоксе копировал текст кусочками в буфер обмена и вставлял в гуглотранслятор. Проблем не было... Архив надо переименовать из zip в tgz.

     

    Вложения:

  15. osetroff
    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144

    osetroff

    Живу здесь

    osetroff

    Живу здесь

    Регистрация:
    29.06.09
    Сообщения:
    529
    Благодарности:
    144
    Адрес:
    Самара
    Написал программу, zip архив сюда не выкладывается: "Произошла ошибка При загрузке файла возникла проблема".

    В архиве:
    tracer. c - исходник;
    mf86,mfmips - make-файлы для моего роутера asus (mips) и для linux на x86 (нужный переименовываем в makefile и запускаем make);
    tracer - программа для запуска под x86,
    tracermips - программа для запуска под asus wl500gpv1.

    Пользую:
    tracer /dev/ttyUSB0

    Выводит данные побайтно через запятую без заголовка и без crc и 7F.
    Коды ошибок не печатает, т. к. мне они не нужны.

    Спаял еще один длинный кабель на pl2303 - работает стабильно и на ноуте и на роутере.

    Как форматировать выходную строку, превращать ли параметры в десятичные с выводом наименований параметров и тп украшательства - предлагайте.
    Мне и просто вывода побайтного хватает - все равно из него дергать инфу в скрипте буду.

    Исправил, перепроверил - все равно crc не совпадает с получаемой от tracer.
    Хоть весь пакет, хоть только данные - не ту crc выдает.
    Поэтому в программе просто проверяю длину данных и 7F в конце.
    Процедура crc есть в tracer. c - может кто захочет еще попробовать.