Documentos de Académico
Documentos de Profesional
Documentos de Cultura
automatizado de
agua
PROYECTO FINAL
OBJETIVO:
Disear un sistema de control para el
llenado automtico de contenedores
utilizando la tarjeta de desarrollo
stm32L100-Discovery.
Justificacin:
El dispositivo diseado puede
funcionar en la industria
implementndolo a mayor escala lo
cual reducira tiempos de produccin y
mano de obra.
DESCRIPCIN
El dispositivo consiste en una
banda mecnica que transporta los
contenedores para que
posteriormente una electrovlvula
suministre la sustancia (liquida) con
la cual se desea llenar.
DISEO DE HARDWARE:
PROPIEDADES:
Capacidad de peso
5 Kg
mxima
Sobre carga de peso
6 Kg
mxima
Capacidad de peso mnima
5g
Impedancia de salida
10 1 K
Voltaje de salida
10 mV 1.5 V
Voltaje de alimentacin
5V
Tiempo de respuesta
1 ms
ACONDICIONAMIENTO
DIAGRAMA 3D
DEL SISTEMA:
MONTAJE
DISEO DE SOFTWARE:
DIAGRAMA DE ESTADOS:
CONDICION
RESULTADO DEL
ACCION
SIN RECIPIENTE
ADC
1998
ACTIVAR LA BANDA
RECIPIENTE
2293
DETENER LA BANDA
VACIO
RECIPIENTE
LLENO
ACTIVAR LA BOMBA
2997
DESACTIVAR LA BOMBA
ACTIVAR DISPOSITIVO DE
SALIDA
Valor ADC
Voltaje (V)
Peso (g)
1998
1.22
0g
2293
1.40
201 g
2997
1.83
428 g
a este proyecto el primer valor del ADC es con la base de la bascula ya que tam
ne un peso de 110 g, solo que para nuestro ejercicio ese valor es nuestra referen
0 g.
Donde :
V = voltaje entregado por el sensor
RESULTADOS:
El proyecto se cubri satisfactoriamente
ya que el sistema reacciona
oportunamente a los cambios
detectados por la celda de carga
(sensor), esto fue posible gracias al uso
de retardos (delays) dentro del
programa en lenguaje C creado con el
software microC PRO for ARM.
COSTOS
t LEDAZUL at GPIOB_ODRbits.B8;
t LEDV at GPIOB_ODRbits.B9;
t adel at GPIOB_ODRbits.B10;
t atr at GPIOB_ODRbits.B11;
d configports(void);
d config_adc();
d proceso();
signed int adc_value2;
r txt2[] = "hola ";
r bim[] = " ";
void main()
void configports(void)
{
{
GPIO_DIGITAL_OUTPUT(&GPIOB_BASE,_GPIO_PINMASK_
configports();
|_GPIO_PINMASK_9|_GPIO_PINMASK_10|_GPIO_PINMASK
config_adc();
GPIO_Analog_Input(&GPIOC_BASE,_GPIO_PINMASK_4);
while (1)
LEDAZUL=0;
{
LEDV=0;
adc_value2=ADC1_Get_Sample(14);
adel=0;
LEDAZUL=1;
atr=0;
if(LEDAZUL==1)
}
void config_adc(void)
{
IntTostr(adc_value2, txt2); {
ADC_Set_input_Channel(_ADC_CHANNEL_14);
Delay_ms(50);
ADC1_Init();
}
}
if(adc_value2>=2500)
void proceso(void)
LEDAZUL=1;
{
else
atr=1;
{
Delay_ms(1000);
Delay_ms(100);
atr=0;
adel=1 ;
LEDAZUL=0;
Delay_ms(1000);
do
adel=0;
{
atr=0;
LEDV=1;
}
adc_value2=ADC1_Get_Sample(14);
Delay_ms(150);
} while(adc_value2<=2500 &&
adc_value2>2315);
LEDV=0;
Delay_ms(1000);
proceso();
LEDAZUL=1;
Delay_ms(100);
}
}
}