As_motion_lab
Чт 10 января 2019 г. 11:40
Всем привет,
Надеюсь, вы, ребята, сможете помочь!
Я использую TMC2130Stepper Библиотека, чтобы установить различные параметры удивительного драйвера TRINAMIC TMC2130 Stepper Motor в моем эскизе.
Это конфигурация с одним выстрелом через SPI, которая устанавливает кучу регистров на драйвере, а затем драйвер использует классическое управление шагом/направлением впоследствии.
TMC2130Stepper Lib не написан для STM32, но мне удалось заставить его компилировать и работать.
Первоначально он не скомпилировался из -за DataType contexPR, используемого в TMC2130STEPPER_REGDEFS.час.
Я переименовал каждый экземпляр contexpr в const, и он скомпилировал и работает.
Вот ответ от автора библиотеки об этом: https: // github.com/teemuatlut/tmc2130stepper/weleps/54
Но как только я инициализирую TMC2130, он убивает скорость STM32, и начинает ползать.
Надеюсь, вы, ребята, сможете помочь!
Я использую TMC2130Stepper Библиотека, чтобы установить различные параметры удивительного драйвера TRINAMIC TMC2130 Stepper Motor в моем эскизе.
Это конфигурация с одним выстрелом через SPI, которая устанавливает кучу регистров на драйвере, а затем драйвер использует классическое управление шагом/направлением впоследствии.
TMC2130Stepper Lib не написан для STM32, но мне удалось заставить его компилировать и работать.
https: // github.com/teemuatlut/tmc2130stepper
Первоначально он не скомпилировался из -за DataType contexPR, используемого в TMC2130STEPPER_REGDEFS.час.
Я переименовал каждый экземпляр contexpr в const, и он скомпилировал и работает.
Вот ответ от автора библиотеки об этом: https: // github.com/teemuatlut/tmc2130stepper/weleps/54
Но как только я инициализирую TMC2130, он убивает скорость STM32, и начинает ползать.
driver.begin(); // Initiate pins and registeries
Беннебой
Чт 10 января 2019 г. 14:11
Можете ли вы показать нам свой код для построения шагового объекта?
Беннебой
Чт 10 января 2019 г. 14:15
PS, см. Это -> https: // форум.Ардуино.CC/INDEX.PHP?Тема = 384478.0
As_motion_lab
Чт 10 января 2019 г. 15:05
[Беннебой - Чт 10 января 2019 г. 14:11] - Можете ли вы показать нам свой код для построения шагового объекта?Спасибо, я проверю ссылку.
Вот Contsructor:
TMC2130Stepper driver = TMC2130Stepper(EN_PIN, DIR_PIN, STEP_PIN, TMC_CS_PIN);
Беннебой
Чт 10 января 2019 г. 15:44
Хорошо, ну, это первое, что уходит с дороги, мне было интересно, использовали ли вы SW SPI, но нет.
Возможно, следите за чтением ContexPR, не уверен, какое ядро вы используете, но Roger использует стандарты GNU11.
Возможно, следите за чтением ContexPR, не уверен, какое ядро вы используете, но Roger использует стандарты GNU11.
As_motion_lab
Чт 10 января 2019 г., 16:54
Спасибо.
Я постараюсь заставить Contexpr и оригинальную версию библиотеки работать в Arduino.
Я постараюсь заставить Contexpr и оригинальную версию библиотеки работать в Arduino.
Рик Кимбалл
Чт 10 января 2019 г., 17:04
Если вы используете новый компилятор, Arm-None-Eabi-GCC 7.3.1 Например, он собирает код. Материал contexpr полностью поддерживается в более новой версии. Однако, конечно, текущий arduino_stm32 имеет ошибки с __always_inline thing. Также, вероятно, это не было так много проверить с более новым GCC. Кроме того, вы должны взломать платформу.TXT, чтобы он использовал новый компилятор.
Просто еще одна точка данных.
Просто еще одна точка данных.
Рик Кимбалл
Чт 10 января 2019 г., 17:21
На самом деле пример программ TMC2130Stepper с компиляцией с Arm-none-ebi-gcc 4.8.3. ...
Беннебой
Чт 10 января 2019 г., 19:10
Интересно, использует ли OP альтернативная IDE... Может объяснить, почему у него были проблемы с компиляцией...
As_motion_lab
Пт 11 января 2019 г. 1:18
Ну, я буду чертовски!
Я использую стандартную Arduino IDE на своей Dev Machine, но он должен быть устаревшим. Я накопил огромное количество библиотек, поэтому всегда немного опасаюсь обновления, они часто ломаются больше, чем исправляют!
Я только что установил на новой машине, новейший Arduino, Roger Clark STM Core, библиотека TMC2130, и он действительно компилируется без необходимости взлома.
Я проверю его на устройстве в ближайшие несколько дней и сообщу, как оно пойдет.
Ура, ребята!
Я использую стандартную Arduino IDE на своей Dev Machine, но он должен быть устаревшим. Я накопил огромное количество библиотек, поэтому всегда немного опасаюсь обновления, они часто ломаются больше, чем исправляют!
Я только что установил на новой машине, новейший Arduino, Roger Clark STM Core, библиотека TMC2130, и он действительно компилируется без необходимости взлома.
Я проверю его на устройстве в ближайшие несколько дней и сообщу, как оно пойдет.
Ура, ребята!
Mrburnette
Пт 11 января 2019 г. 3:57 утра
[As_motion_lab - Пт 11 января 2019 1:18] - ...Универсальная проблема; Я решил здесь, купив два (2) идентичные блокноты бизнес-класса без аренды. Я установил SSD среднего размера как в Mint, так и в Linux Mint, моя ОС по выбору. Общие расходы составили половину стоимости новой (1) ноутбука Dell с более низкими характеристиками! Старый настольный компьютер (также восстанавливается) действует как лабораторный сервер, на котором находятся все версии всего исходного кода (рабочие каталоги источника застегнуты перед любыми сеансами редактирования.) Я также продолжаю соответствовать ZIP различных ядер и инструментов. Драйвы Terabyte оценены так, что я настоятельно рекомендую два (2) ... Один основной и один USB организовал резервную копию. Если вы никогда не теряли исходный код, вы живете в заимствованное время, статистически говоря
Я использую стандартную Arduino IDE на своей Dev Machine, но он должен быть устаревшим. Я накопил огромное количество библиотек, поэтому всегда немного опасаюсь обновления, они часто ломаются больше, чем исправляют!
...!
Луча
As_motion_lab
Солнце 13 января 2019 13:12
Спасибо за информацию
К сожалению, проблема несколько развилась.
Я удалил/переустановил свой Arduino Ide, Rogerclarke STM32 Core, TFT, Touch, TMC2130 и, действительно, библиотека TMC2130 в его стандартной форме без ошибок из -за -std = GNU ++ 11 11 - horay.
Но теперь, когда библиотека TMC2130 инициализирована с драйвером.begin (), вместо STM32, просто работающего очень медленно, он медленно работает и Обновления экрана TFT облажаются. Кажется, что библиотека TMC2130 делает что -то с автобусом SPI, что несовместимо с другими устройствами на нем.
Я могу воспроизвести это по требованию - если я прокомментирую драйвер.Begin (), экран TFT быстро обновляется и выходы на основе сенсорного входа мгновенно реагируют.
Если я не могу.begin (), обновления экрана TFT странные (новые данные делают несколько линий вспыхивать/выключение), а выходы отстают/задерживаются, но шаг ведет так, как и ожидалось, с изменяющимся током TMC2130, невидимкой и т. Д. ожидал.
К сожалению, проблема несколько развилась.
Я удалил/переустановил свой Arduino Ide, Rogerclarke STM32 Core, TFT, Touch, TMC2130 и, действительно, библиотека TMC2130 в его стандартной форме без ошибок из -за -std = GNU ++ 11 11 - horay.
Но теперь, когда библиотека TMC2130 инициализирована с драйвером.begin (), вместо STM32, просто работающего очень медленно, он медленно работает и Обновления экрана TFT облажаются. Кажется, что библиотека TMC2130 делает что -то с автобусом SPI, что несовместимо с другими устройствами на нем.
Я могу воспроизвести это по требованию - если я прокомментирую драйвер.Begin (), экран TFT быстро обновляется и выходы на основе сенсорного входа мгновенно реагируют.
Если я не могу.begin (), обновления экрана TFT странные (новые данные делают несколько линий вспыхивать/выключение), а выходы отстают/задерживаются, но шаг ведет так, как и ожидалось, с изменяющимся током TMC2130, невидимкой и т. Д. ожидал.
mausi_mick
Солнце 13 января 2019 13:49
У меня были некоторые проблемы ILI9341-SPI-TFT-Display и MCP48X2 (SPI-DAC) и MCP6S2X (усилитель SPI) на одном и том же SPI-BUS.
Я изменил MCP48x2 на SPI2, и проблема была решена.
Я изменил MCP48x2 на SPI2, и проблема была решена.
As_motion_lab
Солнце 13 января 2019 14:23
[mausi_mick - Солнце 13 января 2019 г. 13:49] - У меня были некоторые проблемы ILI9341-SPI-TFT-Display и MCP48X2 (SPI-DAC) и MCP6S2X (усилитель SPI) на одном и том же SPI-BUS.Когда вы опубликовали это, я просто ударил загрузку после того, как сделал что -то очень похожее
Я изменил MCP48x2 на SPI2, и проблема была решена.
И я думаю, что это может работать сейчас!
Я копал в папке библиотеки TMC2130 и нашел SW_SPI.CPP и SW_SPI.H файлы и после дальнейшего раскопока.
Было несколько строк архитектурных проверок и комментариев о тактовых скоростях, поэтому я подумал, что библиотека TMC2130 инициализация на штифтах HW SPI и, вероятно, перезаписывает скорость SPI или столкновение с другими устройствами.
А потом я обнаружил более длинный конструктор в одном из примеров набросков, которые включают в себя булавки MOSI, MISO и SCK - так что это означает, что библиотека работает на любых контактах, которые вы указали, как предназначено для программного SPI!
TMC2130Stepper driver = TMC2130Stepper(EN_PIN, DIR_PIN, STEP_PIN, TMC_CS_PIN, TMC_MOSI_PIN, TMC_MISO_PIN, TMC_SCK_PIN);