Ir ao conteúdo
  • Cadastre-se

Dreno Aberto


andersonjb

Posts recomendados

E ai pessoal, beleza? Bem, vou ser direto. Estou mexendo com o microcontrolador da família 8051. Acontece que, quando eu emito sinal por um de seus bits de saida, por exemplo, pra acionar um LED, o led não acende direito. Ou seja, o sinal é mandado fraco, sem potência. Bem, me falaram que isso acontece porque o pino que eu estou mandando um sinal é DRENO ABERTO. Mais o problema e que so me falaram isso, ahauha.

Bem, o que é Dreno Aberto e como eu posso lidar com ele?

Link para o comentário
Compartilhar em outros sites

Não tem nada a ver com isso.

Se olhar para o manual desse controlador vai ver que as saídas tem capacidasde para 4 portas TTL.

Isto sisgnifica uma capacidadede drive muito pequena para acender os leds .

Se quer acender leds ou actuar sobre outros dispositivos tem de usar um circuito de drive como o uln2803 ou algo parecido.

Link para o comentário
Compartilhar em outros sites

Como assim? O que é um circuito de drive e o que faz esse ULN2803 ???

Um Drive é um circuito que tem a capacidade de amplificar a capacidade de fornecimento de corrente, que no seu caso, vai amplificar a capacidade de corrente do pino de saída do microcontrolador 8051.

Se voce for usar um ULN2803, conforme sugerido pelo Zurca, você vai ter que ligar o seu led junto com o ULN2803 conforme sugerido na figura2, pois o mesmo é tipo coletor aberto e só aciona cargas que estejam conectadas para o VCC (potencial positivo).

Note que no exemplo da figura 2 eu coloquei um resistror de 220R, que fornece ao led uma corrente em torno de 20mA, ao passo que na figura 1 eu coloquei um resistor de 1KR, que limita a corrente no led em torno de 4mA, pois a capacidade de fornecimento de corrente de um pino de saída do microcontrolador é pequena.

Bem, me falaram que isso acontece porque o pino que eu estou mandando um sinal é DRENO ABERTO. Mais o problema e que so me falaram isso, ahauha.

Acontece que o único port do 8051 que é Dreno Aberto é o P0, isso significa que você tem que conectar cargas a este port conforme as ligaçãoes sugeridas nas figuras 1 e 2. Já os ports P1, P2 e P3 possuem resistores de " PULL UP" internos e cargas nestes pinos podem ser conectadas também conforme as figuras 3 e 4.

Obs.: Estas considerações foram feitas imaginando que você está usando um membro da familia 8051, com memória de programa interna (pino 31 conectado a vcc), como:

