• Welcome to LusoRobótica - Robótica em Português.
 

Leitor de RFID tags

Started by kast, 30 de September de 2010, 20:46

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

kast

OBJECTIVO

Desenvolver um leitor/registador de tags RFID e data/hora, com um tamanho pequeno de modo a ser colocado dentro de uma lanterna.
Desenvolver um software para PC para ler os registos do leitor/registador.

MATERIAL UTILIZADO

1x Arduino
1x leitor de rfid tags
1x eeprom
1x RTC (DS1307)
3x leds
1x buzzer


SITUAÇÃO ACTUAL


Até ao momento já consegui programar o arduino para ler tags e registá-las juntamente com a data e hora.
Ainda me falta criar a pcb e depois soldar tudo no sítio de modo a caber dentro de uma lanterna.





RFID TAG READER

PROBLEMAS
Tenho tentado criar uma forma de desligar o arduino e todos os componentes do circuito depois de lida a tag, no entanto todas as minhas tentativas sairam goradas.
Não consigo colocar um transistor a desligar o arduino e a mantê-lo ligado durante uns 10 segundos.



Creio que deve ter a ver com o tipo de transistor que utilizo e da resistência que é necessária colocar na base.

Será que alguém me pode ajudar ????
Os electrões são nossos amigos !!! :D

senso

Para ai 1K é o valor tipico.
Avr fanboy

kast

#2
Experimentei com um BC547B e com um BC639.

E os resultados foram desastrosos.... o arduino fica sempre ligado ... mesmo quando o pin que está ligado à base está em LOW.
Se colocar um led em vez do circuito o led acende e apaga como deve de ser.
Os electrões são nossos amigos !!! :D

senso

Então deves estar a receber alimentação por outro lado qualquer.
Avr fanboy

kast

#4
No video o led amarelo está ligado ao pin que controlo o estado do arduino:

LOW (apagado) -> arduino desligado
HIGH (ligado) -> arduino ligado




Quando primo o botão o circuito liga, mas quando largo o circuito desligado, quando devia esperar. O transistor é um BC639 e não utilizei resistência na base.

Atenção que o fio amarelo é o polo positivo das pilhas.
Os electrões são nossos amigos !!! :D

kast

Então ninguém dá uma ajuda ?
Os electrões são nossos amigos !!! :D

metRo_

Quote from: kast on 01 de October de 2010, 09:49
Então ninguém dá uma ajuda ?

Consegues ligar e desligar um led com o transistor?

kast

Sim, com um led funciona bem, se verificarem no video eu liguei o pin que devia desligar o arduino ao led amarelo.
Os electrões são nossos amigos !!! :D

GnGz

Que estranho ...  mostra ai o circuito em schematic sff.

Sérgio_Sena

Podes trocar o transistor bipolar, por um MOSFET canal P ?

Um BS250 para 200mA ou um IRF9530 para 12A, devem chegar. São referências de exemplo. MOSFETs há para muitos gostos e feitios.
Ponham uma resistência 10k entre a Gate e o Source, e liguem a Gate directamente ao Arduino.

Quando o Arduino colocar o pino a 1, desliga a energia, mas provavelmente não entra em estado de alta-impedância. Provavelmente a porta está ao nivel lógico 0, o que volta a ligar o transistor.
Certifiquem-se disso.

Podem resolver esse embrulho rapidamente, colocando um BC548 a comutar a GATE do MOSFET.
Aí, o pino tem q estar sempre a 1 para ON.
Quando for para desligar, pôr o pino a 0 faz tudo ir abaixo.


digam como correu. ;)
Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

kast

#10
Caro asena

Agradeço a dica que deste em utilizar um mosfet, na verdade utilizei um IRFZ44N que tinha para aqui perdido, embora ache que este mosfet é demasiado para o circuito em questão.

Não fiz exactamente como disseste, apenas substitui o mosfet pelo transístor e coloquei a resistência de 10k entre a source e o gate. O circuito funciona como é esperado, o que por si só já é uma grande vitória, no entanto o led (smd) power do arduino ainda liga quando tudo devia estar desligado. Meço 1.83 V na entrada/saida do arduino.

O que me aconselham ? Aumentar a resistência entre a source e o gate ?
Para o botão funcionar preciso de ficar premir durante cerca de um segundo, será que colocando um condensador consigo baixar esse tempo para se poder premir instantaneamente ? e já agora alguém me sabe dizer um valor para esse condensador ?

Kast

PS - Finalmente posso começar a pensar na pcb para este projecto !!!
Os electrões são nossos amigos !!! :D

Sérgio_Sena

Poderá ser corrente a passar pela resistência do transistor, a entrar no Arduino pelo díodo de protecção do pino, e a entrar no barramento da alimentação?...hum...

Podes colocar mais um transistor BC548 a comutar a GATE do Mosfet ? assim isso fica bloqueado.
Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

kast

QuotePoderá ser corrente a passar pela resistência do transistor, a entrar no Arduino pelo díodo de protecção do pino, e a entrar no barramento da alimentação?...hum...
Não estou a perceber, de que transistor estás a falar ? Neste momento já não tenho nenhum transistor no circuito.

Já agora se me consegues responder a isto
QuotePara o botão funcionar preciso de ficar premir durante cerca de um segundo, será que colocando um condensador consigo baixar esse tempo para se poder premir instantaneamente ? e já agora alguém me sabe dizer um valor para esse condensador ?
Os electrões são nossos amigos !!! :D

Sérgio_Sena

Quote from: kast on 05 de October de 2010, 01:42
QuotePoderá ser corrente a passar pela resistência do transistor, a entrar no Arduino pelo díodo de protecção do pino, e a entrar no barramento da alimentação?...hum...
Não estou a perceber, de que transistor estás a falar ? Neste momento já não tenho nenhum transistor no circuito.

A resistência de GATE-SOURCE, está ligada entre o +5V (source) e a Gate, certo?
Na GATE vai ligar o pino Arduino directo.

Vais ver a figura 13.1 da página 70 deste manual http://www.atmel.com/dyn/resources/prod_documents/doc2545.pdf, e vais ver que existem díodos de protecção ligados ao pino e à alimentação.

Logo, a resistência Gate-Source do Mosfet, que está ligada a +5V(antes transistor), está ligada ao pino, que por si está a fazer fluir corrente para o +5V(depois transistor)

Bom, espero ter-me feito explicar.
O geral, é que há um circuito de corrente que está fechado e ainda te consegue alimentar alguma coisa na placa, por causa dessa resistência.
Como eu já disse antes, o melhor é juntar um NPN a comutar a GATE do Mosfet, pois assim o Colector fica em alta-impedância quando o Arduino não lhe dá sinal.




Quote from: kast on 05 de October de 2010, 01:42
Já agora se me consegues responder a isto
QuotePara o botão funcionar preciso de ficar premir durante cerca de um segundo, será que colocando um condensador consigo baixar esse tempo para se poder premir instantaneamente ? e já agora alguém me sabe dizer um valor para esse condensador ?

Não será das funções do programa, que estão a atrasar o inicio do mesmo?
Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

kast

Então ninguém ajuda no valor do condensador ???

Kast
Os electrões são nossos amigos !!! :D