El presente sitio presenta diseños y proyectos realizados con Solidworks y otros programas 3d , además de laminas y modelos 3d para practicar en casa, con el único objetivo de poder aprender y explorar la capacidad de Solidworks, no existiendo en ningún caso fines de lucro.

Wednesday, July 29, 2015

como hacer un archivo iso con varios archivos

Posted by Juan Francisco | Wednesday, July 29, 2015 | Category: | 0 comentarios

Para los que no tengan instalado Nero, Daemon Tools, u otros programas de grabación y necesiten crear un ISO desde una carpeta que contenga archivos, disponen de un programa muy sencillo de utilizar que es Folder2Iso.

Folder2Iso, es un programa gratuito, pequeño, ocupa sólo 2.62 Mb, en un único fichero y que ni siquiera requiere instalación, con lo que podemos usarlo como aplicación portable y llevarlo en nuestro pen drive.
Su uso no puede ser más sencillo:
  • Basta con indicarle la carpeta origen que queremos convertir en ISO.
  • La carpeta de destino que necesariamente ha de ser otra distinta.
  • El nombre que le queremos dar al fichero ISO ,
  • y con sólo pulsar en Generate Iso, ya está

Descargar: Folder2Iso

Tuesday, July 28, 2015

Controlando dispositivos ZigBee con Pic y LabVIEW

Posted by Juan Francisco | Tuesday, July 28, 2015 | Category: | 0 comentarios


Se recomienda tener unas nociones básicas sobre el protocolo ZigBee para una mayor comprensión. (Un mini tutorial aquí)
El proyecto incluye los siguientes aspectos:

1. Comunicar un microcontrolador PIC, concrétamente el 18F4550, con un PC mediante LabVIEW y haciendo uso de la api de microchip “MPUSBAPI.DLL” que podemos descargar gratuitamente de la web del fabricante.

2. Comunicar y visualizar dispositivos ZigBee que formen parte de una misma red. Para ello se ha hecho uso de los módulos XBee (Pro) del fabricante Digi. En el proyecto se emplearón 3 dispositivos, un coordinador que se comunica con el microcontrolador y dos endpoints que serían los que se controlan.


En el software desarrollado se visualizan los distintos dispositivos que conforman la red, así como el estado de las distintas señales. Pudiendo configurar los pines de los módulos, entrada/salida digital o entarda analógica, leer sus valores o activarlos y desactivarlos.

Cuando se adquieren los modulos XBee requieren una configuración inicial para poder funcionar. Para ello se empleó la placa XBee Explorer USB de SparkFun, que no es más que un puente USB-RS232 perparado para conectar directamente los módulos XBee.



De los dos posibles modos de funcionamiento de los módulos, mediante comandos AT o API, se escogió este último por dos motivos, el primero didáctico, para un mayor contacto con el protocolo ZigBee y el segundo y principal, poder enviar comandos remotos. Es decir, ser capaz de activar o desactivar salidas digitales, realziar lectura de los canales, etc.

Por ello tenemos que configurar los dispositivos para que trabajen en este modo de funcionamiento. Así como indicar cual será el coordinador y cuales los endpoints o routers. Todo ello se puede hacer de forma sencilla con el software X-CTU que proporciona Digi.

A continuación se comentará el firmware implementado. 

Para la programación en C se ha utilizado el programa CCS C Compiler en su versión 4.23 el cual facilita mucho la tarea de comunicación USB.

Las funciones redXBee(), configuracionXbee() y datosXBee() son las encargadas de comunicarse con los dispositivos de la red ZigBee.

La función redXBee() se encarga de buscar los dispositivos que forman la red y guarda las  direcciones de los dispositivos que encuentra. Para ello el microcontrolador envía la trama  API del comando AT ND al coordinador, el dispositivo coordinador manda a toda la red una  petición de descubrimiento, todos los dispositivos de la red, devuelven al coordinador una  trama API del tipo, Respuesta de comando AT.

La trama de un comando ND es la siguiente: 0x7E 0x00 0x04 0x08 0x01 0x4E 0x44 0x64,  donde:

• 0x7E: delimitador de inicio

• 0x0004: tamaño

• 0x08:Comando AT

• 0x01:Identificador

• 0x4E44: 'ND' en ASCII

• 0x64: Suma de control

