Разборки с марлин
Сгорел драйвер на принтере kingroon kp3s pro. Было принято решение поставить в нужный слот дополнительный драйвер и поменять прошивку чтобы принтер выводил команды не на порт E0, а на порт Е1
И вроде бы всё шло хорошо. Нашёл подходящий драйвер, нашёл прошивку(решил выбрать марлин), но потом вспомнил, что не знаю ничего в этой теме. И встал вопрос, что поменять в файлике чтобы всё заработало?
Код прошивки брал отсюда(https://github.com/MarlinFirmware/Marlin/blob/bugfix-2.1.x/M...).
Квадропод (робот паук)
В интернетах можно купить несколько готовых комплектов роботов пауков (конструкторы для сборки и программирования с детьми). В наборах есть детали паука напечатанные на 3D принтере + 8 серв + мозГ + I/O Shield + АКБ и т.д. Качество печати как правило низкое (судя по комментариям).
Есть например две версии на NodeMCU (ESP8266 CP2102) - "Kerui-Little Spider" от продавца "Think Store" (Алик). Версия 1 Версия 2
Есть вариант на Arduino Nano 3.0 - Квадропод v2.0 (С++) от "Enjoy Robotics" (набор продается на Озон и ВБ).
В сети был найдет проект "Q1 mini Quadruped Robot 2.0 (Designed by Jason Workshop)" с бесплатными файлами для печати на 3D принтере. Где купить "LinkIt 7697" для него так и не нашел (Out of Stock), решил первый вариант собрать на Arduino Nano 3.0
На алике покупаются сервы SG90, Arduino Nano 3.0, Shield, 200 шт саморезов 1.7х8мм, бокс для батареек. Корпус паука печатаем самостоятельно.
Инструкция по сборке и программированию Квадропода (Инструкции в формате PDF, Видео с Ютуба, ссылка на скетчи в облаке. Нужна регистрация и подтверждение учетной записи)
Сможете найти на картинке цифру среди букв?
Справились? Тогда попробуйте пройти нашу новую игру на внимательность. Приз — награда в профиль на Пикабу: https://pikabu.ru/link/-oD8sjtmAi
Обзор на плату BigTreeTech Manta M4P + CB1 модель + настройка и запуск Klipper. Это было просто
Всем доброго времени суток.
В этой статье попытаюсь описать весь свой опыт использования платы manta m4p от компании bigtreetech. Начну с того, что для меня прошивки, программирование и все вот это вот програмное - боль и страдания. Но в условиях необходимости приходится как то крутиться. Необходимость появилась неожиданно. У меня оооочень давно в коробке лежал tronxy xa400sa pro (вроде так, я в моделях этой компании не понимаю ничего вообще), и мне пришлось его доставать, так как был срочный заказ на печать большого количества изделий, достаточно больших. В итоге пока собирал принтер понял, что шлейф экрана у тронкси порван (частично). Попытался я найти этот шлейф - безрезультатно. Собрался и поехал в магазин по 3д запчастям в Химки. Приехал, попросил парней что-то, что быстро и понятно можно настроить. В итоге это оказались две платы - Manta m4p с модулем CB1 и BTT octopus pro под rrf. Взял в итоге обе, но проверил и настроил соответственно первую.
Теперь о самой плате: она компактная( с учетом что cb1 модуль заменяет пишку), но при этом имеет ограничения по подключениям моторов в количестве 4 штуки. Сначала думал что хватит, потом понял что не хватит, в итоге включил фантазию, хватило)
С подключением у меня сложностей фактически не возникло. Провода вентиляторов только местами надо было менять, остальное все в первозданном виде и подключилось.
По прошивке были танцы все таки. При том, были они по сути, из-за усложненного туторилала от самих BTT. По итоге все оказалось гораздо проще и быстрее.
Итог таков - я увидел, что клиппер запустился с экраном Mainsail. Важная информаци: Если вы купили плату и все сделали правильно, но при включении у вас не стартует klipper и сразу выключается, то вероятнее всего вы не подключили термистры. Без их подключения принтер сразу же уходит в ошибку.
На графике температуры не откалиброванный PiD, так как только сменил штатную голову, а откалиброваться забыл)
Все управление принтером осуществляется удаленно. Я сначала думал подключить экран простенький (эти мысли пока меня не оставили), но пока, после нескольких печатей, острой необходимости нет.
Можно посмотреть карту высот
Так же есть возможность посмотреть, что за файл лежит на флешке и как он будет выглядеть по запершению печати
И еще есть возможность удаленно следить за перемещением принтера по положению сопла относительно начала координат
Возможен и просмотр истории принтера - сколько файлов допечатано, сколь отменено и тд
И наконец самая важная вкладка - Machine. Тут лежит файл конфигурации принтера, экрана температура и загрузка MCU, версия прошивки и т.д. В общем тут все мозги). так же тут можно обновлять плату так же через wifi.
По поводу Файла конфигурации принтера (собственно единственный файл, который я открывал и изменял во вкладке Machine)
Весь спект настроек ниже
Что и как в этих настройках пришлось застронуть, что принтер начал печатать? - почти ничего. Инвертировал направление одного мотора путем добавления знака "!", поменял назначение пина probe, так как изначально конфиг настроен под принтер Voron мелкий, а в них установлен bltouch отдельно (могу ошибаться). В моем принтер датчиком калибровки стола выступает концевик по z, он же и индуктивный датчик на голове принтера. Так же в файле конфигурации поменял область печати и передвижения, скорости, ускорения и offsetы. В целом то это все. что мне пришлось сделать внутри конфига.
Грубо говоря, если бы я не пытался бы сделать все по мануалу btt, а нашел бы более правильный мануал сразу, то принтер бы начал печатать в тот же день. Ни беготни с флешкой, ни гадкого Vscode и подобных программ, ни тебе фигпоймипочемутынекомпилируешьсясраныйMarlin. В общем все очень быстро, просто, понятно. Тем более что в интернете почти под каждый принтер можно найти конфигурационный файл, после чего вы просто копируете с него все что вам нужно и работаете. ВАЖНО: В файле конфигурации не надо менять все пины, они у вас уже будут выставлены правильно. Исключением, как в моем случае, могут быть пины концевика или зонда и наверное все.
Чем же дилетанту, вроде меня, полезен и удобен Klipper на первый взгляд?:
Все управление через wifi с телефона или ноутбука/ПКДостаточно просто настроить файл конфигрурации принтера Можно просмотреть что за файл лежит на флешке и что он напечатает (для меня важно, так как бывало печатал фигуру более чем из 60 частей, а называл их цифорками и не всегда было понятно что там есть)Я бы тут сказал, что качество печати, и скорее всего оно так, но принтер сейчас находится в стадии допилинга. Надо устрановить директ, откалибровать Pid, разобраться с imput shaping и т.д. Скорость передачи по wifi отмечу отдельно!!! в сравнении с тем же медведем, где тяжелый файл может передаваться 10 минут, тут все залетает за секунды.Теперь же для продвидвинутых дядек, зачем Klipper им?:
Невероятно гибкая настройка всего, что делает принтер. Imput shaping, pressure advance, Uart mode, туча макросов, которые можно настроить так, что принтер тебе еду будет подогревать или светомузыку включать, когда принтер печатает. Полет фантазии тут ограничем только временем и количеством интерфейсов подключения.
Собственно примеры работы принтера (не забывайте, что принтер находится в стадии допилинга по механике) вот такие:
Для принтера франкенштейна - пойдет. Как принтер будет полноценно готов - будет другая статья уже со всеми доработками. Пока все же про плату)
По итогу: плата с прошивкой меня поразили своей простотой и удобством. Я понимаю, что для многих, таких же как я, нелюбителей компьютерного шаманства и у кого слово "Linux" сравнимо с люцифером, такая перемена будет проблематично. Но я считаю, что такой шаг, хоть и вынужденный, открыл для меня чуть больше. Подобное обновление мне подарило удобств как минимум. А все мы стремимся к комфорту, так что я остался доволен.
В планах теперь запустить мне и RRF прошивку, скорее всего на этом же принтере, так что есть небольшая вероятность, что эта плата уйдет на Anycubic predator (она и по пинам более подходит, да и склееный ремень синхронизации на 400м принтере не лучшее решение, хоть и проблем с осью z не увидел).
P.s. Цена за весь комплект обнов вышла в районе 8т.р.Так же есть возможность собрать аналог raspberry pi от Btt путем покеупки модулей cb1 и pi4b. По цене выйдет около 4т.р. Там уже можно подцепить сразу несколько устройств не вытаскивая старую плату из вашего принтера. Тоже не плохой вариант) Всем спасибо за внимание, не болейте)
RadSensor v1.0. Собираем портативный персональный дозиметр из готовых компонентов
Дозиметр не для Серёжи
В постоянно изменяющемся мире дозиметр является не только способом утолить любопытство и поймать на мушку хоть немного веселых Зивертов, но и способом обнаружения вполне реальных угроз. От проверки “любопытной старинной штуковины” из дедовского гаража, до отслеживания радиоактивного фона в зонах расположения АЭС, от обеспечения безопасности при вылазке в заброшки до мониторинга глобальных и локальных техногенных катастроф.
Нетленной классикой Хабра является цикл статей “Дозиметр для Серёжи”. В этом материале много истории, теории и хардовой (если не сказать “крафтовой”) сборки. Мы респектуем автору, и Сереже тоже. Но ставим перед собой другую, более практическую задачу - собрать дешёвый, функциональный и удобный дозиметр из готовых компонентов. В качестве основных элементов будут использованы Wemos D1 и модуль RadSens (ардуино-дозиметр на базе трубки Гейгера СБМ-20).
RadSensor (таково гордое имя нашего детектора) берет лучшее от прошлых проектов, а также учитывает их ошибки и расширяет функционал счетчика, в частности:
увеличено время автономной работы;
- реализован функционал аудиоотклика;
- повышена эргономичность и универсальность корпуса;
- проект в целом упрощен и избавлен от “крафта”
Не устаем повторять, что основной критерий успеха материала - наличие удачных повторов и ремейков проекта со стороны маленьких электронщиков-школьников, бесшабашных туристов-студентов, а также практичных грибников-родителей.
Перед тем как листать дальше настоятельно рекомендуем ознакомиться с легендарным материалом (https://habr.com/ru/post/471236/). Краткая история и матчасть сами себя не прочитают ;)
Ознакомились? Отлично, тогда приступим!
Персональный дозиметр своими руками
Шутейки иссякли. Далее вас ждет сухая пошаговая инструкция по сборке устройства от закупки компонентов до кода и тестирования..
План покупок (BOM)
1) Плата разработки Wemos D1, от 117 руб. на Али ()
2) Модуль дозиметра RadSens, от4550 руб. на Али/Озоне ()
3) OLED-экран 1.3” с I2C, от 161 руб на Али ()
<!--[endif]-->4) Пассивный пьезоизлучатель, от 48.5 руб. на Али (https://aliexpress.ru/item/4000785325910.html?sku_id=1000000...)
<!--[endif]-->5) Плата заряда TP4056, от 25 руб. на Али ()
<!--[endif]-->6) Аккумулятор 18650, от 210 руб. на Али (https://aliexpress.ru/item/1005004392079183.html?sku_id=1200...)
<!--[endif]-->7) Бокс одинарный для 18650 аккумулятора, от 19 руб. на Али ()
<!--[endif]-->8) Макетная плата 7*3 см, от 17 руб. на Али ()
<!--[endif]-->9) Выключатель KCD-01, от 64 руб. за 10 шт на Али ()
<!--[endif]-->10) Разъём XH-2.54 с обжатыми проводами, от 66 руб. за две пары на Али ()
<!--[endif]-->11) Резисторы номиналами 220 и 100 кОм
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->12) Винты/саморезы с диаметром резьбы 3 и 2.5 мм
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
Общая стоимость компонентов ~5500 рублей.
Цена сравнима с древними дозиметрами советской или китайской разработки. Аналогичное, но современное решение на Озоне обходится уже в 7-9 тысяч рублей.
Схема устройства
Соединения показаны ниже на схеме. Особенности сборки:
- В верхней части макетной платы располагается Wemos (2 пина от края) и OLED (2 пина от края).
- Внизу макетки установлены: зарядкаTP4056 (Type-C сдвинут максимально близко к краю платы, но не вылезает за её пределы) и пьезоизлучатель (любая удобная позиция).
- Выключатель стоит на разрыве плюсового выходного пина контроллера заряда. Если подключить его на разрыв плюсового провода батареи, то контроллер заряда будет уходить в защиту, это ведёт к некорректной работе устройства.
Для расчёта и вывода остатка заряда батареи используется АЦП (пин А0). Для его правильной работы необходимо понизить напряжение с помощью делителя нпряжения. Подробнее о нем вы можете прочитать в статье о сборке анемометра (https://habr.com/ru/post/676348/).
В результате должно получиться подобное устройство. Рекомендуем заизолировать контакты на лицевой стороне платы. Это одна из возможных способов собрать её, поэтому мы приветствуем критику и предложения :)
Корпус
Мы постарались создать максимально удобный для печати, сборки и эксплуатации корпус.
На углу предусмотрена проушина диаметром 3 мм под шнурок или брелок.
Под трубкой Гейгера сделаны прорези для возможности детекции альфа-частиц, сделаны отверстия под пьезоизлучатель.
Посадочные места дозиметра адаптированы под длинную и короткую версии модуля RadSens.
На крышке предусмотрены посадочное место для OLED-экрана для предотвращения западания, добавлены боковые стенки для увеличения жёсткости корпуса
Модель адаптирована под 3d-печать, подобрана нормальная толщина стенки, минимизировано число поддержек
Найти модели корпуса (stl и step-файлы) вы можете в нашем GitHub.
Код
Для проекта использован слегка доработанный код из нашей предыдущей статьи (...). В частности:
- добавлен звук приветствия при включении устройства
- добавлена индикация заряда
- реализовано предупреждение при превышении порога интенсивности излучения.
Для работы с OLED-экраном используется библиотека Алекса Гавера GyverOled.
Вы также можете найти код в примерах библиотеки RadSens на GitHub.
// Инициализируем библиотеки
#include <Wire.h>
#include <CG_RadSens.h>
#include <GyverOLED.h>
#define ADC_pin A0 // задаём значение пина АЦП
#define buz_pin 14 // Задаём значения пина для пищалки
GyverOLED<SSH1106_128x64> oled; // Инициализируем 1.3" OLED-экран
CG_RadSens radSens(RS_DEFAULT_I2C_ADDRESS); // Инициализируем RadSens
uint16_t ADC; // Переменная для значений АЦП
uint32_t timer_cnt; // Таймер для измерений дозиметра
uint32_t timer_bat; // Таймер для измерения заряда батареи
uint32_t timer_imp; // Таймер опроса импульсов для пьезоизлучателя
uint32_t pulsesPrev; // Число импульсов за предыдущую итерацию
//Функция аудиоприветствия
void hello() {
for (int i = 1; i < 5; i++) {
tone(buz_pin, i * 1000);
delay(100);
}
tone(buz_pin, 0);
delay(100);
oled.setScale(2);
oled.setCursor(10, 3);
oled.print("Radsensor");
oled.update();
delay(3000);
oled.clear();
}
//Функция, которая создаёт "трески" пьезоизлучателя при появлении импульсов
void beep() { // Функция, описывающая время и частоту пищания пьезоизлучателя
tone(buz_pin, 3500);
delay(13);
tone(buz_pin, 0);
delay(40);
}
//Функция предупреждения при превышении порога излучения
void warning() {
for (int i = 0; i < 3; i++) {
tone(buz_pin, 1500);
delay(250);
tone(buz_pin, 0);
delay(250);
}
}
void setup() {
Wire.begin();
oled.init(); // Инициализируем OLED в коде
oled.clear();
oled.update();
pinMode(ADC_pin, OUTPUT); // Инициализируем АЦП как получатель данных
hello(); // Приветствуем пищанием
oled.update(); // Обновляем экран
pulsesPrev = radSens.getNumberOfPulses(); // Записываем значение для предотвращения серии тресков на старте
}
void loop() {
// Раз в 250 мс происходит опрос счётчика импульсов для создания тресков, если число импульсов за 250 мс превысит 5, раздастся предупреждение
if (millis() - timer_imp > 250) {
timer_imp = millis();
int pulses = radSens.getNumberOfPulses();
if (pulses - pulsesPrev > 5 ) {
pulsesPrev = pulses;
warning();
}
if (pulses > pulsesPrev) {
for (int i = 0; i < (pulses - pulsesPrev); i++) {
beep();
}
pulsesPrev = pulses;
}
}
// Снимаем показания с дозиметра и выводим их на экран
if (millis() - timer_cnt > 1000) {
timer_cnt = millis();
char buf1[50];
char buf2[50];
char buf3[50];
sprintf(buf1, "%.1f мкр/ч", radSens.getRadIntensyDynamic()); // Собираем строку с показаниями динамической интенсивности
sprintf(buf2, "Стат: %.1f мкр/ч ", radSens.getRadIntensyStatic()); // Собираем строку с показаниями средней интенсивности за период работы
oled.setCursor(0, 2);
oled.setScale(2);
oled.print(buf1);
oled.setCursor(0, 6);
oled.setScale(1);
oled.print(buf2);
}
// Считываем показание с АЦП, рисуем батарею и создаём индикацию заряда, показания АЦП вы можете подстроить под своё удобство
if (millis() - timer_bat > 5000) {
timer_bat = millis();
ADC = analogRead(ADC_pin);
oled.rect(110, 0, 124, 8, OLED_STROKE);
oled.rect(125, 3, 126, 5, OLED_FILL);
if (ADC >= 350) {
oled.rect(112, 2, 114, 6, OLED_FILL);
oled.rect(116, 2, 118, 6, OLED_FILL);
oled.rect(120, 2, 122, 6, OLED_FILL);
}
if (ADC < 350 && ADC >= 335) {
oled.rect(112, 2, 114, 6, OLED_FILL);
oled.rect(116, 2, 118, 6, OLED_FILL);
}
if (ADC < 335 && ADC >= 320) {
oled.rect(112, 2, 114, 6, OLED_FILL);
}
if (ADC < 320){
oled.rect(110, 0, 124, 8, OLED_STROKE);
oled.rect(125, 3, 126, 5, OLED_FILL);
}
}
oled.update(); // Обновляем экран в конце цикла
}
Сборка
Для придания большей компактности мы свели к минимуму свободное пространство внутри корпуса. Поэтому необходимо придерживаться простого алгоритма сборки.
1) Устанавливаем бокс для 18650 с помощью винта диаметром 3х7 мм и вставляем выключатель в отверстие с торца, подпаиваем к нему провода для разрыва линии +OUT контроллера заряда.
2) Припаиваем провода от бокса к соответствующим выходам контроллера заряда, провода от выключателя – в разрыв между +OUT и плюсовыми контактами потребителей. Затем подключаем два шлейфа для дозиметра и экрана, выводим их и закрепляем корпус на три винта 2.5х7 мм. После вставляем батарею в бокс.
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
3) Подключаем модуль RadSens через коннектор и закрепляем его винтам 2.5х7 мм.
4) Закрепляем экран винтами 2.5х5 мм и подключаем его.
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
5) Закрепляем крышку винтами 3х5 мм.
Тестирование
Как и в предыдущих статьях мы проводим тестирование на сульфате калия. Если у вас в тумбочке завалялся кусок урана - можете использовать его, но помните о мерах безопасности.
Дозиметр для DIY-щиков
В рамках материала мы описали только базу дозиметра. Проект можно и нужно развивать: создать приложуху для сбора и записи статистики на телефон, интегрировать с Народным Мониторингом, добавить функции фонарика, датчика температуры и лазерной сабли. Пожалуйста, выбирайте задачку по себе, предлагайте новые идеи и помогайте нам.
Наш же новый челендж - автономный дозиметр, работающий от солнечной батареи и передающий данные по модему на Нармон. Ждите, скоро на просторах хабра...
Также мы планируем провести в Москве несколько мастер-классов по сборке дозиметров и прочих проектов. Если DIY-электроника для Вас в новинку, но очень хочется попробовать - присоединяйтесь к сообществу ClimateGuard, ловите объявления и приходите к нам в гости на Электрозавод (МЭЛЗ).
Пользуясь случаем команда инженеров ClimateGuard передает благодарности и респекты:
бессменному автору Илье Радченко (@octopoly) за подготовку материала;
Алексу Гаверу (@AlexGyver) за прекрасную библиотеку GyverOLED;
магазину Амперкот за предоставленные компоненты и желание создавать крутые и полезные образовательные наборы;
сообществу, поддерживающему проекты и участвующему в нашей жизни;
...и конечно же вам, дорогие читатели, за уделенные время и интерес к статье!
Давайте сплачиваться и нести DIY в массы!
Вопрос по 3D-принтеру
Знающие люди, подскажите.
Сын увлёкся Блендером, Питоном и 3D-печатью смоделированных фигурок. Пока на начальном уровне, конечно.
Программы изучает самостоятельно дома.
А печать делает в рамках занятий Кванториум в школе (но там это, хоть и бесплатно, но ограничено - он не один ученик).
Имеет ли смысл задумываться о приобретении 3D-принтера домой? От каких сумм будет начинаться то, что не сломается через пару печатей? С какой марки/модели начать, если надумаем? Какие тонкости и потенциальные первые ошибки?
Или, может, собрать самому (я читала, так делают)?
И вообще, имеет ли смысл углубляться в это направление, или лучше заняться другими вариантами (например, с друзьями хотят делать игру на Юнити, но тут ещё не начинали изучать толком)?
Если вы профи в своем деле — покажите!
Такую задачу поставил Little.Bit пикабушникам. И на его призыв откликнулись PILOTMISHA, MorGott и Lei Radna. Поэтому теперь вы знаете, как сделать игру, скрафтить косплей, написать историю и посадить самолет. А если еще не знаете, то смотрите и учитесь.
Радиоуправляемая полноприводная платформа, с намеком на подвеску. Или коротко о скуке инженера, часть 2
Первая часть
Так, продолжаем разговор. Сегодня надо наконец собрать до кучи эту кучу пластика, и разобраться с электроникой, попутно вызвав не более трех демонов.
Напишу здесь, так как под первой частью было много недопониманий. Я не строю болид для ралли Париж-Дакар. И не для каких бы то ни было еще соревнований. И вообще ни для чего. Я инженер, но не сказать что лучший, или даже хороший. Это просто развлечение на свободное время, в стиле "а что будет, если попробовать?". Единственная цель сего мероприятия - убить время, дальнейшая судьба проекта - разбор на запчасти (возможно, с использованием молотка, для обретения душевного спокойствия) с последующей утилизацией.
Первым делом, надо разобрать все то, что так тщательно собирали в прошлый раз. Ну ладно, почти все.
Больше винтиков богу винтиков!
С одной стороны, полностью разборная конструкция дает массу преимуществ. Не так много сложных и крупных деталей, в случае поломки можно легко заменить только конкретно отзлебнувший элемент, легко править косяки и производить модификации.
Но черт возьми, как же я замаялся крутить эти чертовы 68 винтов... Да, можно было бы сделать и поменьше... Хотя я плохо представляю как.
Так как наша цель - подрамники, значит, придется скидывать рычаги, значит откроется отличный доступ к моторам...
Воспользуемся советом из комментариев, и поменяем провода питания. Я как раз нашел оригинальные от этих моторов, совершенно случайно...
Паяем провода, да покрепче, с обратной стороны зачищаем и обжимаем клеммы ншви. Просто потому что я так хочу, и никто мне не запретит. И так удобнее.
Повторяем четыре раза, затем долго и упорно закручиваем все обратно, пару раз забываем сначала собрать, а потом прикрутить амортизаторы, путем лево с право и в итоге получаем результат как в конце прошлой части, только лучше.
Едем дальше. Еще на моменте моделирования, я заложил по середине рамы монтажные отверстия, подразумевая что потом на них встанет ну хоть какое то подобие кузова, или подрамник для электроники. Получилось ни то, ни другое, просто белая пластинка с отверстиями, на глаз подогнанная под размеры будущих "мозгов".
Итак. Давайте теперь поговорим про управляющую электронику. Сейчас просьба всем хоть чуть чуть шарящим и понимающим, а так же особо чувствительным, закрыть нафиг этот пост. Я предупредил.
Чем мы можем заставить какую либо робототехническую платформу нас слушаться? Есть пара тройка вариантов. Первый, это одолжить у друга специальную аппаратуру для управления моделями, типа такой:
В теории все просто, минимум геморроя, главное все правильно подключить - и вуаля, у нас есть детская машинка на радиоуправлении. Но. Эта штука стоит денег. Для кого больших, для кого не очень, но все же стоит. У меня ее нет, покупать не хочу, а тот самый друг уже пол года как отдает долг родине... Поэтому не вариант, для нас.
Следующий вариант - экзотически-извращенский, я бы сказал. Купить в магазине самую простую машинку на радиоуправлении, распотрошить, и вставить потраха в наше поделие. Объяснять, почему так себе идея, надеюсь не надо?..
И вот, самый популярный, распространенный, и многими (в том числе и мной) любимый способ - Ардуино.
Имеем туево кукуево вариантов плат, модулей, форм факторов и тд. Даже языки программирования разные, и тут пожалуйста! И вот совпадение, у меня есть парочка.
Дальше есть два пути. Первый - обвешать модель всякими разномастными датчиками, поломать голову над кодом, и заставить все это безобразие кататься автономно, по какой нибудь черной линии, или от стенки до стенки, с помощью датчиков расстояния, или еще как. Вариантов куча. Но мне как то не интересно.
Второй путь - дистанционное управление. Можно заставить платформу кататься, подчиняясь команда с пульта телевизора, при помощи ик-приемника. Можно заморочиться с радиоканалом, и привязать к ней какой нибудь пульт от другой модели, или специально купленный на али. Можно вообще подцепить ее к домашнему роутеру, и рулить через веб интерфейс с компа. Но мы пойдем путем попроще. Или не проще, просто тем, адептом которого являюсь я. Старый добрый Bluetooth. Скачиваем на мобилку какое н будь приложение для управления машинками, я пользуюсь этим уже давно, и меня все устраивает.
Открываем список команд, изобретаем код на 400 строчек, заливаем в нашу ардуйню, катаемся. Теперь непосредственно по железу...
Я пользую версию Arduino Leonardo от одной московской фирмы...
Уж не знаю что там по качеству, меня пока все устраивает, особенно улучшенная силовая часть, по сравнению с оригиналом. Сама по себе платка не потянет управление моторами, тупо сгорит. У все той же московской фирмы есть двухканальный драйвер моторов.
Она же позволит осуществить внешние питание всего и вся в нашей сборке.
А так же, для удобство монтажа всякой навесухи, да и вообще, докидываем плату расширения.
Из дополнительно прилепленного - пара светодиодных фар в стиле "улитка наркоман", красная лампочка, чтобы судорожно моргать в случае проблем, зуммер, чтобы делать бип бип, и модуль Bluetooth hc-06.
на всякий случай проклеим низ первой платы изолентой, все таки контакт с шестью металлическими винтами, мало ли...
Все это дело собирается "бутербродом" друг на друга, поэтому сначала закрепляем основную плату на раме, затем на нее драйвер моторов и тд.
Драйвер у нас двухканальный, а мотора четыре... Ну ничего, просто объединяем по два на канал, все равно при танковой схеме разницы нет. По идее так делать нельзя, но кто мне запретит. Да и нагрузки я проверил, должно выдержать. Должно.
В общем, собираем, распутываем паутину проводов, находим косяк с креплением аккумуляторов (ну подумаешь, забыл, из нее де не стрелять...) и в итоге получаем вот такое чудо юдо:
Иии... Да. Оно работает. Даже ездит. И даже по искусственному рельефу из коробок прыгает, и подвеска вроде как отрабатывает, но... Оно не работает) Точнее работает, но с кучей очень больших но... И это все мои ошибки. Просчеты, неучеты, нехватка опыта. Бегло пройдемся по ним:
- крепление аккумулятора, его просто нет. Надо удлинять раму, чтобы раздвинуть подрамники и закрепить его за блоком электроники, чтобы не мешался, и центр тяжести был ниже.
- я где то накосячил, не то в моделировании, не то в печати деталей, но в итоге что то не то с длиной рычагов подвески, и в итоге у нас получается отрицательный угол схождения колес, из за чего большая нагрузка на приводящие валы. Нужны новые рычаги.
- на хорошем рельефе начинают разбалтываться моторы, возможно из за проблемы выше, но все таки я пришел к выводу, что нужны крепления.
- нужны другие колеса, вероятно печатные. Эти слишком тяжелые, и нет возможности нормально закрепиться на валу.
- телескопы подвески работают, но явно как то не так. Надо либо поколдовать с их длиной, но скорее всего проблема в так себе качестве поверхности для трущихся деталей, видимо надо печатать в плюс, и шлифовать.
Из очевидных проблем это вроде пока все. Не знаю, буду ли я это исправлять, или сверну проект... Зависит от настроения. Так же не знаю, буду ли выкладывать сюда дальнейшую судьбу этого поделия, посмотрим на вашу реакцию. Ну а пока мы встаем на импровизированный пит-стоп)