Полезная информация


Начинаем строить электро SUP Bord

Автор ТоргМаг, 08 Март 2021 в 18:24

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

lilex и 2 гостей просматривают эту тему.

Paxxa

Цитата: Д2В от 27 Март 2026 в 08:28Воопсчет , лично мне - удивительно что согласились ( торгуют то продавцы , и каким они местом к производству ? ). Главное что бы не надурили , как получите и проверите - отпишитесь пожалста . Прям интересно .

Я не остальные местные ребята.  ;-)  Я обычно выкладываю фото всех кишков до последней жилки. А не бла бла бла, купил поставил...

РД00

Цитата: Paxxa от 27 Март 2026 в 08:05А как на один экран 2 веска, чет я не пойму, нужен еще один вход rx tx же
Вешаем на один, выводим цифры с обоих, со второго через CAN. RX TX занимать не обязательно, можно на SWD.

Вот твой кандидат, 4 строки - https://ali.click/otl5413

Paxxa

Цитата: РД00 от 27 Март 2026 в 08:43Вешаем на один, выводим цифры с обоих, со второго через CAN. RX TX занимать не обязательно, можно на SWD.

Тогда и на маленьком экране это можно сделать. Например две мощности в ывести

Но тогда я не понимаю, почему это не вывести в qml

Paxxa

Цитата: РД00 от 27 Март 2026 в 08:43Вот твой кандидат, 4 строки - https://ali.click/otl5413

Эт я уже видел. Цена больше чем в 2 раза от одного дисплея на один контроллер.

Выбор очевиден.

РД00

Все можно вывести. Тот вывод, что на картинках, вот. Меняем get- на canget- , получаем цифры второго vesc.

        (putstr 0  0 (str-from-n (to-u (/ (get-rpm) poles))    "%4u"))
        (putstr 0  1 (str-from-n (to-u (* (get-duty) 100)) " %02u%% "))
        (putstr 88 0 (str-from-n (abs (get-current))      "%4.1fA"))
        (putstr 88 1 (str-from-n (abs (get-current-in))   "%4.1fA"))
        (putstr 40 0 (str-from-n (abs (get-vin))          "%4.1fV"))
        (putstr 32 1 (str-from-n (abs (* (get-vin) (get-current-in))) "%5.0fW"))

Кому оперативно надо дисплей - самое простое.

Mike 372

Цитата: РД00 от 27 Март 2026 в 07:42Можно, Control type : Duty cycle reverse center. 1.5В - стоп, выше - вперед, ниже - назад. Тумблер не нужен. Для галетника проще всего.
Это неудобно. Придется перещелкивать галетник от рабочего положения до 0 и потом столько же в реверс. И обратно также. Тумблер можно щелкнуть, не трогая галетник. Мотор плавно снижает обороты до 0, потом также плавно раскручивается в другую сторону.

РД00

#13110
Это опции на выбор, в vesc их много. Есть еще LispBM - вешаем на холлы и swd до 5 кнопок, и на них произвольную логику. Например трехпозиционный тумблер без фиксации - щелк вверх больше газу, щелк вниз меньше.
Спойлер
Пример чтения кнопок на холлах. Запускаем скрипт и замыкаем холлы на землю.
(gpio-configure 'pin-hall1 'pin-mode-in)
(gpio-configure 'pin-hall2 'pin-mode-in)
(gpio-configure 'pin-hall3 'pin-mode-in)

(def a-state 0)
(def b-state 0)
(def c-state 0)