El valor de la suma de control se calcula: [0xFF - (0x08 + 0x01 + 0x4E + 0x44)].

La función configuracionXbee() se encarga de comprobar para el número de dispositivos  configuración de los pines de D0 a D5. Para ello el microcontrolador envía en tramas API los  comandos remotos AT Dn, n es un valor comprendido entre 0 y 5, al coordinador. Se utiliza  la dirección almacenada tras la ejecución de la función redXBee().

Como puede apreciarse tan sólo se controlan 6 pines de los módulos, dejando la posibilidad de ampliar de manera sencilla el resto de los pines y funcionalidades de los modulos.

La función datosXbee() se encarga de comprobar el estado de las señales analógicas y  digitales. Para ello el microcontrolador envía en tramas API los comandos remotos AT IS, al  coordinador, que solicita a un dispositivo remoto una muestra de los datos de sus señales.

Para facilitar el desarrollo de la aplicación XbeePic se ha utilizado la aplicación INF_Enumeration_uC_PIC-USB versión V3.1, que genera el archivo .inf y la librería usb_desc_scope necesarias.

Finalmente el interface es desarrollada mediante LabVIEW 8.6 está debidamente comentado para que sea sencilla su comprensión. Se basa en el envío de comandos al microcontrolador haciendo que el coordinador de la red configure los dispositivos, vea el estado de los pines o compruebe si se ha incorporado o eliminado algún módulo.

Espero que con este proyecto sirva de base para las personas que quieran iniciarse en con la tecnología ZigBee o la comunicación USB con microcontroladores.

Con el paso del tiempo he visto numerosas posibilidades de mejora sobre este proyecto, tanto a nivel de firmware como de software por lo que estoy seguro que las capacidades de ampliación son ilimitadas.

A continuación teneis subido todos los archivos necesarios para que podais probar este proyecto.

Modelos 3D de dispositivos electrónicos

Posted by Juan Francisco | | Category: | 0 comentarios

En esta nueva publicación voy a compartir una recopilación de modelos 3D de dispositivos electrónicos para que podáis añadir a vuestros footprint el modelo 3D de los componentes que utilicéis, de manera que os queden circuitos vistosos.

El formato de los archivos de los modelos utilizados es .STEP y .STP. Incluyo un programa que permite ver este tipo de ficheros, no muestra los colores originales pero nos sirve para hacernos una idea del elemento que estamos manejando.

Tarjeta Entrenadora con PIC 18F2550 V2.0

Posted by Juan Francisco | | Category: | 0 comentarios

Una característica muy interesante de esta entrenadora de PIC esta en que está diseñada para poder utilizarla con uno de los elegantes contenedores de los que dispone la gente de Sparkfun.


Para acceder a la web y ver las caracteristicas de la caja Clic Aquí.
Nota: El circuito de la caja no corresponde a este.

Como va siendo normal, dejo todos los archivos para poder trabajar con el software Altium Desing, además de la libreria de footprints que contiene los elementos necesarios para crear la tarjeta entrenadora y algunos foot extra.

También he incluido algunos pdf dónde está incluido el diseño de la Bottom Layer ya que otra de la característica es que solo se usa una Capa de ruteo para poder utilizar facilmente la técnica de la plancha.

Conversor USB - UART

Posted by Juan Francisco | | Category: | 0 comentarios



En este nuevo post voy a dejar el proceso de creación de un conversor USB - UART. Digo que dejo el proceso por que ahora mismo digamos que esta en fase Alfa, y lo único que hay de momento es el diseño electrónico y del PCB que aun no he probado, pero conforme vaya haciendo progresos, iré actualizando este post.

-Diseño Electrónico y del PCB (no probados)

La gente de SparkFun nos dan la posibilidad de comprar este dispositivo para quien le pueda interesar. Clic Aqui 

En principio parece que no tiene mucha historia, a ver con lo que me encuentro.

El resultado final que este dispositivo permite obtener es la creacion de un puerto COM Virtual.

El fabricante de este dispositivo nos da la facilidad de que en la pagina podemos obtener sus drivers para instalárselos al PC y que automáticamente sea reconocido. Como nota interesante  he observado un poco por encima que se pueden configurar algunos parámetros de fabricante (En este caso nosotros) dentro de una EEPROM interna como la VID y PID.

