Crear componentes con Proteus (Isis y Ares)

Pero estan considerando que tienen que descompilar primero el modelo (dll) o pedir el codigo fuente a labcenter electronicos, me parece mas practico que te contactes con ellos y que te lo modifiquen a tu gusto, claro previa cotizacion supongo.

mira mejor compra el lcd a tu gusto y armalo real te evitas muchos dolores de cabeza ;)
 
No se trata de armarlo.:D
Digamos que es un capricho, quiero experimentar un poco de esto.:LOL:
Gracias a todos.:aplauso:
 
Durante estos días estaba aprendiendo a usar Proteus, haciendo algunos esquemas y simulaciones sacados de los datasheet, sobre todo de los componentes que tengo en casa ( /f29/reto-ideas-proyecto-aprovechar-material-acumulado-113325/ ).

Leyendo el del CMOS 4522 (Contador regresivo de 4 bits programable), aparece un ejemplo de contador regresivo usando dos 4522 en cascada. Como no me quedaba claro cómo funcionaba, me puse a diseñarlo en el Proteus (foto adjunta).
contador_regresivo_2x4522.png

Y algo no funciona. Bueno, dos.

El primer fallo es que, según la documentación, la carga de los 4 bits en el decrementador se hace de forma asincrónica pero ejecutando la simulación, puede tardar de uno a nueve (¡9!) segundos en hacer que las salidas tengan la misma configuración que las entradas. Internamente, sí que parece que se hace la carga, pero no se visualiza de forma correcta.

El segundo fallo es más grave. Según la documentación, el 4522 funcionando como divisor de frecuencia, se puede programar para que realice las divisiones de 0 a 1/15 en los pulsos de reloj de entrada. Bueno, pues no funciona bien: si ponemos un valor de entrada superior a 10, el contador regresivo no hace una cuenta desde ese valor, sino desde valor-10. Por ejemplo, si pones un 0xF a la entrada (dividir por 15), vemos que la cuenta regresiva va del 4 al 0 (en el 0 genera, de forma correcta, la salida lógica "1" en la patilla '0').

Este segundo problema creo que viene de que en la documentación se habla de que es un "contador regresivo BCD", y claro, no tiene sentido entonces que le pongamos un valor superior a 9.

Pero... haciendo pruebas con un HEF4522BP real, si programo un 0xF a la entrada, sí que realiza un decremento perfecto del 15 al 0, lo que es consistente con lo que dice la documentación (adjunto foto que lo demuestra).
4522_real.jpg

He intentado mirar la descripción de la simulación en Proteus, y está escondida en la librería LIBRARY/CMOS.LIB, en la posición 0x50CB8, en donde se pueden ver las definiciones de patillas y modelado:
Código:
LIBRARY INFORMATION
===================
Library file......: C:\Program Files (x86)\Labcenter Electronics\Proteus 7 Professional\LIBRARY\CMOS.LIB
Library version...: 4.00.
Number of objects.: 266
Maximum objects...: 1200
Number of prefixes: 0
Maximum prefixes..: 0

1 SELECTED OBJECTS
==================
Object name.......: 4522
Last modified.....: sßbado, 12 de febrero de 2011 14:09:29
File offset (hex).: 00050CB8 (Hex).
Checksum (hex)....: 2769 (Hex).
Size (bytes)......: 1,215
Properties........: {*DEVICE}
                    {PREFIX=U}
                    {*PROPDEFS}
                    {PACKAGE="PCB Package",PACKAGE,2,DIL16,SO16}
                    {MODDLL=Model DLL,READONLY STRING}
                    {VOLTAGE="Model Timing Voltage",KWDLIST,3,5V,10V,15V}
                    {ITFMOD=Interface Model,HIDDEN STRING}
                    {PRIMITIVE=Simulator Primitive Type,HIDDEN STRING}
                    {TRISE="TRISE",HIDDEN STRING}
                    {TFALL="TFALL",HIDDEN STRING}
                    {*INDEX}
                    {MFR=}
                    {DESC=Programmable 4-Bit BCD Down Counter}
                    {CAT=CMOS 4000 series}
                    {SUBCAT=Counters}
                    {*COMPONENT}
                    {PACKAGE=DIL16}
                    {MODDLL=CMOS}
                    {VOLTAGE=5V}
                    {ITFMOD=CMOS}
                    {PRIMITIVE=DIGITAL}
                    {TRISE=100n}
                    {TFALL=100n}
