avatar_peat

Беспроводная шина для электробайка

Автор peat, 28 Янв. 2015 в 13:28

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

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

peat

Тут я редкий гость , но коли пошла такая пьянка -

Нечто интересненькое.

Сейчас допиливаю базу для создания на этих RF модулях беспроводной так сказать интерфейс для общения модулей электробайка.

Суть вот в чем. КОгда собирал свой чупабайк я замучался толкать в жгут тонкие провода для связи дисплея миника с контроллером. Там не много проводов , но по мимо них еще нужно было пихнуть в жилу провода для управлеения задним фонарем , кулером (чупасосом) и кое что еще по мелочи. Еще замучался распаивать джойстик для управления миником. Там вообще 8 проводов в одной жиле. Но самое не приятное что кабели распаиваются, закручиваются в мини хабы   и больше доступа к ним нет. А если есть , то разъем за месяцы эксплуатации превращается в Г.но от влаги и пыли.

В новом  проекте я пошел иным путем - модульность. Модуль - это автономное устройство такое как например ваттметр, тахометр, спидометр  , КПД-метр , модуль освещения и тд. Сами модули размером с пол спич.коробка и могут монтироваться в раму , в мотор , в вынос рулы и тд.   Например модуль ваттметра монтируется в корпус контроллера , спидометр на переднюю вилку рядом с магнитом на колесе, тахометр с термометром прямо в движок.
Модули общаются с собой в беспроводном режиме.Это   напоминает CAN шину , где каждый модуль в системе  видит друг друга и не имеет общего узла управления. По этому при выходе из строя скажем дисплея , вся система продолжат работать просто без дисплея , но байк едет.
Какие вижу преимущества в беспроводном решении -

1. Модули можно жестко крепить где угодно , как угодно  и чуть ли не заливать компаундом.  К модулю подводится только несколько проводов - питание и датчики, если таковы имеются. Тоесть можно обеспечить полную герметичность.
2. Не нужно тянуть никаких проводов через весь байк. Для меня например это критично , поскольку протяжка одного провода от руля к заднему фонарю не поднимает настроения , особенно когда что нибудь устанавливаешь новенькое.
3. Если появляется какая новая хотелка (например КПД-метр  на тензодатчике) - модуль устанавливается в любое удобное место и по воздуху принимает данные от датчика скорости , от датчика оборотов мотора , вычисляет все  и по воздуху выдает пакет для дисплея с показаниями КПД.
Далее появляется например авто переключалка для планетарки (АКПП) . Я ставлю привод  на заднее перо , подвожу 12 вольт и все. Данные о скорости модуль КПП получает по воздуху от модеуя спидометра . обороты от модуля тахометра , потребляему мощность от модуля ваттметра  вычисляет и переключает передачи. Если такое делать на проводах , то это городить как минимум CAN  шину и тянуть к каждому модулю 4 првода минимум и каждый раз курочить проводку.
На этом же принципе работают остальные модули. Например модуль ваттметра - он установлен внутри корпуса контроллера. Получает информацию о скорости и пробеге от модуля скорости ( на передней вилке с холом) . Дальше вычисляется пробеги и данные передаются в эфир. Дисплей принимает сигналы от всех модулей и  отображает их.
Основное преимущество в таком решении - бесконечное  масштабирование без вмешательства в проводку байка. Только 2 провода питания и все. Ну и самое вкусное - система платформо незавсисмая. Дисплей может быть сделан на ардуино , модули на PIC или еще каком изврате. Если мутить на CAN шине - контроллер должен иметь на борту как минимум CAN.

Впринцпе тоже самое можно было бы сделать на USART , но там есть сложности - нужен узел кторый бы опрашивал модули. Подох этот узел - все встало.

5. Настройка модулей происходит без доступа к плате или каким либо разъемам. Сейчас уже писан софт для ПК (в дальнейшем для андроида)  при помощи которого можно настраивать модули , вводить коэффииценты , заливать всякие кривые откликов и тд. Тоже самое можно реализовать через дисплей , но НЕ все параметры нужно настраивать через дисплей , например в датчик скорости диаметр колеса вбивается один раз , шунт ваттметра калибруется дин раз...
Дисплей служит только в качестве отображалки параметров и переключении некоорых функций системы , гнапример одной кнопкой - выборор профиля контроллера  или управление светом, что существенно упрщает написание софта дисплея.

