Autor Tema: Recomendación PIC  (Leído 3195 veces)

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

Desconectado Ramon90

  • PIC10
  • *
  • Mensajes: 29
Recomendación PIC
« en: 02 de Octubre de 2017, 06:48:18 »
Buenas! Como podéis leer en otros hilos que he abierto, tengo algunos problemillas con el PIC18F2480 porque no es un PIC del que haya mucha información porque al parecer no es de los más típicos que se usan, además tengo que cambiar a uno con mayores capacidades. Os dejo los requisitos que necesito y quisiera que alguien con más experiencia me dijese uno que los cumpla y sea comunmente utilizado para tener mayor facilidad de desarrollo, ya que soy nuevo en esto:

Requisitos mínimos
40 pines
memoria programa 32 KB
RAM 2 KB
Bootload
Watchdog
UART 1
ADC 1

Ya he utilizado el seleccionador de Microchip, pero quiero saber cual es el más común (y barato) que cumpla con dichas características.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Recomendación PIC
« Respuesta #1 en: 02 de Octubre de 2017, 08:45:11 »
La verdad que de los mas "comunes" ninguno tiene esos requisitos de memoria.

Por otra parte tenes los PIC18F46K40 que serian lo mas barato y dobla en FLASH lo que pedis. Y ya creo que todos los que salen, por default poseen ADC/UART, en su mayoria. Si necesitas si o si mas de 40 pines como I/O entonces deberias buscar un integrado con mayor cantidad de pines, como uno de 64: PIC18F65K40

Respecto a la informacion, la tenes toda en el datasheet del micro. No necesitas otra. Sobre poner un bootloader, si es que no te da un ejemplo Microchip el cual luego debas modificar, sino hay bootloaders de sobra por internet.

Vas a tener que empezar a lidiar con que no existen programas especificamente como para tu micro, y vas a tener que ver que modificar para que funcione en el tuyo.

Desconectado Ramon90

  • PIC10
  • *
  • Mensajes: 29
Re:Recomendación PIC
« Respuesta #2 en: 04 de Octubre de 2017, 07:25:46 »
Muchas gracias KILLERJC. Sé que todo viene en los datasheets pero a veces uno se queda atascado y necesita preguntar, y si nadie ha trabajado con ese PIC es complicado que se saquen del atasco. Lo digo porque tengo un par de hilos sin responder XD

Caso a parte, me he dado cuenta de que necesito aún más pines porque no incluí unos leds, futuras ampliaciones... así que para ir olgado deberían ser al menos 53-55 pines. Además debe tener al menos 3 timers. Entendedme, es un proyecto en evolución y los requisitos van cambiando. Así que os vuelvo a preguntar cual podría ser un PIC de uso común con estas características.

Haciendo una criba con la tabla de PICs de microchip, he llegado a la conclusión de que el 18F87J10 es el que más se adapta por características-precio, aunque no se si es un pic "raro".

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
Re:Recomendación PIC
« Respuesta #3 en: 04 de Octubre de 2017, 10:52:03 »
Echa un vistazo al 18f46k20

  Tiene 64k flash, 4 kb Ram, Uart, 4 timers, 3 de ellos de 16 bits, PLL a
64 Mhz. 

  Eso si, ten en cuenta que es un micro de 3,3v. Alimentación y niveles.

  Saludos




Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Recomendación PIC
« Respuesta #4 en: 04 de Octubre de 2017, 10:53:59 »
Citar
Lo digo porque tengo un par de hilos sin responder XD

Es el mayor problema que podes tener, pero tampoco tenes que volverte loco esperando un codigo perfecto para ese PIC, usualmente si no encontras para tu PIC exacto, buscas al menos el mas parecido. Ejemplo los PIC18F su arquitectura son todos similares, si buscas un bootloader por USB, entonces busca cualquier bootloader para un PIC18F que posea USB, Microchip da ejemplos, a lo sumo deberas cambiar la parte del hardware, es cierto que al principio confunde la cantidad de archivos, ya que para hacerlo mas simple se separa todos los archivos.