De aquí sacamos poca información, salvo el detalle que MODELS/CMOS.DLL es el encargado de ejecutar la simulación.

Buscando por Internet, encontré los archivo 4522.DSN y 4522.MDF. El primero muestra un ejemplo de aplicación del integrado:
4522_DSN.png

Y si pulsamos con el botón secundario sobre el 4522, nos da la opción para ver la hoja secundaria que contiene la lógica de este integrado:
4522_logica.png

Aquí vemos que, en lugar de simular la lógica indicada en la propia hoja de datos del 4522 por medio de puertas lógicas y biestables, lo hace usando componentes prefabricados del propio Proteus, lo cual es lógico, para ahorrar tiempo en el desarrollo de las bibliotecas. En concreto, se usan los componentes prefabricados:

  • AND_2: puerta AND de dos entradas
  • OR_2: puerta OR de dos entradas
  • COUNTER_4: contador de 4 bits
  • COMPARATOR_4: comparador de 4 bits
Se puede obtener información de cada uno de estos modelos, pulsando con el botón derecho sobre ellos, y eligiendo la entrada "Display Model Help". Allí se explica el significado de cada pin y de la lógica de los componentes más complejos (el contador y el comparador). Ahí se indica, por ejemplo, que se puede definir en la propiedad ALOAD si la carga de las líneas de entrada es asíncrona o no. Y es donde empiezo a sospechar que ese puede ser el problema: que en la biblioteca de Proteus, el 4522 no tiene definido en el COUNTER_# que la carga sea asíncrona. Lo que no entiendo es que no hay ninguna indicación de que funcione en modo BCD o binario. Solamente pone que es un contador binario. Entonces, no entiendo porqué luego no funciona bien en los esquemas donde usamos el 4522: si se pone un valor superior a 0x0A, hace una cuenta regresiva errónea (al menos, no igual a un 4522 real).

En el archivo 4522.MDF viene la misma información (nombre de los componentes, lista de las redes y conexión entre pines).

He intentado encontrar la manera de modificar el comportamiento del 4522 que viene de base, pero parece que la única opción es la de crear un componente nuevo. Esto es algo que aún tengo que probar.

Adjunto un dsn donde se ven los problemas comentados.

Si se ejecuta la simulación, se ven las dificultades para que poder asignar las cifras indicadas en los marcadores SW1 y SW2. Deberían aparecer en los display de 7 segmentos al pulsar sobre RUN, pero no lo hacen de forma inmediata (recuerdo: un segundo y nueve segundos). A veces, tengo que dejar que el CLOCK dé unos pocos pulsos, pararlo, y pulsar RUN, para conseguir que aparezcan.

Y en el SW3 se observa el segundo fallo: está puesto el valor 0xF, pero el contador sólo muestra el rango 3..0. Mejor dicho: primero se ve un rango 9=>0, y luego repite el rango 0,3,2,1,0,0 (el primer 0 debería ser un '4', pero no se ve; el segundo lanza la señal de '0' alcanzado). En el 4522 real, hace un 15=>0.
 
Buenas noticias: he conseguido recrear un nuevo 4522 que ya es fiel al modelo físico. Además, he aprendido a hacer nuevos componentes en Proteus, de dos formas distintas, usando componentes prefabricados del propio Proteus.

En este dsn presento 4 esquemas, con las dos aplicaciones principales de este integrado: como contador regresivo y como divisor de frecuencia. Los dos esquemas de la parte superior usan el 4522 incluido con el Proteus, y los dos de la parte inferior, el rediseñado por mi. Basta con empezar la simulación para ver las diferencias de comportamiento.

4522_4522JF.jpg

