Как вы знаете сделал я самодельный ЧПУ фрезерный станок. Входе обучения работы на нем я делаю различные поделки и механизмы. Нашел в интернете исходные файлы (MeArmV03.svg) для манипулятора и решил вырезать его на ЧПУ станке.
Я думал что с первого раза у меня ни чего не получиться. Так как это достаточно сложная работа для ЧПУ и очень много мелких деталей.
ЧПУ резал больше часа и вырезал все детали. Провел небольшую доработку с помощью надфиля. Собрал на винтики манипулятор. Кстати в интернете много инструкций, от текстовых до видео по сборке манипулятора.
И Вот что у меня получилось. Достаточно не плохо на мой взгляд.
Серо-приводы установлены, Манипулятор собран. Но как проверить его работоспособность. Поискал в интернете примеров не дал результатов и тогда я решил набросать небольшой пример кода для NodeMCU. Тем более у меня лежал без дела шилд для данной отладочной платы.
Код получился не очень красивый но для проверки достаточно.
// определение режима соединения и подключение библиотеки RemoteXY
#define REMOTEXY_MODE__ESP8266WIFI_LIB_POINT
#include <ESP8266WiFi.h>
#include <RemoteXY.h>
// настройки соединения
#define REMOTEXY_WIFI_SSID "portalpk"
#define REMOTEXY_WIFI_PASSWORD ""
#define REMOTEXY_SERVER_PORT 6377
// конфигурация интерфейса
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
{ 255,4,0,0,0,31,0,6,5,0,
4,128,48,50,42,9,4,4,0,6,
12,9,36,2,4,0,85,11,9,37,
2,4,128,8,4,42,9,4 };
// структура определяет все переменные вашего интерфейса управления
struct {
// input variable
int8_t slider_1; // =0..100 положение слайдера
int8_t slider_2; // =0..100 положение слайдера
int8_t slider_3; // =0..100 положение слайдера
int8_t slider_4; // =0..100 положение слайдера
// other variable
uint8_t connect_flag; // =1 if wire connected, else =0
} RemoteXY;
#pragma pack(pop)
/////////////////////////////////////////////
// END RemoteXY include //
/////////////////////////////////////////////
#include <Servo.h>
#define PIN_SERVO1 D1
#define PIN_SERVO2 D2
#define PIN_SERVO3 D3
#define PIN_SERVO4 D4
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
void setup()
{
RemoteXY_Init ();
// TODO you setup code
RemoteXY.slider_1 = 50;
RemoteXY.slider_2 = 50;
RemoteXY.slider_3 = 50;
RemoteXY.slider_4 = 50;
servo1.attach(PIN_SERVO1);
servo2.attach(PIN_SERVO2);
servo3.attach(PIN_SERVO3);
servo4.attach(PIN_SERVO4);
}
void loop()
{
RemoteXY_Handler ();
// TODO you loop code
// используйте структуру RemoteXY для передачи данных
int ms = RemoteXY.slider_1*20+500;
servo1.writeMicroseconds(ms);
int ms2 = RemoteXY.slider_2*10+500;
servo2.writeMicroseconds(ms2);
int ms3 = RemoteXY.slider_3*10+500;
servo3.writeMicroseconds(ms3);
int ms4 = RemoteXY.slider_4*10+500;
servo4.writeMicroseconds(ms4);
}
Вам скорее всего нужно будет изменить начальные угол для серо-приводов.
Тестирования самодельного манипулятора показал , что все работает но скорее всего не достаточно питания от одного аккумулятора 18650. И происходить перезагрузка NodeMCU.
Запланировал доработку кода для руки-манипулятора и переделать источник питания. Но как скоро будет продолжение зависит от вас и от свободного времени.
Понравилась статья? Поделитесь ею с друзьями:
Вернуться в раздел: Проекты на NodeMCU, ESP8266, ESP-01 Дата публикации 13 февраля , 2018
Читайте также
А какие винты использовать??
Круто!
А как к шилду подключать сервоприводы? Схемку бы :-)
Не поделитесь?
Спасибо!
Отличная работа!А что за мобильное приложение вы использовали для управления? Хочу попробовать собрать подобный манипулятор, опыта вRemoteXY
программировании нет :-(
Отличная работа!
А что за мобильное приложение вы использовали для управления? Хочу попробовать собрать подобный манипулятор, опыта в программировании нет :-(
А к этому шилду возможно 10 серво подключить?
Упровление по вай фай. Оригинально. Не всречал подобных примеров. Автор а продолжение будет?
Вау, уважаю разработки!) автор красава!
Молодец хорошая робота
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.