Bienvenido a los foros de FT81x Manía. Te invitamos a regístrate totalmente gratis. Disfruta de tu experiencia con un grandes amigos y Staff.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Thread Contributor: TFTLCDCygPuesta en marcha de una FT813 en una placa STM32F429I-DISCO

#1
3
Better response on post Puesta en marcha de una FT813 en una placa STM32F429I-DISCOIntroducción

Hace un par de años conseguí una F429I-DISCO.

[Image: 6e0fqtgsckg7cdczg.jpg]

Mi intención es conseguir que la pantalla FT813 de Riverdi funcione en ella, aprovechando las actualizaciones del Core genérico que ha trabajado ChrisMicro. El partió del core genérico de danieleff, pero he notado que son muy diferentes en su estructura.

ChirisMicro se ha decantado por placas mas avanzadas como la Discovery-F429; ha conseguido que la librería SPI funcione (por lo menos de forma parcial) para detectar los 6 canales SPI que tiene la placa. Partió de la estructura de configuración de las placas F407. Aunque su trabajo está en proceso, el core es 100% funcional para las placas F103 VE-ZE-ZG, y black F407 VE-ZE-ZG.

Me llamó la atención que la librería GD23STM32 compilara sin errores, al seleccionar la Discovery-F429 y desde entonces he estado tratando de poner a punto la FT813.
Reply
#2
2
Una nota aclaratoria: el core genérico de danieleff, cuenta con todo lo necesario para que la F429 funcione, solo que hay que corregir un par de archivos para que los errores no salten como conejos y sensores como el DTH11 puedan funcionar sin problemas. Aquí pueden ver cómo se implementan los ajustes, para poder usar esta excelente placa.

Acondicionamiento de F429

La pantalla que tiene preinstalada, consume bastantes miliamperes, adicionalmente, no cuenta con un interruptor para desactivarla, por lo que la retroiluminación siempre se encuentra encendida. La FT813 no funciona bien, cuando se conecta al mismo tiempo.

Adicionalmente, el regulador de voltaje de esta placa, no entrega 3.3V, ni 5V, entrega 2.9 y 4.4V. Por lo que se requerirá de una fuente externa con GND común para alimentar la retroiluminación de la FT813. Por el momento estoy usando una fuente para protoboard-usb, que entrega unos 500 mA mínimo. Estoy planeando construir una fuente con un adaptador micro usb y un regulador 5V/3.3V de 800 mA.

[Image: ddkmx1rgrpx5hgizg.jpg]

Me vi precisado a remover el TFT preinstalado, para ganar esos valiosos mA extra; dado que no tengo una estación de soldadura con aire caliente, no me quise arriesgar a dejar en corto alguno de los pines, por lo que opté por cortar el PCB flexible con unas tijeras. Acción muy burda, pero necesaria. 

[Image: tez216h6azbu7flzg.jpg]

Esto puede levantar críticas, ya que hay muchos defensores de estas pantallas, a título personal, las catalogo en un rango entre bajo y medio; la FT813 (está en el tope de mi clasificación personal de pantallas en entornos que usan el IDE de arduino), es superior en todos aspectos (perdón por el shock visual  Sad ).

Componentes y periféricos

Lector SD externo

Para obtener lo mejor de las prestaciones de las pantallas FT8XX, recomiendo instalar un lector SD externo y una EEPROM (si la EEPROM viene con un DS3231 muchísimo mejor). Los mejores lectores SD externos son estos: 

[Image: cy3u9pw181dsehzzg.jpg]

[Image: 8pwor5yuo64748mzg.jpg]

El lector de la izquierda, es excelente y el control de calidad es muy bueno: de 10 lectores que adquirí, los 10 funcionan al 100%. El lector de la derecha tiene un control de calidad deja mucho que desear: de 6, solo 3 funcionaron bien. En general una buena práctica consiste en seleccionar aquel lector SD externo diseñado para 3.3V, no recomiendo los que tienen un regulador 5V a 3.3V, ya que no funcionan.

Memoria EEPROM externa

