Search
Write a publication
Pull to refresh
11
0

Пользователь

Send message
По поводу нейронных сетей согласен, это конкретная реализация того, что мы называем ИИ. Но у Винджа ИИ вообще отсутствует. Как-то не хватает :) Я хотел сделать акцент имменно на этом, а не на самих нейронных сетях.

Что касается фантастики о технологиях, то тоже согласен, в той части, которая касается реализации тех или иных решений. Но технологии меняют жизнь людей, предоставляя им те или иные возможности. Суть хорошей фантастики о технологиях, как мне кажется, в том, чтобы предсказать как изменится жизь (поведение) человека, когда появятся эти самые технологии, то есть о применении технологий. Жюль Верн, это хорошая фантастика (если рассматривать ее в разрезе технологий) или нет?
Галактическое вещение Кенг Хо у Винджа — очень интересная мысль. Опять же, речь о применении технологии.

Но это все не о программировании. А заметку я написал под впечателением от той картины программиста-археолога из далекого будущего, которую нарисовал Виндж. Описание показалось мне очень близким (уверен, не только мне). Проекция из прошлого на далекое будущее и галактический масштаб, хотя на деле мы уже сталкиваемся тем, о чем пишет Виндж. Опять таки, не о технологиях речь, а о людях :)
Добрый день!

Но на сколько я понимаю, положение между зубцами (я так понимаю речь идет и токе в обмотках на разных фазах) — положение устойчивого равновесия. Именно поэтому ШД и делает шаг

да, все верно.

Кроме того, на практике я наблюдаю, что если после пропуска шагов какой-то последующий будет бОльший, как бы компенсирующий. Это так?

Сомнительно, скорее всего на пропущенном шаге создалось напряжение, которое на удачном шаге разрядилось.


Если говорить о полных шагах — беспорно, но внутри шага… Если для каждой фазы внутри полного шага положение устойчивого равновесия одно единственное, это как раз все объясняет. И тогда получается что пропуск микрошага не так страшен как пропуск полного шага, ибо нагоним позже, когда хватит крутящего момента. В общем, надо еще поэкспериментировать и поизучать этот вопрос.

3. А градиент? Если воздух в трубе разогрет неравномерно и градиент достаточно высок, коэффициент преломления будет различным, отсюда эффекты сродни астигматизму. По крайней мере так я понял понятие «термоклина».
Хотя конечно Вы правы в том, что в «наших палестинах» на фоне крайне нестабильной и грязной атмосферы это все может быть не заметно.

4. Чтобы посчитать площадь, надо знать диаметр (ну или радиус), поэтому я и спросил как вы его меряете :)

2. Вы имеет ввиду крайние положения фокусера? Соответственно, в этом положении максимальный перекос и как следствие максимальный требуемый крутящий момент?

Честно говоря, я еще не дошел до таких высот, чтобы рассчитывать поле ШД :)
Но на сколько я понимаю, положение между зубцами (я так понимаю речь идет и токе в обмотках на разных фазах) — положение устойчивого равновесия. Именно поэтому ШД и делает шаг. Кроме того, на практике я наблюдаю, что если после пропуска шагов какой-то последующий будет бОльший, как бы компенсирующий. Это так?

3. По поводу градиента температур — Павел как-то на асторофоруме писал про «термоклин (неоднородность воздуха в трубе телескопа), которые дают эффект, аналогичный астигматизму». Соответственно я боюсь не неравномерного расширения металла трубы, а нагрева воздуха в трубе.

4. По поводу дифракцинной картины — я как раз и имел ввиду разность в визуальном размере из-за того, что крылья гауссианы будут накрыты фоном, поэтому яркие зведы как бы больше. Теперь понятно. То есть расфокусируем значительно сильнее, чем до четкой дифракционной картины. А чем потом измеряете диаметр?

Очень просто, не занимаюсь на работе личными делами :) Ну или почти не занимаюсь :) А если есть что-то срочное, что нужно сделать, скажем в обеденный перерыв или просто в течении дня — в гугловский календарь :)
Я как-то незаметно для себя и очень быстро пришел к аналогичной схеме работы:
  • Никогда ничего не разбирал во входящих
  • Активно использую контексты, которых не больше, чем может поместиться на экране наладонника
  • Активно использую цели и срок выполнения
  • Использую два профиля: работа и личное
