Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Firos

#21
Ni idea del tipo de bombilla...

Mmmm... La próxima vez que compres una bombilla como esa fíjate en qué modelo es. En la factura que te hagan te tiene que venir el modelo, las características de la bombilla más los datos de el vendedor.

Antes de reclamar al vendedor el modelo exacto de la bombilla podrías informarte de si es legal o no que te la venda sin decírtelo. Si no es legal le tiras de la lengua un poco.


Cuando tengas el modelo exacto lo más fácil sería buscar el modelo por Internet para ver si alguien las vende al por menor más baratas o si lo más barato es tu proveedor. A lo mejor de importación...

Añado...

¿Y por qué no buscas el modelo de la máquina de radiofrecuencia en Internet a ver si encuentras el documento de las características de la máquina? Ahí es posible que esté. No tenéis el manual de instrucciones de la misma?


Un saludo!
#22
Cita de: skapunky en  2 Abril 2013, 21:35 PM
Es la idea mas tonta la de abrir un portatil para soldarle los cables de un cargador que he visto.


Totalmente de acuerdo con lo de que es la idea mas tonta. Aunque... qué clavija se rompió? la del ordenador? o la de el cargador? En este caso bueno...


Cita de: skapunky en  2 Abril 2013, 21:35 PMLa solución es comprar otro cargador, o tienes de esos genéricos que aunque personalmente no los recomiendo, si el ordenador no es muy nuevo no pasa nada.

No los recomiendo porque la potencia que dan no es nunca exactamente la requerida, sobre todo los que necesitan bastante potencia. Si es tipo netbook no hay tanto problema.

Una duda: Los portátiles necesitan tener para funcionar el voltaje y la corriente necesaria, sino no funcionan, se apagarían en cuanto el portatil requiriese mas corriente y esto pasaría porque el cargador se protegería y pararía de mandar corriente. ¿No? Porque si el cargador requiere más corriente de la que el cargador puede administrarle, el cargador se acabaría quemando. ¿No?. Entonces... si con los genéricos funcionan sin dar aparentemente problemas, ¿cuál sería el problema real? ¿A que te refieres con que no darían la potencia real? Mientras el cargador sea capaz de suministrar la necesaria o más no habría problema. Es más, normalmente, cuando se diseñan fuentes de alimentación se hacen a base de calcular por encima de lo que realmente va a trabajar. Es decir, si vamos a necesitar que una fuente trabaje a 1W se diseñará preparada para poder dar mínimo 1,5W (si son 2W mejor). ¿Te refieres a que los fabricantes de estos cargadores no lo hacen de esta manera?


Por otro lado... Alex... todos esos cables iban a la clavija antigua? Cómo estaban conectados? Podríamos buscar algún datasheet del conector para ver cual es el positivo y cuál el negativo. En este caso con una ficha podrías apañar una chapuza o podrías buscar la clavija por internet o en alguna tienda de componentes y acoplarlo de alguna manera.


Un saludo.
#23
Estaba revisando el hilo un poco... y se me ha ocurrido otra cosa.

Veo que en tu código para cambiar de bancos tocas los registros RP0 y RP1.


Lo que voy a proponerte ahora es otra cosa para que no tengas que estar escribiendo eso también. Imagínate que cada vez que quieras cambiar de banco no tuvieras que pensar... mmm en cual había que poner un "1" en RP0 o en RP1?...


Pues bien. Puedes hacer lo siguiente:
Banco0 macro
bcf STATUS,RP0
bcf STATUS,RP1
endm

Banco1 macro
bsf STATUS,RP0
bcf STATUS,RP1
endm

Banco2 macro
bcf STATUS,RP0
bsf STATUS,RP1
endm

Banco3 macro
bsf STATUS,RP0
bsf STATUS,RP1
endm

padigital macro ;Para el correcto funcionamiento de esta macro es
movlw 06 ;necesario que antes se esté posicionado en el banco 1.
movwf ADCON1
endm



Con esto, estas creando unas macros y te servirán para no tener que escribir tanto en el código cada vez que quieras cambiar de banco. Será menos tedioso programar en ASM.


