Mensajes recientes

Páginas: 1 2 3 4 5 6 7 [8] 9 10
71
Python / Re:Python se ha convertido en el lenguaje de programación que crece más rápido
« Último mensaje por Picuino en 13 de Enero de 2020, 14:49:33 »
Ha sobrepasado con creces al C++, el cuarto de la lista.

 

* IMG_20200113_184239-min.png
(69.79 kB, 1159x676 - visto 41 veces)


Un saludo.
72
Python / Re:Python se ha convertido en el lenguaje de programación que crece más rápido
« Último mensaje por Picuino en 13 de Enero de 2020, 14:40:37 »
Python ya está en el tercer puesto del Tiobe index, y creciendo.

https://www.tiobe.com/tiobe-index/
73
Fabricación de placas PCB / Re:Comparativa fabricantes de PCB
« Último mensaje por planeta9999 en 13 de Enero de 2020, 12:15:47 »
Y en comparación de calidad, en tu caso en base a los fabricantes que has probado, cual es el que mejor resultados tuviste ?


La calidad es la misma, y solo he trabajado con ALLPCB y JLCPCB. El resto de fabricantes que comparé eran mucho más caros.
74
Primero hay que ver en qué modo está configurado el ADC, si es 8 bits, su resolución es de 0 a 255. ( 0 para 0 voltios (vss) y 255 para 5v (vdd) )  Siempre que no uses vref+ y/o vref- específicos..

  Si el adc está en modo 10 bits, variará de 0 para 0 voltios (vss),  a 1023 para 5 voltios (vdd).

  La forma de hacerlo es: 
- Aplicas el voltaje a medir al terminal ADC correspondiente.
- Tomas la lectura y aplicas regla de tres:

(Si es para 8 bits)  int8 resultado = (5 * adc) / 256;   // Sustituye "adc" por tu funcion de lectura del adc, si es CCS sería "read_adc()"
( Si es para 10 bits) int8 resultado = (5 * adc) / 1024;   // como solo quieres interpretar de 0 a 5 entero (sin decimales) te sigue valiendo una variable de tipo entero de 8 bits para almacenar el resultado de esta operación aunque lleve cifras por encima de 255.

Con lo anterior puedes conseguir mas precisión, por ejemplo, en vez de 0 a 5v podrías representar desde 0,0 hasta 5,0 voltios.  (Un decimal), para ello, en vez de poner (5 * adc) / 256; pones (50 * adc) / 256; tanto para 8 como para 10 bits, de esa forma, por ejemplo, para un valor adc = 700 eso sería (50 * 700) / 1024 = 34.   Y eso serían 3,4 voltios. no 34 voltios.

- Envías el resultado a la terminal

  Te va a seguir apareciendo un valor en hexadecimal (Supongo que la terminal se puede configurar para que te lo dé en decimal), pero si lo conviertes a decimal verás que es un valor de 0 a 5 correspondiente al voltaje aplicado al adc.

  Ya luego el pic master será el que sepa que 34 no es 34 sino 3,4.

  Si quieres aun mas precisión ya se complica, hay que trabajar con 16 bits y necesitarás dos transacciones spi y algunas operaciones mas en el master.

  Un saludo.




 
75
Fabricación de placas PCB / Re:Comparativa fabricantes de PCB
« Último mensaje por Simon21 en 13 de Enero de 2020, 09:09:20 »
Tal cual planeta, los impuestos son terribles.

He estado siguiendo algunos articulos que has publicado sobre soldadura y fabricación de placas y la verdad es impresionante lo que has montado en tu taller. Felicitaciones realmente !! Estas en España ?

PCBWAY han probado que tal son ?? Estan a full con publicidades por todas partes.

Saludos !!

Y en comparación de calidad, en tu caso en base a los fabricantes que has probado, cual es el que mejor resultados tuviste ?



Si, estoy en España.

Con PCBWAY no he trabajado nunca, pero ya en su día hice comparativa con muchos fabricantes de PCB, y el más barato con diferencia era ALLPCB, hasta que descubrí a JLCPCB, que es todavía más barato (cuando declaraban un valor bajo para Aduanas).

Entra a la web de cada uno, todos tienen una página de cotizacion online, ahí puedes meter los mismos datos de pedido y comparar precios.
76
Hola, soy nuevo en el foro y en la programación de pics, estoy haciendo una simulación de comunicación spi entre dos pics con el virtual terminal de proteus, el pic slave mide el valor de un voltaje que se cambia mediante un potenciómetro y en la terminal me muestra el resultado en hexadecimal, es decir, la medida es 2.5v y muestra 7F si es 5v muestra FF. Mi pregunta es como hago para que ese valor me lo muestre como el voltaje que quiero?
77
Foro Técnico / Re:Calibrar el rtc por "smooth calibration"
« Último mensaje por Picuino en 12 de Enero de 2020, 13:59:26 »
Se lo consulte al servicio técnico y me dijo que le hiciera el smooth calibration, pero dudo que todos los sistemas que llevan un reloj hagan esto.

