Está en la página 1de 40

Robot seguidor de lneas con NAND

Introduccin a PICC de CCS Programacin de un dispositivo EEPROM

Prctica: ADC y DAC.

Ao 1 - Noviembre 2008 - Nmero 1


La revista tiene como finalidad publicar artculos hechos por la comunidad estudiantil de la Facultad de Ciencias de la Electrnica de la Benemrita Universidad Autnoma de Puebla, para apoyar a ProgramacindeundispositivoEEPROM.4 nuestros compaeros difundiendo un poco de la creatividad desarrollada y aplicada en RobotSeguidordeLneas..9 el rea de la electrnica, el lector podr Detectordenmerosprimos14 construir y probar los diferentes proyectos y prcticas descritas en esta publicacin IntroduccinaPICCdeCCS18 teniendo la certeza de que funcionarn al cienporciento,todoslosartculoshansido Prctica.ConvertidoresADCyDAC.30 diseados, innovados y probados en los Cuestionario.MecnicaClsica.LaFuerza laboratorios de nuestra universidad y otros deGravedad...36 varios en casa o lugares especficos de diseoenpasatiempodealgunosautores.

ndice.

Publicacindelgrupoestudiantil BlastedRobotics,delaFCE,BUAP,Puebla, Pue. Mxico. Noviembrede2008. email: blastedrobotics@yahoo.com.mx Edicin: GarcaChetlaRal. SanPabloJurezMiguelngel.

En este nmero 1 de nuestra revista nos aventuramos en el diseo y mejora de un robot seguidor de lneas construido con componentes baratos y lgica digital, despus nos introducimos a algunos conceptos fundamentales para el diseo con el lenguaje C de los microcontroladores PIC, incluimos dos prcticas bsicas, una de programacin de una memoria y otra del armado de un circuito digital con compuertas, una prctica de laboratorio tpica de convertidores analgico a digital y de digital a analgico, y finalizamos con un cuestionario que nos hace reflexionar sobrecuestionesdenuestromundofsico. Esperamos disfruten de los artculos y esperamos que les sea de utilidad, de antemanogracias. ElgrupoestudiantilBlastedRobotics.

GonzalesVellanoPablo. 3

PROGRAMACINDEUNDISPOSITIVO EEPROM(AT28HC64) Aprender a programar un dispositivo EEPROM, con un respectivo cdigo en base hexadecimal es sumamente fcil, en este caso una memoria EEPROM AT28C64, de 64k (8k x 8), un bus de 13 lneasdedirecciny8dedatos.Paraesta prctica se toma como diseo un decodificadordeBCDa7segmentos. Materialnecesario: 1EEPROMAT28C64de64k(8kx8)de Atmel(equivalente) 1ProgramadorChipmaster7000 1programadorChipmaster (Quemador) 1Displayde7segmentosctodo comn 1Protoboard 8Resistenciasde330ohm Cablesparaelprotoboard Fuentedealimentacina5V Caimanes Tenemoselcasodehacerundecodificador connuestraEEPROMdeBCDa7 segmentoscomosemuestraenlafigura: Donde a hasta g representan una parte del nmero mientras que h representa el punto que trae el dislpay, el cual se mantendrencendidotodoeltiempo. Los nmeros a decodificar son del 0 al 15 decimal. Entonces hacemos una tabla de relacin del cdigo binario de estos nmeros y luego de los leds que encendern en nuestro display, por 4
Figura1.DecodificadordeBCDa7Segmentos.

De acuerdo al diseo que se va a tomar en cuenta es necesario ver la relacin que se necesita para la implementacin del decodificador de 7 segmentos, es decir, ahora se presenta el diagrama de pines de un display ctodo comn, para hacer la relacin de leds que encendern de acuerdoalcdigobinario. Eldiagramadeldisplayeselsiguiente:

ejemplo, para encender el 5dec= 0101bin debemosencenderlossegmentosa,c,dfy g y apagar los otros, entonces la relacin sera: a=1, b=0, c=1, d=1, e=0, f=1, g=1 h=1, donde los nmeros entre comillas son niveles lgicos. Y as sucesivamente se llena la tabla para despus transformar lo que nos queda a base hexadecimal, esto se hace agrupando de cuatro en cuatro bits y despus transformar a su equivalente hexadecimal, dondeelejemploanteriorquedara: 510=01012=>101101112=B716 Entoncesnosquedalasiguientetabla.
De c 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 a 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 b 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 c 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 0 d 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 0 e 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 f 1 0 0 0 1 1 1 0 1 1 1 1 1 0 1 1 g 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 h 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 He x FD 61 DB F3 67 B7 BF E1 FF F7 EF 3F 9D 7B 9F 8F

slo con los bits A3, A2, A1, y A0 donde A12 al A4 debern estar conectados a 0 ya que la tabla anterior funciona cuando estos bits son precisamente 0 lgicos ya que si no es as estaremos trabajando en otra direccin y nuestro decodificador nos arrojar1lgicos. Ahora bien, solamente resta ingresar estos datos en hexadecimal que obtuvimos en nuestra tabla a nuestra EEPROM, para hacer esto usamos el programa de computadora llamado Chipmaster 7000, resaltando que esto se puede hacer en cualquier otro programador como Icprog o inclusodesdeC++. Para el programado abrimos el chipmaster 7000quedebeestarpreviamenteinstalado en nuestra PC, en caso contrario lo instalamos primero ya que lo podemos descargardesdeInternet. Elambientedelprogramaeselsiguiente:

Para los nmeros 16, 17, 18, ,8191 no decodificaremos nada, en una memoria EPROM eso quiere decir que dejaremos slo 1 lgicos programados. Esto tambin quiere decir que trabajaremos Hacemos clic en Select, y desde ah seleccionamos en este caso AT28C64 y damosclicenok.

como lo fue en este caso; abrir el archivo dandoclicenloadyprogramarlo. Finalmente con nuestro dispositivo ya programado hay que probarlo, se arma el circuito que se muestra al inicio de este reporte y se alimenta con 5VDC que es lo DespusclicenEditeingresamoselcdigo hexadecimal que tenemos de izquierda a derecha en la tabla que aparece y damos clicenclose. que marca la hoja de especificacin. De acuerdo a la hoja de especificacin el diagramadepineseselsiguiente:

Finalmente clic en Prog y ya est. Cabe mencionar que el programador

