Robô Lixobô

O Robô Lixobô é uma "lixeira móvel". Ele possui um sensor de "som" que ao ser acionado com um assovio, um bater de palmas ou um estalar dos dedos o coloca em operação. Usando servos de "posicionamento" para antena parabólica ele pode controlar sua direção, se mover e também abrir e fechar a tampa da lixeira. O robô também possui um sensor IR e bumper's de colisão (chaves) que permitem que ele navegue por uma sala, desviando dos obstáculos. No projeto preferi utilizar um microcontrolador Basic Step 2k devido ao algoritmo utilizado. Um display serial na tampa, juntamente com dois led's e um buzzer completam a parafernália inserida no "monstrinho".

Clique para ampliar




LIXO E MEIO AMBIENTE

Todos nós sabemos que há um concenso mundial sobre a preservação do meio ambiente. Sem os ricos ecossistemas, existentes no planeta, o “homem” não tem (ou terá) a mínima chance de sobrevivência no futuro.

Cada vez mais as pessoas passam a perceber esta importância e a se questionar sobre o “mundo a sua volta”. E o lixo sem dúvida alguma é um dos maiores problemas que enfrentaremos no futuro (e bem próximo!).

Quando jogamos uma simples garrafa plástica no lixo, temos a ilusão que ela “se foi”. Não voltará mais e não nos criará problema algum. Pura ilusão. Infelizmente a reciclagem ainda não é algo que funciona 100%. Ela não acontece como deveria e os lixões de nossas cidades se “entopem”, a cada dia, das sobras do que usamos em casa.

Um exemplo das conseqüências do excesso de lixo é a poluição dos lençóis freáticos (utilizados no abastecimento de água de muitas cidades), enchentes (quantas cidades não tem suas bocas de lobos entupidas com lixo!), poluição com metais pesados, etc. Realmente o lixo, é um lixo!

Pensando nisso, construí o robô “Lixobô”. Ele não realiza a reciclagem do lixo, mas participa de uma parte extremamente importante: a coleta e consequentemente a concientização da importância do tema "Lixo", com uma coleta seletiva, com a separação do material que pode ser reciclado do material orgânico (que pode ser aproveitado como adubo livre de qualquer química) é algo que pode ser feito por cada um de nós. E isto já é um grande passo.



COMO FUNCIONA O ROBÔ

O funcionamento do “Lixobô” é bem simples. Ao ser ligado ele indica no display sua prontidão, mantendo-se parado. Ao ser “chamado”, com um bater de palmas ou outro som qualquer (alto), ele abrirá a tampa da lixeira (ou sua boca, dependendo do design adotado) e se colocará em movimento, iniciando uma “coleta” pela sala.

A presença de um sensor Infravermelho e dois bumper’s (sensores de colisão) permite que o robô “veja” os obstáculos, realizando os desvios necessários. A “coleta” se é feita durante 15 segundos. Durante este período os usuários poderão utilizar a lixeira “automatizada”.

Perceba que muitos outros algoritmos (programas) poderiam ser implementados, alterando as funções, tempos, e modos de operação. Tudo é possível com uma dose de criatividade!



O CIRCUITO

Na figura abaixo pode ser visto o esquema elétrico do robô. O microcontrolador escolhido para o controle do robô foi o BASIC STEP 2K da Tato Equipamentos Eletrônicos ou o Fast Basic da Symphony Robótica Educacional / AVR System.

O circuito “sensor IR” é composto por CI3 e CI4. CI3 é um NE555 e foi aplicado como oscilador astável. Sua freqüência de oscilação pode ser calculada com a seguinte fórmula:


Sendo assim tem-se:



Está freqüência aproximada de 38KHz (temos que considerar as fugas e imprecisões dos componentes utilizados) é justamente a freqüência de trabalho do CI4 (PHSC38). A maioria dos controles remotos IR operam nesta freqüência.

Quando CI4 “enxerga” o sinal refletido pelo conjunto emissor (configuração astável de CI3) o mesmo coloca em sua saída (Vout) zero volts. Quando isto ocorre, o microcontrolador é capaz de perceber o obstáculo.

O transistor Q2 controla CI3 através do seu pino de reset. Sempre que este pino é colocado em nível lógico baixo (“0”) o CI é desligado. Quando em nível lógico “alto” (Vcc) o mesmo volta a operar.

O circuito “sensor de som” é formado por CI5 e CI6 (amplificadores operacionais). A função básica do CI5 é amplificar o sinal vindo do microfone. Esta amplificação tem um ganho baixo para evitar que o robô inicie uma coleta erroneamente (fora de hora!) devido a ruídos, por exemplo. CI6 opera como um comparador. Sempre que o sinal de saída de CI5 for menor que 2,5V tem-se na saída de CI6, também zero volts.

O nível do sinal de saída para o “sensor de som” foi adotado desta maneira para manter uma certa compatibilidade com o “sensor IR”, já que os níveis lógicos que indicam o sensor ativado é sempre “zero”.

As chaves BP1 e BP2 são bumper’s e auxiliam na detecção de obstáculos, já que o sensor IR não pode detectar obstáculos inseridos fora do seu raio de alcance, colocados abaixo ou ao lado do mesmo.

O display serial foi utilizado para mostrar mensagens como “Lixobô Pronto”, “Obstáculo detectado”, etc. Em meu protótipo utilizei um display serial da Symphony Robótica Educacional com a seguinte configuração: 9600bps, 8 bits de dados, 1 stop bit e sem paridade (nível TTL - 5 VDC).

Foram utilizados também três servos: SRV1 e SRV2 são servos de posição, e SRV3 servo de rotação.