Para que sea reutilizable el mismo codigo para varios PICs se separan tambien aquellos archivos que manejan al micro y se dejan los demas archivos que controlan unicamente en puro C sin manejo de registros. De esa forma vos modificando unicamente el archivo de hardware ya podes tener tu codigo funcionando.

Lo haces, y probas que compile, si te da error entonces trabajas sobre esos errores. Al menos es la unica forma de trabajo que conozco.

Citar
así que para ir colgado deberían ser al menos 53-55 pines. Además debe tener al menos 3 timers

Por ahi estas sobre simplificando las cosas, el aumentar la cantidad de pines hace que sea mas complejo el routeo, pero mas simple la programacion, por otra parte podrias usar registro de desplazamiento, expansores de puertos, complicar un poco mas la programacion y para salidas con poca velocidad te serviria bastante, ya que con 3 salidas podes manejar muchas salidas. Reduciendo el micro.

Igual los Timers, no se para que los usas, pero con 1 solo timer por ejemplo cada 1ms, podrias usarlo para hacer 1s, 10s, 50ms, etc. Como no conozco que es lo que estas intentando hacer, no te puedo decir si es estrictamente necesario.

Citar
Haciendo una criba con la tabla de PICs de microchip, he llegado a la conclusión de que el 18F87J10 es el que más se adapta por características-precio, aunque no se si es un pic "raro".

Raro, son todos raros, Todos los PIC18F comparten la misma arquitectura (forma de manejarse con la memoria, interrupciones,etc) asi que en si en esa parte son todos iguales, y lo que cambia son la cantidad de modulos, cantidad de memoria, y se intenta mantener el nombre de los registros. Lo que si cambia son los pines donde tenes los modulos, y es por eso que se necesita esa separacion en los archivos de hardware.


------------------------------------------

No todos usan lo que vayas a necesitar pero si tenes una problema, podes presentar un codigo minimo en que ocurra, y los errores que te dan. Incluso un modo de debugear es realizar lo minimo posible y luego tratar de incorporarlo a el trabajo que estes haciendo, para no tratar de desarrollar todo junto de golpe.
¿ Porque un proyecto minimo ? Se pide minimo porque muchas veces ocurre que alguien te entrega TODO el programa, lo cual es demasiada perdida de tiempo, el que sea minimo tambien hace que no tengas que preocuparte de todo lo otro, y concentrarte en el problema.
Otro problema que suele ocurrir es cuando te entregan solo una seccion de codigo y no todo completo. Ya que el problema puede estar en otra parte del codigo.
Creo que son unos lineamientos general.
Pero como consejo, si queres probar algo, hace un proyecto aparte y dedicado a eso nomas.

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re:Recomendación PIC
« Respuesta #5 en: 04 de Octubre de 2017, 11:15:43 »
Que tal Ramon90,

No se a que te refieres con "un PIC raro". No existen los PIC raros y en realidad no es que poco gente use alguno en específico o no. La maravilla de los microcontroladores PIC es que una vez que aprendes su arquitectura puedes trabajar casi con cualquiera de su familia.
Microchip tiene básicamente 3 familias de microcontroladores: 8-bits, 16 bits y 32 bits.
No mencionas cual es la apliación pero por la experiencia que tienes (sin ofender, es casi nula) lo mejor es empezar con 8 bits. Ahora bien, la familia de microcontroladores PIC de 8 bits están divididos es 3 subfamilias: PIC12FXXXX, PIC16FXXXX y PIC18FXXXX. (Quiero mencionar que ahora Microchip es el dueño y fabricante de los microcontroladores AVR, pero no los consideraremos aquí).
Una vez que aprendes a usar un microcontrolador de la familia PIC12FXXX prácticamente puedes trabajar con cualquier PIC de esa sub-familia, y lo mimo sucede con las otras sub-familias. Digo casi, porque cada micro tiene sus diferencias en cuanto a los periféricos que contiene, como ADC, comparadores, DAC, Timers, CLC, etc. Que al final son registros de configuración que hay que manipular para que el microcontrolador haga su tarea.
Si quieres usar un microcontrolador PIC18 sucede lo mismo, pero la pregunta es: ¿Has programado algún microcontrolador PIC? ¿Cuál de ellos? ¿Qué lenguaje de programación vas a usar, ASM, BASIC, C, etc?
Como te has dado cuenta dependiendo de la aplicación que necesites realizar, es lo que ve a determinar el tipo de microcontrolador.
En fin, lo que quiero decir es que debes preguntar cosas específicas en lo que estes trabajando. Tú intentas algo y cuando tienes el problema preguntas, así es como funciona este foro. Espero haberte ayudado a aclarar algunas dudas.