(quemador) chipmaster debe de estar ya conectadoyencendidoenlamismaPCque utilizamos, con nuestra EEPROM ya colocada en l, el quemador es un poco caro pero podemos guardar nuestro archivodandoclicenfileyluegosaveeira algn lugar donde lo tengan como una tienda de electrnica o una universidad 6 Esto quiere decir que para leer la memoria los pines 20, 22 y 14 (GND) se conectan a tierra(0VDC);elpin1y26noseconectan, el pin 28 y el 27 se conecta a 5 VDC. Y como se haba pensado los pines 2, 3, 4, 5,

6, 25, 24, 23, 21 que son A12A4 van conectados a GND. Luego los pines 7, 8, 9, 10quesonA3A0sernlasdireccionesque ocupemos para ingresar nuestro nmero en binario. Y los pines 11, 12, 13, 15, 16, 17, 18, 19 sern nuestras salidas h, g, f, e, d, c, b, a respectivamente ya que en la tabla podemos ver que el menos significativoeshyelmsesa;estassalidas las conectamos a una resistencia de 330ohms cada una y el otro extremo al display que al inicio del reporte puede mostrar su diagrama de pines, donde com es el ctodo comn y va conectado a GND. Todo esto es montado en un protoboard haciendolospuentesconcabletelefnico. Eldiagramadelcircuitofinaleseste

que podemos hacer decodificaciones ms grandes, y no nada ms con este modelo, podemos usar otros como los de la familia de AM27CXXX, o los de la familia AT28CXXX AT28HCXXX. Esto ya depende delusoquelequeramosdar. Una observacin importante es que si no se conectan a cero las direcciones que no usamos los datos de salida sern siempre todos unos, es tambin importante apreciar que en algunos dispositivos el diagrama de pines es parecido pero no es igual, ya que en algunos traen ciertos habilitadores y en otros no, hay que ver bien la hoja de especificacin en la parte que dice READ para ver cmo conectar el chip con sus respectivos habilitadores, ya que si es conectado mal el dispositivo no funcionar. Programar un dispositivo de este tipo como lo es una EPROM EEPROM, es

Observaciones La programacin de esta EEPROM slo fue para aprender a programar este tipo de dispositivos, por ello slo usamos pocas direcciones pero el potencial de un dispositivo como este es muy poderoso ya 7

demasiado fcil, pero se torna difcil cuando no se tiene el conocimiento y la prctica de cmo hacerlo, claro que tambinsetornadifcilcuandonotenemos la tecnologa adecuada para hacerlo, pero de ah en fuera el proceso es mucho muy fcil como lo anteriormente detallado, no es tan costoso y reduce una gran cantidad

de circuitera cuando hacemos lgica grande, la desventaja de este tipo de implementacin es que debemos obtener nosotros todos los minitrminos que se puedan generar y despus ingresarlos a mano en el programador, pero al final nos percatamos de que en realidad no es tanto trabajo, a diferencia de hacerlo con compuertas. El dispositivo funcion correctamente al probarloentodassusdecodificaciones,por tanto se aprendi cmo programar el dispositivoEEPROMAT28C64. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Referencias: Hoja de especificaciones de la AT28C64 Manual NTE (para el display de 7 segmentos)

RobotSeguidordeLneas. Usemos una metodologa simple y ordenada, primero debemos definir las funciones que realizar nuestro mvil para establecer las condiciones del funcionamiento, as ser mucho ms sencillo llegar al circuito idneo. Establezcamos esta condicin como parte del comportamiento del mvil, cuando salgan de la lnea totalmente, los sensores que viren hasta que la encuentre de nuevo. Es decir, si los sensores salen hacia la derecha o izquierda, que tan slo detenga el movimientodelaruedarespectivayas retornar al camino a seguir de manera normal, esta funcin es muy til cuando las curvas son muy cerradas o que alguno de los motores sea un poco rpido y se salga del camino, como comnmente pasa en un mvil de este tipoporsusencillez. Lo anterior nos indica que si salen hacia la derecha o hacia la izquierda, el mvil intentar buscar la lnea hacia el lado contrario de donde se sali, es decir que si sale a la derecha totalmente que vire hacia la izquierda, si lo hace a la izquierda que vire a la derecha, esto depender del orden en los cuales los sensores, en este caso dos, salgan de la lnea. Como condicin inicial es que inicie el recorrido con los sensores sobre la lnea, de esa manera nuestro simple circuito estar en condiciones de operar, de lo anterior deducimos que debe tener memoria para recordar cul de los dos sensores salidelalneaprimero,deesamanera si el mvil sale de la lnea y los dos sensores no lo detectan, recuerde hacia dnde debe ir. Como es simple y con dos entradas, podemos 9

implementar nuestro circuito con un FlipFlop RS, y para que nuestro circuito sea an ms sencillo, lo armaremos con dos compuertas NAND, de acuerdo a la tabla de verdad que implementamos. El estado de memoria se dar slo cuando las entradas sean un 1 lgico, si ambas entradas son 0 lgico las dos salidas del FlipFlop sern uno, (a este estado se le puede llamar estado prohibido) si SET lo llevamos primero a 1 Q ser 0 y Q ser 1, si a continuacin RESET se lleva a 1la salida se conservar y por lotanto,elestadodememoriasedar. Si realizamos lo anterior pero empezando por RESET, y luego pasamos por SET, los estados de salida sern invertidos, por lo tanto el estado de memoria depender de cual sensor salga primero de la lnea. Un FlipFlop implementado con dos NAND tiene la peculiaridad de que la activacin se da por los niveles bajos, razn por la cual el estado inicial permitido a las entradas deba ser 1lgico, esto para no causar confusin en el anlisis de la tabladelafigura1. Figura1: Set Reset Q Q 0 0 1 1 1 0 0 1 1 1 0 1 0 0 1 1 0 1 1 0 1 1 1 0
TabladeverdadparaelFlipFlop ImplementadoconNAND

FlipFlop

Por lo tanto, para que se d la condicin para que avance hacia delante, es que las entradas R y S deben ser 0 que es cuando los sensores estn detectando la lnea, que en este caso ser blanca sobre fondo negro,yusandoelcircuitodelafigura2 tendremos que en el resistor de 10k (R2 y R5) que est como salida del fotodiodo infrarrojo una cada de voltaje que interpretaremos como 1 lgico, y tenemos que invertir elestado colocandounsimpleinversor. Ahora las salidas del FlipFlop sern un 1 lgico con lo cual podemos llevar a saturacin a un transistor y as poner enmarchacadamotor.

