Caixinha do MS2

Started by xformer, 11 de December de 2024, as 15:22:24

Previous topic - Next topic

xformer

Administrator
******
DIY Freak
Posts: 6,394
e^(i x pi)+1=0
Logged
Essa é uma tentativa para uma caixinha do Marshall MS-2. Ainda falta a tampa traseira e as dimensões ainda não estão 100% corretas, mas é quase funcional.





Aqui o código para gerar o desenho do modelo em OpenScad:
[spoiler]
Quote
// Dimensões principais
$fn=100;
gabinete_largura = 120;  // Largura do gabinete
gabinete_altura = 150;  // Altura do gabinete
gabinete_profundidade = 62;  // Profundidade do gabinete
parede_espessura = 2.6;  // Espessura do gabinete

// Dimensões do alto-falante
falante_diametro = 70;  // Diâmetro do alto-falante
falante_posicao_y = gabinete_altura - 60;  // Posição do alto-falante

// Dimensões dos controles
controle_diametro = 8;
controle_espacamento = 22;  // Espaço entre os controles
controle_posicao_y = 15;

// Dimensões dos jacks e LED
jack_diametro = 10;  // Diâmetro do jack de entrada/saída
led_diametro = 5;   // Diâmetro do LED
led_posicaox = 105;  // LED lateral
led_posicaoz = 15;
jack_entrada_posicaox = 15; // Entrada lateral

jack_saida_posicao = [10, gabinete_profundidade / 2]; // Saída lateral

   union(){
   difference() {
   // Caixa principal
   cube([gabinete_largura, gabinete_profundidade, gabinete_altura], center = false);
   translate([parede_espessura, parede_espessura,parede_espessura]) {
   cube([gabinete_largura - 2 * parede_espessura,gabinete_profundidade - 2 * parede_espessura,gabinete_altura - 2 * parede_espessura]);
   }
   
   // Abertura do alto-falante
   translate([gabinete_largura / 2, gabinete_profundidade -2, falante_posicao_y])
   rotate([0,90,90]){
   cylinder(h = parede_espessura + 3, d = falante_diametro-parede_espessura, center = true);
   }
   
   
   // Abertura para controles (rotacionados para a frente)
   for (i = [-1, 0, 1]) {
   translate([gabinete_largura / 2 + i * controle_espacamento,gabinete_profundidade - parede_espessura,controle_posicao_y]) {
   rotate([0,90,90])  // Rotação para a frente
   cylinder(h = parede_espessura + 3, d = controle_diametro,center = true);
   }
   }
       
   // Furo para o LED
   translate([led_posicaox, gabinete_profundidade - 1, controle_posicao_y])
   rotate([0,90,90]) {
   cylinder(h = parede_espessura + 3, d = led_diametro, center = true);
   }
       
   // Furo para jack de entrada
   translate([jack_entrada_posicaox, gabinete_profundidade - 1, controle_posicao_y])
   rotate([0,90,90]){
   cylinder(h = parede_espessura + 3, d = jack_diametro, center = true);
   }
       
   // Furo para jack de saída
   translate([0, gabinete_profundidade/2, 80])
   rotate([90,90,90]) {
   cylinder(h = parede_espessura + 3, d = jack_diametro, center = true);
   }
   
// frisos
   translate([0,0,30])
   cube([1,gabinete_profundidade,2]);

   translate([gabinete_largura-1,0,30])
   cube([1,gabinete_profundidade,2]);
   
   translate([0,gabinete_profundidade-1,30])
   cube([gabinete_largura,1,2]);
   
   // Abertura traseira
   translate([parede_espessura, 0, parede_espessura]) {
   cube([gabinete_largura - 2 * parede_espessura,
   parede_espessura + 1,gabinete_altura - 2 * parede_espessura], center = false);
   }
   }

 
difference(){
   translate([gabinete_largura / 2, gabinete_profundidade -2* parede_espessura, falante_posicao_y])
   rotate([0,90,90]){
   cylinder(h = parede_espessura*2 , d = falante_diametro+2*parede_espessura, center = true);
   }
   
   translate([gabinete_largura / 2, gabinete_profundidade -2* parede_espessura, falante_posicao_y])
   rotate([0,90,90]){
   cylinder(h = parede_espessura*2+1 , d = falante_diametro+parede_espessura, center = true);
   }
   
}  
}
[/spoiler]