Os led’s D1 e D2 acrescentaram um efeito visual ao robô e o buzzer BZ1 o efeito sonoro. O led D3 foi usado para indicar a presença dos 5 VDC da fonte.



O PROGRAMA

O programa inicia o ambiente com as declarações das funções presentes, variáveis, servos e também habilita as interrupções. Dois laços são utilizados no programa. O primeiro faz com que o robô permaneça em sua condição inicial (parado e com a tampa da lixeira fechada). Quando um sinal sonoro é detectado, ele sai do laço mais interno e vai imediatamente para o laço mais externo. Neste novo laço ele analisa as chaves e o sensor IR, enquanto se move sempre à frente. O tempo de 15 segundos foi conseguido através do incremento de uma variável a cada 0,25 segundos. Isso foi feito 60 vezes:



Para uma “coleta” durante um tempo maior (ou menor), basta alterar o número de vezes a ser multiplicado por 0,25 segundos. Não aumentei o tempo de 0,25 segundos, pois isso poderia fazer com que o robô demorasse a detectar os obstáculos, pois enquanto a “temporização” está em andamento, o robô simplesmente não “enxerga” nada a sua frente!

Um outro ponto do programa é a rotina de reversão do sentido do robô. No programa eu decidi fazê-la de maneira a não utilizar a interrupção para servos. Fiz isso para entender e aprender melhor como trabalhar com este tipo de servo sem o uso da Int do Bascom

Todo o programa foi devidamente comentado, o que facilita muito o seu estudo e qualquer modificação que um terceiro julgar necessário/interessante. Modificar programas prontos é um excelente ponto de partida para o aprendizado! Experimente a vontade!!!



MAIS IMAGENS

Abaixo mais algumas imagens interessantes deste robô. 

- Placa CPU (principal).


- Placa do sensor de som.


- Placa do sensor IR.


- Placa de suporte "externa" para sensores (IR).


-Detalhe da parte inferior do robô.


- Detalhe do interior da "cabeça" (tampa da lixeira).


- Conexão entre placas.



DOWNLOADS:

- Circuito elétrico
- Desenho da placa CPU (lay-out invertido!)
- Desenho da placa sensor de som
(lay-out invertido!)
- Desenho da placa sensor IR
(lay-out invertido!)
- Desenho da placa suporte externa para sensores IR
(lay-out invertido!)
- Código fonte (BASIC BASCOM AVR)



- Lista de materiais

Semicondutores

CI1 – Basic Step 2K ou Fast Basic
CI2 – LM7805 – regulador para 5VDC – encapsulamento TO220
CI3 – NE555
CI4 – PHSC38 – sensor IR
CI5 – Display Serial (TTL, 9600, 8, n, 1 – recomendado Symphony)
CI6, CI7 – CA741 – amplificador operacional
D1, D2, D4 – LED comum redondo 5mm (vermelho ou verde)
D3 – TIL32 – LED infra-vermelho
D5 – 1N4148 – diodo de sinal
Q1, Q2 – BC337 – transistor NPN
Q3 – 2N2222 – transistor NPN


Resistores (1/8 Watt)

R1, R2, R15 - 330 Ohms (laranja, laranja, marrom)
R3, R8, R9 – 1 k
Ohms - (marrom, preto, vermelho)
R4, R10, R11, R18, R22 – 4k7
Ohms - (amarelo, violeta, vermelho)
R5 – 220 
Ohms - (vermelho, vermelho, marrom)
R6 – 1k8
Ohms - (marrom, cinza, vermelho)
R7, R11, R12, R16, R17, R19, R21, R23 – 10 k
Ohms (marrom, preto, laranja)
R13 – 22 k
Ohms - (vermelho, vermelho, laranja)
R20 – 100 k
Ohms - (marrom, preto, amarelo)
R21 - 47 a 330 Ohms


Capacitores

C1 – 100 uF/25V – capacitor eletrolítico
C2 – 10 uF/16V – capacitor eletrolítico
C3, C6 – 0.01 uF – capacitor poliéster
C4 – 0.1 uF – capacitor poliéster
C5, C7 – 47 uF/16V – capacitor eletrolítico


Diversos

SRV1, SRV2 – servo de posição (veja texto)
SRV3 – Servo de rotação (veja texto)
MIC1 – microfone de eletreto de dois terminais
BP1, BP2 – chave “push-button” com alavanca do tipo utilizada em alarmes (veja texto)
BZ1 – Buzzer (beep comum para 12VDC sem oscilador interno)

- Placas de circuito impresso virgem para confecção dos lay-outs (veja texto), fios para ligação, um par de DB09 (macho e fêmea), três suportes para CI’s de 8 pinos, radiador de calor pequeno para CI2, barra de pinos, solda, etc


 

 

Este projeto foi publicado, com minha autorização, na Revista Mecatrônica Fácil nº 17 de Julho/Agosto de 2004.

Especificações:

- Cérebro - Basic Step 2K
- Motores - 1 servo de rotação e 2 servos de posição
- Sensores - um sensor IR "made in home" e dois bumper's (chaves)
- Alimentação- 8 pilhas médias (12V)
- Chassi - Madeira, lixeira com tampa, duas bequilhas de aeromodelo, etc
- Programa - desenvolvido em basic (BASCOM)



Copyright deste conteúdo reservado para Márcio José Soares e protegido pela Lei de Direitos Autorais LEI N° 9.610, de 19 de Fevereiro de 1998. É estritamente proibida a reprodução total ou parcial do conteúdo desta página em outros pontos da internet, livros ou outros tipos de publicações comerciais ou não, sem a prévia autorização por escrito do autor.