Спасибо большое за комментарий!
Не совсем с Вами согласен, поэтому давайте подискутируем.

1. По поводу важности пропуска шагов я уже отмечал. Если есть обратная связь в виде человека, корректирующего точность фокусировки — пропуск шага не играет принципиальной роли. Ну шагнем еще раз. Неудобно, но не критично.

2. Что касается причины пропусков. Шаговик пропускает не потому, что ему так хочется или он такой плохой, а потому, что ему не хватает крутящего момента. О том, что крутящий момент ШД в режиме микрошага может быть существенно меньше номинального я указывал. О том, что в разной фазе полного шага крутящий момент разный – тоже предупредил. Хотя в сети можно найти примеры, когда в режиме микрошага крутящий момент увеличивался, а не уменьшался! Например тут или вот тут (сам не проверял, ручаться не готов). Так что тут не все так однозначно.

Итак, пропуск шага происходит по причине нехватки крутящего момента. Нехватка крутящего момента может быть обусловлена двумя причинами:
  • Падение мощности двигателя;
  • Увеличение силы трения на фокусере и валу самого двигателя и как следствие, увеличение требуемого для проворота крутящего момента.

Соответственно наличие пропусков определяется соотношением этих двух моментов – выдаваемого и требуемого.

Совершенно очевидно, что при отрицательных температурах сила трения на подвижных механических элементах конструкции фокусера может сильно увеличиться (особенно если это рефрактор с длинным фокусером простой конструкции типа «труба в трубе», а не фокусер Крейфорда на подшипниках), и для проворота нужен будет заметно больший крутящий момент. На валу ШД сила трения тоже увеличится, но я уверен — она несопоставимо меньше силы трения на самом фокусере (хотя конечно по-хорошему, надо провести эксперимент).

Честно признаюсь, я не знаю, как влияет мороз на индуктивность обмоток. Но не думаю, что в худшую сторону. Есть еще какие-то причины снижения мощности ШД на морозе? Попробовал поискать в Интернете, сходу – безрезультатно.

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

Поэтому я считаю, что в данном случае ШД вполне подходит, а проблема пропуска шагов — это проблема правильного подбора ШД и режима работы. Так, чтобы мощности ШД хватало для того, чтобы во всех ситуациях выдавать достаточный крутящий момент. Рекомендация работать в режиме 1/2 микрошага не может быть универсальной, все зависит от конкретного двигателя и соотношения его крутящего момента с необходимым. Тем более, что режима 1/2 может не хватить по точности позиционирования.

Честно говоря, фраза «Более того, положение в микрошаге неустойчиво и любое дуновение способно провернуть ротор» меня очень смущает. Складывается ощущение, что у вас ШД вообще без запаса по крутящему моменту был выбран, если его порывом ветра можно было сместить. И что это за фокусер такой, если не секрет? Мне очень сложно представить себе такой порыв ветра, который мог бы как-то сместить фокусер (даже без двигетеля). Разьве что вместе с монтировкой и наблюдателем :) Раньше начнутся проблемы с жесткостью монтировки, тут уже не до фокусера будет.
Тем не менее, вопрос устойчивости положения ШД в разных фазах полного шага надо изучать, у меня нет точных данных. Хотя с другой стороны, надо ли? Об этом в следующем пункте.

Приведу конкретный пример. МАК 127, необходимый крутящий момент фокусера при комнатной температуры около 0,4-0,5 кг/см. Я взял ШД с номинальным крутящим моментом 1,2 кг/см. Прекрасно работает в режиме 1/16 без пропусков. Проверял вплоть до температуры -5 С (ниже пока не было). А первый ШД, который я попробовал использовать на этом телескопе имел номинальный крутящий момент 0,5 кг/см. И тоже прекрасно работал на 1/16 микрошага при комнатной температуре. Но начинал пропускать шаги при малейшем перекосе! При этом изменение режима микрошага существенно ситуацию не изменяло.

