5
Robótica Fácil Buscar Página Principal Novedades Ayuda Ver Carrito Catálogo Control de Robot desde PC. Control de los circuitos de un robot desde Visual Basic. Por Pablo Pompa Hoy en día es posible controlar todos los componentes de un robot desde nuestro PC de forma que el robot incluya los sensores, los controladores y los motores, y el PC pone la "inteligencia" que controla todo el robot y lo mejor de todo es que podemos hacerlo incluso sin cables, vía radio y con tan solo una conexion USB. Lo primero que hay que tener claro es que lo que tratamos de hacer es un ejemplo de como controlar diferentes circuitos y sensores desde nuestro PC, para ello hemos seleccionado algunos de los componentes mas populares en los robots y hemos realizado un programa modular en que se muestra como se controla todo. Los circuitos que incluye el robot son: MD23 Controlador de motores doble de 3 +3 amperios. SRF02 Sensor de ultrasonidos simple (compatible con el SRF08 y el SRF10) CMPS03 Sensor brújula digital. TPA81 Sensor térmico de 8 pixeles. RLY08 Circuito de control de 8 reles. LCD03 Display LCD de 4 líneas de 20 caracteres con teclado. SD21 Circuito de control para 21 servos La forma y cantidad de circuitos empleados en cada robot depende de cada uno y de sus necesidades, lo que significa que los elementos son opcionales y solo se incluyen a modo de ejemplo. Por ejemplo es posible hacer un robot que solo tenga un controlador de motores MD23 y un sensor de ultrasonidos, o bien que tenga 8 sensores de ultrasonidos y 2 sensores térmicos y nada mas, etc. En nuestro caso hemos puesto los necesario para que nuestro prototipo esté lo mas completo posible.

Control de Robot Desde PC

Embed Size (px)

DESCRIPTION

Control de Robot Desde PC

