l3VGV Опубликовано: 21 октября 2020 Опубликовано: 21 октября 2020 12.01.2020 в 13:40, propeler сказал: двигатели от гироскутера Урвал пару. 12.01.2020 в 13:40, propeler сказал: использовать ременной редуктор Вот тут по подробнее. Где брать шкивы? Хотелосьбы готовое и не дорого. Зашел в неоднократно спасавшие вазовские автозапчасти, ну там. 800р и выше. Значительно выше! Уже думаю что а не проще ли распечатать. 100% заполнение должно дать достаточную прочность. 1
StorkNet Опубликовано: 21 октября 2020 Опубликовано: 21 октября 2020 (изменено) 10 часов назад, Johnet сказал: У рулей Ligitech G27, G29, G290 как раз стоят два мотора на ременной передаче У Logitech не ременная транмиссия. 50 минут назад, l3VGV сказал: Где брать шкивы? Ali Express Изменено 21 октября 2020 пользователем StorkNet
l3VGV Опубликовано: 21 октября 2020 Опубликовано: 21 октября 2020 30 минут назад, StorkNet сказал: Ali Express Прошу привести пример лота.
a69 Опубликовано: 22 октября 2020 Опубликовано: 22 октября 2020 15 часов назад, l3VGV сказал: 12.01.2020 в 16:40, propeler сказал: двигатели от гироскутера Урвал пару. О это здорово, поздравляю. Интересная тема с этми двигателями, сам часто думал о них. Буду следить за твоим проектом, что получится в итоге. В первую очередь интересует, смогут ли они создать равномерное сопротивление, без прыжков по магнитам. Возможно, придется развязывать обмотки друг от друга и писать свои контроллер. Но даже при это оно того стоит.
Johnet Опубликовано: 22 октября 2020 Опубликовано: 22 октября 2020 23 часа назад, l3VGV сказал: Или это, ну а также ещё и усилие в 2 раза поднять. помнится вам ссылку скидывал по изготовлению рулей. Дык там прочитал, что выпускаются комплекты для изготовления рулей с прямым приводом (т.е. руль ставится на вал то ли мотора, то ли планетарного мотор редуктора (кстати находил прецизионные мотор-редукторы)). Т. о. вопрос о габаритах в колонках рулей не стоит. 15 часов назад, StorkNet сказал: У Logitech не ременная транмиссия. Угу, ошибался. Там стоит прямозубая.
l3VGV Опубликовано: 22 октября 2020 Опубликовано: 22 октября 2020 Ясщиат - это прекрасно 29 минут назад, a69 сказал: смогут ли они создать равномерное сопротивление, без прыжков В выключенном состоянии - почти не ощущаются(там такие зазоры что ой). Во включенном, так полагаю можно будет создать програмное выравнивание, на вал для этого посадить датчик положения. Я пока не смотрел, есть ли датчики в тех что мне достались. Но на этот момент смотрю с оптимизом. Вот что смущает так это механическая часть. Не спалось до 6 утра, придумал как сделать шкивы и не разориться. И общий проект макета. А пока едут детали - потренеруюсь на логитешках. У меня детская травма от дескрипторов, освою для начала програмную часть. Также думаю, нужно ли делать полный комплект эфектов. Может хватит только констант форса для умной загрузки? Имею фантазию так и назвать - Smart Force. 2
Johnet Опубликовано: 22 октября 2020 Опубликовано: 22 октября 2020 (изменено) Посмотрел, можно и 4" мотор-колеса найти. Вот надыбал BLDC моторы http://electroskateboards.ru/95-elektrodvigateli Изменено 22 октября 2020 пользователем Johnet
propeler Опубликовано: 22 октября 2020 Автор Опубликовано: 22 октября 2020 (изменено) 2 часа назад, a69 сказал: двигатели от гироскутера Чтоб долго не думал как с ним поступать. Вал надо немного сточить дремелем и сделать пропил для проводов: В корпусе продрать отверстие чуть более чем на диаметр подшипника: распечатать подставку под енкодер: магнит в холдер: провода от енкодера через вал наружу: И вуаля Изменено 22 октября 2020 пользователем propeler 3 1 1
a69 Опубликовано: 22 октября 2020 Опубликовано: 22 октября 2020 32 минуты назад, propeler сказал: Чтоб долго не думал как с ним поступать Ого, зачет. 10 картинок и руль готов. А я свой джой год делаю-переделываю. 2 часа назад, l3VGV сказал: полный комплект эфектов. Может хватит только констант форса для умной загрузки? Не думай об этом, оставь на потом - гемор тот еще (см. видео). Кстати, программное отключение люфта совсем не айс - в руку бьет так, будто там зажим хуже клещей. Нужно сразу избавляться от всех люфтов в механике, электроника тут совсем не помощник. 43 минуты назад, propeler сказал: И вуаля И все-таки, главный вопрос - как работу этого привода руки чувствуют? Плавно ли, или прыгает при прохождении полей?
propeler Опубликовано: 22 октября 2020 Автор Опубликовано: 22 октября 2020 Цитата И все-таки, главный вопрос - как работу этого привода руки чувствуют? Плавно ли, или прыгает при прохождении полей? Скоро узнаю. Жду железяки из порезки... И на джойстик тоже. Тут так все медленно делают....
l3VGV Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 (изменено) Я вам тут принёс, на всякий случай. Угадайте: кто это!? Подсказка 045E:001B 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 0x09, 0x04, // Usage (Joystick) 0xA1, 0x01, // Collection (Application) 0x85, 0x01, // Report ID (1) 0x09, 0x01, // Usage (Pointer) 0xA1, 0x00, // Collection (Physical) 0x66, 0x00, 0x00, // Unit (None) 0x55, 0x00, // Unit Exponent (0) 0x16, 0x00, 0xFE, // Logical Minimum (-512) 0x26, 0xFF, 0x01, // Logical Maximum (511) 0x35, 0x00, // Physical Minimum (0) 0x46, 0xFF, 0x03, // Physical Maximum (1023) 0x95, 0x01, // Report Count (1) 0x75, 0x0A, // Report Size (10) 0x09, 0x30, // Usage (X) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x75, 0x06, // Report Size (6) 0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x09, 0x31, // Usage (Y) 0x75, 0x0A, // Report Size (10) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x75, 0x06, // Report Size (6) 0x95, 0x01, // Report Count (1) 0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x15, 0xE0, // Logical Minimum (-32) 0x25, 0x1F, // Logical Maximum (31) 0x35, 0x00, // Physical Minimum (0) 0x45, 0x3F, // Physical Maximum (63) 0x66, 0x14, 0x00, // Unit (System: English Rotation, Length: Centimeter) 0x09, 0x35, // Usage (Rz) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x75, 0x02, // Report Size (2) 0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x66, 0x00, 0x00, // Unit (None) 0xC0, // End Collection 0x75, 0x07, // Report Size (7) 0x95, 0x01, // Report Count (1) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x7F, // Logical Maximum (127) 0x35, 0x00, // Physical Minimum (0) 0x45, 0x7F, // Physical Maximum (127) 0x09, 0x36, // Usage (Slider) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x75, 0x01, // Report Size (1) 0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x09, 0x39, // Usage (Hat switch) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x07, // Logical Maximum (7) 0x35, 0x00, // Physical Minimum (0) 0x46, 0x3B, 0x01, // Physical Maximum (315) 0x66, 0x14, 0x00, // Unit (System: English Rotation, Length: Centimeter) 0x75, 0x04, // Report Size (4) 0x95, 0x01, // Report Count (1) 0x81, 0x42, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State) 0x95, 0x01, // Report Count (1) 0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x66, 0x00, 0x00, // Unit (None) 0x05, 0x09, // Usage Page (Button) 0x19, 0x01, // Usage Minimum (0x01) 0x29, 0x08, // Usage Maximum (0x08) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x35, 0x00, // Physical Minimum (0) 0x45, 0x01, // Physical Maximum (1) 0x95, 0x08, // Report Count (8) 0x75, 0x01, // Report Size (1) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x95, 0x04, // Report Count (4) 0x75, 0x08, // Report Size (8) 0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x05, 0x0F, // Usage Page (PID Page) 0x09, 0x92, // Usage (0x92) 0xA1, 0x02, // Collection (Logical) 0x85, 0x02, // Report ID (2) 0x09, 0x9F, // Usage (0x9F) 0x09, 0xA0, // Usage (0xA0) 0x09, 0xA4, // Usage (0xA4) 0x09, 0xA5, // Usage (0xA5) 0x09, 0xA6, // Usage (0xA6) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x35, 0x00, // Physical Minimum (0) 0x45, 0x01, // Physical Maximum (1) 0x75, 0x01, // Report Size (1) 0x95, 0x05, // Report Count (5) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x95, 0x03, // Report Count (3) 0x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x09, 0x94, // Usage (0x94) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x35, 0x00, // Physical Minimum (0) 0x45, 0x01, // Physical Maximum (1) 0x75, 0x01, // Report Size (1) 0x95, 0x01, // Report Count (1) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x09, 0x22, // Usage (0x22) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x28, // Logical Maximum (40) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x28, // Physical Maximum (40) 0x75, 0x07, // Report Size (7) 0x95, 0x01, // Report Count (1) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection 0x09, 0x21, // Usage (0x21) 0xA1, 0x02, // Collection (Logical) 0x85, 0x01, // Report ID (1) 0x09, 0x22, // Usage (0x22) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x28, // Logical Maximum (40) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x28, // Physical Maximum (40) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x25, // Usage (0x25) 0xA1, 0x02, // Collection (Logical) 0x09, 0x26, // Usage (0x26) 0x09, 0x27, // Usage (0x27) 0x09, 0x30, // Usage (0x30) 0x09, 0x31, // Usage (0x31) 0x09, 0x32, // Usage (0x32) 0x09, 0x33, // Usage (0x33) 0x09, 0x34, // Usage (0x34) 0x09, 0x40, // Usage (0x40) 0x09, 0x41, // Usage (0x41) 0x09, 0x42, // Usage (0x42) 0x09, 0x43, // Usage (0x43) 0x09, 0x28, // Usage (0x28) 0x25, 0x0C, // Logical Maximum (12) 0x15, 0x01, // Logical Minimum (1) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x0C, // Physical Maximum (12) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x00, // Output (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x09, 0x50, // Usage (0x50) 0x09, 0x54, // Usage (0x54) 0x09, 0x51, // Usage (0x51) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x7F, // Logical Maximum (32767) 0x35, 0x00, // Physical Minimum (0) 0x46, 0xFF, 0x7F, // Physical Maximum (32767) 0x66, 0x03, 0x10, // Unit (System: English Linear, Time: Seconds) 0x55, 0xFD, // Unit Exponent 0x75, 0x10, // Report Size (16) 0x95, 0x03, // Report Count (3) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x55, 0x00, // Unit Exponent (0) 0x66, 0x00, 0x00, // Unit (None) 0x09, 0x52, // Usage (0x52) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x35, 0x00, // Physical Minimum (0) 0x46, 0x10, 0x27, // Physical Maximum (10000) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x53, // Usage (0x53) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x08, // Logical Maximum (8) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x08, // Physical Maximum (8) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x55, // Usage (0x55) 0xA1, 0x02, // Collection (Logical) 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 0x09, 0x30, // Usage (X) 0x09, 0x31, // Usage (Y) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x75, 0x01, // Report Size (1) 0x95, 0x02, // Report Count (2) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x05, 0x0F, // Usage Page (PID Page) 0x09, 0x56, // Usage (0x56) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x95, 0x05, // Report Count (5) 0x91, 0x03, // Output (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x57, // Usage (0x57) 0xA1, 0x02, // Collection (Logical) 0x0B, 0x01, 0x00, 0x0A, 0x00, // Usage (0x0A0001) 0x0B, 0x02, 0x00, 0x0A, 0x00, // Usage (0x0A0002) 0x66, 0x14, 0x00, // Unit (System: English Rotation, Length: Centimeter) 0x55, 0xFE, // Unit Exponent 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x35, 0x00, // Physical Minimum (0) 0x47, 0xA0, 0x8C, 0x00, 0x00, // Physical Maximum (35999) 0x66, 0x00, 0x00, // Unit (None) 0x75, 0x08, // Report Size (8) 0x95, 0x02, // Report Count (2) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x55, 0x00, // Unit Exponent (0) 0x66, 0x00, 0x00, // Unit (None) 0xC0, // End Collection 0x05, 0x0F, // Usage Page (PID Page) 0x09, 0xA7, // Usage (0xA7) 0x66, 0x03, 0x10, // Unit (System: English Linear, Time: Seconds) 0x55, 0xFD, // Unit Exponent 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x7F, // Logical Maximum (32767) 0x35, 0x00, // Physical Minimum (0) 0x46, 0xFF, 0x7F, // Physical Maximum (32767) 0x75, 0x10, // Report Size (16) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x66, 0x00, 0x00, // Unit (None) 0x55, 0x00, // Unit Exponent (0) 0xC0, // End Collection 0x05, 0x0F, // Usage Page (PID Page) 0x09, 0x5A, // Usage (0x5A) 0xA1, 0x02, // Collection (Logical) 0x85, 0x02, // Report ID (2) 0x09, 0x22, // Usage (0x22) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x28, // Logical Maximum (40) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x28, // Physical Maximum (40) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x5B, // Usage (0x5B) 0x09, 0x5D, // Usage (0x5D) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x35, 0x00, // Physical Minimum (0) 0x46, 0x10, 0x27, // Physical Maximum (10000) 0x95, 0x02, // Report Count (2) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x5C, // Usage (0x5C) 0x09, 0x5E, // Usage (0x5E) 0x66, 0x03, 0x10, // Unit (System: English Linear, Time: Seconds) 0x55, 0xFD, // Unit Exponent 0x26, 0xFF, 0x7F, // Logical Maximum (32767) 0x46, 0xFF, 0x7F, // Physical Maximum (32767) 0x75, 0x10, // Report Size (16) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x45, 0x00, // Physical Maximum (0) 0x66, 0x00, 0x00, // Unit (None) 0x55, 0x00, // Unit Exponent (0) 0xC0, // End Collection 0x09, 0x5F, // Usage (0x5F) 0xA1, 0x02, // Collection (Logical) 0x85, 0x03, // Report ID (3) 0x09, 0x22, // Usage (0x22) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x28, // Logical Maximum (40) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x28, // Physical Maximum (40) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x23, // Usage (0x23) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x35, 0x00, // Physical Minimum (0) 0x45, 0x01, // Physical Maximum (1) 0x75, 0x04, // Report Size (4) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x58, // Usage (0x58) 0xA1, 0x02, // Collection (Logical) 0x0B, 0x01, 0x00, 0x0A, 0x00, // Usage (0x0A0001) 0x0B, 0x02, 0x00, 0x0A, 0x00, // Usage (0x0A0002) 0x75, 0x02, // Report Size (2) 0x95, 0x02, // Report Count (2) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x15, 0x80, // Logical Minimum (-128) 0x25, 0x7F, // Logical Maximum (127) 0x36, 0xF0, 0xD8, // Physical Minimum (-10000) 0x46, 0x10, 0x27, // Physical Maximum (10000) 0x09, 0x60, // Usage (0x60) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x36, 0xF0, 0xD8, // Physical Minimum (-10000) 0x46, 0x10, 0x27, // Physical Maximum (10000) 0x09, 0x61, // Usage (0x61) 0x09, 0x62, // Usage (0x62) 0x95, 0x02, // Report Count (2) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x35, 0x00, // Physical Minimum (0) 0x46, 0x10, 0x27, // Physical Maximum (10000) 0x09, 0x63, // Usage (0x63) 0x09, 0x64, // Usage (0x64) 0x75, 0x08, // Report Size (8) 0x95, 0x02, // Report Count (2) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x65, // Usage (0x65) 0x46, 0x10, 0x27, // Physical Maximum (10000) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x09, 0x6E, // Usage (0x6E) 0xA1, 0x02, // Collection (Logical) 0x85, 0x04, // Report ID (4) 0x09, 0x22, // Usage (0x22) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x28, // Logical Maximum (40) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x28, // Physical Maximum (40) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x70, // Usage (0x70) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x35, 0x00, // Physical Minimum (0) 0x46, 0x10, 0x27, // Physical Maximum (10000) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x6F, // Usage (0x6F) 0x15, 0x80, // Logical Minimum (-128) 0x25, 0x7F, // Logical Maximum (127) 0x36, 0xF0, 0xD8, // Physical Minimum (-10000) 0x46, 0x10, 0x27, // Physical Maximum (10000) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x71, // Usage (0x71) 0x66, 0x14, 0x00, // Unit (System: English Rotation, Length: Centimeter) 0x55, 0xFE, // Unit Exponent 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x35, 0x00, // Physical Minimum (0) 0x47, 0xA0, 0x8C, 0x00, 0x00, // Physical Maximum (35999) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x72, // Usage (0x72) 0x26, 0xFF, 0x7F, // Logical Maximum (32767) 0x46, 0xFF, 0x7F, // Physical Maximum (32767) 0x66, 0x03, 0x10, // Unit (System: English Linear, Time: Seconds) 0x55, 0xFD, // Unit Exponent 0x75, 0x10, // Report Size (16) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x66, 0x00, 0x00, // Unit (None) 0x55, 0x00, // Unit Exponent (0) 0xC0, // End Collection 0x09, 0x73, // Usage (0x73) 0xA1, 0x02, // Collection (Logical) 0x85, 0x05, // Report ID (5) 0x09, 0x22, // Usage (0x22) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x28, // Logical Maximum (40) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x28, // Physical Maximum (40) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x70, // Usage (0x70) 0x16, 0x01, 0xFF, // Logical Minimum (-255) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x36, 0xF0, 0xD8, // Physical Minimum (-10000) 0x46, 0x10, 0x27, // Physical Maximum (10000) 0x75, 0x10, // Report Size (16) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x09, 0x74, // Usage (0x74) 0xA1, 0x02, // Collection (Logical) 0x85, 0x06, // Report ID (6) 0x09, 0x22, // Usage (0x22) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x28, // Logical Maximum (40) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x28, // Physical Maximum (40) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x75, // Usage (0x75) 0x09, 0x76, // Usage (0x76) 0x15, 0x80, // Logical Minimum (-128) 0x25, 0x7F, // Logical Maximum (127) 0x36, 0xF0, 0xD8, // Physical Minimum (-10000) 0x46, 0x10, 0x27, // Physical Maximum (10000) 0x75, 0x08, // Report Size (8) 0x95, 0x02, // Report Count (2) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x09, 0x68, // Usage (0x68) 0xA1, 0x02, // Collection (Logical) 0x85, 0x07, // Report ID (7) 0x09, 0x22, // Usage (0x22) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x28, // Logical Maximum (40) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x28, // Physical Maximum (40) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x6C, // Usage (0x6C) 0x15, 0x00, // Logical Minimum (0) 0x26, 0x10, 0x27, // Logical Maximum (10000) 0x35, 0x00, // Physical Minimum (0) 0x46, 0x10, 0x27, // Physical Maximum (10000) 0x75, 0x10, // Report Size (16) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x69, // Usage (0x69) 0x15, 0x81, // Logical Minimum (-127) 0x25, 0x7F, // Logical Maximum (127) 0x35, 0x00, // Physical Minimum (0) 0x46, 0xFF, 0x00, // Physical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x0C, // Report Count (12) 0x92, 0x02, 0x01, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile,Buffered Bytes) 0xC0, // End Collection 0x09, 0x66, // Usage (0x66) 0xA1, 0x02, // Collection (Logical) 0x85, 0x08, // Report ID (8) 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 0x09, 0x30, // Usage (X) 0x09, 0x31, // Usage (Y) 0x15, 0x81, // Logical Minimum (-127) 0x25, 0x7F, // Logical Maximum (127) 0x35, 0x00, // Physical Minimum (0) 0x46, 0xFF, 0x00, // Physical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x02, // Report Count (2) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x05, 0x0F, // Usage Page (PID Page) 0x09, 0x77, // Usage (0x77) 0xA1, 0x02, // Collection (Logical) 0x85, 0x0A, // Report ID (10) 0x09, 0x22, // Usage (0x22) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x28, // Logical Maximum (40) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x28, // Physical Maximum (40) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x78, // Usage (0x78) 0xA1, 0x02, // Collection (Logical) 0x09, 0x79, // Usage (0x79) 0x09, 0x7A, // Usage (0x7A) 0x09, 0x7B, // Usage (0x7B) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x03, // Logical Maximum (3) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x00, // Output (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x09, 0x7C, // Usage (0x7C) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x35, 0x00, // Physical Minimum (0) 0x46, 0xFF, 0x00, // Physical Maximum (255) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x09, 0x90, // Usage (0x90) 0xA1, 0x02, // Collection (Logical) 0x85, 0x0B, // Report ID (11) 0x09, 0x22, // Usage (0x22) 0x25, 0x28, // Logical Maximum (40) 0x15, 0x01, // Logical Minimum (1) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x28, // Physical Maximum (40) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x09, 0x96, // Usage (0x96) 0xA1, 0x02, // Collection (Logical) 0x85, 0x0C, // Report ID (12) 0x09, 0x97, // Usage (0x97) 0x09, 0x98, // Usage (0x98) 0x09, 0x99, // Usage (0x99) 0x09, 0x9A, // Usage (0x9A) 0x09, 0x9B, // Usage (0x9B) 0x09, 0x9C, // Usage (0x9C) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x06, // Logical Maximum (6) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x00, // Output (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x09, 0x7D, // Usage (0x7D) 0xA1, 0x02, // Collection (Logical) 0x85, 0x0D, // Report ID (13) 0x09, 0x7E, // Usage (0x7E) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x35, 0x00, // Physical Minimum (0) 0x46, 0x10, 0x27, // Physical Maximum (10000) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x09, 0x6B, // Usage (0x6B) 0xA1, 0x02, // Collection (Logical) 0x85, 0x0E, // Report ID (14) 0x09, 0x22, // Usage (0x22) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x28, // Logical Maximum (40) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x28, // Physical Maximum (40) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x6D, // Usage (0x6D) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x35, 0x00, // Physical Minimum (0) 0x46, 0xFF, 0x00, // Physical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x51, // Usage (0x51) 0x66, 0x03, 0x10, // Unit (System: English Linear, Time: Seconds) 0x55, 0xFD, // Unit Exponent 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x7F, // Logical Maximum (32767) 0x35, 0x00, // Physical Minimum (0) 0x46, 0xFF, 0x7F, // Physical Maximum (32767) 0x75, 0x10, // Report Size (16) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x55, 0x00, // Unit Exponent (0) 0x66, 0x00, 0x00, // Unit (None) 0xC0, // End Collection 0x09, 0xAB, // Usage (0xAB) 0xA1, 0x02, // Collection (Logical) 0x85, 0x01, // Report ID (1) 0x09, 0x25, // Usage (0x25) 0xA1, 0x02, // Collection (Logical) 0x09, 0x26, // Usage (0x26) 0x09, 0x27, // Usage (0x27) 0x09, 0x30, // Usage (0x30) 0x09, 0x31, // Usage (0x31) 0x09, 0x32, // Usage (0x32) 0x09, 0x33, // Usage (0x33) 0x09, 0x34, // Usage (0x34) 0x09, 0x40, // Usage (0x40) 0x09, 0x41, // Usage (0x41) 0x09, 0x42, // Usage (0x42) 0x09, 0x43, // Usage (0x43) 0x09, 0x28, // Usage (0x28) 0x25, 0x0C, // Logical Maximum (12) 0x15, 0x01, // Logical Minimum (1) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x0C, // Physical Maximum (12) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 0x09, 0x3B, // Usage (Byte Count) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x01, // Logical Maximum (511) 0x35, 0x00, // Physical Minimum (0) 0x46, 0xFF, 0x01, // Physical Maximum (511) 0x75, 0x0A, // Report Size (10) 0x95, 0x01, // Report Count (1) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x75, 0x06, // Report Size (6) 0xB1, 0x01, // Feature (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x05, 0x0F, // Usage Page (PID Page) 0x09, 0x89, // Usage (0x89) 0xA1, 0x02, // Collection (Logical) 0x85, 0x02, // Report ID (2) 0x09, 0x22, // Usage (0x22) 0x25, 0x28, // Logical Maximum (40) 0x15, 0x01, // Logical Minimum (1) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x28, // Physical Maximum (40) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x8B, // Usage (0x8B) 0xA1, 0x02, // Collection (Logical) 0x09, 0x8C, // Usage (0x8C) 0x09, 0x8D, // Usage (0x8D) 0x09, 0x8E, // Usage (0x8E) 0x25, 0x03, // Logical Maximum (3) 0x15, 0x01, // Logical Minimum (1) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x03, // Physical Maximum (3) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x09, 0xAC, // Usage (0xAC) 0x15, 0x00, // Logical Minimum (0) 0x27, 0xFF, 0xFF, 0x00, 0x00, // Logical Maximum (65534) 0x35, 0x00, // Physical Minimum (0) 0x47, 0xFF, 0xFF, 0x00, 0x00, // Physical Maximum (65534) 0x75, 0x10, // Report Size (16) 0x95, 0x01, // Report Count (1) 0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x09, 0x7F, // Usage (0x7F) 0xA1, 0x02, // Collection (Logical) 0x85, 0x03, // Report ID (3) 0x09, 0x80, // Usage (0x80) 0x75, 0x10, // Report Size (16) 0x95, 0x01, // Report Count (1) 0x15, 0x00, // Logical Minimum (0) 0x35, 0x00, // Physical Minimum (0) 0x27, 0xFF, 0xFF, 0x00, 0x00, // Logical Maximum (65534) 0x47, 0xFF, 0xFF, 0x00, 0x00, // Physical Maximum (65534) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x83, // Usage (0x83) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x46, 0xFF, 0x00, // Physical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0xA9, // Usage (0xA9) 0x09, 0xAA, // Usage (0xAA) 0x75, 0x01, // Report Size (1) 0x95, 0x02, // Report Count (2) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x35, 0x00, // Physical Minimum (0) 0x45, 0x01, // Physical Maximum (1) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x75, 0x06, // Report Size (6) 0x95, 0x01, // Report Count (1) 0xB1, 0x03, // Feature (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0xC0, // End Collection // 1343 bytes Изменено 24 октября 2020 пользователем l3VGV
a69 Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 6 минут назад, l3VGV сказал: Я вам тут принёс, на всякий случай. Угадайте: кто это!? Подсказка 045E:001B Можно подробнее?
l3VGV Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 Лично вот этими самыми руками, сдампил дескриптор с вот этого своего ms ffb2, вот этим вот своим линупсом. Раз уж мы все на него ровняемся, полезно знать как оно общается. 1
a69 Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 (изменено) 59 минут назад, l3VGV сказал: сдампил Реверсивная инженерия - дело трудное. Вообще анализ и доработка чужого кода может затянутся надолго. Имхо, лучше писать свое, с девственно чистым сознанием) То, что я имел ввиду гемор - это доводка тактильных ощущений. То, что на видео работает замечательно и как надо, рука в полете чувствует как езду по колдоебинам. Всетаки мы, кожанные мешки, не железные. В общем, еще одно знание получать надо, не знаю как оно называется... взаимодействие оборудования с человеками, как то так. Изменено 24 октября 2020 пользователем a69
l3VGV Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 3 минуты назад, a69 сказал: Реверсивная инженерия - дело трудное. Вообще анализ и доработка чужого кода может затянутся надолго. Имхо, лучше писать свое, с девственно чистым сознанием) У нас не тот случай. Внятной документации от MS и USBF чтобы писать своё с нуля - нет. Тратить человекогоды на отладку и ковыяние я не готов. Тут нужно обязательно применять чужой опыт. Тогда будут и совместимость и приемлимые затраты по времени. 1
a69 Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 (изменено) Какие языки ты знаешь? Мне низкоуровневые не знакомы, поэтому даже не пытаюсь лезть в это. Если каждый из нас будет делать то, что может, то мы действительно сможем сделать народный FFB. Тем более Петрович ясно сказал, чтобы сами возились с тем что есть. Изменено 24 октября 2020 пользователем a69
l3VGV Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 27 минут назад, a69 сказал: Какие языки ты знаешь? Языки дело простое, не стоит на этом останавливаться. А вот протоколы распространенных устройств - совсем другое дело. Для наших целей С хватит с головой. ASM тут не нужен нигде. 28 минут назад, a69 сказал: Петрович ясно сказал, чтобы сами возились с тем что есть Можно ссылку?
a69 Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 35 минут назад, l3VGV сказал: Можно ссылку? 1
HeXyaH Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 (изменено) 22.10.2020 в 01:50, l3VGV сказал: Прошу привести пример лота. "Заграница нам поможет ..." Но я бы искал шкивы с кевларом - может оно и подороже, но тянуться и "размазывать" эффекты не будет ... И, кстати, очень неплохой пример реализации 2-х каскадной передачи ("всё украдено до нас") - и не нужно стрелять из пушки по воробьям - моторами от гироскутеров ... Компактно и эффективно - одна ось проходит через шестерню (они все на подшипниках) и вращает датчик угла ... 3 часа назад, l3VGV сказал: Лично вот этими самыми руками, сдампил дескриптор с вот этого своего ms ffb2, вот этим вот своим линупсом. Раз уж мы все на него ровняемся, полезно знать как оно общается. Ну структуры ты сдампил, а логику работы с ними где возьмёшь? В курсе, что у МСФФБ2, например, есть автоцентрирование? Можно, конечно, и драйвера его (которые родные для XP) дизассемблировать - но кто из этого готов написать новый код для доступный процессоров? ИМХО - самый простой способ - это сэмулировать (как здесь) на новом процессоре 045E:001B мелкософтовским дровам + сдампить передачу эффектов (с помощью утилит тестирования FFB-эффектов) - и их закодить (ну т.е. притвориться МСФФБ2 ) - но как на это посмотрят мелкомягкие ... Изменено 24 октября 2020 пользователем =FX=HeXyaH 1
l3VGV Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 (изменено) 8 минут назад, =FX=HeXyaH сказал: я бы Разверну свой вопрос. Я хочу сделать усилие в районе 5кг на рычаге в 40см. Пусть для удобства это будет 25Нм. Эти крохотные колескики с милыми зубчиками - порвут ремни, если туда подать такое усилие. Т.е. их нужно паралелить, а это геморой и рост затрат. Тамже на али есть такиеже люминевые шкивы большого диаметра под более серьезные ремни, но ценник слишком конский. Я тут насмотрелся юпупа, и принял решение просто напечатать, а по пермиетру чемто усилю, может закажу резку лазером. Обратите внимание, что у него на колесе. С этого просто орал в голос. Изменено 24 октября 2020 пользователем l3VGV
a69 Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 Бывают короткие ремни от авто. Преимущества: Огромный запас мощности Огромный ресурс Доступность как ремня, так и его шкива в своем же городе Приемлемая цена Можно стрелять из пушки по воробьям)https://www.drive2.ru/l/547489171741081739/
l3VGV Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 Вот такие шкивы я и хотел купить в автозапчастях. Ценник оказался в чтото районе 2500+ за большой. Жадность сказала - нет. А вот ремни - поставлю. 1 минуту назад, a69 сказал: https://www.drive2.ru/l/547489171741081739/
a69 Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 Гораздо лучше их распечатать. Если диаметр шкива более 30мм, то пластиковый шкив прослужит вечно. Можно распечатать и не весь шкив, а только рабочую поверхность с углублением выше 7мм. А внутри - что угодно.
propeler Опубликовано: 24 октября 2020 Автор Опубликовано: 24 октября 2020 (изменено) Цитата С этого просто орал в голос. А чего с него орать? Норм идея - сделать мотор самому. Много народу пилит собственные моторы из пластин статоров и магнитов мотор колес разного рода. Цитата Я хочу сделать усилие в районе 5кг на рычаге в 40см Дешево с такими запросами не обойтись. Сама механика будет испытывать конские нагрузки, а значит - метал. А метал это всегда не бюджетно. Изменено 24 октября 2020 пользователем propeler
a69 Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 2 минуты назад, propeler сказал: Много народу пилит собственные моторы Кстати да. Я с электродвигателями дела не имел, не щупал, поэтому мне эта тема трудно дается - какой тип двигателя как ведет себя. Жалею что не поработал в свое время в этой области. Например наткнулся на вот такой вот интересный двигатель. Интересно, как у него обстоят дела с плавностью хода при сопротивлении?https://www.youtube.com/watch?v=O13j-5SatLQ
propeler Опубликовано: 24 октября 2020 Автор Опубликовано: 24 октября 2020 Цитата ты ковырял telemetryDevice Я даже не знаю что это))) Забот с прошивкой хватает пока)
a69 Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 11.01.2020 в 17:50, propeler сказал: Подумываю о том чтобы отойти от FFB протокола и сделать обратную связь собственную, на основе данных експорта из игры UDP telemetrydevice - индикаторы самолета, в т.ч. скорость UDP motiondevice - углы изменения положения, ускорения ЛА во все стороны от самого себя. И вот этот telemetrydevice жестко подвел...
l3VGV Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 19 минут назад, a69 сказал: Гораздо лучше их распечатать. Если диаметр шкива более 30мм, то пластиковый шкив прослужит вечно. Можно распечатать и не весь шкив, а только рабочую поверхность с углублением выше 7мм. А внутри - что угодно. Так и планирую. Ведомые сделать скажем 280мм диаметром(больше принтер не могет), ведущие так чтобы набрать лучше чем 3к1. 19 минут назад, propeler сказал: Сама механика будет испытывать конские нагрузки, а значит - метал. А метал это всегда не бюджетно. Сама качалка - да, металл. А вот шиквы, рабочий периметр - 3д печать + усиление. Думаю - фанерой. Диаметр шкивов делать большой, чтобы нагрузка на них была поменьше. В итоге получится обычный размен размеры-цена. Но для подстульника, не критично. Плюс всёравно кудато надо прятать б.п., драйверы моторов, сами моторы... Сейчас сел покорять прошивку, как сделаю вариант который опознается виндой и софтом, то перейду к драйверам и механике, может набросаю эскиз какой. 18 минут назад, a69 сказал: Например наткнулся на вот такой вот интересный двигатель. Интересно, как у него обстоят дела с плавностью хода при сопротивлении?https://www.youtube.com/watch?v=O13j-5SatLQ С виду обычный BLDC, то что там магниты хитро набраны даст просто сильно выраженное нелинейное поле для каждого полюса. Чтобы были меньше рывки нужно чтобы был угол между магнитами и обмотками. Если я верно понял вопрос. Я вообще планирую накачивать током четко в зависимости от положения ротора. Не дискретно 6 позиций, а сделать датчик угла, и обмотки возбуждать так чтобы усилие всегда было равномерным. Нужно будет делать некоторую калибровку, чтобы контролер знал на какой угол сколько вешать, но это не выглядит проблемой(пока не занялся и не знаешь деталей - всё так просто!).
l3VGV Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 1 час назад, =FX=HeXyaH сказал: Ну структуры ты сдампил, а логику работы с ними где возьмёшь? Замечание полностью верное. Протоколом сейчас и занят. Это действительно наиболее непонятный этап. Если разберусь - запилю пост. Хочется уже к механике поскорее перейти, там столько интересного! 1 час назад, =FX=HeXyaH сказал: ИМХО - самый простой способ - это сэмулировать (как здесь) на новом процессоре 045E:001B мелкософтовским дровам + сдампить передачу эффектов (с помощью утилит тестирования FFB-эффектов) - и их закодить (ну т.е. притвориться МСФФБ2 ) Такой вариант рассматривается. Причем по эффектам, в минимальном виде: только констант форс, необходимый для понимания затяжеления. А вот все скорости обработки наоборот, форсировать до предела. Может тогда и фризы от совместной в тракиром работы уйдут? В 10ке то нет никаких драйверов для ффб2, видится как обычное устройство. Но это не исключает варианта что внутри стандартных HID.dll и прочих, нет под него своих веток кода. 1 час назад, =FX=HeXyaH сказал: как на это посмотрят мелкомягкие Мимо посмотрят. Пока не начнём продавать хотябы тысячными тиражами. 2
HeXyaH Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 (изменено) 1 час назад, l3VGV сказал: Такой вариант рассматривается. Причем по эффектам, в минимальном виде: только констант форс, необходимый для понимания затяжеления. А вот все скорости обработки наоборот, форсировать до предела. Может тогда и фризы от совместной в тракиром работы уйдут? В 10ке то нет никаких драйверов для ффб2, видится как обычное устройство. Но это не исключает варианта что внутри стандартных HID.dll и прочих, нет под него своих веток кода. Мимо посмотрят. Пока не начнём продавать хотябы тысячными тиражами. Вот по эффектам - не соглашусь: для меня в ФФБ чувствовать начало срыва - может быть даже важнее, чем переменная загрузка, т.к. на срывных режимах загрузка уже почти никакая ... Так что тряска нужна обязательно! Фризы не привязаны к конкретно МСФФБ2 - это проблема директ-икса и синхронизации видеовывода, т.к. необязательно даже подключать МСФФБ2 - достаточно в игре поставить галку ФФБ, и всё, приплыли - трэкир лагает - и с другими ФФБ джоями тоже ... Драйверы есть, но таки да - в inf-файле к стандартному HID - все МС-устройства, в т.ч. и с ФФБ. Но если нужны оригинальные (там есть кнопочные макросы, регулировка МЗ/линейности и уровня усилия) - лучше дампить из-под ХР ... ИМХО - если хотя бы сделать конструктор такой прошивки и сделать общедоступным, уже будет "нерукотворный памятник" автору ... И йух с ними, с МС ... Изменено 24 октября 2020 пользователем =FX=HeXyaH 2
propeler Опубликовано: 24 октября 2020 Автор Опубликовано: 24 октября 2020 (изменено) Цитата ИМХО - если хотя бы сделать конструктор такой прошивки и сделать общедоступным, уже будет "нерукотворный памятник" автору Уже все есть https://github.com/Ultrawipf/OpenFFBoard/tree/master/Firmware https://github.com/SimuCUBE/SimuCUBE-OpenSource-Firmware https://github.com/nervTeh/ForceFeedback-core-library https://github.com/hoantv/VNWheel Из этого копипастятся куски и собираются в рабочее решение. Или в каком виде вам нужен конструктор? Прошивка будет доступна в скором будущем, когда допишу програмку для конфигурирования еффектов. В ней работают все еффекты. Изменено 24 октября 2020 пользователем propeler 4
l3VGV Опубликовано: 24 октября 2020 Опубликовано: 24 октября 2020 1 час назад, =FX=HeXyaH сказал: Фризы не привязаны к конкретно МСФФБ2 - это проблема директ-икса и синхронизации видеовывода, т.к. необязательно даже подключать МСФФБ2 - достаточно в игре поставить галку ФФБ, и всё, приплыли - трэкир лагает - и с другими ФФБ джоями тоже ... У меня фризить начинает только если есть активные эфекты. Если без джоя поставить галку - фризов нет. Если включить и стоять на стоянке - фризов нет. А когда начинаеш летать и джою надо подрожать - тогда фризит. Врятли проблема с видеовыводом. Проблема вообще имеет неясные для меня корни. Еслибы допустим разработчики ошиблись и делали вызовы из того потока в котором и рендеринг, то блокирующие вызовы фризили бы и без тракира. Тракир без ффб не фризит. Такое ощущение что у них есть какойто общий разделяемя ресурс, который они пытаются захватить. Страшно будет если это чтото внутри их драйверов, но что? Сами вызовы фидбека это не более чем SetFeature/GetFeature - обычные HID контрол трансферы. Я пробовал вклюить бомбардировку моего контроллера этими передачами. Примерно 200 в секунду, никаких фризов не замечено. Вобщем эта задача требует себе отдельного героя.
Johnet Опубликовано: 25 октября 2020 Опубликовано: 25 октября 2020 22.10.2020 в 05:50, l3VGV сказал: Прошу привести пример лота. https://aliexpress.ru/item/32856914458.html?spm=a2g0o.detail.1000023.4.705c7f89hgGqEm&_ga=2.2621040.190820126.1603546647-1970810348.1603546647
l3VGV Опубликовано: 25 октября 2020 Опубликовано: 25 октября 2020 5 часов назад, Johnet сказал: https://aliexpress.ru/item/32856914458.html?spm=a2g0o.detail.1000023.4.705c7f89hgGqEm&_ga=2.2621040.190820126.1603546647-1970810348.1603546647 то самое, посерьезней и сразу сурово дороже. https://aliexpress.ru/item/32856838245.html
Johnet Опубликовано: 25 октября 2020 Опубликовано: 25 октября 2020 2 часа назад, l3VGV сказал: то самое, посерьезней и сразу сурово дороже. Угу, видел. Самое щамечательное, что отверстия и межосевое одинаковые. Можно подбирать.
Shade Опубликовано: 25 октября 2020 Опубликовано: 25 октября 2020 12 часов назад, propeler сказал: 16 часов назад, l3VGV сказал: Ребят, я все понимаю -- но почему не использовать вместо шестерен, ремней и шкивов пружины? Само же собой решение напрашивается!
HeXyaH Опубликовано: 25 октября 2020 Опубликовано: 25 октября 2020 (изменено) 12 часов назад, propeler сказал: Уже все есть Из этого копипастятся куски и собираются в рабочее решение. Или в каком виде вам нужен конструктор? Прошивка будет доступна в скором будущем, когда допишу програмку для конфигурирования еффектов. В ней работают все еффекты. Ну, в моём понимании, это что-то, уже не нужно собирать из разных кусков исходников разных библиотек, потом пытаться компилировать и отлаживать, попутно причёсывая структуры разных данных ... Скетч для ардуино, предварительно сконфигурированный с помощью *.h -файлов - уже вполне приемлемо ... Ну и файлы для травления платы силовой обвязки приводов моторов - куда ж без этого с ФФБ ... 34 минуты назад, Shade сказал: Ребят, я все понимаю -- но почему не использовать вместо шестерен, ремней и шкивов пружины? Само же собой решение напрашивается! Я уже где-то высказывался, что самый идеальный привод ФФБ джоя для игровых применений - это (ИМХО) такой же как актуатор HDD - ни шестерён, ни ремней и прецезионное позиционирование с регулировкой тока в широких пределах ... Изменено 25 октября 2020 пользователем =FX=HeXyaH
propeler Опубликовано: 25 октября 2020 Автор Опубликовано: 25 октября 2020 (изменено) Цитата Ребят, я все понимаю -- но почему не использовать вместо шестерен, ремней и шкивов пружины? Само же собой решение напрашивается! Цитата Я уже где-то высказывался, что самый идеальный привод ФФБ джоя для игровых применений - это (ИМХО) такой же как актуатор HDD - ни шестерён, ни ремней и прецезионное позиционирование с регулировкой тока в широких пределах ... Сорри гайз, но ваши предложения - это просто "а поговорить". Если у вас есть готовое решение, доступное, не за космические деньги, с интересующими нас показателями усилия - давайте ссылки, чертежи, описания. На первый взгляд очень многие решения могут показаться очевидными, но попробовав их реализовать в РЕАЛЬНОМ МИРЕ с условиями того что в нем можно купить и изготовить все становиться не настолько очевидным. Я считаю, что лучшее решение - это решение которое можно воплотить в жизнь в условиях того что доступно простому смертному, потратив на это не все деньги мира. Изменено 25 октября 2020 пользователем propeler 1 1 2
l3VGV Опубликовано: 25 октября 2020 Опубликовано: 25 октября 2020 (изменено) 32 минуты назад, =FX=HeXyaH сказал: Я уже где-то высказывался, что самый идеальный привод ФФБ джоя для игровых применений - это (ИМХО) такой же как актуатор HDD Ну так там одна фаза обычного электродвигателя, сектор очень маленький, лапка крайне легкая, могут себе позволить. Можно и у нас подобное сделать, вотбы кто занялся! Причем, даже дорогие редкоземельные магниты не нужны. Нужно намотать потолще проводом, электромагниты, на магнитопроводы в принципе, адекватного размера, и формой сектора. Две катушки будет на подвижной части, а ещё 2 - на неподвижной. Т.е. ротор и статор. Управлять такой машиной нужно также как и обычно. теперь например, создаем N поле на статоре и S на роторе (или наоборот) - встали в центр. На статор N S, а на роторе S - пошли влево. И так далее. Плюсы тут в том что можно работать от датчика на оси. Директ драйв, полная плавность. А вот токи, для создания вменяемых усилий нужны будет - конские. Дальше можно начинать прикидывать, сколько магнитного потока будет вылетать наружу и куда, даже если сделать скромно, скажем на 1Т. Вариант дороже но магнитные поля наружу полезут меньше, это статор выполнить из тора, с вырезанным пазом. Т.е. берется обычный трансформатор ТОР, там делает прорезь под размеры электромагнитов которые будут на роторе. Размеры и вес таких конструкций даже думать страшно Ну, для какихто вменяемых усилий на рычаге. Не говоря уже про цену как самой магнитной системы так и драйверов для неё(но то я жадный, а настоящих энтузаистов это не остановит!). Цены за электричество опятьже. Зато можно сделать водяное охлаждение катушек. Такое вообще редко где встречается! Изменено 25 октября 2020 пользователем l3VGV
HeXyaH Опубликовано: 25 октября 2020 Опубликовано: 25 октября 2020 11 минут назад, l3VGV сказал: Вариант дороже но магнитные поля наружу полезут меньше, это статор выполнить из тора, с вырезанным пазом. Т.е. берется обычный трансформатор ТОР, там делает прорезь под размеры электромагнитов которые будут на роторе. Размеры и вес таких конструкций даже думать страшно Ну, для какихто вменяемых усилий на рычаге. Есть другой, почти готовый вариант Передача 183:1, но таки шестерёнки, жужжать будут, и люфтить ...
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас