44

Слава роботам! Оно заработало!

Серия Новый астротрекер не совсем из говна и палок

Итак, хорошие новости. Вчера как следует загуглил проблему своего тупящего трекера, а именно - судорог двигателя и отсутствия вращения.

В процессе гугления местный ИИ (Gemini), которого я попросил проанализировать скетч автора OG трекера, сообщил, что в коде есть ошибка и один недостаток, смотрим сюда:

const int EN=2; //ENABLE PIN

const int Step=3; // STEP PIN

const int dir=4; // DIRECTION PIN

void setup()

{

pinMode(EN,OUTPUT); // ENABLE AS OUTPUT

pinMode(dir,OUTPUT); // DIRECTION AS OUTPUT

pinMode(Step,OUTPUT); // STEP AS OUTPUT

digitalWrite(dir,HIGH);

}

void loop()

{

digitalWrite(dir,HIGH);

digitalWrite(Step,HIGH); // STEP HIGH

delay(66.48 ); // WAIT

digitalWrite(Step,LOW); // STEP LOW

delay(66.48); // WAIT

}

Что мы видим?

Задействованы пины D2...D4 для выходов Enable, Step и Direction соответственно.

А дальше?

Смотрим Void setup и видим, что несмотря на то, что пин D2 у нас - Enable, функция выходу не придана.

А TMC2209 любит, когда сигнал с пина Enable имеет значение LOW. А у нас никакого значения нет.

Я провел опыт, отсоединив провод от пина Enable и мотор вовсе заглох (что странно, т.к. без управляющего сигнала этого выхода все равно что нет).

Чтобы это исправить, вставляем перед строчкой digitalWrite (dit, HIGH) строчку digitalWrite (EN, LOW)

На выходе имеем:

const int EN=2; //ENABLE PIN

const int Step=3; // STEP PIN

const int dir=4; // DIRECTION PIN

void setup()

{

pinMode(EN,OUTPUT); // ENABLE AS OUTPUT

pinMode(dir,OUTPUT); // DIRECTION AS OUTPUT

pinMode(Step,OUTPUT); // STEP AS OUTPUT

digitalWrite(EN, LOW);

digitalWrite(dir,HIGH);

}

void loop()

{

digitalWrite(dir,HIGH);

digitalWrite(Step,HIGH); // STEP HIGH

delay(66.48); // WAIT

digitalWrite(Step,LOW); // STEP LOW

delay(66.48); // WAIT

}

Обратите внимание, что вместо просто delay, измеряемой в миллисекундах у нас написано delayMicroseconds и указано число в 1000 раз большее.

По мнению Gemini это должно уменьшить накапливаемую ошибку ведения, т.к. дробные значения контроллером округляются и ошибка возникает.

С другой стороны, такое большое значение в микросекундах плохо воспринимается Ардуиной, хотя, как говорится, если нельзя, но очень хочется, то можно - в простых скетчах такое делать не возбраняется. Как это будет работать - проверим позже, на натуре.

ВАЖНОЕ ДОПОЛНЕНИЕ:

Всё-таки код в этой части лучше не трогать. В случае микросекунд вращается слишком быстро.

КОД ВЫШЕ - ПРАВИЛЬНЫЙ И 100% РАБОЧИЙ!!! Все ошибки исправлены.

Ну и вишенка на торте, главная причина тупизны - это разное расположение контактов на шлейфе мотора и на колодке драйвера. Каюсь, моя вина, не подумал даже, что у разных моторов и плат расширения для драйверов разное расположение контактов, а вот поди ж ты.

Разобрал штекер, переставил контакты, все заработало ровно и тихо. Ура, я молодец! Ну и все, кто помогал советами в комментариях к предыдущему посту - вы крутые, спасибо!

Вечером соберу трекер обратно (пришлось разбирать) и буду ждать неба!

P.S.: по дурости чуть не спалил Ардуино. Когда засовывал ее в кроватку, то ошибся на зуб и она сдвинулась. Появился дымок, но я вовремя отрубил питание и ничего не успело сдохнуть.

Слава роботам! Оно заработало!

Исследователи космоса

20.2K постов49.7K подписчиков

Правила сообщества

Какие тут могут быть правила, кроме правил установленных самим пикабу :)

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества