segunda-feira, 28 de março de 2011

Transistor FET e Eletroscópio

Em todas as imagens que postei aqui onde aparece o projeto do robô citei um tal de “transistor” que geralmente é representado por um risco saindo do robô como se fosse uma antena.

Vou explicar um pouco mais sobre esse transistor e como pretendo trabalhar com ele no projeto.

O transistor tão citado, trata-se de um transistor FET (Field Effect Transistor/Transistor de efeito a campo). Não vou falar muito sobre ele, a intenção aqui é falar como vou usá-lo, mas vai uma breve e resumida explicação:

O FET é dividido em três partes: a porta (gate) a fonte e o dreno, quando se aproxima uma carga negativa (tipo um campo eletromagnético) ele aumenta a resistência, cortando assim a corrente que outrora passava da fonte pro dreno. Se quiser saber mais sobre o FET recomendo que leiam o artigo que nossa querida professora Marisa nos mandou.

Ok, o objetivo do FET é usar-lo para criar um eletroscópio de alta sensibilidade. O eletroscópio é um dispositivo que detecta a presença de um corpo carregado (carga negativa, tipo eletricidade estática), geralmente em proximidade com o corpo energisado faz alguma coisa do tipo ascender um led ou girar um ponteiro, enfim, igual aquele aparelho que o Dean e o Sam da serie Supernatural usam pra caçar fantasmas.

O eletroscópio que vi em sala apresentado pela professora Marisa, que foi o que originou a idéia desse projeto é esse ae:


O skemão dele é esse aqui:


Ué não entendeu???? Então vou simplificar, é mais ou menos assim ó (salve o paint):


Nesse caso quem recebe o sinal é um led, porém no nosso caso quem tem que receber o sinal é o Arduino então o esquema vai ser mais ou menos assim para cada eletroscópio (lembrando são 4: norte, sul, leste e oeste):


O código disso vai ficar tipo assim:

const int PinoEletroscopio = 0; // indica o pino onde foi ligado o eletroscópio
int Eletroscopio = 0; // inicializa a variavel Eletroscopio com o valor 0

void setup(){ // função pré-definida do Arduino usada para declaração de valores
  Serial.begin(9600); // carrega a biblioteca para porta serial com velocidade 9600bps
}

void loop(){ // função pré-definida do Arduino que executa um loop infinito
  Eletroscopio = analogRead(PinoEletroscopio);

/* lê os valores que entram na entrada PinoEletroscópio (que é 0) e guarda na variavel Eletroscopio*/

  if (Eletroscopio > 290){

/* Como se tratava de um teste este condicional foi posto pois no local onde estavamos fazendo o experimento havia muitos computadores e fios, observando as medidas percebemos que se a medida fosse acima de 290 seria util para nós, se não seria irrelevante (mas depende do ambiente).
*/

    funcaoRodar();

/* função que ainda não criamos mas estamos estudando, seria a função que moveria a rodinha*/

  }
}

Explicando melhor o circuito é tipo assim:
A porta do transistor é a que vai servir de antena.
Se nenhuma tensão é aplicada nela a base do transistor BC337 fica em estado de corte (pode se observar que nesse caso está sendo envidada uma carga negativa diretamente ao gate do BC337 o que aumenta sua resistividade) e não será enviado sinal elétrico para a porta 2 do Arduino. Então nessa hora o circuito que funciona é esse aqui:


Quando um campo eletrostático se aproximar da porta do transistor 2N3819 o mesmo entrará em estado de corte (transistores FET aumentam a resistividade sobre o efeito de um campo negativo, o que deixa ele em curto-circuito). Uma vez o transistor 2N3819 estando em estado de corte o transistor BC337 entrara em estado de condução, o que ira enviar um sinal elétrico para a porta 2 do Arduino que ativara a função para mover o motor. Nessa hora este circuito é o que funcionara (colocamos um led para melhor entendimento):


Pesquisa rapida sobre eletroscópio:

Artigo que a professora Marisa nos mandou

Física e Meio-Ambiente

Eletroscópio eletrônico (Detetor de cargas e campos)

Eletroscópio de Alta Sensibilidade

Como construir um eletroscopio no hard

Não clique no "vc é o milhonésimo visitante!"

terça-feira, 22 de março de 2011

Mudança na estrutura do robô

Com base nos estudos que fiz e com a ajuda dos colegas de outros grupos e do pessoal da Robôcore, decidi mudar a estrutura de nosso robô.
Tendo em vista que se eu for usar o shield controlador de motores para Arduino, só posso utilizar 2 motores e não 4 (ou 8 no caso de usar perninhas). Mesmo que fosse montar o circuito em um protoshield sem ajuda de um controlador, programar a funcionalidade de 4 motores ou mais simultaneamente exigiria muito mais do código e do hardware (não tanto assim, mas por que não melhorar?).
Então o novo desenho do robô ficou assim:


Deste modo controlarei apenas 2 motores: Um deles ira girar na horizontal e o outro ira girar na vertical.
Parece que com este desenho o problema dos motores está quase resolvido (depois de lobotomizar o único servo que eu tinha a toa :P), pois se por algum motivo eu não conseguir fazer os servo motores girarem 360º para os dois lados terei a opção de adicionar um motor na rodinha paralela à que já possui um motor, assim o motor de uma rodinha impulsionara o carrinho para um lado enquanto o motor da outra impulsionará para o outro lado(motores DC nesse caso).

Logo vou parar de falar e desenhar, e vou por a mão na massa.
Dia 5 de abril, a professora vai organizar uma oficina na sala de aula para estarmos iniciando nosso projeto.
Antes desse dia estarei fazendo alguns testes em casa para estar preparado, provavelmente estarei postando as fotos aqui no blog.
Assim irei utilizar essa aula para tirar duvidas sobre programação com a ajuda de nosso professor de programação Daniel Couto Gatti, e sobre as leituras de campo elétrico com a professora de física Marisa Cavalcante.

quarta-feira, 16 de março de 2011

Curiosidades Arduino

Adaptações à parte?

















A imagem acima trata-se de uma versão compacta do Arduino, resultante de um dos projetos de Kimio Kosaka, que diz respeito a arte do não usável, como ele prefere chamar. O Projeto não é novidade, pois existe um circuito chamado Arduino Mini. Porém o que chama a atenção é a forma artezanal no qual ele foi criado, o que destaca a flexibilidade do hardware.

Para esse e outros projetos de Kimio Kosaka envolvendo o Arduino clique AQUI

+ Peças

Tendo como base a pesquisa sobre motores eletricos + arduino, estou vendo se há a possibilidade de termos que fazer mais uma visitinha na loja virtual da RoboCore (de onde todas as informações abaixo sobre os equipamentos foram retiradas). Estou de olho em:

1.) Um Protoshield (adoro esse nome) pra arduino:

















Esse dispositivo trata-se de uma protoboard para ser adaptada na face do Arduino. Esse dispositivo facilita muito a montagen do circuito e tbm alivia o fato de eu nunca ter trabalhado com um ferro de solda :P

O Kit Inclui:

1 x Proto PCB vermelha
2 x Conector empilhável 6 pinos
2 x Conector empilhável 8 pinos
2 x LED amarelos
2 x Resistor 330 Ohm
1 x Resistor 10k Ohm
2 x Botões
2 x Capacitor cerâmico 0.1uF

Características:

Tamanho: 5,5cm x 6,5cm
Todos os pinos do Arduino são trazidos para o nível superior
Soquete BlueSMiRF para comunicação sem fio entre os Arduinos
2 LEDs de uso geral
1 botão de uso geral
Botão Reset trazido para o nível superior

2.) Um (ou dois) shield - Ardumoto (se nossos testes com a protoshield derem certo ele será descartado):















Trata-se de um controlador de motores para arduino (estamos estudando a possibilidade do mesmo excluir o protoshield). O problema que só controla 2 motores :(

3.) Um (um agora só pra teste, se der certo serão 4) Servo motor:















Especificações:

Tamanho: 21x12x22 mm
Tensão de operação: 3 à 6V
Peso: 9g
Velocidade: 0.12s/60º (em 4.8V)
Torque: 1.6 Kg*cm (0.16 Nm)
Temperatura de operação: -30 à 60ºC
Buchas de teflon
Comprimento do cabo: 15cm
Braços e parafusos incluídos

De acordo com a pesquisa que fizemos no post anterior, o servo motor só gira em 180º, porêm existem alguns hacks para faze-lo girar em 360º (que estou estudando).

4.) Rodas para servo motor:


Esta roda de plástico é perfeita para ser usada junto aos Servo Motores da Futaba e possue diâmetro de 2-5/8”. Cada roda tem um pneu de silicone e 64 dentes para leitura de um encoder.

Características: Diametro: 69mm
Largura do pneu: 7,62mm
Pneus: moldados com silicone termoplástico

quinta-feira, 10 de março de 2011

Projeto Arduino: Robô Ghosthunter

A idéia mais firme até agora, é de criar um robô "caça fantasmas”. Fantasmas à parte, é um robô que segue campo elétrico.
O robô funcionara da seguinte maneira: serão colocados 4 transistores nas pontas norte, sul, leste e oeste, que servirão de antenas para nosso robô. O robô ira se movimentar na direção da antena que recebeu um sinal de campo elétrico. Para o caso de dois campos serem detectados, o robô seguira o que tem mais intensidade mas "lembrará" do outro campo detectado.
Se o campo mais forte sumir, o robô andara alguns paços (isso é, se eu for fazê-lo com pernas) na direção do segundo campo encontrado, procurando achar um novo campo elétrico.
Material para esse projeto: Estou ainda pensando na estrutura dele, mas já consegui algumas coisas úteis: Além dos materiais que vem junto com o kit Arduino, já consegui algumas estruturas de acrílico onde o circuito (que serão as vísceras do robô) vai ficar posicionado, também consegui rodinhas (um pouco grandes), motores elétricos (pequenos e grandes) e peças de lego.

A duvida sobre a estrutura do robô é quanto ao meio de locomoção. Se for utilizar rodas estou pensando em colocá-las em diagonal, de modo que ele consiga se mover para todos os lados.

A posição das antenas tbm é fundamental para a movimentação do robô:

Do primeiro modo até da pra fazer, mas as pernas deverão ter uma estrutura mecânica que coloque um par de rodinhas no chão de cada vez, de modo que as rodinhas na posição horizontal às que estiverem se movimentando não travem o movimento. Discordando da imagem, não é bem o jeito errado, mas sim o mais complicado que talvez vou tentar fazer futuramente para deixar o robô mais interessante (se for realmente usar rodas).

Se for montá-lo com pernas, a estrutura seria a seguinte

A o motor da base levantaria a perna do robô, e o motor da perna “puxaria o corpo do robô pra frente” num movimento sistemático, parecido com o de uma aranha.
O robô na forma de aranha, deverá ter 4 pernas desse tipo.

Brincadeiras a parte estou levando esse projeto muito a sério e esperamos ótimos resultados para ele.
Essa idéia do robô ghosthunter é com base em uma demonstração mostrada em sala de aula por nossa querida professora Dra. Marisa Almeida Cavalcante (PUC/SP).
Por enquanto estou só no papel, mas em breve novidades virão. Um abraço a todos os leitores.