(loopwhile t {
        (var pin (gpio-read 'pin-hall1))
        (if (!= a-state pin)
            {
                (print (if (= 1 pin) '"A pressed" '"A released"))
                (setq a-state pin)
        })

        (var pin (gpio-read 'pin-hall2))
        (if (!= b-state pin)
            {
                (print (if (= 1 pin) '"B pressed" '"B released"))
                (setq b-state pin)
        })

        (var pin (gpio-read 'pin-hall3))
        (if (!= c-state pin)
            {
                (print (if (= 1 pin) '"C pressed" '"C released"))
                (setq c-state pin)
        })

        (sleep 0.2)
    })


Д2В

Цитата: Mike 372 от 27 Март 2026 в 09:12Это неудобно. Придется перещелкивать галетник от рабочего положения до 0 и потом столько же в реверс.

А подпружиненный в среднем положении потенциометр ? По принципу джойстика . В одну сторону - вперед , в другую - назад .

Кста - они (потенциометры) , есть и с отводами от разных участков , вполне возможна реализация на разных выводах , разных потенциалов .

Paxxa

Цитата: Д2В от 27 Март 2026 в 09:40А подпружиненный в среднем положении потенциометр ? По принципу джойстика . В одну сторону - вперед , в другую - назад .

Кста - они (потенциометры) , есть и с отводами от разных участков , вполне возможна реализация на разных выводах , разных потенциалов .

Берем пульт по моей ссылке 3х кнопочный, среднюю кнопку убираем совсем. Настраиваем среднюю точку. Всего положений 14. 7 вперед и 6 назад. Хотя назад можно меньше. Пропустить шаг нельзя, т.е. резкой остановки и заднего хода не будет.

С переменником шанс крутануть его назад 99.9%

Mike 372

Цитата: Д2В от 27 Март 2026 в 09:40А подпружиненный в среднем положении потенциометр ? По принципу джойстика . В одну сторону - вперед , в другую - назад .
На новом моторе Koetsu так сделано. На ощупь вроде ничего. Дома на стойке мотор заводил, пользоваться можно. Как будет на воде, посмотрим. Но пульт на галетнике все равно к нему подцеплю. Мне больше всего нравится. Я точно знаю, какое положение какой ток выдает. Какой режим нужен, на столько щелчков галетник надо переключить. А переменником нужно ловить, сверяясь с амперметром.

Д2В

Цитата: Mike 372 от 27 Март 2026 в 11:43Мне больше всего нравится. Я точно знаю, какое положение какой ток выдает. Какой режим нужен, на столько щелчков галетник надо переключить. А переменником нужно ловить, сверяясь с амперметром.

Ну и еще плюс - галетник не надо постоянно удерживать в нужном положении .

Mike 372

Переменник вроде как тоже. Кажется я не правильно понял про подпружененность. На Koetsu ручка не возвращается сама, если ее отпустить. Подпружинено нулевое положение. Ручка встает в него с щелчком, а чтобы стронуть в любую сторону, нужно приложить некоторое усилие. Ноль ловить не надо. А дальше крутится плавно и остается в любом положении. Самовозвращающаяся ручка вообще не годится. В первый выход один раз попробовал и сразу выкинул.

РД00

Выложил видео управления с брелка - https://youtu.be/wmhj9bgPjZQ?si=Z4SJ4Gh7yVo7fTxZ

Спойлер
(gpio-configure 'pin-hall1 'pin-mode-in)    ; Hall С на D3 приемника
(gpio-configure 'pin-hall2 'pin-mode-in)    ; Hall B на D2
(gpio-configure 'pin-hall3 'pin-mode-in)    ; Hall А на D1
(gpio-configure 'pin-swdio 'pin-mode-in)    ; SWDIO  на D0

(def a-state 0)  ; состояния кнопок
(def b-state 0)
(def c-state 0)
(def d-state 0)

(def target-ppm  -1.0)  ; какой ставим ppm
(def A-button-ppm -0.5)  ; средний ход по А
(def ppm-increment 0.1)  ; ppm +- по B,C
(def D-button-ppm  -1.0)  ; стоп по D


(app-ppm-detach 1)    ; отсоединили PPM

(loopwhile t {
        (var pin (gpio-read 'pin-hall1))  ; читаем кнопку А
        (if (!= a-state pin)              ; изменилась ?
            {
                (setq a-state pin)
                (if (= 1 pin)            ; нажата ?
                {
                (print "A pressed")
                (setq target-ppm A-button-ppm)  ; средний ход
                })
        })

        (setq pin (gpio-read 'pin-hall2))  ; читаем кнопку B
        (if (!= b-state pin)
            {
                (setq b-state pin)
                (if (= 1 pin)              ; нажата ?
                {
                (print "B pressed")
                (setq target-ppm (+ target-ppm ppm-increment)) ; PPM + increment
                (if (> target-ppm 1.0) (setq target-ppm 1.0)) ; за 1 не вышли ?
                })
        })

        (setq pin (gpio-read 'pin-hall3))  ; читаем кнопку C
        (if (!= c-state pin)
            {
                (setq c-state pin)
                (if (= 1 pin)              ; нажата ?
                {
                (print "C pressed")
                (setq target-ppm (- target-ppm ppm-increment))  ; PPM - increment
                (if (< target-ppm -1.0) (setq target-ppm -1.0))  ; за -1 не вышли ?
                })
        })

        (setq pin (gpio-read 'pin-swdio))  ; читаем кнопку D
        (if (!= d-state pin)
            {
                (setq d-state pin)
                (if (= 1 pin)              ; нажата ?
                {
                (print "D pressed")
                (setq target-ppm D-button-ppm)  ; стоп
                })
        })

        (app-ppm-override target-ppm)    ; ставим PPM
        (sleep 0.1)
    })


Paxxa

Цитата: РД00 от 27 Март 2026 в 11:58Выложил видео управления с брелка - https://youtu.be/wmhj9bgPjZQ?si=Z4SJ4Gh7yVo7fTxZ

Спойлер
(gpio-configure 'pin-hall1 'pin-mode-in)    ; Hall С на D3 приемника
(gpio-configure 'pin-hall2 'pin-mode-in)    ; Hall B на D2
(gpio-configure 'pin-hall3 'pin-mode-in)    ; Hall А на D1
(gpio-configure 'pin-swdio 'pin-mode-in)    ; SWDIO  на D0

(def a-state 0)  ; состояния кнопок
(def b-state 0)
(def c-state 0)
(def d-state 0)

(def target-ppm  -1.0)  ; какой ставим ppm
(def A-button-ppm -0.5)  ; средний ход по А
(def ppm-increment 0.1)  ; ppm +- по B,C
(def D-button-ppm  -1.0)  ; стоп по D


(app-ppm-detach 1)    ; отсоединили PPM

(loopwhile t {
        (var pin (gpio-read 'pin-hall1))  ; читаем кнопку А
        (if (!= a-state pin)              ; изменилась ?
            {
                (setq a-state pin)
                (if (= 1 pin)            ; нажата ?
                {
                (print "A pressed")
                (setq target-ppm A-button-ppm)  ; средний ход
                })
        })

        (setq pin (gpio-read 'pin-hall2))  ; читаем кнопку B
        (if (!= b-state pin)
            {
                (setq b-state pin)
                (if (= 1 pin)              ; нажата ?
                {
                (print "B pressed")
                (setq target-ppm (+ target-ppm ppm-increment)) ; PPM + increment
                (if (> target-ppm 1.0) (setq target-ppm 1.0)) ; за 1 не вышли ?
                })
        })

        (setq pin (gpio-read 'pin-hall3))  ; читаем кнопку C
        (if (!= c-state pin)
            {
                (setq c-state pin)
                (if (= 1 pin)              ; нажата ?
                {
                (print "C pressed")
                (setq target-ppm (- target-ppm ppm-increment))  ; PPM - increment
                (if (< target-ppm -1.0) (setq target-ppm -1.0))  ; за -1 не вышли ?
                })
        })

        (setq pin (gpio-read 'pin-swdio))  ; читаем кнопку D
        (if (!= d-state pin)
            {
                (setq d-state pin)
                (if (= 1 pin)              ; нажата ?
                {
                (print "D pressed")
                (setq target-ppm D-button-ppm)  ; стоп
                })
        })

        (app-ppm-override target-ppm)    ; ставим PPM
        (sleep 0.1)
    })



Надо 2 нажатия , вторая скорость, три третья. И так же в минус

РД00

Перед тобой код. Ставь хоть три, хоть восемь. Строка (def ppm-increment 0.1)

Paxxa

Цитата: РД00 от 27 Март 2026 в 13:54Перед тобой код. Ставь хоть три, хоть восемь. Строка (def ppm-increment 0.1)

У меня нету пока этого модуля. Заказал на озоне 112р и 150бонусов за отзыв, но оно еще едет

Rock_n_Roliki

Цитата: Д2В от 27 Март 2026 в 09:40А подпружиненный в среднем положении потенциометр ? По принципу джойстика . В одну сторону - вперед , в другую - назад .
Это легко реализовать с помощью плоской пружины. Делал мини курок с холлом и магнитиком с нейтралкой аналог модельных пультов/джостиков с рычагом и пружиной на растяжение, только мой вариант сильно проще, первый образец был из куска оргстекла, гвоздя и пару пластин текстолита фольгированного на котором дорожки и сразу холл крепится пайкой. На переменнике это можно применить насадив на крутилку переменника кубик, или срезав фаску на пластиковой ручке. Но будет с авто возвратом в нейтралку из любого положения что вам не совсем надо.
Ну тут каждому свое подходит, мне например переменник без возврата, галетник, набор тумблеров, брелки пульты с "много раз нажатием ступенчатым" вообще не подходит для маневренных коротких вылазок от берега к берегу туда-сюда, только живой и оперативный газ и рулежка. Ну например к кому то подплыл поболтать и кружишь вокруг, как это сделать с галетниками и пультиками? А для путешествий дальняка, просторов, как раз галетник/переменник само то (пультик хуже, по оперативному сбросу газа) чтоб не держать все время палец на курке.
Е-роликовые коньки 1кВт, 6354 мотор, Vesc 4.12, 6S, 40км/ч.  Е-BMX вело 20" 1кВт, 6384 мотор + чупасос, Vesc 4.12, 8S, 40км/ч. Е-стрит вело 24" 750Вт, Bafang BBS02B. E-SUP board 5065 мотор, Vesc 4.12, 3S, 240Вт, 7км/ч.

Д2В

Цитата: Rock_n_Roliki от 27 Март 2026 в 16:27Ну тут каждому свое подходит

Совершенно верно , я от заднего хода сразу отказался и не разу за четыре года не пожалел .

Цитата: Rock_n_Roliki от 27 Март 2026 в 16:27что вам не совсем надо.

Эт не мне , у меня уже вопрос давно закрыт .

Цитата: Rock_n_Roliki от 27 Март 2026 в 16:27только живой и оперативный газ и рулежка. Ну например к кому то подплыл поболтать и кружишь вокруг, как это сделать с галетниками и пультиками?

Ровно та же история

Цитата: Rock_n_Roliki от 27 Март 2026 в 16:27чтоб не держать все время палец на курке.

У меня имеется потенциометр , который работает в паре с кнопкой из румпеля . На фото румпельная "система" , ручка румпеля сменная - одна с холлом , другая с линейным потенциометром . И обычный потенциометр установлен в контроллере , который под рукой тоже . Так что на все случаи жизни . "КорабЕль"чертовски маневренный , разворот на месте практически в диаметре длинны сапа .