Умножитель частоты шагов на STM32

Контроллеры, драйверы, датчики, управляющие устройства.

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

Сообщение MX_Master » 08 дек 2016, 18:30

Ну что ж, первый тест обновленного механизма с замерами периодов, выглядит уже лучше

Умножитель частоты шагов на STM32 2016-12-08_212507.png

В умножителе пуриков, по-моему один Кортекс М3 стоит
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3305
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1725
Медальки:
Настоящее имя: Михаил

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

Сообщение Mamont » 08 дек 2016, 18:51

Еще одну вещь выскажу. Сделать фильтр сигналов, где ДИР на высоких скоростях внезапно меняет направление и потом обратно. Их игнорировать, принимать за предыдущее.

Прелюдией стало то, что поменял в своем драйвере реакцию на СТЕП.Реагировал не по фронту, а спаду сигнала. Казалось бы какая в ж разница.... Но прогоны показали неждачники. Некотороые импульсы с положительным DIR принимались за дир =0, и контроллер вместо положительного направления выдавал отрицательное.
Осцилограффом просмотрел поведение ДИРа: когда степ прыгает в "1", дир когда он уже высокий, делает короткое шило вверх, когда Степ падает в 0, Дир проваливается тоже (не до нуля, но с 4.5 в до 1.5-2 было).
Осцилом посмотрел сигнал на компе на работе, а комп который со станком - дома.
Аватара пользователя
Mamont
Мастер
 
Сообщения: 490
Зарегистрирован: 10 дек 2015, 12:21
Откуда: РБ Минск
Репутация: 60
Настоящее имя: Виталий

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

Сообщение Morroc » 08 дек 2016, 22:17

А это не то, о чем в этой теме писали ? http://www.cnc-club.ru/forum/viewtopic.php?f=41&t=3413&hilit=smoothstepper&start=20 #36