Estas macros lo que hacen es sustituir en el código donde pongas "Banco0" por lo que pone ahí. No es como una subrutina o función a la cual llamas y realizas un salto de PC para ejecutarla. Con esto directamente le mandas a el compilador que sustituya "Banco 0" por "bcf STATUS,RP0 / bcf STATUS,RP1".

Esto puedes guardarlo en la misma carpeta donde vayas a compilar tu programa y llámalo "macros.inc" por ejemplo. Luego, para incluirlo en tu programa, en vez de ponerlo abajo, ponlo arriba, encima de la declaración de variables, debajo de la configuración del PIC.

Código (asm) [Seleccionar]
list p=16f876, f=INHX8M, r=hex
include "p16f876.inc"
include "macros.inc"

CONDIR equ 20
CONCAR equ 21


org 0


Pruébalo. Espero que te sirva.


Un saludo.
#24
Es de agradecer que cuando alguien pregunta una cosa y encuentra la solución por si mismo publique cómo lo solucionó para los que tengan el mismo problema.

Un saludo.
#25
Cita de: Fox_Neo en 29 Marzo 2013, 00:20 AM
Gracias Firos por responder siempre me gustan tus respuestas y aprendo bastante. A ver si lo he entendido, te refieres que se compruebe el estado de la entrada cada cierto tiempo ¿no?


No...

Mira esta imagen:


Bien, en la parte de arriba, vemos una señal que va desde 0 a 5 V pero... al ser un interruptor mecánico, el contacto que hacen los dos bornes metálicos para dejar pasar la corriente no es perfecto y rebota un poco, dando ese efecto que aparece en la parte de arriba a la izquierda de la imagen, una señal que hace "ziczac".

Esos rebotes no los percibimos porque transcurren en microsegundos. El problema es que los microprocesadores trabajan mucho más rápido. Por ejemplo, un microprocesador trabajando a 4Mhz realiza una instrucción en cada microsegundo.

Eso que ves a la derecha es una forma de eliminar esos rebotes sin usar ningun programa, haciéndolo mediante Hardware pero eso no nos interesa aquí (aunque no está mal saberlo). Como ves, la señal de la derecha va desde "0" lógico a "1" lógico sin ningún problema.


Ahora bien, ¿como eliminamos esto mediante un programa? Con el código que te he puesto.

Tendríamos que comprobarlo un par de veces en un tiempo mínimo, mayor que el de los rebotes y menor de el que una persona pudiera cerrar y abrir el interruptor.

Por esto mismo puedes hacer un retardo de 20 milisegundos (20000 microsegundos) para que no tenga interferencias e implementarlo en el código.


Lo que se suele hacer cuando programamos para simplificar el código son "subrutinas" o "funciones" que son partes de código que se repiten y que con ponerlas una vez en una parte de el código y llamarlas desde donde las queremos ejecutar nos basta.

Por ejemplo: Si el PIC lo tenemos trabajando a 4Mhz con lo que tenemos 1 instrucción por segundo, podemos usar un par de contadores para tal efecto (sin usar los TIMERS para no mantenerlos ocupados y poder usarlos para hacer retardos de otro tipo como PWM, capturas de señal, retardos de tiempo para encender y apagar LEDS, etc, etc).

Imagina que tenemos 2 contadores. Con uno, podemos contar hasta 256, ¿verdad? Y como tenemos trabajando el microprocesador a 4Mhz sabemos que cada vez que ejecutemos una instrucción para incrementarlo (como INCF) tardaremos 1uS (microsegundo).

¿Y si usamos otro contador? Podríamos contar 256 veces el otro contador. Por lo tanto:
256 * 256 = 65536

Podríamos contar trabajando a 4Mhz con dos contadores hasta 65536 uS (65536 milisegundos). Pues bien, ahora solo nos hace falta despejar la formula.

XXX * 200 = 20000  <- Pongo 200 por poner algo, también podríamos ponerle 256 y solo tendríamos que borrar el contador con "CLRF" para que empiece a contar.

20000 / 200 = 100   <- Pues ya sabemos lo que tenemos que cargar en cada contador.


