¿Qué PIC debo usar? [cerrado]

9

¿Cuál es el mejor PIC para comenzar a aprender? Quiero un PIC con 8 pines y con entradas analógicas.

Tengo un 16F628A, pero creo que el 16F684 podría ser mejor. ¿Cuál es la diferencia entre PIC16F648 y 684A?

¿Cuál sería el mejor?

Andrew
fuente
44
Si solo estás aprendiendo , ¿por qué seleccionar una parte tan mínima de 8 pines? Prefiero comenzar con algo que tenga más capacidades / características, luego escalar (a menudo muy fácil si te quedas dentro de la misma familia) cuando tienes una aplicación en particular en mente.
Nick T
1
Para que un PIC general haga algunos proyectos de pasatiempo y comience a aprender, no se moleste con la familia 16. Piense en esos requisitos especiales, como bajo costo para productos de alto volumen, consumo de energía extra bajo y tamaño físico pequeño. Ninguno de estos es importante para su caso. Obtenga el mejor bestst en un paquete de 28 pines, como un 18F2620. Eso tiene muchas más cosas que puede ignorar para empezar, pero luego aprender a usar con el tiempo.
Olin Lathrop

Respuestas:

14

También podría poner mis 2 centavos.

Microchip tiene un selector de piezas aquí: http://www.microchip.com/maps/microcontroller.aspx Puede ingresar todos los elementos necesarios que tenga y le mostrará lo que satisfará sus requisitos.

Si desea un PIC que sea más fácil de aprender, no debe preocuparse por el bajo recuento de pines. En su lugar, debería mirar cosas como qué compilador usará y cuál es el tipo de paquete del chip. Si desea una placa de prueba, debe obtener un PIC en una versión de orificio pasante. También puede obtener una placa de desarrollo con todo el hardware requerido incorporado.

Lo mencioné considerando su compilador porque no todas las series PIC tienen buenos compiladores C gratuitos o baratos. La serie PIC16F tiene una arquitectura muy diferente a la PIC18F. Debido a esto, varios de los compiladores de C no son compatibles con la serie 16F, lo que le permite programar en ensamblaje o gastar algo de dinero. Además, dado que la arquitectura es diferente, es más difícil hacer algo en conjunto sobre ellos.

Entonces, para resumir, recomendaría ir con una serie PIC18F a menos que tenga algunos requisitos estrictos para 8 pines. La clase que ayudo a instruir ha cambiado a usar la serie 18F solo por las razones que mencioné.

Kellenjb
fuente
¡Gracias! Pero ... ¿no hay una imagen de 8 pines que pueda usar con un compilador de c fácil y gratuito? [debe tener entrada analógica] ???? gracias ps .: esta página que enviaste es demasiado complicada para mí [un principiante]
Andrew
El PIC18F1330 viene en un paquete DIP de 18 pines y tiene un UART, 4 canales ADC de 10 bits, 3 comparadores con una referencia programable, 6 canales PWM y dos temporizadores de 16 bits: ww1.microchip.com/downloads/en/DeviceDoc /39758D.pdf
tcrosley
@ Andrew, si quieres 8 pines revisa mi respuesta. Puede descargar SourceBoost que tiene un compilador libre de código de tamaño limitado C (los chips de 8 pines tienen menos memoria que se le permitirá compilar usando BoostC de todos modos.)
Sr. Hedgehog
7

Si buscas 8 pines, le daría una oportunidad al PIC12F683. Tiene el mismo pinout que el PIC12F675 y PIC12F629 pero duplica la memoria y todas las características de los modelos menores.

Los PIC de 8 pines son una excelente manera de comenzar, ya que son lo suficientemente simples como para que pueda usarlos rápidamente sin tener que guardar demasiada información nueva en su cabeza. Solo recuerda que muchos tutoriales esperarán que estés usando PORTAo PORTBque sean entradas o salidas binarias de 8 pines. Como estos chips solo tienen 6 pines de entrada / salida que usará GPIO.

Lea la hoja de datos antes de usarla.

