Корпус для электронной платы

Описание проекта: Разработка корпуса для электронной платы

Введение

Проект направлен на создание 3D-модели корпуса для электронной платы с использованием параметрического моделирования. Корпус будет иметь округленные углы и обеспечивать защиту для компонентов платы, а также удобство в использовании и эстетичный внешний вид.

Цели проекта

  1. Создание корпуса: Разработать корпус, который будет соответствовать заданным размерам платы и обеспечивать необходимую защиту.
  2. Удобство монтажа: Обеспечить простоту установки и демонтажа платы внутри корпуса.
  3. Эстетика: Реализовать современный дизайн с округленными углами для улучшения визуального восприятия.

Исходные данные

  • Радиус закругления углов (R): 5 мм
  • Размеры платы:
    • Ширина: 50 мм
    • Длина: 50 мм
    • Высота над дном: 10 мм
  • Толщина стенок корпуса: 1.6 мм

Параметры корпуса

  • Ширина корпуса: 53.2 мм (ширина платы + 2 * толщина стенок)
  • Длина корпуса: 53.2 мм (длина платы + 2 * толщина стенок)
  • Высота корпуса: 32.2 мм (высота платы + 2 * толщина стенок + 20 мм)

Описание модулей

  1. rounded_cube(size, radius): Функция для создания округленного куба, использующая метод Минковского для добавления закруглений к углам.
  2. hull_custom(): Модуль, который создает внешний корпус с закругленными углами и внутренний вырез для размещения платы с учетом толщины стенок.
  3. board_stand(): Модуль, который создает подставки для платы, обеспечивая ее надежное крепление внутри корпуса.
  4. case_body(): Основной модуль, который объединяет все элементы корпуса и создает его финальную форму.

Процесс моделирования

  • Сначала создается основной корпус с закругленными углами.
  • Затем добавляются подставки для платы, которые фиксируют ее в нужном положении.
  • Все элементы модели создаются с использованием параметрического подхода, что позволяет легко изменять размеры и другие параметры при необходимости.

Заключение

Данный проект представляет собой эффективное решение для создания защитного корпуса для электронной платы. Использование параметрического моделирования позволяет быстро вносить изменения и адаптировать корпус под различные требования. Проект может быть использован как основа для дальнейших разработок в области электроники и дизайна.

// === Параметры ===
R = 8;  // Радиус закругления углов

// Устанавливаем размеры
board_width = 51;  // ширина платы
board_length = 21;  // длина платы
board_start_height = 5;  // возвышение платы над дном
case_wall_thickness = 1.6;  // толщина стенок

case_width = board_width + case_wall_thickness * 2 ;  // ширина корпуса
case_length = board_length + case_wall_thickness * 2; // длина корпуса
case_height = board_start_height + case_wall_thickness * 2 + 5;  // высота корпуса над возвышением платы

// Функция для создания округленного куба
module rounded_cube(size, radius) {
    minkowski() {
        cube(size , center = false);
        sphere(r = radius, $fn=16);
    }
}

// Модуль корпуса
module hull_custom() {
    difference() {
        // Внешний округленный корпус
        rounded_cube([case_width, case_length, case_height], R);

        // Внутренний вырез с учётом толщины стенок и радиуса закругления
        translate([case_wall_thickness, case_wall_thickness, case_wall_thickness]) 
            rounded_cube(
                [
                    case_width - 2 * case_wall_thickness,
                    case_length - 2 * case_wall_thickness,
                    case_height - case_wall_thickness+R
                ], 
                R
            );

    }
}

// Подставка для платы
module board_stand() {
    translate([-case_wall_thickness, -case_wall_thickness, 0]) {
        cube([5, 5, board_start_height]);
    }
}

// Создаём корпус с закруглёнными углами
module case_body() {
    difference() {
        // Основной корпус с закруглёнными углами
        hull_custom();

    }
}

// Основной модуль
case_body();

// Добавляем подставки для платы
translate([case_width - case_wall_thickness - 3, case_length - case_wall_thickness - 3, case_wall_thickness-R]) board_stand();
translate([3, case_length - case_wall_thickness - 3, case_wall_thickness-R]) board_stand();
translate([case_width - case_wall_thickness - 3, 3, case_wall_thickness-R]) board_stand();
translate([3, 3, case_wall_thickness-R]) board_stand();
3D вид:
Скачать stl файл