3. Касаемо снятия напряжение при бездействии. Я подробно об этом написал в статье. Я считаю, что если конструкцией фокусера предусмотрен механический фиксатор — лучше воспользоваться им. Во-первых, это самый надежный вариант как ни крути. Во-вторых, экономим запас батарей. В-третьих, признаться я несколько обеспокоен наличием греющегося элемента (мотора) в непосредственной близости от телескопа или непосредственно на нем. Если от ШД будет нагреваться труба фокусера, а тем паче – труба телескопа, еще неизвестно что хуже, нагрев или расфокусировка. Но практического опыта у меня нет, так что это только опасения. Свои ШД я старался подбирать так, чтобы они грелись не сильно. Мой опыт работы с МАКом и рефрактором говорит, что температурный градиент – это очень плохо. Для той же фокусировки. В четвертых, можно не беспокоиться по поводу устойчивости удержания положения ШД, если есть такие опасения. Если механического фиксатора нет, мотор греется не сильно и питание постоянное (а не от АКБ) — я конечно двумя руками за непрерывное удержание.

4. По поводу методов фокусировки. Спасибо, интересный метод. Я пользуюсь маской Бахтинова, оцениваю точность на глаз по положению среднего луча. Единственное, что меня смущает: что значит «все звезды были одного размера»? Мне казалось, что размер дифракционной картины зависит от яркости звезды. Или там зависимости нелинейная и в определенный момент различие не существенно?

И еще раз спасибо за комментарий. Выбор ШД — очень важный этап.
Да я в общем-то не спорю. Правда последние два пункта в данном скетче не актуальны.
Заменил объявление с констант на enum, скомпилировалось вообще без правок. Да и править особо нечень, к IsRolling всего два обращения в Loop().

Спасибо большое за комментарий!