6. Беспроводная БМС , точнее мониторинг . Тут вообще раздолье. Вместо протяжки кучи жил - нет ничего от батарейного отсека кроме двух толстых проводов. Вся инфа о состоянии ячеек по воздуху прямиком попадает  в дисплей  и не зависит от модели контроллера. Если какому нить модулю нужна информация скажем о напряжении  о слабой ячейке то все делатся по воздуху. Например в контроллере модуль ваттметра принимает данные от БМС bи если напряжение на слабой ячейке ниже 3.хх то контроллер выключается или принимаются иные меры. 

Ручка газа тянется отдельным проводом в контроллер  , естессно :-)

Какие еще фишки можно реализовать на беспроводной системе ?  Например иммобилайзер. Без хозяина (брелка в кармане) байк не едет вообще, контроллер не включается, модули замерли , система не работает , дисплей не подает признаки жизни.  Или ограничилка  250-25. Это если вдруг байк попадает на штраф стоянку или ДТП  , тогда без хозяина байк  автоматом  залочен на 250вт, поскольку хозяину лезть в меню и лочить что тотам уже будет невозможно :-(


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

Теперь вопрос - я один такой чекнутый ?  Есть здесь  люди кто делал чтонить подобное ?
Мне интересно усслышать общественное мнение пока не наломал дров.

Сейчас уже готов модуль чупасоса который гонит в эфир пакет с данными о температуре мотора , оборотах кулера . Модуль находится в трубе и управляет извне.  Пока все пучком. 

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



 










Slider

Поддерживаю, я давно писал, что все не очень критичные данные между бмс, контролером и дисплеем могут передаваться по беспроводной связи. Как показывает практика, надежность проводов зачастую меньше надежности беспроводной связи ;)
Eltreco TT - компактность и комфорт. 70 в + MaxController + МАС 6Т = 55 км/ч. Электросамокат Е-Twow S2 Booster plus.

peat

#2
На счет надежности. CC2500  я юзаю в своих проектах уже с 2006 года. Надежность проверена.  СС2500 это полноценный микромодем. Не путать с брелками на 433мгц.  среди фишек этого чипа - аппартаный CRC16 , адресация , и аппаратное восстановление битых пакетов.. По крайней мере эта фитча работает и улучшает качество приема пакетов на зашумленных каналах.  Есть возможность уйти немного за пределы частот диапазона 2.4 ггц. Например 2.1 ггц где пока пусто.
Работа с чипом вообще сказка. КОнтроллер не занимается ни демодуляцией ни дешифровкой пакетов. Все это делает микромодем. Как только пакет принимается приемником чипа - он попадает в буффер (макс 64 байта) и выставляется флаг в регистре или можно настроить так чтобы дегалась нога GDO0 и срабатывало прерывание контроллера.  Далее контроллер считывает пакет из буффера и работает уже с пакетом побайтово. Если пакет быитый , CRC16 не дает ему попасть даже в буффер и такой пакет отметается. С другими низкоуровневыми модемами там гемморой. Формировать заголовок пакета , вычислять CRC на передаче и приеме нужно контроллром что усложняет задачу и ухудшвет надежность передачи данных.
Сейчас настроил скорость 250кбит/c ... пакет из 10-ти байт вместе со словом синхронизации и преамбулой занимет в эфире около 1мс. Тоесть все происходит очень быстро в рельном вемени. Очень приятная фишка что тут нет центрального узла как у Wi-Fi и с модулями может работать кто угодно и как угодно  вотличии от беспроводного блютуза.  (зная ID системы и протокол обмена). Тоесть это полноценный низкоуровневый реалтайм  с доступом к данным без проводов.


se80

#3
[user]peat[/user], идея мне нравится. Вы не думали вывод датчиков холла сделать на этих модемах?
Можете опубликовать схемы подключения чупасоса(драйвер даигателя на сколько я понимаю), термометра и приемника - на сколько я понимаю он у вас на ардуино ?
PS Заранее благодарен !

fondrosel