Ahora ya se pueden diseñar contadores de forma segura. Por ejemplo, uno de 3 dígitos:
4522_contador_regresivo_3_digitos.png

O un divisor de frecuencia de 3 dígitos:
4522_dividor_frecuencia_3_digitos.png

Aquí podéis ver cómo aparece el nuevo 4522 en la biblioteca de componentes:
4522_en_biblioteca.png

Ahora estoy haciendo el más difícil todavía: intentar crear un 4522, pero usando la definición de puertas que aparece en el datasheet.

Podría preparar un manual o dos de cómo crear componentes en Proteus y publicarlos aquí, si os interesa.
 
Última edición por un moderador:
pero por supuesto que nos interesa, yo he tratado de poder crear un componente en Proteus y no he encontrado como poderlo crear. Si subes ese manual te lo agradecería muchísimo.
 
Estos son alguno componentes creados con Solidwoks+Blender
Ver el archivo adjunto 43735

wow amigo que talento yo solo uso google sketchup para crer los componentes electronicos en 3d pero para hacer las patitas de algunos componentes que tengan curvas, etc.
ahi tengo problemas amigo que programa me recomiendas usar
veras quiero pasarme a rhino pero tendre que comprarme una core i5 tercera generacion 8 de ram y 2 de tarjeta de video asi creo que podria trabajar bien y poder tridimensionar todos los componentes y publicarlos
gracias al foro
 
hola a todos, les vengo a molestar con una pregunta rara creo yo, resulta que he dibujado un display LCD en ares pero resulta que al imprimir me doy cuenta que las medidas se encuentran mal y quiero eliminarlo para volverlo a crear, pues sí lo edito cuando imprimo persiste el error, y por ningún lado encuentro información de como eliminar un componente de la librería de ARES; de antemano agradezco a todos la colaboración.
 
Hola ,cuando empleo el encapsulado RES40 la vista 3D se muestra solo el simbolo esquematico ,no la vista 3D,con los demas encapsulados no sucede lo mismo ,funciona todo normal ,seleccionando cualquiera de los RES40 el resultado es solo se ve el simbolo esquematico ,nesitaria algun consejo al respecto,desde ya muchas gracias .Osvaldo ...
 
en ares, boton derecho encima de la res40, vista 3d..
reemplaza lo que aparece por esto..

TYPE=AXIALCYLINDER
MAXHEIGHT=2
LENGTH=0.2in
RADIUS=0.027in,0.027in,0.2mm,0.2mm
X=0.2in
Y=0.0in
COLOUR=(200,200,150)
BAND1=20,25
BAND2=30,35
BAND3=40,45
BAND4=80,85,(128,128,0)
PINDIAMETER=0.6
 
Hace unos años publiqué como crear un componente simulable a partir de la modificacion de un archivo MDF.... Aqui.. https://www.forosdeelectronica.com/f13/crear-componentes-proteus-isis-ares-12308/
hace varios años aprendi a crearlos desde digamos cero...
Una es creando digamos el funcionamiento del dispositivo...
Y la otra es descomponiendo un dispositivo...
Les mostrare la primera forma... Y será también a través de imágenes para que observen lo que se va haciendo en cada paso...
Ejemplo: Creación de una Compuerta XOR de dos entradas
1. Buscar los componentes en proteus.
2. Realizar una forma del circuito interno de una compuerta XOR.
3. Guardar el diseño.
4. Simular el funcionamiento del diseño.
5. Colocarle los terminales que servirán de entrada y salida del componente. En mi caso use los terminales DEFAUTL.
6. Compilar el Modelo y guardarlo con el nombre que mas les guste. En mi caso uso el mismo nombre del componente que estoy creando.
7. Dibujar el componente que quiero crear para luego simular.
8. Nombrar el Pin, el nombre del pin debe ser el mismo nombre que le di a mi pin DEFAULT en el diseño.
9. Ir a- Crear componente.
10. Ficha 1.- Darle un nombre al dispositivo, Prefijo de referencia.
11. Ficha 2.- Tipo de Encapsulado.
12. Ficha 3.- Donde dice NEW. Darle a MODFILE, y el Default value colocar el nombre que ustedes guardaron de su archivo.MDF... Si una vez seleccionado MODFILE no aparece en la lista.. Denle siguiente y luego retroceden.
13. Crean su librería de componentes, y le dan Ok.
14. Verán que su componenten creado se ha añadido a la lista de componentes para usar ahi a la izquierda...
15. Usan su nuevo componente creado y comienzan a simularlo.
16... Si van a modificar el archivo de diseño... para un nuevo archivo.MDF... recuerden sacar el componente creado... Ya que sino tambien compilara el nuevo componente creado...
Bueno espero no haberme alargado con la explicación!....
Suerte Gente!
 

