ZX Dandanator MTD 1.5s

Proyectos de hardware con sus esquemáticos y si llevan software en fuente

Moderadores: cacharreo, Fundadores

Reglas del Foro
Aquí solo tienen cabida proyectos de hardware que incluyan siempre al menos sus esquemáticos para poder reproducirlos si llevan componentes electrónicos, y si es posible los ficheros del programa en que se hacen, los diseños de las placas, los gerber, etc. Si llevan algún tipo de software asociado debe estar diponible el código fuente

Para los que no cumplen estas condiciones se debe postear en el foro de proyectos generales.
Avatar de Usuario
merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 6370
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 117 times
Been thanked: 324 times
Contactar:

Re: ZX Dandanator MTD 1.5s

Mensaje por merlinkv »

cacharreo escribió: 28 Mar 2024, 22:48
merlinkv escribió: 28 Mar 2024, 22:36Es que lo he importado todo a Kicad 7 y me veo en la necesidad de enrutar de nuevo, crear nuevos Gerbers, etc.
Por si no estoy entendiendo algo bien. El pcbnew de la 7 ¿no importa las placas realizadas con versiones anteriores?

A propósito, que actualmente está disponible la versión 8. ;)
Las importa, pero a veces hay que hacer ajustes ... yo estaba usando la v5 hasta hace poco y hace unos meses instalé la v7 pero casi no la había usado y .... ¿ya está la 8?

Pues se va a esperar :)) ... tengo mogollon de librerías customizadas y es un peñazo ponerlo todo a punto ... :)
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Visita mi Github igual te gusta algo.
Avatar de Usuario
merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 6370
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 117 times
Been thanked: 324 times
Contactar:

Re: ZX Dandanator MTD 1.5s

Mensaje por merlinkv »

Hola @cacharreo y a todos, claro.

Al final me picaste ... :)) :)) :)) y he instalado la v8.0.1 del KiCad ... espero que esta noche no haya salido otra versión nueva ... :))

Bueno, después de importar todas mis librerías customizadas como es debido, he vuelto a enrutar las dos versiones del MTD (1.5 y 1.5s). Ha llevado su curro pero ya está hecho. :D

Los Gerbers y todo lo demás se puede descargar desde: ZX Dandanator MTD

:D
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Visita mi Github igual te gusta algo.
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5765
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1201 times
Been thanked: 2775 times
Contactar:

Re: ZX Dandanator MTD 1.5s

Mensaje por cacharreo »

merlinkv escribió: 29 Mar 2024, 14:34Al final me picaste ... :)) :)) :)) y he instalado la v8.0.1 del KiCad ... espero que esta noche no haya salido otra versión nueva ... :))
Muy bien :)) La 8 tiene su tiempo, la conozco porque es la que instalo en este ordenador (amnésico) cada vez que voy a revisar algunas de las placas que publicáis.

Bueno, después de importar todas mis librerías customizadas como es debido, he vuelto a enrutar las dos versiones del MTD (1.5 y 1.5s). Ha llevado su curro pero ya está hecho. :D
merlinkv escribió: 29 Mar 2024, 14:34Los Gerbers y todo lo demás se puede descargar desde:
Felicidades.
© cacharreo
Avatar de Usuario
merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 6370
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 117 times
Been thanked: 324 times
Contactar:

Re: ZX Dandanator MTD 1.5s

Mensaje por merlinkv »

Por cierto, igual es imaginación mía (tampoco me he puesto a medirlo con exactitud), pero diría que el Joystick va más fluido que con la GAL.
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Visita mi Github igual te gusta algo.
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5765
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1201 times
Been thanked: 2775 times
Contactar:

Re: ZX Dandanator MTD 1.5s

Mensaje por cacharreo »

merlinkv escribió: 29 Mar 2024, 18:27Por cierto, igual es imaginación mía (tampoco me he puesto a medirlo con exactitud), pero diría que el Joystick va más fluido que con la GAL.
En principio no pensaría que fuera una diferencia apreciable pero se podría hacer una prueba muy interesante midiendo con la mayor exactitud posible, por ejemplo, desde el Spectrum, pulsaciones de un supuesto joystick generadas por un microcontrolador muy rápido con un conector DB9. Dejo la idea... :)
© cacharreo
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5765
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1201 times
Been thanked: 2775 times
Contactar:

Re: ZX DD! MTD 1.6

