Comments 11
В эксперименте оставалось больше половины свободных контактов К1986ВЕ92QI, которые помимо двухканального измерителя положения ротора СКВТ можно использовать для организации дискретных и аналоговых входов-выходов, а также различных интерфейсов.Выводы то свободные есть, а вот свободных тактов процессора на обработку сигналов с них, по Вашим же расчетам, не особо много.
Практическое отсутствие мощных операционных усилителей в составе современной элементной базы, если честно, меня очень удивило!
Есть. Например у TI или, даже, Apex. И всегда можно умощнить выход "стандартного" ОУ в меру своей испорченности.
Статорным обмоткам и/или СКВТ в целом не повредит подмагничивание?
Забыл про крндесары на выходах УД1
Разность показаний между каналами X и Z в 7 дискрет (это около 15 угловых минут) объясняется неодинаковостью характеристик компараторов на одном кристалле в составе микросхемы LM393.
Не изолировать входы компараторов по постоянному току, а замкнуть их низким(?) выходным сопротивлением вращающегося трансформатора? И схема может чуток упроститься.
Это довольно медленный компаратор и для практического измерителя угла положения СКВТ следует применить более быстродействующий компаратор.
Уменьшить резисторы R11 и R12? Вплоть до 10 раз?
В готовой конструкции меньшее зло - операционник с дополнительными эмиттерными повторителями. Подмагничивания надо избегать - нелинейность намагничивания магнитопровода будет давать погрешность.
Я думаю, неодинаковость может вызвана разбросом входных токов и напряжением смещения компаратора.
Как ни странно, но уменьшение R11 и R12 только затянет фронты, это сказывается нехватка усиления компаратора по току. Первоначально стояли 3,3кОм, увеличил до 10кОм. Это практически операционный усилитель без выходного каскада и генератора тока. Лучше компаратор МАХ942 поставить, он и точнее и гораздо быстрее.
Из-за особенностей работы конвейера ARM Cortex-M3 при возврате из прерывания эта команда не успервает дойти до исполнения и несброшенный флаг снова вызовет прерывание! Обязательно нужно оставлять минимум одну операцию после сброса флага прерывания в конце функции.Для этого у ядра есть барьеры DMB/DSB/ISB. В этом контроллере с коротким конвейером достаточно и пары команд перед выходом, но приучайте себя писать правильно, потому что в контроллерах посерьёзней конвейер побольше, и там так просто не прокатит.
с учетом патовой ситуации на рынке импортных микросхем отечка видимо становится актуальнее, к тому же на сайте миландра анонсировано, что опытные образцы бесплатно...
ps: посмотрел характерстики, вполне универсальный контроллер... даже удивило, что он есть, для автоматики пойдет...
летом этого года прошла серия изделий на К1986BE4 и вся обвязка память, флеш, интерфейсы миландра - полёт нормальный, проблем с поставкой не было, но может быть на серии тысячи штук и есть проблемы...
тут летом stm32 китайцы уже заменили на свои процы в части изделий, так как на их рынок их не хватает...
имеет два основных преимущества — русскоязычную документацию и выявившуюся повышенную устойчивость тактового генератораНасчет генератора не скажу, но документация иногда написана так, что думаешь «уж лучше бы не переводили, на английском понятнее»
Немного не в тему, наверное, но возможно ли построить схему расчёта на высокой скорости на ПЛИС? Дабы контроллер выполнял по тактам не только расчёт угла поворота, но и мог хоть как-то их передавать.
И в догонку - математический сопроцессор (отдельно или внутри корпуса) как-то увеличит скорость расчётов?
На ПЛИС можно практически полностью упаковать весь аппаратный контроллер СКВТ. Синусная таблица, два дельта-сигма ЦАП, счётчики, регистры захвата и генератор двухфазных импульсов для эмуляции энкодера. Процессор будет только забирать данные. Но ПЛИС нужна минимум МАХ-II. Дельта-сигма ЦАП я для экспериментов с микрошаговым контроллером брал из статьи на Марсоходе, сигнал явно лучше, чем ШИМ.
Математики в моём примере сложной нет - хватает штатной целочисленной арифметики. Поэтому с сопроцессором будет больше накладных расходов, чем выигрыша.
Измерение положения ротора СКВТ с помощью микроконтроллера K1986BE92QI