Общее
В течение очень долгого времени я пытался найти проект, который бросил бы вызов моим навыкам проектирования CAD. С наступлением зимы у меня появилась идея создать снегоход используя 3D печать! Звучит круто? Не так ли? Я потратил некоторое время на то, чтобы нарисовать, примерный дизайн, потом на долго засел за Fusion360, а на печать – ушло несколько дней. И я смог добиться действительно приличного результат в постройке 3D-снегохода. Я горжусь этим и надеюсь, вам понравится :)
Механические части
- Мотор
- Сервопривод
- Пружины
- Пульт с ресивером
- Аккумулятор1V 2200MAH 3S 30C
- Подшипники 608ZZ - 4шт.
- Подшипники 623ZZ -2 шт.
- Arduino Nano
- H - мост
- Кабеля
- Болты M8x100мм – 2шт.
- Болты М5х16мм – 6шт.
- Болты М3х30мм – 2шт.
- Болты М3х20мм – 4шт.
- Болты М3х8мм – 24шт.
- Болты М3х12мм – 4шт.
- Болты М3х16мм – 4шт.
- Гайки М3, М5, М8
- Шайбы М8
Части для печати
https://www.thingiverse.com/thing:3348976
Шаг 1 Сборка задней части снегохода (трек)
Первое, что мы должны собрать, это гусеничный механизм, он состоит из двух натяжителей, нескольких шестерёнок для передачи крутящего момента и несколько других компонентов.
Начните с установки двух подшипников 608zz в длинные части. Возможно, вам потребуется немного отшлифовать под них отверстие. Лучший способ установить подшипники на место - использовать тиски, как я. Затем соберите пару колёс, вам потребуется взять 2 элемента, поставьте между ними расширительные элементы, напечатанные на принтере, и соедините винтами М3х8 мм. Так же убедитесь, что у вас получилось нужное расстояние между элементами.
Возьмите винт M8x100 мм и наденьте на него небольшую шестерёнку, добавьте шайбу и вставьте ее в подшипник, добавьте еще одну шайбу, и наденьте пару из шестерен на винт (которую вы собрали ранее) и дальше снова оденьте шайбу и вторую 3D-напечатную деталь с подшипником, в конце снова используйте шайбу и гайку. Сделайте то же самое с передним подрамником, но вместо зубчатого колеса используйте подрамное колесо (большее).
Закрепите рычаги механизма подрамника слева и справа. Внутри обоих мы должны установить подшипник 623ZZ. Вместо тисков я использовал небольшой зажим.
Присоедините верхнее колесо подрамника к кронштейнам через подшипники с помощью винта M3x30 мм.
На этом механизм привода гусеницы (задняя часть снегохода) собран. Данное объяснение возможно будет тяжело понять, посмотрите видео что бы уточнить непонятные моменты для Вас.
Шаг 2 Рулевая система
Чтобы управлять снегоходом, мы должны суметь повернуть налево или направо. Снегоходы поворачиваются благодаря салазкам спереди. Я много боролся с дизайном системы рулевого управления для этого проекта, я хотел сделать подвеску для обоих салазок, но также управлять ими с помощью серводвигателя. Наконец, я разработал простое, гибкое решение, которым можно легко управлять с помощью серводвигателя и использовать простые пружины в качестве подвески. Вот как это сделал:
Прикрепите серводвигатель к основному корпусу (самая большая напечатанная деталь) с помощью 2 винтов.
Теперь мы можем соединить опору демпфера, опору салазок и рулевой шарнир, для этого я использовал винты M3x20 мм.
С помощью M3x16mm закрепите полозья на опорной части, вам не нужно использовать гайку, но если вы хотите, вы можете использовать более длинный винт с гайкой.
Далее идет очень интересная часть. Поскольку опора демпфера должна двигаться, я решил использовать здесь другой тип соединения. Вместо винта я использовал кусок трубки, которую я могу вставить в отверстие и нажать на обе стороны горячей плоской отверткой, чтобы создать «заклепку». Этот способ работает очень хорошо, он дешев, а при проектировании вы можете использовать любую длину, какую пожелаете. Мы будем соединять фрагменты трека точно так же.
Подсоедините разъем рулевого шарнира к рулевым шарнирам двумя винтами M3. Система рулевого управления почти готова. Последнее, что нужно сделать, это прикрепить рычаг сервопривода к сервоприводу.
Шаг 3 Подвеска
Вы можете сказать, что это перебор для такого проекта и что нам не нужна подвеска. И вы правы, но я хотел получить опыт, сделать более профессиональную версию и бросить вызов дизайну. Это того стоило!
Шаг 4 Мотор и редуктор
Прежде чем поставить гусеницу на место, мы должны установить мотор, потом будет сложнее. Используйте винты M3 и закрепите их гайками, с другой стороны. Не забудьте установить передачу, а также закрепить ее винтом.
* На изображениях вы видите другие механизмы, чем то, что вы можете найти в файлах STL для 3д принтера. После некоторых испытаний выяснилось, что это передаточное число слишком велико для этого мотора, и мне пришлось проектировать новые передачи, теперь он работает нормально. Просто хотел уточнить это, чтобы вы не растерялись.
Шаг 5 Гусеница
Поместите две пружины между правой, левой частью и подрамниками. Мы будем использовать тот же метод соединения материала вместе с помощью трубки вместо винта. Возьмите старую плоскую отвертку, нагрейте ее, поместите кусок трубки в отверстие гусеницы и расплавьте оба конца трубки. Таким образом, нам нужно соединить 24 части гусеницы. Чтобы закрыть петлю, положите его на заднюю часть снегохода и сделайте заклепку. Убедитесь, что гусеница может свободно двигаться.
Шаг 6 Соединения
Теперь мы можем присоединить основной корпус к направляющему механизму с помощью винтов M5x12 мм. Я также закрепил эти винты с помощью гаек на другом конце.
Шаг 7 Электроника
Электроника была бы очень простой, но поскольку я использовал двигатель постоянного тока, это осложнило задачу. Сервопривод подключен напрямую к RC-приемнику, но другой канал приемника подключен к моей пользовательской печатной плате со встроенным H-мостом, также я использую atmega328 с программатором Arduino. Вы можете сделать то же самое с обычной платой Arduino и контроллером двигателя постоянного тока. В качестве аккумулятора я использовал 3S Li-Po. Если вы замените этот двигатель на двигатель BLDC, который управляется с помощью ESC, было бы намного проще управлять им, и вам даже не понадобился бы Arduino для этого. Код, который я написал для платы, можно найти ниже.
void setup() {
Serial.begin(9600);
pinMode(A0, INPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
digitalWrite(8, LOW);
digitalWrite(7, HIGH);
}
void loop() {
int val = pulseIn(A0, HIGH);
val = map(val,1150, 1800, 0, 255);
if(val < 0){
val =0;
}
if(val >= 230){
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
}else{
analogWrite(9, val);
analogWrite(10, val);
}
delay(20);
Serial.println(val);
}