Sencillo soldador de puntos


La soldadura  por  puntos  lleva con nosotros unos 40 años, pero a pesar de su antigüedad   sigue  gozando de buena reputación en los nuevos tiempos usándose de forma intensiva  también en aplicaciones de electrónica  donde la soldadura convencional con estaño no es efectiva, como   por ejemplo  a la hora  de conectar baterías entre si con laminas de níquel,  entre  sus miles de aplicaciones más. En esencia la tecnología de la soldadura por  puntos  no es nada compleja , pues  la  configuración típica de un soldador de puntos no ha variado a  lo largo de los años,  consistiendo básicamente en  una fuente de muy baja tensión (entre 3 y 15V) de alta intensidad   conectada a un cabezal para soldar.

Desgraciadamente, a pesar de que no incluye demasiada tecnología, un soldador de puntos es uno de los pocos equipos donde la construcción casera  de este  es mucho  más barata que comprarlo montado,  incluso si se decide a comprarlo en alguno de los famosos  portales chinos, ya que incluso comprándolos  allí , su precios van entre los 200€ en adelante. Si no  estamos dispuestos  a desembolsar esa cantidad otra opción es fabricar un soldador de puntos  nosotros mismos  pues  en la red  se pueden ver  una gran cantidad de diseños de soldadores de puntos basados en viejos transformadores de microondas , a los que  se les elimina el secundario de AT  por medios mecánicos y simplemente se rodea en el interior del entre-hierro  en ese espacio que ha quedado vació de  dos vueltas de cable de gran sección ( al menos de 8 mm).

NO recomendamos construir  un soldador de puntos   basándose en un transformador   de microondas, no sólo por el voluminoso espacio  que ocupa ( y el ruido que genera) , sino, sobre todo,  por  el  peligro que conlleva extraer dicho transformador , pues está muy cerca el condensador de alto voltaje, cuya  carga puede estar presente mucho tiempo después de que el horno de microondas esté desenchufado (y es extremadamente peligrosa una descarga de este tipo ). No confíe en la resistencia de purga interna del condensador , pues puede fallar y es muy  peligroso ( si lo va a hacer, al menos conecte dos cables de prueba de clip de cocodrilo  a la tierra del chasis de metal de microondas, asegurándose  de que los cables no estén rotos,sujete una resistencia de 10K … 1M al otro lado de un cable de prueba y descargue los dos terminales del condensador uno por uno a través de una  resistencia de   1MΩ utilizando alicates aislados ). Además  hay tambien un motivo obvio : si no contamos con un  horno microondas¿  vamos a tener que comprar un transformador de microondas  ( nuevo o no)   y que tendremos que desmontar?

 

 

Bien  en un  post  anterior vimos como una alternativa  a  los soldadores de punto basados en transformadores  de microondas era  usar supercondensadores  , pero   son caros  y dificiles de conseguir , así que es bueno explorar otras alternativas como  pueden ser las  baterias de automovil ( nueva  o usada ) como fuente de energía

Como parte de un proyecto de dotar de un nueva  batería  de litio  a un precio razonable   basada  en celdas 18650  para una bicicleta de montaña eléctrica  el autor de este proyecto (Rory ) necesitaba una gran batería de litio  que encajasen  en su presupuesto según sus  especificaciones:

  • Barato: solo se planea si es a bajo  coste
  • Confiable : deberia  poder ofrecer  más de 500 pares de soldaduras por puntos para hacer
  • Fácil y rápido de hacer -:idealmente usando piezas que se pueda  disponer r
  • Relativamente seguro: No hay altos voltajes presentes

Rory necesitaba ser capaz de soldar la tira de níquel a los terminales celulares 18650 para fabricar   su soldador ocasional  .   Los soldadores  18650  de punto están ampliamente disponibles en la red y probablemente valga la pena la inversión si usted tiene la demanda para ello. Sin embargo, como Rory sólo planeaba construir una batería, realizó su propio soldador de puntos  sin tener que adquirir uno comercial.

Para situarnos ,una búsqueda rápida de YouTube nos ofrece  el canal de darkkevind  donde demuestra su soldador basado  en  una batería de coche estándar conectada a un solenoide motor de arranque de moto. El solenoide se activa mediante un pulsador que cambia la potencia a dos electrodos de soldadura hechos de clavos de cobre. Su diseño es funcional  pero como todo en este mundo  se puede mejorar para  hacer un sistema más confiable  como el que vamos a ver en las líneas siguiente con el diseño de Rory.

 

 

Soldador con bateria de 12V 

El diseño de Rory  cuenta con un solenoide de arranque DELCO 130493  como  interruptor   de potencia para conectar  momentáneamente las bornas de la batería a las puntas de soldadura .Como el lector puede adivinar  en realidad   para este proyecto en realidad   puede usar   cualquier solenoide de motor de arranque de 12V  ( incluso aunque sea para motocicleta) .

En este modelo en concreto es  muy interesante   el diseño de los terminales que pueden  ser vinculados muy bien a una abrazadera de terminal directamente a la batería y además el soporte también permite montar el gabinete de electrónica junto a este  .

Como puede apreciarse en la imagen los terminales laterales  son los de interruptor del relé, es decir las conexiones de potencia que conmutará el solenoide  .Obviamente do las  conexiones centrales  son las de la bobina del solenoide ( de ahí su menor dimensión) 

 

Como se puede apreciar los pernos de terminales solenoide de 8 mm se sujetan muy bien en los terminales de la batería y la bobina solenoide está entre el perno pequeño en el soporte derecho y el soporte de montaje

En el  montaje del Rory el  solenoide es controlado por un circuito de temporizador construido alrededor del multivibrador monoestable dual de precisión  CD14538BE  de Texas Instrument que funciona en modo “no refrigerable”. 

Como rory no ha compartido la configuración del circuito  vemos   abajo  un multivibrador monoestable usando IC CD4538. Es un IC multivibrador monoestable/aestable de precisión libre de activación falsa. Esto se puede utilizar para varias aplicaciones en las que se requiere un ciclo de sincronización preciso.  CD4538 es el IC multivibrador monoestable/estable de precisión que está libre de activación falsa y es más fiable que el popular temporizador IC 555.

Aquí el IC se conecta como temporizador monoestable de corta duración usando el r1 y el C1 como componentes de sincronización. Con los valores dados, la salida de IC1 permanece baja durante tres minutos. Cambiando el valor de C1 o R1 se pueden obtener varios intervalos de tiempo, que  son los valores   que deberemos ajustar para unos 20ms   ( idealmente 10 y 110 ms a través de un potenciómetro) .

