control de robot desde pc
DESCRIPTION
Control de Robot Desde PCTRANSCRIPT
-
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