MX_Master писал(а):Я не думаю, что Михаил будет доволен, если мы сделаем бесплатный аналог степмастера (: Поэтому я делаю заведомо хуже и на одном недорогом МК.

Круче было бы USB контроллер с плагином для Mach на ардуине за $1.5. Тут бы даже китайцы наехали :D
Morroc
Мастер
 
Сообщения: 201
Зарегистрирован: 22 ноя 2015, 03:17
Репутация: 22
Настоящее имя: Александр

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

Сообщение selenur » 08 дек 2016, 22:31

Morroc писал(а):Круче было бы USB контроллер с плагином для Mach на ардуине за $1.5. Тут бы даже китайцы наехали :D

С USB уже не раз тут тема обсасывалась, что из-за специфики работы интерфейса, слишком много сложностей для рядового пользователя, появляется с учетом различных помех, нестабильного питания и прочего.
И человеку найти проблему почему не работает, может быть куда сложнее, чем разобраться с LPT.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 3713
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1299
Медальки:
Настоящее имя: Сергей

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

Сообщение MX_Master » 09 дек 2016, 07:16

Morroc писал(а):А это не то, о чем в этой теме писали ? http://www.cnc-club.ru/forum/viewtopic.php?f=41&t=3413&hilit=smoothstepper&start=20 #36

MX_Master писал(а):Я не думаю, что Михаил будет доволен, если мы сделаем бесплатный аналог степмастера (: Поэтому я делаю заведомо хуже и на одном недорогом МК.

Круче было бы USB контроллер с плагином для Mach на ардуине за $1.5. Тут бы даже китайцы наехали :D

У меня отлов шага идет по фронту, но если вместе с шагом изменилось направление, то в выходной буфер добавится сначала смена направления с задержками по бокам, а уж потом умноженный шаг.

USB контроллер - это уже вчерашние технологии. И есть же GRBL на дуинке. В моем понимании, лучше Ethernet связь и websocket сервер на контроллере. А вместо Мачей - бесплатная веб-морда.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3305
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1725
Медальки:
Настоящее имя: Михаил

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

Сообщение Сергей Саныч » 09 дек 2016, 09:05

Mamont писал(а):делает короткое шило вверх, когда Степ падает в 0, Дир проваливается тоже
Где-то здесь уже про похожее писал. У некоторых LPT наблюдаются похожие фишки:
LPT - как бывает.PNG
LPT - как бывает.PNG (3.12 Кб) Просмотров: 841
Это особенность аппаратной реализации. При разработке нестандартных устройств, работающих с LPT надо учитывать. И еще: нагрузочная способность по высокому уровню у разных микросхем LPT очень разная - от десятков мА вытекающего тока до почти нулевого (практически схема с ОК).
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7980
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2484
Медальки:

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

Сообщение Morroc » 09 дек 2016, 09:41

На моем даже у разных ног разная. Там где DATA десятки мА и можно входы драйверов подключать, а сигнальные ноги... такое ощущение, что там не выход, а вкл/выкл подтяжка входа к питанию - оптроны не открываются.

MX_Master писал(а):USB контроллер - это уже вчерашние технологии. И есть же GRBL на дуинке. В моем понимании, лучше Ethernet связь и websocket сервер на контроллере. А вместо Мачей - бесплатная веб-морда.

Жаль, что за $1.5 такое счастье невозможно. Кто то ведь покупает USB контроллеры.
USB - вчерашние, тогда завтрашние - это GRBL на esp8266 чтобы сразу по wifi и тоже за $1.5 ? Я бы не против :D
Morroc
Мастер
 
Сообщения: 201
Зарегистрирован: 22 ноя 2015, 03:17
Репутация: 22
Настоящее имя: Александр

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

Сообщение ALS » 09 дек 2016, 12:50

Что-то мне подсказывает, что следом за 1,5-долларовыми "мозгами" здесь появятся полторы сотни страниц с плясками вокруг них.
Не проще сразу потратить более-менее адекватную сумму, но сразу начать работать, чем прошивать/перепрошивать, каждый раз находя грабли в самых необычных местах ?
Аватара пользователя
ALS
Опытный
 
Сообщения: 158
Зарегистрирован: 15 ноя 2013, 01:46
Откуда: Севастополь
Репутация: 159

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

Сообщение MX_Master » 09 дек 2016, 14:53

Цена аппаратного решения моей задачи в этой теме начинается от 7$. А для любителей паяльника - чуть меньше. Зато программная цена минимум на 50$

Пока аппаратная часть застряла не пойми где, решил глянуть в сторону Кортекса М4. Сижу изучаю. Чуток посложнее AVR'ов. Макетка с таобао выйдет всего 8$ с STM32F407VET6 на борту. Думаю, надо брать, кажись, быстрее приедет чем ардуинка (:
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3305
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1725
Медальки:
Настоящее имя: Михаил

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

Сообщение sidor094 » 09 дек 2016, 17:47

Берите.По сравнению с атмегой небо и земля.Программная часть ничуть не сложнее.А сложность управления устройствами окупается их возможностями.И забудьте об Ардуино
sidor094
Мастер
 
Сообщения: 300
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 34

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

Сообщение MX_Master » 09 дек 2016, 20:04

sidor094 писал(а):Берите.По сравнению с атмегой небо и земля.Программная часть ничуть не сложнее.А сложность управления устройствами окупается их возможностями.И забудьте об Ардуино

Полностью с вами согласен.

Углубился немного в тему Кортексов.. И откопал для своей задачи отличную фичу - аппаратный отлов логических 1/0 на входных пинах. Можно отслеживать все 16 пинов любого порта, на обработку есть 7 отдельных обработчиков прерываний. Т.е. не надо пины вручную мониторить (как сейчас на AVR'ке). Можно просто вызвать прерывание, когда значение на пине поменялось.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3305
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1725
Медальки:
Настоящее имя: Михаил

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

Сообщение selenur » 09 дек 2016, 20:16

MX_Master писал(а):
sidor094 писал(а):Берите.По сравнению с атмегой небо и земля.Программная часть ничуть не сложнее.А сложность управления устройствами окупается их возможностями.И забудьте об Ардуино

Полностью с вами согласен.

Углубился немного в тему Кортексов.. И откопал для своей задачи отличную фичу - аппаратный отлов логических 1/0 на входных пинах. Можно отслеживать все 16 пинов любого порта, на обработку есть 7 отдельных обработчиков прерываний. Т.е. не надо пины вручную мониторить (как сейчас на AVR'ке). Можно просто вызвать прерывание, когда значение на пине поменялось.

В авр есть прерывания, по изменению фронтов на одном из выводов порта (но нужно будет потом узнавать на каком выводе), есть прерывания на изменение фронта на паре конкретных выводов. В стм конечно поудобнее данная реализация.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 3713
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1299
Медальки:
Настоящее имя: Сергей

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

Сообщение sidor094 » 09 дек 2016, 20:32

На стм по сравнению с авр огромное количество аппаратных возможностей(это даже если даже не говорить о производительности) особенно для чпушников.Контроллер энкодера,трехфазного двигателя,куча возможностей таймеров(например двунаправленный счет есть только у стм) да исамих таймеров 11 штук.Не говоря о различных интерфейсах передачи данных.На некоторых контроллер тфт дисплея.Я на своём кортексе(правда не стм а лцд) подключил в качестве дисплея монитор вга.
sidor094
Мастер
 
Сообщения: 300
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 34

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

Сообщение tmr » 09 дек 2016, 21:22

На мегах прерывания есть, выше уже сказали. Но прерывания на меге обходятся довольно дорого и обрабатывать их нужно максимально быстро. Т.ч. проще обрабатывать сигнал в главном цикле - две операции на 4-6 тактов процессора.
tmr
Новичок
 
Сообщения: 30
Зарегистрирован: 24 июн 2016, 23:09
Репутация: 2

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

Сообщение Morroc » 09 дек 2016, 21:23

Стм конечно лучше и даже тупо в лоб намного быстрее (а скорее всего еще лучше эта задача в ПЛИС ложится), но тут как с grbl из соседней темы - его ведь не просто так продолжают пилить на ардуине - их и на руках дофига и проблем с заливкой в ардуину для кучи народу меньше. Буквально пару месяцев назад наблюдал на радиолюбительском форуме некий апгрейд одной конструкции с ардуины на новую отдельную плату без использования готовой "nano" (но с той же мегой и прочим) - десяток страниц проблем с прошивкой и фьюзами нафлудили моментом, а до того заливали в ардуину и почти ни у кого это вопросов не вызывало.
Morroc
Мастер
 
Сообщения: 201
Зарегистрирован: 22 ноя 2015, 03:17
Репутация: 22
Настоящее имя: Александр

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

Сообщение UAVpilot » 09 дек 2016, 21:41

Morroc писал(а):проблем с заливкой в ардуину для кучи народу меньше

Для stm32 достаточно com порта (usb-com) с ttl уровнями или даже просто usb.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 16858
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4149
Медальки:
Настоящее имя: Сергей

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

Сообщение selenur » 09 дек 2016, 21:54

Morroc писал(а):Стм конечно лучше и даже тупо в лоб намного быстрее (а скорее всего еще лучше эта задача в ПЛИС ложится), но тут как с grbl из соседней темы - его ведь не просто так продолжают пилить на ардуине - их и на руках дофига и проблем с заливкой в ардуину для кучи народу меньше. Буквально пару месяцев назад наблюдал на радиолюбительском форуме некий апгрейд одной конструкции с ардуины на новую отдельную плату без использования готовой "nano" (но с той же мегой и прочим) - десяток страниц проблем с прошивкой и фьюзами нафлудили моментом, а до того заливали в ардуину и почти ни у кого это вопросов не вызывало.


Как сказал "UAVpilot" stm прошить куда проще, особенное если учесть что в stm уже имеется вшитый бутлоадер, который убить в принципе невозможно. В отличие от AVR где можно так залочить МК что без спец программатора, его обратно не разблокировать....

А с ардуин не переходят многие, лишь из-за того что это требует не мало сил в изучении нового, и кучи времени на адаптацию под новый МК.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 3713
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1299
Медальки:
Настоящее имя: Сергей

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

Сообщение MX_Master » 09 дек 2016, 21:57

Дуинок очь много, да, но я, все-таки, попробую сделать на меге2560. Однако, такую же макетку с Кортексом М4 тоже не проблема купить на АЛИ (12$) + 1$ за USB-UART переходник. Бинарники будут лежать в этой теме. А для любителей и проффесионалов портирования исходники положу на гитхаб. Туда же залью версию под М4, которая будет на порядок быстрее
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3305
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1725
Медальки:
Настоящее имя: Михаил

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

Сообщение Morroc » 09 дек 2016, 22:38

Есть еще вот такой вот промежуточный вариант с usb-загрузчиком и возможностью ардуинить :) https://www.aliexpress.com/item/leaflabs-Leaf-maple-mini-ARM-STM32-compatibility/32214664071.html
правда драйвера без цифровой подписи и вообще встают с бубном, но зато шьется по usb.
Morroc
Мастер
 
Сообщения: 201
Зарегистрирован: 22 ноя 2015, 03:17
Репутация: 22
Настоящее имя: Александр

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

Сообщение MX_Master » 10 дек 2016, 21:41

Теперь понятно почему порог у входа в разработку под STM32 гораздо выше чем у ардуинок. Найти, выбрать и настроить софт для разработки - целая головомойка. Пробовал Keil, IAR-EWARM, CoIDE V2. Дольше всех мучал связку "CoIDE_V2Beta + GNU ARM Embedded Toolchain + ST Link Utility". 2-я версия CoIDE настолько поменялась в сравнении с 1.Х.Х, что без пузыря не разобраться.

Может, кто из знающих людей посоветует начальный проверенный наборчик для разработки?
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3305
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1725
Медальки:
Настоящее имя: Михаил

Пред.След.

Вернуться в Электроника

Кто сейчас на конференции

Зарегистрированные пользователи: alexxx666, Bing [Bot], Duhas, FL@gMan, Google [Bot], Igor_Z, kupidon1979, Majestic-12 [Bot], mr_zhilyaev, Sh_Juri, Yandex [bot], Канатекс

Поделиться

cron
Reputation System ©'