Autor Tema: Cómo enfocar tus proyectos  (Leído 159 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Pinolillo16

  • PIC16
  • ***
  • Mensajes: 215
Cómo enfocar tus proyectos
« en: 06 de Diciembre de 2017, 04:13:17 »
Buenas amigos, verán. Se comienza a respirar ya el fin de año y en mi caso el trabajo baja bastante, casi siempre pienso en ocupar mi tiempo aprendiendo más o realizando proyectos personales que traigo atorados. Pero ya me ha sucedido en repetidas ocasiones que llega una idea nueva a mi cabeza e irrumpe con las anteriores, el punto es que no hago nada concreto. Programo más pics de 8 bits en asm de agosto a la fecha me propuse comenzar con dapics en xc16 pero no logro concretar nada, cuando comienzo a leer muchos dicen que mejor brinques a 32 bits con arm y la mayoría coincide que st es el mejor...  :shock:

Dadas las características de mi trabajo me he hecho de varios artículos con los cuales aprender un Freedom una tarjeta de desarrollo psoc un par de st y pics en sus distintas presentaciones de 8,16 y 32 bits. Así como algunas tft, sensores, módulos rf y varias chucherías más. El punto es que quisiera saber de que manera ustedes colegas logran desarrollar sus proyectos y que método les ha funcionado para aprender más sobre los microcontroladores. Sé qué tal vez es absurdo pero no he logrado concentrarme en un proyecto o un tema específico para adquirir más conocimientos. Así que les pido algunos consejos


Saludos

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 6160
Re:Cómo enfocar tus proyectos
« Respuesta #1 en: 06 de Diciembre de 2017, 08:29:13 »
Citar
propuse comenzar con dapics en xc16 pero no logro concretar nada, cuando comienzo a leer muchos dicen que mejor brinques a 32 bits con arm y la mayoría coincide que st es el mejor..

Sobre ARM es porque la diferencia de precios es bastante, observa el precio de un dsPIC y luego mira el precio de un ARM, el fabricante que sea. Por supuesto hay dsPIC muy baratos, pero tambien hay ARM baratos. ST creo que no es el mejor, si lo considero el mas barato gracias a los chinos, y por ser mas barato hay mucha mas informacion, pero conociendo 1 solo micro de ARM ya lo unico que te queda de aprender es simplemente los perifericos de los distintos fabricantes. El nucleo tal ves sea igual (siempre comparando la misma flia) pero lo que vos elegis luego son los perifericos.

Citar
Dadas las características de mi trabajo me he hecho de varios artículos con los cuales aprender un Freedom una tarjeta de desarrollo psoc un par de st y pics en sus distintas presentaciones de 8,16 y 32 bits. Así como algunas tft, sensores, módulos rf y varias chucherías más

El problema esta en eso. Si lo tenes y nunca hiciste nada, es lo mismo que nada.
Tal ves lo que te falte es "dejar de probar esos modulos" para comenzar a realizar un proyecto en serio con alguna de esas cosas. Un proyecto que si o si debe estar finalizado y como siempre la primera ves es un dolor de cabeza, es el unico modo que veo de concretar algo, al menos yo.

Desconectado juaperser1

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2389
Re:Cómo enfocar tus proyectos
« Respuesta #2 en: 06 de Diciembre de 2017, 09:34:07 »
ST, no es el mejor, como te ha dicho killerjc es el mas barato, todos las marcas tienen sus ventajas y sus desventajas.
Para aprender de manera correcta ARM no te recomiendo ST ya que falla en la documentación, es "mala" comparada con sus competidores, Si usas ST para aprender acabaras mirando cosas que ha hecho otro o tutoriales, no es mala forma de aprender ni mucho menos, pero creo que la mejor manera de aprender es con los propios documentos del fabricante. Muchos te enseñan como debes rutarlos, como debes programarlos, los pasos a seguir, las recomendaciones, etc, creo que esa es la mejor forma de aprender, de todas formas ST si es buena forma de empezar si lo que buscas es herramientas baratas y fáciles de adquirir que también es una ventaja muy grande.
Por otra parte los modulos, yo los veo mas no para aprender, si no para probar, aprender vas ha aprender de verdad cuando te pongas a solucionar los problemas, elige un micro y marcate una meta, un proyecto y no empieces nada mas hasta que no termines con ese, aparte intenta no buscar las soluciones de otros si no servirte de los documentos oficiales y de tus propias ideas, si ves que llegas a un punto muerto entonces recurres a otro tipo de ayuda
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2783
Re:Cómo enfocar tus proyectos
« Respuesta #3 en: 07 de Diciembre de 2017, 00:44:06 »

Cada uno lo hará a su manera, yo te cuento como lo he hecho yo toda mi vida, incluso antes de usar microcontroladores, cuando trabajaba como informático de sistemas AS400 de IBM.

Se avanza y aprende infinitamente más con un programa de ejemplo, que con toda la documentación técnica del mundo. Sobre todo la documentación técnica de fabricantes, que son auténticos galimatías incomprensibles, pensadas para extraterrestres. Luego es cuestión de crear y tener programas modelo, para tirar de ellos en proyectos futuros. Así llega el momento, en que para un nuevo proyecto, echas mano de uno que ya hiciste, copias, pegas y modificas, así de simple.

No te lies con documentación técnica de entrada, o no aprenderás nada, y terminarás totalmente frustrado.

Mi recomendación es STM32 con Cubemx, o Teensy para iniciarte con los Kinetis de NXP.  Teensy especialmente porque tienen muchísimas librerías para todo, con progranas ejemplo listos para usar y que puedes usar de partida para tus proyectos. Lo único malo de Teensy es que usan el IDE de Arduino, que es una auténtica basura. Es un tema que tengo pendiente de resolver, crear un programa que migre proyectos completos de Teensy a KDS o McuExpress, entonces ya será perfecto.

Tengo placas Freedom de NXP y por ahí están en un rincón, porque meterte con KDS o McuExpress es como echar a andar por el desierto. Sin embargo con STM32 la cosa es muy distinta comparada con Kinetis, Cubemx ayuda muchísimo, prácticamente te configura automáticamente toda la periferia.

Con KDS para Kinetis teníamos el Processor Expert que venía a ser algo parecido al Cubemx de ST, pero cuando NXP compró FreeScale, se lo cargaron los muy borricos, y te soltaron su McuExpress que por ahora es un engendro infumable.

« Última modificación: 07 de Diciembre de 2017, 04:19:11 por planeta9999 »

Desconectado tsk

  • PIC16
  • ***
  • Mensajes: 168
Re:Cómo enfocar tus proyectos
« Respuesta #4 en: 07 de Diciembre de 2017, 02:28:34 »
Todo depende que tan profundo quieras llegar en el conocimiento y uso de los MCU.

Ver ejemplos ayuda bastante, y estos ejemplos ayudan más si lees el código y la documentación de las librerías y lees las hojas de datos y manuales de referencia.

Si le entiendes al inglés, puedes ver los vídeos del canal de un tal Patrick Hood-Daniel

https://newbiehack.com/categories/newbiehack-ARM-tutorial

https://www.youtube.com/user/anajonesr/videos

Da buenas explicaciones, por ejemplo

Y sólo usa las CMSIS, por lo que podrías ver los vídeos, seguirlos y tener a la mano las manuales de referencia.

Después de aprender la arquitectura del MCU y sus periféricos, el siguiente paso a dar es la de aprender desarrollo de sistemas embebidos, que es un tópico distinto a saber usar y programar el microcontrolador e incluye temas relacionados con Ingeniería de Software, Algoritmos, Estructuras de Datos, entre otros.

Por ejemplo, en las empresas que desarrollan sistemas embebidos hay por lo menos dos equipos de trabajo. Uno se encargan enteramente del Hardware y el otro se encarga del Firmware.

El que se dedica a la parte del Hardware, va a encontrar placentero y didáctico leer todas esas hojas de datos y manuales de referencia. Para el que se dedica sólo al firmware las va a encontrar como una montaña empinada difícil de escalar.

El que se dedica el hardware va a poder programar fácilmente el MCU y sus periféricos, pero le va a resultar casi imposible, o por lo menos una tarea titánica el desarrollar stacks completos de USB, TCP/IP, Diseño de Patrones, optimizar el Firmware, o incluso entender conceptos relacionados con la creación de sistemas robustos y fiables, pruebas unitarias y/o perfilar el sistema embebido para conocer, por ejemplo, los cuellos de botella que provocan que el sistema no se desempeñe como se espera.

En cambio, el que se dedica sólo al Firmware estos conceptos son más fáciles de digerir y aplicar.

Con respecto a lo que comentan de las hojas de datos, que son malas, bueno, eso también depende, ya que no hay una forma, enteramente objetiva que satisfaga todas las formas de leer e interpretar las hojas de datos, y estás están pensadas para que sea leídas e interpretadas por Ingenieros y/o gente especializada con ciertos antecedentes sólidos.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2783
Re:Cómo enfocar tus proyectos
« Respuesta #5 en: 07 de Diciembre de 2017, 07:30:05 »
 
Más recomendaciones.
Hacerte con unos buenos libros para STM32 y Kinetis.

Para STM32, "Mastering STM32" de Carmine Noviello
https://leanpub.com/mastering-stm32

Para Kinetis de NXP, "Freescale ARM Cortex-M Embedded Programming using C Language" de Muhammad Ali Mazidi y otros.
https://www.amazon.com/Freescale-Cortex-M-Embedded-Programming-Mazidi/dp/0997925981

Y para los entornos que no te dan nada, más que un miserable main.c pelao,y a veces ni eso (como es el caso de MCUExpresso de NXP, para los Kinetis), a la hora de buscar fuentes de ejemplo en Google, usa siempre la palabra clave "Github", porque hoy en día casi todos los proyectos de código abierto, están colgados en Github. Ejemplo +"Github" +"Kinetis" +"MCUExpresso"

En relación a las placas FRDM de NXP, y en general a los microcontroladores Kinetis, si te instalas KDS v1.3, tienes el directorio examples, con más de 1.8GB de código fuente de ejemplo. Sin embargo en las versión 3, ya no existe ese directorio, o los ejemplos de haberlos estarán por otro sitio.

En MCUExpresso para Kinetis, cero patatero, ni un miserable fuente de ejemplo que llevarte a la boca. Todo gestionado con SDKs creados online por internet, que además no te generan el fuente base como lo hace Cubemx con los STM32. La desolación absoluta para cualquiera que espere un entorno inteligente que te ahorre tiempo de programación.

Para los amantes de los Kinetis, este buen hombre ha tenido a bien subir ejemplos de código fuente para KDS
https://community.nxp.com/docs/DOC-102540
« Última modificación: 07 de Diciembre de 2017, 08:41:14 por planeta9999 »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 6160
Re:Cómo enfocar tus proyectos
« Respuesta #6 en: 07 de Diciembre de 2017, 08:31:55 »
A mi me parece lo siguiente...

Coincido totalmente con tsk.
En parte no coincido con planeta999.

Los ejemplos son magníficos. Te ayudan inmensamente a acelerar tu proyecto, por mas que no tengas ni idea que hace, pero que luego gracias a tener el código podes leerlo e interpretarlo para saber que hace. Pero esto no quita la importancia de la documentación jamas. El tipo que hizo el ejemplo seguramente se tuvo que basar en la documentación. Leer aunque sea la introducción de un periférico te da una idea general de lo que puede lograrse con el mismo o que hace. Y si luego NO tenes algún ejemplo o tenes algún problema, ya que a veces no hay (aunque raro, ya que podes buscar para cualquier ARM) entonces te vas a valer por vos mismo y vas a buscar la forma o la razón del problema, haciendo lo mejor posible conociendo el micro, y no probando cosas y ver si funciona o no. Tampoco me parece que uno deba depender de software que te configuren los proyectos enteramente, ejemplo que te pongan un freeRTOS o un FATfs, al menos yo aprovecharía para saber instalarlo en un proyecto de 0 también, ya que si queres la ultima versión de estos, lo vas a tener que bajar y saber como ponerlo, que no es complicado, pero el que no sale de su configurador y a 2 clicks seguramente se ahoga en ese vaso de agua.

Respecto a las hojas de datos.. Yo siempre dije que las de ST son malas, PERO usandolas te acostumbras. Siempre lo dije porque vine de Microchip y sus 8bits el cual todo esta en un solo PDF. En ST tenes que tener abierto 2 PDFs, el datasheet y el Reference Manual. Tengo una placa de TI (ARM Cortex-M4) y su micro posee 1 solo PDF con todo explicado en el mismo ( 1000+ hojas ), y bueno luego llegamos al colmo del colmo y tenes a Microchip con sus PIC24/dsPIC/PIC32 con 1 PDF por modulo que son totalmente generales y luego derivarte al datasheet del micro para ver que de todo ese generalismo tiene o no tu micro. Encima demasiadas vueltas en cada modulo y te pueden derivar a otros PDF de módulos.
Tal ves a otro le guste que este separado así.. Se que esta realizado para facilitar la implementacion de la documentación por su parte, pero cuando te diste cuenta tenes como 4 PDFs abiertos.