Se fizer citação desta mensagem, retire as imagens de dentro da citação.
O que se escreve com "facilidade" costuma ser lido com dificuldade pelos outros. Se quiser ajuda em alguma coisa, escreva com cuidado e clareza. Releia sua mensagem postada e corrija os erros.

gaschmidt1

*
Iniciante
Posts: 61
  1. gaschmidt1@gmail.com
Location: caxias do sul
Logged
O OpenScad já salvou meu dia umas duas ou três vezes... Muito bom.
"Fazer ou não fazer. Tentar, não há." (Yoda em O Império Contra-Ataca)

xformer

Administrator
******
DIY Freak
Posts: 6,394
e^(i x pi)+1=0
Logged
#2
Novo desenho:
https://youtu.be/FI0PyJOARo8?si=siHEDXd78kmsRHp3

[spoiler]
Quote
$fn = 50;

raio = 4;
largura = 112;
profund = 52;
altura = 112;
altura2 = 36;

diamfalante = 57;

controle_diametro = 8;
controle_espacamento = 20.32;
// Espaço entre os controles
controle_posicao_y = 15;

// Dimensões dos jacks e LED
jack_diametro = 10;  // Diâmetro do jack de entrada/saída
led_diametro = 5;   // Diâmetro do LED
led_posicaox = 13;  // LED lateral
led_posicaoz = 15;
jack_entrada_posicaox = 98; // Entrada lateral

jack_saida_posicao = [10, profund / 2]; // Saída lateral



difference(){
union(){
difference(){
union(){
   translate([16,0,-6])
   cube([5,profund,3]);
   translate([90,0,-6])
   cube([5,profund,3]);
   
minkowski(){
   //caixa inferior
   cube([largura,profund,altura]);
   sphere(r=raio);
          }
         
   //caixa superior      
   translate([0,0,altura+2*raio]){
   minkowski(){
   cube([largura,profund,altura2]);
   sphere(r=raio);
              }
        }
}
//oco inferior
translate([0,-raio,0])
//cube([largura,profund+raio,altura+altura2+2*raio]);
cube([largura,profund+raio-1,altura]);

//oco superior
translate([0,-raio,altura+2*raio])
cube([largura,profund+raio-1,altura2]);

//buraco entre caixas
translate([raio,0,altura])
cube([largura-8,profund-6,10]);


//anel alto falante
}
  translate([largura/2,profund,altura/2])
rotate([90,90,0])
cylinder(d=(diamfalante+3),h=3);

}

translate([largura/2,profund,altura/2])
rotate([90,90,0])
cylinder(d=(diamfalante),h=5);
translate([largura/2,profund+5,altura/2])
rotate([90,90,0])
cylinder(d=(diamfalante-3),h=10);


//rebaixo frontal inferior
translate([5,profund+1,5])
cube([largura-10,3,altura-10]);

//rebaixo frontal superior
translate([5,profund+1,altura+2*raio+5])
cube([largura-10,3,altura2-10]);

 // Abertura para controles (rotacionados para a frente)
   for (i = [-1, 0, 1]) {
   translate([largura / 2 + i * controle_espacamento,profund - 2*raio,altura+altura2/2+2*raio
       ]) {
   rotate([0,90,90])  // Rotação para a frente
   cylinder(h = 20, d = controle_diametro,center = true);
   }
   }
 // Furo para o LED
   translate([led_posicaox, profund - 4, altura+altura2/2+2*raio])
   rotate([0,90,90]) {
   cylinder(h = 10, d = led_diametro, center = true);
   }
 
 // Furo para jack de entrada
   translate([jack_entrada_posicaox, profund - 4, altura+altura2/2+2*raio])
   rotate([0,90,90]){
   cylinder(h = 10, d = jack_diametro, center = true);
   }
 // Furo para jack de saída
   translate([largura, profund/2, 80])
   rotate([90,90,90]) {
   cylinder(h = 10, d = jack_diametro, center = true);
   }  
}
[/spoiler]