A diferencia de 555 IC en el modo monoestable, aquí en CD4530, la salida de IC se vuelve alta en el encendido y se vuelve baja cuando el pin 5 del gatillo consigue un pulso de transición bajo a alto. Cuando se presiona S1, el pulso de alta marcha activa el IC y su salida baja. Esto impulsa la carga a través del transistor PNP T1. La carga puede ser un LED, zumbador, etc.  Lógicamente para cargas más grandes ( como es en este ejemplo) no basta un simple transistor de pequeña  potencia( como en el esquem  de abajo)  pues la bobina solenoide deberia ser  accionada con un transistor de potencia  como por ejemplo  un mosfet FQP30N06L. 

En la solución final basada en el circuito anterior  y que el autor no ha compartido , además   usa algunos  componentes  pasivos adicionales para eliminar el rebote de un interruptor de pie básico . La bobina solenoide es accionada por un mosfet FQP30N06L  ( con su correspondiente diodo en paralelo)  . Además  el temporizador es ajustable entre 10 y 110 ms a través de un potenciómetro estando el circuito  alimentado por una batería separada de 9V aunque podría ser alimentado por la propia  batería del coche con el desacoplamiento adecuado.

De todos modos aunque no sepamos los valores exactos del esquema  del monoestable  que uso Roru ,    este montaje   se puede comprar ya montado  y probado  (buscar 12v DC Delay Relay Timer) por unos 6€  , lo  cual es importante no sustituye  al delco puesto qeu lso contactos del rele   de este tipo de circuitos  no supera 10A con 220V en ac (2200w) , claramente insuficiente para la corriente de soldadura que sera a 12V pero en CC  

A pesar de la conmutación lenta del solenoide, los contactos permanecerán cerrados durante la misma duración que la corriente que se suministró a la bobina. En este caso  el solenoide tarda alrededor de 5 ms para cerrarse, pero el diodo a través de la bobina mantiene el campo magnético activo, permitiendo   enviar  pulsos precisos en el ajuste mínimo de 10 ms del temporizador

Todo esto está montado en una carcasa de aluminio fundido a presión. Tenga en cuenta que la bobina solenoide está conectada entre el terminal de tornillo ‘S’ y el soporte de montaje. El terminal ‘I’ es el contacto NC del solenoide, no una conexión de bobina…

Otros aspectos interesantes constructivos  es  que los electrodos se fabrican utilizando clavos de cobre soldados a longitudes cortas de cable trenzado de 8 awg. Las uñas de cobre se pueden afilar rápidamente utilizando un archivo, por lo tanto, no requieren que sean reemplazables. Unas pocas capas de termorretráctil proporcionan aislamiento térmico y eléctrico.

 

 

Como en las primeras pruebas se hicieron con una batería nueva y la resistencia interna es muy baja, el  resultado fueron  pulsos de corriente muy altos que destruyen las tiras de níquel si el pulso superaba los 20 ms ,  Rory  experimentó con una “resistencia limitante de corriente” formada por una longitud de alambre de relleno de soldadura TIG de 1,6 mm lo cual le  permitia ejecutar pulsos de soldadura de corriente más baja y así encontró que el resultado era una soldadura mucho más fuerte con  un pulso de corriente más corto (  usó un conductor con una longitud aproximada de 50 cm).

Como después del primer pulso la resistencia estaba muy caliente, aumentando la resistencia lo que  hizo que el rendimiento no fuese fiable en las siguientes soldaduras   la solución fue sumergir el cable en agua  mediante un buen vaso de plástico Ikea ( con una base muy gruesa y algunos pernos M8 que aseguraron todo juntos y mantuvieron el agua dentro).

 

 

 

Cabe señalar algunos puntos interesantes de este montaje:

  • Un pulso de alrededor de 40ms produce las mejores soldaduras con esta  configuración. Arrancar la tira de níquel de la 18650 dejaría la parte soldada todavía unida a la batería rasgando el níquel circundante.
  • La batería del coche debe estar conectada a un cargador durante el uso si se hace una gran cantidad de soldaduras. De lo contrario, el voltaje caerá, causando corriente de soldadura poco fiable. Puede usarse  un cargador de corriente constante 5A que se puede dejar conectado durante la soldadura aunque aunque un cargador de 2A más o menos estaría bien.
  • Se requiere una presión uniforme firme en cada electrodo para hacer que cada soldadura por puntos sea de igual resistencia. Los electrodos de soldadura se calientan mucho lo cual debe tener en cuenta para no quemarse .
  • A medida que el agua que enfría la resistencia se calienta hacia su punto de ebullición, no puede eliminar el calor tan rápidamente de la resistencia debido al efecto Leidenfrost (donde las burbujas de vapor aíslan el alambre). Esto permite que la resistencia funcione más caliente, lo que reduce la corriente de soldadura. Suba  el temporizador de pulso a 50mS en este punto. El agua podría ser reemplazada, o un recipiente más grande utilizado para contener el agua de refrigeración.
  • Relativamente el proyecto es  seguro ,aunque es recomendable usar gafas de seguridad debido a las chispas  ocasionales. Guantes también sería una buena idea, así como trabajar fuera lejos de cualquier cosa inflamable.

 

 

Fuente original en  hackaday.io 

Como eliminar la luz residual de las luminarias con leds


Puede  que al realizar una pequeña instalación en la que hacemos uso de luminaria basada en diodos  LED nos hayamos  topado con un curioso fenómeno  que al pagar esta   queda una levísima  iluminación que solo se  advierte claramente si nos quedamos a oscuras.

Este fenómeno que no ocurre no existe con las luminarias incandescentes se explica  porque los leds llegan a lucir (aunque muy débilmente) con corrientes del orden de pocos microAmp , lo cual ya es suficiente  de hecho para que a  podemos observar una débil luz( similar al efecto de ver carteles fluorescentes  que con la luz que destellan)

Con esta anomalía  podemos tener la sensación molesta de que estamos ante un relativamente molesto  gasto de suministro eléctrico ,si bien es mínimo   dado la mínima corriente que los atraviesa  y que por tanto consumimos

Es cierto que hay personas que no les molesta en absoluto este efecto pues por la noche gracias a “ese defecto” podemos ver lo justo para ir a cualquier parte de la casa sin encender la luz en plena oscuridad..¿pero y si deseamos   que no se encienda en absoluto? Pues veamos como solucionarlo

 

Cables y derivaciones en lamparas de sobremesa o de pie

Antes de conectar o desconectar elementos , en caso de lamparas de  sobremesa, de pie, de mesa ,flexo,etc si tiene conectadas luminarias de leds , podemos probar los siguientes recursos:

  • Invertir la forma de conectar el enchufe a la toma de corriente ( es decir invertir la fase por el neutro y viceversa)
  • Probar con otra luminaria de otra marca o modelo ( podría se defecto de la propia bombilla de led sobre todo si es de origen asiático de bajo coste)
  • Revisar el cableado  interior  pues si toca uno de los cables con el apantallado metálico ademas de ser peligroso podria hacer suficiente masa para que se encienda la luminaria levemente
  • Reemplazar el interruptor monopolar por bipolar , es decir que corte no solo uno de los cables ( fase o neutro ) sino ambos a la vez.

