- Нужна подсказка, скользящее среднее для углового энкодера. Не раз
делал, но забыл. Как красиво обработать переход через "0"? Например
для трех, есть три последовательных значения 65535,0,1 - и среднее
должно получится 0. - Anvar(25.06.2024 12:44, Cyber, полностью)
- Вот вы все уперлись в среднее арифметическое! Сигнал
широкополосный, скорость сигнала больше скорости помех. ФНЧ не
работает! - IBAH(26.06.2024 15:46)
- 65532, 65533, 65534 -> 65533 AБBГД(406 знак., 26.06.2024 11:30, )
- Энкодер, как я понимаю, выдает 16-разрядные числа и на один оборот
приходится 64К дискретов. В таком случае 16-разрядный процессор -
то что надо. Фокус в том, что представление целых чисел только
пытается имитировать математические целые, но из-за ограниченной
разрядности множество целых от +бесконечности до -бесконечности
оказывается обрезанным до [0, 2N-1], да ещё и закольцованным потому что следом за 2N-1 (0xffff) следует 0. Это как раз то что ЫЫyкпy(366 знак., 26.06.2024 05:37)
- Вы уже три поста написали , что все просто. Напишите пример
алгоритма как вычислять среднее трех чисел. Для безнаковых
65535,0,1 или если вы хотите знаковые то 32766,32767, -32768. - Anvar(26.06.2024 06:24)
- Так Вам мало одного поста. Я же рекомендовал уже: введите вторую
переменную, смешенную на четверть оборота от основной. И
обрабатывать ее параллельно. В тот момент, когда основная переходит
через ноль, вспомогательная будет вполне гладкой. И да. При самой
идеальной механике показания все равно будут скакать. - Kpoк(26.06.2024 11:10)
- Я вам ниже уже пояснял, что нужно учитывать период. Для беззнаковых чисел 65535, 0, 1 арифметика (с учетом выхода за границы
периода) получается такая:
[65535+(0+65536)+(1+65536)]/3=196608/3=65536. Результат усреднения
вновь приводим к периоду, вычитая его (периода) значение (65536) до
тех пор, пока результат не станет меньше периода =>
65536-65536=0. Итоговый результат усреднения = 0. Плюсом идет информация об
одном полном обороте reZident(35 знак., 26.06.2024 11:08)
- Простые вещи самые сложные для объяснения :(( Я пытаюсь донести то
факт, что вычисления с целыми числами на современных процессорах
это арифметика по модулю 2N. Результаты арифметических операций это остаток от деления
"настоящих" математических целых чисел на 2N. И что в данном случае это не столько мешает, сколько помогает. - ЫЫyкпy(26.06.2024 07:29)
- В двоичном виде 65535 выглядит так же как и -1. Неудивительно что
результат будет =0. ЫЫyкпy(123 знак., 26.06.2024 07:11)
- Кстати, аналогичная задача в буржуинском электрическом интернете
гуглится по словам "average of angles" >>> SciFi(1 знак., 25.06.2024 22:18, ссылка)
- Потеря непрерывности aka заворот угла убирается знаковым
представлением. 65535 это -1. Тогда (-1 + 0 + 1) / 3 = 0. - RxTx(25.06.2024 22:12)
- Не нужны показания угла. Нужно обрабатывать синус и косинус от него
. У них скачков не бывает - Kpoк(25.06.2024 21:50)
- У меня веселее было, 14 бит усреднять. А таких данных в АЛУ нет :)
Только момент: здесь НЕ скользящее среднее, а усреднение нескольких
чтений подряд. Так нужно было. 2dimka(3776 знак., 25.06.2024 20:39)
- Нет никакого перехода, потому ничего обрабатывать не нужно. - ЫЫyкпy(25.06.2024 17:42)
- еще вариант, находить не среднее арифметическое, а наиболее
вероятное. Т.е накопили выборку отсортировали, взяли N/2 элемент. - IBAH(25.06.2024 17:35)
- Надо сделать функцию гладкой. Например ограничить, или во второй
половине изменить знак - IBAH(25.06.2024 17:29)
- в определенном случае было удобнее ввести минимальное отклонение,
соответствующее минимальному регистрируемому изменению. а-ля
электронный храповик. - Vit(25.06.2024 15:27)
- Для чего оно вам нужно? VVB(608 знак., 25.06.2024 13:54, ссылка, ссылка)
- 65535 - это -1. В арифметике со знаком всё работает из коробки. А
если без знака, предлагаю перед сложением перенести всё вверх
(скажем, не на 65536, а на 100000): 99999, 100000, 100001. После
вычисления среднего арифметического перенести обратно вниз на
100000. - SciFi(25.06.2024 12:53)
- Мне кажется вы не совсем поняли задачу, это не про числа, это про
угловой энкодер. 1. Тогда как вычислять при переходе от 32767 к
-32768? 2. Не понял. Все равно там будет "стык" соседних угловых
положений отличающихся на один бит, а среднее будет в полшкалы
энкодера. И да, некрасивое решение у меня есть. - Anvar(25.06.2024 13:49)
- "Я тебе один умный вещь скажу, ..."(с) Дело в том что АЛУ не знает
с какими числами оно выполняет операции. Знаковые, беззнаковые -
нет разницы, операции сложения/вычитания, инкремента/декремента
выполняются абсолютно одинаково. Разница возникает только потом,
когда проверяешь знак или выводишь на печать. ЫЫyкпy(431 знак., 25.06.2024 15:08, картинка)
- Или вот. Принимаем первый отсчёт как ноль сдвинутой шкалы.
Остальные отсчёты относительно него. В вашем случае 0, 1, 2.
Среднее 1. Приводим к исходной шкале - среднее 0. - SciFi(25.06.2024 14:49)
- Я конечно не программист, но согласен со SciFi о том, что нужно
использовать знаковую арифметику. По-моему увеличение беззнакового
числа 32767 на единицу в знаковой арифметике int16_t даст -1, а не
-32768. А чтобы перейти через точку переполнения результата, нужно
исходное число приводить в масштаб точно так же, как мы работаем с
синусом или косинусом - вычитать из числа период до тех пор, пока
оное число не станет меньше периода. P.S. количество вычитаний
можно так же reZident(67 знак., 25.06.2024 14:11)
- Получается, моё решение по сути предлагает сместить шкалу, если
есть разрыв. То есть если видим большой скачок между соседними
отсчётами (65535 >> 0), то сдвигаем шкалу. - SciFi(25.06.2024 14:10)
- Ну что, ПИЮ кто уже подергал за вымя? Давйте перчить скопом :) А то
пи*деж только в OFF. Вчера пришли PY32F002BD15S6TU и
PY32F003W16S6TU по десятку. Первый удалось запустить в Keil.
Отладка работает и с J-Link, и с WCHLink. Со вторым что то не
срастается. Отладчик его видит, утилита JMem от Segger видит
память. Flash и RAM на своих местах... А вот загрузка и отладка в
Keil не дышит. Да и с областями памяти какой то косячок. Даже
компилятор ругается на область RAM. Гyдвин(97 знак., 22.06.2024 10:12, ARM, полностью)
- "Какой смысл что-либо делать, если ИИ может делать все, что и вы,
только лучше? Я думаю, что будет экзистенциальный кризис." Илон
Маск - Codavr(23.06.2024 12:43, Off, полностью)
- Ответ простой - потому что хочется созидать. - Ralex(26.06.2024 15:03)
- - ИИ хочу наручные часы (список условий). Приходят по почте, носишь, они фигово работают, глючат, ломаются -
выкинул в окно утилизации. - ИИ хочу наручные часы (другой список условий). Творчество для всех, даром, и никто не уйдёт обиженным, бл. =AlexD=(262 знак., 26.06.2024 15:27)
- - Окей Гугель, хочу создать звездолет! ASDFS(103 знак., 26.06.2024 15:12)
- Слабо ему (ИИ) пока из г*на и палок рабочий схематик сделать без
макетирования узлов. А Маск хитрый засранец! Всем предлагает с
дивана не вставать, а сам на Марс собрался. - Visitor(23.06.2024 16:57)
- Убирать за искусственным интеллектом ИИ не умеет. - Boвa(23.06.2024 14:03)
- Понедельник вечер. Музыка :) Cкpипaч(1 знак., 24.06.2024 19:32, Off, youtube, полностью)
- Есть множество языков программирования. Но все они обладают
фатальным недостатком. Так создадим же самый супер-пупер
универсальный, всепарадигменный, наипростейший и наимощнейший новый
язык! И наречём его - Цанцзе. =AlexD=(1 знак., 26.06.2024 10:07, dao, ссылка, полностью)
- Вчера скачал с Артери их последний BSP - какой-то непонятный пиздос
начинается после разрешения прерываний УАРТ. Пока не разбирался что
там, просто откатился назад.. косячнули китайцы, аккуратнее там. - POV(10.05.2024 11:49, ARM, полностью)
- о демократичности Южной Кореи. =L.A.=(1360 знак., 25.06.2024 14:58, Off, полностью)
- Не могу победить звон в мосте на 47N60. Гоняю на 24В 5А на LС
фильтр. Драйвер HCPL-3120. Мертвое время 2мкС. Звенит при открытии
транзистора направления тока которого совпадает с током дросселя.
Ток открытия ограничивал до 50ом, ничего не меняется. Снайбер
пробовал 27-54ом, емкость до 330н как звенело так и звенит с
периодом порядка 200-300нС. Аж на конденсаторе фильтра помеха 1В.
Мож какой секрет есть? - IBAH(16.06.2024 18:49, SCH, полностью)
- Победил... задемпфирил по-сильнее (20ом 940пФ, было 54ом 470пФ),
снизил ток драйвера (ограничивающий резистор 50ом, было 10ом), и
самое главное, убрал сопли в проводах, полумосты соединил шинками
4мм2 - IBAH(19.06.2024 20:24)
- А до открытия транзистора что происходит с током дросселя, по какой
цепи он течёт? - ЫЫyкпy(18.06.2024 12:16)
- В наших схемах параллельно силовым транзисторам обычно стоят
конденсаторы (например 3300пФ). Снизить ударное возбуждение в
мёртвой зоне помогает ферритовая трубка с потерями на вывод (или в
цепь) конденсатора. Это в дополнение ко всем другим советам. Ну и
всё очень индивидуально. - Gerasim(18.06.2024 08:28)
- В полумосте рабочая 350 кГц, ДТ 100 нс, питание +- 85.. 96 В,
выходной после фильтра ток 5 А. Снабберы 200 пФ + 10 Ом. Без них
звенело сильно, и если нагрузка индуктивная, то цепь Зобеля (Zobel
net) как в аудио не помешает. В снабберах емкости и резисторы
уменьшить стоит, мои данные пересчитайте на свою частоту и
нагрузку. Резисторы 5.1 Ом, кондеры 2000пФ, примерно. Еще нюанс
есть, идеально выходит если индуктивность дросселя и емкость стока
резонанс возле рабочей частоты Visitor(157 знак., 17.06.2024 17:58)
- Без схемы такие вещи сложно обсуждать - il-2(17.06.2024 08:39)
- Драйвер hardswitch аля х84х? saifullin(90 знак., 17.06.2024 08:17)
- увеличь время открывания ключа, изолируй или заземли радиатор ключа - йя(16.06.2024 22:34, )
- разводку поменяй - йя(16.06.2024 22:31, )
- Дроссель проверь на межвитковое или перемотай с большими витками. - Solo(16.06.2024 22:31)
- Если не работает, возможно, вы сильно промахнулись в параметрах
снаббера или ставите снаббер "не туда" - например, звенит земля
осциллографа, а не точка коммутации токов. Nikolay_Po(799 знак., 16.06.2024 20:41)
- Земля осцилла как подключена? И разводка платы, в идеале входные и
выходные электролиты по земле недалеко от истоков нижних ключей
должны быть. Попробуйте щупом с пружинкой сток - исток посмотреть. - Visitor(16.06.2024 19:11)
- Полицейский в Индонезии продемонстрировал чуваку, что выхлоп его
мопеда излишне шумный. Codavr(1 знак., 26.06.2024 08:59, Off, ссылка, полностью)
- У кого-нибудь завалялся европейский стандарт IEC/EN 61984 "разъёмы:
требования по безопасности и тестированию"? Поделитесь, пожалуйста. VVB(440 знак., 26.06.2024 08:49, Off, полностью)
- Нейросети и перспективы аналоговых "In memory computing". Toчкa oпopы(936 знак., 21.06.2024 13:16, Cyber, ссылка, полностью)
- туплю на элементарной вещи в транзисторе: есть npn BC817, схема
общий эмиттер, на коллекторе нагрузка в виде ноги контроллера AVR,
внутренняя подтяжка к +5В. на базе транзистора 1к резистор
ограничительный, база: NAUT(380 знак., 25.06.2024 15:42, SCH, полностью)
- Если эмиттер не в обрыве, то выходит что у вас чудовищное насыщение
транзистора - ток эмиттера почти на два порядка больше, чем ток
коллектора. Вполне возможно, что при таком соотношении токов
эмиттер и коллектор поменялись своими функциями. Попробуйте 1кОм
между коллектором и питанием МК включить, если функционал станет
верным, то это оно и есть. В противном случае см. эмиттер, который
наверняка в обрыве. - reZident(25.06.2024 16:18)
- Что в 1, что во 2 случаях на открытом переходе БЭ будет около 0.7В.
Отличие между 1 и 2 только в токе базы. В 1 ток базы =
(9-0.7)/1К=8.3мА, во 2 случае ток базы = 8.3 - 0.7 = 7.6мА.
Колоссальная разница :-) il-2(133 знак., 25.06.2024 16:04)
- +1 - Toчкa oпopы(25.06.2024 16:08)
- Эмиттер в воздухе, оборвался. - ASDFS(25.06.2024 16:01)
- Там 2 p-n перехода. какбэ два диода соединенных анодами. Если
транзистор закрыт, то через диод база-коллектор течет ток с базы.
Вот так 9В там и появляется - POV(25.06.2024 15:46)
- Во всяких црц и прочих хешах не силён. Но как-то нашёл программную
реализацию расчёта совместимую с аппаратной у стм32. А на ат32 это
не прокатило. POV(157 знак., 25.06.2024 11:33, dao, картинка, картинка, полностью)
- Не совсем в тему, но кроме вас спросить некого. В LTSpice давно
новую модель не делали? Попробовал в пятницу, тупой инвертор на ОУ
не работает, скопировал файлы от старых моделей - заработало. Это
прикол от АД такой? Да, вопрос к "Toчкa oпopы" был, промазал:-) - Visitor(23.06.2024 16:04, dao, полностью)
- Бан "розовых" - не отражается в админке. В конфе - отображается. - Toчкa oпopы(24.06.2024 16:43, Webmaster, полностью)