El diseño voy a intentar que sea casi en su totalidad  en SMD y los mas compacto que me permita la tecnología de fabricación casera de la plancha :-D (nota : como soldar SMDs). Fundamentalmente se basa en un circuito FT232R  en cuyo datasheet se nos dan unas sugerencias de configuración, yo he elegido la opción en el que la alimentación va por USB directamente.


Programas para Spartan 3 de Xilinx

Posted by Juan Francisco | | Category: | 0 comentarios

Aqui les dejo unos ejercicios que hice en la universidad donde trabaje un poco con las FPGAs en concreto con la la trainer board Spartan-3.

Los programas que adjuntos son programas muy simples, el documento adjunto contiene dichos ejercicios.

Ademas os dejo también un documento que contiene informacion sobre Field Programable Devices, habla un poco sobre las PLD (Programable logic Device) y las FPGAs (Field Programable Gate Array). 

El desarrollo de los programas esta realizado con ISE 9.1 de Xilinx.

Los ejemplos en orden de dificultad son:
-Una puerta Xor
-Efecto movimiento con los LEDs
-Un contador realizado con los Display 7 segmentos
Muy pronto subire mas ejemplos con Spartan3 de Xilinx

Motor PAP controlado con FPGA Spartan 3

Posted by Juan Francisco | | Category: | 0 comentarios

Hola a todos, en este nuevo post vamos a explicar como controlar un motor paso a paso de esos que tenemos todos dentro de impresoras o escaners viejos y que pueden andar cogiendo polvo por casa.

Para hacerlo se utiliza una FPGA Spartan 3 contenida en una placa de desarrollo Basys 2.


En la siguiente imagen se muestra cuales son los distintos elementos que se usan de la placa de desarrollo y para qué.


Utilizamos un motor paso a paso unipolar de 5 terminales en modo half-step para conseguir una mayor precisión. Esto nos permite un número de pasos de 8 pasos, 45º cada paso, como se muestra a continuación (Los puntos azules se corresponde con las bobinas excitadas). 

Como dijimos el motor utilizado es de un escáner viejo y el modelo es Mototech, puesto que no se ha localizado el datasheet, se ha optado por hacer lo siguiente para determinar la configuración del bobinado. 
1-  Medir  la  resistencia  de  cada  uno  de  los  terminales  para  conocer  cuál  es el terminal común. El terminal rojo daba una resistencia de 57 Ohm con el resto de terminales  frente  a  los 112  Ohm  que  daban  dos  terminales  que  no  son  comunes entre sí, con lo cual podemos afirmar que el terminal rojo es el común. 
2- Aplicar una tensión a la entrada de los diferentes bobinados, para conocer el orden correcto en el que hay que excitar al motor.

Tras  lo  cuál  se  ha  llegado  a  lo  siguiente,  el  bobinado  tiene  el  aspecto  que  se muestra en la siguiente figura. Donde los colores definidos se refieren al color de los cables del motor. 

La  interfaz  utilizada  para  proteger  las  salidas  de  la  tarjeta  de  desarrollo consiste en un ULN2803AN de Texas. Se trata de un circuito integrado que contiene una  serie  de  transistores  en  configuración  Darlington  como  muestra  la  siguiente figura con una corriente de colector máxima de 500mA hasta 50V. Las conexiones se han de realizar como muestra la siguiente imagen.

Una vez diseñado el hardware (Código) que posteriormente volcaremos en la FPGA, para volcarlo seguimos el manual del IDE. Obtenemos lo siguiente a la salida de  dos  de  los  cuatro  pines  de  salida.  El  código  se  entrega  adjunto  como  un  fichero comprimido independiente.
 

Donde  observamos  que,  efectivamente,  en  primer  lugar  tenemos  solo  L1 (CH1)  excitada  un  tiempo,  seguidamente  pasan  a  estar  L1  y    L2  activadas  y finalmente solo L2. El mismo proceso seguiría L2 - L3 y L3 - L4. 

El siguiente vídeo muestra los frutos del experimento.

https://www.youtube.com/watch?feature=player_embedded&v=AVI4_40CvDk

Para descargar los distintos archivos necesarios para programar la FPGA hacer clic en el siguiente enlace de descarga.

Hola mundo con Cortex M4

Posted by Juan Francisco | | Category: | 0 comentarios

Stellaris LM4F120 LaunchPad Evaluation Board (EK-LM4F120XL)