Mensaje por cacharreo »

Supongamos que una o a ambas de estas placas 1.5x quisieramos añadirle un lector de tarjetas adicional con el propósito de que admitieran los dos tipos de tarjeta, SD y TF (es decir, microSD).

El lector TF del que disponemos no admite la detección de la tarjeta (cuando está o cuando no está introducida) pero afortunadamente sí que lo admite el lector SD.

Añadir un segundo lector a una de las placas, podría hacerse con dos diferentes enfoques

1) tal cual y conectando sus pines a los correspondientes del lector preexistente, o
2) de forma que el lector TF quedara deshabilitado cuando hubiera una tarjeta introducida en el lector SD (esto impide problemas si por error se introduce una tarjeta en cada lector).

Veamos cómo se podría implementar esta segunda opción de una forma sencilla.

Partimos de que la detección de la tarjeta tiene un funcionamiento muy simple. Cuando hay una tarjeta dentro, el pin de detección de tarjeta se conecta a tierra.

En ambos lectores de tarjetas habrá que conectar una señal CS (Chip Select) que indica(1) a la tarjeta que está activa cuando esta señal está a un nivel lógico bajo o que está desactivada cuando dicha señal está a un nivel lógico alto.

Independientemente del lector de tarjetas, la señal CS proviene del microcontrolador ATmega328P pero, como no se podría conectar directamente al lector(2), utilizamos la señal SD_CS que es la misma señal una vez transformada por el conversor de niveles.

Como hemos dicho, la idea es deshabilitar el lector de tarjetas TF siempre que haya una tarjeta introducida en el lector SD. Llamando CD (Card Detect) a una variable lógica que tome el valor 0 cuando hay una tarjeta en el lector SD y tome el valor 1 cuando no, necesitamos una función lógica de CD y SD_CS que genere la señal CS para el lector TF. La tabla de verdad para dicha función, f(CD, SD_CS) sería la siguiente:

 CD  SD_CS  f(CD, SD_CS) 
001
011
100
111
es decir, esta función lógica toma el valor 0 si y solo si CD está a nivel lógico alto y SD_CS está a nivel lógico bajo.

Nuestra función podría escribirse como

f(CD, SD_CS) = !(CD * !SD_CS)

que podría implementarse electrónicamente con una puerta NAND y un inversor,


(pulsar el botón Run/Stop y hacer click sobre los valores de entrada, a la izquierda del circuito, para comprobar los valores de salida, a la derecha)

pero como en el esquema del ZX DD MTD 1.5x no utilizamos puertas NAND y sí que nos sobran puertas OR, podríamos reescribir la función utilizando su forma alternativa:

f(CD, SD_CS) = !CD + SD_CS

que se implementaría del siguiente modo,


(pulsar el botón Run/Stop y hacer click sobre los valores de entrada, a la izquierda del circuito, para comprobar los valores de salida, a la derecha)

Utilizando componentes discretos a fin de no añadir más puertas lógicas, quedaría el siguiente circuito.


(pulsar el botón Run/Stop y hacer click sobre los valores de entrada, a la izquierda del circuito, para comprobar los valores de salida, a la derecha)

que es lo que pretendíamos conseguir. Ya solo queda añadir a los respectivos esquemas las tres nuevas resistencias y el transistor NPN universal (p.e. cualquier BC548) que lleva menos de cinco minutos.

(1) suponiendo que CS queda habilitada a nivel bajo (active low)
(2) La señal CS tiene niveles TTL (0-5V) y para el lector de tarjetas necesitamos niveles CMOS (0-3.3V)
© cacharreo
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5765
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1201 times
Been thanked: 2775 times
Contactar:

Re: ZX DD! MTD 1.6

Mensaje por cacharreo »

A continuación, explicado sobre el esquema. El objetivo es el mismo, evitar problemas en caso de que por error se introduzca una tarjeta en cada lector lo que traducimos en deshabilitar el lector TF (microSD) (U9) cuando hay una tarjeta introducida en el lector SD (U6).

Este sería el esquema al completo,

Imagen

A la izquierda en el esquema tenemos el conversor (bidireccional) de niveles, cuya función es traducir señales con lógica TTL (simplificando, 0V=nivel lógico bajo, ~+5V=nivel lógico alto) a señales CMOS (simplificando, 0V=nivel lógico bajo, ~+3.3V=nivel lógico alto) como las que utilizan los lectores de SD.

