jueves, 21 de abril de 2016

Patinete Eléctrico

                                 







Mi proyecto consiste en hacer mi propia electrónica de un patinete eléctrico que se controla con un sensor de efecto hall que está en el puño derecho y controla las luces y temperaturas.

     Componentes del patinete :
  • Un  sensor  de efecto hall esta puesto en el puño derecho.
  • Una conmutada para los intermitentes .
  • Un interruptor del faro
  • Intermitentes izquido y derecho delanteros y traseros.
  • El faro delantero y trasero.
  • Motor de 10A Y 240 W.
  • Bateria de 20Ah.
  • 3 sensores de temperatura NTC.
  • Lcd nokia 5110.

Componentes de placa :

  • atmega 328.
  • 4 Mosfet irf 1404.
  • 4 Transistores 2N2222.
  • Crysta de 16Mhz.
  • 2 condensadores 22 pf.
  • 2 condensadores de 100nf.
  • 1 consador de 330nf y 1 de 200 uf.
  • 8 resistencias de 10k y 3 de 1k.
  • resistencias smd 4 de 30 y 1 de 330. 
  • 1 regukador de 7805.
  • regulador conmutado lm2596.
  • led smd.
Gant :

Diseño de placa :

 ARES

Fabricacion de placa :

El proceso que hemos seguido para hacer la placa mediante el proceso photografico y vamos a hacer una placa de doble cara con smd .



Negativos de la placa 


Las placas con serigrafia

Placa  final

 Funcionamiento :
  1. Control del Motor :
Mediante un sensor de efecto hall que esta en el puño derecho del patinete que esta conectado con una placa del pic que lee el sensor y manda el valor por el puerto serie al atmega328 para controlar la salida 3 que esta conectada con un transistor 2n2222 y el transistor que funciona en modo amplificacion y varia la potencia que pasa por los mosfet depende de la tension de las puertas del mosfet .

      2.Iluminación          :
Mediante una conmutada controlamos los intermitentes derecho y izquirdo y delanteros y traseros 
y el faro se controla mediante un interruptor.

     3.Temperatura         :
Mediante tres sensores de temperatura ntc uno para temperatura externa , interna y del motor y la temperatura se sale un  lcd de nokia 5110.


Programación :
  • En el pic :
#include <programa de pic.h>


void main()
{
      int  valor;      
      setup_adc_ports(ALL_ANALOG);
      setup_adc(ADC_CLOCK_INTERNAL);
      setup_counters(RTCC_INTERNAL,RTCC_DIV_1);
      set_adc_channel(0);
      
      output_low(LED);
      delay_ms(DELAY);
      output_high(LED);
      delay_ms(DELAY);
    
while(true){
        
     valor=read_adc();
     putc(valor);
     delay_ms(10);
      
      

}}

  • En el arduino :

//      CLK  - Pin 8

//      DIN - Pin 9

//      DC   - Pin 10

//      RST  - Pin 11

//      CE   - Pin 12

//

#include <stdio.h>

#include <math.h>

#include <LCD5110_Basic.h>


LCD5110 myGLCD(8,9,10,11,12);
extern unsigned char SmallFont[];
extern unsigned char MediumNumbers[];
            //
int estado,estado1,estado2;   
int ledState = LOW,ledState1=LOW;   
long previousMillis = 0;   
long interval = 200; 
           //
float Vin=5.0;     // [V]        Supply voltage in the Voltage-Divider
float Raux=10000;  // [ohm]      Secondary resistor in the Voltage-Divider
float R0=10000;    // [ohm]      NTC nominal value at 25ºC
float T0=298.15;   // [K] (25ºC)
  float Vout=0.0;    // [V]        Voltage given by the Voltage-Divider
  float Rout=0.0;    // [ohm]      Current NTC resistance