1estdelladoopuestodelmotor1yel sensor2delladocontrarioalmotor2. Los emisores deben colocarse al centro y los receptores a los lados, los sensores deben ser colocados de tal manera que no sobresalgan del ancho deunacintadeaislarplstica.

Figura3.Colocacindesensoresrespectoalosmotores.

Si alguno de los sensores sale de la lnea, el resistor de 10k entregar un 0 lgico, que pasando por el inversor ser un 1 lgico y el funcionamiento sercomoeldescritoparaelFlipFlop. De esta manera se detendr el motor respectivo para que nuestro mvil pueda regresar a la lnea, recordando haciadndepodrvirar. La colocacin de los sensores con respecto a los motores en nuestro pequeo mvil, debe ser que el sensor 10

Diagramadeconexiones. Sensores. Paraestediseoutilizamossensoresde tipoCNY70quesondossensores infrarrojospticosreflectivosconsalida atransistordelamarcaVishay Telefunken,cuyoempaquetadoes cuadradoconlasuperficieempotraday esmostradoacontinuacin.

FormadelCNY70.

Diagramadepines.

Estossensoresconstandeunemisor infrarrojoyunfotoreceptor,queson slounfotodiodoyunfototransistor separadosporunapared,estapared impidequehayacensadosno deseados;cuandoelemisorest funcionando,elrayoinfrarrojopuede rebotarenlasuperficieacensaryluego elfototransistorsepolarizarensu regindecorteodesaturacin dependiendodelestadolgicodel rebote.

Ilustracindelprocedimientodeemisinyrecepcinpara elsensor.

Paraestediseoseutilizauna polarizacinclsicadeestetipode sensoresqueesllevaralfotodiodoa emitirconectndoloaunaresistencia de1Kyaseaenelnodooelctodoy elfototransistorsepolarizaencolector comnconunaresistenciade100kal emisor,tomandolasalidaenelemisor mismo.

As,cuandoleamosunalneablancao negralasalidanosentregarun1 lgicoconeltransistorensaturacin un0lgicoconeltransistorencorte. Motores. Encuantoalasalidadelacompuerta, tenemosqueesconectadoaun transistor2N2222unodemejor calidadparaconectarahoralos motoresenelcolectoryVCC,estoes suficientesiutilizamosmotores pequeosde3volts,perosiusamos otrosmspotentescomolosde5volts ounTwincomoenestecaso,debemos agregarunaresistenciadecolector paraatenuarlacorrienteyaqueeste tipodemotoresdemandanunpoco msdecorriente,usaremosuna resistenciade10a2Wensucaso unarregloenseriededosparesde configuracionesderesistenciasen paralelotodasde10a1/4W,yaque funcionarigualmenteyserms econmicoelprecio. Conestoelrobotestarlistopara probaryfuncionar,elarmadofinal dependedelosmaterialesqueusemos. ParaestediseoseusanmotoresTwin consuadicionalarregloderesistencias enelcolector.

MotoresTwinGearbox.

Eldiagramafinalarmadoyprobadoes elsiguiente:
ConfiguracindeconexinbsicadelCNY70.

11

Diagramafinal.

Eldiseopuedehacersesimplemente enunabaseDIPounPCBcomoelque diseamos:

PCBdeelbloquedelgica.

Elseguidorarmado.

PorquenvezdeunFlipFlop integradoseutilizandoscompuertas NAND? PrimeroporquealgunosFlipFlop establecenalgunosestadosprohibidos alaplicarelmismoestadolgicoalas 12

entradas,yelimplementarlocondos NANDnosfacilitaelestablecerlalgica defuncionamientodeacuerdoa nuestrasnecesidades,yporqueson necesariastambindosinversoresy puedenimplementarsefcilmenteal cortocircuitarlasdosentradasdeuna NAND. Adems,deesamanerausounsolo integrado. PuedousarlgicaTTLparaeste circuito? No,eldiseoesparaimplementarlo conCMOSyaqueastendremosla libertaddeusarvoltajesde alimentacinde3a6Voltsconel mismocircuito,asnotendremos sorpresasaldisminuirunpocoelnivel debaterasypodemosutilizar cualquieraentreesterango,adems quelosniveleslgicosenesta tecnologaseadecuanalosnivelesde voltajedealimentacin,ypodemos activarconrelativafacilidadlaetapade transistores. Porquaqunoseutilizan amplificadoresoperacionalesparael ajustedeumbral? Paraacoplarlasalidadelossensores conelFlipFlopseusuninversor implementadoconNAND.AlusarelC.I. 4093tienelacaractersticadeser4con entradaSchmittTrigger,locual internamenteestableceumbralesde cambio,yasuvezminimizaerroresde funcionamientoporruidoademsde quealteneralaentradaunresistorde 10katerrizadolointerpretacomoun 0lgicoalnohaberprcticamente corrientecirculanteatravsdel.

Esposiblecambiarlaetapade potenciadelmotorporalgodemayor capacidad? Siusamostransistores2N2222,espor quelosmecanismosqueseutilizaron tienenmotoresmuyeficientesqueno consumengrancorrienteyson pequeitosinclusoeldiseosoporta motoresTwin.Sisedeseanutilizar motoresdemayorcapacidadtendrn queutilizarunaetapaDarlington. LossensoresdebenserCNY70? Paraestediseoseproponen,pero comoeldiseoserealizaabloques podemosusartansolodossensores infrarrojosinterruptivosquesepueden conseguirconmuchafacilidad,el emisoryelreceptorestnpareadosy secolocanunoaladodelotro, emulandoelCNY70,claroquedeben respetarladistanciaconlasuperficie paraquenoseamayora3mm.Encaso deconseguirelCNY70,familiasQRDo equivalentespuedenusarlosyel resultadoserelmismo. Porquahoraseusalneablancaen fondonegro? Masquenadaesporcuestintcnica, yaquealgunoseventosestablecen comopistaparalapruebaesas caractersticas,sideseanquefuncione conunalneanegraenfondoblanco,es sencillo,slodebenadicionarotro inversorantesdecadaentradadelFlip Flop.Tambinsepodraeliminar simplementeelinversoryusarsloel FlipFlop,locualnoseaconsejaporla posibilidaddeerroresyaqueelprimer inversoresparaacoplarelsensordela etapalgica. 13