Interruptores con testigos de neón

Esta particular característica de los leds está creando un nuevo problema cuando estos se usan para iluminación porque las instalaciones eléctricas, muchas veces tienen diferencias de potencial a tierra que generan pequeñas fugas de corriente y que no dejan que las lámparas de leds se apaguen completamente.

Este  fenómeno es especialmente persistente  cuando se usan interruptores de encendido con luz de señalización con neón como podemos observar en el  esquema de abajo  donde el testigo de neón con la correspondiente resistencia va en paralelo con el propio interruptor:

.

 

Es evidente en el esquema  anterior que si abrimos el interruptor  , la lampara de neon  y la resistencia de 330k quedará en serie  con la luminaria de leds, lo cual en muchos caso sera suficiente para que este conjunto resistencia-neón  deje pasar la suficiente corriente  para que se ilumine levemente la luminaria.

Por  tanto si deseamos eliminar este efecto residual bastará eliminar el testigo de neón del interruptor ( suelen ir separados del interruptor  y enchufables para sustituirlo fácilmente en caso de que se fundan) 

Pero ¿Y si no desea eliminar el testigo del interruptor?  pues para eliminar la luminosidad residual en las lámparas a leds podemos aprovechar dos factores:

  • Que  la corriente que atraviesa el circuito es muy baja.
  • Que es necesario superar un umbral de tensión para que los leds se enciendan , umbral  que dependerá de como esten conectados en la luminaria (  más alto si los leds están conectados en serie).

¿Y como lo logramos ? pues  lo que tenemos que hacer es conectar en paralelo con   la luminaria una resistencia de  1Mohmio  para lograr que la caída de tensión sobre la lámpara, cuando esta se encuentra apagada, sea más baja de la tensión de umbral citada.

Naturalmente, debido a que existen numerosos tipos de lámparas, será necesario probar experimentalmente el valor justo.

Podemos empezar con un valor muy alto, por ejemplo 1Mohms , lo cual dará una corriente de I=V/R =220/1.000.000 =0,00022 ( es decir 2.2mA  ) ,   que en  potencia disipada seria =I^2 x R = 0,00022*0,00022*100000= 0.0484W , lo cual es asumible con una simple resistencia de 1/4W)

Si no logramos que los leds se apaguen puede ir bajando de forma  muy conservadora este valor pues a medida  que disminuya este valor la corriente y la potencia disipada por esta resistencia serán mayores

Como referencia , como tope de valores podemos estar en 1/4 de Watt con valores por encima de 330K con 220V y 100K con 110V. 

 

Por cierto,  hay personas  que precisamente buscan potenciar   el fenómeno de la luz residual de los leds   por ejemplo, conectando una resistencia de algunos K en paralelo con los interruptores de alimentación de 12V en modo tal que quede una débil luz en el ambiente para permitir de ver cuando todas las luces están apagadas. Es un sistema realmente cómodo. 

Solución con rele 

Tal y como hemos hablado con las lamparas de sobremesa , muchas veces el problema se debe a que los interruptores no cortan por completo los dos hilos ( fase  y neutro ) de la instalación ya que suelen ser monopolares . Ademas  para empeorar al situación en algunas y instalaciones esta conectado el neutro en lugar de la fase al interruptor (o incluso hay instalaciones con fase y fase en lugar de fase o neutro como debería  ser )

 

En este caso no podemos hacer casi nada sino buscar un sistema que haga que ese resto de corriente no llegue a la luminaria provocando ese resplandor residual, para lo cual podemos optar por “un cortador de luz.” , es decir un “relé“o contacto que actúe cortando eléctricamente los dos hilos que llegan a la lámpara   y de esta manera impidiendo la llegada de tensión por ambos hilos simultáneamente.

El proceso consiste en separar ligeramente la luminaria del techo y colocar el “relé” entre los cables que llegan a la luminaria . De esta forma y una vez colocado de nuevo, cuando accionamos el pulsador de la luz sólo oiremos un muy ligero chasquido (es imperceptible) que nos indica que la corriente ha sido totalmente cortada y por lo tanto no llega residuo alguno que provoque el pequeño resplandor.

 

 

 

 

Solución  dudosa con condensador

Por último hay personas que optan   por conectar  un condensador  de .47uf en paralelo con lo podriamos llamarlo polos de la lampara, asi este absorbe la corriente residual y antes de completar su carga se descarga por el cambio de ciclo,

Es  una solución interesante aunque podría  tener un problema: la reactancia del capacitor es Xc = 1 / (2 * Pi * f * C ) = 1 / (2 * 3,14 * 50 * 0,00000047) = 6772 ohms. Por lo tanto, la potencia disipada por el capacitor será P = V * V / R = 7,15 Watts. Es decir, tendríamos un consumo extra de 7 Watts que se pierde en el condensador

 

 

Por cierto este efecto  al igual que no les afecta a todas las instalaciones   tampoco les afecta por igual  a todos las luminarias  dependiendo muchas veces del fabricante y  modelo para manifestarse o no este efecto cuanto menos indeseado   

Construcción de un all in one casero. Parte 3


La idea  que hemos implementado en este blog  sobre la construcción de un ordenador todo en uno con piezas sencillas  ya quedó desvelada  en  un post anterior :  simplemente  aprovechamos  la parte trasera de un  viejo monitor   como base para montar  un ordenador completamente funcional  al propio estilo “All in One” (AIO) basados en la placa   Asrock  J3455M   .

En la imagen ya podemos observar  el  prototipo  funcional  en el transcurso de las pruebas previas.

IMG_20180722_185040[1].jpg

En la imagen queda  claramente visible la  placa   Asrock  J3455M    fijada en la parte de atrás del  monitor   a la derecha   y el disco  SATA a la izquierda  quedando todas las conexiones externa de la placa  en la parte superior ,  pues  a juicio  del  que suscribe estas líneas , de  este modo quedan más  accesibles todas  las conexiones (  y por supuesto las tomas  usb con conectores de la placa , que por cierto podemos complementar  con conectores auxiliares ).

Conexión Fuente de alimentación

Hemos obviado una parte crucial de alimentación porque todas las pruebas se han realizado con una fuente ATX standard conectada  atrás pero sin fijar a la base.

La placa   Asrock  J3455M   podría funcionar con una fuente PICO PSU pero   tenga en cuenta que necesitará , además de  la fuente en sí (que cuente como mínimo con un conector para un disco sata  y conexión de potencia  para la placa madre ),  también deberá adquirir  una fuente conmutada de 12V  200W ( similares  a  las de los ordenadores  portátiles  )  pues el consumo estimado  se puede acercar a los  160W .