1. Да, согласен, как-то я не подумал. Поправил, обновил.
2. Одно или два места — это неаккуратноть при рефакторинге, изначально у этого флага было только два состояния. Есть похожий флаг IsRollingToNewPos, он бывает только HIGH и LOW.
3. Думаю, что можно. Причина опять таки банальна — когда-то раньше состояний было два, а не три. Кроме того, enum удобен, когда значений много и по ним нужно делать перебор. Честно говоря, мне как-то и в голову не пришло его в этом месте использовать.
Все, разобрался… Больше не дергается. Ну что, двойка нам всем!!!
Столько времени потратили, а ответ оказался абсолютно скучным и не интересным :( Поражаюсь, почему я раньше то этого не заметил!
Не надо по возможности использовать 13-ый пин на Arduino Uno. На нем висит светодиод, которым ардуинка три раза моргает в процессе загрузки. И похоже происходит это все еще до того как код прошивки вообще получает управление. Step и Dir висят в воздухе, не инициализированы, там конечно шумы и наводки и в это время Ардуинка сама три раза дергает 13-ый пин. Вот и и получается дерганье. Даже если подтянуть Enable к плюсу. В процессе прошивки наблюдается тоже самое. Правильно рассужда?

В общем завел Enable на 3-й пин — все прекрасно! Тишина и покой.
Вероятно идея заземлить Step тоже сработала бы. Но сейчас уже лень все назад перепаивать.
С грустью в душе пошел собирать девайс и исправлять схему.
Ага, хорошо. То есть, Sleep и Reset завожу через 10 кОм на землю и после инициализации поднимаю с МК, а Enable наоборот, завожу через 10 кОм на плюс и опускаю после инициализации, так?
По поводу инициализацйии — очень может быть, проверю. Скорее всего именно в этом дело, так как я сначала назанаю режимы всех пинов через pinMode(), а потом уже задаю уровни :(( Переделаю через обращение к порту.

По поводу управляющих сигналов — на сколько я могу судить по даташиту на А4988, все как раз наоборот (см. стр. 7 и 10). Для работы Sleep и Reset должны быть подняты, а Enable опущен. Видимо поэтому в даташите от Polulu и редлагается замыкать Sleep на Reset (который единственный болтается в воздухе). А Enable заведен на землю.
Так?
Ну, RTC уже есть и есть «штатный» метод синхронизации, так что пусть будут :) А по таймерам понял, с этого и начну.
Спасибо еще раз!
По работе с СОМ-портом — грубыми мазками все понятно, буду разбираться с UART`ом. Большое спасибо!

По поводу точного отсчета времени тоже вроде все понял. Мне нужно достаточно точно контролировать скорость вращения ШД на низкой скорости. Там, где это действительно важно — скорость достаточно низкая, я делаю примерно 50 шагов в секунду. В приципе, мне даже микросекундная точность не нужна, достаточно миллисекундной. Но RTC дает только целые секунды (в тех библиотеках, что я нашел), поэтому «влоб» перейти с micros() на RTC не получается. В общем, идея понятна — привязываюсь к RTC, а между импульсами с него считаю время описанным вами методом по прерывания. Тут конечно вопросы еще будут :) Спасибо, буду разбираться!
Спасибо! :)
Планирую, скорее всего сразу после нового года. Сейчас занимаюсь чисткой и оптимизацией. Задача оказалось на порядок (если не на два) сложнее и интереснее.
Посмотрел, спасибо. Цен особенно радует, из серии 3 штучи на десяточку :) Закажу.
Ага, очень интересно! То есть в общих словах, от Serial полностью не отказываемся, но вместо метода Serial.write() инициируем отправку напрямую через UART, отдавая данные через обработчик прерывания, так?

О, еще вопрос вспомнил! :)
Мне нужно очень точно измерять время в микросекундах. Пишут, что встроенные методы типа micros() не точные, особенно если МК сильно загружен (как раз мой случай, подозреваю). Попробовал RTC на DS3231 и DS1307. Все бы хорошо, но библиотеки, что мне удалось найти выдют время с точностью до секунды, а мне нужны микросекунды. Как раз сооружаю стенд, чтобы понять на сколько часы ардуино не точные по сравнению с RTC. И видится мне пока только один «штатный» путь — засинхрить ардуионвские часы с RTC и надеяться, что micros() от этого станет работать точнее (правда как проверить — не придумал). Куда посоветуете двигатья?
Пожалуйста, рад поделиться опытом. :)
Уже осенью сделал фокусер для МАК127, получилось даже изящнее. Крепление двигателя так же прямо на вал, соосное.

Честно говоря, механическая часть меня больше всего беспокоила (особенно на новеньком МАК127), но как оказалось все достаточно просто.
Спасибо большое за развернутый комментрий!
У меня просто пока эйфория от того, как все легко и просто получается :) Я лет 20 жил в виртуальном компьтерном мире (лет 10 работал прикладным программистом) и представить себе не мог, что смогу программировать на привычном С++ предметы реального мира :)
Да, я согласен с тем, что качество многих примеров, решений и библиотек оставляет желать лучшего и уж точно не может быть использовано в промышленном масштабе — сам натыкался на перепосты типа «библиотеку можно взять вот эту, но примеры там не рабочие» :) То есть не то чтобы не оптимальные, а вообще не рабочие! :)
С другой стороны, это же хобби :) Сообщество «не профессионалов».
Хотя, к слову о доме из лего, вот вопрос безопасности собственного дома меня очень беспокоит. Следующий проект — оранжерея для жены. Она будет работать 7х24. Там кроме пары десятков датчиков, еще и управление светом, а это 6 ЭПРА и нехилое тепловыделение. В общем, немного стремно. Буду с кем-нибудь консультироваться.

По поводу прямого программирования AVR — мне когда-то приходилось программировать на асме под 386/486, так что не думаю что меня AVR испугает. За совет и предложение спасибо — буду иметь ввиду! :) Пока у меня есть только одна проблема, которая поддталкивает к этому шагу. В дгуром проекте мне критически важно конролировать время выполнения опреция, Loop не должен быть дольше 130 микросекунд. И все бы хорошо, если бы не Serial — любая посылка — это 200-300 микросекунд. Причем, не важно какая выставлена скорость порта, сколько байт я пересылаю — 260-280 микромсекунд, если ничего не путаю. Подскажите куда двигаться?

PS Честно говоря, я тоже не очень то страдал перфекционизмом, когда работал над этим проектом, и код там еще чистить и чистить :)
1

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity