avatar_13_chip_13

Замена или модернизация TF-100

Автор 13_chip_13, 18 Март 2020 в 16:33

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

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

Виталий40

Цитата: Александр61 от 24 Март 2021 в 21:45
На моем QS-S4 Р20 переключается 0-1-2-3. А как это можно использовать доступным языком?
не надо это никак использовать если и так все работает,это нужно только если дисплей при подключении к контролеру и правильной распиновке выдает например ошибку E-10(нет связи с контроллером) тогда перебираются все прокотолы в P20,обычно с каким то все заводится ошибки пропадают,а так туда нечего лазить
1:Kugoo M2 2019 18 а.ч 48в 350ватт установ. зеркало LH-100,мотор с датчиками холла,сигнализация
2:Kugoo MaxSpeed 18 а.ч 52в 600ватт уст. зерк.LH-100 Сигнализация
3:Электровелосипед Custom: 500ватт 52в 16а.ч уст.зеркала  пов,сигнализация

13_chip_13

Цитата: Александр61 от 24 Март 2021 в 21:45
На моем QS-S4 Р20 переключается 0-1-2-3. А как это можно использовать доступным языком?
Это протокол меняется штоли этим параметром? Ошибка связи возникает при изменении этого параметра? Если это оно, то впринципе никак не использовать  :-), это сделано для совместимости с какими нибудь другими контролерами моторов.

Виталий40

Цитата: 13_chip_13 от 24 Март 2021 в 22:14
Это протокол меняется штоли этим параметром?
именно так
Цитата: 13_chip_13 от 24 Март 2021 в 22:14Ошибка связи возникает при изменении этого параметра?
на LH-100 да появляется,и в отличии от QS-S4 там на 1 пункт больше,не 0 1 2 3 а 0 1 2 3 4 
Цитата: 13_chip_13 от 24 Март 2021 в 22:14Если это оно, то впринципе никак не использовать  :-), это сделано для совместимости с какими нибудь другими контролерами моторов.
именно так
1:Kugoo M2 2019 18 а.ч 48в 350ватт установ. зеркало LH-100,мотор с датчиками холла,сигнализация
2:Kugoo MaxSpeed 18 а.ч 52в 600ватт уст. зерк.LH-100 Сигнализация
3:Электровелосипед Custom: 500ватт 52в 16а.ч уст.зеркала  пов,сигнализация

13_chip_13

Цитата: Board118 от 06 Нояб. 2020 в 23:16
Удалось исследовать обмен от дисплея-курка QS-S4 v2, протокол один (P20 нельзя изменить). По сути это совместимое развитие версии протокола от TF-100. Может 13_chip_13 пригодится, или кому нибудь еще.

Пакет  QS-S4 -- > контроллер мотор колеса (КМ) по байтам:
[ 0]  01
[1]  14
[2]  01
[3]  в  QS-S4 P10, тип управления приводом: 0-PAS, 1-только курок, 2-гибридный.
[4]  "передача" а точнее ограничение скорости, в QS-S4 переключается кнопкой mode. Количество "передач" и значение в этом байте зависит от параметров P05 и P19
P05  P19        [4]
  0      1         05/0A/0F (3-и скорости)
  1      1         03/06/09/0С/0F (5 скоростей)
  2      1         01/03/05/.../0F (9 скоростей)
0..2    0         то-же, но скорости начинаются от 0, их становится на 1 больше (на 0-х у меня колесо не крутится).
Обозвал "передачей" чтобы не путать с другими скоростями, понятно коробки передач в самокате нет.
[5]  бит 6 -  в QS-S4 P09, нулевой старт; бит 5- свет.
[6]  в QS-S4 P07, количество полюсов.
[7,8]  в QS-S4 P06, /10 = диаметр колеса в дюймах.
[9]  в QS-S4 P11 (1..24), в одних КМ чувствительность PAS, в других возможно уровень рекуперации.
[10] в QS-S4 P12 (1..5), в одних КМ сила PAS, в других возможно плавность старта.
[11] 00 (у меня не меняется)
[12] в QS-S4 P08 (0..100), ограничение max скорости в %, скорости уменьшаются в каждой "передаче", у меня не совсем линейно, вероятно зависит от КМ.
[13] в QS-S4 P14 (1..100),  должно быть ограничение max тока в %, воздействие на мотор колесо на холостом ходу не заметил, испытать на дороге пока не могу.
[14,15] в QS-S4 P15 (44.0..54.0), напряжение отключения.
[16,17] оцифрованный и преобразованный сигнал с курка, задает текущую скорость. Масштабируется в  зависимости от включенной "передачи" вероятно для совместимости с другими КМ. Имеющийся у меня КМ использует для ограничения скорости байт [4] как более приоритетный, это заметно на концах диапазона.
[18] биты 3:0 - в QS-S4 P13 (5..12), количество магнитов в PAS;
       бит 6 - вкл. круиз контроль. КМ в ответных пакетах устанавливает бит 2 в байте [3] подтверждая активацию функции, и на дисплее QS-S4 отобразится значок. После этого курок можно отпустить.
[19]  CRC

Параметр P13 - количество магнитов в PAS передаётся просто числом то что заданно или есть соответствие типа - передаётся ноль, а задано 5; передаём 1, а заданно 8 и т.п.? А то при передаче нуля в младщей тераде 18 байта, какой то эффект интересный: самокат когда стоит может сам дёрнуться и тут же срабатывает статус концевика тормоза.
Кстати на остальные параметры контроллер мотора у меня и не реагирует (кроме старта с толчка и количество полюсов), на первой передаче (да даже если нулевая - передавать в 4 байте ноль) можно задать 1000 с курка и будет максимальная скорость.
Еще ток который отдаёт контроллер с коэффициентом, возможно потому что за основу взята программа от контроллера 15 ампер, а там уже просто шунт другой или параметры канала измерения шунта поменяли и по факту уже 21 ампер, а по софту видно какбы только 14.7-14.8.

13_chip_13

#148
Эм, crc если внимательно читали банальный xor по всем байтам посылки для протокола который описан  на tf100, дальше по теме другим форумчанином и про qs s4 так же. То что написали вы - относиться к другому протоклу? У lh100 их 5 штук вродебы, так уже и весь протокол тогда пишите.

Хотя смотрю вроде имеете ввиду описанный здесь протокол. Тогда простите но [b-b]херню[/b-b] вы пишите, прогнал ваш код в онлайн щас.
Спойлер


#include <iostream>

int main() {
  int8_t table[256];

  for (int i = 0; i < 256; ++i)
        {
            int curr = i;

            for (int j = 0; j < 8; ++j)
            {
                if ((curr & 0x80) != 0)
                {
                    curr = (curr << 1) ^ 0x31;
                }
                else
                {
                    curr <<= 1;
                }
            }

            table[i] = (int8_t)curr;
          std::cout <<  (0xff & curr) << "  "<< i<<" index\n";
        }
   
    return 0;
}

Таблица получилась такая

