- HAL2Arduino.py.rar
- (8.28 КБ) 497 скачиваний
HAL2Arduino
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: HAL2Arduino
Вот что выдало
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: HAL2Arduino
прерывания - это тот-же программный генератор шагов. На таймерах, например которые есть в STM32 можно сделать полностью аппаратный генератор - проц будет только сообщать таймерам сколько импульсов и с какой частотой сгенерить.solo писал(а):отказаться от таймеров прерывания
А как его заставить остановиться после конкретного количества импульсов?solo писал(а):и поставить на вывод степ внешний таймер , ну хотя бы одновибратор
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- selenur
- Почётный участник

- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: HAL2Arduino
Аппаратно сделать можно но для таких целей есть только 1 вывод, поэтому эта затея точно не вариант.UAVpilot писал(а): solo писал(а):
и поставить на вывод степ внешний таймер , ну хотя бы одновибратор
А как его заставить остановиться после конкретного количества импульсов?
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- selenur
- Почётный участник

- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: HAL2Arduino
По первому пункту, почему тебя это удивляет? т.е. Много или мало?solo писал(а): 1 На базе ардуино собирают 3Д принтер , Ардуина там может генерировать , по информации с форумов" степ импульсы с частотой до 30 000 , но даже меня эта цифра немного удивляет.
2 Стандартно в 3 Д принтера частота степ на мах скоростях 3-5 кГц , при работе с 4 ШД и управление по СОМ- USB
Я в своих прошлых экспериментах пока более менее стабильную работу ШД получил с частотой около 500 Гц , если увеличиваю скорость перемещения ШД то ардуина начинает как то хаотично и неравномерно генерировать импульсы степ.
Может ВЫ мне объясните возможно ли в связке LCNC ардуина получить более менее приличный результат управления 3 ШД и генерации шагов с частотой до 5-6 кГц
Смотрел я исходники нескольких проектов на ардуине, и там заложен большой функционал, но он к сожалению влечет и негативную сторону.
Во первых большинство работает на 16 Мгц, казалось бы частота не маленькая, но для генерирования степа например с частотой 10кГц у микроконтроллера есть время на выполнение 1600 ассемблерных инструкций, при частоте в 20кГц уже лишь 800. В промежутке между импульсами необходимо выполнить кучу кода, который может требовать для всех вычислений больше времени, и тогда все просто поплывет..... (а при 30кГц всего 533 инструкции)
Во вторых можно конечно сделать небольшой оверклокинг до 20 Мгц (замена кварца), на атмеге 168, и 16А проверенно работает нормально
В третьих, можно попытаться оптимизировать код, путем выброса неиспользуемого функционала.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: HAL2Arduino
посмотри - как называется порт ,через который коннектится ардуина...aftaev писал(а):Вот что выдало
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: HAL2Arduino
Ардуинку прошил и подключил?aftaev писал(а):Вот что выдало
А откуда у тебя tk грузится? ты просто сделал
halrun
loadrt HAL2Arduino?
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: HAL2Arduino
Я прошу прощение но я в программировании не то что чайник а САМОВАР по этому в этих фразах я почти не бум-бумselenur писал(а):о первых большинство работает на 16 Мгц, казалось бы частота не маленькая, но для генерирования степа например с частотой 10кГц у микроконтроллера есть время на выполнение 1600 ассемблерных инструкций, при частоте в 20кГц уже лишь 800. В промежутке между импульсами необходимо выполнить кучу кода, который может требовать для всех вычислений больше времени, и тогда все просто поплывет..... (а при 30кГц всего 533 инструкции)
Во вторых можно конечно сделать небольшой оверклокинг до 20 Мгц (замена кварца), на атмеге 168, и 16А проверенно работает нормально
В третьих, можно попытаться оптимизировать код, путем выброса неиспользуемого функционала.
Я когда пробовал в ардуине на прямую управлять регистрами памяти я здесь писал об этом http://cnc-club.ru/forum/viewtopic.php? ... 242#p71213UAVpilot писал(а):прерывания - это тот-же программный генератор шагов. На таймерах, например которые есть в STM32 можно сделать полностью аппаратный генератор - проц будет только сообщать таймерам сколько импульсов и с какой частотой сгенерить.solo писал(а):отказаться от таймеров прерывания
А как его заставить остановиться после конкретного количества импульсов?solo писал(а):и поставить на вывод степ внешний таймер , ну хотя бы одновибратор
То в принципе ардуина достаточно шустро генерит шаги, на импульс получается короткий и он скорее всего гдето терялся или на плате опторазвязки или в драйверах ШД, шаговик вроде начинает крутиться но с какой то тупизной. Вот я и подумал что импульс очень короткий и он не доходит до драйвера. Эксперименты не закончил , с временем напряг. Будет время закончу эксперимент с одновибраторами обязательно отпишусь даже с отрицательным результатом , чтобы некто больше не занимался в этом направлении.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: HAL2Arduino
Подскажите а шо с этой штукой можно поступать так как с Arduino Uno http://www.xakep.ru/post/60504/PKM писал(а):Если есть Beaglebone за 50дол, на котором идет нормальный LinuxCNC с обработчиком G-кода и планировщиком траектории на порядок лучше, чем у принтеров на ардуине.
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: HAL2Arduino
Да прошил, без ошибок каких либо.Nick писал(а):Ардуинку прошил и подключил?
halrun на ответ вбиваю loadusr -Wn Hal2Arduino /home/cnc/HAL2Arduino.pyNick писал(а):А откуда у тебя tk грузится? ты просто сделал
halrun
loadrt HAL2Arduino?
и вылазит то что вылазит на скринтоше.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: HAL2Arduino
А чего тогда все не используют под LinuxCNC ведь цена неприлично низкая куча выводов для подключения разных устройств, не то что на обычной материнские ЛПТ и.... все , в чем может быть подвох. Мне аж захотелось такую штучку купить, правда пока рассматривая "картинки " не совсем понял как туда чего пихать (программы)Nick писал(а):На нее саму можно поставить LinuxCNC.
http://www.youtube.com/results?search_q ... uxCNC&sm=3
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: HAL2Arduino
solo, для этого есть тема LinuxCNC на BeagleBone black #1
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: HAL2Arduino
у меня не стоит Arduina IDE на Линухе, скейтч заливал в Windows потом тащил на комп с Линухом. Други варианты есть как глянуть?nkp писал(а):посмотри - как называется порт ,через который коннектится ардуина...
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: HAL2Arduino
скачай с оффсайта ide для линукса - запусти(по моему без установки)...
мож кто и по другому подскажет - я не знаю...
мож кто и по другому подскажет - я не знаю...
- selenur
- Почётный участник

- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: HAL2Arduino
В консоли выполни lsusb -tv и покажи что вывелоaftaev писал(а):у меня не стоит Arduina IDE на Линухе, скейтч заливал в Windows потом тащил на комп с Линухом. Други варианты есть как глянуть?nkp писал(а):посмотри - как называется порт ,через который коннектится ардуина...
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: HAL2Arduino
у меня с подключенной ардуиной вывело:
как теперь расшифровать?
Код: Выделить всё
nkp@nkp-desktop:~$ lsusb -tv
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 2: Dev 3, If 0, Class=comm., Driver=cdc_acm, 12M
|__ Port 2: Dev 3, If 1, Class=data, Driver=cdc_acm, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=HID, Driver=usbhid, 1.5M
|__ Port 1: Dev 2, If 1, Class=HID, Driver=usbhid, 1.5M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/8p, 480M
- selenur
- Почётный участник

- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: HAL2Arduino
Ардуина это набор из 2-х МК, кроме основного МК Atmega, там есть МК (ft232) которая преобразует USB интерфейс в USART, так вот при подключении ардуины мы должны были увидеть следующее:
Синим подчеркнул команды для консоли, а красным те самые строчки, которые должны были увидеть ВЫ, при подключении.
Попробуйте в консоли вывести список устройств, с подключенной и отключенной ардуиной
Попробуйте в консоли вывести список устройств, с подключенной и отключенной ардуиной
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: HAL2Arduino
На многих ардуинах в качестве USB-интерфейса ставят маленькие атмеги - это дешевле ft232.
Такие варианты как правило и используют драйвер cdc_acm, в системе появляется /dev/ttyACM0.
Такие варианты как правило и используют драйвер cdc_acm, в системе появляется /dev/ttyACM0.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- selenur
- Почётный участник

- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: HAL2Arduino
Ну тогда от ТС нужна фотка его ардуины, что-бы понять что делать дальше.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