Esto es una manera rápida y cutre de hacerlo. Lo que tendríamos que hacer es un diagrama de flujo (un esquema) con los pasos que hacemos en el contador y sumarle los pasos que tarda en cada acción en cada bucle porque con estos cálculos que te he puesto para que lo entendamos todos en realidad va a tardar bastante mas de 20000 uS (aunque no lo percibirá el ojo humano y podríamos despreciarlo si la finalidad es únicamente comprobar el interruptor).



Esta es la que uso yo, que tiene un desfase de 1uS (que 1/20000 es un fallo mínimo):

;********************************************************************
; "R20MS"
;tsubrutina R20MS = (4.RET1.RET2 + 4.RET2 + 1) micseg.
;Rutina de temporización 20 milisegundos.
;********************************************************************

R20MS movlw .25 ;Carga RET2.
movwf RET2 ; "

R20MS1: movlw .199 ;Carga RET1.
movwf RET1 ; "

R20MS2: clrwdt ;Inicializa WDT.
decfsz RET1,F ;Decrementa RET1 hasta cero.
goto R20MS2 ;Si RET1 no es cero repite decremento.
decfsz RET2,F ;Si RET1=0 decrementa RET2.
goto R20MS1 ;Si RET2 no es 0 repite el bucle.
return



Y la tengo metida dentro de un fichero al que llamo "retardos.inc". Los contadores están en las posiciones altas 0x63, por ahí, para que si programo no me equivoque y ponga otro registro en el mismo sitio.


Luego, en el programa principal, en la parte de abajo ponemos:
include "retardos.inc"

end


Y con eso nos incluirá al compilar el programa la subrutina en nuestro programa. Ahora, desde cualquier otra parte de el programa podemos llamarla con:
call R20MS


Con lo que si miras el programa del POST anterior lo podrás ver mejor:
Cita de: Firos en 26 Marzo 2013, 21:32 PM
Si ya has conseguido que funcione ahora podrías perfeccionarlo.


Cuando comprobamos si un interruptor está a "1" o a "0" hay que eliminar rebotes.

Es decir, cualquier modo de contacto piezoeléctrico al hacer que conecten sus dos "bornes" hay ahí un "ruido" que en ocasiones puede ser que realmente el interruptor no esté a "1" o que en cuanto le des el contador automáticamente se detenga (en caso de que cuando detecte cero se pare).


Por esto mismo te recomiendo que hagas una cosa. Hazte una subrutina de retardos, como la que tienes de 0,5 segundos en este mismo hilo pero con muchas otras de 20 milisegundos, 50 milisegundos, 100 milisegundos, etc, etc.

Para hacer la comprobación de un pulsador es tan fácil como poner:

bucle        btfss     PORTA,1 ; Comprueba pulsador conectado en RA1.
             goto     bucle

             call       R20MS ; Haz una subrutina y solo tendras que poner esto en el código, sin tener que escribirla tu cada dos por tres.

             btfss     PORTA,1; Comprueba de nuevo, eliminando los rebotes
             goto      bucle

             TU CODIGO -> Y aqui sigues con tu codigo.




En breves te pongo otro enlace con un ejemplo de una subrutina


Espero que haya quedado claro :)

Un saludo.
#26
Si ya has conseguido que funcione ahora podrías perfeccionarlo.


Cuando comprobamos si un interruptor está a "1" o a "0" hay que eliminar rebotes.

Es decir, cualquier modo de contacto piezoeléctrico al hacer que conecten sus dos "bornes" hay ahí un "ruido" que en ocasiones puede ser que realmente el interruptor no esté a "1" o que en cuanto le des el contador automáticamente se detenga (en caso de que cuando detecte cero se pare).


Por esto mismo te recomiendo que hagas una cosa. Hazte una subrutina de retardos, como la que tienes de 0,5 segundos en este mismo hilo pero con muchas otras de 20 milisegundos, 50 milisegundos, 100 milisegundos, etc, etc.

Para hacer la comprobación de un pulsador es tan fácil como poner:

bucle        btfss     PORTA,1 ; Comprueba pulsador conectado en RA1.
             goto     bucle

             call       R20MS ; Haz una subrutina y solo tendras que poner esto en el código, sin tener que escribirla tu cada dos por tres.

             btfss     PORTA,1; Comprueba de nuevo, eliminando los rebotes
             goto      bucle

             TU CODIGO -> Y aqui sigues con tu codigo.




