Страница 1 из 19

Ещё один бесполезный проект. Проходим мимо

СообщениеДобавлено: 05 дек 2016, 19:01
MX_Master
Ещё один бесполезный проект. Проходим мимо

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 05 дек 2016, 19:07
aftaev
MX_Master писал(а): поднять частоту STEP/DIR на участке между контроллером (или платой развязки) и драйверами моторов.

Не совсем понятно зачем это нужно?

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 05 дек 2016, 19:19
MX_Master
aftaev писал(а):Не совсем понятно зачем это нужно?

Все, что у меня есть, выдает на выходе не больше 30 КГц, в том числе и ПК с LCNC. Для плавной и быстрой работы ШД нужен весьма мелкий микрошаг и, соответственно, чуть больше STEP'чиков, хотя п до 200 КГц (лимит драйвера). Плюс, может кому-ньть кроме меня в быту пригодится.

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 05 дек 2016, 20:01
Mamont
MX_Master писал(а):
aftaev писал(а):Не совсем понятно зачем это нужно?

Все, что у меня есть, выдает на выходе не больше 30 КГц, в том числе и ПК с LCNC. Для плавной и быстрой работы ШД нужен весьма мелкий микрошаг и, соответственно, чуть больше STEP'чиков, хотя п до 200 КГц (лимит драйвера). Плюс, может кому-ньть кроме меня в быту пригодится.


А какой у тебя драйвер двигателей?

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 05 дек 2016, 20:08
aftaev
MX_Master писал(а): в том числе и ПК с LCNC.

Если на ПК собрать Pluto-P мож по шустрее будет чем городить что то непонятное на Ардуине ;)

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 05 дек 2016, 20:53
MX_Master
Mamont писал(а):А какой у тебя драйвер двигателей?

DQ860MA
aftaev писал(а):Если на ПК собрать Pluto-P мож по шустрее будет чем городить что то непонятное на Ардуине

Дуинка это чисто на "попробовать". Тут скорее было интересно разобраться с МК и разработкой под них.
Первый блин, так скать (:
У меня брат - электроник, а я прогер. И было бы неплохо объединить эти две области.

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 05 дек 2016, 20:58
Сергей Саныч
А про Степмастер забыли? Или он не входит в категорию "бюджетных"?

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 05 дек 2016, 21:20
MX_Master
Сергей Саныч писал(а):А про Степмастер забыли? Или он не входит в категорию "бюджетных"?

Это был первый вариант в поисках истины (: Я уважаю работу Михаила. Он создаёт сами платы и разработал под них свой софт. Цена адекватная. Но моя цель не в покупке готового решения, а в превращении любой сподручной платки с МК в полезное ЧПУ устройство, просто средствами прошивки. Если на этих Мегах2560 даже GRBL софт пашет, то простой фильтр сигналов тоже должен уместиться.

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 05 дек 2016, 21:32
selenur
Может попробовать тебе посмотреть на STM32 микроконтроллеры?
Например с 8-ми битными AVR микроконтроллерами я знаком хорошо, и для получения максимальной скорости, я пользовался ассемблером, но сейчас используя stm32f103c8t6 мне уже абсолютно не нужно просчитывать такты процессора, для получения желаемого результата, теперь даже не оптимизированный код работает сверх быстро...
Хотя конечно обилие регистров в STM немного пугает после AVR, но обычно и не стоит задача использовать по максимуму всю периферию микроконтроллера.

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 05 дек 2016, 22:09
UAVpilot
Обилие регистров почти не заметно, если пользоваться CubeMX и HAL.

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 05 дек 2016, 22:13
selenur
UAVpilot писал(а):Обилие регистров почти не заметно, если пользоваться CubeMX и HAL.

Не ну я конечно этим пользуюсь, поэтому и получается легко делать всякую чепуху, но не дает покоя осознание того, что непонятно как работает внутри... вот и лезешь разбираться... :-)

Вот к стати благодаря этому каналу, познавал STM32: https://www.youtube.com/user/Sappise

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 05 дек 2016, 22:18
UAVpilot
Так исходники HAL включаются в проект и можно легко глянуть кишочки любой функции.

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 05 дек 2016, 22:30
MX_Master
selenur писал(а):Может попробовать тебе посмотреть на STM32 микроконтроллеры?
Например с 8-ми битными AVR микроконтроллерами я знаком хорошо, и для получения максимальной скорости, я пользовался ассемблером, но сейчас используя stm32f103c8t6 мне уже абсолютно не нужно просчитывать такты процессора, для получения желаемого результата, теперь даже не оптимизированный код работает сверх быстро...
Хотя конечно обилие регистров в STM немного пугает после AVR, но обычно и не стоит задача использовать по максимуму всю периферию микроконтроллера.

Выноса мозга от работы с регистрами у меня не было, а вот от хитросплетений побитовых операций я иногда зависал. Чего только стоит вот такая конструкция

Код: Выделить всёРазвернуть
out_pin_cur ^=
    ( (-GET_BIT(buf[ buf_out_pos[axis] ], step_bit[axis])) ^ out_pin_cur ) &
    ( 1 << step_bit[axis] );

Всё это для экономии места в оперативке под выходной буфер. В общем, я убедился, что 8 кб оперативки это чудовищно мало для REALTIME обработки! 20 кб у stm32f103c8t6, конечно, улучшат положение, но это ведь тоже немного. Стал присматриваться к 196 Кб на макетках с STM32F407VET6, цена, благо, не кусается.

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 05 дек 2016, 22:38
UAVpilot
MX_Master писал(а):Всё это для экономии места в оперативке под выходной буфер.

Твой код лежит во флеше, а не в ОЗУ.

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 05 дек 2016, 23:07
MX_Master
Буффер как раз в ОЗУ, т.к. он глобален, как и прочие вспомогательные массивы. Из 8кб при работе занято 5. Про флэху тут речи не было, бинарник в 2 кб вполне в ней поместится (:

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 06 дек 2016, 00:03
selenur
Я в некоторых проектах использую вот такую http://www.st.com/en/evaluation-tools/3 ... overy.html в ней есть внешняя память на 64 мбит, работать с памятью легко, скорость огромная....

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 06 дек 2016, 12:13
UAVpilot
MX_Master писал(а):Буффер как раз в ОЗУ, т.к. он глобален, как и прочие вспомогательные массивы. Из 8кб при работе занято 5. Про флэху тут речи не было, бинарник в 2 кб вполне в ней поместится (:

Внимательно следи за буквами: твой буфер размещается в ОЗУ, программный код во флеше. Уменьшение размера кода сократит место занимаемое во флеше и никак не повлияет на место, занимаемое в ОЗУ.

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 06 дек 2016, 12:20
Mamont
А ниче что вы одно и тоже написали уже 4 раза?

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 06 дек 2016, 12:22
Сергей Саныч
UAVpilot писал(а):буфер размещается в ОЗУ, программный код во флеше
Предполагаю, что это сделано для экономии места в ОЗУ путем рациональной организации хранения данных. Чтобы, скажем, один пиксел черно-белой картинки занимал один бит, а не, скажем, целый байт.

Re: Умножитель STEP/DIR на Arduino

СообщениеДобавлено: 06 дек 2016, 12:26
UAVpilot
selenur писал(а):Я в некоторых проектах использую вот такую http://www.st.com/en/evaluation-tools/3 ... overy.html в ней есть внешняя память на 64 мбит, работать с памятью легко, скорость огромная....

А эта память может отображаться в общее адресное пространство МК, чтоб её можно было использовать под переменные? В доках не нашёл ничего про это...