Robô Lixobô


Este projeto foi atualizado em 05/08/2010 para utilizar o Arne Basic 2k. Também desenhei uma placa nova para facilitar a montagem. Agora não será mais necessário montar uma série de placas, mas apenas uma. Isso facilitará a montagem e também agilizará o processo de montagem. Boa montagem!!!

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 (infra-vermelho) e bumper's de colisão (chaves) que permitem que ele navegue por uma sala, desviando dos obstáculos. Nesta revisão do projeto preferi utilizar um microcontrolador Arne Basic 2k. Um LCD (display de cristal líquido) 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", da coleta seletiva (separação do material que pode ser reciclado do material orgânico que pode ser aproveitado como adubo livre de qualquer química). E se isso for feito por cada um de nós, já será um grande passo em direção de um futuro mais "limpo" e sustentável.



COMO FUNCIONA O ROBÔ

O funcionamento do “Lixobô” é bem simples. Ao ser ligado ele indica no LCD 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 IR e dois bumper’s (sensores de colisão) permite que o robô “veja” os obstáculos, realizando os desvios necessários. A “coleta” é feita durante 15 segundos. Durante este período os usuários poderão utilizar a lixeira “automatizada”.

Perceba que muitos outros algoritmos (programas) poderão 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 ARNE BASIC 2K que pode ser encontrado na Loja do Arne.


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

f = 1,44 / [(R5 + 2xR6)xC1)]


Sendo assim tem-se:

f = 1,44/[(220 + 2x1,8x103)x0,01x10-6)]=37,7kHz

Esta freqüência aproximada de 38KHz (temos que considerar as fugas e tolerâncias dos componentes utilizados) é justamente a freqüência de trabalho do sensor S_IR (PHSC38). A maioria dos controles remotos IR operam nesta freqüência.

Quando S_IR “enxerga” o sinal refletido pelo conjunto emissor (configuração astável de CI2) 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 CI2 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. Na saída de CI2 foi ligado um LED IR (LED3), através do transistor Q3.

O circuito “sensor de som” é formado por CI3 e CI4 (amplificadores operacionais). A função básica de CI3 é 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. CI4 opera como um comparador. Sempre que o sinal de saída de CI3 for menor que 2,5V tem-se na saída de CI4, 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 "sensor ativado" são 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.

Um LCD serial foi utilizado para mostrar mensagens como “Lixobô Pronto”, “Obstáculo detectado”, etc. Na nova versão utilizei um LCD serial da Loja do Arne. Este LCD tem a seguinte configuração: 9600/19200bps, 8 bits de dados, 1 stop bit, 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 1 e 2 acrescentaram um efeito visual ao robô, e o buzzer o efeito sonoro. O led LED4 foi usado para indicar a presença dos 5 VDC no circuito.



MONTAGEM ELETRÔNICA

Abaixo você pode ver o desenho da placa para a nova versão. Agora todos os componentes foram inseridos em uma só placa, o que facilita bastante a montagem e também o trabalho com a confecção do circuito impresso.


É recomendável o uso de soquetes para todos os CIs. A montagem das chaves BP1 e BP2 deve ser feita externa a placa, no chassi do robô. O sensor S_IR e o LED3 (LED IR) devem ser montados também no chassi do robô. Para isso você poderá prendê-los com algum adesivo, ou ainda usar uma segunda placa igual a que está abaixo.

Esta placa é bem simples. Olhando para a mesma é possível ver que o sensor S_IR deve ser soldado no lado com três ilhas, de maneira que o mesmo fique encostado na placa (montagem em 90°). Já o LED3 deve ser montado no lado com duas ilhas (as mais internas). A ligação desta placa deve ser feita com fios, obdecendo o esquema elétrico. A placa é opcional, use-a se achar interessante ok.

Os LEDs 1 e 2 também devem ser montados no chassi do robô, assim como o buzzer e o LCD Serial. Arranje-os de maneira que fiquem visíveis, e no caso do buzzer "audível".

A montagem do microfone também é importante. Ela também deve ser feita em um ponto do chassi, de maneira que a captação do som seja boa. Lembrando que o uso de um cabo "mono" blindado é a melhor opção para evitar a captação de ruídos.

CI3 precisa de um dissipador de calor. Para a conexão dos servos, LCD e chaves eu usei barra de pinos, mas na falta dos mesmos você poderá soldar os fios diretamente (não muito recomendado).

A alimentação do robô é feita através de 8 pilhas médias ou grandes em série (12V). Se você achar interessante poderá usar uma chave liga/desliga entre o conjunto de pilhas e o circuito para ligar e desligar de maneira fácil e rápida o robô (ou se preferir, basta retirar uma das pilhas, o efeito é o mesmo).


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 foram 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 BP1 e BP2 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:

Tempo = 60 x 0,25 s = 15 s

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 base (0,25s), pois isso poderia fazer com que o robô demorasse a detectar os obstáculos, pois enquanto a temporização base está em andamento, o robô simplesmente não “enxerga” nada a sua frente!

Um outro ponto ineressante do programa é a rotina de reversão do sentido do robô. Eu decidi fazê-la de maneira a não utilizar a interrupção para servos Int Servo do BASCOM. Fiz isso para entender e aprender melhor como trabalhar com este tipo de servo (rotação). Se achar interessante, você poderá alterar o programa para usar a interrupção. 

Todo o programa foi devidamente comentado o que facilita muito a sua compreensão, permitindo que sejam feitas algumas modificações se você assim julgar interessante/necessário (por sua conta e risco!). Modificar programas prontos é um excelente ponto de partida para o aprendizado! Experimente!!!



MAIS IMAGENS

-Detalhe da parte inferior do robô.


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



DOWNLOADS:

- Circuito elétrico
- Desenho da placa CPU invertido para método manual!
- Desenho da placa CPU não invertido para método transferência térmica
- Desenho da placa suporte externa para sensores IR
(lay-out invertido apenas!)
- Código fonte



- Lista de materiais para a nova versão

Semicondutores

CI1 – Arne Basic 2k
CI2 – NE555
CI3, CI4 – CA741 – amplificador operacional
CI5 – LM7805 – regulador para 5VDC – encapsulamento TO220

S_IR – PHSC38 – sensor IR
LCD – Display Serial - Loja do Arne

D5 – 1N4148 – diodo de sinal
LED1, LED2, LED4 – LED comum redondo 5mm (vermelho ou verde)
LED3 – TIL32 – LED infra-vermelho

Q1, Q2 – BC337 – transistor NPN
Q3 – 2N2222 – transistor NPN


Resistores (CR25 1/4 Watt)

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


Capacitores

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

C6 – 100 uF/16V – capacitor eletrolítico
C7 – 10 uF/10V – capacitor eletrolítico


Diversos

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

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


 

 

A primeira versão dste 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.