Mostrando entradas con la etiqueta PIC. Mostrar todas las entradas
Mostrando entradas con la etiqueta PIC. Mostrar todas las entradas

miércoles, 4 de mayo de 2016

Proyecto T.A.T.

T.A.T.

TANQUE AUTÓNOMO TELEDIRIGIDO




Este proyecto básicamente es un prototipo temprano que trae consigo una serie de configuraciones y opciones, las cuales le combinan de autonomía y control total, ya sea en modo automático o manual.

En modo automático

Es capaz mediante un sensor de ultrasonidos y un atmega328P de evadir obstáculos que se encuentren en su trayectoria a una distancia no inferior a 30 centímetros, durante la marcha se ayuda de una batería LyPo de 11.1v y 2600mA, mediante la cual alimenta todos los módulos que intervienen en su desplazamiento, la batería se aloja en el interior del tanque, en una zona donde este protegida y otorgue estabilidad.



Con un consumo inferior a 1,5A es capaz de mantenerse en movimiento durante mas de una hora, llegando a cubrir una distancia considerable.
Cuenta ademas con una resistencia LDR la cual activa los múltiples leds frontales, cuando capta una bajada drástica de iluminación, haciendo posible la identificación y ubicación del vehículo mientras se desplaza.



En modo manual

Mediante un juego de conmutadores, se deshabilita el modo automático y se habilita la configuración en modo manual, la cual da control sobre los motores a un PIC-16F877A el cual mediante un modulo bluetooth y receptores de radiofrecuencia, mantiene al tanque a la espera de los distintos comandos necesarios para su desplazamiento y para la activación de los diferentes módulos que lo componen, como un reproductor de sonido, un modulo láser que servirá como guía en su desplazamiento ademas de contar con varios leds frontales y traseros, que ayudaran a identificar su posición con poca visibilidad.

Debido al espacio reducido del vehículo, este integrado se apoya en un demultiplexor ubicado en otra placa, el cual aumenta el numero de opciones y configuraciones.

En definitiva,este prototipo cuenta con estas dos configuraciones, siendo la base para seguir diseñando y fabricando un prototipo posterior que contara con estas y muchas mas mejoras.






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

















lunes, 18 de abril de 2016

Segway Artesanal

Introducción

La elaboración de este proyecto consiste en construir un vehículo eléctrico de desplazamiento personal el cual se basa en las lecturas obtenidas de un acelerómetro y giroscopio para mantener el equilibro y su correcto funcionamiento, en este blog solo se va a contemplar el diseño y elaboración de las placas de control y no la del chasis.


jueves, 14 de abril de 2016

TERRAMATIC

TERRAMATIC


INTRODUCCIÓN

Después de pensar en ideas para mi proyecto final me decidí por automatizar mi terrario en el que tengo un camaleón para poder controlarlo a traves de la placa en la que incorporado un pic y un arduino, la cual se comunica con una aplicación android en mi mobil mediante bluetooth . De esta forma tengo dos formas de controlar mi terrario desde la aplicacion de android, y otra seria automaticamente el propio terrario se controla realizando lecturas de los sensores de temp y hum, actuando sobre las luces y el generador de niebla.


COMPONENTES

  • PLACA ELECTRÓNICA :

- 2 x Pulsadores  0,50€
- 1 x Zócalo de 40 pines y 1 de 28  1,50€
- 2 x Cristales de cuarzo de 16Mhz   0,50€
- 4 x Condesadores de 22pF   1
- 1 x PIC16F877A ,1 Atmel328p   7
- 2 x Filas de pines  hembra.   0,50€
- 7 x Resistencias , 2 de 10k para el reset y otras 2 de 220 ohm para leds. 3 en  SMD. 1
- 2 x Condensador de 100nF   0,50€
- 2 x Condensador de 100uF    1
- 2 x  LED y 2 SMD    1,50€
1 x Micro usb hembra   0,50€


PRESUPUESTO FINAL=  15,5€

  • TERRARIO:

- 1 Sensor DHT11 de temperatura y humedad, 1 LDR. 3€



- 5 metros de listón de abeto 2x2. 8€

- 1 Metro de malla metalica . 2€

-  Plástico transparente flexible. 1,50€

- Spot de neodimio exoterra 100 w y tubo uvb  5.0  20w. 12€-20€

  

lunes, 11 de abril de 2016

Villa Picardui


VILLA PICARDUÍ





Para realizar este proyecto he utilizado un Atmega 328P y un pic 16F877A . El Atmega 328p se comunica con un módulo bluethoot HC-05 . Mediante una aplicación que he desarollado en App inventor puedo encender y apagar las distintas partes de la casa, y abrir y cerrar la puerta principal con un servo con un ángulo de 90º y 0º . El pic controla las diferentes luces del jardín actúan según la ldr, de día se apagan y cuando detectan ausencia de luz se encienden.

jueves, 7 de abril de 2016

CONTROL TEMPERATURA PID --- REGULATOR - TEMP ---


Este proyecto consiste en el control de temperatura mediante un PID (Proporcional, Integral, Derivativa). Este PID controla digitalmente el disparo de un triac , que se dispara mediante un optoacoplador, y así seleccionamos la parte de la onda de alterna correspondiente.