float beta=4100;    // [K]        Beta parameter
float Rinf=0.0;    // [ohm]      Rinf parameter
float TempK=0.0;   // [K]        Temperature output in Kelvin
float TempC=0.0;   // [ºC]       Temperature output in Celsius
  float TempK1=0.0;   // [K]        Temperature output in Kelvin
  float TempC1=0.0;   // [ºC]       Temperature output in Celsius
  float TempK2=0.0;   // [K]        Temperature output in Kelvin
  float TempC2=0.0;   // [ºC]       Temperature output in Celsius

void setup()
{
  myGLCD.InitLCD();
  myGLCD.setFont(SmallFont);
  pinMode(5,OUTPUT);
  pinMode(13,OUTPUT);
  pinMode(6,OUTPUT); 
  pinMode(3,OUTPUT);
  pinMode(7, OUTPUT);
  Rinf=R0*exp(-beta/T0);
  Serial.begin(9600);
  
}




void loop()
{
                 //TEMPERATURA Y COMUNICACION
int  valor=0,valor1=0;
    if(Serial.available()>0){
    valor=Serial.read();
    Serial.println(valor);
    valor1=255-valor;
    if(valor1<=100)valor1=0;
    analogWrite(3,valor1);
    }
   digitalWrite(13,HIGH);
   Vout=Vin*((float)(analogRead(A0))/1024.0);
   Rout=(Raux*Vout/(Vin-Vout));
   TempK=(beta/log(Rout/Rinf));
   TempC=TempK-273.15;
   
   Vout=Vin*((float)(analogRead(A1))/1024.0);
   Rout=(Raux*Vout/(Vin-Vout));
   TempK1=(beta/log(Rout/Rinf));
   TempC1=TempK-273.15;
   
   Vout=Vin*((float)(analogRead(A2))/1024.0);
   Rout=(Raux*Vout/(Vin-Vout));
   TempK2=(beta/log(Rout/Rinf));
   TempC2=TempK-273.15;
   
                   //INTERMITENTES Y FARO    
               
estado=digitalRead(A3);//DERECHA
estado1=digitalRead(A5);//LUZ
estado2=digitalRead(A4);//IZQUIRDA 
     //LA LUZ
digitalWrite(5,estado1);
     //IZQUIRDA 
unsigned long currentMillis = millis(); 
if (currentMillis - previousMillis > interval){ 
previousMillis = currentMillis;
if (ledState1 == HIGH && estado2==LOW)
ledState1 = LOW;
else
ledState1 = HIGH;
 digitalWrite(6, !ledState1);
    //DERECHA
if (ledState == HIGH && estado==LOW)
ledState = LOW;
else
ledState = HIGH;
 digitalWrite(7, !ledState);
}

                  // LCD NOKIA
                  
     myGLCD.clrScr();
     myGLCD.setFont(MediumNumbers);
     myGLCD.printNumI(TempC,LEFT, 0);
     myGLCD.printNumI(TempC1,LEFT, 16);
     myGLCD.printNumI(TempC2,LEFT, 32);
     myGLCD.setFont(SmallFont);
     myGLCD.print("INTER  C",RIGHT, 4);
     myGLCD.print("EXTER  C",RIGHT, 20);
     myGLCD.print("MOTOR  C",RIGHT, 36);
     delay(30);
    
}

pruebas  :

placa del pic 


lcd nokia 5110+comunicacion 




pruebas sobre el motor del patinete

presupuesto :

Nombre de componente
cantidad
Precio de una unidad
precio
Mosfet Irf1404
4
0.5
2
Transistor 2N2222
4
0.2
0.8
Cristal 16Mhz
2
0.5
1
Condensador 22pf
4
0.1
0.4
condensadores 100nf
3
0.1
0.3
Condesador 330nf
1
0.2
0.2
Condensador de 200uf
2
0.2
0.4
Resistencias 10k
8
0.1
0.8
Resistencia 1k
3
0.1
0.3
Resistencisas smd 30
4
0.5
2
Resistencia smd 330
1
0.5
0.5
Regulador 7805
1
0.6
0.6
Regulador conmutadolm2596
1
1.50
1.5

Total sin IVA
10.8
Total con IVA
13.06

















No hay comentarios:

Publicar un comentario