Как стать автором
Обновить
188
0
DataArt @DataArt

Пользователь

Отправить сообщение
Об АЦП
АЦП на борту у Raspberry Pi нету. Можно по I2C подключить внешний ADC, например ads1115 — потенциально 4 канала ADC и 255 устройств на шине. Можно подумать над подключением других внешних ADC и получить еще больше каналов. Так что ограничения возникнут скорее от того, что вы собираетесь делать с данными от этих устройств, чем от количества самих девайсов.

О ШИМ
ШИМ можно реализовать этим методом, ограничением в данном случае будут именно количество ножек процессора и максимальная частота ШИМа. В случае Raspberry Pi, у процессора есть 64 вывода, из которых следует вычесть используемые на самой плате. В реальности на разъем платы выведено 26 выводов, которые доступны для ШИМа таким методом. Хотя потенциально можно было бы использовать все 64 вывода, будь они выведены на разъем и не подключены к чему-нибудь внутри.

В вашем примере, если предположить, что два вывода мы отдадим на подключение ADC, получим 12 устройств.
При скачке скорости у CNC, например с фрезой, фрезу может переломить, если она не сумеет пропилить материал. Да и сам пропил будет плохого качества, если она будет все время дергаться.
Говоря про постоянную скорость, мы скорее имели в виду изменения скорости в более узком временном интервале. А именно, если импульсы на шаговый двигатель буду идти с неправильными (в случае линейного движения с разными) интервалами, мотор будет резко дергаться (ведь фактически мы будем изменять скорость, что моментально нельзя сделать чисто физически), а это будет давать сильные нагрузки на механику устройства.
P.S. Извините, произошла накладка, открыли повторно, действительно потеряли два комментария. Просим прощения у их атворов!
Ресурсы конечны всегда, и производительность ARM-процессора на порядок выше, чем у какого-нибудь STM32. Именно потому, что DMA-каналы могут влиять друг на друга, в статье и предлагается синхронизироваться еще с PWM-модулем на процессоре, а не копировать в лоб.
Если не нравится Python, можно реализовать то же самое хоть на Go, хоть на Java, хоть на чем угодно другом. Вся суть алгоритма сводится как раз к тому, чтобы избежать работы в реальном времени на уровне приложения и передать ее другим аппаратным модулям — пускай они с регистрами и работают.
Программы тоже можно писать на ассемблере, но зачем, когда есть более удобные инструменты.
С помощью DMA управлять шаговыми двигателями микроконтролерами типа stm32 не получится (или это будет притянуто за уши) из-за банальной нехватки оперативной памяти для буфера. А вот просто использовать stm32 без операционной системы/с операционной реального времени можно. Существует множество реализаций, автор статьи так же является автором одной из них.
Для каких-то целей этого вполне достаточно. Но всегда хочется иметь что-то более современное, например, просто подключить полноценный монитор или иметь Wi-Fi на самом блоке управления. Да, безусловно, все это можно реализовать и на маленьком микроконтроллере, но это будет несравнимо сложнее, чем просто вставить usb-донгл в плату (в случае RPi3 он уже сразу есть на плате).
Кроме того, разработка под микроконтроллер, как правило, ведется на Си/Си++, что заметно сложнее, чем писать на Python. Можно долго филосовствовать о плюсах языков высокого уровня, но в любом случае Python обеспечит более простую портируемость одного и того же кода между процессорами/платами/платформами. В случае того же контроллера CNC достаточно лишь реализовать доступ к DMA, и остальная часть, скорее всего, заработает сразу.
Так же не забываем о вопросе производительности. Тот же слайсер для 3d-принтера можно запускать сразу на Raspberry Pi, для микроконтроллера он будет тяжеловат по занимаемому в прошивке месту и производительности.
И опять же производительности микроконтроллера наверняка не хватит, чтобы считать в реальном времени с десяток осей какого-нибудь более сложного устройства. Для Raspberry Pi это не будет большой задачей в принципе, т. к. в случае того же DMA у Raspberry Pi можно управлять выводами платы количеством до 64, т. е. это до 64 шаговых двигателей (за вычетом используемых внутри самой платы и небольшого числа пинов для выбора направления вращения). Есть ARM-процессоры и с большим количеством выводов.
А по поводу стоимости, в статье уже отмечалось, что Raspberri Pi Zero стоит $5 — и это целая плата. Плата с микроконтроллером будет стоить больше $1, и конечная разница все равно окажется смешной.
GDG — некоммерческие организации, за участие в них не платят, денег они сами по себе не зарабатывают. Здесь можно прочитать о них подробно.

Ложки и правда очень крутые!
Здравствуйте, к сожалению, суть претензии ускользает.
Мне кажется, ключево слово в первом предложении — «некоторый». Александр не претендует на звание самого неисправимого из романтиков или самого сурового из аскетов. По-моему, так!
Спасибо! Надеемся, что в этом году все получится!
Это просто мы, коллеги, Александром так гордимся. Сам он только о восхожении говорит! Никаких покорений.
Извините, не удержались! Постарались поместить в самый нейтральный из хабов.
Да, спасибо!)) Это было бы слишком жестким условием!
Да, предстоит понять, к чему это приведет. Будем надеяться на лучшее!
Мы все-таки положились на мнение лидеров практик. В тревеле сейчас вопрос о том, что в принципе будет с консультантами, оказался острым! Но мы понимаем, о чем вы, да)

Представляете, я даже сейчас не вижу. Если что, это перец. Острый. Но теперь понимаю, о чем вы.

Коллеги, большое спасибо за уточнения! Денис, отдельная блегодарность Вам, очень рады знакомству! Внесли некторые уточнения в текст. Будем расширять коллекцию и продолжим знакомить вас с интересными артефактами.
Нет, не смотрели, но обязательно глянем.
Сервер можно развернуть локально всего в одну команду с помощью Docker:
docker run -p 80:80 devicehive/devicehive-standalone
1. Операционная система Windows не имеет нативной поддержки mDNS. Некоторое стороннее ПО, как например Bonjour Print Services ( https://support.apple.com/kb/DL999?locale=en_US ), добавляет данный функционал к системе. Для браузера Chrome обязательно указывайте схему http://, иначе запрос уйдет в поисковик.
2. Сама микросхема может быть точкой доступа. Однако, в прошивке не реализован данный функционал для REST запросов. Есть только режим настройки таким образом — https://geektimes.ru/company/dataart/blog/262110/. В принципе к чипу в таком режиме можно подключиться другим чипом и компьютером. Возможно, сделаем в будущей версии режим точки для REST.
Денис, большое спасибо за уточнения! Мы будем очень рады сотрдничеству с Вами в нелегком деле аттрибуции предметов нашей коллекции! Написали Вам личное сообщение.
Здравствуйте! Написали вам личное сообщение, спасибо!

Информация

В рейтинге
Не участвует
Откуда
США
Дата рождения
Зарегистрирован
Активность