АВТОНОМНЫЙ КОНТРОЛЛЕР

Правила форума
Разрешается публиковать предложения по покупке/продаже как физическим лицам так и коммерческим организациям, при соблюдении следующих условий:
1. должны присутствовать характеристики товаров
2. должна присутствовать стоимость товара или услуги
3. должно присутствовать описание способов оплаты и доставки
4. один продавец - одна тема

Фотографии товаров приветствуются (фотографии должны быть вложениями к сообщениям).

Возможно размещение ссылки на свой сайт, с описанием товара, при обязательном соблюдении пунктов 1-3.

Администрация форума может удалить тему или сообщения из данного раздела, без объяснения причин!

Внимание, общий раздел закрыт для создания новых тем! Создавайте темы в профильных разделах (Куплю, Продам, Услуги)!
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение Сергей Саныч »

grakun писал(а):В конечном итоге дуга все равно преобразуется в вектора
Не обязательно. К примеру, алгоритм Брезенхема https://ru.wikipedia.org/wiki/%D0%90%D0 ... 0%BC%D0%B0 прекрасно строит дуги и окружности, не преобразуя их в вектора и не пользуясь "тяжелыми" операциями типа умножения и деления.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение selenur »

grakun писал(а):
sas_75 писал(а):Ваша неправда. Например Mach3 очень даже понимает команды G02 и G03. При обработке отверстий и закруглений с постоянным радиусом программа получается очень компактной.
Понимает на уровне макрокоманды, как руководство к действию. В конечном итоге дуга все равно преобразуется в вектора что бы получить координаты точек и выдать импульсы на оси x,y. Программа компактная, но математики для процессора больше. Mach3 тянет эту математику, на Atmega328 любое лишнее движение это потеря быстродействия. Поэтому часть математики я передал программе подготовки кода, ту часть которую возможно передать. Код больше но скорость обработки вырастает в несколько раз.
По поводу того что дуга всегда преобразуется в отрезки, я с вами не соглашусь! Т.к. используя алгоритм брезенхема для окружности, мы сразу получаем для оси X,Y в булевом варианте (нужно/не нужно) необходимость формировать импульс на STEP вывод драйвера осей.
По поводу того что любое лишнее движение на 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/
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение michael-yurov »

grakun писал(а):
michael-yurov писал(а):Mach3 сильно по разному движется по траектории с дугами и по той же траектории, преобразованной в отрезки.
Вы имеете виду преобразованной в отрезки другой программой?
Я имею в виду, что если сохранить траекторию, например, в арткаме с дугами, или только линейными отрезками - Mach3 будет двигаться по ним по разному и пройдет за разное время.
А сам Mach3 не умеет преобразовывать дуги в отрезки.

Вот, для примера, одна и та же траектория с дугами и без.
Обрати внимание на прямоугольник со скругленными углами вверху справа.
1.png (4587 просмотров) <a class='original' href='./download/file.php?id=59724&sid=02605dec2468b46d361c92416e34657d&mode=view' target=_blank>Загрузить оригинал (125.88 КБ)</a>
(здесь специальна были заданы настройки / условия при которых Mach3 сильно отклоняется от траектории)

Вот здесь движение близко к траектории, но, получается разное время выполнения (что интересно - для отрезков время меньше)
2.png (4587 просмотров) <a class='original' href='./download/file.php?id=59725&sid=02605dec2468b46d361c92416e34657d&mode=view' target=_blank>Загрузить оригинал (117.8 КБ)</a>
А здесь в режиме точной остановки - наоборот, медленнее там, где дуга отрезками:
3.png (4587 просмотров) <a class='original' href='./download/file.php?id=59727&sid=02605dec2468b46d361c92416e34657d&mode=view' target=_blank>Загрузить оригинал (104.33 КБ)</a>
Аватара пользователя
grakun
Мастер
Сообщения: 273
Зарегистрирован: 30 сен 2015, 02:47
Репутация: 53
Настоящее имя: Гракун
Откуда: г.Саратов
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение grakun »