O que se escreve com "facilidade" costuma ser lido com dificuldade pelos outros. Se quiser ajuda em alguma coisa, escreva com cuidado e clareza. Releia sua mensagem postada e corrija os erros.

blackcorvo

****
Handmaker
Posts: 1,259
  1. ICQ - 169805101
Location: Ribeirão Preto - SP
Logged
Agora me veio uma idéia meio boba. Imagine imprimir essa caixa, mas no tamanho de uma 4x12, e instalar um circuito de 25w ou 50w no "cabeçote"...
http://blackcorvo.com
|||
Ela/dela desde Agosto 2021

xformer

Administrator
******
DIY Freak
Posts: 6,394
e^(i x pi)+1=0
Logged
#4




Essa caixinha teria uns 160 g  de plástico e demoraria 20 h pra imprimir.  Imagina o tempo que levaria pra fazer uma caixa grande, sem falar que precisa arrumar uma impressora 3D bem grande e cara.

Ainda estou tomando coragem pra imprimir essa caixinha, mas já tenho os componentes para o circuito eletrônico.  Um dia o meu clone sai   :D
O que se escreve com "facilidade" costuma ser lido com dificuldade pelos outros. Se quiser ajuda em alguma coisa, escreva com cuidado e clareza. Releia sua mensagem postada e corrija os erros.

xformer

Administrator
******
DIY Freak
Posts: 6,394
e^(i x pi)+1=0
Logged
#5
Código para um facepĺate do MS2:

[spoiler]
Quote

$fn = 50;

largura = 101;
altura = 25;
espessura = 0.6;
raiocanto = 0;

fonte = "Liberation Sans:style=Bold";
letter_size = 3;
letter_height = 0.5;


difference(){
union(){

cube([largura,altura,espessura]);
}

translate([8,altura/2,0])
cylinder(d=11,h=3);

translate([29.5,altura/2,0])
cylinder(d=8,h=3);

translate([50,altura/2,0])
cylinder(d=8,h=3);

translate([70.5,altura/2,0])
cylinder(d=8,h=3);

translate([93,altura/2,0])
cylinder(d=6,h=3);

translate([8,4,0.24])
linear_extrude(height = letter_height) {
   text("IN", size = letter_size, font = fonte, halign = "center", valign = "center", $fn = 30);
}

translate([29.5,4,0.24])
linear_extrude(height = letter_height) {
   text("VOL", size = letter_size, font = fonte, halign = "center", valign = "center", $fn = 30);
}

translate([50,4,0.24])
linear_extrude(height = letter_height) {
   text("TONE", size = letter_size, font = fonte, halign = "center", valign = "center", $fn = 30);
}    
translate([93,4,0.24])
linear_extrude(height = letter_height) {
   text("ON", size = letter_size, font = fonte, halign = "center", valign = "center", $fn = 30);    
   
}

translate([70.5,4,0.24])
linear_extrude(height = letter_height) {
   text("CL", size = letter_size, font = fonte, halign = "center", valign = "center", $fn = 30);
}

translate([70.5,22,0.24])
linear_extrude(height = letter_height) {
   text("OD", size = letter_size, font = fonte, halign = "center", valign = "center", $fn = 30);
}
}

[/spoiler]




Imprimi uma versão cabeçote do MS2, pra ajudar a montar a plaquinha com os componentes nos lugares corretos:



Se fizer citação desta mensagem, retire as imagens de dentro da citação.
O que se escreve com "facilidade" costuma ser lido com dificuldade pelos outros. Se quiser ajuda em alguma coisa, escreva com cuidado e clareza. Releia sua mensagem postada e corrija os erros.

daniel_tubes

***
Colaborador
Posts: 756
A eficiência está na simplicidade...
Location: americo brasiliense
Logged
Xformer, quanto tempo levou para fazer essa peça na foto que você postou ?

Eu tenho uma cnc com fresa que me quebra um galho enorme com as pcb's mas dependendo da pcb demanda horas de maquina.

Att Daniel
Pirataria é crime, não roube navios...

xformer

Administrator
******
DIY Freak
Posts: 6,394
e^(i x pi)+1=0
Logged
Esse cabeçote sem a tampa traseira ainda, levou 6 horas pra imprimir.  O faceplate gastou 20 minutos.
O que se escreve com "facilidade" costuma ser lido com dificuldade pelos outros. Se quiser ajuda em alguma coisa, escreva com cuidado e clareza. Releia sua mensagem postada e corrija os erros.