ElRobotSeguidordeLneas.

VistaInferior.

Referencias: RevistaSaberElectrnica. www.jameco.com DatasheetdelintegradoCNY70.

NTIFICAD DOR DE NUMEROS PRIMOS CON C COM MPUERTAS LGICA AS IDEN El ob bjetivo de esta prctica es crear r un circu uito que identifique i los nme eros prim mos, de un n rango co omprendido de entre e el nmero o 1 hasta el l 15, utiliza ando las compuertas c s lgicas, los mapas de Karn naugh y la reduccin de funcio ones, medi iante lgebr ra Booleana a. c n haremo os una br reve A continuaci expli icacin de las l configur raciones de e las comp puertas qu ue vamos a utilizar en nuest tro circuito. . Diagrama lgico l

SN74LS08 8 AND

SN74LS S04 INVE ERSOR

X 0 0 1 1 Tab bla de verda ad X Y 0 1 1 0

Tabla de verdad Y 0 1 0 1

Z 0 0 0 1

Diagrama lgico l

14

SN7 74LS32 OR O

Despus de d plantead do el prob blema y explicado las l configu uraciones b sicas de las compue ertas lgicas s a vamos a utilizar, procedemo os a resolver r nuestro pro oblema. Lo primero o ser hacer nuestra tabla de verdad, de la cual ext traeremos todos t los o de las ent tradas (las variables v datos tanto que vamos s a control lar), como el de la salida que tendremos. t emos 16 distintas Sabemos que tendre a 2.^4, la e as cuales entradas, equivalente sern los nmeros n en los que ha aremos la comparaci n y tend dremos dos s nicas salidas, ci ierto o fal lso, y sta as son las que determ minarn c cuando el nmero introducido o es primo o no.

X 0 0 1 1

Tab bla de verda ad Y 0 1 0 1

Z 0 1 1 1

grama lgico o Diag

Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

f 0 1 1 1 0 1 0 1 0 0 0 1 0 1 0 0

aremos los nmeros En nuestra tabla toma c el n nmero sea primo, y de f en 1 cuando ser cero si el nmero o de la com mbinacin introducida a no es prim mo (lgica positiva); p as, los que e tengan el nmero 1, sern los mintrmino os en nuestro n m mapa de Karnaugh. 15

A continuacin, haremos nuestro mapa de Karnaugh de cuatro variables, tomando los mintrmimos como los nmeros que son primos de la tabla de verdad. El mapa queda como a continuacin:

El material requerido para el armado de nuestra prctica fue el siguiente: 2 compuertas AND (74LS08) 1 compuerta INV (74LS04) 1 compuerta OR (74LS32) 1 protoboard 1 interruptor de cuatro entradas 1 resistencia de 100 1 led cable para protoboard 1 fuente de voltaje

Y la reduccin de mintrminos, queda: m (1, 2, 3, 5, 7, 11, 13) = _ __ _ _ AD+ABC+BCD+BCD Y nuestro diagrama lgico:

Despus de disear nuestro circuito lgico, procedemos a armarlo. Una vez armado, lo alimentamos con una fuente de dc y con el dip switch haremos las combinaciones resultantes, tomando en cuenta, que es de cuatro entradas, el nmero de bits que sern introducidos tambin. El circuito encender el led cuando la combinacin introducida sea un nmero primo; y no tendr reaccin alguna (se mantendr apagado), cuando el nmero de la combinacin no sea un nmero primo.

Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Combinacin del interruptor 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

LED Apagado Encendido Encendido Encendido Apagado Encendido Apagado Encendido Apagado Apagado Apagado Encendido Apagado Encendido Apagado Apagado

16

La tabla anterior muestra, de acuerdo a la combinacin introducida, e identifica si se trata o no de un nmero primo. Al haber realizado esta prctica, y despus de haber probado todas las combinaciones de nuestro circuito, para averiguar cules de esos son nmeros primos, el circuito ha tenido xito, ya que en ninguna combinacin hubo algn error, y en ninguno de los casos hubo alguna anomala. Esto es demostrable tambin por que en caso de que hubiese existido algn error, tal vez hubiesen fallado alguna, o algunas de las combinaciones de identificacin de los nmeros introducidos. Puedo agregar tambin, que los mapas de Karnaugh nos hicieron el trabajo de reduccin de funciones bastante sencillo, mediante lgebra Booleana. El diagrama lgico fue sencillo de realizar una vez teniendo la reduccin final de nuestro circuito.

Bibliografa. Anlisis y diseo de circuitos lgicos digitales Nelson, Nagle, Carroll, Irwin Editorial Prentice Hall TTL Logic (Data book) Texas instruments SGS Thomson (CD-Room Datasheets)

Autor: Ral Garca Chetla. 17

IntroduccinaPICCdeCCS.
En el mundo de los microcontroladores, encontramos siempre opciones econmicas,eficaces,rpidas,eficientesy tiles para disear, tal es el caso de los microntroladores PIC (Peripheral Interface Controller /Controlador de Interfaz Perifrico) de la marca Microchip TechnologyInc.,loscualeshoyendason encontrados en un sin nmero de versionesycaractersticasespeciales. Estos microcontroladores usan un juego de instrucciones tipo RISC, cuyo nmero puede variar desde 35 para PICs de gama baja a 70 para los de gama alta. Las instrucciones se clasifican entre las que realizan operaciones entre el acumulador y una constante, entre el acumulador y una posicin de memoria, instrucciones de condicionamiento y de salto/retorno, implementacin de interrupciones y una para pasar a modo de bajo consumo llamadasleep. Microchip proporciona un entorno de desarrollo freeware llamado MPLAB que incluye un simulador software y un ensamblador. Otras empresas desarrollan compiladores C y BASIC. Microchip tambin vende compiladores para los PICsdegamaalta("C18"paralaserieF18 y "C30" para los dsPICs) y se puede descargar una edicin para estudiantes del C18 que inhabilita algunas opciones despusdeuntiempodeevaluacin. Enlaactualidadloquelosprogramadores de estos dispositivos buscamos es un entorno ms amigable de programacin, mas rpido y ms fcil de usar, sin tener que estar horas creando rutinas en lenguaje ensamblador, es por ello que actualmente estas empresas que
18