Vamos a ver como hacer un maravilloso blink LED con un ARM Cortex M4, muy poquita cosa para este dispositivo, pero el objetivo es familiarizarse un poco con el IDE Code Composer Studio de TI y con la sintaxis que utiliza para su programación quedándonos con la parte fundamental para este ejercicio (GPIO, Interrupciones).


Para hacer este pequeño ejercicio se ha usado la placa de desarrollo Stellaris LM4F120.

No voy a explicar como arrancar un nuevo proyecto en CCSv5, pero si es tu primera toma de contacto con el IDE te recomiendo una lectura a la wiki de Texas. Lo mejor y mas facil para empezar un proyecto es que copies el proyecto con el nombre "Project0" que viene con el paquete para Stellaris, todas las librerias y sus rutas están linkadas al proyecto y no vas a perder tiempo con eso.

Es importante tener el datasheet del procesador cerca para entender bien que significan las diferentes lineas de código, además no disponemos de pdf que describan las funciones, navegaremos dentro de las diferentes librerias para conocer para que sirve cada uno de los parámetros que se le pasa a la función.

Nuestra función principal será muy sencilla, solo tendrá una función de configuración, encargada de gestionar los GPIO y las INT (pines de entrada y salida y las interrupciones).

La función de interrupción será la encargada de apagar y encender el LED con los siguientes comandos. TODO lo comento para que quede autoexplicado.


NOTA: No es buena praxis hacer tareas en la función de la interrupción, pero en este caso pasamos un poco de eso.

Lo siguiente es importante porque es un poco particular, el archivo "startup_css.c" es un archivo para la configuración de las interrupciones.

1º Añadimos una función "externa" a este fichero correspondiente a "Timer0IntHandler".
2º En la tabla de vectores hay que indicar donde queremos que vaya el proceso cuando se produce una interrupción producida por el Timer0.


Una vez tenemos main y el manejador de la interrupción listos vamos a explicar la función de configuración, que tiene el siguiente aspecto.


Lo primero que yo quiese saber cuando vi la sintaxis es, que significaba cada cosa, viniendo de Microchip yo solía navegar en su extensa documentación en pdfs. La tendencia ahora es que todo quede explicado en el propio código.

Simplemente si queremos buscar que significa SYSCTL_RCG2R_R le damos al botón derecho "Open Declaration" y vemos a que dirección apunta e incluso explicaciones.

Para este caso concreto vemos que tiene una dirección específica (0x400FE108). Es hora de mirar en el datasheet del dispositivo. Los registros con una dirección base y un offset es lo que tenemos que buscar para comprender el significado del código. para este caso basta con buscar "offset 108" y encontramos el registro correpondiente. Como podemos ver si le asignamos el valor 0x00000020 activamos el puerto F que es el que vamos a utilizar para el blink, precisamente SYSCTL_RCGC2_GPIOF al que se iguala tiene ese valor (podemos comprabarlo haciendo el mismo proceso que con SYSCTL_RCG2R_R).

Para el caso de las funciones ROM_***, nos lleva a un archivo rom.h. Para encontrar que significa cada parámetro de la función vamos al archivo que contiene esa función dentro de"Includes"/../StellarisWare/Driverlib, por ejemplo, SysCtlPeripheralEnable corresponde al archivo "SysCtl.c", TimerConfigure se encuentra en el archivo "timer.c".


Una vez sabemos que buscar, como buscar y donde buscar no es más que leer leer y leer. Os dejo el proyecto para descargarlo.

Videotutoriales de programación Android

Posted by Juan Francisco | | Category: | 0 comentarios

Para todos aquellos que van buscando cursos para programación en Android y solo se encuentran con videotutoriales malos, incompletos o en inglés, os dejo un curso bastante completo, bien explicado y en español con 26 números.

El autor del curso es Jesús Eduardo Conde Núñez y en su webpodréis encontrar una serie de tutoriales completos y totalmente en español.

Para comenzar con este tutorial recomiendo tener algunos conocimientos de JAVA porque algunas cosas se dan por sabidas o no se profundiza demasiado en los detalles. Podéis acceder también a su curso de JAVA para al menos pillar un poco la base para comenzar sin demasiados quebraderos de cabeza con Android.




