Страница 9 из 20
Re: Умножитель STEP/DIR на Arduino или STM32 Cortex M4
Добавлено: 12 янв 2017, 15:34
khach
Може поможет такое решение- step/dir считал двумя таймерами, step заводил на оба таймера, dir и его инверсия работали сигналами разрешения счета соотвественно для счета по/против часовой.
Re: Умножитель STEP/DIR на Arduino или STM32 Cortex M4
Добавлено: 12 янв 2017, 16:05
sidor094
Думал над таким вариантом .Но показалось слишком сложно.А как с переполнением?Или таймера 32 разряда.Или надо как то надо учитывать перходы через максимум (например по прерываниям при сбросе). Да и наворачивать внешнюю микросхему как то не очень.Причем надо учитывать полярность степа иначе сигнал дир может вызвать импульс.
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 14 янв 2017, 10:56
MX_Master
Решил отложить
Мегу2560 на полку после тщательного изучения
STM32.. Связка свободного софта
STM32CubeMX + SW4STM32 + STM32 ST-LINK Utility + STM Studio вкупе с
ST-LINK V2 (2$) оказалось очень практичной и производительной. Автоматический отлов внешних прерывания (EXTI) это как раз то, что нужно для моей задачи. А визуальная отладка в
STM Studio это вещь.
По предварительным прикидкам, для решения задачи подойдет даже
такая кроха (2$) с
STM32F103C8T6 на борту.
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 14 янв 2017, 11:47
tooshka
MX_Master писал(а):решения задачи подойдет даже такая кроха (2$) с STM32F103C8T6 на борту.
А какую частоту из него выжать можно?
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 14 янв 2017, 12:18
MX_Master
tooshka писал(а):MX_Master писал(а):решения задачи подойдет даже такая кроха (2$) с STM32F103C8T6 на борту.
А какую частоту из него выжать можно?
Всё зависит от того, как я оптимизирую алгоритм
72 МГц и 20 Кб ОЗУ под эту задачу вполне сгодятся.
Задача минимум -
поднять с 20КГц (LCNC, LPT) хотя б
до 200КГц (драйвер больше не берёт). В лучшем случае -
с 20КГц до 1МГц, в идеале -
до 4МГц (мечты). Однако, отслеживать мегагерцовые колебания в
STM Studio проблематично. Китайский
ST LINK V2 больше
4 МГц не берёт. Да и нет у меня таких драйверов, которые смогут съесть хотя бы
1 МГц.
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 14 янв 2017, 15:34
tooshka
MX_Master писал(а):которые смогут съесть хотя бы 1 МГц.
У новых шаговых "лишаев" вроде до 0,5 МГц. Да и сервы вроде не намного больше принимают.
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 14 янв 2017, 16:12
tmr
MX_Master писал(а):... Однако, отслеживать мегагерцовые колебания ...
Сигнал удобно отслеживать прямо на железе логическим анализатором,
например. 100МГц и 16 каналов как раз хватает на 4 оси.
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 14 янв 2017, 17:42
MX_Master
tmr писал(а):MX_Master писал(а):... Однако, отслеживать мегагерцовые колебания ...
Сигнал удобно отслеживать прямо на железе логическим анализатором,
например. 100МГц и 16 каналов как раз хватает на 4 оси.
Старший брат тоже советовал анализатором проверять результат. Но я в этом деле еще новичок, если не трудно, посоветуйте что-нибудь из готовых решений для пристрела по функционалу и цене.
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 14 янв 2017, 18:15
Serg
Правильное решение - осциллограф. Анализатор не покажет реальные фронты.
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 14 янв 2017, 18:55
tmr
MX_Master писал(а):... посоветуйте что-нибудь из готовых решений для пристрела по функционалу и цене.
Этот анализатор по ссылке есть у меня, клон Saleae Logic16, в то время стоил 24$ на али. С горем пополам поддерживает Sigrok, без проблем работает с оригинальным софтом от Saleae и под виндой и под линуксом. За свои деньги - отличный вариант. Но, возможно, за прошедшие 2 года что-то поменялось на рынке и появились другие интересные и недорогие варианты, не слежу.
UAVpilot писал(а):Правильное решение - осциллограф. Анализатор не покажет реальные фронты.
Спорно, осц-ом можно посмотреть один-два канала, а в контексте умножителя потребуется оценить всю картину целиком, т.е. для 4х осей это 16 каналов одновременно.
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 14 янв 2017, 19:00
Serg
Все одновременно-то их зачем смотреть?.. Достаточно смотреть парами: step+dir, step двух каналов для оценки синхронности.
P.S. У меня недавно был случай: SPI аппаратный не работал, хотя анализатор показывал идеальную картинку... а вот осциллограф показал заваленные фронты. Снизил частоту с 8 до 6 МГц и сразу заработало.
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 14 янв 2017, 19:44
MX_Master
Осциллограф есть, на 2 канала. Буду поочередно парами смотреть. Из одноразовых анализаторов в продаже только 8-ми канальные клоны за 5$. 16-ти канальные клоны (от 35$) под этот проект уже не имеет смысла брать. Ибо бюджет получится резиновый, а проект некоммерческий. В общем, как только мощностей STM Studio + STLINK не хватит, а проверять будет надо, тогда буду брать.
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 14 янв 2017, 20:33
tmr
UAVpilot писал(а):Все одновременно-то их зачем смотреть?..
Ну может и не надо, да. Чтобы сказать точно - нужно видеть код программы.
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 15 янв 2017, 09:20
MX_Master
Возникли сомнения при подключении на вход МК пары
step/dir, у которых общий
"+", а не
GND. У контроллера (5V) и МК (3.3V) питание разное. Выход на контроллере выглядит так
Код: Выделить всё
Выход под ось Х
| | | |
STEP+ STEP- DIR+ DIR-
| | | |
+---------------+ |
| | |
----------+------+------+--
| шаговый генератор |
---------------------------
Есть контроллер, у которого на выходе общий
GND. C ним вроде всё понятно - земли соединить, а
"+" сигналы подать на ноги МК через резисторы (2.2 КОм), чтоб ток не превышал
5 мА. Контроллер выдает
80 мА, а для МК это перебор.
А вот с выходом, где общий
"+" я засомневался. Первая мысль была для входных ног включить подтяжку к питанию встроенными резисторами (40 КОм) и подать на ноги МК
"-" сигналы контроллера.
В идеале, канеш, надо опторазвязку.. но тестировать хочется уже сейчас
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 15 янв 2017, 09:34
sidor094
Вообще-то сигналы степ+- и дир+- формирует не контроллер а микросхемы с дифференциальным выходом - передатчикм для 485 интерфейса например max485 .Поэтому если на входе приемника стоят опроны то все равно с общим плюсом или минусом.Земля вообще не присоединяется.В кычестве земли один из выходов.
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 15 янв 2017, 13:50
Woodmaster
В китайских хобби контроллера на выходах СТЕП/ДИР стоят обычные логические буферы. Никаких диф. выходов там нет.
А вот в промышленных "взрослых" системах ЧПУ (если там мспользуются СТЕП/ДИР), то да, стоят диф. передатчики, обычно это АМ26С31. А приемником желательно использовать тоже диф. приемник - АМ26С32.
http://www.ti.com/product/AM26C32
Кроме того, если на входе драйвера стоят оптроны, то для корректной работы драйвера от диф. сгнала, необходимо чтобы светодиод оптрона был зашунтирован диодом во встречном направлении.
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 15 янв 2017, 14:25
Serg
Woodmaster писал(а):Кроме того, если на входе драйвера стоят оптроны, то для корректной работы драйвера от диф. сгнала, необходимо чтобы светодиод оптрона был зашунтирован диодом во встречном направлении.
Зачем?
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 15 янв 2017, 19:35
sidor094
Woodmaster писал(а):В китайских хобби контроллера на выходах СТЕП/ДИР стоят обычные логические буферы. Никаких диф. выходов там нет.
Оптронам все равно обЪединять их по плюсу и управлять минусом или объединять по минусу и управлять плюсом.Единственное что нужно ,это подобрать резистор в зависимости от уровня сигнала.Ну и обеспечить входной ток для включения.
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 15 янв 2017, 21:07
tecnocat
А вот с выходом, где общий "+" я засомневался. Первая мысль была для входных ног включить подтяжку к питанию встроенными резисторами (40 КОм) и подать на ноги МК "-" сигналы контроллера.
Вчера воевал с TB6600 там тоже общий +, инвертировал сигналы в программе, и запитал от +5в стабилизатора ардуино, все заработало, там на входе оптроны стоят, и в больших промышленных драйверах тоже ставят
Re: Умножитель STEP/DIR на STM32 F1/F4
Добавлено: 15 янв 2017, 21:28
MX_Master
Однако, передумал городить резистивный огород на входе, взялся за опторазвязку. Под рукой оказались оптроны
EL817 с донора, а также переменные многооборотные резисторы на
20К. Сообразил на монтажке два входа под одну ось.
Для проверки подцепил мигание светодиодами с макетки по внешним прерываниям. Всё работает. В
STM Studio можно наблюдать шаги и смену направлений. На сегодня пока всё (: Далее для отладки нужен счетчик шагов и замер частоты, чтобы в виде переменных наблюдать их в
STM Studio по ходу проверки. Заодно выясню насколько быстро и точно работает механизм отлова внешних прерываний.
После всей радости, было бы грустно узнать, что механизм не сможет выловить все шаги на входе хотя б до 50 КГц. В общем, будем посмотреть.
Спасибо всем, кто направил меня на путь опторазвязки
