Control velocidad (fuzzy)

Solo disponible en BuenasTareas
  • Páginas : 11 (2629 palabras )
  • Descarga(s) : 0
  • Publicado : 24 de febrero de 2011
Leer documento completo
Vista previa del texto
Objetivos

* Diseñar un controlador fuzzy para el control de velocidad en pendientes de un seguidor de línea.

* Construir un carro que sea capaz de seguir una línea negra.

* Implementar el controlador fuzzy en un microcontrolador 18F2550 programado en PicBasic.

Funcionamiento:

En este carro se usan 5 sensores CNY70 (fig. 1) los cuales nos permitirán detectar cambios en elcolor de la superficie donde este el carro (en este caso blanco y negro), esta señal se dirige a un circuito que cuenta con un comparador (Smith Trigger) (fig. 2) este nos asegura que la salida sea completamente digital, luego esta señal se envía a una placa principal (fig. 3), en la cual se encuentra el microcontrolador 18F2550 que será el encargado de controlar el carro.

Fig. 1fig. 2

Para el controlador fuzzy se usa una entrada análogo digital, a esta se conecta un potenciómetro con un péndulo (fig. 4) que nos servirá como sensor de inclinación. A medida que la inclinación del carro varié el voltaje que deja pasar el potenciómetro varia y así el microcontrolador se dará cuenta que está variando la inclinación. La otra entrada que se toma para elcontrolador fuzzy es la derivada del ángulo.

fig. 3 fig. 4

Luego de que el microcontrolador realice su tarea envía los datos a una placa en la cual se encuentra un puente H (fig. 5) que se encarga de direccionar los motores y variar el PWM de los mismos.

fig. 5

CódigoPicBasic

'****************************************************************
'* Name : fuzzy carrito final.BAS *
'* Author : [edward vega, Diego castaneda, Fredy Rubiano] *
'* Notice : Copyright (c) 2010 unipamplona *
'*: All Rights Reserved *
'* Date : 01/12/2010 *
'* Version : 1.0 *
'* Notes : implementación deun controlador fuzzy en un carro seguidor de*
'* : línea el cual varia el pwm dependiendo del ángulo de inclinación *
'****************************************************************
Device = 18F2550
‘Iniciamos la configuración del microcontrolador.
Config_Start
FOSC = HS ; HS oscillator, HS used by USB
PWRT = On ; PWRT enabled
BOR = OFF ; Brown-out Reset disabled inhardware and software
WDT = OFF ; HW Disabled - SW Controlled
WDTPS = 1 ; 1:1
STVREN = On ; Stack full/underflow will cause Reset
LVP = OFF ; Single-Supply ICSP disabled
XINST = OFF ; Instruction set extension and Indexed Addressing mode disabled (Legacy mode)
Debug = OFF ; Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins
CP0 = OFF ; Block 0 (000800-001FFFh) notcode-protected
CP1 = OFF ; Block 1 (002000-003FFFh) not code-protected
CP2 = OFF ; Block 2 (004000-005FFFh) not code-protected
CP3 = OFF ; Block 3 (006000-007FFFh) not code-protected
CPB = OFF ; Boot block (000000-0007FFh) not code-protected
CPD = OFF ; Data EEPROM not code-protected
WRT0 = OFF ; Block 0 (000800-001FFFh) not write-protected
WRT1 = OFF ; Block 1 (002000-003FFFh) notwrite-protected
WRT2 = OFF ; Block 2 (004000-005FFFh) not write-protected
WRT3 = OFF ; Block 3 (006000-007FFFh) not write-protected
WRTB = OFF ; Boot block (000000-0007FFh) not write-protected
WRTC = OFF ; Configuration registers (300000-3000FFh) not write-protected
WRTD = OFF ; Data EEPROM not write-protected
EBTR0 = OFF ; Block 0 (000800-001FFFh) not protected from table reads executed in other...
tracking img