control inalámbrico de brazo robótico

Upload: abrilady

Post on 02-Jun-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    1/51

    Control Inalmbrico de un brazo deRobot a travs de un RF pic

    Resumen

    La presente prctica tiene como objetivo implementar un control inalmbrico por

    RF utilizando el Flash Starter Kit de Microchip de manera que se obtena

    movilidad de un brazo de robot en el cual se sustituir el m!dulo que contiene los

    botones de control " proramar un aloritmo de control para los cinco rados de

    libertad del brazo mediante el transmisor del RF#IC$%&'()*

    #osteriormente se dise+ar " proramar un aloritmo para recibir la se+al

    de control enviada a &in de implementar una inter&ase l!ica " de potencia para

    enviar la se+al de control recibida*

    Dispositivos y lista de equipo

    RF#IC &lash starter ,it Fuente de poder -. /ual 0rac,in Modelo1 -#C23434/* Mult5metro Flu,e $() Series $(4* Robotic 6rm 0rainer de 78iKit 44(. #IC$'F'('

    Resistencias de $449 334" $, 0I#$$$ " 0I#$$) C/:)$);

    1

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    2/51

    Marco Terico

    Espectro RF

    Muchosproductosde consumoe industriales hacen uso de la ener5a electromantica*

    9 inclu"endo ondasde radio " microondas9 las cuales

    son usadas para proveer comunicaciones" radiodi&usi!n " otros servicios* Las ondas de

    radio " microondas son &ormas de ener5a electromantica que son com?nmente

    descritas por el trmino de radio&recuencia o RF* Las emisiones de RF " los &en!menos

    asociados pueden ser discutidos en trminos de ener5a9 radiaci!n o campos* La

    radiaci!n es de&inida como la propaaci!n de ener5a a travs del espacio en &orma de

    ondas o part5culas* La radiaci!n electromantica puede ser descrita como ondas de

    ener5a elctrica" mantica movindose conjuntamente a travs del espacio* @st

    ondas son eneradas por el movimientode caras elctricas tales como en un objeto

    conductor metlico o antena por ejemplo9 el movimiento alternante de caras en una

    antena usado para la di&usi!n de radio " televisi!no en la antena de una estaci!n de base

    celular eneran ondas electromanticas que son radiadas desde el transmisor " que son

    recibidas por una antena tal como una antena de techo9 antena de radio de autom!vil o

    una antena de tel&ono celular* @l trmino campo manticoes usado para indicar la

    presencia de ener5a electromantica en un luar dado* @l campo RF puede ser descritoen trminos de potenciade campo elctrico"Ao mantico en un luar dado*

    Figura 1. Caractersticas de una onda

    2

    http://www.monografias.com/trabajos12/elproduc/elproduc.shtmlhttp://www.monografias.com/trabajos14/consumoahorro/consumoahorro.shtmlhttp://www.monografias.com/trabajos5/elso/elso.shtml#ondashttp://www.monografias.com/trabajos/lacomunica/lacomunica.shtmlhttp://www.monografias.com/trabajos/enuclear/enuclear.shtmlhttp://www.monografias.com/trabajos13/genytran/genytran.shtmlhttp://www.monografias.com/trabajos15/kinesiologia-biomecanica/kinesiologia-biomecanica.shtmlhttp://www.monografias.com/trabajos5/adoles/adoles.shtmlhttp://www.monografias.com/trabajos/eltelefono/eltelefono.shtmlhttp://www.monografias.com/trabajos12/magne/magne.shtml#cahttp://www.monografias.com/trabajos14/trmnpot/trmnpot.shtmlhttp://www.monografias.com/trabajos13/electmag/electmag.shtml#CAMPOhttp://www.monografias.com/trabajos12/elproduc/elproduc.shtmlhttp://www.monografias.com/trabajos14/consumoahorro/consumoahorro.shtmlhttp://www.monografias.com/trabajos5/elso/elso.shtml#ondashttp://www.monografias.com/trabajos/lacomunica/lacomunica.shtmlhttp://www.monografias.com/trabajos/enuclear/enuclear.shtmlhttp://www.monografias.com/trabajos13/genytran/genytran.shtmlhttp://www.monografias.com/trabajos15/kinesiologia-biomecanica/kinesiologia-biomecanica.shtmlhttp://www.monografias.com/trabajos5/adoles/adoles.shtmlhttp://www.monografias.com/trabajos/eltelefono/eltelefono.shtmlhttp://www.monografias.com/trabajos12/magne/magne.shtml#cahttp://www.monografias.com/trabajos14/trmnpot/trmnpot.shtmlhttp://www.monografias.com/trabajos13/electmag/electmag.shtml#CAMPO
  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    3/51

    @l trmino radio&recuencia9 tambin denominado espectro de radio&recuencia o RF9

    se aplica a la porci!n del espectro electromantico en el que se pueden enerar ondas

    electromanticas aplicando corriente alterna a una antena* /ichas &recuencias se

    pueden dividir en @LF9 SLF9

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    4/51

    Figura 2. Robotic Arm Trainer Kit.

    @l 7.I244( R7;70IC 6RM 0R6IJ@R es un ,it que muestra los principios bsicos

    de moci!n " sensado rob!tico* @l ,it inclu"e un control de ) interruptores conectado al

    brazo mediante un cable de G hilos*

    Como primer paso se desconect! el control de la parte trasera " se retir! la tapa

    de la base in&erior9 con lo que qued! al descubierto el compartimiento de las bater5as* @n

    la &iura siuiente se puede observar que la alimentaci!n proporcionada por las bater5as

    se conecta con una terminal de G pines de color blanco =parte superior> que sirve para

    conectar el control*

    Figura 3 .Compartimiento de Bateras en la base del Brazo.

    Bisto de &rente =con la base apo"ada> los pines corresponden a ) motores9 % niveles de

    voltaje " $ tierra como se muestra en la siuiente tabla1

    Figura . Conector de ! pines

    4

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    5/51

    #IJ Control o Boltaje$ 2 3Bcc =con #ilas>% Motor de los /edos3 Motor del Codo

    : Motor de la ;ase) 0odos los Motores =Com?n 4B>' Motor del ombro( Motor de la Mu+ecaG 3Bcc =con #ilas>

    Tabla 2. Relaci"n de los #ines $ los %otores del Brazo de Robot.

    Los voltajes en las terminales $ " G s!lo eEisten en presencia de las : bater5as*

    stas a su vez son necesarias cuando el movimiento del robot es diriido por el control*

    Sin embaro en el eEperimento las bater5as &ueron removidas " para suministrar lapotencia se conectaron las terminales de la &uente de voltaje Leader reulada a 3 " 23 a

    travs de un arrelo de transistores*

    Diagramas Esquemticos

    5

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    6/51

    Figura &.'iagrama a blo(ues del sistema para lle)ar a cabo el control inal*mbrico del brazo.

    #ara poder lorar el control de los motores implementamos un s8itch electr!nico

    de potencia9 usando transistores 0I# $$$ " 0I# $$)* Cada par de transistores se usa paracontrolar un motor*

    Figura +. Cone,i"n de 1 %otor.

    @l &uncionamiento del circuito es el siuiente1 Como un demultipleEor cambia a la

    salida solamente un bit por combinaci!n =en este caso hace 4N mientras que los dems

    siuen en $N>9 en el circuito anterior no se pueden encender los optoacopladores al

    mismo tiempo sino uno a la vez* @n la parte izquierda9 cuando a la salida del C/:)$);

    es $N =) volts> no ha" di&erencia de potencial " entonces no ha" corriente por eloptoacoplador por lo que se encuentra apaada esa parte9 cuando llea 4N del

    demultipleEor eEiste di&erencia de voltaje " entonces ha" corriente por el L@/ lo cual

    enciende al optotransistor " entonces eEiste una corriente de colector a emisor9 al estar

    conectado el emisor del optoacoplador a la base del 0I#$$$9 eEiste una corriente en la

    base de ste ?ltimo " entonces lo enciende enerando una corriente que va de colector a

    0eclado

    0O

    RO Control@tapa depotencia

    6

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    7/51

    emisor del 0I# por ser npn " entonces eEiste corriente en el motor la cual enera un

    voltaje en l con polaridad 2 de arriba hacia abajo9 haciendo irar al motor en un sentido*

    Cuando la parte positiva es la que recibe el 4 por parte del demultipleEor9 ha" una

    corriente en el L@/ lo cual enciende al optotransistor " enera una corriente de colector a

    emisor del optotransistor9 la cual a su vez enera una corriente en la base del 0I#$$) porestar conectado a ella9 al haber una corriente de base9 sta lora que se encienda el 0I#

    enerando corriente de emisor a colector por ser pnp " entonces ha" una corriente a

    travs del motor polarizndolo con un voltaje 2 visto de arriba hacia abajo9 entonces al

    tener polaridad contraria a la vista cuando se enciende la parte izquierda9 el motor irar

    en direcci!n contraria a la primera*

    @l mismo diarama se repite otras : veces9 una vez por cada motor9 de modo que

    enerando las se+ales de control adecuadas el brazo puede moverse en los ) rados delibertad*

    Como podr verse si ambas se+ales de control se activan al mismo tiempo9 se

    producir un corto circuito en las terminales del emisor* /el mismo modo9 dado que la

    &uente de alimentaci!n para todos los motores ser5a la misma9 la corriente disminuir en

    cada motor que se active por eso no es recomendable que se active ms de un motor a la

    vez*

    Funcionamiento del Circuito.

    ;sicamente una vez enviada la in&ormaci!n mediante por RF9 la in&ormaci!n que se

    obtiene de las salidas del #ic del Receptor son codi&icadas para tener una salida de $'

    bits9 lo cual hace posible que mediante el cambio de $ s!lo bit9 se pueda activar el motor

    del brazo rob!tico correspondiente*

    @n la etapa de transmisi!n9 se tienen dos controles9 mediante los cuales se puedeseleccionar el movimiento que se espera realice el brazo " otra para enviar la se+al de

    activaci!nAdesactivaci!n* @sto se hace mediante una modulaci!n 6SK a 3$) Mz9 que es

    el rano en el cual trabaja el transmisor " el receptor del RF #ic*

    7

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    8/51

    La etapa de recepci!n9 simplemente recibe la se+al enviada por el transmisor9 la

    remodula " entrea a la salida un c!dio de : bits9 o en su de&ecto de $% bits mediante un

    arrelo matricial* @s precisamente de esta salida que entrea el receptor de donde se

    toma la in&ormaci!n para controlar los cinco rados de libertad del brazo rob!tico*

    @l m!dulo #IC,it 0M FL6S Starter ,it9 cuenta con eEpansion eader =P3>9 en el

    cual se puede introducir el m!dulo de transmisi!n1 rIC $%F'()* Se remueve el

    #IC$'F'(9 tal como se indica en la siuiente imaen9 " por medio del cable

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    9/51

    Consta de un pic soldado9 pines de coneEi!n9 dos potenci!metros -#4 " -#$9 " dos

    botones -#3 " -#:* 6dems contiene un jumper para poder seleccionar alimentaci!n del

    pic,it o alimentaci!n de la bateria que se encuentra en la parte posterior*

    6 continuaci!n se muestra el siuiente diarama esquemtico para ste ?ltimo m!dulo1

    6 continuaci!n se muestra el siuiente prorama que &ue modi&icado para loar lo

    siuiente1

    #or medio de -#3 se envi! palabras binarias que en el receptor se recibir5an como

    c!dio para selector de movimiento del brazo robot* 6l no presionar el bot!n #;3 se envi!

    esta in&ormaci!n9 " al momento de presionarlo se dejar5a de transmitir* Si se presionaba

    #;:9 se enviar5a un bit de selecci!n onAo&& para cada motor* @ste prorama se muestra a

    9

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    10/51

    continuaci!n9 " se documenta por medio de recuadros que indican las partes modi&icadas

    " areadas para poder lorar la transmisi!n tal como se eEplic!*

    Algoritmos de T( y R(.

    Transmisi)n.;----------------------------------------------------------------------; Software License Agreement;; The software supplied herewith by Microchip Technology Incorporated; (the "Company" for its !ICmicro Microcontroller is intended and; supplied to you# the Company$s customer# for use solely and; e%clusi&ely on Microchip !ICmicro Microcontroller products';; The software is owned by the Company andor its supplier# and is; protected under applicable copyright laws' All rights are reser&ed'; Any use in &iolation of the foregoing restrictions may sub)ect the; user to criminal sanctions under applicable laws# as well as to; ci&il liability for the breach of the terms and conditions of this; license';; T*IS S+,T-A./ IS !.+0I1/1 I2 A2 "AS IS" C+21ITI+2' 2+ -A..A2TI/S#; -*/T*/. /3!./SS# IM!LI/1 +. STAT4T+.5# I2CL41I26# 74T 2+T LIMIT/1; T+# IM!LI/1 -A..A2TI/S +, M/.C*A2TA7ILIT5 A21 ,IT2/SS ,+. A; !A.TIC4LA. !4.!+S/ A!!L5 T+ T*IS S+,T-A./' T*/ C+M!A25 S*ALL 2+T#; I2 A25 CI.C4MSTA2C/S# 7/ LIA7L/ ,+. S!/CIAL# I2CI1/2TAL +.; C+2S/84/2TIAL 1AMA6/S# ,+. A25 ./AS+2 -*ATS+/0/.';;9999999999999999999999999999999999999999999999999999999999999999999999

    ;; ,ilename: %mit'asm; 1ate: April ; ,ile 0ersion: ?'=; Assembled using: M!ASM =>'>= .eleased; Author: Ste&en 7ible; Company: Microchip Technology Inc';9999999999999999999999999999999999999999999999999999999999999999999999; ,iles re@uired: p?fB lights L/1 1= on the; !ICEit(tm ?' !ressing push button 6!G lights L/1 1?';; rc&rDanalogDdisplay'asm;; !ressing transmitter module push button 6!> lights L/1s 1=91B on; the !ICEit(tm ? with the upper H9bit &alue read from the

    10

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    11/51

    ; transmitter module ?=9bit A1 channel = connected to potentiometer; 6!=' !ressing push button 6!G lights L/1s 1=91B with the upper; H9bit &alue read from A1 channel ? connected to potentiometer 6!?';; The protocol is a simplied FeeLo@(r protocol compatible with; the *CS?=? %ed code products' This recei&e code was adapted from; Microchip Technology application note A2BG=';

    ; The ?=9bit analog &alue is placed into the ?9bit counter eld of; the simplied FeeLo@(r protocol';;9999999999999999999999999999999999999999999999999999999999999999999999

    list pJ?fB< ; list directi&e to dene processor Kinclude p?fB

    CS.G CS.< CS. CS.B CS.H

    Count Count 7itCount Time*i TimeLo

    ,unc7its ; ,unction 7its

    endc

    ;9999999999999999999999999999999999999999999999999999999999999999999999; 1enes;9999999999999999999999999999999999999999999999999999999999999999999999

    ; Set up 6!I+ !ort (Section >'= ; ,unction of 6!I+ pins depend on: ; Conguration 7its (C+2,I6 (Section P'? ; -eaE !ull9up .egister (-!4 (Section >''? ; Interrupt9on9change 6!I+ .egister (I+C7 (Section >'' ; +ption .egister (+!TI+2D./6 (.egister G9? ; TIM/.? Control .egister (T?C+2 (.egister

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    12/51

    ; A1 Control .egister (A1C+2= (Section B'= (!IC?,B< +nly

    Kdene !+T= 6!I+# = ; (Analog Input !otentiometer 6!=Kdene !+T? 6!I+# ? ; (Analog Input !otentiometer 6!?Kdene T31 6!I+# ; (+utput Transmit 1ataKdene !7> 6!I+# > ; (Input +nly !ush button switch 6!>Kdene !7G 6!I+# G ; (Input !ush button switch 6!GKdene .,/2A 6!I+# < ; (+utput ., /nable

    ; 1ene for T.ISI+ .egister (Section >'? ; ; 6!I+ is an 9bit wide# bi9directional port' The corresponding data ; direction register is T.ISI+' Setting a T.ISI+ bit (J ? will maEe ; the corresponding 6!I+ pin and input' Clearing a T.ISI+ bit (J = ; will maEe the corresponding 6!I+ pin an output' The e%ception is ; 6!># which is input only and its T.IS bit will always read as a Q?Q'

    ; 6!I+ !ins J %%?=Kdene 6!T.IS 7Q===??=??Q

    ; delaystimings

    Kdene T64A.1 1QGQ ; G 3 T/Kdene !./AM7 1Q?Q ; !reamble length J ? pulses

    ;9999999999999999999999999999999999999999999999999999999999999999999999; !rogram Memory;9999999999999999999999999999999999999999999999999999999999999999999999

    ; !rogram Memory +rganiNation (Section '?

    +.6 =%=== ; ./S/T 0ector

    nop ; for IC1 use goto I2ITALIR/ ; goto I2ITALIR/ +.6 =%==G ; Interrupt 0ector mo&wf wDtemp ; sa&e - register swapf STAT4S# - ; swap status to be sa&ed into - bcf STAT4S# .!= ; 9999 Select 7anE = 99999 mo&wf statusDtemp ; sa&e STAT4S register

    ;9999999999999999999999999999999999999999; Interrupt Ser&ice .outine (IS.;; 1escription:;;9999999999999999999999999999999999999999

    ; Interrupt9on9change (Section >'' and P'G'>;; An input change on 6!I+ change sets the 6!I, bit' The interrupt can; be enableddisabled be settingclearing the 6!I/ bit' Indi&idual pins; are congured through the I+C register (see I2ITIALIRATI+2 below';; Clear the I+C interrupt by:; a Any read or write of 6!I+' This will end the mismatch condition'; b Clear the ag bit 6!I,

    mo&fw 6!I+ ; read 6!I+ bcf I2TC+2# 6!I,

    ;9999999999999999999999999999999999999999

    swapf statusDtemp# - ; swap statusDtemp into -# sets banE to originalstate mo&wf STAT4S ; restore STAT4S register swapf wDtemp# , swapf wDtemp# - ; restore - register

    12

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    13/51

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    14/51

    bcf STAT4S# .!= ; 9999 Select 7anE = 99999

    return

    ;9999999999999999999999999999999999999999999999999999999999999999999999; Subroutine ./A1DA2AL+6DA2=; ./A1DA2AL+6DA2?;

    ; 1escription: .ead analog channel = (A2= or ? (A2?';; Constants: none;; 6lobal 0ariables: none;; InitialiNation: none;; +utput: A1./S* and A1./SL contain ?=9bit A1 result )ustied; according to A1C+2=# A1,M bit';;9999999999999999999999999999999999999999999999999999999999999999999999

    ./A1DA2AL+6DA2=

    bcf A1C+2=# C*S? ; select analog channel A2= bcf A1C+2=# C*S=

    goto ./A1DA2AL+6

    ./A1DA2AL+6DA2?

    bcf A1C+2=# C*S? ; select analog channel A2? bcf A1C+2=# C*S=

    ./A1DA2AL+6

    bsf A1C+2=# A1+2 ; Turn on A1C module

    ; After selecting a new channel# allow for suUcent sample time' ; The amount of sample time depends on the charging time of the ; internal charge holding capacitor (Section B''

    mo&lw 1QQ ; At G M*N# a us delay mo&wf T/M! ; (us J us V >us V ?us decfsN T/M!# , goto W9?

    bsf A1C+2=# 6+ ; start A1 con&ersion

    btfsc A1C+2=# 6+ ; has A1 con&ersion completedX goto W9?

    bcf A1C+2=# A1+2 ; Turn oO A1C module (consumes no operating current

    return

    ;9999999999999999999999999999999999999999999999999999999999999999999999

    ; Subroutine: -ait%T/;; 1escription:;; Constants:;; 6lobal 0ariables:;; InitialiNation: - % G==us length of delay re@uired;; +utput: Count# Count as decrementing counters;

    14

    (( )uan&o no se presiona el"ot*n %+3 se llama esta ,un!i*para &espus ir aRE./..

    En esta ,un!i*n se!on,igura el mo&ulo./) para lograr laa&quisi!i*n por me&io&el poten!i*metro 3'

    El valor a&quiri&o seguar&a en ./RE

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    15/51

    ;9999999999999999999999999999999999999999999999999999999999999999999999

    -ait%T/ mo&wf Count ; Y?Z

    wait%lpmo&lw 1QBPQ ; Y?Z

    mo&wf Count ; Y?Z

    waitG==lp nop ; Y?Z nop ; Y?Z decfsN Count#, ; Y?Z goto waitG==lp ; YZ; 99999999; BP % < J >PP< V

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    16/51

    ; The !IC?,PB< de&ices ha&e one analog comparator' The inputs to; the comparator are multiple%ed with the 6!= and 6!? pins' There is; an on9chip Comparator 0oltage .eference that can also be applied to; an input of the comparator' In addition# 6! can be congured as; the comparator output' The Comparator Control .egister (CMC+2; contains bits to control the comparator' The 0oltage .eference; Control .egister (0.C+2 controls the &oltage reference module'

    ; Comparator Conguration (,igure 9; bcf CMC+2# CI20 ; Comparator +utput In&ersion: not in&erted; bcf CMC+2# C+4T ; Comparator +utput bit: 0inV 0in9; bcf CMC+2# CIS ; Comparator Input Switch: 0in9 connectos to Cin9

    ; CM:CM= J ??? 9 Comparator +O (lowest power bsf CMC+2# CM ; Comparator Mode bit bsf CMC+2# CM? ; Comparator Mode bit ? bsf CMC+2# CM= ; Comparator Mode bit =

    ; 0.C+2 (.egister 9 bsf STAT4S# .!= ; 9999 Select 7anE ? 99999

    bcf 0.C+2# 0./2 ; C0ref circuit: powered down# no Idd drain

    ; bcf 0.C+2# 0.. ; C0ref .ange Selection: *igh .ange

    ; bcf 0.C+2# 0.> ; C0ref &alue selection bit >; bcf 0.C+2# 0. ; C0ref &alue selection bit ; bcf 0.C+2# 0.? ; C0ref &alue selection bit ?; bcf 0.C+2# 0.= ; C0ref &alue selection bit =

    bcf STAT4S# .!= ; 9999 Select 7anE = 99999

    ;9999999999999999999999999999999999999999; Analog9to91igital Con&erter (A1 Module (Section B'= (!IC?,B< +nly;; The analog9to9digital con&erter (A1 allows con&ersion of an analog; input signal to a ?=9bit binary representation of that signal' The; !IC?,B< has four analog inputs multiple%ed into one sample and hold; circuit' There are two registers to control the functions of the A1

    ; module:; A1 Control .egister (A1C+2=; Analog Select .egister (A2S/L;; 2ote: -hen using 6!I+ pins as analog inputs# ensure the T.ISI+ register; bits are set (J ? for input'

    bcf A1C+2=# A1,M ; A1 .esult ,ormed: left )ustied bcf A1C+2=# 0C,6 ; 0oltage .eference: 0dd bcf A1C+2=# A1+2 ; A1C is shut9oO and consumes no operating current

    bsf STAT4S# .!= ; 9999 Select 7anE ? 99999

    ; select A1 Con&ersion ClocE Source: ,oscH bcf A2S/L# A1CS ; A1 Con&ersion ClocE Select bit bcf A2S/L# A1CS? ; A1 Con&ersion ClocE Select bit ?

    bsf A2S/L# A1CS= ; A1 Con&ersion ClocE Select bit =

    ; select 6!I+ pins that will be analog inputs: 6!=A2=# 6!?A2? bcf A2S/L# A2S> ; Analog Select 6!GA2>: digital I+ bcf A2S/L# A2S ; Analog Select 6!A2: digital I+ bsf A2S/L# A2S? ; Analog Select 6!?A2?: analog input bsf A2S/L# A2S= ; Analog Select 6!=A2=: analog input

    bcf STAT4S# .!= ; 9999 Select 7anE = 99999

    ;9999999999999999999999999999999999999999

    16

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    17/51

    ; TIM/.? Module with 6ate Control (Section ''?;; /ach of the 6!I+ pins# e%cept 6!># has an indi&idually congurable; weaE internal pull9up' Control bits -!4% enable or disable each; pull9up' .efer to .egister >9?' /ach weaE pull9up is automatically; turned oO when the port pin is congured as an output' The pull9ups; are disabled on a !ower9on .eset by the 2+TD6!!4 bit (see +!TI+2D./6 below'

    bsf STAT4S# .!= ; 9999 Select 7anE ? 99999

    ; 6!I+ !ins J %%

  • 8/10/2019 Control Inalmbrico de Brazo Robtico

    18/51

    ;9999999999999999999999999999999999999999; Interrupt9on9Change .egister (I+C7 (Section >'';; /ach of the 6!I+ pins is indi&idually congurable as an interrupt9; on9change pin' Control bits I+C7% enable or disable the interrupt; function for each pin' .efer to .egister >9' The interrupt9on9change; is disabled on a !ower9on .eset';

    ; 2ote: 6lobal interrupt enables (6I/ and 6!I/ must be enabled for; indi&idual interrupts to be recogniNed'

    bsf STAT4S# .!= ; 9999 Select 7anE ? 99999

    ; 6!I+ !ins J %%?= mo&lw bQ===??===Q mo&wf I+C7 ; Interrupt9on9change enabled: 6!># 6!G

    bcf STAT4S# .!= ; 9999 Select 7anE = 99999

    ;9999999999999999999999999999999999999999; !eripheral Interrupt /nable .egister (!I/? (Section '''G;; The !I/? register contains peripheral interrupt enable bits';; 2ote: The !/I/ bit (I2TC+2 must be set to enable any; peripheral interrupt'

    bsf STAT4S# .!= ; 9999 Select 7anE ? 99999

    bcf !I/?# //I/ ; // -rite Complete Interrupt: disabled bcf !I/?# A1I/ ; A1 Con&erter Interrupt (!IC?,B< +nly: disabled bcf !I/?# CMI/ ; Comparator Interrupt: disabled bcf !I/?# TM.?I/ ; TM.? +&erow Interrupt: disabled

    bcf STAT4S# .!= ; 9999 Select 7anE = 99999

    ;9999999999999999999999999999999999999999; Interrupt Control .egister (I2TC+2 (Section '''>;

    ; The I2TC+2 register contains enable and disable ag bits for TM.=; register o&erow# 6!I+ port change and e%ternal 6!I2T pin; interrupts'

    bcf I2TC+2# !/I/ ; disable !eripheral Interrupt /nable bit bcf I2TC+2# T=I/ ; disable TM.= +&erow Interrupt /nable bit bcf I2TC+2# I2T/ ; disable 6!I2T /%ternal Interrupt /nable bit bsf I2TC+2# 6!I/ ; enable !ort Change Interrupt /nable bit

    ; bcf I2TC+2# 6I/ ; disable global interrupts

    ;9999999999999999999999999999999999999999999999999999999999999999999999;9999999999999999999999999999999999999999999999999999999999999999999999; Main !rogram;9999999999999999999999999999999999999999999999999999999999999999999999

    ;9999999999999999999999999999999999999999999999999999999999999999999999

    MAI2

    bcf .,/2A ; 1isable Transmitter bsf I2TC+2# 6I/ ; enable global interrupts

    ;9999999999999999999999999999999999; Scan push buttons;9999999999999999999999999999999999

    SCA2!7

    18

    En esta parte !e!amos siel "ot*n %+3 &e la tareta&el : se en!ontra"a

    presiona&o' ientras no sepresionara se man&a"a atraer el valor anal*gi!o porme&io &e ; !ush 7utton 6!> pressedX goto S!7 mo&lw =%> ; ,unction S= selected iorwf ,unc7its# ,

    call ./A1DA2AL+6DA2= ; read analog channel A2=

    ;S!7? ; btfsc !7G ; !ush 7utton 6!G depressedX ; goto S!7 ; no# )ump o&er

    ; mo&lw =%G> ; ,unction S? selected ; iorwf ,unc7its# , ;call ./A1DA2AL+6DA2? ; read analog channel A2?

    S!7 mo&lw =%,, andwf ,unc7its# - ; -as any switch depressedX btfss STAT4S# R goto 3MIT ; 5es# transmit buOer

    bcf .,/2A ; 2o# disable Transmitter

    sleep ; !ut !ICmicro to sleep goto SCA2!7 ; 4pon waEe9up on pin change# scan push buttons

    ;9999999999999999999999999999999999; ll in transmission buOer;9999999999999999999999999999999999

    3MIT

    bsf .,/2A ; /nable Transmitter

    mo&lw =%B> ; send Serial numbermo&wf CS.=

    mo&fw ,unc7its ; send ,unction 7its mo&wf CS.?

    ; send ?9bit Counter ; ; send analog &alue (this is modied from the %ed

    ; FeeLo@(r protocol; these two elds are normally; used for ?9bit counter &alue

    ;

    ; bsf STAT4S# .!= ; 99999 Select 7anE ? 99999; CL., A1./SL ; A1./SL .esult; bcf STAT4S# .!= ; 99999 Select 7anE = 99999

    7T,SC !7G6+T+ A!A6A1+6+T+ !./21I1+

    !./21I1+;7S, STAT4S#.!= ; 99999 Select 7anE ? 99999

    M+0L- bQ?=======Q

    6+T+ C+2TI24A

    A!A6A1+

    19

    o&as estas l$neas se !olo!aron!omo !omentario #a que none!esitar$amos el "ot*n %+4'

    e !e!a si se logr*que el "ot*n %+3 no,uera presiona&o'

    i se a&quiri* elvalor anal*gi!opor no presionar%+3 se realiza< := >>

    En esta ,un!i*n sea"ilita el transmisor'

    e env$a el valor &e laa&quisi!i*n &elpoten!i*metro en )R

    /espus !e!amos sipresionamos el "ot*n%+4' i estapresiona&o se va a%RE/=/' i noesta presiona&o se va a

    .%../'

    e asigna al ?RE si ,uepresiona&o