Я немного не пойму а как будет осуществляться питание модулей? К каждому тянуть питание или будет куча батареек к примеру батарейка на модуль ручек тормоза, газа.....Или это решение чисто для вспомогательных цепей типа сигналки?
Фиговый литий лучше хорошего свинца)).5 этаж хрущевки вел 45кг
P.S гиря в колесе рулит фуры не сдувают с трассы
Электротранспорт.ру электротранспорт рулит и точка

magnarum

Если к модулям подводить питание-то это те-же провода, или внутрь аккумуляторы для каждого модуля,но тогда возникает необходимость их заряжать и.тд  что-то же не совсем надежно ,как менять как заржать что делать если разрядиться питание в общем есть над чем поразмыслить.

peat

#6
Цитата: se80 от 01 Фев. 2015 в 19:22
[user]peat[/user], идея мне нравится. Вы не думали вывод датчиков холла сделать на этих модемах?
Можете опубликовать схемы подключения чупасоса(драйвер даигателя на сколько я понимаю), термометра и приемника - на сколько я понимаю он у вас на ардуино ?
PS Заранее благодарен !

датчики холла нельзя. Не сморя на то что регистры позволяют немного уйти за пределы диапазонка 2.4 ггц - там тоже все загажено сигналами с точек доступа и всякими радиудлинителями. Тоесть потеря пачек есть и самое неприятно что есть небольшой раздрайв во времени в  обработки пакета самим модемом. +-2-3 мс мы имеем.

Чупасос сделан не на драйвере двигателя , а на LM2976HV. В схему обратной связи (на 4-ю ногу ) этой дисишки через диод подсется лог1 лог0 с ноги контроллера. ТОесть дисишка просто шимится контроллром. В результате чего имеем плавную регулировку выходного напряжения, но так как частота ШИМ с контроллера очень низкая (нужно для уверенного старта моторов ) , то напряжение сильно пульсирует. Для кулеров оно самый раз. Для управления скажм фонарями не подойдет .

КОнтролеры у меня только PIC . Пишу  на асме.

Схема DC части с защитой от выгорания.


Ест несколько решений по управлению напряжением LM-ки с контроллера. Но у них у всех есть косяк - нельзя аппаратно ограничить напряжение на выходе. Если виснет контроллер и ШИМ зависает в лог0 , то на выход идет +Batt после чего все что подключено к дисишке выгорает вместе с ней.
Моя схема лишена этого. Резисторами выставляется нужное напряжение , а ШИМ работает только на понижение  до 0 вольт.  Если виснет контроллер с лог0 то на выходе дисишки +12. Если лог1 = то 0 вольт.

Напряжение PWM сигнала Лог1 = 3в , лог0 <1.25в.  Частота  гдето 200 герц , но это подбирается под конкретный мотор.

Сейчас отлажена тестовая плата модуля чупасоса. Хотел заюзать обратную сторну китайской дисишки  и налепить туда платку с контроллером и модемом , но подумалось что лучше плату сделать с нуля.

Тестовый образец вид сверху. DC часть.


Контроллерная часть



Модуль вставляется в трубу чупасоса , там и живет под постоянным обдувом. 


Кулеры в пике жрут 36 ватт, по этому LM-ке нужен небольшой радиатор и обдув.
К модулю подкключается всего 4 провода и все идут в мотор. Никаких проводов к рулю и экрану больше нет.

Сейчас по радио модуль управляется 10-ю командами и выдает в эфир статусный пакет в котором -
1.температура мотора
2. ШИМ (напряжение или оно же обороты кулеров)
3. Обороты мотора (от датчика холла).
4. Номер температурного профиля.
5. Уровень приема сигнала с модуля( оценка качества связи 1 )
6. Качество демодуляции (оценка качества связи 2).

Этой инфы вполне достаточно в процессе езды.

Другие модули могут воспользоваться этой информацией , Например модуль в контроллере (очиповка  оней напишу ниже) принимает сигнал с модуля чупасоса и ему нужна температура мотора чтобы сделать лимит на сигнал газа чтоб не пергреть мотор.
Мдуль перелючения скоростей (в будущем)  берет этот же пакет и узнает обороты двигателя. Этот же модуль берет пакет от модуля спидометра (текущая скорость )  и от модуля ваттметра (текущее потребление) и принимает решение на какую передачу дергать планетрку.
Тоесть по сути получается некая децентрализованная безпроводная сетка в которой модули общаюются друг сдругом и берут инфу друг у друга.
Я уже говорил что это можно было бы сделать на проводной USART шине , или CAN , но мне лень каждый раз курочить проводку чтобы постепенно добавлять модули в эту систему.

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

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



