[DIY или Сделай сам, Программирование, Программирование микроконтроллеров, Разработка робототехники, Робототехника] Разработка hexapod с нуля (часть 9) — завершение версии 1.00
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Всем привет! 2 года разработки, 9723 строчек кода и киллограмы пластика сделали свое дело — разработка гексапода подошла к заключительному этапу в рамках текущей версии. К этому этапу проект полностью перешел на красивые зеленые железки, слегка изменен дизайн и появилась трансляция видео. Так же будет клёвое демо-видео. Все выходные были успешно слиты на его съемки и монтаж, надеюсь понравится.
Этапы разработки:
Часть 1 — проектирование
Часть 2 — сборка
Часть 3 — кинематика
Часть 4 — математика траекторий и последовательности
Часть 5 — электроника
Часть 6 — переход на 3D печать
Часть 7 — новый корпус, прикладное ПО и протоколы общения
Часть 8 — улучшенная математика передвижения
Часть 9 — завершение версии 1.00
Силовая часть
Прошлая плата была собрана из того что было в кейсах с компонентами: LM2596S и no-name дроссели. Нехорошо — нужно переделать. На этот раз я решил сделать 6 канальный блок питания по одному каналу на конечность, в качестве DC-DC взял LM2678. Получилась довольно приличная плата:
Нагрузочные тесты показали хорошую эффективность. При нагрузке 4А эффективность преобразования составила 92% при 12В входном и 6.5В выходном напряжении. Один такой канал вытягивает 3 сервопривода без серьезной просадки напряжения (менее 0.2В).
Внутри гексапода плата смотрится просто шикарно — никакого колхоза и висящих проводов.
Плата управления
Данная часть получила минимальные изменения. В функционале осталось все так же, были переразведены USARTы для коммуникации с камерой, перемещены транзисторы для управления светодиодами, изменены тип кнопок BOOT и RESET, ну и всё в таким духе.
Была добавлена возможность управления питанием сервоприводов, т.к. текущие приводы при потере импульса продолжают удерживать последнее положение. Тут всё просто — вывод микроконтроллера подключен к выводу ENABLE микросхемы LM2678 и в случае ошибки или разряда батареи контроллер сможет выключить питание.
Трансляция видео
О да, теперь гексапод может транслировать видео на телефон, либо другое устройство где есть браузер. Сделано это на базе ESP32-CAM. Я не хотел создавать себе лишних проблем и пришлось прибегнуть к запретной технике — Arduino. Да, я просто взял готовый пример с передачей кадров по HTTP, немного его допилил и всё готово.
При получении HTTP GET запроса ESP32 забирает фрейм с камеры, преобразует его в JPEG формат разрешением 640х480 и отсылает чанками по WI-FI на приложение\браузер.
На ESP нет крепежных отверстий, поэтому пришлось сделать для него корпус. Получилась очень компактная камера. К сожалению, фотографии результата нет, а вытаскивать её из корпуса не очень хочется.
Корпус собирается путем запаивания крышки и дна нагретым предметом. Данный узел не планируется когда либо разбирать, всё необходимое было выведено наружу. Прошивать можно без разборки корпуса.
Теперь немного об архитектуре. Гексапод это ходячая точка доступа WI-FI, ESP32 в данном случае настроен в качестве клиента. При подаче питания гексапод поднимает точку доступа WI-FI в течении 30-40 секунд, ESP32 в это время делает попытки подключится ней и в случае успеха передает по USARTу свой IP адрес в STM. В результате мы имеем беспроводную локальную сеть.
Такая архитектура сделана по нескольким причинам:
- STM32F373 не потянет обработку такого потока данных;
- Не нужно делать свой протокол передачи изображения. На борту есть HTTP, почему бы его не использовать сразу?;
- Прямая передача данных на устройство по воздуху, минуя STM и провода;
- Возможность трансляции видео на любое устройство с браузером, которое подключилось к гексаподу. К примеру, я могу управлять гексподом с телефона и спокойно смотреть его глазами с ноутбука. Мне показалось это очень удобным.
Для просмотра видео из браузера нужно ввести в адресную строку IP адрес камеры, который будет показан в программе управления гексподом:
Долгожданный результат
Извините, данный ресурс не поддреживается. :(
Планы на будущее
Мы вроде как мир собрались захватывать с помощью него, но он до сих пор заряжается от розетки — нужно это исправить. Я планирую немного передохнуть от этого проекта и заняться чем-то более спокойным и простым. Меня заинтересовали солнечные панели с системой слежения за солнцем (солнечный трекер). Данное устройство будет в качестве зарядного устройства для гекспода на улице, да и вообще полезная шутка. Я думаю будет очень интересно, тем более приводов для хорошего редуктора у меня теперь навалом.
===========
Источник:
habr.com
===========
Похожие новости:
- [JavaScript, Программирование, Разработка веб-сайтов] JavaScript: делегирование событий простыми словами (перевод)
- [Разработка веб-сайтов, JavaScript, Программирование, Отладка] Обработка ошибок в JavaScript
- [Программирование, C++] std::atomic. Модель памяти C++ в примерах
- [DIY или Сделай сам] Моя Яндекс.Станция Мини умеет выводить два звука одновременно, а ваша?
- [Программирование, Управление персоналом] Вредные советы: как заставить программиста работать лучше
- [Информационная безопасность, Программирование, Изучение языков] Trusted Execution Environment на примере Intel SGX. Основные принципы простыми словами. «Hello World!»
- [DIY или Сделай сам, Беспроводные технологии, Гаджеты, Производство и разработка электроники, Развитие стартапа] Как я делаю цифровую минигитару
- [DIY или Сделай сам, Видеокарты, Компьютерное железо, Настольные компьютеры] Своими руками: Компьютер в столе с жидкостным охлаждением
- [DIY или Сделай сам, Социальные сети и сообщества, Управление сообществом, Будущее здесь, Хакатоны] Sobota Video Hackerspaces' Bridge at 15:00 Prague (GMT+2) 5.9.20
- [Компиляторы, Отладка, Программирование, Программирование микроконтроллеров] Обновление для IDE EmBitz 1.11
Теги для поиска: #_diy_ili_sdelaj_sam (DIY или Сделай сам), #_programmirovanie (Программирование), #_programmirovanie_mikrokontrollerov (Программирование микроконтроллеров), #_razrabotka_robototehniki (Разработка робототехники), #_robototehnika (Робототехника), #_hexapod, #_robot, #_diy, #_aiwm, #_walking, #_video, #_esp32, #_streaming, #_esp32cam, #_hardware, #_design, #_arduino, #_diy_ili_sdelaj_sam (
DIY или Сделай сам
), #_programmirovanie (
Программирование
), #_programmirovanie_mikrokontrollerov (
Программирование микроконтроллеров
), #_razrabotka_robototehniki (
Разработка робототехники
), #_robototehnika (
Робототехника
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 06:18
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Всем привет! 2 года разработки, 9723 строчек кода и киллограмы пластика сделали свое дело — разработка гексапода подошла к заключительному этапу в рамках текущей версии. К этому этапу проект полностью перешел на красивые зеленые железки, слегка изменен дизайн и появилась трансляция видео. Так же будет клёвое демо-видео. Все выходные были успешно слиты на его съемки и монтаж, надеюсь понравится. Этапы разработки: Часть 1 — проектирование Часть 2 — сборка Часть 3 — кинематика Часть 4 — математика траекторий и последовательности Часть 5 — электроника Часть 6 — переход на 3D печать Часть 7 — новый корпус, прикладное ПО и протоколы общения Часть 8 — улучшенная математика передвижения Часть 9 — завершение версии 1.00 Силовая часть Прошлая плата была собрана из того что было в кейсах с компонентами: LM2596S и no-name дроссели. Нехорошо — нужно переделать. На этот раз я решил сделать 6 канальный блок питания по одному каналу на конечность, в качестве DC-DC взял LM2678. Получилась довольно приличная плата: Нагрузочные тесты показали хорошую эффективность. При нагрузке 4А эффективность преобразования составила 92% при 12В входном и 6.5В выходном напряжении. Один такой канал вытягивает 3 сервопривода без серьезной просадки напряжения (менее 0.2В). Внутри гексапода плата смотрится просто шикарно — никакого колхоза и висящих проводов. Плата управления Данная часть получила минимальные изменения. В функционале осталось все так же, были переразведены USARTы для коммуникации с камерой, перемещены транзисторы для управления светодиодами, изменены тип кнопок BOOT и RESET, ну и всё в таким духе. Была добавлена возможность управления питанием сервоприводов, т.к. текущие приводы при потере импульса продолжают удерживать последнее положение. Тут всё просто — вывод микроконтроллера подключен к выводу ENABLE микросхемы LM2678 и в случае ошибки или разряда батареи контроллер сможет выключить питание. Трансляция видео О да, теперь гексапод может транслировать видео на телефон, либо другое устройство где есть браузер. Сделано это на базе ESP32-CAM. Я не хотел создавать себе лишних проблем и пришлось прибегнуть к запретной технике — Arduino. Да, я просто взял готовый пример с передачей кадров по HTTP, немного его допилил и всё готово. При получении HTTP GET запроса ESP32 забирает фрейм с камеры, преобразует его в JPEG формат разрешением 640х480 и отсылает чанками по WI-FI на приложение\браузер. На ESP нет крепежных отверстий, поэтому пришлось сделать для него корпус. Получилась очень компактная камера. К сожалению, фотографии результата нет, а вытаскивать её из корпуса не очень хочется. Корпус собирается путем запаивания крышки и дна нагретым предметом. Данный узел не планируется когда либо разбирать, всё необходимое было выведено наружу. Прошивать можно без разборки корпуса. Теперь немного об архитектуре. Гексапод это ходячая точка доступа WI-FI, ESP32 в данном случае настроен в качестве клиента. При подаче питания гексапод поднимает точку доступа WI-FI в течении 30-40 секунд, ESP32 в это время делает попытки подключится ней и в случае успеха передает по USARTу свой IP адрес в STM. В результате мы имеем беспроводную локальную сеть. Такая архитектура сделана по нескольким причинам:
Для просмотра видео из браузера нужно ввести в адресную строку IP адрес камеры, который будет показан в программе управления гексподом: Долгожданный результат Извините, данный ресурс не поддреживается. :( Планы на будущее Мы вроде как мир собрались захватывать с помощью него, но он до сих пор заряжается от розетки — нужно это исправить. Я планирую немного передохнуть от этого проекта и заняться чем-то более спокойным и простым. Меня заинтересовали солнечные панели с системой слежения за солнцем (солнечный трекер). Данное устройство будет в качестве зарядного устройства для гекспода на улице, да и вообще полезная шутка. Я думаю будет очень интересно, тем более приводов для хорошего редуктора у меня теперь навалом. =========== Источник: habr.com =========== Похожие новости:
DIY или Сделай сам ), #_programmirovanie ( Программирование ), #_programmirovanie_mikrokontrollerov ( Программирование микроконтроллеров ), #_razrabotka_robototehniki ( Разработка робототехники ), #_robototehnika ( Робототехника ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 06:18
Часовой пояс: UTC + 5