Управление щаговым двигателем из Delphi XE1
- Войдите на сайт для отправки комментариев
Мне требуется осуществить управление шаговым двигателем из Windows-программы, написанной на Embarcadero Delphi XE1 на одноплатном компьютере 110991412 Odyssey Blue, который работает под Windows 10. Мне сказали, что на одноплатном компьютере 110991412 Odyssey Blue можно поднять (или он там встроен) Arduino.
Знакомый специалист поделился следующим:
Там интересная ситуация - к процессору подключен микроконтроллер прошитый и биос завязан с ним, то есть аппаратно они работают в некой связке. далее можно написать прошивку для работы микроконтроллера в том режиме,котором нам удобнее. помнишь я тебе показывал команды для управления GPIO - вот они подключены к этому микроконтроллеру. Насчет поднять ардуино-совершенно точно,сейчас увидел что через Arduino IDE можно его прошивать. шикарная вещь. https://wiki.seeedstudio.com/ODYSSEY-X86J4105/#arduino-ide-doesnt-recogn... тут выложены модели, мануал и драйвера для платы.
Для примера можно использовать драйвер шагового двигателя https://3d-diy.ru/wiki/arduino-moduli/drajver-shagovogo-dvigatelya-a4988/
Вопрос от чайника: как обратиться из Windows-программы, написанной на Delphi, к плате управления шаговым двигателем через Arduino (например, через команды "количество шагов" и "направление вращения").
Как можно подружить на одноплатном компьютере программу на Delphi XE1 и Arduino на одноплатном компьютере?
Судя по тому, что я видел в интернете, та ардуина, что там сидит на плате, отзывается как обычно по какому-то ком-порту.
Поэтому отдельно пишете/находите скетч управления шаговым двигателем через такой драйвер. Загружаете его в эту ардуину.
А общаться с этой ардуинкой из любой программы хоть на дельфи писаной, хоть на чём, проще всего так же через ком порт. Для дельфей можно готовый компонент для работы с ком-портом найти.
Короче есть две задачи, решаемые по отдельности. Подключение шаговика к ардуино через драйвер и взаимодействие ПК с ардуино. Для обеих несложно найти примеры в сети.
p.s. Уточню, что я в основном ориентировался вот на этот попавшийся мне обзор: https://cnx-software.ru/2020/07/27/obzor-odyssey-x86j4105-sbc-na-baze-gemini-lake-i-arduino-s-windows-10-enterprise/
Если у автора вопроса какая-то другая модель, то естественно могут быть нюансы.
Мне кажется, если вы задаете такие вопросы, то для вас это будет непосильная задача, ну а по сути:
судя по описанию 110991412 Odyssey Blue, там два процессора, один из которых ARM Cortex + Raspberry Pi 40pin стандартный, как этот процессор связан на плате с Celeron читайте документацию производителя. Я бы сделал на Linux открытый UDP сетевой сокет, в который программа на Windows бы пинала команды, а уже программа на Linux рулила бы GPIO двигателя.
А в Delphi адаптировать скетчи для Arduino нельзя?
А в Delphi адаптировать скетчи для Arduino нельзя?
можно, если можете напрямую GPIO портами управлять, почему жеж нет
А в Delphi адаптировать скетчи для Arduino нельзя?
похоже вы вообще ничего не поняли.
повторяю - у вас на плате два процессора - для одного программы пишутся в Дельфи. а для другого - в ардуино. Это два разных проца, понимаете?
Поэтому "адаптировать скетчи ардуино для дельфи", даже если бы это было возможно - не имеет смысла.
В описании написано, что ODYSSEY - X86J4105 содержит Integrated Arduino Coprocessor ATSAMD21 ARM® Cortex®-M0+. Его использовать нельзя для управления шаговым двигателем и как это можно сделать?
Извините, но из одного процессора (Windows 10) обратиться к другому (Arduino) возможно? И как это сделать?
Извините, но из одного процессора (Windows 10) обратиться к другому (Arduino) возможно? И как это сделать?
возможно, иначе эта сборка из двух процев не имела бы смысла.
А вот как - изучайте доки к своему Одиссею...
Млин, проще все же как выше писали через COM-порт, если так все «сложно» у тс.
Млин, проще все же как выше писали через COM-порт, если так все «сложно» у тс.
из под LINUX пины доступны, а вот как обстоят дела с виндою, загадка, по идее должны быть видны, так как инициализируются в биосе
TC покажи ка нам Диспетчер устройств!
Вот так программироваешь ардуину встроенную: https://wiki.seeedstudio.com/ODYSSEY-X86J4105/#using-the-arduino-core-at...
Я думаю, что тудыть надобно залить какой-нить grbl, подключить через 28pin header дривер шагового и метать с Дельфи в ком-порт команды грбл-у. Он пусть уже мотор крутит.
Пинаут: https://wiki.seeedstudio.com/ODYSSEY-X86J4105/#pinout-diagram
что-то ты ТСу хочешь сильно жизнь упростить )))
Да даже и без grbl гугл по запросу "arduino A4988" тучу уроков и примеров выдаёт. Главное уяснить, что программирование на этой плате по сути принципиально не будет отличаться от "обычного", когда есть отдельно ПК и отдельно ардуино.
Специалисты, к которым я обращался, рекомендуют обращаться из процессора Intel® Celeron® J4105 в процессор Arduino Core coprocessor (ATSAMD21G18) через com-порт. Как можно это сделать? Можете привести листинги программ для Intel® Celeron® J4105 (например. на Delphi) и для Arduino Core coprocessor (ATSAMD21G18)?
Спасибо. Мне нужно иметь две вещи: работа на Delphi с Ардуино на обычном компьютере видимо через com-порт и работа на Delphi с Ардуино на одноплатном компьютере ODYSSEY - X86J4105.
Спасибо. Мне нужно иметь две вещи....
вы ошиблись в одной букве: вам нужно _уметь_ две вещи... Научится этому вы можете только сами. Не думаю, что кто-то тут станет рыть за вас документацию, чтобы разобраться, как на вашей плате обратится к МК через ком-порт...
Специалисты рекомендуют обращаться к Arduino Core coprocessor (ATSAMD21G18) через com-порт. Как можно это сделать?
судя по этому вопросу, знания у вас на эту тему чуть менее чем нулевые. Читать вам курс компьютерной грамотности никто не будет, так что готовьтесь рыть исходники сами.
Начните с запроса к гуглю что-то типа "arduino delphi comport" - получите кучу ссылок, так как тема эта поднимается постоянно и примеров кода в инете куча
Вот хотя бы даже на нашем сайте https://arduino.ru/forum/programmirovanie/com-port-kak-svyaz-programmy-na-delphi-s-arduino
Прошу прощения, забыл сказать: мне с компьютера нужно управлять тремя шаговыми двигателями. Для этого нужна какая-то шина?
Прошу прощения, забыл сказать: мне с компьютера нужно управлять тремя шаговыми двигателями. Для этого нужна какая-то шина?
смотря какие двигатели и через какие драйвера включаются
Прошу прощения, забыл сказать: мне с компьютера нужно управлять тремя шаговыми двигателями. Для этого нужна какая-то шина?
смотря какие двигатели и через какие драйвера включаются
Например, этими: https://3d-diy.ru/wiki/arduino-moduli/drajver-shagovogo-dvigatelya-a4988/
У человека, видимо, какое-то патологическое отторжение к чтению инструкций.
Прошу прощения, забыл сказать: мне с компьютера нужно управлять тремя шаговыми двигателями. Для этого нужна какая-то шина?
Думаю, что вам нужно посидеть и хорошо подумать над тем, что ещё забыто. Нарисовать общую схему и т.д. и только после этого интересоваться конкретикой.
На абстрактный вопрос о возможности управления я ответил. Разрабатывать за вас ваше устройство будут в разделе "Ищу исполнителя".
Прошу прощения, забыл сказать: мне с компьютера нужно управлять тремя шаговыми двигателями. Для этого нужна какая-то шина?
Например, этими: https://3d-diy.ru/wiki/arduino-moduli/drajver-shagovogo-dvigatelya-a4988/
для "например этих" никакая "шина" не нужна, они управляются непосредственно через пины МК
Но я полностью согласен с Садманом41 - судя по вопросам, у вас пока никакого плана работы нет, а значит тратить время на обьяснение вам каких-то конкретных моментов смысла мало - у вас это все еще 100 раз поменяется и сведения не пригодятся...
Более того, может вы еще вообще откажетесь от этой затеи....:) так для чего на вас время тратить
ТС ищет халявы (
а плата мне понравиласиь, ТС ! Высылай плату, помогу разобраться, получится практически безвозмездно
ЗЫ а чё, только одному СКИФУ можно )))