Citation preview

  • RobticaFcilBuscar

    PginaPrincipal Novedades Ayuda VerCarrito Catlogo

    ControldeRobotdesdePC.

    ControldeloscircuitosdeunrobotdesdeVisualBasic.

    PorPabloPompa

    Hoyenda es posible controlar todos los componentes deun robot desdenuestro PCde formaque el robot incluya lossensores,loscontroladoresylosmotores,yelPCponela"inteligencia"quecontrolatodoelrobotylomejordetodoesquepodemoshacerloinclusosincables,varadioycontansolounaconexionUSB.

    LoprimeroquehayquetenerclaroesqueloquetratamosdehaceresunejemplodecomocontrolardiferentescircuitosysensoresdesdenuestroPC,paraellohemosseleccionadoalgunosdeloscomponentesmaspopularesenlosrobotsyhemosrealizadounprogramamodularenquesemuestracomosecontrolatodo.Loscircuitosqueincluyeelrobotson:

    MD23Controladordemotoresdoblede3+3amperios.

    SRF02Sensordeultrasonidossimple(compatibleconelSRF08yelSRF10)

    CMPS03Sensorbrjuladigital.

    TPA81Sensortrmicode8pixeles.

    RLY08Circuitodecontrolde8reles.

    LCD03DisplayLCDde4lneasde20caracteresconteclado.

    SD21Circuitodecontrolpara21servos

    Laformaycantidaddecircuitosempleadosencadarobotdependedecadaunoydesusnecesidades,loquesignificaqueloselementossonopcionalesysoloseincluyenamododeejemplo.Porejemploesposiblehacerunrobotquesolo tengauncontroladordemotoresMD23yunsensordeultrasonidos,obienquetenga8sensoresdeultrasonidosy2sensorestrmicosynadamas,etc.Ennuestrocasohemospuesto losnecesarioparaquenuestroprototipoest lomascompletoposible.

  • UnaparticularidaddetodosloscircuitosanterioresesquetodostienenconexinI2Cqueesunaconexiontipobusquesolonecesita 2 hilos para interconectar todos los circuitos entre si. Todos los circuitos actan como esclavos de un circuitoprincipalllamadoMasterqueeselquecontrolamosdesdeelPCyqueenestecasosetratadelcircuitoUSBI2C.Elmastereselcircuitoquesiempreinicialaconversacinconelrestodelosmdulos,losesclavos,queloquehacenesobedecerycontestaralaspeticionesquehaceelmodulomasteroprincipal.

    DeigualformasiloquequeremosesutilizarunsolocomponenteyconectarloalPC,necesitaremosutilizarelcomponenteelejidojuntoconelcircuitoUSBI2C.PorejemplosiqueremosconectarundisplayLCD03alpcporUSB,loquehacemosesconectareldisplayalcircuitoUSBI2CyluegoestealPCmedianteuncableUSB.Paracontrolarloutilizaremoselprogramaproporcionadoenesteejemploodirectamenteextraemos lapartequenos interesayhacemosnuestropropioprogramasegnnuestrasnecesidadesyaqueseincluyeelprogramafuentedelmismo.

    CableadaoVaRadio

    Unaposibilidadadicionalesquelacomunicacinserealicevaradio,enestecasolonicoquetenemosquesustituireselmoduloUSBI2CporunRF4transceptordedatosUSBenelladodelPCyunCM02transceptordedatosI2Cenelladodelrobot.ELrestodeloscomponentesascomoelprogramadecontrolsiguensiendoelmismoporloquepasardeunaversinalaotraesunaoperacinmuysencilla.

    LonicoquehayquetenerencuentaentreambosmodosdefuncionamientoesqueenelcasodelmoduloUSBI2CesteyaincluyelasdosresistenciasdepolarizacindelbusI2C,mientrasqueenelcasodeltransceptordedatosUSBCM02,nolasincluyeporloqueserianecesarioincluirlasdosresistenciasde1K8ohmiosentrelospinesSDAy+5VySCLy+5v.

    UnaventajaadicionaldelmoduloCM02esque tieneun interruptordeencendidoycuentaconsupropio reguladorde5Voltios,lonospermitealimentarelmodulocontensionesentre6y12voltiosyademsdisponerde5voltiosy200mAparaalimentar losotros circuitosdel robot conectadosalbus I2C.Este circuito tambin cuenta conun registroparamedir latensindelabatera,porloqueesposiblesaberelestadodelamismaremotamenteparaunmayorcontroldelrobot.

    OtrodetallequehayquetenerencuentaesquelasconexionesdelCM02sonde4pinesylasdelUSBI2Cson5pinesporloquehayqueprestaratencinalahoradehacerlasconexionesconlosdiferentescircuitos.LomismopasaconelcircuitodecontroldemotoresMD23queincluyesupropiaalimentacindesdelabateraporloquesolosernecesarioconectarlosdoshilosdelbusI2CSDAySCLylatierracomnparatodosloscircuitos.

    Al igual que pasa con elmodulo CM02, elMD23 incluye su propio regulador de tensin y tambin proporciona 300mA

  • adicionalesparaalimentarcircuitosexterno.Estoquieredecirqueenlapracticayconsolounabaterade12Vtenemoslaalimentacinnecesariapara losmotoresyparael restode loscircuitos,sinnecesidaddemas reguladoresni fuentesdealimentacin

    Esmuyimportanteconsultarlaspaginasdemasinformacindecadaunodeloscircuitosparaverlasconexionesdecadamodulo.De igual formaes recomendable conectar unmodulo de cada vez y probar con el programaque todo funcionaperfectamente antes de aadir otro elemento, con lo que conseguiremosminimizar los riesgos y facilitaremosmucho latareadedescubrirfallosyerrores.

    Enelcasodequeutilicemosmasdeuncircuitodelmismotipoenelmontaje,esnecesarioasignaracadaunodeellosunadireccindiferentedentrodelbusI2C.Porejemploennuestroprototipohemosempleado5sensoresdeultrasonidosSRF02porloqueloprimeroquehemoshechoesasignaracadaunounanuevadireccinconlaayudadelprograma.Lonicoquehay que tener encuenta es que a la hora de hacer un cambio de direccin SOLO PUEDE HABER UN SOLO CIRCUITOCONECTADOalbusI2C,yaquedelocontrariosepuedenproducirresultadosinesperados.

    Elprograma

    ElprogramadecontrolestaescritoutilizandoVisualBasic6,queesunodeloslenguajesmasconocidosypopularesentrelosaficionadosa la robticapor su facilidaddeusoysencillezdeaprendizaje.Se incluyeelproyectocompleto tantoenversincompiladaylistaparainstalarencualquierordenadorconWindows,comoelcdigofuentecomentadoparafacilitarsucomprensinyentendimiento.

    Elprogramaestdivididoenmdulosporloqueesfcilmenteadaptableaotrasnecesidades,ademselcdigofuenteestacomentadoparaayudaraentendercadaunadesuspartes.Quitandounascuantasrutinacomunesquesonbasicamentelasqueinicianelpuertoserieylasquemandanyrecibenlosdatosdesdeelmismo,todaslasdemassonindependientesparacadaunodelosdiferentescircuitos.Veamosalgunoscomentarios.

    MD23

    Elcontroladordemotorestienevariosmodosdefuncionamiento,incluyendolaposibilidaddecontrolarlosdosmotoresdeformasimultaneayqueseaelcontroladorelqueseencarguedehacerlosgirosdeformaautomtica.Tambincuentaconvarios registros especiales para cambiar la velocidad de aceleracin, quitar la auto velocidad, es decir que aumente odisminuyalapotenciadelmotorhastaqueesteconsigalavelocidadprogramada,oactivarelsegurodeautostopporponersoloalgunosejemplos.Lomejoresleerladocumentacindelproductoparavertodoslosregistrosdisponible.Ademsdelasordenesdecontroldirecto,tambinsehaaadidolaposibilidaddeleerloscontadoresdelosencoderdelosmotores,elconsumoelctricodelosmismosy latensindelabateraParacontrolarelmovimientodelrobotsepuedenemplear losbotonesdeaccesodirectoadelanteoatrsylosdegirohacialoslados,odirectamentepulsadoconelratonsobreelcuadrosuperior.Cuantomaslejosestdelejecentralmasrpidoirnlosmotores.

    Si se conectaun circuitoMD23 con sus correspondientesmotorespodemosver fcilmente comoafecta cadaunade lasopcionesseleccionadasycomosacarleelmayorpartidoaesteinteresantesistemadetraccinpararobot.

    SRF02

  • Esteessindudaunodelossensoresdedistanciamaspopularesnosoloporsuscaractersticaselctricasysucapacidaddemedicin, si no por el hecho de utilizar un solo elemento transductor de ultrasonido para hacer lamedicin que ahorraespacioysimplificaelmontaje.Ennuestroprototiposehanempleado5deestossensoresconel findetomarcontrolartantoelfrontalcomolosdoslateralesdelrobot.Paraelloloprimerohasidocambiarladireccina4delos5sensores,paraque fuerandiferentesdentrodelbus.Estosehaconseguidoconectandounsolocircuitocadavezenelbus I2Cy luegoempleandoelbotndecambiardireccinqueapareceenelmoduloGeneral.Unavezquesetienentodoslossensoresconsucorrespondientesdirecciones,serealizalamedidasimultaneadelos5desdeelbotn"MedirDistancias",mostrandoseelresultadoencentmetrosjuntoalarepresentacingrficadecadasensor.

    CMPS03

    Labrjuladigitalesuncircuitomuypracticoyfcildeutilizarquenosdevuelveelvalorengradosenqueseencuentraelrobot con respecto al Norte Magntico. La brjula puede ser una ayuda muy importante cuando se trata de hacernavegacin en interiores ya que permite saber en todo momento hacia donde dirigirse tras salvar los obstculoscorrespondientes.

    TPA81

    Estesensordetemperaturade8pixelesescapazdemedirladistanciadeunobjetoadistancialoqueresultamuytilparaunrobotpuespermitedetectarpuntoscalientessinnecesidaddehacercontacto,ademselsensortiene8pixelesalineadosverticamentequeleposibilitanunamayorcapacidaddediscriminacindelasdiferentesfuentesdecalor.

    RLY08

    Estecircuitoincluye8relesquesepuedenconectarydesconectaravoluntad,porloqueresultamuytilparamanejartodaclasedeaparatosydispositivosconinterfacesmediantecontactos.Losrelessondepequeapotencia,perosuficienteparalamayora de las aplicaciones. Si es necesaria unamayor capacidad demaniobra, lomejor es emplear rels demayortamaocuyabobinaseacomandadaporlosrelesdelcircuitoRLY08.

    LCD03

    EstedisplaylcdtienedobleinterfacesserieyI2C,enelcasoquenosocupa,estaremosutilizandoesteultimoprotocolo,porloquesedebeprestaratencinalaconfiguracindelpuentedemodoqueseencuentraenlapartetraserayquepermiteseleccionaruninterfazuotro.Ademsdepodermandarcualquiertextoaldisplay,tambinsehanimplementadobotonesparalimpiarlapantalla,encenderyapagarlailuminacindefondoybotndenominadoteclado,quealpulsarloesperaaquesepulseuncdigode4cifraseneltecladodeldisplayydespueslomuestraenlapantalla.Estaultimaopcinessolounejemplodecomoutilizareltecladoopcionalquesepuedeconectareneldisplay.

    SD21

    ElcircuitocontroladordeservosSD21escapazdecontrolarhastaunmximode21servosdeunaformamuysencilla.Enestecasosehanincluidouncontroldeslizanteporcadaunodeloscanalesdeformaquepodemoscontrolarlaposicindecadaunodelos21canales.Hayuntambinuncontroldeslizantecomnquecontrolalavelocidaddetodosloscanales,conloquesepuedenconseguirmovimientosmassuaves.

    Porultimorecordarqueelpropositodelprogramaesservirdeejemploypuntodepartidaparaquecadaunopuedahacersupropioprogramaespecificoparacadarobotoaplicacin.

    PuededescargarelprogramaRobotI2Ccompletoincluyendoelcdigofuenteaqu.

    ControldeRobotdesdePC.IralaPginaPrincipaldewww.SuperRobotica.com

  • Actualizadael06/02/201520022015INTPLUS.Todoslosderechosreservados