En breves te pongo otro enlace con un ejemplo de una subrutina
#27
Electrónica / Re: Duda toma de corriente.
16 Marzo 2013, 17:13 PM
Cita de: dato000 en 16 Marzo 2013, 17:02 PM
No se mucho de estos temás, pero es absurdo pensar que se llene la bateria en media hora, es simplemente lógica, no es como si la electricidad entrara de una forma y saliera por otra, Ya que además de recibir y recargar, la bateria debe estar bueno, acondicionada para recibir la tensión electrica que esta siendo reducida por el cargador para que no sobrecargue los dispositivos del portatil.

No te preocupes tanto por ese tipo, en un futuro tendras conectado ese equipo permanentemente con cargador, disfruta tus baterias mientras puedas.

Si la batería estuviese preparada para cargarse muy rápido podría ser posible cargarla en muy poco tiempo, con un mínimo, puesto que la reacción química interna requiere un tiempo y un proceso de carga.

Este proceso químico tiene que ser equitativo con la descarga de la batería puesto que tendría que cargar muy rápido y luego tener una capacidad interesante.


El problema real es que el mundo de la electrónica y los dispositivos móviles avanza a pasos gigantes y NUNCA SE HAN PARADO EN INVERTIR EN BATERÍAS, hasta hace unos 5-6 años que empezaron a salir los coches eléctricos.

Los coches eléctricos tenían el mismo problema y no se si hoy en día eso ha cambiado. Los coches eléctricos iban muy bien, aprovechaban la energía en más de un 90% de rendimiento (los coches de gasolina = 25%, diesel=35%) con lo que superan con creces al motor de combustible. Pero el problema seguía siendo el mismo, la autonomía de las baterías y lo que se tarda en cargarlas.

De todas formas, es un campo que se está investigando en la actualidad, el mejorar las baterías de todo tipo, y en un futuro las baterías durarán más.


Un saludo.
#28
Electrónica / Re: Duda toma de corriente.
16 Marzo 2013, 17:00 PM
Hay baterías que cargan muy rápido, pero el precio incrementa enormemente.

Hay baterías para móviles, como el Samsung Galaxy SII que es mi caso, con más capacidad, pero hay que adquirirlas a parte, y valen 5 o 10€ más que las normales.


Por otro lado, el tema de la carga de una batería no solo consiste en enchufarla y punto. Dentro de las baterías al hacer pasar corriente en ellas provoca una reacción química en su interior que es lo que almacena energía y luego se invierte el proceso químico para que la batería suministre corriente al móvil.


Las baterías tienen un máximo de corriente que puede cargarlas porque, en su interior, por donde pasa la corriente, tiene una anchura determinada, y por lo tanto, un paso máximo de corriente sobre ellos.


Échale un vistazo a este POST que colgué hace bastante tiempo en el que hablo sobre las baterías para coches. La estructura de una a otra no es la misma, esta claro, pero no variará mucho la idea:

http://foro.elhacker.net/electronica/proyectotaller_electronica_desde_cero-t289132.0.html;msg1431152#msg1431152


Un saludo.
#29
Cita de: Mr.Blue en 15 Marzo 2013, 02:43 AM
usando html XD

Cita de: OmarHack en 15 Marzo 2013, 03:18 AM
<a href="http://www.noséporquésiguesinirme/">'--</a>
<img src="http://chadt4.files.wordpress.com/2009/06/audio_extension_cable1.jpg" alt="Si esto no es html que baje dios y lo vea"><p>




JAAAAAAAAAAAjajajaja



Te comento. Es tan fácil como indicarle el "WIDTH". Igual que harías en algunas etiquetas en HTML de las imágenes:

[center][img width=300]http://ak1.img.tuenti.net/MeZJJQPJXrzMgvM2AA[/img][/center]


Lo que te daría algo asi:


Si no lo quieres centrado ya sabes, eliminas las etiquetas de "center".



Un saludo.
#30
Nunca he tocado este tema, por lo menos de momento.

Échale un vistazo a Wikipedia: http://es.wikipedia.org/wiki/Video_Graphics_Array