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


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

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

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

Paxxa и 1 гость просматривают эту тему.

Paxxa

#13968
Защищенный изолированный контроллер это когда условная коробочка из нее вход и выход без каких либо отверстий и торчащих проводов вообще. Лучше вообще чтобы разъемы в коробке были.

Размер корпуса 75100 35х45х85. Плата меньше на 1см по длине, и высоту можно чуть меньше сделать на см.

Насчет фетов хз лучше они хуже. 75100 вроде тянет 100А. А этот ваш 60.

Цены вообще сравнивать смысла нет ваш 2х кратная цена.

ЕйСи

Цитата: Mike 372 от Вчера в 07:36Там основное неудобство, что прямоугольник надо вписать в круг.
А есть ли смысл заморачиваться с встраиванием в сам мотор? Не проще фазные в башку протянуть? Вопрос тогда конечно с нагревом и как охлаждать на воздухе. Может достаточно небольшого вентилятора? У меня шим так в голове коллекторника охлаждался

Mike 372

Цитата: ЕйСи от Вчера в 11:28Не проще фазные в башку протянуть?
У этого мотора в башке еще меньше места. Даже такой маленький трудно разместить. Если со всеми клеммами, разъемами и охлаждением. Можно было бы сделать новую башку побольше и в ней все разместить. Но это потребует слишком много усилий. Потом длинные фазные - это лишние потери. Надо провода большого сечения.
Цитата: Paxxa от Вчера в 09:20Насчет фетов хз лучше они хуже. 75100 вроде тянет 100А. А этот ваш 60.

Цены вообще сравнивать смысла нет ваш 2х кратная цена.
А я цену и не сравниваю. На хобби денег не считают. Для меня его цена приемлема. Купил за 5600 руб. Неужели 75100 сейчас меньше 3000? Дороже наверное не просто так. Схемотехника у него более совершенная. Феты в нем 250 амперные с сопротивлением канала 1,36 мОм против 120 амперных и 2,8 мОм у 75100. Драйвер получше, фазовые фильтры имеются.

РД00

Оптимумом считаю их Alu PCB, v2 или простой. Наилучший теплоотвод, нормальные транзисторы.

Цитата: Mike 372 от Вчера в 12:00Феты в нем 250 амперные с сопротивлением канала 1,36 мОм против 120 амперных и 2,8 мОм у 75100. Драйвер получше, фазовые фильтры имеются.
Это при пайке на медную плату, с идеальным теплоотводом. На текстолите все значительно хуже. Приводил как-то даташит.

Вот монтаж и транзисторы 75100 :

Paxxa

Покрыл всё и вся автомобильным лаком

И движки и статоры и роторы и все что есть тоже

Paxxa

#13973
Цитата: РД00 от 28 Май 2026 в 07:47Сделай следующий шаг, LispBM Scripting. Совсем другие возможности.

А можно их переназначить кнопки? Не у веска а у приемника.

Штекер сделал на d0,d1,d2. А ему надо для кнопки А - d3

Paxxa

Так то все четко,но шаг duty сделал вместо 5%, по 17.5%. Выходит всего 6 шагов до 100%

И надо добавить для + и - удержание кнопки. У диммера это есть, так удобней.

Paxxa

#13975
У диммера когда удерживаешь кнопку, сигнал ползет вверх плавно, не шагами по 10%, а по 1%. Отпускаешь в какой то момент и вот если набрало там скажем 21%, то на нем далее и работает, пока снова не сделаешь одно нажатие.

Это удобно когда первый шаг 20%, а надо сделать 5% чтобы еле еле чилить.

РД00

Цитата: Paxxa от Вчера в 15:03А можно их переназначить кнопки? Не у веска а у приемника.

Штекер сделал на d0,d1,d2. А ему надо для кнопки А - d3
На пульте нет, в коде тут  меняем, что для кнопки А -