La EEPROM externa, es necesaria para almacenar los parámetros de calibración de la pantalla táctil (ya sea capacitiva o resistiva). Originalmente la librería para gameduino 2, se diseñó para aprovechar la EEPROM que viene en micros como el MEGA o el UNO, sin embargo en la mayoría de placas STM32, este elemento no está presente. Hay intentos por emularlo, tomando parte de la RAM, pero los métodos usados no son muy confiables.

Es posible usar breakouts-EEPROM como este:
ATMEL 507 24C256

[Image: ed4sau9i5e3n8a5zg.jpg]

RTC DS3231

Tarde o temprano pensaremos en adicionar un reloj a nuestros proyectos. El mejor RTC que podemos usar es el DS3231, el diseño comercial mas económico es el shield ZS-042, que integra una EEPROM de 32K (ATMEL 332 24C32N), con nada menos que 1 millón de ciclos de escritura-lectura (suficiente para nuestras intenciones proyectistas).

[Image: 31kfc0ip4crgze9zg.jpg]

El shield DS3231 sugerido, incorpora un cargador de 3.3V conectado al mecanismo de retención de la batería, por lo que debemos usar una batería recargable LIR2032. Si se usa una batería normal CR2032, se debe eliminar el circuito cargador. En la red hay muchos tutoriales para remover este circuito, para poder usar baterías normales

[Image: yqp1s2zp9lbez2fzg.jpg]

Por favor: No usar RTC DS1307, ya que son muy inexactos, si pensamos en la EEPROM externa, es mucho mejor conseguir directamente un DS3231, ya que dispondremos a futuro de un reloj mucho más preciso y robusto.

Aditamentos para la FT813

La FT813 que pretendo instalar, es una pantalla de 5" fabricada por Riverdi, viene con una interfaz para cable plano de 20 pines, con pitch de 0.5 mm. El fabricante suministra la pantalla con un cable plano de 18 cms. Para conectarla se empleará el breakout-20 de ese fabricante (este elemento se adquiere aparte e incluye otro cable plano).

[Image: kqukv8ku1cdj1vizg.jpg]

Siguiente: El conexionado (wiring para los amigos)
Reply
#3
1
Conexionado de componentes

Hay que señalar que la variante que tenemos en el core genérico de danieleff, es solo una de todas las posibles variantes que podemos construir con el CubeMX. No tenemos forma de saber a simple vista, como quedó configurado el GPIO en la variante, para realizar la selección de pines para conectar el hardware correctamente, debemos tomar en cuenta el chip que viene instalado en nuestras placas.

En este proyecto, la placa es una STM32F4 Discovery, en específico es el modelo STM32F429I-DISCO, que viene con el chip: STM32F429ZIT6U.  Con esta información recomiendo usar el programa STM32CubeMX, con la finalidad de identificar los pines correctos para el bus SPI, bus I2C, así como los posibles pines analógicos y digitales que podrían estar disponibles.

En cada variante, el pinout o GPIO se puede configurar seleccionando dispositivos con pinout automático, o bien, asignando funciones manualmente. En el caso que nos ocupa, el pinout que pude identificar es el siguiente:

Pantalla
   FT813            F429ZI (SPI1)

   MISO                     PA6
   MOSI                     PA7
   CS                       PA4  (NSS)
   SCK                      PA5

Lector SD externo
lector microSD             SPI3

  MISO                     PB4
  MOSI                     PB5
  CS                       PA15  (NSS)
  SCK                      PB3

RTC (con eeprom)

DS3231                     I2C1

 SCL                       PB6
 SDA                       PB9

Analizador de espectro 

MSGEQ7                      GPIO

 Strobe                     PF12
 Reset                      PF13
 A0                         PB0
 A1                         PF7
Conectar el analizador de espectro fué algo complicado, ya que hay que hacer varias pruebas para encontrar el pinout adecuado, no todos los pines se pueden usar, ya que no está claro cuáles son digitales y cuáles son analógicos.

Todos los dispositivos están alimentados con 3.3V/GND.

Siguiente: El shield o placa para conexionado
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)