Después de esto, simplemente pasaría a un PIC18F o PIC24F (seleccione uno que coincida con las características y la memoria que desee; podrá juzgar esto mejor después de tocar un PIC12F).

Sr. Hedgehog
fuente
6

Ocho pines y entradas analógicas significan algo así como el PIC12F675. Tiene un ADC de 10 bits con cuatro canales.

Me olvidaría del 16F628A a menos que no puedas encontrar nada más, es obsoleto. El equivalente moderno es el 16F88. Este último tiene hardware de depuración en chip que no se obtiene con muchos de los dispositivos más pequeños (necesitan un encabezado de depuración especial).

La A después de una parte denota que es una versión más nueva y mejorada.

Leon Heller
fuente
+1 por no usar 628A. Muchos libros van por esto y está desactualizado. Muchos libros usan ensamblaje absoluto y eso también está desactualizado (más de 10 años). Estoy usando el ensamblaje (reubicable, por supuesto) en la serie 16F. Estaba usando el 16F88 pero encontré el PIC16F1825 que es más rápido, con menor voltaje, memoria lineal mejorada de rango medio y era mucho más barato arrancar. Empecé a usar eso con preferencia a todo lo demás, siendo más barato ser un buen motivador.
carveone
5

Recomiendo el PIC16F690.

Es un excelente chip de inicio: tiene 256 bytes de EEPROM, memoria de programa de 7K, 256 bytes de RAM, 3 temporizadores (1 x 16 bits), MSSP, UART, 8 canales de 10 bits ADC, comparadores, todo lo que necesita. Microchip solía enviar el chip con sus placas de demostración PICkit 2. Ahora envían el PIC16F887, que también es un chip muy potente (similar al PIC16F690).

Thomas O
fuente
También hay bastantes programas de ejemplo en la red relacionados con el 16f690 (probablemente porque solía enviarse con el pickit2). Eso siempre es bueno para comenzar.
Ponkadoodle
4

Recomiendo PIC16F877A .

Esto tiene 5 puertos para operaciones de E / S. Con esto, puede aprender la programación de PIC paso a paso, comenzando con LED, interruptores, pantallas de 7 segmentos, interrupciones externas, interrupciones de hardware (temporizador 0,1, 2), USART, CCP, EEPROM, etc.

Esta potente (ejecución de instrucción de 200 nanosegundos) pero fácil de programar (solo 35 instrucciones de una sola palabra) El microcontrolador CMOS de 8 bits basado en FLASH empaqueta la potente arquitectura PIC® de Microchip en un paquete de 40 o 44 pines y es compatible hacia arriba con el Dispositivos PIC16C5X, PIC12CXXX y PIC16C7X. El PIC16F877A presenta 256 bytes de memoria de datos EEPROM, auto programación, un ICD, 2 comparadores, 8 canales de convertidor analógico a digital (A / D) de 10 bits, 2 funciones de captura / comparación / PWM, el puerto serie síncrono puede configurarse como interfaz de periféricos en serie de 3 hilos (SPI ™) o el bus de circuito integrado de 2 hilos (I²C ™) y un transmisor receptor asíncrono universal (USART). Todas estas características lo hacen ideal para aplicaciones A / D de nivel más avanzado en aplicaciones automotrices, industriales, de electrodomésticos y de consumo.

Se puede programar a través de un enlace en serie.

Vicky Rao
fuente
1
¿tiene entradas analógicas?
Andrew
2
¿Qué significa "Tiene soporte UART, que es el más económico que hace que grabar código en él sea absolutamente genial"?
XTL
No tiene en cuenta el costo de un convertidor USB a 232 de $ 15, ya que las computadoras con puertos RS232 no se han fabricado durante mucho tiempo.
Nick T
16F877A fue la culminación del núcleo de 14 bits, pero ahora está reemplazado por el 16F887 (núcleo de 14 bits) y los chips de núcleo de 14 bits mejorados (16F1xxx). Pero como se dijo, si el OP no tiene un requisito estricto para un chip de 8 pines (los chips que menciona no son de 8 pines, así que supongo que no), recomendaría seleccionar un chip de 18F.
Wouter van Ooijen
4