desarrollaron compiladores en lenguajes como C y BASIC se han vuelto famosas. Por tal motivo en este artculo retomamos la programacin de los microcontroladores PIC con el lenguaje de alto nivel C, con el compilador PICC de la empresa CCS (Custom Computer Services Inc.) en su versin 4.038, que tratndoloessumamenteamigableyfcil deusar. El compilador PICC tiene tres compiladoresintegradosPCB,PCMyPCH, cada uno para las versiones de cdigo de PICs de 12, 14 y 16 bits respectivamente, siendo editadas las instrucciones en la ventana del command window llamada PCW, donde la apariencia de este compilador tiene un formato estndar ANSI. Este compilador es capaz de crear el archivo .HEX, .COF, y otros tantos archivos que son generados al crear nuestro proyecto, tales archivos con su respectiva funcin se pueden ver en el cuadro. La instalacin del programa es sumamente sencilla y slo hay que seguir los pasos del fabricante para instalarlo. Existe una versin trial o demo en la pginadelfabricante.

.C .H .PJT .LST .SYM .STA

ThisisthesourcefilecontaininguserCsourcecode. Thesearestandardorcustomheaderfilesusedtodefinepins,register,register bits,functionsandpreprocessordirectives. Thisistheprojectfilewhichcontainsinformationrelatedtotheproject. ThisisthelistingfilewhichshowseachCsourcelineandtheassociatedassembly codegeneratedforthatline. Thisisthesymbolmapwhichshowseachregisterlocationandwhatprogram variablesarestoredineachlocation. ThestatisticsfileshowstheRAM,ROM,andSTACKusage. Itprovidesinformation onthesourcecodesstructuralandtextualcomplexitiesusingHalsteadand McCabemetrics. Thetreefileshowsthecalltree. itdetailseachfunctionandwhatfunctionsit callsalongwiththeROMandRAMusageforeachfunction. ThecompilergeneratesstandardHEXfilesthatarecompatiblewithall programmers. Thisisabinarycontainingmachinecodeanddebugginginformation. Thisisabinaryfilecontainingdebuginformation. TheoutputoftheDocumentationGeneratorisexportedinaRichTextFileformat whichcanbeviewedusingtheRTFeditororwordpad. TheRichViewFormatisusedbytheRTFEditorwithintheIDEtoviewtheRich TextFile. The.DGRfileistheoutputoftheflowchartmaker. ThisfileisgeneratedfortheIDEusers. ThefilecontainsIdentifiersandComment information.Thisdatacanbeusedforautomaticdocumentationgenerationand fortheIDEhelpers. Thisfileisgeneratedwhenthecompilerissettoexportarelocatableobjectfile. Thisfilecontainsalistofsymbolsforthatobject.

.TRE .HEX .COF .COD .RTF .RVF .DGR .ESYM

.OSYM

CuadroconlosarchivesgeneradosparaunproyectoenPICC.

Para comenzar a utilizar este compilador qu mejor que practicando, y para ello haremos un programa para una aplicacin tpica, el encendido y apagado de LEDs, y para ms familiaridadeneldiseo utilizaremos un viejo amigo, el PIC16F877A, que por su sencillez nos ser apto para este sencillo diseo, ms adelante veremos que podemos programar microcontroladores de este tipo y ms

avanzados de la misma forma. El objetivo ser encender y apagar 8 LEDs conectados a el puertoBdelPic16F877A enformadecorrimiento (Tipo auto increble); cuando conectemos el dispositivo los 8 LEDs estarn encendidos y cuando oprimamos un pushbutton conectado al pin A0 entonces comenzar el corrimiento de un bit en un sentido y regresar

en sentido contrario en forma de circuito de corrimiento,estoledar mas elegancia a nuestro diseo que podemos implementar en juguetes o iluminacin, slo cuando oprimamos el pushbutton conectado al pin A0 el corrimiento se efectuar. El diagrama de flujo de nuestro programa se muestraenlafugura.

19

Como paso inicial para crear el cdigo fuente .C donde podemoseditarnuestroprograma,procedemosaindicarla secuencia clsica de apertura del programa, en Windows, esto es, hacemos clicen Inicio > Todos los programas >PIC C>PICCCompiler.

SecuenciaparaabrirelPICC.

Diagrama de flujo para nuestroprograma.

SeabrirlasiguienteventanaconelcompiladorPCW.

Ambientedelcompilador.

20

En l encontramos la clsica barra de mens Archivo, Proyecto, Edicin, Buscar, Opciones, Ver, Herramientas, etc. Para iniciar y escribir nuestro primer programa hacemos un clic en el men

Archivo, que tiene un cono de carpeta amarilla. Despus un clic en Nuevo y despusenArchivofuenteoSourceFile comoseveenlafigura.

Secuenciaparacrearunnuevoarchivodecdigofuente.

Inmediatamente aparece un cuadro de dilogo para indicar dnde y con qu nombre guardar nuestro cdigo fuente,

en este caso lo guardamos en la carpeta Blasted con el nombre de introduccin.c

Figuraquemuestralacarpetadestinodenuestroarchivodecdigofuente.

21

Hecho esto tendremos una nueva pestaa en el command window llamada introduccin, en la cual ya podemos comenzar a escribir nuestro cdigo del programa. Este compilador tiene las mismas reglas de sintaxis del lenguaje C, los comentarios estndar se escribirn iniciando en // y otros globales como //* como/*. Podemos incluir las tpicas libreras de C, utilizar las clsicas estructuras if, ciclos while, for, etc., las definiciones bsicas de nmeros como int, int8, char,short,long,etc. Entonces sabiendo todo esto podemos compilar
#FUSES #FUSES #FUSES #FUSES NOWDT XT NOPROTECT NOLVP

fcilmente programa.

cualquier

Como primer paso en C para la programacin deberamos incluir las libreras que nos son tiles, en C clsico incluimos por ejemplo #include<stdio.h> , aqu podemos incluir libreras de este tipo, una de mucha utilidad es la librera que nos define cada pin de cada puerto de nuestro PIC, y por lo general llevan el nombre delPIC.Paraesteejemplo anotaremos #include<16F877A.h> que es por el mirocontrolador que vamos a utilizar. As pudimos haber incluido la definicin para el PIC de nuestro agrado como #include <18F452.h> u otra que contenga el