Dado que  es mucho más económica una fuente ATX normal  frente a una una fuente PICO PSU  , se ha optado por esta primera opción, pues  una fuente convencional de calidad (por ejemplo  TACENS) con un factor de muy poco ruido es más que suficiente  para nuestros propósitos.

Hay un pequeño  inconveniente en esta  configuración : los cables de salida de  una fuente  ATX ,como se puede apreciar  en la imagen ,son muy voluminosos  no siendo necesarios para este montaje la mayoría pues no se requieren ya que solo necesitamos la conexión para un disco SATA  y la conexión de energía para  la  placa madre.

IMG_20180722_190017[1].jpg

Algunas fuentes ATX disponen de conectores en el lado de la caja que permiten soltar o liberar las conexiones que no se requieran , pero  en este caso al no disponer de dichos conectores, para que el proceso sea reversible , en vez de cortar las conexiones que no sean necesarias lo que haremos es ocultar dichos cables en el interior de la propia caja   pues según el modelo  algunas  disponen de suficiente espacio  para colocar estos sin que se resienta su robustez mecánica.

Ademas  , para evitar mas cables ,  también añadiremos la conexión  de energía  para el monitor, la cual será controlada por el interruptor integrado  de la  fuente.

Para empezar , pues,  lógicamente desconectado de la red de ca, abriremos la caja ATX.

Acto seguido, cortaremos el extremo de un cable de  alimentación estándar de PC  desechando la parte de la clavija schuko, pues  solo necesitamos el otro extremo que proporcionará la alimentación de ca  al monitor  .

IMG_20180722_191217

Ahora soldaremos los tres cables (normalmente de colores  marrón , amarillo y azul )  del otro  extremo del cable que hemos cortado conector  interno de la hembra de alimentación de la caja ATX.

Tenga en cuenta que lo ideal es conectar uno de los extremos al interruptor físico de la fuente para que cuando  pulsemos este también cortemos la alimentación del monitor.,En este punto tampoco debemos olvidar la conexión de tierra ( cable amarillo)

IMG_20180722_192754[1].jpg

Una vez conectado el cable de alimentación del monitor sacaremos este por el agujero de salida de cables de la caja ATX . Asimismo, haremos la operación contraria  con todos los cables que no precisamos en el exterior, llevando estos al interior de la caja,  colocando  estos a ambos lados de la placa de la fuente de la forma más ordenada posible.

Finalmente   fijaremos  con bridas metálicas ,  los mazos de cable en el interior de la caja ATX a  ambos lados  teniendo cuidado de que estos toquen lo menos posible los radiadores.

IMG_20180722_193336[1].jpg

Por último cerraremos  la caja    y procedemos  a la fijación de la caja  a la base  del propio monitor. En este caso ,la fijación no se ha sido muy original, pues simplemente hemos usado cinta americana  la cual proporciona la suficiente robustez mecánica para que no se mueva la fuente   separándose de la base

IMG_20180722_202517[1].jpg

Finalmente  ya vemos el montaje  final  del AIO casero  esta vez  ya  con la fuente incorporada donde ya  se aprecian  conectadas todas las conexiones del mouse,teclado , ethernet y  monitor ,  quedando   muy accesibles todas las conexiones externas por la parte de arriba.

IMG_20180722_233309[1].jpg

Por supuesto si es su deseo si se decide a replicar este proyecto puede tapar todo la electrónica  con metacrilato ,plástico, madera ,etc pero personalmente me ha gustado mantener esta visible ..

PASO FINAL : DRIVERS

Tras terminar de  colocar la fuente de alimentación sobre la carcasa del monitor  si ya hemos instalado el sistema operativo tocaría  instalar los drivers específicos de la placa pare lo cual el fabricante  proporciona un cd con un auto instalador

Como W10 suele aceptar drivers genéricos para la mayoría del hw actual lo normal es que haya detectado   todo , pero aun es muy recomendable  al menos instalar el driver  para la tarjeta gráfica  y el  del chip de sonido.

drivers.PNG

 

Para instalar el driver de video actualizado basta conectar un dvd externo , insertar el cd de drivers incluido en la placa y seleccionar “onborad VGA driver”

drivers2.PNG

Al pulsar entramos en  nuevo submenu que instalara  los drivers Inel de la tarjeta de video integrada en la Asrock  J3455M

graficos.PNG

Una vez demos a siguiente habrá que esperar unos minutos ha que concluya el proceso

graficos2

Este procedimiento es aconsejable realizarlo para la tarjeta integrada de sonido, al driver de la tarjeta de  red de Ralteck y el driver de entrada /salida de Intel

Por supuesto si no tiene lector de dvd externo  , también puede descargar los drivers directamente desde la pagina de drivers de Arsock: http://www.asrock.com/mb/Intel/J3455M/?cat=Download 

 

 

Espero querido lector que le hay gustado este proyecto   . Le dejo con una imagen del resultado ¿se anima a replicarlo? !seguro que se le ocurren mejores ideas que las de su humilde servidor!

IMG_20180722_233316[1].jpg

Potente fuente de alimentación


En un post anterior veíamos  una introducción a la excelente herramienta openscad  como alternativa al servicio web  tinkercad. Esta aplicación , que a diferencia de Tinkercad, es open source   y gratuita , tiene una comunidad muy  proactiva detrás  y se instala en  nuestro ordenador proporcionándonos  un rico entorno  para el diseño 3D con un lenguaje propio muy potente para  generar y modelar objetos en 3d   y luego incluso exportarlos para poder  imprimir  nuestros diseños con  nuestra impresora 3D

En el post se se explica la generación de una  tapa  para colocar sobre la parte frontal de una fuente de alimentación ATX ( la salida de cables  ) de este modo  aprovechando parte de la caja  y haciendo mas sencillo  el montaje.

atx2

 

Para el montaje final de  la fuente se  han usado los siguientes componentes:

  • Una vieja  fuente de alimentación   ATX ( puede ser reciclada  incluso del tipo AT o por supuesto  nueva  )
  • 5 bornas de rosca de 3.8mm  tipo  banana. Se  puede comprar  aqui 
  • 1 Voltimetro digital . Se puede comprar por 1,78€  en Amazon desde aqui
  • 1 interruptor de panel
  • Frontal impreso en  PLA descargado .el fichero stl  se puede descargar desde  .desde https://www.thingiverse.com/thing:2772031

 

Una vez impreso el frontal  ( unas 5 horas la pieza completa) ,empezaremos con el voltimetro   del tipo  led  de  3 dígitos  siendo su rango de medición  : DC 0-30V pudiéndose alimentar con un rango muy amplio  de entrada: DC4.5-30V