018.- Modelo,vista y controlador del juego
019.- Persistencia de datos y bases de datos con SQLite
020. -ViewGroups y Views Básicas

021.- Picker Views y List Views 
022.-Views para mostrar imágenes, menús y Webs.
023.-Uso de Content Providers.
024.- Creación y uso de Content Providers. 
025.- Introducción a AndEngine.
026.- Publicar las aplicaciones Android.  

Así se hizo Ant-Man, la próxima gran película de Marvel

Posted by Juan Francisco | | Category: | 0 comentarios

Así se hizo Ant-Man, la próxima gran película de Marvel

Durante el próximo mes de julio se estrena Ant-Man, la próxima mega-producción de los estudios de Marvel, una película que no solo nos presenta un nuevo héroe, sino que también es el cierre de la “Fase 2” del universo cinematográfico de Marvel. En este vídeo de 10 minutos podrás ver cómo se hizo la película.

Y es que Ant-Man es una película muy importante en este universo de películas, debido a que se trata de un personaje clave en la trama para la próxima fase en esta historia. En el film, protagonizado por Michael Douglas, Paul Rudd y Elizabeth Lilly, no solo conoceremos a un “Hombre Hormiga” sino a dos, dos generaciones del mismo superhéroe, uno anciano y uno joven que es su relevo.

Mientras que Scott Lang (Rudd) es el nuevo héroe, la tecnología desarrollada por Hank Pym (Douglas) será la que permita llevar a los Avengers a encontrarse con muchos otros héroe (posiblemente con Dr. Stange y los Guardianes de la Galaxia), y quizás incluso es la que los llevará a enfrentarse a Thanos, el titán loco.
 

Marvel

Ant-Man promete ser una película extremadamente divertida (sobre todo tomando en cuenta a su protagonista) y llena de acción, además de una que otra aparición breve de algún miembro de los Avengers. Ya sabemos que la película tendrá dos escenas después de los créditos, y no me extrañaría que en estas estuviera involucrado o el Capitán América, o Iron Man o quizás Black Widow. Ojalá sea esta última.

Este vídeo de 10 minutos incluye muchas escenas tras cámaras y de cómo se grabó el film, que el 17 de julio llegará a las carteleras del mundo para cerrar la “Fase 2” de ese cada vez más emocionante universo de películas de Marvel.
 

DIY Induction Heater , Horno de induccion para fundir metales casero

Posted by Juan Francisco | | Category: , | 1 comentarios

Screwdriver glowing red hot in a diy induction heaterA DIY Induction Heater

This great little project demonstrates the principles of high frequency magnetic induction. The circuit is very simple to build and only uses a few common  components. With the induction coil shown here the circuit draws about 5A from a 15V supply when a screwdriver tip is heated. It takes approximately 30 second for the tip of the screwdriver to become red hot!
The control circuit uses a method known as ZVS (zero voltage switching) to activate the transistors which allows for an efficient transfer of power. In the circuit you see here, the transistors barely get warm due to the ZVS method. Another great thing about this device is that it is a self resonant system and will automatically run at the resonant frequency of the attached coil and capacitor. If you want to save some time, we have an induction heater circuit available in our shop. You might still want to read this article though for some good tips on getting your system working well.

Induction heater connectionsHow Does Induction Heating Work?

When a magnetic field changes near a metal or other conductive object, a flow of current (known as an eddy current) will be induced in the material and will generate heat. The heat generated is proportional to the current squared multiplied by the resistance of the material. The effects of induction are used in transformers for converting voltages in all sorts of appliances. Most transformers have a metallic core and will therefore have eddy currents induced into them when in use. Transformer designers use different techniques to prevent this as the heating is just wasted energy. In this project we will directly make use of this heating effect and try to maximise the heating effect produced by the eddy currents.
If we apply a continuously changing current to a coil of wire, we will have a continuously changing magnetic field within it. At higher frequencies the induction effect is quite strong and will tend to concentrate on the surface of the material being heated due to the skin effect. Typical induction heaters use frequencies from 10kHz to 1MHz.


 DANGER: Very high temperatures can be generated with this device!

Small diy induction heater setup showing power and frequency readingsThe Circuit