В планах на этой же технологии (большая часть кода возьмется с этого модуля) я хочу очиповать контроллер. Точнее это нужно было сделать сразу перед чуапасосом. Сигнал с ручки газа попадает в контроллер по проводу (беспроводную ручку я не хочу мутить на 3-х киловаттном моторе) .. дальше сигнал преобразуется АЦП и табличным пересчетом выдается с чипа уже в перемасштабируемом виде в контроллер . Одним махом решаются все нелинейно-линейные характеристики ручки газа так как при езде часто бывает требуется мягкая кривая (экспонирование) а часто линейная (спорт режим).. Профиль кривой ручки газа так же выбирается кнопочкой на руле или в меню на экранчике. Одновременно решается задача 250-25 для легализации аппарата на дорогах. Если что , с брелка в кармане ,  в эфир подается сигнал "типа атас , приехали "  или же наоборот триггером является исчезновение сигнала (типа байк увезли на штраф стоянку , а брелка нет или вобще байк стырили ) то в этом случае очиповка  врубает профиль 250-25 и своей кривой ограничивает сигнал  с ручки газа  до мощности мотора   250 ватт.  Так же очиповка слушает  текущую скорость с модуля спидометра  и если она выше 25 кмч то  ограничивает сигнал с ручки.
После сигнала атас ,  все модули затихают и работают только на прием. Экран не пашет , ничего не пашет , мотор выдает 250вт, байк превращается в бабушковоз , ездить на нем нельзя.  Решить "проблему" и получить полную мощность  можно только наличием брелка вбив в него код при помощи кнопоки что может сделать только хозяин  , или раскурочив контроллер и выдергнув очиповку, которую еще нужно найти и понять что это именно она влияет на мощность. Но без кода разблокировки другие модули не работают , система мертвая. . Но это уже другая история.

КОроче планы наполеоновские , делаю потихоньку.





 




peat

#7
Цитата: fondrosel от 01 Фев. 2015 в 19:50
Я немного не пойму а как будет осуществляться питание модулей? К каждому тянуть питание или будет куча батареек к примеру батарейка на модуль ручек тормоза, газа.....Или это решение чисто для вспомогательных цепей типа сигналки?

Я хочу попробовать минус сделать массой байка , а к модулям все же тянуть один провод +9 вольт. Я выбрал бортовое питание 9 вольт. На борту одна мощная дисишка на 9в. Хватит и фнарям и линейным стабам типа 78L03 чтоб снизить напряжение до 3 вольт. С батарейного +60 при помощи линейных я не снижу , а с 12 вольт стабы греются.. с 9 уже нет. Конечно  без отдельных проводов питания к модулям  не прокатит. Хотя если подумать , например модуль ваттметра питается с шины +Batt.. Модуль чупасоса тоже питается из недр мотора. Модуль спидометра жрет один раз за проход колеса в момент прохождения магнита перед герконом , отправляет пакет и в спячку до следубщего прохода. На все про все 2 мс.  - у меня радиометка на батарейке 2032 с этим модемом проработала непрерывно  2 года выдавая в эфир пакеты с частотой 10 герц.  Если напрячься то модуль спидометра можно сделать беспроводным и будет работать несколько лет..
К модулю переключения передач придется тянуть провод , так же к задним фонарям, а вот стоп сигналы  в этих фонарях и вообще все управление габаритами  уже по радио. Но это всего  один провод - питание +9 к каждому фонарю..Проблема с проводкой начинается когда проводов несколько (шина данных ) и требуется подпаятся к каждому в параллель уже на собранном и отладенном байке , причем в разных местах и не предсказуемых. Чтобы подключить чтонить интересное , требуется курочить все.  В развивающемся проекте невозможно все заранее просчитать и развести проводку сразу.
Я щас вспоминаю распайку джойстика для миника и меня бросает в дрожь. Еще вспоминаю как добавлял в джойстик всего одну кнопку - это была перепайка 10-ти проводов на неделю .. Пока паяешь одно - отваливается то что припаял 2 дня назад. Пока укладываешь провода - половина опять поотваливалось.  Потом было  перелопачивание распайки разъема для мотор-контроллер-чупасос когда нужно было  добавить одну кнопку в систему... К тому же  влага и тд не способствует надежности пайки каким бы припоем не паял - оно окисляется ..короче за 1.5 года эксплуатации чупабайка там уже поотваливались некоторые сигнальные провода в хорошо так закрученных разъемах , хотя все было под термоусадкой , под изолентой и пролачено. Надеюсь радио решит эту проблему накорню.