0  0 index
49  1 index
98  2 index
83  3 index
196  4 index
245  5 index
166  6 index
151  7 index
185  8 index
136  9 index
219  10 index
234  11 index
125  12 index
76  13 index
31  14 index
46  15 index
67  16 index
114  17 index
33  18 index
16  19 index
135  20 index
182  21 index
229  22 index
212  23 index
250  24 index
203  25 index
152  26 index
169  27 index
62  28 index
15  29 index
92  30 index
109  31 index
134  32 index
183  33 index
228  34 index
213  35 index
66  36 index
115  37 index
32  38 index
17  39 index
63  40 index
14  41 index
93  42 index
108  43 index
251  44 index
202  45 index
153  46 index
168  47 index
197  48 index
244  49 index
167  50 index
150  51 index
1  52 index
48  53 index
99  54 index
82  55 index
124  56 index
77  57 index
30  58 index
47  59 index
184  60 index
137  61 index
218  62 index
235  63 index
61  64 index
12  65 index
95  66 index
110  67 index
249  68 index
200  69 index
155  70 index
170  71 index
132  72 index
181  73 index
230  74 index
215  75 index
64  76 index
113  77 index
34  78 index
19  79 index
126  80 index
79  81 index
28  82 index
45  83 index
186  84 index
139  85 index
216  86 index
233  87 index
199  88 index
246  89 index
165  90 index
148  91 index
3  92 index
50  93 index
97  94 index
80  95 index
187  96 index
138  97 index
217  98 index
232  99 index
127  100 index
78  101 index
29  102 index
44  103 index
2  104 index
51  105 index
96  106 index
81  107 index
198  108 index
247  109 index
164  110 index
149  111 index
248  112 index
201  113 index
154  114 index
171  115 index
60  116 index
13  117 index
94  118 index
111  119 index
65  120 index
112  121 index
35  122 index
18  123 index
133  124 index
180  125 index
231  126 index
214  127 index
122  128 index
75  129 index
24  130 index
41  131 index
190  132 index
143  133 index
220  134 index
237  135 index
195  136 index
242  137 index
161  138 index
144  139 index
7  140 index
54  141 index
101  142 index
84  143 index
57  144 index
8  145 index
91  146 index
106  147 index
253  148 index
204  149 index
159  150 index
174  151 index
128  152 index
177  153 index
226  154 index
211  155 index
68  156 index
117  157 index
38  158 index
23  159 index
252  160 index
205  161 index
158  162 index
175  163 index
56  164 index
9  165 index
90  166 index
107  167 index
69  168 index
116  169 index
39  170 index
22  171 index
129  172 index
176  173 index
227  174 index
210  175 index
191  176 index
142  177 index
221  178 index
236  179 index
123  180 index
74  181 index
25  182 index
40  183 index
6  184 index
55  185 index
100  186 index
85  187 index
194  188 index
243  189 index
160  190 index
145  191 index
71  192 index
118  193 index
37  194 index
20  195 index
131  196 index
178  197 index
225  198 index
208  199 index
254  200 index
207  201 index
156  202 index
173  203 index
58  204 index
11  205 index
88  206 index
105  207 index
4  208 index
53  209 index
102  210 index
87  211 index
192  212 index
241  213 index
162  214 index
147  215 index
189  216 index
140  217 index
223  218 index
238  219 index
121  220 index
72  221 index
27  222 index
42  223 index
193  224 index
240  225 index
163  226 index
146  227 index
5  228 index
52  229 index
103  230 index
86  231 index
120  232 index
73  233 index
26  234 index
43  235 index
188  236 index
141  237 index
222  238 index
239  239 index
130  240 index
179  241 index
224  242 index
209  243 index
70  244 index
119  245 index
36  246 index
21  247 index
59  248 index
10  249 index
89  250 index
104  251 index
255  252 index
206  253 index
157  254 index
172  255 index

Ну оно с такой таблицей работать не будет просто. Потому что если даже предположить что простой xor неправильноe, то полтаблицы должно было совпасть значение и индекс иначе мой пульт просто бы не заработал из соседней темы.

13_chip_13

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

13_chip_13

#150
Цитата: Владимир76 от 11 Апр. 2021 в 00:16Обратите внимание на константу CRC8_DALLAS_MAXIM = 0x31
:exactly: :-D, вы вообще разбираетесь в том что скинули или так чё то где-то скопировали? Исходник ваш, без лишнего шлака от класса, вы обязаны знать где стоит эта переменная.  Ещё раз повторюсь: хернёй не занимайтесь лог выложите, там все сразу понятно будет.
Crc8 считается для данного протокола так(код абстрактный) , если вы не понимаете словами:

int8 crc=0;
int8 len=19;
while(len--){
    crc ^= uartFrame[len] ;
}

13_chip_13