(var pin (gpio-read 'pin-hall1))  ; читаем кнопку А

Текущий код. В параллель брелок, диммер, ppm.

код
(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     0.0)  ; сколько ставим, 0...1
(def A-target   0.5)  ; средний ход по А
(def target-inc 0.1)  ; инкремент +- по B,C
(def D-target   0.0)  ; стоп по D

(def last-adc 0)
(def last-ppm 0)

(app-adc-detach 1 1)    ; отсоединили ADC  (стоит App Control Type: ADC)

(loopwhile t (trap {
        (var pin (gpio-read 'pin-hall1))  ; читаем кнопку А
        (if (!= a-state pin)              ; изменилась ?
            {
                (setq a-state pin)
                (if (= 1 pin)             ; нажата ?
                    {
                        (print "A pressed")
                        (setq target A-target)  ; средний ход
                })
        })
       
        (setq pin (gpio-read 'pin-hall2))  ; читаем кнопку B
        (if (!= b-state pin)
            {
                (setq b-state pin)
                (if (= 1 pin)              ; нажата ?
                    {
                        (print "B pressed")
                        (setq target (+ target target-inc)) ; target = target + increment
                        (if (> target 1.0) (setq target 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 (- target target-inc)) ; target = target - increment
                        (if (< target 0.0) (setq target 0.0)) ; за 0 не вышли ?
                })
        })
       
        (setq pin (gpio-read 'pin-swdio))  ; читаем кнопку D
        (if (!= d-state pin)
            {
                (setq d-state pin)
                (if (= 1 pin)              ; нажата ?
                    {
                        (print "D pressed")
                        (setq target D-target)  ; стоп
                })
        })
 
        (var ppm (+ (/ (get-ppm) 2.0   ) 0.5)) ; PPM масштабируем с -1..1 на 0..1
        (var adc (/ (get-adc 0) 3.40))  ;        ADC с 0...3.40В на 0..1
        (if (< adc 0.12) (setq adc 0))  ; кнопку 10% делаем нулем
       
        (if (> (abs (- adc last-adc)) 0.05) {(setq target adc) (setq last-adc adc)})  ; если ADC изменился на 0.05, ставим его
        (if (> (abs (- ppm last-ppm)) 0.02) {(setq target ppm) (setq last-ppm ppm)})  ; если PPM изменился на 0.02, ставим его
       
        ;(print (list 'PPM ppm 'ADC adc 'target target))

        (app-adc-override 0 (* target 3.40))    ; ставим ADC 0..3.40 из target 0..1
        (sleep 0.1)
       
        (override-speed 1 (gnss-speed))    ; заменяем скорость в RT Data
}))

РД00

Этот премник не брать, самопроизвольно включает А по другим кнопкам. Хорошо проверил.

https://ali.click/guw8d1o

Paxxa

Цитата: РД00 от Вчера в 19:23На пульте нет, в коде тут  меняем, что для кнопки А -

(var pin (gpio-read 'pin-hall1))  ; читаем кнопку А

Текущий код. В параллель брелок, диммер, ppm.

код
(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     0.0)  ; сколько ставим, 0...1
(def A-target   0.5)  ; средний ход по А
(def target-inc 0.1)  ; инкремент +- по B,C
(def D-target   0.0)  ; стоп по D

(def last-adc 0)
(def last-ppm 0)

(app-adc-detach 1 1)    ; отсоединили ADC  (стоит App Control Type: ADC)

(loopwhile t (trap {
        (var pin (gpio-read 'pin-hall1))  ; читаем кнопку А
        (if (!= a-state pin)              ; изменилась ?
            {
                (setq a-state pin)
                (if (= 1 pin)             ; нажата ?
                    {
                        (print "A pressed")
                        (setq target A-target)  ; средний ход
                })
        })
       
        (setq pin (gpio-read 'pin-hall2))  ; читаем кнопку B
        (if (!= b-state pin)
            {
                (setq b-state pin)
                (if (= 1 pin)              ; нажата ?
                    {
                        (print "B pressed")
                        (setq target (+ target target-inc)) ; target = target + increment
                        (if (> target 1.0) (setq target 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 (- target target-inc)) ; target = target - increment
                        (if (< target 0.0) (setq target 0.0)) ; за 0 не вышли ?
                })
        })
       
        (setq pin (gpio-read 'pin-swdio))  ; читаем кнопку D
        (if (!= d-state pin)
            {
                (setq d-state pin)
                (if (= 1 pin)              ; нажата ?
                    {
                        (print "D pressed")
                        (setq target D-target)  ; стоп
                })
        })
 
        (var ppm (+ (/ (get-ppm) 2.0   ) 0.5)) ; PPM масштабируем с -1..1 на 0..1
        (var adc (/ (get-adc 0) 3.40))  ;        ADC с 0...3.40В на 0..1
        (if (< adc 0.12) (setq adc 0))  ; кнопку 10% делаем нулем
       
        (if (> (abs (- adc last-adc)) 0.05) {(setq target adc) (setq last-adc adc)})  ; если ADC изменился на 0.05, ставим его
        (if (> (abs (- ppm last-ppm)) 0.02) {(setq target ppm) (setq last-ppm ppm)})  ; если PPM изменился на 0.02, ставим его
       
        ;(print (list 'PPM ppm 'ADC adc 'target target))

        (app-adc-override 0 (* target 3.40))    ; ставим ADC 0..3.40 из target 0..1
        (sleep 0.1)
       
        (override-speed 1 (gnss-speed))    ; заменяем скорость в RT Data
}))

Да не. Сам загуглил. Кнопки пульта и выходы приемника не меняются