ARduino MEga 2560 + servo + IK
- Войдите на сайт для отправки комментариев
Передаю данные с последовательного порта с авиасимулятора, хочу сделать иммитацию прибора с помощью сервомашинки. Данные поступают нормально и стрелка отклоняется, но теряется начальное положение при старте и возникает вопрос как это сделать. Порылся на сайтах и нашёл это
Тут шаговый двигатель , но суть та же. Вот что написано в опасании.(Извените за транслит - гугл переводчик)
Оптическая пара находится позади лицевой панели на расстоянии около 3..5 мм, а передняя панель имеет небольшой вертикальный зазор перед ней (шириной около 2 мм) - это исключает вмешательство внешнего света. Для инструмента, который не имеет иглы, но имеет вращающиеся карты просто использовать черную матовую поверхность на задней стороне этой карты с тонкой белой линии или полоски фольги в соответствие с "нуля" на лицевой стороне.
Запуск программы последовательности ArdSimX перемещает все степперы в сторону положения "ноль", и все степперы (с датчиками или с ограничителем) займет свою позицию. После этой последовательности все степперы будут перемещены в их рабочее положение, соответственно, с входящими данными плагина.
Вот мой код, сервомашинки, может кто сможет уделить немного времени и помочь с кодом? как вернуть стрелку при старте программы в нулевое положение.
У шагового двигателя нет такого понятия как "положение", тогда как у сервопривода - есть. Поэтому, чтобы выставить серву в ноль достаточно всего лишь команды myservo.write(0);, ну, или с любым другим значением параметра для "нулевого" положения.
frankyjohn2014
подскажите, вам удалось разобраться "как повернуть стрелку в нулевое положение"?
у меня аналогичная задача.
У шагового двигателя нет такого понятия как "положение", тогда как у сервопривода - есть. Поэтому, чтобы выставить серву в ноль достаточно всего лишь команды myservo.write(0);, ну, или с любым другим значением параметра для "нулевого" положения.
Я правильно понимаю, что это есть серво? https://ru.aliexpress.com/item/100-NEW-Wholesale-SG90-9G-Micro-Servo-Mot...
Угу. Она самая.
У шагового двигателя нет такого понятия как "положение", тогда как у сервопривода - есть. Поэтому, чтобы выставить серву в ноль достаточно всего лишь команды myservo.write(0);, ну, или с любым другим значением параметра для "нулевого" положения.
Я правильно понимаю, что это есть серво? https://ru.aliexpress.com/item/100-NEW-Wholesale-SG90-9G-Micro-Servo-Mot...
И как её к ардуине подключать? Через серво-контроллер? Нашёл только на 32 канала, мне то нужен один канал )))
И как её к ардуине подключать?
Не ищите, этого нет в Интернете ))).
Если серьёзно, маломощную серву можно подключать так :
Мощную - питание (+5) подавать не с Ардуино, а с отдельного источника соответствующей мощности.
Подключается примитивно: питание - на +5в платы, землю - на землю, а сигнальный провод подключаете к любому PWM сигналу платы. Это если хотите использовать аппаратное управление через analogWrite(millisecs); А можете подключать через библиотеку Servo.h кажется .. там программная эмуляция, насколько помню, соответственно можно подлкючаться к любому выходу.
А ещё рекомендую скачать ArduBlock и поставить его как плагин в Ардуино ИДЕ. Там просто море разных библиотек и визуальное программирование. Тупо соединяете блоки промеж себя и всё. У меня 10-и летний ребенок разобрался практически самостоятельно. Паука вон сделал на 8-и таких сервоприводах .. :)
И как её к ардуине подключать?
Не ищите, этого нет в Интернете ))).
Мощную - питание (+5) подавать не с Ардуино, а с отдельного источника соответствующей мощности.
По подключению получается совсем просто (как бы)
Задача:
Есть контроллер K3NG управляющий поворотным устройством, всё работает, цифирьки на дисплее рисует, но хочется же и стрелку как в аналоговых поворотках, выходит серво-мотор эту задачу решает.
Угол поворота хранится в переменной, эту переменну через библиотеку и выводим (с определённой периодичностью)
Ход рассуждения правильный?
И еще один вопрос, значит, что сам сервомотор должен иметь метку по ориентации его на 360 градусов к примеру?
Мне кажется, Вам пока не хватает знаний, советую хоть чуток изучить тему сервоприводов, ну, например, вот здесь http://robotday.ru/2015/03/28/сервопривод-tower-pro-9g-sg90/
Мне кажется, Вам пока не хватает знаний
Мне кажется, что их нет ))) От слова совсем )))
Благодарствую!!!
Учу материальную часть и, даже немного получается, уже ARDUINO IDE устанавливаю влёт, а вот
ArduBlock
не подключается (в русской версии)
как всё запутано однако )))
PS тем не менее контроллер поворотки (на макетке) c LCD по шине IIC запустить удалось, так что надежда есть )))
PPS неожиданно оказалось, что заказанный девайс до углов только 180 градусов, для 360 совсем другие цены, хочешь-не-хочешь придётся делать индикацию и по элевации, не пропадать же добру )))
Устанавливается отсюда: https://sourceforge.net/projects/ardublock/, русификация там типовая с текущей локали (Вам из такой скриншот и делал).
Сайт разработчика http://blog.ardublock.com/
Там же инструкции "как поставить", "как допиливать".. :)
Устанавливается отсюда: https://sourceforge.net/projects/ardublock/, русификация там типовая с текущей локали (Вам из такой скриншот и делал).
Сайт разработчика http://blog.ardublock.com/
Там же инструкции "как поставить", "как допиливать".. :)
делаю как написано: НО
"Этот гвоздь не в ту стену"
Там фишка в том, что в рабочей папке, где у вас лежит Ардуино ИДЕ, в папке tools надо создать точную структуру папок и ПОЛОЖИТЬ в неё скачанный архив, и потом ПЕРЕИМЕНОВАТЬ его ровно так, как оно сказано. Это не архив, это "оно и есть". :) Да, буковки в верхних и нижних регистрах воспроизведите дотошно в названиях попаок и самого файлика. И не забудьте перезагрузить ИДЕ.
У меня с первого раза тоже "ни палучилося". :)
Так и делал! Под русской XP не заработала, а вот под вистой - работает!
Под вистой и как jar и как распакованный архив (а там много папок получается) работает...