Thomas_h

**
Freqüente
Posts: 408
Location: Florianópolis
Logged
Alguém sabe a grossura necessária pra que não fique o som de caixa de plástico?

Montei um numa patola PB119 mas ficou com esse som de caixinha de plástico,
provavelmente por causa da frequência de ressonância da caixa.

Transferi pra uma caixa de madeira com espessura de 1,5 cm e foi uma melhora considerável.
Talvez aumentar a espessura da parte frontal, que suporta o alto-falante, já fosse o suficiente, mas não testei.

xformer

Administrator
******
DIY Freak
Posts: 6,394
e^(i x pi)+1=0
Logged
#9
Cabeçote separado do MS2:





Código:

[spoiler]
Quote
$fn = 50;

raio = 4;
largura = 112;
profund = 52;
altura = 112;
altura2 = 36;


controle_diametro = 8;
controle_espacamento = 20.32;
// Espaço entre os controles
controle_posicao_y = 15;

// Dimensões dos jacks e LED
jack_diametro = 10;  // Diâmetro do jack de entrada/saída
led_diametro = 5;   // Diâmetro do LED
led_posicaox = 13;  // LED lateral
led_posicaoz = 15;
jack_entrada_posicaox = 98; // Entrada lateral

jack_saida_posicao = [10, profund / 2]; // Saída lateral



difference(){
union(){
difference(){
union(){
 
   //caixa superior      
   translate([0,0,altura+2*raio]){
   minkowski(){
   cube([largura,profund,altura2]);
   sphere(r=raio);
              }
        }
}

//oco superior
translate([0,-raio,altura+2*raio])
cube([largura,profund+raio-1,altura2]);


//rebaixo frontal superior
translate([5,profund+1,altura+2*raio+5])
cube([largura-10,6,altura2-10]);

 // Abertura para controles (rotacionados para a frente)
   for (i = [-1, 0, 1]) {
   translate([largura / 2 + i * controle_espacamento,profund - 2*raio,altura+altura2/2+2*raio
       ]) {
   rotate([0,90,90])  // Rotação para a frente
   cylinder(h = 20, d = controle_diametro,center = true);
   }
   }
 // Furo para o LED
   translate([led_posicaox, profund - 4, altura+altura2/2+2*raio])
   rotate([0,90,90]) {
   cylinder(h = 10, d = led_diametro, center = true);
   }
 
 // Furo para jack de entrada
   translate([jack_entrada_posicaox, profund - 4, altura+altura2/2+2*raio])
   rotate([0,90,90]){
   cylinder(h = 10, d = jack_diametro, center = true);
   }
}
}
}

[/spoiler]

Tampa traseira:



Código:

[spoiler]
Quote
lenint = 111.8;
heiint = 35.8;
prof = 5;

parede = 1.6;
furo1 = 10;
furo2 = 7;

difference(){
union(){
cube([lenint+2*parede,heiint+2*parede,parede]);

difference(){
translate([parede,parede,parede])
cube([lenint,heiint,prof]);

translate([2*parede,2*parede,parede])
cube([lenint-2*parede,heiint-2*parede,prof]);

}
}
translate([20,18,0])
cylinder(h=4,d=furo1);

translate([90,18,0])
cylinder(h=4,d=furo2);

translate([55,18,0])
cylinder(h=4,d=furo2);
}

[/spoiler]


Caixa separada:





Código:

[spoiler]
Quote
$fn = 50;

raio = 4;
largura = 112;
profund = 52;
altura = 112;


diamfalante = 57;


// Dimensões dos jacks e LED
jack_diametro = 10;  // Diâmetro do jack de entrada/saída

jack_entrada_posicaox = 98; // Entrada lateral

jack_saida_posicao = [10, profund / 2]; // Saída lateral



