- ЦОС на atmega8. Без плавающей точки. Пролетел с блоком питания и
теперь имею на входе сигнал с характерным "кивком" почти на 10%
вниз, на 2-3ms, в каждом периоде сети (20ms). Как вычистить? Cкpипaч(303 знак., 24.05.2023 18:37, MCU, полностью)
- А ничего не делайте. И так сойдёт. Оставьте простор для
улучшайзинга на период когда у клиента денег прибавится. - =AlexD=(26.05.2023 08:55)
- Winfilter RxTx(2 знак., 26.05.2023 00:14, ссылка, картинка)
- Если DSP и без потусторонних методов, то вырезать 50Hz IIR bandstop
он же режекторный фильтр. Bandstop/режектор получается сложением
результата двух фильтров LowPass + HighPass RxTx(142 знак., 25.05.2023 23:46, ссылка)
- Тут не оверсэмплинг надо, а наоборот, до 8 бит. Про атмегу8 не
знаю, но обычно есть возможность выбрать источник опоры.
Попробовать разные и выбрать тот, который колеблется с "линией
партии". Ну, и таймер синхронизовать сначала на 50 Гц. - Costic(25.05.2023 15:27)
- Если бы ТС сжжог свой паспорт, я бы порекомендовал ему КИХ с нулями
в точках 50, 100, итд герц. IBAH(1 знак., 25.05.2023 11:43, картинка)
- Сигнал простой - попробуй линейное сглаживание по 5 точкам.
Арифметика элементарная - сложение и деление на константы Питoн(1 знак., 25.05.2023 10:48, , ссылка)
- Ну вы, батенька, и оптимист. У AVR хороший АЦП, но не до такой же
степени, чтобы увеличивать его точность в 16 раз! :)) Ну а по теме,
все верно предлагают: генерить у себя 50-герцовые "окна запрета
рабочих отсчётов", синхронизировав их с 10% просадками от
среденамеренного в АЦП. Для этого не нужен 16-ти кратный
оверсэмплинг. - vpv.vpv(25.05.2023 07:37)
- но, всё же, слова критики скажу - если используется внешний
термодатчик с внешним , возможно нестабильным, питанием и
стабильная и никак не связанная с питанием сего датчика опора ацп -
то енто косяк разработчика однозначный)) - Alex68(24.05.2023 21:42)
- Не понял. Есть обычный Pt1000. На него, через токозадающий резистор
подан 1мА. В обычной ситуации, на худо-бедно стабилизированном
питании, напряжение на Pt1000, нормально измеряется по отношению к
встроенной опоре atmega8. Cкpипaч(82 знак., 24.05.2023 21:49)
- А в цепь с термосопротивлением между нолём и термосопротивлением
поставить точный резистор (опорный) и вычислять ток, а потом
значение термосопротивления уже? - symbions(25.05.2023 00:42)
- ток великоват для pt1000, по докам рекомендуется 0,1 - 0,3 мА.
ошибка измерения меньше градуса с большой натяжкой, реально будет
1,5-2. имхо тебе лучше бы подошла lm35, да и дешевле. - m16(25.05.2023 00:14)
- Критика справедлива. Чтобы что-то измерить, лучше всего иметь общую
опорную величину. Иначе ваш 1мА плывёт по-своему, а встроенный ИОН
АЦП - по-своему. В итоге, получаем ошибку и восприимчивость к
помехе. А вот если бы в качестве опорного АЦП завели бы (через
делитель и повторитель) ваше 24В, питающее термосопротивление, то
даже при пульсациях питания не было бы такой ошибки. Nikolay_Po(163 знак., 24.05.2023 22:56)
- такое измерительное делал не раз, но всегда брал опору ацп с
питания либо (термо или тензо) моста либо RTD. и дельта-сигма ацп. - Alex68(24.05.2023 21:51)
- Синхронизнуться от сети и пропустить скока-то выборок. - mse homjak(24.05.2023 20:57)
- Конструкция готовая. Нет датчика перехода через ноль или подобного.
Нужно использовать имеющееся. Сделать ФАПЧ на частоту сети по
просадкам полезного сигнала на мега8 - та ещё задача. Можно проще,
медианным фильтром. - Nikolay_Po(24.05.2023 21:00)
- Ничего сложного в том, чтобы ловить (и после предугадывать)
просадки - нет. Таймер 16-битный, с прескалером, режим СТС,
прерывания по OCRx. Величина в OCR динамически "следит" за
серединой просадок. Если ширина окна запрета равна N попугаев
таймера, то начало окна будет, когда таймер досчитает до OCR-N/2, а
конец окна наступит. когда в таймере будет 0+N/2. - vpv.vpv(25.05.2023 07:56)
- Если изменение сигнала много больше, чем период сети, задаться
доверительным интервалом и отбрасывать значения, не попадающие в
него, относительно длинного среднего. Да и "ФАПЧ" там будет такой
себе, есличо. Сеть у нас боле-мене стабильна по частоте. Формируй
одно окно таймером для нормального усреднения, а другое окно, для
синхронизации с провалом. - mse homjak(24.05.2023 21:18)
- Вообще ничего не понял... Кого чистить? От чего чистить? Почему АЦП
- результат, а не микросхема? - st256(24.05.2023 20:37)
- Чё придираешься? Результат Аналого-Цифрового Преобразования, при
чём тут микросхема? - Nikolay_Po(24.05.2023 20:38)
- Я не придираюсь. Я не понимаю. - st256(24.05.2023 20:40)
- Отвыкли за время отсутствия... Человек сделал оцифровку сигнала, у
которого опорное напряжение - с дефектом, провалы из-за недостатка
питания на переходе тока промышленной частоты через ноль тдт что-то
около того. Выборка с передискретизацией, период осреднения 2мс.
Нужно подавить помеху, действующую каждый период, примерно 2мс из
20мс. - Nikolay_Po(24.05.2023 20:43)
- Помеха в спектре сигнала? - st256(24.05.2023 20:45)
- Можно сказать, что
нет да - сигнал - постоянный ток. Время реакции, как я понял, считай,
время установления, 5 секунд устраивают. Проблема в том, что помеха
одной полярности - провал. Амплитуда помехи и её ширина -
переменные (зависят от величины питающего стабилизатор напряжения).
Поэтому просто усреднение не подходит - помеха попадёт в сигнал.
Нужна нелинейная фильтрация. - Nikolay_Po(24.05.2023 20:57)
- Хотя, если пляшет опора и просечки по питанию, она
мультипликативная. Причем тут 2 мс усреднения? Какая частота
дискретизации? - st256(24.05.2023 20:48)
- Да, мультипликативная. Осреднение, или что там ещё, используется
для даунсэмплинга. Фактически, выборка идёт быстрее, допустим, с
периодом 125мкс и в выходной отсчёт с периодом 2мс, попадает 16
отсчётов. Так получается 14 бит каждые 2мс. Ладно, пусть будет не
осреднение, а суммирование. И 14 бит не настоящих, но по факту,
сумма 16ти 10ти-битных отсчётов. - Nikolay_Po(24.05.2023 20:54)
- Там есть участки чистого сигнала, когда нет просечек и опора
стабильна? - st256(24.05.2023 21:14)
- Именно. - Nikolay_Po(24.05.2023 21:24)
- Ну и работайте только с ними. В чем проблема? Их можно обнаружить
как-то? - st256(24.05.2023 21:32)
- Проблема - сделать это с минимумом затрат времени, напряжения
мозгов и минимальной квалификацией программиста. Ищется простое и
эффективное решение, которое было бы подсилу реализовать
вопрошавшему без привлечения специалистов за деньги. - Nikolay_Po(24.05.2023 22:58)
- Так что Вы хотите сделать с чистым сигналом? - st256(25.05.2023 05:39)
- Его ещё нужно выделить. Частота помехи плавает (допустим, питание
от генератора или перегруженной промышленной сети). Контроллер
слабенький, квалификация программиста ограничена, бюджет в том
числе, времени на доработку ограничен. Делать по-настоящему, когда
окно выборки чистого сигнала следит за фазой помехи - слишком
затратно (по времени, по квалификации). Поэтому предлагаются
простые методы фильтрации без изменений выборки, без формирования
окон. - Nikolay_Po(26.05.2023 10:46)
- А полезный сигнал сильно быстро изменяется? - st256(26.05.2023 19:33)
- Температура. Желают 5сек время реакции. Контроль температуры в
линиях установки кондиционирования. - Nikolay_Po(26.05.2023 19:45)
- А частота дискретизации? - st256(26.05.2023 20:12)
- 125мкс период выборки, 8кГц, получается. Но результаты выборок
суммируются по 16шт. И фильтр на вход получает отсчёты с периодом
2мс (500Гц). - Nikolay_Po(26.05.2023 21:44)
- В принципе есть и еще проще вариант. Как я понял, помеха
периодическая и все, созданные ей гармоники - далеко справа.
Поэтому, можно применить звено вида y(n)=x(n)+y(n-1)*A, где A -
число очень близкое к 1. Например, 0.9999. Только там разрядность
нужно учитывать, ибо сигнал будет усилен в 10000 раз. Как раз
пореже гармоники и оставит только постоянку. Если, конечно, у самой
помехи нет постоянки. - st256_нa_paбoтe(27.05.2023 07:51, )
- Ну я понял примерно так. Ищите участок сигнала с минимальным
отклонением. Просто берете несколько отсчетов , допустим 8,
суммируете и сдвигает вправо на 8 бит. Потом находите на этом
интервале максимальное отклонение. Если оно, допустим, менее трех
младших значащих разрядов, вы попали в место, неповрежденное
просечками. Если отклонение больше, то сдвигаетесь на один отсчет и
по новой. - st256_нa_paбoтe(27.05.2023 07:41, )
- Образно выражаясь, это не выкинуть муху из вина, а суспензировать
блендером. :))) - bnb62(25.05.2023 10:06)
- Это тот случай, когда "кроилово" ведёт к "попадалову"? - Nikolay_Po(24.05.2023 19:54)
- Угу :) Но меня оправдывает то, что серийно выпускаемого БП из
24Vac, в 24Vdc с общим нулем в природе не обнаружено. Пришось импровизировать) - Cкpипaч(24.05.2023 20:27)
- Ток потребления какой? Может поставить удвоитель на двух диодах и
двух конденсаторах, а после него DC-DC или даже линейный
стабилизатор? Масса будет общая. Создавать самому себе трудности,
чтобы потом героически их преодолевать, так себе затея. - Yurasvs(25.05.2023 19:48)
- в изделии 24 вольта переменки одними концом об землю включено?? - Alex68(24.05.2023 20:34)
- Нет. Нужно чтобы обощий 24Vac был общим и для 24Vdc. Там в
существующем оборудовании многое на это завязано. - Cкpипaч(24.05.2023 20:46)
- Стеб такой? В одном варианте возможно: если с переменки удвоитель
сделать на электролитах и диодах:-) Только при небольшой нагрузке в
таком режиме кондеры вспучатся за 3 года. - Visitor(24.05.2023 20:59)
- никогда такого не видел. всегда есть три фазы, из них БЖТ делает 24
переменки и уж потом ее подают на всякие локальные блоки, кои ея
сами и преобразують в потребное им. и все ето развязано от земли. - Alex68(24.05.2023 20:51)
- Три фазы, толщиной в руку, есть на каждой установке. Но кроме этого
на каждой установке есть маленький трансформатор 24Vac бортовой
сети. Cкpипaч(285 знак., 24.05.2023 21:03 - 21:08)
- Алекс к тому, что, может, стоит внимательно изучить схемы включения
нагрузок и убедиться, что заземление не требуется и выполнено
формально, чтобы не накапливать статику. И, должно быть, есть одна
точка, в которой можно легко эту землю оторвать и тогда спокойно
подать питание через мост на вход обычного DC/DC со сквозным нулём
Вольт. Nikolay_Po(93 знак., 24.05.2023 21:10)
- Речь не в заземлении. Речь в контрольных и управляющих сигналах,
часть из которых идет на реле с обмоткой переменного тока, часть на
"большую плату", часть просто "куда-то во внутрь". - Cкpипaч(24.05.2023 21:18)
- Вам-то что от этих сигналов надо, что конкретно заставляет вас
привязывать 0В ваших 24В к одному из проводов ~24В? - Nikolay_Po(24.05.2023 21:29)
- Мне нужно считывать и формировать эти сигналы. Мы сняли (ладно,
выкусили) "их" электронный блок и поставили свой. Свой общий к их
общему их выходы, к нам на плату, на их входы - часть с платы,
часть с промежуточных реле. - Cкpипaч(24.05.2023 21:40)
- понятно. промышленное оборудование переделывал, свое управление
заместо родного, которого постигла хиросима, ставил, но, как и
сказал, меня не ограничивали в расходах, потому в таких случаях
ставил хорошие твердотельные реле. именно потому, что понятия не
имею, как и куда провода тянутся, а бороться с землями не имею
желания. проще все развязать. - Alex68(24.05.2023 22:08)
- ясненько. но это некошерный кибуц)) - Alex68(24.05.2023 21:24)
- я про то и сказал. но оно развязанное. всегда. иного никогда не
видел. - Alex68(24.05.2023 21:07)
- Очевидно же :) Но и решить просто. Если валидных данных больше
инвалидных, то по дифференциалу принимаем валидное или прошлое
значение за истину. (Запоминаем данное, сравниваем со следующим.
Если результат больше назначенных попугаев, то это измерение
игнорируем и заменяем прошлым). - bnb62(24.05.2023 20:21)
- Простейший а-ля медианный фильтр. Инициализируешь 32-х битную целую
переменную "Фильтр" первым измеренным значением АЦП, умноженным на
2^10, к примеру. Каждый период отсчётов, берёшь значение "Фильтра"
и делишь его на 2^10. Сравниваешь полученное значение и значение
свежего отсчёта АЦП. Если код АЦП больше делённого значения
фильтра, то инкрементируешь "Фильтр". Если мешьше -
декрементируешь. Если равно - ничего не делаешь. Выход фильтра -
величина "Фильтр" поделённая Nikolay_Po(551 знак., 24.05.2023 19:52)
- Спасибо! Cкpипaч(401 знак., 24.05.2023 22:58 - 29.05.2023 08:53)
- Ссылочку на источник бы. - RxTx(26.05.2023 00:28)
- Спасибо! Красивое! Dingo(354 знак., 25.05.2023 05:27)
- Думать лень про написаное.. но разве это не то же самое y = y*k +
x*(1-k)... для целочисленного коэффициента 2^n всё решается
сдвигами и суммированием. - POV(24.05.2023 22:48)
- Брр. Вроде бы врубился. Посмотри, правильно ли я понял идею? Cкpипaч(204 знак., 24.05.2023 21:57)
- Фраза "инкрементируешь фильтр" - опечатка? Можно попросить вас
формулу написать? (сейчас как-раз пытаюсь "изобрести БИХ в целых
числах", похоже вы описываете именно его, но как-то не сходится). - Cкpипaч(24.05.2023 20:52)
- А классика, то ли Титце и Шенк, то ти Хоровитц и Хилл так
статанализ для какой то установки делали, я по мотивам разбор
однотональных частот процем сделал, инкремент, если в зону
временную попала, декремент, если нет. И штук 8 таких фильтров в
ПИКе, работало. - Visitor(24.05.2023 20:07)
- Скользящее среднее имеет нуль в передаточной характеристике (АЧХ)
на частоте 1/T, где T - длительность накопления. То есть, если
копить в буфере семплы в течение 20 мс, то 50 Гц будет подавлена. - Xaoc(24.05.2023 19:39, )
- Оконный компаратор на выход из диапазона с прерыванием к АЦП в
проце есть? Тогда просто, отсчет через 10 мс. Если нет, то можно в
цифре экпоненциальный фильтр сделать, 2 строки кода на С,
фильтрация сдвигами и сложением делается за период равный 1/ на
частоту дискретизации и умножить на 2 в степени сдвига. - Visitor(24.05.2023 19:08)
- По-пионерски просто (т.е. хуже воровства): 1. Перед вычислением
среднего выкинуть min и max отсчёты. 2. Медианный фильтр из 3-х
последних средних. Вобще-то период отсчётов и желаемая постоянная
времени не озвучены. - Chum_A(24.05.2023 19:02)
- синхронизировать запуск ацп с помехой? - Alex68(24.05.2023 18:39)
- Как говорится "компилятор глючит" ))) [keil51]... POV(1284 знак., 04.06.2023 11:20 - 11:26, MCU, картинка, картинка, полностью)
- Ну да, ну да.. олух-программист понадеялся на наследование, так
сказать, банка регистров. А оно вон оно как ))... POV(108 знак., 05.06.2023 13:57, ссылка)
- Кейл умеет дизассемблер показывать и в нём шагать? Может стоит
попробовать? Или он вам неинформативен будет? Тут ещё где-то
пролетала тема, что в версии для х51 может одна и та же область под
разные переменные использоваться, вроде как using или подобная
директива лечила. Dingo(445 знак., 05.06.2023 05:03)
- 1) temp где нибудь ранее инициализировалось явно в "ноль" ? и далее
по алгоритму (иначе переполнение) Zoro(127 знак., 04.06.2023 18:49)
- Как я понимаю речь про SiLabs C8051F120 или что-то 100 серии (твой
любимый, не помню). Плавающая точка _очень_ медленная. За время
пока вычисляется выражение может набежать переполнение счётчика.
Прерывание/счётчик остановлены? t16 объявлена volatile? Обязательно
ли умножать на 0.12, может быть разделить на 8 (*0.125) достаточно
и сделать это сдвигом (t16 >> 3)? У меня в F380 нет
регистра PCA0_T, вместо него PCA0L и PCA0H, которые надо читать в
нужной Costic(106 знак., 04.06.2023 14:06, картинка)
- Я бы попробовал для начала запретить прерывания. Может призрак
коммунизма бродит в твоей программе, и совсем не там где ты ищешь. - il-2(04.06.2023 12:55)
- Бывали МК с приветом. На старой работе, в сейфе, как артефакт,
лежал 580-й, который неправильно выполнял какую-то команду. - mse homjak(04.06.2023 11:22)
- Никто у себя в закладках не держит статьи bialix? Его сайт давно
протух. А была там интересная заметка по проблеме использования
using в keil51. - POV(05.06.2023 10:14, MCU, полностью)
- На днях пришлось проконтролировать работу CAN шины в своих девайсах
"в поле". Лет 14 назад для таких дел по-быстрому сгондыбачил
шуструю ethernet-can железяку на платке LPC1768 от StarterKit.
Работала с прогой CANHacker через самолепную DLL. Но железка куда
то затерялась, посему обошелся тестовой прошивкой для самих
девайсов (в них есть ЖКИ и кнопперы). Подумалось, а не сообразить
ли мне что-нить снова для мониторинга CAN? Иногда надо, а под
руками ничего нет. Желательно Гyдвин(1266 знак., 13.11.2022 02:04, MCU, ссылка, ссылка, полностью)
- Раздельные файлы hex и eeprom из IAR STM8 для st visual programmer
как получить? DragonS(83 знак., 03.06.2023 09:45, MCU, полностью)
- Существует ли в природе ломаный компилятор Cosmic для STM8?
Зарегистрировать официальный не получается, скорее всего по
понятной причине. Или лучше искать альтернативы? - siealex(29.04.2023 21:31, MCU, полностью)
- CP2102N-A02 .. USB-UART дорогое удовольствие. Можно ли его заменить
на HT42B534-2 ? - Samum421(16.05.2023 18:50, MCU, полностью)
- В последнее время "на столе" частенько пользую вот это. Удобно. Гyдвин(1 знак., 16.05.2023 20:54, ссылка)
- Четырёхпортовый USB-UART адаптер на чипе FT4232HL, Visitor(1 знак., 16.05.2023 19:07, ссылка)
- 100 рублей же на али стоит - где ж дорогое? Eddy_Em(168 знак., 16.05.2023 19:00)
- Спасибо, но нашел только за 1.7евро мин. - Samum421(16.05.2023 19:44)
- ch340 смотрел, не плохо, только с десяток вариантов с разными
суффиксами, запутаться можно. Да и не нужно пока, делать так с
двойной развязкой для работы с силовыми блоками. - Visitor(16.05.2023 19:11)
- А, так нужно сразу готовое с развязкой? Eddy_Em(93 знак., 16.05.2023 19:57)
- У того же WCH есть 8-портовый USB-UART. На Али по 400рублей чипы и
по 1000 - готовые платки. LightElf(1 знак., 17.05.2023 00:56, ссылка)
- Да материнку сожгли как то не понятно, к силовому блоку
подключались (догадываюсь, сначала переходник подключили, потом
сеть. Y конденсатор так зарядился, сам не видел), сейчас все с
развязкой есть, но, думаю и самому сделать не помешает, что бы их
полно в конторе было:-) А 2 или 8 каналов питания с развязкой
сделать - просто и не дорого. - Visitor(16.05.2023 20:11)
- И мысль по этому поводу, если кто то поучаствовать хочет, и ПО
пописать готов. Могу схему и плату сделать, как открытый проект,
всем здесь доступный, а тем кто с софтом помочь готов платы выслать
напаянные. Нашему программисту задач хватает, а у меня время есть
дивайс сделать. Только предлагаю так: все порты развязаны даже от
сетевого адаптера, порты USB + 4 RS232 / RS485 Ethernet тоже можно
добавить. Переключение RS232 / RS485 движковыми переключателями.
Насчет корпуса Visitor(102 знак., 16.05.2023 20:38)
- Я недавно 7 USB CDC нарисовал под STM32F303: три уарта, один
дебаг-вывод, один командный, один CAN. Еще один остается под SPI
или I2C, можно и дебаг убрать и на что-то полезное заменить... Eddy_Em(536 знак., 16.05.2023 21:02)
- На вскидку, опто не очень быстро, сейчас Китайские развязки до 150
Мбит не дороги. А с процем прикинуть можно, GD32F207VGT6 взяли на
пробу, там по коду сильно все от СТМ отличается. И по пинам питания
чуть. Не пробовали их? А с питанием уже на многоканальные развязки
наработки есть. Дешевле чем готовые. С 4 шт DB9 корпус широкий
получится и плата дороже, клеммники меньше места занимают. - Visitor(16.05.2023 21:16)
- Теоретег :-))) Уже 8 лет назад сделал USB->4*RS485/RS422 на
LPC1765. На выходе стоят "2-этажные" RJ-45. Народу нравится, что на
выезде можно пользоваться готовыми patch-cord и быстро
коммутировать подключаемые устройства. - reZident(16.05.2023 21:11)
- RJ-45 - самое ненадежное УГ, что только можно придумать! Eddy_Em(200 знак., 16.05.2023 21:21)
- Опять ты за своё! Но, спасибо, уже прогресс, гадкое слово заменено
аббревиатурой. Спасибо что делишься опытом. И с тобой тоже делятся.
Воспринимай чужой опыт не как "УГ, потому, что я не понял", а мотай
на ус. Nikolay_Po(807 знак., 16.05.2023 22:25)
- А я вот термодатчики (80 штук, I2C) на главном зеркале БТА
подключил не пайкой, а "телефонными" разъемами (RJ11, что ли,
называются). И как ни открою карту температур, обязательно 2-3, а
то и штук 10, глючат! Зависит от угла наклона трубы телескопа→
механический контакт ненадежный. В альфа-версии я еще и контроллеры
соединял между собой RJ45 (одна пара — CAN, остальные на питание),
так там бывало, целыми гроздьями отваливались датчики: с
контроллерами терялась связь Eddy_Em(758 знак., 16.05.2023 23:28, картинка)
- Вот когда (если) сделаете, тогда и похваляться будете. А мое
устройство работает без специальных драйверов (точнее со штатными
драйверами в OS) и под Windows и под Linux. - reZident(16.05.2023 21:37)
- Для работы с двигателями, приводами и прочими высоковольтными
устройствами USB нужно изолировать непосредственно прямо возле
разъема USB-A, не вынося его на шнурке пускай бы даже 15см. Ибо USB
очень уж "нежный" к помехам интерфейс. Но поместить все
предлагаемое вами в один "свисток", втыкаемый в USB-порт, несколько
проблематично, не находите? Помнится Сергей Марков в одном из
вариантов SM510USB решал эту проблему путем разделения устройств:
1) USB-device в "свистке" с reZident(169 знак., 16.05.2023 20:49)
- Отличная идея. Контроллер нужен только для фабричной записи
драйвера с ПК на STM32. - Samum421(16.05.2023 19:44)
- STMовский таймер, мануал осилить не могу, чую что криво, а понять
что делать не могу IBAH(645 знак., 07.05.2023 20:48, MCU, полностью)
- Кто-нибудь здесь пользуется SDCC для STM8 под Windows? Есть смысл
заморачиваться? - siealex(29.04.2023 23:10, MCU, полностью)
- Никому не попадался аналог Атмеловского Qtouch c открытым кодом? В
микроконтроллерах CH32* есть аппаратная поддержка сенсорных кнопок,
но нет библиотеки обработки, выдающей на выходе готовые события
нажатия кнопок. Есть свои наработки, которые можно приспособить, но
уж очень они древние и хорошо забытые. Не будет ли их оживление
изобретением велосипеда? - AlexG(29.04.2023 21:02, MCU, полностью)
- Всем привет. Ребят, есть у кого готовая реализация для
энкодера(подобные PEC12) под stm32 с ускорением шага при быстром
повороте? Не пинайте сильно, пока учусь) - Mark_Karte(30.04.2023 17:51, , MCU, полностью)
- Кароч, за время систем тика(100Гц, например) считаешь количество
событий энкодера. Их, реально, будет от 1 до 10-20. Делаешь
табличку прогрессивной
перекодировки(1->1,2->2,3->5,4->7...),
ограничиваешь число срабатываний её размером и перекодируешь. - mse homjak(01.05.2023 12:06)
- Делал так: каждые 150мс проверяем накопившееся за это время
приращение. Если за это время юзер успел накрутить больше 1/8
оборота, то добавляем к уже насчитанному ещё 7 приращений (скорость
получается в 8 раз больше обычной). Все эти соотношения просто
подбирались экспериментально. Про энкодер программно в прошлом году
обсуждали ЫЫyкпy(1 знак., 01.05.2023 07:57, ссылка)
- Там, в stm32 даже модуль аппаратный для энкодера есть или режим
капчи. Задача то простая, по одному ключу строб и считывание
потенциала другого. А быстрый поворот сделать - просто таймер по
входу добавить. - Visitor(30.04.2023 19:02)
- это только у меня c утра - дуина перестала поддерживать
esp32-wroom, в списке плат исчезла, там идёт ссылка на сайт
производителя, тое сама фирма отрубила. китайцы сссуу.... даже в
старых библиотеках отрубили.... как жить?!!!! - cтpaтeг(25.04.2023 10:11, , MCU, полностью)
- Почти 20 лет юзал MSP430. И, похоже, с ними тоже образовалась
полная жопа :( Встал ребром вопрос - чем недорогим/малоногим
заменить. Самый важный критерий тот же - экстремально низкое
потребление. Аналогичное китайское пока на глаза не попадалось. С
удивлением обнаружил, что местные склады прямо таки ломятся от
различных STM8L (в отличие от STM32). Разок довелось покрутить в
руках STM8S. И мне в принципе понравился - довольно шустрые и
камешек, и отладка. А как там у Гyдвин(242 знак., 14.04.2023 19:30, MCU, полностью)
- Короче, прямой/близкой замены MSP430 нет, как ни печально. Они
предназначены именно для того, для чего предназначены (забыл, как
там было точно на картинке у Генерала)... Хоть TI и скурвился, но
MSP все-таки производит, что вселяет некоторый оптимизЬм :) В наших
краях голяк, но на ALI вполне можно приобрести в количествах 50 шт
по разумной цене. При желании можно надергать нужное количество... Гyдвин(1 знак., 26.04.2023 09:56, ссылка)
- М-да, Олег! Нам нужны специально-заточенные "тараканы малолапые" ,
а продают..., типа. Дожили! И приглянись , действительно к тем же SERGHIO(367 знак., 18.04.2023 22:15)
- Еще, например, есть FM33LC046U от FUDAN. - зaбыл(16.04.2023 13:17, )
- Предложу поглядеть на Beken-ы, которые в JDY-40/41. На них вроде
как был SDK - Vit(16.04.2023 12:46)
- Китайские 8051. Holtek, WCH, Nuvoton (Тайвань, но не суть).
Вспоминаем молодость. - Evgeny_CD(15.04.2023 20:18)
- Сделал на stm8s, stm8l неск небольших проектов, в т.ч с
микропотреблением (сейчас в процессе с одним ). errata большая для
такого простого контроллера, поэтому и цена низкая . i2c настолько
косячный в традициях stm, что лучше программно, если нет арбитража.
По энергопотреблению: на stm8l152r8 на часовом кварце с работающим
lcd (семисегментник на 10 знаков) выпонением опроса кнопок кодом из
озу, c weakup раз в секунду (нетяжелое сложение по таблице) 20-30
mkA. Отладка vasily777(514 знак., 15.04.2023 06:57)
- STM8L мне понравились. Косяков не наблюдал. Спячкой не пользуюсь,
но, думаю, DS можно доверять, ибо по другим параметрам расхождений
не наблюдается - argus98(14.04.2023 21:38)
- По энергопотреблению не скажу, но сделал на стм8 пару изделий -
беспроблемные микросхемы. Не знаю почему их повально не используют
замест АВР. Так только не привычно, что эндиан другой. Зато
залочить из кода можно. - vesago(14.04.2023 21:11)
- 15 лет работаю с PIC. PIC18 серии LF - спячка 0,01 мка, генератор
32768 кварц 0,5 -0,8 мка. Работа проца на этой частоте с кварцем -
6-8 мка. Это при питании 3 вольта и 25 град. для PIC16 еще дешевле.
Обычный , не LF, при 3,3V с часовым кварцем и ЛоРа WAN в спячке с
работающим 32768 для прерываний и пробуждений - 10 -18 мка. На
борту еще флеш 8 мегабайт и куча всего. С поставками проблем не
испытываю и цены норм. - Driver_gv(14.04.2023 19:46)
- Китайцы, менее известные, чем тут обсуждали, кортекс м0 в мелких
корпусах делают и поставляет их кто то. На работе реклама
попадалась, глянул, не интересно нам, забыл. Если снова вылезет,
ссылку дам. - Visitor(14.04.2023 19:44)
- STM8 скорее всего формально под санкции не попадают. 16 МГц. - Evgeny_CD(14.04.2023 19:36)
- Как перемножаются целые числа со знаком? Вот есть два числа 32-бит
со знаком. Перемножили. Получили какой-то число в пределах sint64;
Старший бит - XOR от знаковых бит. В исходных информацию о величине
несли 31 бит в каждом, то есть 31+31=62 бита. Можно ли считать, что
"пред-старший" бит дублирует знаковый? К чему вопрос: А если я
захочу умножить знаковые 24бит и 8 бит - они поместятся в 32
разряда? PS: можно передвинуть в ПЛИС-раздел, Dingo(186 знак., 21.04.2023 10:16, MCU, полностью)
- Поместится ли результат умножения в 30 разрядов? Будет ли
дублировать 30 разряд знаковый? Используем известное соотношение
модулей |a*b|=|a|*|b| Boвa(667 знак., 22.04.2023 07:41)
- 1. Если перемножить два числа (24-бит-со-наком и 8-бит-со-знаком) в
дополнительном коде с дополнением до двойки (two's complement,
обычное представление в современных процессорах) результат
умножения совершенно точно поместится в 32-бит-со-знаком, сомнений
тут никаких. Т.е. s24 * s8 = s32 (гарантированно). RxTx(819 знак., 21.04.2023 23:38)
- Если у проца нет знакового умножэния, тупо смотрим на знаки, узнаём
знак результата, переводим отрицательное в положытельное, умножаем
и устанавливаем результат согласно известному знаку. - mse homjak(21.04.2023 17:19)
- то есть 31+31=
62 63бита - m16(21.04.2023 11:25)
- У людей (которые пользуются нормальными машинами) это делается так:
mul.ss (знаковое-знаковое) mul.uu (беззнаковое-беззнаковое) ну или
mul.su :-) - Kpoк(21.04.2023 10:51)
- Зачем 32х32? Проанализируйте случай 3х3 или 2х2, наверняка там
такая же закономерность, а перебор всех вариантов займёт половину
тетрадного листа. - SciFi(21.04.2023 10:25)
- если каждому давать, поломается кровать! - Kpoк(24.04.2023 10:22, MCU, полностью)=AlexD=