Leave a comment

Comments 271

ex0_planet June 2 2020, 19:28:03 UTC
Я считаю, что ничего страшного не происходит. Всегда есть прототип, который потом более или менее выкидывается и делается нормальное железо/софт с учётом ошибок предыдущего. В корзину при этом идёт только железо, которое восполнимо. А опыт остаётся навсегда ( ... )

Reply

leoniv June 2 2020, 20:23:21 UTC
Вы правильно сказали, требуется именно "положительное подкрепление", а то постоянные неудачи вгоняют в тоску. Перед подходом к БУ была попытка сделать контроллер ведущего двигателя, и тоже наполовину неудачная. Отложил. Вроде, не берусь за сложные проекты. Но все равно сплошные неудачи ( ... )

Reply

ex0_planet June 3 2020, 11:59:24 UTC
Чем бардачней код, тем он гибче, и наоборот.

Совершенно необязательно. Дополнительные абстракции за тем и нужны, чтобы не писать всё на логике низкого уровня.

Reply

leoniv June 3 2020, 15:18:05 UTC
Типа да. Тоже пытаюсь пойти по этому пути и делаю всякие оберточки. Только плохо получается.

Reply


balmerdx June 2 2020, 20:16:45 UTC
Лично я за STM32. Раньше не писал, так как боялся холивара Atmega vs STM32.

Я программировал и на том и на другом. Моё мнение однозначно - у Atmega ADC считай что и нету.
Причем на STM32 (начиная с STM32F3 и выше) можно использовать float без опасений за производительность.

STM32H750VBT6 стоит 250 рублей, а это честные 400 МГц частоты и довольно быстрый (хотя и кривоватый) 16-ти битный ADC.

Reply

leoniv June 2 2020, 20:38:01 UTC
Программировать STM32 намного сложней и неприятней. В этом магнитофоне STM32 заложен в измерителе уровня (из-за АЦП), потихоньку им тоже занимаюсь. Очень трудно себя заставить ворошить эти тонны документации, к проекту не хочется подходить из-за процессора. Ничего общего у такого программирования с получением фана нет. Поэтому стараюсь такого избегать и где только возможно ставлю AVR.

Второй момент - нет гарантии, что проблемы в САР натяжения из-за скорости процессора или из-за плохого АЦП. Чисто в теории все должно работать и на AVR. Хотя уже почти уговорили попробовать сделать макет САР натяжения на STM32F100.

Reply

balmerdx June 2 2020, 20:50:17 UTC
Эх, я вспоминаю STM32 с ностальгией. Там всё такое простое. Если пользоваться стандартными библиотеками - почти не приходится в детали вникать.

Мне вот скоро придётся портировать код с Cyclone IV на Zync XC7Z010. И плату под BGA256 (или BGA400) разводить :)

Reply

leoniv June 2 2020, 21:03:53 UTC
Не все люди одинаково умные. Что для одних просто, для других невыполнимо.

Reply


nest_and_art June 2 2020, 20:56:59 UTC
не надо ничего много добавлять. оставить старый функционал и не морочиться с блоком управления.
ну чуть подправить некоторые части.

а то "усовершенствованный" магнитофон превратится в современную балалайку.

Reply

leoniv June 2 2020, 21:05:36 UTC
До современной балалайки очень далеко. Дополнительный функционал не выходит за рамки того, что было в фирменных магнитофонах 80-х.

Reply


anonymous June 2 2020, 21:29:39 UTC
Почему Вы закрываете для меня в который раз мою ветку комментариев? Если я тут мешаю, так скажите прямо и я больше не буду никогда тут писать.

А теперь по делу, "но качество регулирования натяжения ленты не требуется какое-то рекордное"...

Речь не о рекордах, а о том, что в данном случае ПИД-ом поддерживается мгновенная величина, если бы нужно было поддерживать среднюю величину, было бы все прощще. Мешают артефакты цифрового ПИД, использование которого в данном месте я считаю инженерной ошибкой.

Reply

leoniv June 2 2020, 21:47:08 UTC
А что такое "закрываете ветку комментариев"? Это как? Я ничего не делаю.

Любая САР имеет ограниченное быстродействие и подавляет возмущения только в какой-то полосе частот. Тут сама механика является фильтром, выше 20 Гц практически ничего нет. Цифровой регулятор работает с частотой дискретизации 250 Гц, есть основания полагать, что в полосе до 20 Гц он справится. Не вижу инженерной ошибки в выборе типа регулятора, ошибка скорее в его конкретной реализации.

Reply

anonymous June 2 2020, 22:15:03 UTC
"А что такое "закрываете ветку комментариев"? Это как? Я ничего не делаю."

Выгладит это так: в начале топика моё сообщение, первое. Сейчас, если я нажимаю там репли, то ничего не происходит, сайт не пускает меня отправить новое сообщение в эту ветку. Я предположил, что Вы заморозили обсуждение в этой ветке как хозяин своего блога. Возможно, это не так. Заранее извиняюсь за подозрения.

По делу. К сожалению, я пока не могу заняться своим полусделанным проектом с ПИД, поддерживающем мгновенную точную температуру тоненькой спиральки(а это скорости повыше чем в ЛПМ). ПИД там сделан цифровым на СТМ32 по необходимости, ибо для аналоговой схемы тупо нет места. Работаю щас "на дядю", поэтому другими делами загружен.

Но, я достиг примерно таких же результатов, как и у вас, и поимел те же проблемы, какие вы тут и описываете. А именно, при поддержании средней величины, нагреватель там, и тд.. ПИД в цифре работает отлично, но при поддержании мгновенной величины цифровой ПИД уступает аналоговому.

Reply

leoniv June 2 2020, 22:25:36 UTC
Это какой-то глюк. Вообще, есть возможность комменту сделать Freeze, но я ни разу этим не пользовался. Тогда слова Reply там вообще не будет.

Вопрос с ПИД, как я понимаю, чисто количественный. Для быстрых процессов нужна повыше частота дискретизации.

Reply


snowps June 2 2020, 21:42:24 UTC
Когда в блоке есть несколько слабозависимых рилтаймовых функций, удобнее всего сделать так, как делали в студийной и промышленной технике: каждая функция - свой блок. Сделать блок управления в виде кросс-платы с контроллером, который занимается исключительно логикой управления, а на ней несколько мезонинов со своими микроконтроллерами, реализующими какую-то функцию, никак не пересекающуюся с кодом других блоков. Не понравился вариант управления - поменял мезонин и всё, не надо заново проектировать весь БУ. :)

Reply

leoniv June 2 2020, 21:56:04 UTC
Есть такой вариант, но тут это слишком.

Reply


Leave a comment

Up