Imagen

las señales a la izquierda de U10 (TXB0104) son las TTL (+5V) y las que están a la derecha las CMOS (+3.3V).

Del lector SD solo nos importa la señal CARD_DETECT que mecánicamente se puentea con los pines 3 y 6 (VSS) cuando se introduce la tarjeta en el lector. Por tanto, CARD_DETECT queda a 0V cuando hay una tarjeta dentro y queda desconectada cuando no.

Para poder usar CARD_DETECT con mayor facilidad añadimos la resistencia de elevación (pull-up) R13 conectada a +3.3V. De esta forma, cuando la tarjeta esté dentro CARD_DETECT quedaría a 0V pero, adicionalmente, cuando no haya tarjeta quedaría a +3.3V. Así conseguimos obtener un nivel lógico bajo cuando hay tarjeta y uno alto cuando no.

Imagen

Siguiendo el orden del esquema de izquierda a derecha, se añade una puerta lógica NOT (un NO lógico o inversor) basada en un transistor (BJT ó bipolar) NPN universal. La función de esta nueva etapa es simplemente invertir el valor de CARD_DETECT para así, en el punto señalado por la flecha roja, obtener un nivel lógico bajo cuando no hay tarjeta y uno alto cuando sí la hay.

Imagen

Y, por último, utilizamos una de las puertas lógicas OR que nos sobraban en U5 (74HCT32) para hacer la suma lógica de:
1) este valor invertido de CARD_DETECT -entrada en pin 10- y de, por supuesto,
2) SD_CS (recordemos, tarjeta habilitada=nivel lógico bajo y tarjeta deshabilitada=nivel lógico alto) en el pin 9.

Por recordarlo, la suma lógica (OR) realiza la siguiente función,

 A  B  OR(A, B) 
000
011
101
111
Imagen

Así conseguimos que el pin 2 del lector TF (microSD) señalado con la flecha roja en la imagen anterior, esté permanentemente deshabilitado cuando hay una tarjeta en el lector SD o, por el contrario, que esté "directamente" conectado a SD_CS cuando NO haya una tarjeta en el lector SD. Expresándolo en la forma de tabla de verdad y llamando !CD a la señal (derivada de CARD_DETECT) conectada al pin 10 de la puerta lógica OR,

 SD_CS  !CD  OR(SD_CS, !CD) 
0!CD!CD
1!CD1
o lo que es lo mismo,

 SD_CS  !CD  OR(SD_CS, !CD) 
000
011
101
111
que es justo lo que pretendíamos.
© cacharreo
Avatar de Usuario
merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 6370
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 117 times
Been thanked: 324 times
Contactar:

Re: ZX Dandanator MTD 1.5s

Mensaje por merlinkv »

Hola cacharreo:

Experto en picarme ... :)) :)) :))

Ya me he quedado libre ... toda la mañana de chef para que lo devoren en 5 minutos ... :)) ... pero eso es buena señal. Un día agradable a pesar de la noche de alarmas antiaéreas ...

No sé si he pillado bien tu idea ...
► Mostrar Spoiler
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Visita mi Github igual te gusta algo.
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5765
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1201 times
Been thanked: 2775 times
Contactar:

Re: ZX Dandanator MTD 1.5s

Mensaje por cacharreo »

merlinkv escribió: 31 Mar 2024, 20:21Experto en picarme ... :)) :)) :))
:))
merlinkv escribió: 31 Mar 2024, 20:21No sé si he pillado bien tu idea ...
Sería así. Disculpa la edición cutre.
► Mostrar Spoiler
Confírmalo por favor por el esquema por si se me pasa algo.

Lo importa es que la salida de la puerta OR controle el CS de la tarjeta microSD (TF).

Nota: No creo que dé lugar a confusión pero atención a que el colector (pin 1) del transistor solo vaya conectado al pin 10 (entrada) de la puerta OR.

Quedo a la espera de la próxima versión.
© cacharreo
Avatar de Usuario
merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 6370
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 117 times
Been thanked: 324 times
Contactar:

Re: ZX Dandanator MTD 1.5s

Mensaje por merlinkv »

Como siga así, en vez de merlinkv, me voy a cambiar el Nick por "Pierre nodoyuna" ... :)) :)) :))

Hecho ...
► Mostrar Spoiler
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Visita mi Github igual te gusta algo.
Responder

Volver a “Proyectos de hardware abiertos”