Как стать автором
Обновить

Моя марбл машина, версия 3

Время на прочтение3 мин
Количество просмотров5.8K

Мне нравятся марбл машины. Это уже третья машина, которую я делаю. Проектирую в САПР FreeCAD и печатаю на 3D принтере. Моя первая марбл было довольно простой, вторая была посложнее. И вот я сделал третью.

Постепенно, работая с 3D принтером, разрабатывая всякие механические штуки, я усвоил для себя несколько простых правил:

  1. если две детали подвижны относительно друг друга - ставь подшипник;

  2. даже если все детали разные их много, то старайся стандартизировать хоть что ни будь, например, метод соединения разнородных деталей, желоба, башмачки вертикальных опор или даже просто цвет деталей "белый низ - чёрный верх";

  3. по возможности избегай ударных нагрузок, например, падения шариков, это создаёт значительный шум и разбалтывает механизм; мои первые две марбл машины очень страдали этими недугами;

  4. как можно меньше склеек, лучше, чтоб всё разбиралось, а чтобы соединение винт-гайка было надежным - ставь шайбу Гровера;

  5. прежде чем печатать какую-то деталь разработай и смоделируй весь механизм, где будет эта деталь стоять.

Последний пункт один из самых важных.

Поначалу я очень страдал от непонимания этой простой истины. Моя разработка марбл машины была очень хаотичной. Сегодня я хочу, чтобы шарики скатывались влево и здесь я поставлю ловушку, а там придумаю что ни будь. Напечатаю ловушку и путь к ней, потом что-то пошло не так.. нет пусть лучше скатываются вправо, а тут я буду делать.. а что делать ещё и сам не придумал. В результате, разработаю деталь и напечатаю, потом понимаю, что она не совсем подходит, а вот если бы у неё вот этот поворот был чуть круче, вот тогда бы..

Казалось бы, пока одна деталь печатается, ты проектируешь другую и это же экономия времени? В реальной жизни так не работает. В реальной жизни только теряешь время и портишь пластик. Нужно вычертить весь проект, все детали расставить по местам, посмотреть, чтоб они все хорошо соединялись, чтоб был приемлемый перепад высот. И вот только тогда имеет смысл начинать печатать.

Так, постепенно, я освоил сборку сложных деталей во FreeCAD. Например, вот так выглядит модель винта Архимеда для марбл в сборе:

А вот это сборка деталей спуска после гусеничного подъемника:

Или вот снимок ну почти полностью собранной модели марбл машины:

Не знаю как на хабре вставлять в статью 3D модели для просмотра. Возможно ли это? Была бы интересная фишка. Читатели бы могли вращать и рассматривать модель со всех сторон ну и всё такое..

Как вы понимаете, моя марбл машина состоит не только из пластиковых деталей. Здесь есть еще моторчики и плата управления. Я использую шаговые двигатели 28byj-48. Здесь их три: на винте Архимеда, на гусеничном подъемнике и на делителе потока. Двигатели просты в управлении и имеют небольшие габариты. Меня уже как-то критиковали, мол двигатель должен быть только один и он должен приводить в движение всю машину. Ну тем не менее, мне проще использовать несколько моторчиков. Таков мой путь.

Плату контроллера я так же разработал сам в САПР KiCAD:

Да, я знаю, что существуют всякие "ардуины", но мне как-то ближе и роднее ПЛИС, на моей плате стоит CPLD Altera MAX3128. Логических элементов не очень много, но для разных самоделок типа моей хватает вполне. Плата выглядит вот так:

Эта плата в моем проекте управляет тремя шаговыми двигателями (а вообще-то может управлять четырьмя) и самое сложное, что здесь есть это управление делителем потока шариков. Это в центре марбл машины такой качающаяся стрелка. Там стоит простой ИК датчик. Когда стрелка идет влево "программа" в ПЛИС ожидает срабатывания датчика, после чего стрелка идет вправо на заданное число шагов и там разворачивается.

Программа в ПЛИС написана на Verilog HDL и компилируется в среде Altera Quartus v13.0.

На самом деле у меня большие планы на эту маленькую платку. Да, я собираюсь использовать её во всех своих марб машинах и не только. Это пока еще у меня логика работы машины очень простая. А вот когда проект будет сложнее или потребуется к примеру управление по сети или WiFi, то тогда я планирую устанавливать эту плату на Raspberry Pi или какой ни будь другой одноплатник.

Я уже испытал эту возможность. Например, вот здесь на видео:

Здесь платка МА3128 установленная на одноплатник Orange Pi PC2 управляет сразу четырьмя шаговыми моторчиками, а программа управления написана на питоне. Таким образом, будущие машинки смогут иметь очень продвинутую логику работы.

Схему платы и некоторые ПЛИС проекты для этой платы можно посмотреть на github: https://github.com/marsohod4you/MA3128

Ну и более подробное описание МА3128 и как её программировать в среде Altera Quartus, вот здесь.

Вот так получается, что для создания моей марбл машины я применил многое из арсенала своих знаний: 3D проектирование во FreeCAD, проектирование печатной платы в KiCAD, программирование ПЛИС на верилоге в САПР Altera Quartus.

Следующий этап проекта - объединить все когда-то сознанные мною Marble машины в единый живой механизм.

Теги:
Хабы:
Всего голосов 41: ↑41 и ↓0+41
Комментарии33

Публикации

Истории

Ближайшие события

Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
OTUS CONF: GameDev
Дата30 мая
Время19:00 – 20:30
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область