Los relojes de pulsera lo hacen habitualmente para ajustar el error del oscilador de cuarzo.

Un oscilador de cuarzo normal puede tener un error de +-20ppm que se traduce a +-50 segundos al mes. Eso es mucho error y con el smooth calibration puedes reducirlo en un factor de 20, a solo 2 o 3 segundos al mes, siempre que la temperatura se mantenga entre 20 y 30 grados.
78
Foro Técnico / Re:Calibrar el rtc por "smooth calibration"
« Último mensaje por Picuino en 12 de Enero de 2020, 10:38:34 »
Para hacerlo de manera manual, también puedes utilizar un frecuencímetro de más de 6 cifras de precisión y medir la señal de 1PPS del micro sin smooth calibration. Luego calculas el error en partes por millón y aplicas la corrección al smooth calibration.

Se supone que el error máximo a 20º debería ser de 2.5 segundos al mes.
79
Foro Técnico / Re:Calibrar el rtc por "smooth calibration"
« Último mensaje por Picuino en 12 de Enero de 2020, 10:30:41 »
8 segundos al día es un error de 93ppm, que es mucho mayor de +-20ppm, la tolerancia de frecuencia de ese oscilador a 20º.
Puede que tengas algún error en el diseño de hardware o una temperatura extrema.

Para corregirlo, en principio solo tienes que aplicar una smooth calibration de -93ppm y ya está.

Pero si quieres hacerlo automático para corregir muchos, no tienes más remedio que hacer lo que puse antes. Tienes que medir de alguna forma el error de frecuencia y lo normal es hacerlo con 6 cifras decimales de precisión, que es la precisión del smooth calibration.

A propósito, el error que comentas de 8 segundos, le faltan los decimales. Si tienes un error de 8.5 segundos y solo corriges el error de 8 segundos, seguirás teniendo un error de 15 segundos al mes, que se podría corregir.

Un saludo.
80
Foro Técnico / Re:Calibrar el rtc por "smooth calibration"
« Último mensaje por juaperser1 en 12 de Enero de 2020, 09:20:49 »
Estuve leyendo y tratando de entender lo que plantea el documento.

La calibración es para cuando tengas un oscilador que NO es demasiado exacto. Tal como el LSE del micro.
Y siempre necesitas una referencia externa y precisa, que seria tu oscilador externo.

El problema es que creo que estas planteando "corregir" lo que te presenta el cristal de 32KHz, y para eso necesitas otro oscilador externo MEJOR que el anterior.
Encima tenes desviaciones de frecuencia por temperatura y voltajes por lo tanto como bien dice al ultimo, este proceso de calibracion debe ser continuo y no solo una ves al inicio.

¿A que lleva a esto?
Que si o si uses un oscilador externo "bueno". No queda otra.

Citar
ademas de tener que esperar 32 segundos a que se calibre cada uno.
Depende, si haces llegar la señal a todos juntos, si 32 segundos te podria llevar caibrar muchos de golpe.

Es un reloj externo de 32,678 KHz, es uno de la tabla de los recomendados por ST, un NX3215SA-32.768K-STD-MUA-14
https://www.mouser.es/datasheet/2/905/c_NX3215SA-STD-MUA-14_e-1317539.pdf

y si es el LSE, que es el externo el interno de 32KHz es el LSI, que además no es bueno usarlo debido a una errata del silicion que hace que no funcione bien cuando lo activas junto al CCS.

Con el frecuencímetro me he equivocado un poco, porque el método anterior pierde hasta un pulso inicial de 32kHz y eso es mucho.

Lo mejor es medir el tiempo desde la señal de 1 PPS hasta el siguiente pulso de 32kHz y medir los pulsos de 32kHz entre 2 señales de 1 PPS. A partir de ahí se calcula el tiempo total y el número de pulsos de 32kHz totales. Con eso se puede calcular la frecuencia y a partir de la frecuencia, el ajuste necesario.

Un poco laborioso, pero en 1 segundo tienes tu calibración hecha internamente con solo recibir una señal de 1PPS en el microcontrolador y entrar en el modo "Calibración".

Un saludo.

Esto me parece un sistema complejo para algo que necesite un reloj muy muy exacto como un semáforo por ejemplo, pero es que lo que yo busco es poner un reloj al sistema para saber la hora que si se desvia un poco cada cierto tiempo pues me da igual, siempre que sea algo razonable.

Pero es que ahora mismo se desvia 8 segundos por día.

Se lo consulte al servicio técnico y me dijo que le hiciera el smooth calibration, pero dudo que todos los sistemas que llevan un reloj hagan esto.

¿Puede que el error este en el hardware? ¿debería cambiar a un reloj de 4 patas para anclar las otras dos a masa?
este es mi rutado:

 

* Sin título.jpg
(175.72 kB, 557x825 - visto 47 veces)


Como veis tengo una isla de GND aislada del resto de gnd (solo unida por un punto) ademas de un "guard ring", ¿deberia usar un reloj de 4 pines o uno through hole? podría esto eliminar mi problema?

un saludo.
Páginas: 1 2 3 4 5 6 7 [8] 9 10