89S/C51, 89S/C52, 89S/C53, 89S/C8252,89S/C8253, ou ainda um 8751 (versão Eprom), uma vez que com o 8031, voce ão tem acesso ao porto P0, como entrada e saída, e o proprio 8051 é a versão que vem gravada de fábrica e você não tem como alterar a memória de programa ( A menos que você trabalhe com o seu pino 31 aterrado, neste caso você trabalha com o 8051 como se fosse um 8031, e toda a memória de p

Link para o comentário
Compartilhar em outros sites

Como assim? O que é um circuito de drive e o que faz esse ULN2803 ???

Um Drive é um circuito que amplifica a capacidade de fornecimento de corrente, que no seu caso, vai amplificar a capacidade de corrente do pino de saída do microcontrolador 8051.

Se voce for usar um ULN2803, conforme sugerido pelo Zurca, você vai ter que ligar o seu led junto com o ULN2803 conforme sugerido na figura2, pois o mesmo é tipo coletor aberto e só aciona cargas que estejam conectadas para o VCC (potencial positivo).

Note que no exemplo da figura 2 eu coloquei um resistror de 220R, que fornece ao led uma corrente em torno de 20mA, ao passo que na figura 1 eu coloquei um resistor de 1KR, que limita a corrente no led em torno de 4mA, pois a capacidade de fornecimento de corrente de um pino de saída do microcontrolador é pequena.

Bem, me falaram que isso acontece porque o pino que eu estou mandando um sinal é DRENO ABERTO. Mais o problema e que so me falaram isso, ahauha.

Acontece que o único port do 8051 que é Dreno Aberto é o P0, isso significa que você tem que conectar cargas a este port conforme as ligaçãoes sugeridas nas figuras 1 e 2. Já os ports P1, P2 e P3 possuem resistores de " PULL UP" internos e cargas nestes pinos podem ser conectadas também conforme as figuras 3 e 4.

Obs.: Estas considerações foram feitas imaginando que você está usando um membro da familia 8051, com memória de programa interna (pino 31 conectado a vcc), como:

89S/C51, 89S/C52, 89S/C53, 89S/C8252,89S/C8253, ou ainda um 8751 (versão Eprom), uma vez que com o 8031, voce ão tem acesso ao porto P0, como entrada e saída, e o proprio 8051 é a versão que vem gravada de fábrica e você não tem como alterar a memória de programa ( A menos que você trabalhe com o seu pino 31 aterrado, neste caso você trabalha com o 8051 como se fosse um 8031, e toda a memória de programa deve ser gravada em uma eprom).

ABRAÇOS!

post-78018-13884933824041_thumb.jpg

post-78018-13884933825173_thumb.jpg

Link para o comentário
Compartilhar em outros sites

você pode usar vários tipos de controladores paera acionar os leds, você pode usar uln2003, 2004, 2803 e gêneros, mais já que você só quer acender leds você pode usar o BC548 ou equivalentes para isolar o 8031 do circiuto de leds, você só vai precisar de alimentar cada BC com a tensão que o led usa(5v 6v 12v 9v, etc).

Link para o comentário
Compartilhar em outros sites

Hum, eu entendi! Eu estou usando o 8051 sim, modelo AT89S52. Bem, eu pensava porque era Dreno Aberto, mais obrigado pela resposta. Mais olha, na pratica, pelo o que eu vi, o Port2 tambem não tem uma potência meio que sufciente para acionar alguma coisa não. E sobre esses resistores PULL UP, meu colega disse que para solucionar esse problema de potência, ele utilizou uma ponte de resistores. Esses seriam os resistores do tipo PULL UP que substituiriam um drive de potência, que no caso seria o uln2803?

E já que estamos conversando por aqui, deu pra perceber que vocês manjam de 8051. Bem, no mercado ai fora, eu só ouço falar de PIC, PIC, PIC... mais mesmo assim, no SENAI, eles ensinaram 8051. Já ouvi dizer também (só ouvi dizer, porque experiência prática mesmo, foi muito pouca, só com o 8051) que, o 8051, na teoria é melhor que o PIC e que na prática, o PIC é melhor que o 8051. Isso é verdade? Qual é a opnião de vocês como profissionais?

Link para o comentário
Compartilhar em outros sites

Essa questão do pullup não vai resolver o problema da capacidade de corrente desse micro.

Quanto aos 8051 serem melhores ou piores , essa questão não se deve por assim.

A questão deve por-se em termos de características e capacidades para as funções que se pretende executar.

Para cada projecto podem existir vários microcontroladores possíveis sejam pics sejam da Atmel etc.

Deve é escolher-se aquele que cumprindo as funçoes necessárias possa ter un custo inferior.

Outra questão é a relativa ao suporte prestado e ás ferramentas disponíveis : programas de suporte , simuladores , assemblers , programadores etc.

Depois disto tudo depende muitasv ezes mais do hábito de trabalho de cada pessoa mais que outra coisa.

O facto importante é que se aprendam as funções e tecnicas usadas no uso dos elementos como I/o , timmers, counters , etc.

Se aprender isso depois é relativamente fácil usar um tipo ou outro , embora o ideal , a meu ver seja usar um tipo de micro pois muitas vezes o software desenvolvido para um projecto pode ser usado de forma modular noutro micro da mesma familia.

Assim o programador pode ir construindo uma biblioteca de rotinas que depois pode adaptar muito fácilmente a outras situações ou projectos.

Link para o comentário
Compartilhar em outros sites

Não precisa de driver nenhum pra manipular leds no 8051.

A questão é que essa linha de MCUs mais drena do que fornece corrente, devido aos resistores de pullup que existem em todos os seus I/Os.

Pra acender leds na linha 8051, diretamente, somente através da escrita de nível ZERO em seus pinos, ou seja, liga o led conforme o esquema da figura 1 que o Valdenir postou que vai funcionar corretamente, só que esse resistor de 1K tá muito alto!!! Os leds vão acender fraquinho. Pode usar resistores na faixa de 270 até 560 ohms que eles irão acender com mais brilho.

P0 só é dreno-aberto na condição de leitura de memória externa.

Em todos os outros casos, ele tem pullups internos.

Dreno, ou coletor aberto, significa exatamente isto !! Que não existe ligação física nenhuma nesse pino, e que o único nível que ele pode apresentar na saída é 0V. Quando você escreve 1 na porta, ela apresenta alta impedância na saída, por causa do "dreno aberto".

Pra obter nível alto (1), você obrigatoriamente precisa utilizar resistores de pullup.

A tecnologia do 8051, não é de dreno-aberto. A não ser no caso de uso da memória externa.

[]'s

RETI.

Link para o comentário
Compartilhar em outros sites

Pois mas os datasheets dos Ics são para respeitar , isto para quem quer evitar problemas.

Se vir no datasheet tem lá clar que a capacidade de saída é de equivalente a4 portas TTL.

Isto implica correntes , dentro das condições correctas de funcionamento , insuficientes para acender leds com intensidade ..

Mas claro cada qual faz como quer .

Quanto as portas são assim :

P0- open Drain sem pullup , drain I = 8 LS TTL

P1 - open Drain com pullup , drain I = 4 LS TTL

P2 - open Drain com pullup , drain I = 4 LS TTL

P3 - open Drain com pullup , drain I = 4 LS TTL

Link para o comentário
Compartilhar em outros sites

Vá no link abaixo e baixe uma aula muito bem explicada sobre configuração de pinos de I/O, exemplos de ligação de LED, capacidade de fornercimento de corrente de cada pino, etc:

http://iris.sel.eesc.usp.br/sel614/Aula8.pdf

ABRAÇOS!

Por vezes convém ler os datashsts dos ICs .

Mas se tivesse lido o que indicou com atenção também tinha visto isto .

Espero que tenha ficado esclarecido e da próxima vez leia com atenção e se possível veja os datasheets dos fabricantes.

Link para o comentário
Compartilhar em outros sites

Eu coloquei como exemplos LED's, mas simplesmente para exemplificar um sinal lógico 1. Agora tem uma coisa: por exemplo, eu uso um driver de potência em um Port ou um transistor. Tudo bem, eu consigo enviar um sinal com potência sufuciente pra ativar o que eu quero, mais e se, pelo port ou pelo bit correspondente, eu quiser enviar e receber sinais, o que eu faço? Porque, se eu transistorizar o Port, eu só vou conseguir enviar, certo?

E pessoal: eu ainda não consegui entender de verdade o que é Dreno Aberto. Porque esse nome?

Link para o comentário
Compartilhar em outros sites

Se não precisa de activar circuito externo tem de programar as portas como entradas ou saídas.

Note que no seu programa pode sempre alterar o funcionamento de entrada para saida e vice-versa.

Isso é feito atravás da configuração das portas.

No entanto deve ter cuidado pois se tiver circuitos ligados a essas portas pode criar situaçõesse instabilidade se não usar pullup .

--------------------------

O circuito de drno aberto é isto , note que entre o dreno e Vcc não existe nada .

Para ser util terá por exemplo de colocar resistência de pullup.

Link para o comentário
Compartilhar em outros sites

Essa resistência de PULL UP... O que difere ela de uma resistência normal?

É UMA RESISTENCIA NORMAL

"PULL UP" é o termo técnico que se dá quando a resistencia está ligada de um pino do ci para potencial positivo (VCC).

Pull up do inglês significa: "Puxar para cima", neste caso para cima seria o potencial positivo (VCC).

da mesma forma existe o termo:

"PULL DOWN" é o termo técnico que se dá quando a resistencia está ligada de um pino do ci para o potencial negativo (GND).

Pull down do inglês significa "Puxar para baixo", neste caso para baixo seria o potencial negativo (GND).

O conceito que voce precisa fixar é que quando a saída de um determinado CI for "DRENO ABERTO", não tem nada conectado nesta saída, exatamente do jeito que o Zurca postou a dois tópicos atrás, e a única maneira de fazer esta saída variar e colocando uma Resintencia para o VCC (Resistor de Pull up).

abaixo 03 figuras para fixar o conceito com saída em coletor aberto:

COLETOR ABERTO é o mesmo que DRENO ABERTO, a diferença é que:

Coletor Aberto, o componente de saída é um transistor Bipolar comum, ao passo que Dreno Aberto, o componente de saída é um Fet, ou um Mosfet.

A figura1 mostra um inversor (porta NOR), em configuração coletor aberto, note que assim como o a primeira figura postada pelo Zurca não tem nada conectado à saída, coletor de Q3, daí o nome: Coletor aberto.

Se voce conectar um voltimetro na saída deste circuito conforme a figura2, e fazer variar a entrada, voce não vai conseguir medir nada, pois não tem nada ligado na saída (Coletor de Q3 está aberto), assim sendo não circula corrente do coletor para o emissor.

Se voce colocar uma resistencia RL de "Pull up", na saída do ci, conforme a figura3, agora o coletor não está mais aberto, da mesma forma que foi conectado uma resistencia entre o Dreno e o VCC na segunda figura postada pelo Zurca. Neste caso circula corrente pelo transistor Q3, e se voce conectar um voltímetro, ao fazer variar a entrada voce vai conseguir observar variações na saída.

post-78018-13884934382119_thumb.jpg

post-78018-1388493438259_thumb.jpg

post-78018-1388493438296_thumb.jpg

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!