LusoRobótica - Robótica em Português
Robótica => Projectos de robótica => Projectos Concluídos => Tópico iniciado por: Tayeb em 03 de Setembro de 2010, 18:56
-
Olá membros e visitantes,
O Pedro Vicente, aluno do 3º ano do IST, engenharia de electrotecnia e de computadores, esteve a estagiar na Aliatron durante as férias de Verão.
Hoje, no seu último dia na Aliatron finalisou um projecto com o Robo-51 da Inex e comunicações bluetooth com controlo pela Internet.
O projecto será Open Source e publicado em breve pelo Pedro., incluindo aqui neste fórum.
Existem algumas soluções inovadoras que o Pedro preconizou.
Tayeb
-
Fixe! Pode ser o começo para alguns !
-
Como adicional ao projecto do Pedro, fiz algo interessante ligando Processing (http://processing.org/) ao Robo-51.
Alto lá para quem pensa que se trata de um projecto com Arduino. Não, sr! Trata-se sim, de Processing com 8051! O bluetooth é só um meio de comunicação série. Até que podia ser uma cabo USB ou DB-9.
Esperarei pelo Pedro que ele publique o seu trabalho, para que depois eu explique aqui como é que liguei Processing ao bluetooth e por sua vez ao Robo-51.
Espero que tenha despertado interesse dos entusiastas da robótica deste espaço.
-
Como funciona o 8051
-
Não entendí a sua pergunta. 8051 é a mãe de todos os micrcontroladores, e um padrão na Indústria quando se deseja um micrcontrolador robusto. Os chineses e os indianos são fãs do 8051.
Se está a perguntar como o programei, explico que foi o Pedro que o programou, usando linguagem C, tal como se faz com o Arduino.
-
Um 8051 é mais uma especie de mini computador que um micro-controlador devido aos interfaces extra que tem, tipo dma e coisas assim.
-
A intel tem bons microcontroladores ?
-
A intel não faz micro-controladores.
Para o iniciante atmega ou pic é o melhor, mas tens micro-controladores da ti, os msp, tens os xmos que se baseiam muito em processamento paralelo pois tem mesmo vários cores, e depois tens todo um mundo de arm's, sendo os mais virados para o hobby os cortex m3 e m0.
-
A intel não faz micro-controladores.
Para o iniciante atmega ou pic é o melhor, mas tens micro-controladores da ti, os msp, tens os xmos que se baseiam muito em processamento paralelo pois tem mesmo vários cores, e depois tens todo um mundo de arm's, sendo os mais virados para o hobby os cortex m3 e m0.
Tipo nunca ouvi falar muito dos microcontroladores da Intel
-
Porque não existem, a intel só faz processadores, á muitos anos atrás fez micro-processadores que podem ser tornados com a ajuda de circuitos externos em micro-controladores, um exemplo é o 8051, ou o 80186.
-
Porque não existem, a intel só faz processadores, á muitos anos atrás fez micro-processadores que podem ser tornados com a ajuda de circuitos externos em micro-controladores, um exemplo é o 8051, ou o 80186.
Tou a falar desses antigos ...
-
Mas nem os encontras porque são raridades e compiladores C para aquilo são mais velhos que sei lá o que e é quase c proprietário, eu usei um 80186 numa cadeira e aquilo é um horror.
-
Até mete medo...
-
o 8051 ja tem 30 anos pegaram no z80 e meteram a memoria perifericos dentro da mesma caixinha (para ser mais fofinho xD) num principio de arquitetura Harvard e voilá o micro controlador surgiu.... cada vez mais vai cair em desuso embora as maquinas mais antigas o tenham... e acho que é utilizado nalgumas industria por causa de ser muito robusto (com 30 anos os breaks tiveram tempo se serem corrigidos)
ha muitas empresas que fazem micros do 8051 tipo atmel, phillips dallas etc...
eu nao acho que sejo um micro complicado até acho bastante simples...quanto ao compilador há muito coisa por ai franklin keil etc...para compreender o que é um micro na sua essência na minha opinão é por este que se começa... agora se isso for transparente pic´s atmegas e entao os arm´s são o futuro
-
Venho só desmistificar algumas coisas sem querer ofender ninguém:
A arquitectura Harvard é a arquitectura dos microcontroladores modernos tais como os PICs. Vêr na Wikipédia em:
http://pt.wikipedia.org/wiki/Arquitetura_Harvard (http://pt.wikipedia.org/wiki/Arquitetura_Harvard)
Para distinguir microcontroladores e microporcessadores, vêr em:
Não acho que seja importante se o 8051 é uma cópia do Zilog Z80. Neste contexto podemos dizer que as instruções dos PICs são cópias do 8051. O próprio Z80 copiou as instruções do Intel 8080. De qualquer modo Z80 era um microprocessador e não um microcontrolador. O conceito de microcontrolador advém do 8051 daí o facto de eu ter chamado 8051 mãe dos microcontroladores.
http://www.picvietnam.com/download/Basic%20Conceptions.pdf (http://www.picvietnam.com/download/Basic%20Conceptions.pdf)
Os 8051 é só um nome que se dá actualmente aos micrcontroloadores modernos daquela família. O anterior foi 8031 que ainda é utilizado. O microcontrolador que estivemos a usar no robô não é o 8051 de há 30 anos atrás, o qual era executado a partir duma EPROM externa. O que usamos hoje em dia são 8052 ou 8053 e são fabricados por empresas tão conceituadas como Atmel, o mesmo fabricante dos AVRs. O microcontrolador é de família CMOS e tem memória EEPROM e é veloz. É tão moderno como os seus congéneres PICs, AVRs, ARMs, etc. É tão moderno que a Cypress incorporou 8051 nos PSoCs.
Quando treinamos estagiários na Aliatron nem nos preocupamos em explicar o interior dos micrcontroladores. Eles são como caixas negras. Cingimo-nos só às entradas/saídas e à capacidade de memória e à velocidade. Acho que se devem usar compiladores como ferramentas de desenvolvimento. A nossa preferência é pela linguagem C (embora eu pessoalmente tenho uma preferência especial pela linguagem Basic) e se possível utilizar ferramentas Open Source. No caso actual o Pedro usou versão gratuita do compilador C da Raissonance
O microcontrolador 8051 é muito popular no meio académico porque é ainda ensinado e porque ainda existem muitas placas de desenvolvimento nestes meios. Esta talvez seja a razão porque nos países mais populosos como a China e a India o microcontrolador 8051 continue a ser muito popular.
Em suma não importa qual o microcontrolador que escolhemos mas sim os compiladores. Os compiladores da Keil são excelentes e eu por exemplo gosto de utilizá-los. O suporte técnico que oferecem é excelente.
Já agora o seguinte artigo explica porque 8051 é ainda tão popular. A chave é interrupts. No projecto do Pedro utilizou-se a porta P3.2 para o efeito:
http://www.replacelaptop.com/computing/the-popularity-of-8051-microcontrollers-the-role-of-c-in-programming-them-4860.html (http://www.replacelaptop.com/computing/the-popularity-of-8051-microcontrollers-the-role-of-c-in-programming-them-4860.html)
-
O meu primeiro contacto com micro controladores foi com um "8051" (AT89C51RD2 da atmel, uma máquina acreditem :) ) e sem dúvida que me marcou e criou logo ali uma paixão :D Até me está agora a dar vontade e fazer qualquer coisa com a minha plaquinha, talvez aprenda agora a programar em C para lá que quando comecei foi em assembly, o que também trouxe as suas vantagens no aperfeiçoamento de algoritmia na minha tola :o
Quanto ao keil então, nunca mais vi melhor sinceramente, o avr studio está a anos luz daquilo... ::)
(ok claro que estamos a comparar com uma ferramenta profissional e que deve ser bem cara nem sei... mas eu usava a básica e apesar daquilo dar sempre os avisos chatos uma pessoa habitua-se... hmm mas agora já nem sei se depois não teria trocado a básica pela normal ali do canto ;D )
-
ola...
atençao que eu nao disse que era harvard mas sim um principio dessa arquitectura que hoje esta implementada em varios micros...
na minha opinião é importante saber minimamente como o micro funciona por dentro por senão somos programadores e nao electrotecnicos... inda por cima a programar assembly convem saber isso...
quando disse que tem 30, não quer dizer que nao seja actual... um motor boxer duma bmw tem mais de 70 anos e ainda hoje é utilizado...
não estou a criticar...so disse isto para não me interpretarem mal...
abraço
-
Pois, a base pode ter 70 anos no caso do motor ou 30 no caso do micro, mas ao longo do tempo vão incorporando novas tecnologias e é isso que cria a evolução, a base pode ser a mesma mas um 8051 antigo não devia conseguir correr a 20 ou 30mhz e há até modelos que chegam aos 150Mhz, assim como um boxer antigo não tinha mais que 20 ou 30cv
-
Caro ivitro,
Concorco consigo que devemos conhecer a parte interna do micrcontrolador, porém pela experiência própria, alguém que se incia deve em primeiro lugar começar com as coisas simples (por exemplo piscar um led) e gradualmente evoluir.
Cedo terá que conhecer o interior do micrcontrolador. A linguagem C tem a vantagem de nos obrigar muito cedo a compreender o funcionamento interno do microcontroloador devido às bibiliotecas que temos que utilizar. Basta a biblioteca não fazer o que sejamos fazer, e lá estamos nós sem querer a analisar o funcionamento interno do micrcontrolador.
Tayeb
-
Pois, a base pode ter 70 anos no caso do motor ou 30 no caso do micro, mas ao longo do tempo vão incorporando novas tecnologias e é isso que cria a evolução, a base pode ser a mesma mas um 8051 antigo não devia conseguir correr a 20 ou 30mhz e há até modelos que chegam aos 150Mhz, assim como um boxer antigo não tinha mais que 20 ou 30cv
Se lermos a história dos micrcontroladores, tudo começa com 8470 que era usado pela Intel para controlar o teclado e há ainda teclados que levam um chip idêntico. O microprocessador Z80 nasceu com a saída de um engenheiro da Intel daí que as instruções de Z80 são idênticas às do velho Intel 8080. É fascinante. Porém ninguém tenta reinventar a roda. Melhora-se a roda e usam-se conceitos novos mas ninguém tenta reinventar a roda.
Como disse e bem o velho 8051 de há 30 anos coitado não podia correr a 20 ou 30MHz. É interessante saber que o PIC foi o primeiro micrcontrolador a incorporar memória Flash. Eu sou ainda do tempo em que o programa era guardado numa EPROM.
-
Como adicional ao projecto do Pedro, fiz algo interessante ligando Processing (http://processing.org/) ao Robo-51.
Alto lá para quem pensa que se trata de um projecto com Arduino. Não, sr! Trata-se sim, de Processing com 8051! O bluetooth é só um meio de comunicação série. Até que podia ser uma cabo USB ou DB-9.
Esperarei pelo Pedro que ele publique o seu trabalho, para que depois eu explique aqui como é que liguei Processing ao bluetooth e por sua vez ao Robo-51.
Espero que tenha despertado interesse dos entusiastas da robótica deste espaço.
Já concluí o projecto com Processing. Acrescentei ao projecto suporte de voz. Espero escrever o tutorial nas próximas horas. Logo que Pedro publique o seu trabalho, publicarei o meu, que como já expliquei utiliza Processing.
Acho que poderá inspirar muitos a explorar o uso de Processing. Há tempos atrás escreví aqui também sobre Scratch (http://scratch.mit.edu/), que tem por trás Processing. A programação de Scratch (http://lusorobotica.com/index.php?topic=1713.0) é por linguagem gráfica. Processing e Scratch acrescentam interactividade aos projectos. As coisas estavam na prateleira e tudo renasceu quando Pedro fez o seu trabalho com bluetooth. Enfim, quando lerem o tutorial perceberão melhor.
Tayeb