Сергей Саныч писал(а):
grakun писал(а):В конечном итоге дуга все равно преобразуется в вектора
Не обязательно. К примеру, алгоритм Брезенхема https://ru.wikipedia.org/wiki/%D0%90%D0 ... 0%BC%D0%B0 прекрасно строит дуги и окружности, не преобразуя их в вектора и не пользуясь "тяжелыми" операциями типа умножения и деления.
У меня немного другой алгоритм, я этот еще не проверял, возможно он будет работать быстрее.
Аватара пользователя
grakun
Мастер
Сообщения: 273
Зарегистрирован: 30 сен 2015, 02:47
Репутация: 53
Настоящее имя: Гракун
Откуда: г.Саратов
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение grakun »

selenur писал(а):По поводу того что дуга всегда преобразуется в отрезки, я с вами не соглашусь! Т.к. используя алгоритм брезенхема для окружности, мы сразу получаем для оси X,Y в булевом варианте (нужно/не нужно) необходимость формировать импульс на STEP вывод драйвера осей.
Движение на один шаг тоже отрезок, но в булевом варианте это конечно должно работать быстрее.
Аватара пользователя
grakun
Мастер
Сообщения: 273
Зарегистрирован: 30 сен 2015, 02:47
Репутация: 53
Настоящее имя: Гракун
Откуда: г.Саратов
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение grakun »

selenur писал(а):применение прямолинейного движения самое оптимальное, позволяло получать до 20кГц, применение движений по дуге не превышало 10 кГц.
У меня основная проблема из за нехватки ног. Пришлось делать аналоговую клавиатуру, а она сожрала все. Время на опрос и осмысление опроса большое. В результате те же 8-10 кГц на ось.
Аватара пользователя
grakun
Мастер
Сообщения: 273
Зарегистрирован: 30 сен 2015, 02:47
Репутация: 53
Настоящее имя: Гракун
Откуда: г.Саратов
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение grakun »

michael-yurov писал(а):Я имею в виду, что если сохранить траекторию, например, в арткаме с дугами, или только линейными отрезками - Mach3 будет двигаться по ним по разному и пройдет за разное время.
А сам Mach3 не умеет преобразовывать дуги в отрезки.
Понятно, про Mach3, я с ним очень мало работал. Думаю вектора имеют начало и конец соответственно ускорение и торможение, а по дуге торможение только в конце, скорость прохода постоянная, но она может отличатся от рабочей.
Аватара пользователя
grakun
Мастер
Сообщения: 273
Зарегистрирован: 30 сен 2015, 02:47
Репутация: 53
Настоящее имя: Гракун
Откуда: г.Саратов
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение grakun »

megagad писал(а):И да - выж вроде писали, что "дуги" ваш контроллер не понимает? Только линейная интерполяция(вместо дуги - кучка отрезков)?
Как и обещал здесь работа контроллера с дугами состоящими из отрезков https://www.youtube.com/watch?v=5foHD0- ... e=youtu.be
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение selenur »

grakun писал(а):
selenur писал(а):применение прямолинейного движения самое оптимальное, позволяло получать до 20кГц, применение движений по дуге не превышало 10 кГц.
У меня основная проблема из за нехватки ног. Пришлось делать аналоговую клавиатуру, а она сожрала все. Время на опрос и осмысление опроса большое. В результате те же 8-10 кГц на ось.
Использование аналогового входа плохая идея, т.к. реально теряется очень много тактов процессора, намного проще использовать вот такой вариант http://robocraft.ru/blog/arduino/520.html тебе будет достаточно подключить 2 сдвиговых регистра, и работать с ними через аппаратный spi, так-же есть удобные преобразователи i2c <=> дисплей, что сокращает количество необходимых выводов, и процесс передачи данных отдается отдается аппаратному модулю, в результате чего, у тебя появляется куча свободного времени у процессора для других задач. :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
grakun
Мастер
Сообщения: 273
Зарегистрирован: 30 сен 2015, 02:47
Репутация: 53
Настоящее имя: Гракун
Откуда: г.Саратов
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение grakun »

selenur писал(а):так-же есть удобные преобразователи i2c <=>
К сожалению с этого и и начались проблемы. После подключения библиотеки i2c. Да прекрасно работает индикатор, читается карта, но полный стопор в обработке кода. Может насчитать что угодно. Проверял на 15 микросхемах.
Аватара пользователя
grakun
Мастер
Сообщения: 273
Зарегистрирован: 30 сен 2015, 02:47
Репутация: 53
Настоящее имя: Гракун
Откуда: г.Саратов
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение grakun »

