Не обязательно. К примеру, алгоритм Брезенхема https://ru.wikipedia.org/wiki/%D0%90%D0 ... 0%BC%D0%B0 прекрасно строит дуги и окружности, не преобразуя их в вектора и не пользуясь "тяжелыми" операциями типа умножения и деления.grakun писал(а):В конечном итоге дуга все равно преобразуется в вектора
АВТОНОМНЫЙ КОНТРОЛЛЕР
Правила форума
Разрешается публиковать предложения по покупке/продаже как физическим лицам так и коммерческим организациям, при соблюдении следующих условий:
1. должны присутствовать характеристики товаров
2. должна присутствовать стоимость товара или услуги
3. должно присутствовать описание способов оплаты и доставки
4. один продавец - одна тема
Фотографии товаров приветствуются (фотографии должны быть вложениями к сообщениям).
Возможно размещение ссылки на свой сайт, с описанием товара, при обязательном соблюдении пунктов 1-3.
Администрация форума может удалить тему или сообщения из данного раздела, без объяснения причин!
Внимание, общий раздел закрыт для создания новых тем! Создавайте темы в профильных разделах (Куплю, Продам, Услуги)!
Разрешается публиковать предложения по покупке/продаже как физическим лицам так и коммерческим организациям, при соблюдении следующих условий:
1. должны присутствовать характеристики товаров
2. должна присутствовать стоимость товара или услуги
3. должно присутствовать описание способов оплаты и доставки
4. один продавец - одна тема
Фотографии товаров приветствуются (фотографии должны быть вложениями к сообщениям).
Возможно размещение ссылки на свой сайт, с описанием товара, при обязательном соблюдении пунктов 1-3.
Администрация форума может удалить тему или сообщения из данного раздела, без объяснения причин!
Внимание, общий раздел закрыт для создания новых тем! Создавайте темы в профильных разделах (Куплю, Продам, Услуги)!
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
Чудес не бывает. Бывают фокусы.
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
По поводу того что дуга всегда преобразуется в отрезки, я с вами не соглашусь! Т.к. используя алгоритм брезенхема для окружности, мы сразу получаем для оси X,Y в булевом варианте (нужно/не нужно) необходимость формировать импульс на STEP вывод драйвера осей.grakun писал(а):Понимает на уровне макрокоманды, как руководство к действию. В конечном итоге дуга все равно преобразуется в вектора что бы получить координаты точек и выдать импульсы на оси x,y. Программа компактная, но математики для процессора больше. Mach3 тянет эту математику, на Atmega328 любое лишнее движение это потеря быстродействия. Поэтому часть математики я передал программе подготовки кода, ту часть которую возможно передать. Код больше но скорость обработки вырастает в несколько раз.sas_75 писал(а):Ваша неправда. Например Mach3 очень даже понимает команды G02 и G03. При обработке отверстий и закруглений с постоянным радиусом программа получается очень компактной.
По поводу того что любое лишнее движение на Atmega, уменьшает быстродействие, с этим соглашусь, т.к. по старой моей теме http://www.cnc-club.ru/forum/viewtopic.php?f=41&t=4215 (разработка контроллера на атмега-16) я когда занялся оптимизацией, и вычислял количество тактов процессора необходимых для вычислений траекторий, то применение прямолинейного движения самое оптимальное, позволяло получать до 20кГц, применение движений по дуге не превышало 10 кГц.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- michael-yurov
- Почётный участник
- Сообщения: 11628
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4638
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
Я имею в виду, что если сохранить траекторию, например, в арткаме с дугами, или только линейными отрезками - Mach3 будет двигаться по ним по разному и пройдет за разное время.grakun писал(а):Вы имеете виду преобразованной в отрезки другой программой?michael-yurov писал(а):Mach3 сильно по разному движется по траектории с дугами и по той же траектории, преобразованной в отрезки.
А сам Mach3 не умеет преобразовывать дуги в отрезки.
Вот, для примера, одна и та же траектория с дугами и без.
Обрати внимание на прямоугольник со скругленными углами вверху справа. (здесь специальна были заданы настройки / условия при которых Mach3 сильно отклоняется от траектории)
Вот здесь движение близко к траектории, но, получается разное время выполнения (что интересно - для отрезков время меньше) А здесь в режиме точной остановки - наоборот, медленнее там, где дуга отрезками:
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
У меня немного другой алгоритм, я этот еще не проверял, возможно он будет работать быстрее.Сергей Саныч писал(а):Не обязательно. К примеру, алгоритм Брезенхема https://ru.wikipedia.org/wiki/%D0%90%D0 ... 0%BC%D0%B0 прекрасно строит дуги и окружности, не преобразуя их в вектора и не пользуясь "тяжелыми" операциями типа умножения и деления.grakun писал(а):В конечном итоге дуга все равно преобразуется в вектора
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
Движение на один шаг тоже отрезок, но в булевом варианте это конечно должно работать быстрее.selenur писал(а):По поводу того что дуга всегда преобразуется в отрезки, я с вами не соглашусь! Т.к. используя алгоритм брезенхема для окружности, мы сразу получаем для оси X,Y в булевом варианте (нужно/не нужно) необходимость формировать импульс на STEP вывод драйвера осей.
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
У меня основная проблема из за нехватки ног. Пришлось делать аналоговую клавиатуру, а она сожрала все. Время на опрос и осмысление опроса большое. В результате те же 8-10 кГц на ось.selenur писал(а):применение прямолинейного движения самое оптимальное, позволяло получать до 20кГц, применение движений по дуге не превышало 10 кГц.
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
Понятно, про Mach3, я с ним очень мало работал. Думаю вектора имеют начало и конец соответственно ускорение и торможение, а по дуге торможение только в конце, скорость прохода постоянная, но она может отличатся от рабочей.michael-yurov писал(а):Я имею в виду, что если сохранить траекторию, например, в арткаме с дугами, или только линейными отрезками - Mach3 будет двигаться по ним по разному и пройдет за разное время.
А сам Mach3 не умеет преобразовывать дуги в отрезки.
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
Как и обещал здесь работа контроллера с дугами состоящими из отрезков https://www.youtube.com/watch?v=5foHD0- ... e=youtu.bemegagad писал(а):И да - выж вроде писали, что "дуги" ваш контроллер не понимает? Только линейная интерполяция(вместо дуги - кучка отрезков)?
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
Использование аналогового входа плохая идея, т.к. реально теряется очень много тактов процессора, намного проще использовать вот такой вариант http://robocraft.ru/blog/arduino/520.html тебе будет достаточно подключить 2 сдвиговых регистра, и работать с ними через аппаратный spi, так-же есть удобные преобразователи i2c <=> дисплей, что сокращает количество необходимых выводов, и процесс передачи данных отдается отдается аппаратному модулю, в результате чего, у тебя появляется куча свободного времени у процессора для других задач.grakun писал(а):У меня основная проблема из за нехватки ног. Пришлось делать аналоговую клавиатуру, а она сожрала все. Время на опрос и осмысление опроса большое. В результате те же 8-10 кГц на ось.selenur писал(а):применение прямолинейного движения самое оптимальное, позволяло получать до 20кГц, применение движений по дуге не превышало 10 кГц.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
К сожалению с этого и и начались проблемы. После подключения библиотеки i2c. Да прекрасно работает индикатор, читается карта, но полный стопор в обработке кода. Может насчитать что угодно. Проверял на 15 микросхемах.selenur писал(а):так-же есть удобные преобразователи i2c <=>
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
Вывода 10,11,12,13 заняты SD картой, этот вариант не получается.selenur писал(а):аппаратный spi
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
т.е. стопор? неравномерность шагов, правильно понимаю? тогда для генерации step импульсов правильнее применять таймер, с прерываниями, это обеспечит достаточно равномерный сигнал.
У SPI наверняка замечал применение вывода ss? так вот это позволяет на одной шине держать огромное количество устройств. вот пример http://robocraft.ru/blog/arduino/541.html
У SPI наверняка замечал применение вывода ss? так вот это позволяет на одной шине держать огромное количество устройств. вот пример http://robocraft.ru/blog/arduino/541.html
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- ALS
- Опытный
- Сообщения: 159
- Зарегистрирован: 15 ноя 2013, 01:46
- Репутация: 161
- Откуда: Севастополь
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
Как вариант, если есть хотя бы 4 свободные ноги - можно подключить до восьми кнопок с пом. дешифраторов или мультиплексоров (напр., CD4052).
5 ног дают уже 16 кнопок
5 ног дают уже 16 кнопок
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
Нет еще хуже. Он читает правильно карту, передает информацию на подпрограмму обработки, а там она может посчитаться или может вообще зависнуть, хотя все остальное адекватно работает.(я это вижу на мониторе при пошаговом просмотре). До шагов дело не доходит. Для меня это так и осталось загадкой.selenur писал(а):т.е. стопор? неравномерность шагов, правильно понимаю?
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
К сожалению ни одной цифровой, заняты даже 2 и 3 нога. Заняты (работают как цифровой выход аналоговые ) 28,27,26. Тестирование в течении двух месяцев показывает стабильную работу. Я выложу схему, просто пока нет в приличном виде.ALS писал(а):Как вариант, если есть хотя бы 4 свободные ноги
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
Таймер не совсем подходит к заложенному алгоритму. Ускорение, торможение, интерполяция все будет по другому и это надо все будет перепроверять.selenur писал(а):применять таймер, с прерываниями, это обеспечит достаточно равномерный сигнал.
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
Ну да это правильно, я думал про это. Но время считывание и так не самое лучшее, а здесь его нужно будет дополнительно тратить.selenur писал(а):У SPI наверняка замечал применение вывода ss?
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
Вариант 1) У таймера есть ctc режим, которым можно регулировать ускорение.
Вариант 2) Используя алгоритм брезенхема можно еще и это реализовать.
Вариант 2) Используя алгоритм брезенхема можно еще и это реализовать.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
Ну наверно буду пробовать, это будет следующий этап. Сейчас пока в производстве то что уже стабильно работает и прошло испытания.selenur писал(а):Вариант 1) У таймера есть ctc режим, которым можно регулировать ускорение.
Вариант 2) Используя алгоритм брезенхема можно еще и это реализовать.
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: АВТОНОМНЫЙ КОНТРОЛЛЕР
Да, именно "отдается"потому что передача данных последовательно занимает много времени.selenur писал(а):и процесс передачи данных отдается отдается