El  voltimetro     solo dispone de tres conexiones:

  • Negro (V-) ; es decir GND
  • Rojo(V+): alimentacion positiva
  • Blanco : medida

display.png

Lo ideal es  colocarlo en orificio pertinente  de  la caja   y  probarlo  con alguna de la salidas que mas vayamos a usar (Rojo:+5V  o Amarillo =12v )

Resumiendo estas son las conexiones:

  • Negro:  lo  conectaremos a cualquier cable negro de la fuente
  • Rojo: lo conectaremos a una salida de +12v de la fuente(cable rojo)
  • Blanco : lo conectaremos a la salida de la fuente que mas nos interese monitor izar ( lo ideal es +5V  o+12V)

 

 

IMG_20180121_174932[1].jpg

Ahora ,probado el instrumento de panel, es importante que  lijemos con  una lima de metal   todos  los bornes  de los terminales para poder soldar fácilmente a estos los cables procedentes de la fuente

IMG_20180121_175512[1].jpg

Lo primero es soldar los cables de encendido de la fuente, pero a diferencia de las viejas fuentes AT que llevaban un interruptor conectado a la propia fuente, las fuentes ATX necesitan que les llegue la señal de encendido de la placa base, lo cual permite por ejemplo arrancar el ordenador con el teclado, a una hora determinada, después de perder la alimentación o por Wake on LAN…

En algunas fuentes si se queda  pulsado varios segundos, la fuente se apaga  pero en otras se  necesita mantenerlo pulsado  , asi que lo primero sera identificar esta casuistica  pues de eso dependerá que necesitemos un pulsador o interruptor , si bien lo normal  es que con un interruptor  normal nos valga

Lo podemos probar puenteando  en el conector de 24 pines  el cable verde con cualquiera cable  negro

Clip haciendo el puente entre los cables verde y negro por el lado de la placa base

Probada la fuente , cortaremos   el cable verde  y uno negro del conector AT   y   conectaremos  estos  dos cables al interruptor :

IMG_20180121_180029[1].jpg

Ya podemos conectar de forma definitiva  el instrumento de panel ,  por lo que lo  mejor es soldar los cables respetando los originales   y luego poner cinta aislante alrededor de sus conexiones.

La conexión mas interesante suele ser la  de +5V DC por lo que tomaremos tres o mas cables    amarillos y lo soldaremos a una borna aparte   y haremos lo mismo con el terminal de GND   con tres o mas cables negros:

 

IMG_20180121_181759[1].jpg

Lo mejor es prescindir  de los conectores  pues  ocupan mucho espacio   y  nos nos los vamos a necesitar  cortándolos con una tijera o un alicate de corte,

IMG_20180121_182732[1].jpg

Lo siguiente seria conectar las salidas de +12V  con tres o mas cables rojos, la masa  o GND ( en el conector central ) con tres o mas cables negros   y la conexión de -12V  (el unico cable azul)

 

IMG_20180121_183220[1].jpg

Para evitar problemas  se deben encintar las conexiones  (incluso las que no vayamos a utilizar)

IMG_20180121_183527[1].jpg

Por  ultimo  , es muy interesante  ordenar los cables  con abrazaderas  para dejar el montaje mas limpio:

IMG_20180121_190023[1].jpg

Aunque se ha previsto la tapa tornillos , con cinta americana es suficiente para que quede el frontal bien sujeto a la fuente

 

IMG_20180121_190906[1].jpg

!Y ya esta la fuente montada!

En realidad como vemos el montaje  es bastante sencillo y con el panel impreso la verdad es que creo que queda  bastante  conseguida

 

IMG_20180121_191135[1].jpg

 

Introducción al modelado 3d con OpenSCAD para electrónicos


Para el modelado 3D, Tinkercad debería ayudarnos ante cualquier diseño inicial de una manera  más sencilla con el proceso de modelado 3D, tanto es así, que incluso los modeladores experimentados lo hacen  explorando las formas de Tinkercad,  pues curiosamente, una herramienta “simple” como Tinkercad puede conducir a formas complejas.

Lógicamente detrás de Tinkercad y de cualquier otro programa de modelado 3D está el código, de modo que a medida que arrastra y suelta formas, los algoritmos complejos están trabajando para calcular cómo aparecerán los gráficos en la pantalla, asi que  también debería ser posible crear figuras geométricas directamente mediante código.

Para aquellos que tienen curiosidad sobre el código, OpenSCAD es una herramienta gratuita de software para explorar el modelado 3d desde esa perspectiva,  resultando  mucho mas eficiente   y concisa   en el  proceso de diseño que cualquier otra herramienta gráfica como por ejemplo Tinkercad..