Adjuntos

  • Proteus 1.jpg
    Proteus 1.jpg
    169.3 KB · Visitas: 69
  • Proteus 3.jpg
    Proteus 3.jpg
    121 KB · Visitas: 63
  • Proteus 2.jpg
    Proteus 2.jpg
    147.3 KB · Visitas: 61
  • Proteus 4.jpg
    Proteus 4.jpg
    121.5 KB · Visitas: 51
  • Proteus 5.jpg
    Proteus 5.jpg
    121.2 KB · Visitas: 44
  • Proteus 6.jpg
    Proteus 6.jpg
    121.5 KB · Visitas: 44
  • Proteus 7.jpg
    Proteus 7.jpg
    116.6 KB · Visitas: 43
  • Proteus 8.jpg
    Proteus 8.jpg
    123.9 KB · Visitas: 36
  • Proteus 9.jpg
    Proteus 9.jpg
    140.5 KB · Visitas: 34
  • Proteus 10.jpg
    Proteus 10.jpg
    120.2 KB · Visitas: 33
  • Proteus 11.jpg
    Proteus 11.jpg
    120.8 KB · Visitas: 33
  • Proteus 13.jpg
    Proteus 13.jpg
    118.3 KB · Visitas: 31
  • Proteus 12.jpg
    Proteus 12.jpg
    124.8 KB · Visitas: 30
  • Proteus 20.jpg
    Proteus 20.jpg
    112.5 KB · Visitas: 29
  • Proteus 14.jpg
    Proteus 14.jpg
    121.6 KB · Visitas: 30
  • Proteus 15.jpg
    Proteus 15.jpg
    111.4 KB · Visitas: 32
  • Proteus 16.jpg
    Proteus 16.jpg
    116.7 KB · Visitas: 32
  • Proteus 17.jpg
    Proteus 17.jpg
    122.1 KB · Visitas: 30
  • Proteus 18.jpg
    Proteus 18.jpg
    122.1 KB · Visitas: 28
  • Proteus 19.jpg
    Proteus 19.jpg
    122 KB · Visitas: 30
en ares, boton derecho encima de la res40, vista 3d..
reemplaza lo que aparece por esto..

TYPE=AXIALCYLINDER
MAXHEIGHT=2
LENGTH=0.2in
RADIUS=0.027in,0.027in,0.2mm,0.2mm
X=0.2in
Y=0.0in
COLOUR=(200,200,150)
BAND1=20,25
BAND2=30,35
BAND3=40,45
BAND4=80,85,(128,128,0)
PINDIAMETER=0.6

hola con estos parametros que pones cual de ellos es para que me salga la resistencia parada o mejor dicho en vertical o cual debo adicionar
 
Es un "extruded" del footprint 2D..
aca una imagen de lo que tengo:

Vertical resist 0.25W.JPG

y queda asi:

Vertical resist 0.25W 3D.JPG

No es muy bonito,pero salva.;)

Está todo en la ayuda de Ares :cool:

ayuda ares1.jpg



slds.
 
Última edición:
Tengo un modelo que sí se puede simular e incluye encapsulado con un PCB.
En una de las hojas viene cómo fue creado y también debe incluirse para que funcione.
 

Adjuntos

  • LM2576-ADJ.rar
    22.4 KB · Visitas: 61
Atrás
Arriba