compilador. Al hacer esto entonces ya tenemos definido el puerto A en los pines 2 al 7, B en los pines del 33 al 40, como lo debe estar indicado en eldatasheetdelPIC. Algo nuevo en este compilador es que podemos ordenar desde cdigo al el quemador de PICs las opciones con las que debe quemar nuestro dispositivo, por ejemplo el Watchdog, el famoso LVP, la proteccin a cdigo, el MCLR, el oscilador, la proteccin decdigoyotros. Para hacer esto lo indicamoscomo#FUSESy la palabra que indica qu settings necesitamos, aqu configuraremos los siguientes:

#FUSES NOCPD

//Deshabilitar el watchdog //Oscilador de cuarzo <= 4mhz (HS para >4MHz) //Sin proteccin de cdigo de lectura //Sin low voltage prgming, // B3(PIC16) o B5(PIC18) usado para I/O //Sin proteccin EE

Despus una parte importantsima, que es

la frecuencia del oscilador y esto se hace

con #use, de siguientemanera:

la

#use delay(clock=4000000) //Usar un oscilador de cuarzo de 4 MHz

Notequeestaesunade las partes que nos necesitamos aprender

ya que en cualquier programa debemos incluir esta parte,


22

donde el nmero indica el nmero de Hertz del oscilador, entonces,

podemos cambiarlo a nuestro criterio a 20000000 por ejemplo para un Finalmente llegamos a la parte familiar del C, donde escribimos las rutinas, los objetos, etc., aqu escribimos el famoso void main(){}, que es la rutina principal que har que nuestro programafuncione. Entre las llaves {} escribiremos el programa que tomaremos de nuestro diagramadeflujo. Para ello necesitamos encender por default los 8 bits del puerto B, y si el

osciladorde20MHz. pushbutton es presionado se debe hacer el corrimiento de tipo auto fantstico. Dentro del programa principal necesitamosdeclararunavariablelocal, que ser el valor ledo del pin A0 para saber qu hacer, si seguir mostrando todo el puerto B en alto o hacer el corrimiento de un bit a la derecha y luego a la izquierda, todo esto dentro de una estructura dowhile, para que el programaseejecuteinfinitamente.

Escribimosentonces:
void main() { do{ int valor; valor=input(PIN_A0); } //Aqu va el resto del cdigo que necesitamos. while(TRUE); } //Condicin de bucle infinito //Fin del Programa. Gracias!!! //El clsico Void main de C. //Inicio del programa //Ciclo Do/While //Variable local entera //el valor de la variable se lee en el PIN_A0

Donde la variable local la llamamos valor y es de tipo entero entero de 8 bits. Ahora bien para leer esta variable usaremos otra instruccin muy importante que podemos ver en el cdigo escrito y es la instruccin input(valor_a_ser_leido); entonces la variablevalorlaigualamosalaentradaquehayenA0,esdecir:
valor=input(PIN_A0);

Ahoraelprogramaestleyendocontinuamentelaentradadelpushbutton,restahacer que cuando lea un 1 lgico todos los LEDs estn encendidos y cuando lea un 0 se hagaelcorrimientounavez. Esosehacetanfcilagregandounsimpleif.
23

if(valor==0) { } else{ }

Entonces de acuerdo a nuestra condicin agregaremos una salida de 11111111b cuando leamos un 1, en la parte else con el comando output_puerto(valor_en_hexadecimal); en este caso ser el puerto B y la salida ser 0xFFh
if(valor==0) { } else{ output_b(0xFF); }

Y para la parte del otro valor escribiremos muchos output_b(); con las diferentes salidas del corrimiento, claramente se nota que para que lo podamos ver necesitamos colocar retardos entre cada salida, aqu los retardos son hechos con el comando delay_us(retardo); ,delay_ms (retardo); delay_cycles(retardo); , para retardos de microsegundos, milisegundos personalizados respectivamente. Como queremos que sean visibles, entonces colocaremos retardos en milisegundos, con 70 milisegundos sonsuficientes.Notequeenlenguajeensambladorestonosllevaraahacerrutinasde retardosanidadosmuygrandesyllamarlosacadarato.
Escribimosentoncesdentrodelif
output_b(0x00); delay_ms (70); //Salida del dato hexadecimal en el puerto B //Esperar retardo de 70 milisegundos

Yassucesivamenteparacadavalordelcorrimientocomosifueraunamemoriaconsu respectivoretardo. Comoenlaparteinicialde#FUSESnoincluimosladeMCLR,estaopcinfuncionaryesta terminadonuestroprogramaquemostramoseneldiagramadeflujo. Elprogramaenterosemuestraacontinuacin.


//Comentarios=// //Primer programa en PICC compiler CCS //Blasted Robotics //Revista nmero 1. Noviembre 2008. FCE BUAP. ////////////////////////////////////////////////////////////////////////////// //

24

/// Libreras /// ////////////////////////////////////////////////////////////////////////////// // #include <16F877A.h> //Incluimos las definiciones para el pic //Podemos usar cualquier librera disponible ////////////////////////////////////////////////////////////////////////////// // /// Opciones de quemado /// ////////////////////////////////////////////////////////////////////////////// // #FUSES NOWDT //Deshabilitar el watchdog #FUSES XT //Oscilador de cuarzo <= 4mhz (HS para >4MHz) #FUSES NOPROTECT //Sin proteccin de cdigo de lectura #FUSES NOLVP //Sin low voltage prgming, // B3(PIC16) o B5(PIC18) usado para I/O #FUSES NOCPD //Sin proteccin EE ////////////////////////////////////////////////////////////////////////////// // /// Oscilador /// ////////////////////////////////////////////////////////////////////////////// // #use delay(clock=4000000) //Usar un oscilador de cuarzo de 4 MHz ////////////////////////////////////////////////////////////////////////////// // void main() { do{ int valor; valor=input(PIN_A0); if(valor==0){ output_b(0x00); delay_ms (70); output_b(0x01); delay_ms (70); output_b(0x02); delay_ms (70); output_b(0x04); delay_ms (70); output_b(0x08); delay_ms (70); output_b(0x10); delay_ms (70); output_b(0x20); delay_ms (70); output_b(0x40); delay_ms (70); output_b(0x80); delay_ms (70); output_b(0x40); delay_ms (70); output_b(0x20); delay_ms (70); output_b(0x010); delay_ms (70); output_b(0x08); delay_ms (70); output_b(0x04); delay_ms (70); output_b(0x02); delay_ms (70); output_b(0x01); delay_ms (70); //El clsico Void main de C. //Inicio del programa //Ciclo Do/While //Variable local entera //el valor de la variable se lee en el PIN_A0

//Salida del dato hexadecimal en el puerto B //Esperar retardo de 70 milisegundos

25

} else{ output_b(0xFF); } } while(TRUE); } //Condicin de bucle infinito //Fin del Programa. Gracias!!!

