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.

Sunday, August 2, 2015

Como habilitar .NET Framework 3.5 con DVD de Windows 8 o 8.1 offline

Posted by Juan Francisco | Sunday, August 2, 2015 | Category: | 0 comentarios

Necesitamos el medio de instalación de Windows
Colocamos o cargamos el disco de Windows (, este es reconcido como una unidad
Ejecutamos la consola de Windows como administrador

Una vez esté abierta la Consola, ejecutamos:
Dism /Online /Enable-Feature /FeatureName:NetFX3 /Source:D:\Sources\sxs /LimitAccess
Cambiar la dirección por la que cotenga al disco, esperar.
, en este caso dice D, pero la unidad en la pec usada es F

*Nota: DISM es utilizado en escenarios de implementación y mantenimiento de imágenes de Windows, está embebido en Windows en su versión básica y con todas las demás herramientas en el AIK o ADK para Windows.
Los comandos anteriores aplican para otras características, así como Dism se puede usar de muchas otras maneras, pero es más tema de despliegue.
Después de activar el .NET Framework, las aplicaciones ya deberían dejarse instalar correctamente en Windows 8 CP.

Espero les pueda ser de utilidad. 

Mercedes-Benz 7G-TRONIC Plus Transmission

Posted by Juan Francisco | | Category: | 2 comentarios

7G-Tronic (coded 722.9) is Mercedes-Benz's trademark name for its seven-speed automatic transmission. This fifth-generation transmission was introduced in the Autumn of 2003 on 8-cylinder models, and was the first seven-speed automatic transmission ever used on a production passenger vehicle.
The 7G-Tronic debuted on five different eight-cylinder models: the E500, S430, S500, CL500, and SL500. It is also available on some six-cylinder models including the new 320 CDI engines which uses a VTG turbo charged common rail diesel engine.
However, all V12-powered cars such as the S600 and S65 AMG still retain the 5G-Tronic, which has a torque capacity of 796 lb·ft (1,079 N·m), as the newer 7G-Tronic is limited to 542 lb·ft (735 N·m), not enough to handle the torque from the V12 engine.[2] Also, while rear-wheel drive W211 E-Class cars have adapted the 7G-Tronic, these with 4MATIC retain the five-speed automatic, although the next-generation W212 E-Class released for the 2010 model year adopted 7G-Tronic all across the lineup including 4MATIC.
The company claims that the 7G-Tronic can save up to 0.6 litres of fuel per 100 kilometers (depending on the car) and has shorter acceleration times and quicker intermediate sprints than the outgoing 5-speed automatic transmission.[1]
The 7G-Tronic has two reverse gear ratios: 3.416 and 2.231. The winter mode, also recently named 'comfort' mode, starts out in 2nd forward and 2nd reverse.
The transmission can skip gears when downshifting. It also has a lockup torque converter on all seven gears, allowing better transmission of torque for improved acceleration. The transmission's case is made of magnesium, a first for the industry, to save weight.[citation needed]
The 7G-Tronic is the fifth-generation transmission for Mercedes-Benz. About 65 percent of Mercedes-Benz C-Class sedans, wagons, and sport coupes are purchased with automatic transmissions (with that figure rising). However, about 88 percent of Mercedes-Benz E-Class sedans and wagons are purchased with automatic transmissions, and automatic transmissions are standard on the Mercedes-Benz S-Class.
The 7G-Tronic transmission is built at the Mercedes-Benz Stuttgart-Untertuerkheim plant in Germany, the site of Daimler-Benz's original production facility.
The 7G-Tronic is currently available on the SsangYong Chairman W.


Install Jelly Bean Android 4.3 on Windows 8 With VirtualBox

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

What Do You Need?

2) Original Android 4.3 installation ISO file from Google

Steps to Install Jelly Bean Android on Windows 8/8.1 With VirtualBox

1) Make sure you have the latest VirtualBox on your PC.
Jelly Bean on Windows 8 pc
3) Create a new virtual machine, select OS type as Linux as below.
create android 4.3 VM on VirtualBox
Set the RAM size to more than 512MB. I configured 1GB. Create a new hard disk.
4) Go to the settings of virtual machine and edit the storage settings. We need to browse and mount the ISO file which was downloaded from Google site, to IDE controller of CD/DVD drive.
Android 4.3 on Windows 8.1
The CD/DVD drive should appear as shown above after loading the ISO.
5) Power on VM which will boot from attached ISO. Select the installation option as below.
select installation
6) Create a new partition.
create new partition
7) With the default options, press New.
new partition
Make it as ‘Primary’ in next screen and press Enter to allocate full size for the partition.
8.) The partition should be bootable, select ‘Bootable’ in next screen.
select bootabel
Select ‘Write’ to save the settings we did earlier on the partition.
Android 4.3 on PC
To confirm type ‘yes’ and press enter.
Quit from the next screen.
9) Once you have come out of partition creation tool, you can chose the newly created partition to start the installation on VirtualBox.
select disk
10) Select ext3 format and enter.
ext3 format
Press ‘Yes’ to format the partition. Also select ‘Yes’ to install boot loader GRUB. Again ‘Yes’ to install /System directory as read-write in next screen.
Installation process will start.
running installation
11) We have successfully install Android 4.3 on Windows 8 with VirtualBox. Reboot the virtual machine to use.
Note – Remove the ISO file from CD/DVD drive before booting, otherwise it will again boot from ISO and start installation process.
12) Once virtual machine is booted, it is better to disable mouse integration with VM. So, it will be easy to access and use mouse inside Android OS.
Right click on the mouse icon and disable it as shown below.
disable Mouse Integration
13) Network worked directly in bridge mode inside virtual machine. Performance of graphics is not up the the standard. Do not think to play Android games inside this virtual machine, it will not work. But still it is worth to install and play around with it without having a real phone or tablet device.
Here are some of the screenshots taken from Jelly Bean virtual machine in Windows 8.
android1
android2 .
android3

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.