Причем в лучшую сторону. В плане реалтайма.MX_Master писал(а):Работа с МК напрямую немного отличается от работы программ в операционной системе.
Шаговый генератор на STM32 (STEP/DIR/ENBL)
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
Чудес не бывает. Бывают фокусы.
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
для МК есть мини ОС реального времени, но для двух-трёх задач их использовать - только ресурс потратитьСергей Саныч писал(а):Причем в лучшую сторону. В плане реалтайма.MX_Master писал(а):Работа с МК напрямую немного отличается от работы программ в операционной системе.
-
slavik
- Кандидат
- Сообщения: 51
- Зарегистрирован: 13 июл 2017, 15:26
- Репутация: 3
- Откуда: Благовещенск, Амурская обл.
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
Желание есть большое. Сразу понял, что LinuxCNC мощная система. Но делал несколько подходов разобраться в исходниках - только больше запутываюсь. Надо собраться основательно.Сергей Саныч писал(а):А если есть огромное желание, можно попробовать разобраться в коде планировщика LinuxCNC (код открытый) и попытаться сделать что-то подобное на ваших МК.
Байт код - дело хорошее, к сожалению с оперативкой у контролеров туго. Тоже думал 4 шага вперед маловато, но как увидел скорость в два раза быстрее, пока оставил как есть.))MX_Master писал(а):В идеале gcode файл должен быть на SD карте и, до начала работы УП, этот файл нужно переварить в другой файл с компактным байт кодом.
Спасибо возьму на вооружение понятие. Но гордость взяла, что китайская "кляча" так не может.)))aftaev писал(а):Называется это Look ahead во всех нормальных ЧПУ есть, некоторые умеют "просматривать" код на заданное кол-во.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
Работа планировщика чем именно будет отличаться?..MX_Master писал(а):Работа с МК напрямую немного отличается от работы программ в операционной системе.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
его работа будет прерываться режеUAVpilot писал(а):Работа планировщика чем именно будет отличаться?..MX_Master писал(а):Работа с МК напрямую немного отличается от работы программ в операционной системе.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
Ну и что? Он-же не в RT работает...MX_Master писал(а):его работа будет прерываться реже
Да и как правило в МК одно ядро, а там, где есть ОС сейчас уже несколько ядер.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
и в одном МК бывают сопроцессоры, товарищи из проекта Smoothieware все-таки решили пересесть с кортекса М3 на М4 с сопроцессором М0. Но, если подводить итог, у нас дискуссия на бесполезную тему. Если б можно было на настольных ОС с RT извернуться и как-нибудь сделать стабильный высокочастотный вывод шагов, я бы с генераторами на медленном одноядерном STM32 не заморачивался.UAVpilot писал(а):Ну и что? Он-же не в RT работает...MX_Master писал(а):его работа будет прерываться реже
Да и как правило в МК одно ядро, а там, где есть ОС сейчас уже несколько ядер.
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
Я думаю, что ваш STM32F407VET6 вполне справится и один, но если разбивать задачи на несколько МК, то можно их объединить по SPIslavik писал(а):И вот я так и не придумал как это можно реализовать, если разделить задачи на несколько контролеров. (только если вводить дополнительные команды G кода
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
Тут уже назывались в качестве примера платы Mesa и макетки за 15$.MX_Master писал(а):Если б можно было на настольных ОС с RT извернуться и как-нибудь сделать стабильный высокочастотный вывод шагов, я бы с генераторами на медленном одноядерном STM32 не заморачивался.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
Весь комплект в сборе
Пора опробовать Ethernet соединение, TCP и HTTP. А также проверить одновременную работу с SD картой и работу по сети..
Пора опробовать Ethernet соединение, TCP и HTTP. А также проверить одновременную работу с SD картой и работу по сети..
-
slavik
- Кандидат
- Сообщения: 51
- Зарегистрирован: 13 июл 2017, 15:26
- Репутация: 3
- Откуда: Благовещенск, Амурская обл.
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
Пока что справляется замечательно. )) Буду перенимать опыт ускорения и торможения по S кривой, там видно будет.MX_Master писал(а):Я думаю, что ваш STM32F407VET6 вполне справится и один, но если разбивать задачи на несколько МК, то можно их объединить по SPI
По поводу SPI вроде понимаю, вопрос в том какими блоками данных обмениваться:
- если передавать большие блоки, то нужно много оперативки да процессорное время будет теряться на обработку, тут есть смысл работать одному контролеру;
- если маленькими блоками, то нужны методы высчитывания с хирургической точностью эти порции байт кода, что бы время импульсов на мотор не терять. Так как код неоднородный будет.
Надо веб камеру с веб интерфейсом, что бы мы форумом тоже погоняли его.))))MX_Master писал(а):Пора опробовать Ethernet соединение, TCP и HTTP. А также проверить одновременную работу с SD картой и работу по сети..
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
Очень мелкими, желательно, без ответов. Имеет смысл только генератор вывести на отдельный МК, там пойдут и мелкие 8-ми битные команды, чисто приказы отдавать. Ну и DMA для передачи можно задействовать, чтобы чуток разгрузить проц.slavik писал(а):По поводу SPI вроде понимаю, вопрос в том какими блоками данных обмениваться:
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
Походу надо предусмотреть возможность подключения генератора к другим устройствам по SPI как ведомого устройства. Это позволит подрубить генератор к любым одноплатникам (типа Orange Pi) или другим МК. К той же ардуине.
Пока настраивал SPI, понял, что DMA каналов на всё не хватит. У мк STM32F103C8T6 их всего 7, а для полного счастья нужно 8, иначе придётся передачу по одному из SPI делать процем. Походу надо отделять генератор в отдельную платку (6-ти каналов DMA хватит), а какие-то мозги или вебморду делать на другой платке. Иными словами, чтобы сделать полноценный контроллер на базе этого генератора, надо перепрыгнуть на МК, где периферии количественно больше, например STM32F407VET6
Пока настраивал SPI, понял, что DMA каналов на всё не хватит. У мк STM32F103C8T6 их всего 7, а для полного счастья нужно 8, иначе придётся передачу по одному из SPI делать процем. Походу надо отделять генератор в отдельную платку (6-ти каналов DMA хватит), а какие-то мозги или вебморду делать на другой платке. Иными словами, чтобы сделать полноценный контроллер на базе этого генератора, надо перепрыгнуть на МК, где периферии количественно больше, например STM32F407VET6
-
slavik
- Кандидат
- Сообщения: 51
- Зарегистрирован: 13 июл 2017, 15:26
- Репутация: 3
- Откуда: Благовещенск, Амурская обл.
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
У меня на этом мк камнем приткновения встало отображение информации. Подключил экран от нокии 3310 - отлично, ресурсы почти не ест, но мелковат он. Начал подключать серьезнее - 3.2 дюйма от ардуины. На этом мк нет встроенного LCD-TFT контролера, поэтому имеет большую нагрузку на процессор, что плохо. А вот в этой же линейке мк STM32F429xx/439xx есть такое устройство. Но цены на них кусаются. Или думаю вынести в отдельный контролер это все.MX_Master писал(а): Иными словами, чтобы сделать полноценный контроллер на базе этого генератора, надо перепрыгнуть на МК, где периферии количественно больше, например STM32F407VET6
- Argon-11
- Мастер
- Сообщения: 2068
- Зарегистрирован: 07 июн 2017, 17:48
- Репутация: 461
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
При подключении МК к TFT дисплеям есть смысл использовать спец. контроллеры типа http://schemov.com/tftcomp/
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
Если дисплей где-то и будет, то только на отдельной платке Orange Pi One, куда подключится и прочая периферия. Нагрузить стм'ку дисплеем, флэшкой, сетью, генератором и прочим кодом контроллера - это довольно смело. Даже с учетом повсеместного использования DMA.
- Argon-11
- Мастер
- Сообщения: 2068
- Зарегистрирован: 07 июн 2017, 17:48
- Репутация: 461
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
да не, по моей ссылке как раз разгрузка микроконтроллера - по SPI отправляются только макрокоманды отрисовки примитивов и вывода текста. DMA вообще не требуется.MX_Master писал(а):Нагрузить стм'ку дисплеем
-
slavik
- Кандидат
- Сообщения: 51
- Зарегистрирован: 13 июл 2017, 15:26
- Репутация: 3
- Откуда: Благовещенск, Амурская обл.
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
Сети у меня нет, а так работает достаточно бодро все.)) Ну и пока парсер G-кода на минимально необходимый набор команд (только линейное передвижение). Арткамовские рельефы рисует отлично.MX_Master писал(а):Нагрузить стм'ку дисплеем, флэшкой, сетью, генератором и прочим кодом контроллера - это довольно смело.
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
Я думаю, надо сразу юзать нормальный дисплей. Пока искал данные по разной периферии к STM32F4, видел кучу статей по подключению LCD экранчиков с помощью контроллера внешней памяти - FSMC. По возможности, всегда надо юзать периферию, иначе проц начнёт загибаться еще до всякого контроллера.slavik писал(а):У меня на этом мк камнем приткновения встало отображение информации. Подключил экран от нокии 3310 - отлично, ресурсы почти не ест, но мелковат он. Начал подключать серьезнее - 3.2 дюйма от ардуины. На этом мк нет встроенного LCD-TFT контролера, поэтому имеет большую нагрузку на процессор, что плохо. А вот в этой же линейке мк STM32F429xx/439xx есть такое устройство. Но цены на них кусаются. Или думаю вынести в отдельный контролер это все.
-
slavik
- Кандидат
- Сообщения: 51
- Зарегистрирован: 13 июл 2017, 15:26
- Репутация: 3
- Откуда: Благовещенск, Амурская обл.
- Контактная информация:
Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)
Тоже когда начинал разбираться теплилась надежда, что FSMC - панацея. FSMC в отличии от SPI позволяет работать с контролером экрана по 16 битной шине и дергать ножки управления. Команды же и данные по каждому пикселю приходится слать одиночно, что сильно уже грузит проц. При этом у большого цветного экрана поток данных в несколько больше.MX_Master писал(а): видел кучу статей по подключению LCD экранчиков с помощью контроллера внешней памяти - FSMC
Маленький LCD от нокии был на то время более понятен и прост в подключении, не отвлекал от основных задач. До сих пор достойно выполняет свои функции. Просто код писал так, что-бы можно было быстро адаптировать к другому экрану.MX_Master писал(а):Я думаю, надо сразу юзать нормальный дисплей.