Цитата: Владимир76 от 11 Апр. 2021 в 18:09
код действительно скопировал с С# и адоптировал под ардуино. Обычный xor действительно работает. Видать где-то ошибся до этого.  Предыдущие сообщения я удалил.
Всем пока!
Если хотите чё-то полезное сделать, исследуйте все 5 протоколов lh100  хотя-бы в одном направлении.

maxbrus

Добрый день. Вопрос к знатокам.

Подключаю доп фары к Kugoo M4 PRO. На TF100 есть функция включения света, если долго держать MODE. Можно ли задействовать этот режим с новыми фарами? Куда копать, в каком направлении?

Виталий40

Цитата: maxbrus от 27 Июнь 2021 в 17:10
Добрый день. Вопрос к знатокам.

Подключаю доп фары к Kugoo M4 PRO. На TF100 есть функция включения света, если долго держать MODE. Можно ли задействовать этот режим с новыми фарами? Куда копать, в каком направлении?
ни в каком,в TF-100 нет функции подклюячения фары,только знаочк,она есть только LH-100 GT-100 QS-S4 но туда все равно нельзя подключаться мощные потребители,будет вырубать самокат,только фары наподобие штатной, до 1А потреблением примерно
1:Kugoo M2 2019 18 а.ч 48в 350ватт установ. зеркало LH-100,мотор с датчиками холла,сигнализация
2:Kugoo MaxSpeed 18 а.ч 52в 600ватт уст. зерк.LH-100 Сигнализация
3:Электровелосипед Custom: 500ватт 52в 16а.ч уст.зеркала  пов,сигнализация

13_chip_13

Цитата: maxbrus от 27 Июнь 2021 в 17:10
Добрый день. Вопрос к знатокам.

Подключаю доп фары к Kugoo M4 PRO. На TF100 есть функция включения света, если долго держать MODE. Можно ли задействовать этот режим с новыми фарами? Куда копать, в каком направлении?
Тут два варианта:
1) Искать в контроллере мотора контакт на котором появляется сигнал при зажатии Mode в БК. Вывод будет скорее слаботочкой и потребуется доп реле. Но есть такой вывод или нет это 50/50.
2) Сделать платку с реле и микроконтролером, которая будет слушать шину данных от БК и реагировать на кнопку Mode БК.

13_chip_13

Цитата: Belogrost от 01 Июль 2021 в 23:38
Парни, подскажите почему в TF-100 ,из которого идёт. 6 проводов на Juliet два между собой замкнуты?  Это синий и белый. Подписаны  DS1 и DS.
И на плате рядом ещё один контакт, может быть  от этого контакта можно получить напряжение на фару, при зажатой кнопке МОД ?
Синий вроде как откусан в самом БК. DS и ds1 функционально одинаковые выводы,  если все элементы запаяны конечно,  там это прям явно видно по плате,  если понимаете что к чему конечно. Про фару даже и говорить не буду... читайте...

Elektron777

Здравствуйте, уважаемые! Подскажите, пожалуйста какой датчик Холла стоит в курке, нужно поменять.

exters

[user]13_chip_13[/user],  Здравствуйте, я видел ваше видео о самодельном бк. можете пожалуйста поделиться прошивкой вашей esp пожалуйста.

13_chip_13

Здравствуйте, дело стало на коммерческие рельсы, поэтому исходников нет.

exters

Можете просто хотя б объяснить как отправить данные из вашей таблицы в контроллер и все (мк у меня атмега 328)

EniSy

Цитата: 13_chip_13 от 31 Янв. 2022 в 21:16Здравствуйте, дело стало на коммерческие рельсы, поэтому исходников нет.
"Обажаю" таких товарищей которые на форуме и типа дружим только до тех пор как копеечкой не запахло! Ну бог с вами-не разбогатеешь.

EniSy

Цитата: exters от 31 Янв. 2022 в 21:46Можете просто хотя б объяснить как отправить данные из вашей таблицы в контроллер и все
там обычный uart я так понимаю, еще на разбирался надо анализатор самому накинуть...