Jump to content

El-Shang

Members
  • Content Count

    158
  • Joined

  • Last visited

Everything posted by El-Shang

  1. Никоим образом не претендую на лавры крутого АСУшника, но я к решению таких задач подходил предельно просто (условимся, что автор пытается управлять угловым положением ротора двигателя): зануляем интегральную и дифференциальную составляющие; устанавливаем какую-то пропорциональную составляющую; смотрим, как система себя ведёт при ступенчатом воздействии, таковым можно считать переход уставки угла из минимального в максимальный; если при данной пропорциональной составляющей фактический угол не достигает заданного — несколько увеличиваем её и возвращаемся к предыдущему шагу; если наблюдаются колебания — уменьшаем пропорциональную составляющую; повторяем шаги 3 - 6 до тех пор, пока установившаяся ошибка не станет минимальной, сохраняя переходной процесс апериодичным (без колебаний); теперь аналогичным образом работаем с интегральной составляющей, устанавливаем некое произвольное значение; опять применяем ступенчатое воздействие и смотрим, как ведёт себя система; если установившаяся ошибка слишком медленно уменьшается до нуля — увеличиваем интегральную составляющую; если наблюдаются колебания — уменьшаем интегральную составляющую и/или пропорциональную; повторяем пока не достигнут желаемый результат; Данный подход, безусловно, не даст оптимальный результат. Ибо все эти коэффициенты зависят от массы параметров (температура окружающей среды, напряжение питания, температура самого двигателя, износ механических частей, погода на Юпитере). Как-то раз пришлось собрать целый стенд для того, чтобы подобрать лучшую комбинацию параметров для диапазона температур 0 - 60 градусов и минимальной и максимальной нагрузки. Тем не менее для большинства задач, не требовательных к точности или скорости регулирования он вполне подходит. Рассчитать же его по науке... Ну не знаю, тут надо иметь довольно специфический опыт и знания. Привести электрические, механические и прочие компоненты системы к единой математической модели, рассчитать её передаточную функцию, чтобы потом наконец получить оптимальные коэффициенты ПИД... Пожалуй, это высший пилотаж. А в целом, почитайте вот этот аппноут от бывшего атмэла. Там приведенный мною алгоритм (Ziegler-Nichols) как раз и описан. Правда в чуть более сложной форме.
  2. Да как сказать. Приводить в качестве примера технологию, на которую были потрачены годы и миллионы (если не десятки миллионов) долларов? Очевидно же, что человек, которые приходит на радиолюбительский форум с таким вопросом даже близко не понимает, что необходимо для решения надуманной им проблемы. Иначе бы он: а) искал бы готовое решение и в итоге бы пришел к упомянутому Вами стандарту; б) изменил бы свой подход к решению обозначенной задачи; Так что "нет и никогда" вполне достаточно. :-) Проще поставить два готовых блютуса. И написать "мост", реализующий обмен между двумя (или сколько там) узлами. Мышки имеют мерзкое свойство работать по проприетарному протоколу по радио — у одних производителей он один, а у других — другой. Плюс на стороне USB там HID-устройство, а оно довольно неторопливое по своей сути. Хотя для низкоскоростного обмена вполне покатит.
  3. @Lexter, хорошо, я внесу уточнение. В том виде, как автор себе представляет работать не будет. Не удастся ему в кустарных условиях на двух микроконтроллерах (даже тип указан NRF24L01) напрямую передать данные между двумя узлами посредством радио без промежуточной обработки данных. Сравнение же с Wireless USB некорректно.
  4. Оно не будет работать. Никогда. :-) Банально по той причине, что передача по радио крайне ненадёжна по своей сути. Кто-то где-то включил вай-фай, блуютус, просто прошёл мимо. Молния бахнула в конце концов. И всё, пакет потерян или искажён. Возможности USB в детектировании ошибок крайне ограничены. Если мне не изменяет память, там CRC-5 используется как минимум для части пакетов. А ещё придётся реализовывать перестройку частоты, ибо в одних условиях будет менее захламлён один диапазон, а в других — другой. А ещё надо будет потратить время на отправку по радио, а потом ещё раз отправить по USB уже целевому устройству, а потом всё повторить в обратном порядке. И уложить это всё аккурат в те тайм-слоты в которых хост будет ожидать данных. Не забыв заранее его уведомить, что данные надо будет ожидать в следующий раз (может быть). Ну и так далее и тому подобное. ;-)
  5. Вставлю пять копеек и настоятельно порекомендую автору сего не делать. Условия эксплуатации электроники в автомобиле крайне жёсткие. Компоненты, которые можно использовать в этих приложения проходят соответствующую сертификацию, софт пишется по специальным правилам, а готовые модули собираются по полагающейся технологии. Обычная девборда (на которой не факт даже, что все компоненты хотя бы в industrial исполнении, ибо она должна быть дешёва) просто не выдержит такого издевательства на протяжении сколь нибудь значимого времени и её поведение будет непредсказуемо. Отвалится Ваша педаль во время совершения обгона и что будете делать? Но это сугубо моё скромное мнение. :-)
  6. А что с ним не так? Ступеньки что-ли большие? Можно предположить, что теряется один или несколько младших разрядов АЦП. Звоните от него до управляющей схемы (кто там? ПЛИС? микроконтроллер?). Вдруг где брак пайки или что-то в этом роде. Но для начала было бы неплохо узнать, откуда берётся сей замечательный тестовый сигнал. Уж не с китайского ли генератора? Коли так, рекомендую сначала подключить его к выходу звуковой карты и любой понравившейся программой сгенерировать синус там.
  7. Что ж, хозяин — барин, как говорится.
  8. Ну вот почему не прикрепить исходник, а? Вместо этого "упрощённо в цикле". А то, знаете ли, бывает скобку не там закроешь и всё, пиши на деревню дедушке.
  9. Да у автора там какой-то бардак, судя по всему. Если бы у него на выходе были 220 мкф, или сколько там, то он не получил бы тех графиков, которые приводил в самом начале. :-) Видимо, он что-то отключает, кого-то смотрит, потом подключает ещё раз и снова смотрит. Не забывая удивляться между всем этим. На деле же отладка этого изделия не так сложна: подаём на вход АЦП какую-то известную постоянную, скажем, соответствующую одному амперу: отлаживаем расчет среднеквадратичного значения, он должен насчитать ровно один ампер; выполняем несколько контрольных измерений для значений больше/меньше выбранного, допустим 1.5 и 0.5 Ампера; убедившись, что на постоянке всё работает переходим к испытаниям на переменке; берём резистивную нагрузку, и измеряем/рассчитываем ток, который через неё протекает, обычного мультиметра тут вполне достаточно, пусть он и будет врать в пределах 5-ти процентов; смотрим, что "намерял" ранее отлаженный на постоянке алгоритм, вносим правки, скажем, меняем время интегрирования; при возникновении сомнений возвращаемся к шагу 1; последующие шаги опциональны и зависят от личной "упоротости", перфекционизма и желания достичь "правильного" результата ;-); собираем макет реактивной нагрузки, диодный мост, конденсатор, резистор; рассчитываем RMS импульса тока, возникающего при зарядке конденсатора при данных условиях; подключаем наш измеритель и сравниваем с расчетным значением; радуемся или огорчаемся; В общем, очень важно заиметь контрольную точку, в которой точно всё работает, дабы потом можно было понять что пошло не так и на каком шаге в дальнейшем. И продвигаться от наиболее простого и предсказуемого сценария к наиболее сложному. А иначе это будет просто хаотическое метание в темноте. Всех благ!
  10. Какие пульсации, кого сгладить, график чего? :-) Схему и исходиники в студию, тогда можно будет предметно говорить, а не гадать на кофейной гуще.
  11. Почему беда? Это как раз то, что требуется. Куда поставили? И как это должно влиять на расчёты? :-)
  12. Ну как... По формуле из википедии: Интеграл квадрата тока с точки зрения программы считается просто как сумма квадратов отсчетов АЦП за некоторое время. Частота оцифровки должна в 20-50 (а лучше в 100) раз превышать максимальную частоту сигнала. Последняя в данном примере может показаться быть равной 100 Гц, но на деле она раз в 10-20 больше, так как в ряде приведенных примеров ток потребляется короткими импульсами, у них спектр шире. Впрочем, судя по Вашим графикам с оцифровкой всё в порядке, так что нужно проверить алгоритм расчёта.
  13. Заряжается. Но напряжение на нём будет ограничено падением на базо-эмиттерном переходе транзистора. Как только оно достигнет ~0,5 - 0.6V заряд конденсатора прекратится и весь ток потечёт туда. А это вполне безопасное для него значение.
  14. Как могу, так и высказываюсь. Я для того на этот форум и заглядываю периодически, чтобы закон Ома, точности и прочие прелести не забыть за строками кода. :-)
  15. А Вы уверены, что он под "точностью" не понимает просто "младшую цифру" на индикаторе? ;-) Я вот нет. Что и озвучил несколько ранее.
  16. Так я говорю о разрешающей способности, а не о точности. :-)
  17. А, так вот в чем дело. Тоже метод, почему нет. Но вангую, что если flprog копнуть чуть поглубже, то там тоже найдётся тот или иной конфигуратор широтно-импульсного модулятора. Гугл в помощь, тут уж я "ни бум-бум", ибо старовер, сишками на хлебушек зарабатываю. :-) По диоду, если считать очень и очень грубо, то: P = U * I 450 = 220 * I I = 450 / 200 I ~= 2.05 [А] Это приблизительный номинальный ток двигателя. Диод должен быть на не меньшее значение. Ну лучше брать с запасом раза в 3, чтобы точно выдержал пусковые токи, хотя они и кратковременны будут. Соответственно - 6 ампер должно хватить.
  18. Кто Вам такое сказал? :-) Потому что пресловутый analogWrite больше ничего не умеет? Вам нужно просто чутка погуглить в Сети, как вручную сконфигурировать бортовой ШИМ-модуль. Там буквально 10 строк кода будет. Да, и 16 КГц в зависимости от конкретного транзистора может быть многовато. Высоковольтные экземпляры, как правило, далеко не такие шустрые, как их младшие собратья.
  19. Я бы поостерёгся устанавливать дополнительные реактивные компоненты вместе с двигателем (особенно конденсаторы, за исключением небольших искрогасящих). Чёрт его знает, какие там будут переходные процессы и/или резонансы после этого. А в Вашем случае проще всего будет, мне кажется, во-первых, поднять частоту ШИМ'а, а во-вторых поставить электролит (даже не один) непосредственно после диодного моста. Только будьте осторожны, при это значительно вырастут пиковые токи, протекающие через мост. Да и ограничитель пускового тока может понадобится. Обратный диод параллельно двигателю должен быть сохранён, разумеется. Таким образом Ваш двигатель будет питаться от более-менее постоянного (сглаженного), а не пульсирующего с частотой 100 Гц напряжения. Кстати, скорее всего именно "нарезка" последнего ШИМ'ом и даёт пресловутый вой — частоты довольно близки, так что в итоговом спектре будет куча и основных частот и гармоник и биений и всего чего хочешь. Воистину какофония. А увеличение частоты ШИМ'а (даже до 2-х килогерц) уменьшит амплитуду пульсации тока, и акустического шума как следствие.
  20. Я думаю, что автор имеет ввиду вольтметр встроенный в клещи. Но ему для начала нужно сообщить, что именно он понимает под "точностью": разрешающую способность или же, собственно, абсолютную точность. Потому что в первом случае вольтметр будет показывать, скажем, 3.654 вольта, но абсолютное будет 3.711. При этом он по-прежнему будет в состоянии фиксировать изменения в младшем разряде. Для качественных измерений вполне подойдёт. Плюс автору надо сказать, на каком пределе измерений ему надо такую точность иметь. Если на 400 милливольтах, то это одно, а если на 400 Вольтах, то это совсем другое. А так вот, народная продукция от UNI-T UT213C. 4000 разрядов, на пределе в 4 вольта выдаст искомые 1 милливольт.
  21. Для контроля печатных плат используются системы технического зрения, а не "карты высот". А это по сути обычная камера (правда, в соотвутствующем исполнении) + программное обеспечение. Используются сплошь и рядом. Как пример — продукция фирмы Erza. И нет, в виде "модуль для ардуины" таких систем в природе не существует. :-) При наличии огромного запаса времени и желания можно попытаться разобраться в пакете OpenCV. К услугам также LabVIEW.
  22. Сколько экспрессии! Галимый китайский шнур, коммерческое дерьмо... Не хотите иметь дело с заброшенными стандартами — не покупайте мамонтов. Я лично этот разъем видел лишь однажды в составе буржуйского монетоприёмника. Отдельно "верхнюю часть" вы не найдёте и не купите. Тем более в местном радиомагазине, где, дай бог, хотя бы USB-OTG был в наличии. Ибо объёмы их продаж будут настолько мизерными, что просто не окупят логистику, хранение и прочее. А ещё она конструктивно неотделима от нижней. :-) Это как просить левые два пина от обычного USB-ного разъема. Кому надо (а это как раз производители подобного оборудования) — покупают готовый кабель и не торгуются за 16 долларов. Так что коли жаба — ковыряйте свой POS, сверлите корпус и крепите к нему подходящий разъём. Стоит ли эта овчинка выделки — вам решать.
  23. Есть у меня глупая идея. Озвучу, пусть меня поправят товарищи, более сведущие в аналоговой схемотехнике. Почему бы не собрать генератор шума на том-же стабилитроне и не подать его на исследуемый LC-контур? Если у последнего достаточно высокая добротность, то он как раз должен выделить свою резонансную частоту, которую можно будет посмотреть тем же осциллографом.
  24. Тоже пришла в голову эта идея. Но просто с кнопкой едва ли будет нормально работать. Она будет звенеть, искажая ожидаемые затухающие колебания. Тут нужен генератор коротких импульсов с очень крутыми фронтами. А с условной кнопкой можно будет померяться таким спобосом относительно низкочастотные контуры, тут же речь идёт о единицах мегагерц уже.
×
×
  • Create New...