or-bit

Fase 2 - alimentación


 Alimentación 

Batería 18650

El robot or-bit posee un sistema de una batería; la batería 18650, dentro de una cargador genérico portátil, que posee una placa que nos ofrece una salida de 5 voltios las cuales se encargan de alimentar el microcontrolador arduino y el controlador L298n

Especificaciones básicas de la batería 18650

especificación acerca de los ciclos de carga y descarga de  la batería

Consumos de cada elemento en nuestro robot Orbit:

Modulo L298N (Circuito de lógica) = 36 mA

Arduino Uno = 46 mA

Sensor HC-SCR04 = 15 mA

Motores:40mA

Total: 137mA = 0,137A


Cálculo de autonomía:


 

I (batería)=2600mAh 

P=VI

Potencia consumo= V(consumo)*I(consumo)

Potencia consumo=5*0,137A

Potencia consumo=0,685

Demanda corriente= 0,685w/5v

Demanda corriente=0,137A

Tiempo(en horas)=I(batería)/Demanda corriente

Tiempo(en horas)=2,6A/0,137A

Tiempo(en horas)=18,9781


Ventajas:

-ofrece una amplia autonomía para el consumo del robot

-Trae un regulador de voltaje incorporado (5V)

Desventajas 

-la carcasa tiene medidas amplias que dificultan ubicarlas en el robot

- existe riesgo de inflamación  



la batería 18650 Es la encargada de alimentar el H L298n el cual consume 36 mA y alimenta el arduino con 46 mA, seleccionamos esta batería por costo eficiencia y que es funcional para este proyecto aunque posee ciertas desventajas aun asi la podemos emplear para dar la suficiente corriente a cada componente aparte de que tiene una autonomía de aproximadamente 18 horas de funcionamiento continuo, aparte posee una proteccion plastica que aunque aporte más peso y tamaño al robot también nos da un circuito encargado de regular el voltaje de salida del cargador portátil.



Explicación Programa leds:

const int pulsador1=8;

const int pulsador2=9;

const int led1=10;

const int led2=11;


void setup()

{ pinMode(pulsador1, INPUT);

  pinMode(pulsador2, INPUT);

  pinMode(led1, OUTPUT);

  pinMode(led2, OUTPUT);

}


void loop()

{

  digitalWrite(led1,0);

  if(digitalRead(pulsador1)==1){

   digitalWrite(led1,1);

  }else{

   digitalWrite(led1,0);

  }

  if(digitalRead(pulsador2)==1){

    int x=0;

    int y=0;

    if(digitalRead(pulsador2)==1){

      x=1;

      if(digitalRead(pulsador2)&x==1){

        y=1;

        if(digitalRead(pulsador2)&x&y==1){

        digitalWrite(led2,!digitalRead(led2));

        while(digitalRead(pulsador2)==1){

          }

        }

      

      }

    

    }

    

  }

  

}



En este programa se inicia definiendo las variables a usar y asignando el respectivo pin, variables como; pulsador1, pulsador2, led1 y led2. Luego se establecen como INPUTS las variables pulsador1 y pulsador2, ya que estas serán entradas de datos para arduino y como OUTPUTS las variables led1 y led2.  En el ciclo principal, se verifica el estado del pulsador1, y si este es pulsado, se envía un 1 al arduino e inmediatamente al ciclo ser cierto, se enciende el led1, de lo contrario se apaga, justo como se solicita, para esto se usó un if, ya que nos permite dejar bien claro qué hacer en el caso de que sea presionado el pulsador, y en los demás casos que realmente sería el hecho de que no se presione el pulsador, se apaga el led1, pues este solo debe permanecer encendido mientras el pulsador1 está siendo pulsado, después se pasa a una serie de condicionales otro if, exclusivos para el pulsador2, donde cada vez que este sea pulsado, lo que se hace es , verificar primero, si efectivamente el pulsador se mantiene en un estado por un cierto tiempo haciendo uso de varios condicionales if y unas variables (x,y ) que constatan esta constancia a lo larga del tiempo, para evidenciar así un cambio de estado, y reducir el fenómeno llamado “bounce”, cuando efectivamente se verifica esto lo que se hace es invertir el estado del led2, usando para esto el operador para negar: !. Se niega el estado del led 2 en el momento,invirtiendo así el estado de ese led y se obliga al programa a entrar en un ciclo while que actúa como una espera condicionada, mientras el usuario esté pulsando el botón, para así evitar falsas lecturas, se usó esta forma ya que nos pareció que lo más fácil para cumplir con lo solicitado, era invertir precisamente como se encontraba el led, usando un condicional if, pues no hay muchos casos posibles como para usar otras estructuras como un switch, o demás.
Protecciones
En este caso se estará usando el fusible del arduino uno que es de 500mA, como va a ser alimentado vía usb, este fusible estará en funcionamiento, y como el consumo de nuestro proyecto es de alrededor de 137mA nos permitimos usar el usb, pues la corriente máxima que podemos suministrar mediante usb es alrededor de 3.65 veces la que nuestro proyecto consume en funcionamiento.


INTEGRANTES GRUPO OR-BIT

Henry Daniel Arboleda Correa -202123660

Luis Augusto Sánchez Oviedo - 202124023

Jhoan Eduardo Saldarriaga Serna - 202122107



Comentarios

Entradas populares de este blog

Robot laberinto Kastelean

Fase 4 Robot seguidor de linea

FASE 2 ROBOT SEGUIDOR DE LINEA