A diferencia de Tinkercad, OpenSCAD no es una aplicación basada en la web de  modo que si esta interesado  en la herramienta   tendrá que descargarla ( OpenSCAD se puede descargar gartis en http://www.openscad.org y está disponible para Windows, Mac OS X y Linux)   e instalarla en su PC para usarla.

La interfaz OpenSCAD es sencilla  en comparación con Tinkercad ,constando  de sólo tres ventanas, siendo la ventana de la izquierda un editor de texto utilizado para ingresar el código.

 

panel

Con OpenSCAD está diseñando código,pero no se preocupe: escribir código con Open SCAD es similar al uso de HTML en una página web, siendo el código para crear objetos  autoexplicativo  (por ejemplo, el comando del cubo crea cubos, el comando de esfera crea esferas y el comando del cilindro crea cilindros, etc).

Probablemente haya alrededor de 60 comandos en OpenSCAD, muchos de los cuales  permitirán manipular la geometría ,  como por ejemplo mover, rotar, escalar y usar operaciones booleanas para combinar objetos, pero no se preocupe porque  para modelar  la mayoría de la piezas solo necesitaran  unos pocos comandos como  son union , difference, translate, cylinder o  cube.

 

Las secuencias de comandos en el lenguaje de OpenSCAD se utilizan para crear modelos en 2D o 3D.

Este script es una lista de formato libre de instrucciones de acción.

 object();
 variable = value;
 operator()   action();
 operator() { action();    action(); }
 operator()   operator() { action(); action(); }
 operator() { operator()   action();
              operator() { action(); action(); } }

 

Como vemos  hay objetos,acciones  y operadores para construir un pieza:

  • Objetos:Los objetos son los bloques de construcción de modelos, creados por primitivas 2D y 3D. Los objetos terminan en un punto y coma ‘;’.
  • Acciones: Instrucciones de acción  que incluyen la creación de objetos usando las primitivas y asignar valores a variables. Las instrucciones de acción también terminan en un punto y coma ‘;’.
  • Operadores :Los operadores o las transformaciones, modifican la ubicación, color y otras propiedades de los objetos. Los operadores usen llaves ‘{}’ cuando su ámbito de aplicación abarca más de una acción. Más de un operador puede usarse para la misma acción o grupo de acciones. Varios operadores se procesan de derecha a izquierda, es decir, el más cercano a la acción del operador se procesa primero. Los operadores no terminan en punto y coma ‘;‘, pero la persona hacen acciones que contienen.

 

 

Las unidades en OpenSCAD son genéricas  de modo que no hay sistemas de medición en OpenSCAD, es decir , no hay designación para las unidades, y le corresponde al diseñador definir el tamaño del objeto al configurar el archivo antes de la impresión 3D.

CLINDRO (Cylinder)


Crea un cilindro o un cono centrado sobre el eje z. Cuando el centro es cierto, también se centra verticalmente a lo largo del eje z.

Nombres de los parámetros son opcionales si en el orden que se muestra a continuación. Si un parámetro se denomina, deben también llamarse todos los parámetros siguientes.

Nota: Si se utilizan r, d, d1 o d2 debe llamarse.

cylinder(h = height, r1 = BottomRadius, r2 = TopRadius, center = true/false);
Parámetros
h : altura del cilindro o de cono
r : radio del cilindro. R1 = r2 = r.
R1 : radio, parte inferior del cono.
R2 : radio superior del cono.
d : diámetro del cilindro. R1 = r2 = 2 d.
D1 : diámetro, parte inferior del cono. R1 = d1/2
D2 : diámetro superior del cono. R2 = d2/2

(Nota: d, d1, d2 requiere 2014.03 o posterior. Debian en la actualidad se sabe que detrás de esto)
Centro

falso (por defecto), z va desde 0 a h
cierto, rangos de z de -h/2 a + h/2
$fa : ángulo mínimo (en grados) de cada fragmento.
$fs : longitud circunferencial mínima de cada fragmento.
$fn : fija el número de fragmentos en 360 grados. Valores de 3 o más reemplazar $fa y $fs

$fa, $fs y $fn deben ser nombrados. 
defaults: cylinder();  yields: cylinder($fn = 0, $fa = 12, $fs = 2, h = 1, r1 = 1, r2 = 1, center = false);

OpenSCAD Cone 15x10x20.jpg

equivalent scripts
 cylinder(h=15, r1=9.5, r2=19.5, center=false);
 cylinder(  15,    9.5,    19.5, false);
 cylinder(  15,    9.5,    19.5);
 cylinder(  15,    9.5, d2=39  );
 cylinder(  15, d1=19,  d2=39  );
 cylinder(  15, d1=19,  r2=19.5);

OpenSCAD Cone 15x10x0.jpg

equivalent scripts
 cylinder(h=15, r1=10, r2=0, center=true);
 cylinder(  15,    10,    0,        true);
 cylinder(h=15, d1=20, d2=0, center=true);
equivalent scripts
 cylinder(h=20, r=10, center=true);
 cylinder(  20,   10, 10,true);
 cylinder(  20, d=20, center=true);
 cylinder(  20,r1=10, d2=20, center=true);
 cylinder(  20,r1=10, d2=2*10, center=true);

 

CUBO (Cube)


Crea un cubo en el primer octante. Cuando el centro es cierto, el cubo se centra en el origen. Nombres de argumento son opcionales si en el orden que se muestra a continuación.

cube(size = [x,y,z], center = true/false);
cube(size =  x ,     center = true/false);
parámetros:
tamaño

solo valor, cubo con los lados de esta longitud
3 valor array [x, y, z], cubo con dimensiones x, y y z.
Centro

falso (predeterminado), 1 º octante (positivo), una de las esquinas en (0,0,0)
cierto, cubo está centrado en (0,0,0)
default values:  cube();   yields:  cube(size = [1, 1, 1], center = false);
ejemplos:

OpenSCAD example Cube.jpg

equivalent scripts for this example
 cube(size = 18);
 cube(18);
 cube([18,18,18]);
 .
 cube(18,false);
 cube([18,18,18],false);
 cube([18,18,18],center=false);
 cube(size = [18,18,18], center = false);
 cube(center = false,size = [18,18,18] );

OpenSCAD example Box.jpg

equivalent scripts for this example
 cube([18,28,8],true);
 box=[18,28,8];cube(box,true);

 

 

ROTATE

Gira su objeto ‘a’ grados sobre el eje del sistema coordinado o alrededor de un eje arbitrario. Los nombres de argumento son opcionales si los argumentos se dan en el mismo orden como se especifica.

//Usage:
rotate(a = deg_a, v = [x, y, z]) { ... }  
// or
rotate(deg_a, [x, y, z]) { ... }
rotate(a = [deg_x, deg_y, deg_z]) { ... }
rotate([deg_x, deg_y, deg_z]) { ... }

El argumento ‘a’ (deg_a) puede ser una matriz, tal como se expresa en el uso de más arriba; Cuando deg_a es una matriz, se omite el argumento de ‘v’. Donde ‘a’ especifica múltiples ejes después de la rotación se aplica en el siguiente orden: x, y, z. que significa el código:

rotate(a=[ax,ay,az]) {...}

es equivalente a:

rotate(a=[0,0,az]) rotate(a=[0,ay,0]) rotate(a=[ax,0,0]) {...}

El argumento opcional de ‘v’ es un vector y le permite establecer un eje arbitrario que será girado al objeto.
Por ejemplo, para voltear un objeto boca abajo, se puede girar el objeto 180 grados alrededor del eje ‘y’.

rotate(a=[0,180,0]) { ... }

Con frecuencia esto se simplifica a

rotate([0,180,0]) { ... }

Cuando se especifica un solo eje el argumento de ‘v’ permite especificar cuyo eje es la base para la rotación. Por ejemplo, el equivalente a lo anterior, para girar a la vuelta y

rotate(a=180, v=[0,1,0]) { ... }

Cuando se especifica un solo eje, ‘v’ es un vector de definición de un eje arbitrario de rotación; Esto es diferente del eje múltiple anterior. Por ejemplo, rotar el objeto 45 grados alrededor del eje definido por el vector [1,1,0],

rotate(a=45, v=[1,1,0]) { ... }

 

 

TRANSLATE

Se  mueve sus elementos secundarios a lo largo del vector especificado. El nombre de argumento es opcional.

Example:
translate(v = [x, y, z]) { ... }
cube(2,center = true); 
translate([5,0,0]) 
   sphere(1,center = true);

image of result of the translate() transformation in OpenSCAD

image of result of rotate() transformation in OpenSCAD

 

 

MINKOWSKY

Muestra la suma de minkowski de los nodos secundarios.

Supongamos que tiene una caja plana y quiere un borde redondeado. Hay muchas formas de hacerlo, pero minkowski es muy elegante.

Por ejemplo toma un cubo  y un cilindro:

 $fn=50;
 cube([10,10,1]);
 cylinder(r=2,h=1);

Luego, haga una suma de minkowski de ellos (tenga en cuenta que las dimensiones exteriores de la caja ahora son 10 + 2 + 2 = 14 unidades por 14 unidades por 2 unidades de altura a medida que se suman las alturas de los objetos):

$fn=50;
minkowski()
{
  cube([10,10,1]);
  cylinder(r=2,h=1);
}

Note que el origen del segundo objeto se usa para la suma. Si el segundo objeto no está centrado, entonces la adición será asimétrica. Las siguientes sumas de Minkowski son diferentes: la primera expande el cubo original en 0.5 unidades en todas las direcciones, tanto positivas como negativas. El segundo lo expande en +1 en cada dirección positiva, pero no se expande en las direcciones negativas.

minkowski() {
    cube([10, 10, 1]);
    cube(1, center=true);
}
minkowski() {
    cube([10, 10, 1]);
    cube(1);
}

 

 

mikonsji.png

En  nuestro  diseño final que veremos  para la caja ATX  nos sirve para   redondear los bordes de la caja  :

minkowski(){
translate([0,0,0]) cube([151,85,29]);
cylinder(r=2);

Observar que una caja ATX es de 151 x 85

 

TRANSFORMACIONES

La transformación afectan a  los nodos secundarios y como su nombre indica transforma de diversas maneras las figuras como moviéndolas , rotándolas   o escaléndolas . Las transformaciones en cascada se utilizan para aplicar una gran variedad de transformaciones a un a figura 

En cascada se logra mediante declaraciones de anidación,

Un ejemplo :

rotate([45,45,45])
  translate([10,20,30])
    cube(10);

Las transformaciones pueden aplicarse a un grupo de nodos secundarios mediante el uso de ‘ {‘ y ‘}’ para incluir por ejemplo el subárbol

translate([0,0,-5])
{
    cube(10);
    cylinder(r=5,h=10);
}

Un  aspecto a tener muy en cuenta es  que las transformaciones se escriben antes el objeto que afectan.

 

 

 

Primer ejemplo

 

Como  habrá  podido deducir , construir una pieza en  OpenSCAD es un proceso mucho más eficiente cuando se  usa código.

Por ejemplo,  el uso de Tinkercad para crear una caja y su tapa toma más de diez operaciones que consisten en dejar caer y arrastrar objetos, alinearlos y agruparlos para crear las formas finales, de modo que  este proceso podría tardar mucho tiempo según el manejo que se tenga de la herramienta.

Con OpenSCAD, puede crear la misma pieza en menos de diez minutos simplemente usando el siguiente código:

difference () {
cube ([4,3,2], center=true);
translate ([0,0,1])
cube ([3.5,2.5,2], center=true);
}

union () {
translate ([0,0,2])
cube ([4,3,.4], center=true);
translate ([0,0,1.8])
cube ([3.49,2.49,.4], center=true);

translate ([0,0,2.2])
scale ([.1,.1,.1])
sphere (r=5, center=true);

translate ([0,0,2.7])
scale ([.07,.07,.07])
sphere (r=5, center=true);
}

Explicamos a continuacion el código:

La primera sección del código se usa para crear una  caja hueca .

El  comando (cube [4,3,2], center = true); crea el cuadro inicial.

El  comando center= true  se usa para asegurar que la caja esté perfectamente centrada en 3D

La siguiente serie de comandos, translate ([0,0,1]) cube ([3.5,2.5,2], center = true) ;, se usa para crear un segundo cuadro más pequeño.

Esta segunda caja, más pequeña, se mueve hacia arriba en 1 unidad en la dirección Z usando el comando translate y se usará en la operación boleana para crear la caja hueca  gracias al comando difference  que  se usa para restar el cuadro más pequeño (3.5×2.5×2)  para el cuadro grande (4x3x2)

Como vemos cualquier comando de forma como cubo, esfera y cilindro que se encuentre dentro de los corchetes que preceden al comando de diferencia se usará en la operación booleana  dando resultado que el primer objeto enumerado en los corchetes tendrá la forma de base, y los objetos anteriores enumerados serán “objetos de corte” y restarán la geometría de la base.

cajas.png

Para la tapa de  la caja, simplemente usaremos el comando unión para   formar una pieza compuesta por dos cubos superpuestos  ,uno de 4x3x.4  y  otro algo  mas pequeño de 3.49×2.49x.4

tapas.png

Los últimos dos conjuntos de comandos crean el mango esférico para la parte superior de la tapa

translate ([0,0,2.2])
scale ([.1,.1,.1])
sphere (r=5, center=true);

translate ([0,0,2.7])
scale ([.07,.07,.07])
sphere (r=5, center=true);

 

Finalmente, el comando de unión se usa para combinar todos los elementos de tapa juntos.

 

caja

 

 

Ejemplo fuente ATX

Para mostrar lo util que es el prototipado  con esta herramienta, vamos   a ver como se puede hacer un tapa a una fuente de ordenador ATX de ordenador  de modo que queden accesibles las tensiones principales de la fuente(+12,-12 y +5V)   y además podamos controlarlas con un conmutador y un instrumento de panel.

El prototipo final es el que mostramos a continuación:

atx2.png

 

 

Podemos ver  la tapa como dos bloques , donde uno sera la caja  y el otro  todos los orificios que se practiquen sobre el mismo

Bloque  inicial

La primera sección del código se usa para crear una  caja hueca  y los agujeros de los laterales.

El  comando translate([0,0,0]) cube([151,85,29]); crea el cuadro inicial  de medidas algo superiores al frontal de una caja ATX dado que debe colocarse esta deno.

La siguiente serie de comandos, trtranslate([0,0,2]) cube([151,85,28]);  se usa para crear un segundo cuadro más pequeño  .

Esta segunda caja, más pequeña, se mueve hacia arriba en 2 unidades en la dirección Z usando el comando translate y se usará en la operación boleana para crear la caja hueca  gracias al comando difference  que  se usa para restar el cuadro más grande al cuadro pequeño

En  el  diseño   para la caja ATX  nos sirve la función minkowski   para   redondear los bordes de la caja  :

minkowski(){
translate([0,0,0]) cube([151,85,29]);
cylinder(r=2);

Observar que una caja ATX es de 151 x 85 x29.

En este bloque además se practican los agujeros  de refrigeracion en la cara inferior por medio de la creación de cilindros de radio 5

//agujeros de refrigeracion
translate([40,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([60,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([75,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([90,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([110,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);

Asimismo, se crean 4 orificios para los 4 tornillos que  serviran para sujetar esta pieza a la caja ATX  :

// 4 agujeros para sujetarlos a la caja ATX
translate([15.5,-2,25]) rotate([-90,0,0]) cylinder(h=3,r1=3.5,r2=1.5);
translate([135.5,-2,25]) rotate([-90,0,0]) cylinder(h=3,r1=3.5,r2=1.5);

translate([-2,80,25]) rotate([0,90,0]) cylinder(h=3,r1=3.5,r2=1.5);
translate([154,80,25]) rotate([0,-90,0]) cylinder(h=3,r1=3.5,r2=1.5);

 

Además, en este bloque se han añadido dos patas  compuestas por dos cubos que se fijaran a la cara inferior

//2 pies de apoyo
translate([10,86,0]) rotate([.5,0,0]) cube([10,3,30]);
translate([131,86,0]) rotate([.5,0,0]) cube([10,3,30]);

 

Bloque de vaciados

Se ha visto interesante reforzar los 5 bornas  por medio de 5 cilindros interiores  que ayudan a  dar más consistencia  a las bornas en su operacion  normal ,las cuales estan   formados simplemente por cilindros  de poca altura:

//refuerzo conectores
translate([18,70,0]) cylinder(h=5,r=6);
translate([38,70,0]) cylinder(h=5,r=6);
translate([58,70,0]) cylinder(h=5,r=6);
translate([151-18,70,0]) cylinder(h=5,r=6);
translate([151-38,70,0]) cylinder(h=5,r=6);

Asimismo  se han añadido refuerzos en el interior para mejorar la estabilidad mecánica  formados por cubos   y que recorren toda la caja :

//Costillas de refuerzo  para la caja
translate([0,0,0]) cube([3,3,20]);
translate([0,82,0]) cube([3,3,20]);
translate([148,0,0]) cube([3,3,20]);
translate([148,82,0]) cube([3,3,20]);
translate([47,0,0]) cube([3,3,20]);
translate([47,82,0]) cube([3,3,20]);
translate([77,0,0]) cube([3,3,20]);
translate([100,82,0]) cube([3,3,20]);
translate([0,40,0]) cube([3,3,20]);
translate([148,50,0]) cube([3,3,20]);
translate([47,40,0]) cube([3,45,4]);
translate([100,50,0]) cube([3,35,4]);
translate([0,40,0]) cube([80,3,4]);
translate([77,0,0]) cube([3,50,4]);
translate([77,50,0]) cube([151-77,3,4]);
}

También es interesante destacar la abertura para el interruptor  de encendido  y el display led  formado por dos  simples cubos , así como tambien  los agujeros para los conectores formados por 5 cilindros:

//Abertura para el display
translate([32,12,0]) cube([45.3,25.7,10]);

//Abertura para el interruptor
translate([15,15,0]) cube([11.7,19.6,10]);

//Agujeros para los conectores
translate([18,70,0]) cylinder(h=9,r=5);
translate([38,70,0]) cylinder(h=9,r=5);
translate([58,70,0]) cylinder(h=9,r=5);
translate([151-18,70,0]) cylinder(h=9,r=5);
translate([151-38,70,0]) cylinder(h=9,r=5);

 

Por ultimo, para mejorar la refrigeración   se ha optado por poner rejillas de ventilación en el frontal formadas cada una por 2 cilindros huecos y un cubo

Como novedad   se realiza  de forma re-cursiva mediante el empleo de un bucle for

//Rejilla de ventilacion
for ( i = [85 : 8 : 145] )
{
translate([i,10,0]) cylinder(h=9,r=2);
translate([i,45,0]) cylinder(h=9,r=2);
translate([i-2,10,0]) cube([4,35,4]);
}

 

Finalmente, si lo unimos todo, tenemos el siguiente código para general la pieza entera:

 

// …………………………
// Panel para fuente ATX
// CRN
// 17/01/2018
// GNU GPL v3
// …………………………

 

module box(){
difference(){
union(){
minkowski(){
translate([0,0,0]) cube([151,85,29]);
cylinder(r=2);
}
//2 pies de apoyo
translate([10,86,0]) rotate([.5,0,0]) cube([10,3,30]);
translate([131,86,0]) rotate([.5,0,0]) cube([10,3,30]);
}
//vaciado de la caja
translate([0,0,2]) cube([151,85,28]);

//agujeros de refrigeracion
translate([40,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([60,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([75,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([90,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([110,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);

// 4 agujeros para sujetarlos a la caja ATX
translate([15.5,-2,25]) rotate([-90,0,0]) cylinder(h=3,r1=3.5,r2=1.5);
translate([135.5,-2,25]) rotate([-90,0,0]) cylinder(h=3,r1=3.5,r2=1.5);

translate([-2,80,25]) rotate([0,90,0]) cylinder(h=3,r1=3.5,r2=1.5);
translate([154,80,25]) rotate([0,-90,0]) cylinder(h=3,r1=3.5,r2=1.5);

}
}

 

 

 

 

difference(){
union(){
box();

//refuerzo conectores
translate([18,70,0]) cylinder(h=5,r=6);
translate([38,70,0]) cylinder(h=5,r=6);
translate([58,70,0]) cylinder(h=5,r=6);
translate([151-18,70,0]) cylinder(h=5,r=6);
translate([151-38,70,0]) cylinder(h=5,r=6);

//Costillas de refuerzo  para la caja
translate([0,0,0]) cube([3,3,20]);
translate([0,82,0]) cube([3,3,20]);
translate([148,0,0]) cube([3,3,20]);
translate([148,82,0]) cube([3,3,20]);
translate([47,0,0]) cube([3,3,20]);
translate([47,82,0]) cube([3,3,20]);
translate([77,0,0]) cube([3,3,20]);
translate([100,82,0]) cube([3,3,20]);
translate([0,40,0]) cube([3,3,20]);
translate([148,50,0]) cube([3,3,20]);
translate([47,40,0]) cube([3,45,4]);
translate([100,50,0]) cube([3,35,4]);
translate([0,40,0]) cube([80,3,4]);
translate([77,0,0]) cube([3,50,4]);
translate([77,50,0]) cube([151-77,3,4]);
}
//Abertura para el display
translate([32,12,0]) cube([45.3,25.7,10]);

 

//Aabertura para el interruptor
translate([15,15,0]) cube([11.7,19.6,10]);

 

//Agujeros para los conectores
translate([18,70,0]) cylinder(h=9,r=5);
translate([38,70,0]) cylinder(h=9,r=5);
translate([58,70,0]) cylinder(h=9,r=5);
translate([151-18,70,0]) cylinder(h=9,r=5);
translate([151-38,70,0]) cylinder(h=9,r=5);

//Rejilla de ventilacion
for ( i = [85 : 8 : 145] )
{
translate([i,10,0]) cylinder(h=9,r=2);
translate([i,45,0]) cylinder(h=9,r=2);
translate([i-2,10,0]) cube([4,35,4]);
}
}