ElprogramaescritoenC.

Tenemos ya el cdigo fuente, entonces necesitamos compilarlo y generar por lo menos el cdigo para programarlo al PIC, es decir, el .hex, pero para generarlo es necesario crear un nuevo proyecto, para hacerlo seleccionamos

el men Project >Create, y aparecer el siguiente cuadro de dilogo que nos pedir una ruta para abrir, tenemos que abrir el cdigo que acabamos de generar, el introduccin.c, lo buscamos donde lo guardamos, recordemos que lo guardamos en la carpeta Blasted, y hacemosunclicenabrir.

26

Inmediatamenteotrocuadrode dilogonospreguntarquPIC utilizaremos,paraestediseohemos elegidoelPIC16F877A,sihubisemos

elegidoelpic18f452igualtendramos queanotarese,loanotamosyhacemos clicenApply.

Una vez creado nuestro proyecto ya podemos compilar nuestro cdigo hecho. Hacemos n clic en el men Compile, y luego un clic en Compile o presionemos F9. Automticamente el
27

programa se compilar con su compilador respectivo de la pestaa Lookup Part y nos marcar si tenemos errores, nos generar traducciones al asmyotrosvariosarchivostiles.


BotnCompilar.

Elprogramacompilndose,consuversinPCMparael877,generael.err,.hex,etc.Ynosmuestrala cantidaddememoriaqueestamosutilizandoeneldispositivo.

En este caso tenemos 0 errores y 0 advertencias, queriendo decir que el programa ya puedeserquemadoenunPIC.

28

El esquema del circuito se muestra a continuacin y puede ser simulado en Proteus 7.1 y funciona correctamente, una buena opcin cuando no contamos con recursos paracomprarunPIC.

Esquemtico.

El PIC16f877A contiene el cdigo introduccin.hex programado, para programar el PIC utilizamos el quemador Winpic800 con el GTP_USB_Lite pero pueden usar cualquier otro programador como el incluido en PICC que es el ICD cuya informacin la encuentran fcilmente en la red. Y podemos usar cualquier otroconel.hexel.cof. Finalmente comentamos que este compilador tiene opciones de Wizard para PICs ms sofisticados y en general para cualquier PIC, tiene libreras HID, USB, tiene un monitor de puerto serial, convertidores de cdigo a C, buscador
29

de datasheets, convertidor de nmeros, editor de macros y una muy buena ayuda que podemos leer y continuar aprendiendo a usar este programa y sus dems funciones que no son explicadas en este artculo. :) R.D. Autor: Miguel ngel San Pablo J. blastedrobotics@yahoo.com.mx Referencias: www.ccsinfo.com/ El demo del picc lopuedesdescargaraqu.

CONVERTIDORES ADCYDAC
INTRODUCCION En la actualidad existen diversos sistemas electrnicos que van desde la aplicacin de la ley de ohm hasta sistemas desarrollados para las comunicaciones, aplicados en la electrnica de potencia, bioelectrnica, robtica en sistemas digitalescomosonlasmicrocomputadorasyhaciendo una interfaz con el mundo real pasndolo por un sistemaanalgicoyllevndoloalossistemasdigitales. El espectacular desarrollo de la microelectrnica ha intensificado la tendencia generalizada, a aumentar la complejidad del sistema fsico (hardware) para elevar lavelocidaddelosprocesadoresdigitalesyampliarde esaformasucampodeaplicacin. Esto hace que como estudiantes nos veamos obligados a cambiar nuestros mtodos de diseo y a elevarlacapacidaddesntesisdeestructurasdigitales complejas. En esta ocasin el desarrollo de esta prctica esta fundamentadaenlosconvertidoresanalgicodigitaly digitalanalgico veremos su estructura, su funcionamientoylaaplicacinqueledamos. CONVERTIDORANALGICODIGITAL(ADC) Un conversor analgicodigital es un dispositivo electrnico capaz de convertir un voltaje determinado en un valor binario, en otras palabras, este se encarga de transformar seales anlogas a digitales(0'sy1's). Cmofunciona? PoseendossealesdeentradallamadasVref+ y Vref y determinan el rango en el cual se convertir unasealdeentrada. El dispositivo establece una relacin entre su entrada (seal analgica) y su salida (Digital) dependiendo de su resolucin. Esta resolucin se pude saber, siempre y cuando conozcamos el valor mximo que la entrada de informacin utiliza y la cantidad mxima de la salida en dgitos binarios. A manera de ejemplo, el convertidor anlogo digital ADC0804 tiene la capacidad de convertir una muestra analgicadeentre0y5voltiosysuresolucines: Resolucin=valoranalgico/(2^8)1 Resolucin=5V/255 Resolucin=0.0196vo19.6mv. Lo anterior quiere decir que por cada 19.6 milivoltios que aumente el nivel de tensin entre las entradas nomencladas como "Vref+" y "Vref" que ofician de entrada al conversor, ste aumentar en una unidad su salida (siempre sumando en forma binariabitabit). CONVERTIDORDIGITALANALGICO(DAC) Caractersticas

Las seales son convertidas a formato discreto (digital) para facilitar su transmisin oalmacenamiento. Es posible realizar mediante procesamiento digital acciones imposibles de obtener mediante el procesamiento analgico (por ejemplo, filtros con respuesta de frecuencia arbitraria).

La conversin se hace en forma digital porque sta es usualmente ms simple de realizar y ms barato de implementar que en la conversin analgica. Adems las seales digitales requieren usualmente menos ancho de banda y pueden ser comprimidas. Sin embargo, hay una prdida inherente de informacin al convertir la informacin continuaendiscreta. APLICACIONES

ProcesamientoDigitaldeSonido ProcesamientoDigitaldeVoz ProcesamientoDigitaldeImgenes ProcesamientoDigitaldeVideo

30

