Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tal como dijimos en un artículo que publicamos hace ya unos 8 años, si tuvo la tentación
de cargar una batería de níquel-cadmio de 12V a partir de otra batería idéntica, habrá
comprobado, sin duda alguna, que dicha misión es imposible de conseguir a pesar de
que las tensiones nominales de los depósitos "sean idénticas" y que una de ellas esté
completamente cargada.
Para conseguir esta tensión, proponemos el armado de una fuente que incluye un
doblador de tensión, basado en el conocido circuito integrado 555. Este circuito genera
una señal oscilante de forma de onda cuadrada que hace que la salida en la pata 3 pase
alternativamente, entre los estados de masa y 12V.
En el circuito de la figura 1, cuando la pata 3 del 555 está a nivel lógico bajo (conectada
a masa), C3 se carga a través de D2 y de D3 hasta que la tensión en sus bornes sea de
una magnitud próxima a 12V. Si la pata 3 está a nivel lógico alto (conectada a la tensión
de alimentación), la tensión en el punto de unión de C3/D3 pasará a un valor dos veces
más grande, puesto que el polo negativo de C3 está ya a 12V y la tensión en los bornes
de este capacitor cargado es también de 12V. Note que el diodo D3 está polarizado en
forma inversa y se bloquea, mientras estará en estado de conducción, en estas
condiciones, C4 debería cargarse con una tensión superior a 12V y llegar en teoría a los
24V. En la práctica, la carga apenas sobrepasa algunos volt la tensión de fuente, que es
más de 12V, lo que resulta suficiente para nuestros propósitos.
A la salida del doblador de tensión nos encontramos con un regulador hecho a partir de
un transistor NPN con un zener como referencia. Podría colocar un BC548 en lugar del
TIP31, dado que la corriente de carga será pequeña, sin embargo, por seguridad,
aconsejamos el empleo del transistor de potencia.
Se debe ajustar la tensión de salida por medio de VR1 para que sea levemente superior
a los 14V, aunque si viera que en carga no hay corriente, deberá aumentar este valor.
Lo ideal sería que con una batería descargada y conectando un amperímetro en serie,
la corriente de carga sea del orden de los 10mA a 20mA.
Cabe aclarar que la corriente que deberá entregar la fuente es superior a este valor (llega
a unos 25mA) a consecuencia de que el integrado consume corriente.
Cabe aclarar que las baterías empleadas en sistemas de seguridad poseen una
capacidad del orden de los 8 ampere/hora lo cual supone que si la cargamos a razón de
10mA/hora tardaría unos 40 días en cargarse totalmente (si estuviera descargada por
completo). Sin embargo, esto no ocurre dado que el acumulador se encuentra en
condiciones de carga las 24 horas del día. Para baterías de capacidad igual a
500mA/hora, el tiempo de carga sería de aproximadamente igual a un día.
Aunque la carga rápida parezca la forma más eficiente para recargar la batería de
tu auto o moto, expertos aseguran que esta modalidad podría restarle durabilidad a
la vida útil de su batería. Contrariamente, un cargador de carga lenta evitará que se
causen daños a la batería por sobrecarga.
Para la construcción exitosa de un cargador de batería de automóvil casero, en primer
lugar se debe construir la placa de circuito, para luego soldar en ella los elementos
respetando su sentido. Los diodos dejaron de usarse.
El funcionamiento adecuado de este dispositivo garantizará una óptima carga a su
batería, pero es necesario seguir los procedimientos estrictamente para evitar dañar
la batería o sobrecalentar esta por proveer mayor corriente de lo necesario.
Un cargador de batería para un coche de 12 V debe suministrar una tensión superior al
de la batería, es por ello que no es posible cargar una batería de 12 V empleando
otra, a menos que se incluya una dobladora de tensión que permitiría aumentar los
12 V a la entrada para admitir una batería a partir de otra.
Para mayores detalles sobre un cargador casero de motos estaremos realizando en
próximas entregas un análisis sobre su elaboración casera.
Lenguaje c
Contenido
1 Ventaja del lenguaje
2 Estructura de Programación en “C”
3 Comentarios , variables y constantes
4 Funciones
6 Repeticiones
7 Sentencia for
8 Fuente
Ejemplo
Encabezados <ficheros.h> en el se almacenan las funciones que trae el lenguaje
propio o las funciones nuestras se les llaman Librerías. Las funciones de C dan
mucha potencia al programador en podemos realizar los programas con mucha
potencia y facilidad de código.
Constantes simbólicas en el se definen las constantes de nuestro programa es lo
único que se escribe en mayúsculas. ej.: #define ENERO 31
Nota: (las constantes son variables que conservan el mismo valor todo el
programa una vez que incluimos una constante en nuestro programa el
compilador va a sustituir el texto contenido en la constante por el texto del
mismo.)
Cabecera de funciones es la llamadas a las funciones que se encuentran el
mismo programa y al final del.
Función principal MAIN() en el se desarrollara todo el código del programa las
llamadas a funciones procedimientos etc. (es una función que sé autoejecuta
cuando se compila el programa).
Comentarios , variables y constantes
4.
Nota: Para incluir en nuestro programa comentarios muy necesario para que
otros programadores entiendan lo que quisimos hacer y nosotros mismos el con
el tiempo. /* Esto es un comentario */
En C++ los comentarios se pueden hacer en una linea con // (//en c++ esto es un
comentario)
Tipo de Variables en C
Definición: Para la definición de variables de debe poner primero el tipo de
variable a definir y luego el nombre de la variable ( si queremos inicializarla
podemos a continuación poniendo = valor) y si queremos definir mas de una
variable del mismo tipo podemos poniendo una coma a continuación. Ejemplo:
int contador; /* define una variable con el nombre contado
r de tipo entero */
int cont = 0 ; /* inicializando cont con 0 */
int cont , cont2, contn = 0; /* definición de mas de una va
riable */
float científica = 10.1
int cont = cont +1;
int cont = cont2;
TRABAJANDO CON ESTRUCTURAS También se pueden definir tipo de
variables con varias variables dentro llamada estructuras de variables (muy
precido a los registros Grande DBASE ....) dentro de un registro nosotros
podemos agrupar un conjunto de variables bajo un mismo nombre por ejemplo
tengo una ficha de cliente donde tiene nombre , dirección ,teléfono ; en la misma
ficha yo podría preguntar por cliente.nombre o cliente.telefono etc.
Tipo de definición
Struct nombre {
Tipo variable1
Tipo variable2
Tipo variablex
};
struct nombre nombre_dela_variable;
Constantes :
Las constantes son variables que se mantienen todo el programa con un mismo
valor. Cada vez que nosotros llamamos a una constante lo que hacemos es
remplazar la constante por su valor. No se debe poner ; después de la definición.
Ej.:
#define MAXLINEAS 24
#define MINOMBRE “Federico”
#define ARCHIVO “C:\autoexec.bat”
y cuando en mi programa yo haga por ejemplo printf(“Autor : %s”,MINOMBRE);
se sustituirá el contenido de la constante por el contenido de la misma
printf(“Autor : %s”,”Federico”); se pueden definir constantes de tipo macro que se
tocara en el próximo capitulo.
Un ejemplo que para los amantes de turbo pascal les puede gustar
// Ejemplo realizado para clase de definicion de varialbes.
#include <stdio.h> // inclusión de librerías.
#include <stdlib.h>
#include <conio.h>
// definición de constantes.
#define BEGIN {
#define END }
#define WRITELN( texto ) printf("%s\n",texto)
#define READLN(variable) gets(variable)
#define PAUSA getch()
void main()
BEGIN
char var[255];
clrscr();
WRITELN("hola");
READLN( var );
WRITELN( var);
PAUSA;
END
Funciones
5.
Una función es una parte del código independiente del programa que se llama
dentro de él, como dijimos anteriormente C no tiene procedimientos solamente
funciones los procedimientos los simula con funciones que no devuelven nada
(Void) la estructura de la funciones en C y es los elementos mas fuertes del
lenguaje. El desarrollo de una función es:
Tipo_de_valor_retorno nombreFunción( lista de argumentos ){
declaracion de variables locales a la función
codigo ejecutable
return ( exprecion ) // optativo
}
las variables de nuestras funciones son locales es decir que solamente viven
cuando se esta ejecutando la llamada a la función; el código ejecutable son las
sentencias que el programa utiliza para funcionar y el valor de retorno es el
resultado que va a devolver la misma función ( si se dice que una función retorna
un entero en el return se debe poner un entero como valor de devolución Ej: esta
función de ejemplo cuenta cuantos caracteres existen dentro de una variable que
se le pase como parámetro.
if ( condición_logica )
{ ....
acción 1
....
}
else
{ .....
acción 2
.....
}
Sentencia SWITCH La sentencia switch puede comparar una variable con mas
de un posible resultado Si ustedes tubieron el gusto de programar en clipper la
sentencia es muy parecida a Case.
Switch (variable)
{
case comparacion1 : .....
accion...
break
.....
case comparacion n : .....
accion...
break
default : ..... /* en caso de que no se cumpla ninguna...*/
accion...
break
}
Repeticiones
7.
While (condición)
{
....
sentencias
....
}
Sentencia for
8.
Punteros :
C permite el manejo de punteros a memoria de una forma fácil y ágil por medio
de punteros podremos desarrollar funciones que no devuelvan un solo valor sino
que devuelvan mas valores a su misma vez. solamente tenemos que tener en
cuenta un par de cosas y podemos acceder a posiciones de memoria de las
variables apuntado hacia ella, & dirección hacia donde apunta el objeto o variable
Manejo de archivos en C
Para el manejo de archivos en C tenemos que tomar en cuenta varias partes
primero la parte de apertura , el modo de trabajo y luego cerrar el archivo
(necesario para no perder datos o que el archivo quede en memoria corrupto).
Al abrir una archivo tenemos que tener en cuenta el modo de apertura del mismo
si es de lectura, escritura, creación, binario etc.
Primero tenemos que definir la variable que va a contener en el la información de
el comportamiento del archivo ( si existe, si se produjo un error al grabar al
recuperar etc.) Las variables de tipo archivo se definen como punteros ej.
FILE *archivo
Fuente
9.
Se trata de uno de los microcontroladores más populares del mercado actual, ideal para
principiantes, debido a su arquitectura de 8 bits, 18 pines, y un conjunto de
instruccionesamigable para memorizar y fácil de entender, internamente consta de:
MOVLW 20h
MOVWF FSR
CLRF INDF
INCF FSR, 1
CLRF INDF
LENGUAJE ENSAMBLADOR
A pesar de todos los lados buenos, el lenguaje ensamblador tiene algunas desventajas:
Lenguaje C
Teclado matricial
Un modo simple de detectar la tecla presionada es incrementar una variable con la cuenta de
las teclas revisadas, de este modo al detectaruna pulsación el valor de la cuenta será el valor
de la tecla presionada. Si al final no se presionó ninguna tecla la variable se pone a cero y la
cuenta vuelve a comenzar. El puerto B del microcontrolador 16f628 (así como en el
16f877) viene preparado especialmente para el control de un teclado matricial 4×4. Para
tener siempre un valor de 1 lógico en las colúmnas del teclado (parte alta del puerto B del
pic) es necesario conectar resistencias de pull-up, sin embargo el puerto B cuenta con
resistencias de pull-up integradas, de ese modo es posible trabajar con un teclado matricial
sin necesidad de ningún componente externo.
Concepto de pantalla LCD: 16*2
¿Qué es un LCD?
Pines de alimentación:
Vss: Gnd
Vdd: +5 voltios
Vee: corresponde al pin de contraste, lo regularemos con un potenciómetro de 10K
conectado a Vdd.
Pines de control:
¿DDRAM y CGROM?
La memoria CGROM es una memoria interna donde se almacena una tabla con
los caracteres que podemos visualizar en el lcd. En la imagen podemos ver un
ejemplo de la tabla con un contenido de 192 caracteres.
Aquí se puede ver un ejemplo de una sencilla programación en una Pic control, y
muestra de datos en el LCD, son datos inespecíficos que no muestran ninguna
información.
Rectificador de media onda
Es construido con un diodo ya que este puede mantener el flujo de corriente en una sola
dirección, se puede utilizar para cambiar una señal de CA a una de CC. En la figura I. se
muestra un circuito rectificador de media onda. Cuando la tensión de entrada es positiva,
el diodo se polariza en directo y se puede sustituir por un corto circuito. Si la tensión de
entrada es negativa el diodo se polariza en inverso y se puede remplazar por un circuito
abierto. Por tanto cuando el diodo se polariza en directo, la tensión de salida a través de
la carga se puede hallar por medio de la relación de un divisor de tensión. Sabemos
además que el diodo requiere 0.7 voltios para polarizarse, así que la tensión de salida
está reducida en esta cantidad (este voltaje depende del material de la juntura del diodo).
Cuando la polarización es inversa, la corriente es cero, de manera que la tensión de
salida también es cero. Este rectificador no es muy eficiente debido a que durante la
mitad de cada ciclo la entrada se bloquea completamente desde la salida, perdiendo así
la mitad de la tensión de alimentación. El voltaje de salida en este tipo de rectificador es
aproximadamente 0.45 veces el voltaje eficaz de la señal de entrada