difference(){
union(){
difference(){
union(){
   translate([16,0,-6])
   cube([5,profund,3]);
   translate([90,0,-6])
   cube([5,profund,3]);
minkowski(){
   //caixa inferior
   cube([largura,profund,altura]);
   sphere(r=raio);
          }

}
//oco inferior
translate([0,-raio,0])
//cube([largura,profund+raio,altura+altura2+2*raio]);
cube([largura,profund+raio-1,altura]);

//anel alto falante
}
  translate([largura/2,profund,altura/2])
rotate([90,90,0])
cylinder(d=(diamfalante+3),h=3);

}

translate([largura/2,profund,altura/2])
rotate([90,90,0])
cylinder(d=(diamfalante),h=5);
translate([largura/2,profund+5,altura/2])
rotate([90,90,0])
cylinder(d=(diamfalante-3),h=10);

//rebaixo frontal inferior
translate([5,profund+1,5])
cube([largura-10,6,altura-10]);

 // Furo para jack de saída
   translate([largura, profund/2, 80])
   rotate([90,90,90]) {
   cylinder(h = 10, d = jack_diametro, center = true);
   }  
}
[/spoiler]

Tampa traseira do cubo:


Código:

[spoiler]
Quote
lenint = 111.8;
heiint = 111.8;
prof = 5;

parede = 1.6;
furo1 = 10;
furo2 = 7;

difference(){
union(){
cube([lenint+2*parede,heiint+2*parede,parede]);

difference(){
translate([parede,parede,parede])
cube([lenint,heiint,prof]);

translate([2*parede,2*parede,parede])
cube([lenint-2*parede,heiint-2*parede,prof]);

}
}
translate([20,55,0])
cylinder(h=4,d=furo2);

translate([90,55,0])
cylinder(h=4,d=furo1);

translate([55,55,0])
cylinder(h=4,d=furo2);
}
[/spoiler]
O que se escreve com "facilidade" costuma ser lido com dificuldade pelos outros. Se quiser ajuda em alguma coisa, escreva com cuidado e clareza. Releia sua mensagem postada e corrija os erros.

Doug

***
Colaborador
Posts: 976
Location: Cachoeiro de Itapemirim - ES
Logged
Quote from: Thomas_h on 07 de May de 2025, as 13:57:41
Alguém sabe a grossura necessária pra que não fique o som de caixa de plástico?

Montei um numa patola PB119 mas ficou com esse som de caixinha de plástico,
provavelmente por causa da frequência de ressonância da caixa.

Transferi pra uma caixa de madeira com espessura de 1,5 cm e foi uma melhora considerável.
Talvez aumentar a espessura da parte frontal, que suporta o alto-falante, já fosse o suficiente, mas não testei.


Não saberia te dizer sobre a espessura ideal, mas tenho algumas boas caixas de som com corpo plástico e todas usam um feltro encapando por dentro, justamente para evitar esse problema de ressonância, se tirar ele (como já testei) ficam terriveis.
Essa Estória de viver em paz, não me satisfaz

Thomas_h

**
Freqüente
Posts: 408
Location: Florianópolis
Logged
Faz sentido, já vi esse feltro algumas vezes.


bossman

Administrator
******
DIY Freak
Posts: 6,368
Logged
Possuo uma CREATIVE aqui que uso com som do PC e também possui esse material para efeitos de amortecimento dentro dela
Ding-Ling things, low-cost = low protection! Nothing is foolproof

Thomas_h

**
Freqüente
Posts: 408
Location: Florianópolis
Logged

xformer

Administrator
******
DIY Freak
Posts: 6,394
e^(i x pi)+1=0
Logged
Quote from: Thomas_h on 15 de May de 2025, as 13:07:42
Achei um video sobre o tema, mas com foco no percentual de "infill"
https://www.youtube.com/watch?v=OQsVdGmOJx4&t=8s&ab_channel=PrintYourSpeakers


O porcentual de infill (preenchimento) se refere ao quanto de material vai dentro das paredes ou volumes internos da peça e é definida no momento do processo de fatiamento do desenho. A espessura da parede do desenho geralmente é definida no próprio desenho mesmo.  Uma parede pode ser mais oca ou mais sólida, depende da necessidade de resistência ou peso da peça.
O que se escreve com "facilidade" costuma ser lido com dificuldade pelos outros. Se quiser ajuda em alguma coisa, escreva com cuidado e clareza. Releia sua mensagem postada e corrija os erros.