[Aporte] Capacímetro Autorango con PIC16F628A

Bueno. Me tome el atrevimiento de modificar un minimo los archivos para ordenamiento y posible ahorro de ROM.
De la ultima version; ROM 56% @ RAM 6% - 17%
La que modifique;
modo simulacion: ROM 49% @ RAM 5% - 17%
Modo normal: ROM 51% @ RAM 5% - 17%

Ya voy a ver para portarlo a Arduino, para los amantes.

Compilador; PICc V4.104
Simulador; Proteus V8.7 SP3
Version; Basada en la V1.22 de éste post (si no me equivoco)

PD: Probado a medias con el simulador (se me cierra), no tengo armado nada en fisico.

PD2: Los archivos traté de comentar lo mejor que pudes
 

Adjuntos

  • CapMeter PICC V2.00.zip
    38.5 KB · Visitas: 50
Muy buenos días disculpen la pregunta soy nuevo en esto, pero ahí leyendo un poco el código del programa del PIC aunque esta comentado no entiendo muy bien como conocer el valor que tendrá el get_time() que es del módulo temporizador del PIC, porque el RV1 está al 62% que está configurado como un divisor de voltaje y que dicho valor fijo es 3.1 V que ingresa al pin RA1 del PIC en donde se compara con el valor de salida del circuito donde se encuentran los transistores PNP y dicho resultado ingresa al pin RA2, y que internamente el PIC cuenta con un comparador en donde evalúa el voltaje y de acuerdo a eso realiza una acción internamente.

Disculpen mi ignorancia de donde salen los 8us, los 250ms los estableció en base a alguna fórmula??

De antemano le agradezco por su tiempo que tenga un excelente dia.
 
Todo eso se ha explicado anteriormente y viendo el código final se puede comprender mejor.
Las lecturas se toman mientras el timer 1 no desborde y el resto es en base al comparador interno.
Si desborda se cambia de rango y se vuelve a calcular
Disculpen mi ignorancia de donde salen los 8us, los 250ms los estableció en base a alguna fórmula?
Eso también está explicado en el programa.
Es parte de la fórmula principal y está basada en los 200 Ohms de la resistencia de carga R6 para calcular el tiempo de carga del capacitor.
En sí, para poder entender esto mejor tendrías que leer la hoja de datos del PIC16F628A
 
¿al circuito inicial se le podría añadir una protección de sobre-voltaje con la clásica pareja de diodos a vcc y gnd en el nodo Vref?

es para evitar el paso de tener que descargar fuera del medidor, condensadores con voltajes >5v
 
Saludos de antemano.

He iniciado el proyecto del capacímetro auto-rango y tengo algunas dudas y consideraciones:

- El PIC16F628A tiene internamente un cristal oscilador de 4MHz. ¿Es necesaria la conexión externa de otro cristal oscilador?
- Tengo un modulo I2C para pantallas LCD que quiero usar en un display LCD de 16x4 y adaptar ésta al Capacímetro. ¿Es posible? (No se mucho de programación).
- ¿Qué otro tipo de LCD se puede usar? Por ejemplo un WD-C1603P ó NCK 12864 (128x64) con backligth LED.
- Los capacitores 22pF para el oscilador de 4MHz son difíciles de conseguir, por cuales otros se pueden reemplazar?
- Tengo un programador CH341 para memorias EEPROM, SPI, que también trabaja con I2C, GPIO. Quisiera saber si puedo programar el PIC16F628A con el CH341?

Anexo imágenes del Capacímeto en el protoboard.
 

Adjuntos

  • IMG_20230502_120836.jpg
    IMG_20230502_120836.jpg
    232.9 KB · Visitas: 5
  • IMG_20230502_120829.jpg
    IMG_20230502_120829.jpg
    209.8 KB · Visitas: 4
  • IMG_20230502_120548.jpg
    IMG_20230502_120548.jpg
    296.4 KB · Visitas: 5
  • IMG_20230502_115335.jpg
    IMG_20230502_115335.jpg
    287 KB · Visitas: 5
El PIC16F628A tiene internamente un cristal oscilador de 4MHz. ¿Es necesaria la conexión externa de otro cristal oscilador?
Obviamente no.
Tengo un modulo I2C para pantallas LCD que quiero usar en un display LCD de 16x4 y adaptar ésta al Capacímetro. ¿Es posible? (No se mucho de programación).
Sí es posible, siempre y cuando haya memoria suficiente, si no, cambiar a un PIC16F648A
Los capacitores 22pF para el oscilador de 4MHz son difíciles de conseguir, por cuales otros se pueden reemplazar?
Solo son necesarios en la versión a cristal y podrían ser de 18 hasta 47 pF.
Más información, ver hoja de datos del PIC.
Tengo un programador CH341 para memorias EEPROM, SPI, que también trabaja con I2C, GPIO. Quisiera saber si puedo programar el PIC16F628A con el CH341?
No.
 
Atrás
Arriba