Apoyaría firmemente la sugerencia del Sr. Hedgehog de ir con el PIC12f683 y usar la versión gratuita del compilador de SourceBoost. Es un gran chip con muchas características y mucho espacio de programa / ram para una parte tan pequeña. No para tocar mi propia trompeta, pero aquí hay algunas cosas que he hecho con ella .

Si quieres algo más grande, sugiero ir directamente a la serie 24f. Cuestan lo mismo o, a menudo, menos que la serie 18f con mejores características. El compilador es gratuito, son de 16 bits, pueden ejecutarse muy rápido (16mips) y, lo mejor de todo, la mayoría tiene Peripheral Pin Select (PPS) que le permite asignar casi todos los periféricos (SPI, USART, CCP, etc.) a prácticamente cualquier pin GPIO que te guste. Esto hace que el enrutamiento de sus placas de circuito sea mucho más fácil.

Mis favoritos serían el PIC24FJ64GB002 y PIC24FJ64GA102. Ambos están disponibles en el paquete DIP (28 pines) tienen toneladas de memoria de programa y ram (64kb, 8kb) y tienen muchos periféricos. Son prácticamente idénticos, excepto que GB002 ha incorporado hardware USB a costa de un par de GPIO.

En mi humilde opinión como principiante, no vale la pena molestarse con las series 16f o 18f a menos que tenga una necesidad muy específica.

Y finalmente, consiga el programador en serie PicKit 2 o 3 en circuito (ISCP) basado en USB. No son caros en alrededor de 30 USD. Simplemente no vale la pena molestarse con los programadores antiguos / más baratos / imitaciones / construidos en casa, demasiada molestia. Claro, puede usar un gestor de arranque más adelante si lo desea, pero como principiante con un nuevo proyecto, desea asegurarse de que cualquier problema que tenga esté relacionado con su circuito y no con algún problema aleatorio con su programador. Fue lo mejor que hice para hacerme la vida más fácil ...

Matt Casey
fuente
1
+1 Hiciste algunos puntos muy buenos. Bienvenido al sitio! Me encanta el PPS, lo he usado en el dsPIC y casi he llegado a favorecerlo incluso para proyectos simples. Quiero que las personas sepan que si alguna vez quieren comercializar su producto, cada centavo cuenta y en grandes cantidades los PIC de gama baja serán más baratos. Puede ser difícil cambiar las líneas PIC en el futuro, por lo que si comienza a intentar fabricar productos, intente comenzar con un 18f o menos, a menos que necesite algo en la línea superior. Pero 24f y dsPIC todavía son excelentes para aprender.
Kellenjb
Gracias Kellenjb Estoy totalmente de acuerdo con usted sobre las escalas de producción. Para los productos "reales", se tomaría el tiempo para encontrar una foto más barata que cumpla con los requisitos que necesita. Hay algunos de ellos!
Matt Casey
Lo sentimos . Esto estaba destinado a ser 1 comentario. ¡No estaba al tanto del límite de tiempo de edición que explica la mala ortografía! Para uso hobby, creo que la facilidad de uso supera una variación de costo de una o dos dólares. También es bueno comenzar con un chip "grande" para obtener experiencia sin tener que preocuparse demasiado por las capacidades. Una vez que tenga más confianza, puede hacer movimientos en otras direcciones. Para mí esa es la familia 24f. Nada de lo que he intentado realmente ha ampliado sus capacidades. Eso sí, es un poco triste pensar en el 24f sentado allí girando sus pulgares mientras le pido que parpadee algunos LED.
Matt Casey
2

En términos de compiladores de C y software relacionado, Microchip regala su IDE MPLAB estándar de forma gratuita. Con eso, siempre puedes programar en lenguaje ensamblador. Sin embargo, si desea C, también tienen una versión de su compilador Hi_Tech C de forma gratuita. Lo ofrecen para la serie 18F y luego uno diferente para la serie 10/12 / 16F.

Comencé con MPLAB y el compilador CC5X C (bknd.com) y también he usado HI-Tech C.

Duane Benson
fuente