elreypic.

Desconectado Ramon90

  • PIC10
  • *
  • Mensajes: 29
Re:Recomendación PIC
« Respuesta #6 en: 05 de Octubre de 2017, 05:11:56 »
Gracias a todos por su tiempo. Paso a responder:

Remi04, gracias pero como ya indico me hace falta un PIC de 50 pines y el que indicas tiene 40.

KILLERJC:

Conozco la forma de trabajar ya que soy ingeniero electronico, pero agradezco que lo indiques porque a muchos le abrirás los ojos. Cierto es que ha veces uno se deja llevar y hace cosas que no debe, por lo que no esta mal recordarlo. En concreto, en el problema de lectura colgué todo el código porque ya no tenia ni idea del origen del problema que, por cierto, sigo sin tener ni idea, supongo que será por usar el oscilador interno.

Supongo que con expansores de puertos te refieres a multiplexores o algo así. Es una idea que tive en cuenta pero en realidad, habiendo PICs de muchas patillas, sería dedicarle tiempo a algo innecesariamente, incluso podría pasarme a un ARM... es decir, se podría hacer pero se trata de no complicarme la vida. Que el rutado sea más complejo no es problema para mí, ya que seo se hará una sola vez, y el software seguirá evolucionando

Con los timer llevas razon, puede ser que pueda resumirlos, pero como ya digo, el software seguirá evolucionando y no puedo estar rediseñando la placa, necesito un hardware definitivo, al menos para unos años, por tanto sobredimensionado.

elreypic:

Gracias por la aclaración sobre las familias porque no lo tenia claro del todo.

sin ofender, es casi nula
No me ofendo, soy consciente de que estoy empezando y me quedan cosas por aprender.

Sí he programado el PIC18F2480, aunque sigo desarrollando cosas. Pero quiero comenzar a migrarlo a otro con las características que indico porque se me ha quedado pequeño.

Pensaba que indicar las características que debe tener el PIC era una pregunta bastante concreta XD Pero ya entiendo que todos son similares, lo complicado es cambiar de familia, así que me pensaré si tirarme a la piscina con el 18F87J10.

De nuevo gracias a todos.
« Última modificación: 05 de Octubre de 2017, 05:22:17 por Ramon90 »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Recomendación PIC
« Respuesta #7 en: 05 de Octubre de 2017, 08:48:29 »
Citar
Conozco la forma de trabajar ya que soy ingeniero electronico, pero agradezco que lo indiques porque a muchos le abrirás los ojos. Cierto es que ha veces uno se deja llevar y hace cosas que no debe, por lo que no esta mal recordarlo. En concreto, en el problema de lectura colgué todo el código porque ya no tenia ni idea del origen del problema que, por cierto, sigo sin tener ni idea, supongo que será por usar el oscilador interno.

Disculpa, siempre trato a todos por igual, a que nunca nadie sabe que historial/conocimiento tiene detras la otra persona, respecto al codigo de recepcion, ya me voy a pasar a verlo de nuevo. Y tal ves intentar algo mas simple. Para ver si funciona o no. Cuando me haga un tiempito paso.

Desconectado Ramon90

  • PIC10
  • *
  • Mensajes: 29
Re:Recomendación PIC
« Respuesta #8 en: 06 de Octubre de 2017, 06:56:24 »
No te preocupes entiendo que hagas esas aclaraciones  ;-) Muchisimas gracias por tu tiempo. El lunes contaré como fue.