En las especificaciones del proyecto era obligatorio el uso de un pic y un atmel y tener comunicación entre ellos, en mi proyecto he utilizado el pic 16F877A , este se encarga del control de una lcd 4x20 , y leer un potenciómetro con el que seleccionamos la temperatura, la temperatura seleccionada se la enviamos al atmel 328P (arduino uno) mediante comunicación serie y la mostramos por pantalla , el atmel recibe la temperatura seleccionada y lee la temperatura que tiene la sonda , realiza los calculos de tiempo que nos da el PID y por otro puerto serie que hemos habilitado le envía los valores a otro atmel 328P que se encarga de detectar el paso por cero (4N25) y con los datos que recibe hacer el disparo antes o después.

En el puerto serie habilitado le hemos conectado un dispositivo bluetooth      (hc-06) , que recibe los datos de temperatura seleccionados mediante un programa desarrollado con la aplicación app inventor.
                            


martes, 5 de abril de 2016

Sistema de Domótica



En este proyecto vamos a explicar cómo hacer un sistema de domótica sencillo y perfectamente aplicable al hogar, en el cual, vamos a poder establecer control sobre la luz y la temperatura del mismo desde cualquier dispositivo Android

En primer lugar, vamos a empezar por lo más básico, como es la lista de componentes que vamos a necesitar para hacer nuestras placas, en donde colocaremos los microcontroladores que se encargarán, junto con los programas que haremos, de controlar todo el sistema.

domingo, 27 de marzo de 2016

Telégrafo Automático basado en Arduino y Smartphone. Del siglo XIX al XXI.

DESARROLLO DE TELÉGRAFO AUTOMÁTICO



     Esta página explicará el proceso de fabricación de un dispositivo electrónico capaz de transmitir en código Morse mediante movimiento y sonido y descifrar código morse, mostrándolo en caracteres Ascii.

   Este dispositivo se comunicará de forma inalámbrica bidireccional mediante comunicación serial con cualquier dispositivo electrónico externo que disponga de Bluetooth, en éste caso, un smartphone. Para ello se diseñará una placa de circuito impreso capaz de realizar las siguientes funciones:


- Recibir y guardar una cadena de caracteres, descartando los caracteres no transmisibles por código Morse, transmitiendo el mensaje. Controlar la velocidad de la transmisión. 

- Descifrar escritura morse manual que se realice externamente accionando directamente el telégrafo y  transmitirla al dispositivo externo.
- Hacer sonar un altavoz y controlar su volumen.
- Controlar un motor que realice el movimiento del telégrafo.
- Controlar un relé de 230v, para poder transmitir señal morse mediante tensión.


jueves, 10 de marzo de 2016

ROBOT OMNIDIRECCIONAL


·DESCRIPCIÓN:      
  
               Se trata de una base con tres ruedas omnidireccionales, capaz de moverse en cualquier dirección y rotar sobre sí mismo. Un transmisor con dos joysticks controlado con un PIC16F877 enviará por radio los datos de dirección (eje 'x' e 'y') y rotación. Se hace una conversión AD en los potenciómetros de los joysticks para transmitir la potencia a la que se moverá la estructura.



domingo, 2 de marzo de 2014

Sistema de Seguridad



 Sistema de Seguridad con Arduino

En este proyecto voy a crear un Sistema de Seguridad, en el cual con un RFID voy a identificar a la persona que desconecta la alarma y entra a la casa, si el numero de tarjeta o llavero no se encuentra en nuestra memoria el sistema dará un mensaje de alerta.Todo se controlara a través de un Arduino Mega y un PIC 16F877  Arduino Uno.



El sistema estará compuesto por un sensor de movimiento, sensor de apertura de ventana, el RFID, alarma de sonido, un sistema para abrir la puerta y una pantalla LCD con adaptador de salida paralela a I2C para mostrar la información de los estados de la alarma.

martes, 21 de enero de 2014

Proyecto vehiculo robotico


Este proyecto sera un vehiculo robotizado del cual habran dos versiones semi identicas.
Estara equipado con sonsores de temperatura , sensores ultrasonicos de distancia , encoders para obtener datos de distancias recorridas y opcinalmente un modulo GPS.

Estara dirigido por comandos llevados por un transceptor que estara conectado a una placa Arduino Mega o en modo autonomo por un ordenador de placa reducida basado en un microprocesador ARM llamado Raspberry Pi que inclulle una camara de 5 mpx  que sera capaz de reconocer rostros  discriminar colores e hacer que el vehiculo siga objetos de forma totalmente autonoma.

Primeras imagenes del prototipo modeladas en un software de creación de gráficos y animación 3D




lunes, 16 de diciembre de 2013

Documentación PIC 16F877A - Diseño de placa + programa comunicación serie

DOCUMENTACIÓN - 
PIC 16F877A

Listado de componentes:
 



Características de la placa: 
La placa del PIC 16F877A está diseñada sobre una placa simple de cobre, empleando la técnica del ácido para hacer las pistas.

Las dimensiones de la placa son 7,9 cm. de ancho y 7,5 cm. de largo.



Este es nuestro diseño de la PCB:

Para descargar a tamaño original, listo para imprimir, hacer click en este enlace.