selenur писал(а):аппаратный spi
Вывода 10,11,12,13 заняты SD картой, этот вариант не получается.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение selenur »

т.е. стопор? неравномерность шагов, правильно понимаю? тогда для генерации step импульсов правильнее применять таймер, с прерываниями, это обеспечит достаточно равномерный сигнал.
У SPI наверняка замечал применение вывода ss? так вот это позволяет на одной шине держать огромное количество устройств. вот пример http://robocraft.ru/blog/arduino/541.html
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
ALS
Опытный
Сообщения: 159
Зарегистрирован: 15 ноя 2013, 01:46
Репутация: 161
Откуда: Севастополь
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение ALS »

Как вариант, если есть хотя бы 4 свободные ноги - можно подключить до восьми кнопок с пом. дешифраторов или мультиплексоров (напр., CD4052).
5 ног дают уже 16 кнопок :)
Аватара пользователя
grakun
Мастер
Сообщения: 273
Зарегистрирован: 30 сен 2015, 02:47
Репутация: 53
Настоящее имя: Гракун
Откуда: г.Саратов
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение grakun »

selenur писал(а):т.е. стопор? неравномерность шагов, правильно понимаю?
Нет еще хуже. Он читает правильно карту, передает информацию на подпрограмму обработки, а там она может посчитаться или может вообще зависнуть, хотя все остальное адекватно работает.(я это вижу на мониторе при пошаговом просмотре). До шагов дело не доходит. Для меня это так и осталось загадкой.
Аватара пользователя
grakun
Мастер
Сообщения: 273
Зарегистрирован: 30 сен 2015, 02:47
Репутация: 53
Настоящее имя: Гракун
Откуда: г.Саратов
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение grakun »

ALS писал(а):Как вариант, если есть хотя бы 4 свободные ноги
К сожалению ни одной цифровой, заняты даже 2 и 3 нога. Заняты (работают как цифровой выход аналоговые ) 28,27,26. Тестирование в течении двух месяцев показывает стабильную работу. Я выложу схему, просто пока нет в приличном виде.
Аватара пользователя
grakun
Мастер
Сообщения: 273
Зарегистрирован: 30 сен 2015, 02:47
Репутация: 53
Настоящее имя: Гракун
Откуда: г.Саратов
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение grakun »

selenur писал(а):применять таймер, с прерываниями, это обеспечит достаточно равномерный сигнал.
Таймер не совсем подходит к заложенному алгоритму. Ускорение, торможение, интерполяция все будет по другому и это надо все будет перепроверять.
Аватара пользователя
grakun
Мастер
Сообщения: 273
Зарегистрирован: 30 сен 2015, 02:47
Репутация: 53
Настоящее имя: Гракун
Откуда: г.Саратов
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение grakun »

selenur писал(а):У SPI наверняка замечал применение вывода ss?
Ну да это правильно, я думал про это. Но время считывание и так не самое лучшее, а здесь его нужно будет дополнительно тратить.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение selenur »

Вариант 1) У таймера есть ctc режим, которым можно регулировать ускорение.
Вариант 2) Используя алгоритм брезенхема можно еще и это реализовать.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
grakun
Мастер
Сообщения: 273
Зарегистрирован: 30 сен 2015, 02:47
Репутация: 53
Настоящее имя: Гракун
Откуда: г.Саратов
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение grakun »

selenur писал(а):Вариант 1) У таймера есть ctc режим, которым можно регулировать ускорение.
Вариант 2) Используя алгоритм брезенхема можно еще и это реализовать.
Ну наверно буду пробовать, это будет следующий этап. Сейчас пока в производстве то что уже стабильно работает и прошло испытания.
Аватара пользователя
grakun
Мастер
Сообщения: 273
Зарегистрирован: 30 сен 2015, 02:47
Репутация: 53
Настоящее имя: Гракун
Откуда: г.Саратов
Контактная информация:

Re: АВТОНОМНЫЙ КОНТРОЛЛЕР

Сообщение grakun »

selenur писал(а):и процесс передачи данных отдается отдается
Да, именно "отдается"потому что передача данных последовательно занимает много времени.
Ответить

Вернуться в «Предложения покупки/продажи/услуг»