smartbsv

#8
Вот по поводу питания по 1 проводу, так, чисто поржать ;-) http://гнувиэсх.рф/rezonans.html
Однопроводные линии электропередачи Тесла - в жизнь!
И ещё объяснения технологии (смотреть с 13:18):
Спойлер

peat

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

smartbsv

Прошу прощения за оффтоп, это - дальнейшее развитие разработки - блоки передают информацию дистанционно и питаются - тоже дистанционно :laugh:

peat

Цитата: smartbsv от 02 Фев. 2015 в 01:27
Прошу прощения за оффтоп, это - дальнейшее развитие разработки - блоки передают информацию дистанционно и питаются - тоже дистанционно :laugh:
да смех смехом , а подпитывать скажем модуль спидометра от маленькой солнечной батарейки и забыть про питание вобще - вполне возможно. Уже прикинул - площадь не более чем у калькулятора.. Дисплей на ардуино  конечно не потянет  на солнечных. Это так мысли в слух про один провод..
Будет 2 провода к каждому модулю. Это не та тема чтобы заморачиваться с батарейками.

VVK

[user]peat[/user], а сколько потребляет этот модуль, есть ли sleep-режим?
И как вы его с андроидом и PC планируете стыковать?

okyar

Цитата: peat от 28 Янв. 2015 в 14:16
На счет надежности. CC2500  я юзаю в своих проектах уже с 2006 года.
доступен только CC2500RGP остальные варианты OBSOLETE ищи новый чип :)

peat

Цитата: okyar от 02 Фев. 2015 в 10:31
Цитата: peat от 28 Янв. 2015 в 14:16
На счет надежности. CC2500  я юзаю в своих проектах уже с 2006 года.
доступен только CC2500RGP остальные варианты OBSOLETE ищи новый чип :)

На руках 20 модулей. Хватит. Еще в загашнике лежит корпусных 100 штук 2500 купленных в 2010 году. Хватит на очень долго  тем паче что на продажу не планирую ничего делать.


okyar

Это я нагнетаю :) у них просто сейчас уже есть чипы со встроенным контроллером, имеющем на борту вплоть до USB (про GPIO я молчу уже).
Кстати готовый модуль с антенной - это даже круче (по опыту собрать нормальный ВЧ-тракт бывает сложнее, чем весь софт вылизать).

peat

Цитата: okyar от 02 Фев. 2015 в 13:02
Это я нагнетаю :) у них просто сейчас уже есть чипы со встроенным контроллером, имеющем на борту вплоть до USB (про GPIO я молчу уже).
Кстати готовый модуль с антенной - это даже круче (по опыту собрать нормальный ВЧ-тракт бывает сложнее, чем весь софт вылизать).
Эти чипы у них уже давно CC2510  еще с 2006 года  на ядре C8051

Добавлено 02 Фев. 2015 в 20:54

Цитата: us__007 от 02 Фев. 2015 в 11:51
[user]okyar[/user], $17 с доставкой на 10 шт.


http://www.aliexpress.com/item/10pcs-Lot-CC2500-Wireless-Module-Small-Size-2-4GHz-Wireless-Transceiver-Module-Free-Shipping-Dropshipping/587066731.html

С этими модулями есть особенность - в тех что по ссылке не выведен GPIO нога. Тоесть прием пакета по прерывани. невозможен. Только программным способом долбить регистры и смотреть приход пачки. Это значит что невозможен режим спячки когда в режиме спячки контроллера чип просыпается несколько раз в секунду и слушает эфир.