The circuit used is a type of collector resonance Royer oscillator which has the advantages of simplicity and self resonant operation. A very similar circuit is used in common inverter circuits used for powering fluorescent lighting such as LCD backlights. They drive a center tapped transformer which steps up the voltage to around 800V for powering the lights. In this DIY induction heater circuit the transformer consists of the work coil and the object to be heated.
The main disadvantage of this circuit is that a center tapped coil is needed which can be a little more tricky to wind than a common solenoid. The center tapped coil is needed so that we can create an AC field from a single DC supply and just two N-type transistors. The center of the coil is connected to the positive supply and then each end of the coil is alternately connected to ground by the transistors so that the current will flow back and forth in both directions.
The amount of current drawn from the supply will vary with the temperature and size of the object being heated.

Induction Heater SchematicFrom this schematic of the induction heater you can see how simple it really is. Just a few basic components are all that is needed for creating a working induction heater device.
R1 and R2 are standard 240 ohm, 0.6W resistors. The value of these resistors will determine how quickly the MOSFETs can turn on, and should be a reasonably low value. They should not be too small though, as the resistor will be pulled to ground via the diode when the opposite transistor switches on.
The diodes D1 and D2 are used to discharge the MOSFET gates. They should be diodes with a low forward voltage drop so that the gate will be well discharged and the MOSFET fully off when the other is on. Schottky diodes such as the 1N5819are recommended as they have low voltage drop and high speed. The voltage rating of the diodes must be sufficient to withstand the the voltage rise in the resonant circuit. In this project the voltage rose to as much as 70V.
The transistors T1 and T2 are 100V 35A MOSFETs (STP30NF10). They were mounted on heatsinks for this project, but they barely got warm when running at the power levels shown here. These MOSFETs were chosen due to having a low drain-sorce resistance and fast response times.
Royer Oscilator on breadboardThe inductor L2 is used as a choke for keeping the high frequency oscillations out of the power supply, and to limit current to acceptable levels. The value of inductance should be quite large (ours was about 2mH), but also must be made with thick enough wire for carrying all the supply current. If there is no choke used, or it has too little inductance, the circuit might fail to oscillate. The exact inductance value needed will vary with the PSU used and your coil setup. You may need to experiment before you get a good result. The one shown here was made by winding about 8 turns of 2mm thick magnet wire on a toroidal ferrite core. As an alternative you can simply wind wire onto a large bolt but you will need many more turns of wire to get the same inductance as from a toroidal ferrite core. You can see an example of this in the photo on the left. In the bottom left corner you can see a bolt wrapped with many turns of equipment wire. This setup on the breadboard was used at low power for testing. For more power it was necessary to use thicker wiring and to solder everything together.
As there were so few components involved, we soldered all the connections directly and did not use a PCB. This was also useful for making the connections for the high current parts as thick wire could be directly soldered to the transistor terminals. In hindsight it might have been better to connect the induction coil by screwing it directly to the heatsinks on the MOSFETs. This is because the metal body of the transistors is also the collector terminal, and the heatsinks could help keep the coil cooler.
The capacitor C1 and inductor L1 form the resonant tank circuit of the induction heater. These must be able to withstand large currents and temperatures. We used some 330nF polypropylene capacitors. More detail on these components is shown below.

Closeup of work coil and powercapacitors for diy inducion heaterThe Induction Coil and Capacitor

The coil must be made of thick wire or pipe as there will be large currents flowing in it. Copper pipe works well as the high frequency currents will mostly flow on the outer parts anyway. You can also pump cold water through the pipe to keep it cool.
A capacitor must be connected parallel to the work coil to create a resonant tank circuit. The combination of inductance and capacitance will have a specific resonant frequency at which the control circuit will automatically operate. The coil-capacitor combination used here resonated at around 200kHz. 
It is important to use good quality capacitors that can withstand large currents and the heat dissipated within them otherwise they would soon fail and destroy your drive circuit. They must also be placed reasonably close to the work coil and using thick wire or pipe. Most of the current will be flowing between the coil and capacitor so this wire must be thickest. The wires linking to the circuit and power supply can be slightly thinner if desired.
This coil here was made from 2mm diameter brass pipe. It was simple to wind and easy to solder to, but it would soon start to deform due to excess heating. The turns would then touch, shorting out and making it less effective. Since the control circuit stayed relatively cool during use, it seemed that this could be made to work at higher power levels but it would be necessary to use thicker pipe or to water cool it. Next the setup was improved to tolerate a higher power level.