La conversin de digital analgico se utiliza en el procesamiento de msica (por ejemplo MP3), de voz, telfonos celulares, transmisin de imgenes y video. Uno de los beneficios principales del DAC es quelastransformacionesdesealessonmssencillas de realizar. Una de las ms importantes transformadas es la Transformada de Fourier discreta (TFD). Esta transformada convierte la seal del dominio del tiempo al dominio de la frecuencia. La TDF permite un anlisis ms sencillo y eficaz sobre la frecuencia, sobre todo en aplicaciones de eliminacin deruidoyenotrostiposdefiltrado. CONVERTIDORANALGICODIGITAL(ADC) Una conversin analgicadigital consiste en la trascripcin de seales analgicas en seales digitales, con el propsito de facilitar su procesamiento (encriptacin, compresin, etc.) y hacer la seal resultante (la digital) ms inmune al ruido y otras interferencias a las que son ms sensibleslassealesanalgicas. TIEMPODECONVERSIN: Esel tiempo que tardaen realizaruna medida el convertidor en concreto, y depender de la tecnologa de medida empleada. Evidentemente nos da una cota mxima de la frecuencia de la seal a medir. Si no respetamos el tiempo de conversin, en la salida tendremos un valor, que dependiendo de la constitucindelconvertidorser: DESARROLLO 1. Como primera parte se implemento una etapa de oscilacin con un CI 555 en

1. Un valor aleatorio, como consecuencia de la conversinencurso 2. Elresultadodelaltimaconversin OBJETIVO Crear primeramente un Convertidor Digital Analgico (DAC) a base de transistores PNP, en este casousaremoseltransistorBC557,comonuestroDAC queremos que sea de 8 bits, entonces necesitamos 8 transistores BC557. Ya estando funcionando el DAC, procederemos a conectar estas salidas analgicas a un Convertidor AnalgicoDigital (ADC), este ADC siendo creado tambin por componente a componente; al conectar el DAC con el ADC necesitaremos Buffers, contadores y una latch, obteniendoasienlasalidaunasealdetipoRAMPA. MATERIAL: TransistoresBC557 Contadores(74LS293) Amplificadoresoperacionales(OP_AMPs) Resistenciasde1KOhm Resistenciasvariables leds capacitaresceramicos Protoboards cableparalasconexiones Buffer(CD4049) Latch(74LS374) Comparador(LM339) CLK(LM555)

configuracin astable como se presenta a

continuacin:

31

. . madeun Diagram oscilado orcon555

2. Comosegundaeta apaseimplementaron contad dorespatamandar m unosycerosa nuestr rostransistores.


Diag gramadecontador

32

3. Enlatercera t etapa aconectamo oslasalidade loscon ntadoresabuffers b estosparatener unamejor m sealparalostrans sistores,yas 4. u etapa a mostramo os En esta ultima ro Conver rtidor Analgico/Digita al nuestr (ADC), , a la cual se e le agrego amplificacin en mo odo inversor para que la seal sea positiv va y de all a un compa arador la cua al

tenemo osnuestroC Convertidor Digital/ /Analgico(D DAC)comple etocomolo mostra amosenlafig gura.

nos compara nuestra seal de entrada del taje de entra ada, la salida a DAC y nuestro volt del com mparador es s la que nos s da el pulso o de acti ivacin a la LATCH y esta es la que e da nues nos stra salid da digital.

Dia agramaparaelDA AC.

33


Dia agramaparaelAD DC.

34


IM MPLEMENTA ACION Acontinuacin npresentam moselcircuito oimplentado o pa araestaprc ctica.

RE ESULTADOS tinuacin pre esentamos los resultado os A cont btenidos en esta prctic ca. Se obser rva la ramp pa ob ob btenidapornuestro n DAC C.

BIBLIOGRAFIA

1. RUMSE EY,FrancisyMcCORMICK K,Tim. Sonidoygrabacin n.Introducci nalas tcnica assonoras.2 2004. 2. WATKINSON,J.Ela artedelaudiodigital. IORTV,Madrid,199 93 3. Robert tF.Coughlin, ,Frederick.D Driscoll, Amplifi ficadoresope eracionalesycircuito integra adoslineales, s,quintaedic cion. 4. http:// /www.entera ate.unam.mx x/Articulos/ dos/ab bril/audiodig.htm 5. http:// /www2.canalaudiovisual. .com/ezine/ books/ /acjirINFORM MATICA/3info o01.htm Autor: Pab bloGonzales sVellano.

35

Cuestionario.
Tema:MecnicaClsica.LaFuerzadeGravedad.
Para Newton la gravedad es un caso particular de la fuerza que al actuar sobre la masa inercial de un cuerpo lo acelera. La fuerza de gravedad, que al menos obra entre dos cuerpos, acta sobre sus masas gravitacionales tiempo curvo. As, los cuerpos, bajo la accin de un campo gravitatorio

esttico, sin gravitones y velocidad, inercialmente aceleracin se mueven, dentro de con las

uniforme,

geodesias de la curvatura del espaciotiempo de una regin local, que los tiende a unir en su centro de masas.

instantnea y a distancia, en un espacio tridimensional plano absoluto e

independiente de un tiempo absoluto uniforme y hace que los cuerpos

aceleren hacia cada otro.

Para los fsicos cunticos la gravedad es la fuerza de interaccin, entre cuerpos, que acta a travs del campo de

gravitatorio

esttico,

compuesto

gravitones virtuales, emitidos de su masa-energa y viajan cerrados a c.

En la Relatividad General la inercia, del espacio plano, se generaliza al espacio-

Acontinuacinpresentamosunasseriedepreguntasparaquelasmeditesypiensesun poco,resulvelasyverasqueserentretenido. Noesnecesariohaceroperaciones,slotienesquepensaryrazonarsinestresarte. Suerte!


36

Pregunta1:QusucederasiustedhoradaraunhuecodesdeelPoloNortehastael PoloSur,ydejaracaerunaboladentrodelhueco?

37

Pregunta2:Siusteddispararaunaboladirectamentehaciaarriba(a90gradosdel horizonte),yunabalaaunngulode45gradosdelhorizonte,cultocaraelsuelo primero?

38

Pregunta3:SiustedpudierahacergirarlaTierracincovecesmsdeprisaquesu rotacinactualdeunavueltadiaria,aumentaranotablementelagravedad?


39

Pregunta 4: Si usted dejara caer una bola desde una altura de 3 metros, y simultneamente disparara una bala paralela al horizonte, cul llegara antesalsuelo?

40