Ir ao conteúdo

Sérgio Lembo

Membro Pleno
  • Posts

    3.165
  • Cadastrado em

  • Última visita

Tudo que Sérgio Lembo postou

  1. Está não, me deixei levar pelo controlC controlV. Dizer que uma variável é unsigned int varA ou float varB só se faz na declaração. Declarados os tipos é ir usando o varA e o varB sem se preocupar. A razão pela qual não acusou esse erro no código inicial é que a expressão float foi usada uma única vez num recurso avançado do C no qual se declara a variável e já se coloca para trabalhar.Na forma mais clássica teria sido: float lambda lambda = ..................(a conta que se segue)
  2. @.if e @aphawk Fiz meus primeiros códigos no tempo do TK80 e similares. Depois passei décadas fora disso. Retornei recentemente. Tem uma coisa que me incomoda nas bibliotecas. Por não saber procurar, quando vejo algo novo que utiliza uma biblioteca aprendo os códigos utilizados no exemplo. Sinto falta de um readme que mostre as sintaxes disponíveis na biblioteca e seus detalhes. Certamente esse tipo de informação está disponível. Onde encontrar?
  3. Lendo melhor o código, substitua {float voltage = analogRead(lambdaPin) * (5.0 / 1023.0); // Leitura da tensão em volts float lambda = 0.68 + (voltage - 0.0) * (1.36 - 0.68) / (5.0 - 0.0); por {voltage = analogRead(lambdaPin); float lambda = voltage * (1.36 - 0.68); float lambda = 0.68 + lambda / 1023; declare voltage como unsigned int Uma dúvida: a discrepância entre as 2 tabelas se refere à variável lambda ou voltage? A simplificação de fómula que fiz melhora o resultado de lambda mas altera o voltage. Caso queira exibir a tensão lida o valor lido está intacto, ainda dá para para executar após o cálculo do lambda voltage = voltage * 5; float voltage2 = voltage /1023; e na impressão substitua Serial.println(voltage); por Serial.println(voltage2);
  4. a parte da expressão (1.36 - 0.68) / (5.0 - 0.0) será executada antes da multiplicação pela voltage. Pode parecer bobagem, com uma boa calculadora (muitas casas) a ordem desses fatores não altera nada mas se pensar numa calculadora limitada a coisa muda de figura. Tente substituir a expressão float lambda = 0.68 + (voltage - 0.0) * (1.36 - 0.68) / (5.0 - 0.0); por float lambda = (voltage - 0.0) * (1.36 - 0.68); float lambda = 0.68 + lambda / (5.0 - 0.0); O truque está em ir ao número máximo antes de entrar com a divisão.
  5. Passando o resistor de shunt (390R) para cima, vai me resolver alguns problemas. No teste da imagem acima se pode observar limitações quando o cabo é longo demais e a capacitância de cabo elevada. Ainda assim para um sensor com range de 10us a 20000us ficar limitado a partir de 50us não será relevante no caso da aplicação não prever trabalhar na faixa inicial. Estou gostando do resultado.
  6. Do circuito proposto no inicio do tópico ao que será usado foram feitas muitas modificações. No iníco a corrente do led era feita na topologia emissor seguidor. Tem o mérito de impedir naturalmente a saturação do transistor e é excelente quando se tem uma excitação previsível. Nas simulações quando comecei a colocar a capacitância do cabo, à medida em que aumentava a excitação do led variava demais. Solução: montar um comparador e fazer o chaveamento emissor comum com o clamp de Backer usando diodo schottky de baixo Vf (dica do @aphawk). Normalmente se usa 2 transistores na comparação mas como um deles funciona como um simples diodo, sem circular corrente pelo coletor, coloquei um diodo 1n4148 no lugar, Como dito a pouco também substitui o opto convencional pelo de saída lógica. Quanto mais se estuda mais se descobre pêlo em ovo. No datasheet do opto lógico apareceu uma corrente máxima para garantir o dropout, 300uA. Aqui a solução foi dada pelo @MOR_AL, um resistor paralelo ao led com consumo =>10% da corrente de led. O circuito fico assim: Na parte esquerda temos o circuito que ficará próximo ao microcontrolador. Temos então um par a ser fornecido: esta placa e o sendor. Do opto só foi representado o led. Do Rcabo para a direita e acima temos a simulacão do consumo do circuito. A frequência é gerada pelo próprio circuito do sensor. o capacitor da fonte do circuito foi colocado baixo para responder mais rápido as variações de parâmetros externos (sliders). Na parte superior temos um scope da tensão interna do circuito, a mínima é de 3V4 para funcionamento estável. A fonte tem que ser isolada do GND e não pode ser compartilhada, tem que ser exclusiva. O sensor, da forma como é usado, fica naturalmente com o seu negativo exposto ao terra local se bem que nada impede do monitoramento vir a ser feito na parte superior, mas isso verei mais tarde. Grato a todos pelo interesse.
  7. Duty de 50% é o que sai do oscilador. Dependendo da capacitância do cabo o duty no led do opto cai pela metade, se for superior a 30nF mata as frequências mais altas. Para melhorar a convivência com isso até montei um comparador, coisa simples, 2 transistores + 4 resistores apenas. É o suficiente para a demanda. @aphawk , condicionar a saída do opto convencional para TTL estava dando tanto trabalho que vou utilizar sua sugestão: um modelo de saída lógica. Sai mais em conta e fica sobrando performance.
  8. Tal qual no sensor de distância por ultrasom a duração do período contém a informação. A diferença é que o de ultrasom tem que ser estimulado (trigger, monoestável) e este envia de forma contínua (astável).
  9. Pretendo usar uC para medir o tempo entre 2 bordas ascendentes de corrente. Vou fazer esse teste do resistor paralelo ao led. Além da questão do tópico vou precisar de uma conversor isolado CC, de 5V para 6V x 20mA para acionamento do circuito. O rendimento pode ser baixo e o custo não pode ser alto. Não é necessário regulagem, se variar 10% na construção não irá atrapalhar. Estou pensando num conversor forward acionado por um NE555 de 50kHz, duty 20%. O baixo duty é para que a bobina de desmagnetização faça o serviço com folga, nas simulações que fiz ela é bem demorada. Acredito que caberá num toroide pequeno desses que se tem nos reatores eletrônicos de fluorescentes. Também pensei no meia ponte, a princípio a saida totem pole com 200mA do NE555 dispensaria a questão do dead time para evitar curto mas pelo que entendi na pesquisa essa topologia também precisa descarregar algumas correntes entre o acionamento dos braços. No forward basta utilizar a relação de espiras para dterminar a saída e ter um duty que garanta a desmagnetização. Alguma outra ideia?
  10. @aphawk Um erro de escrita meu. Quando disse 3V Vbe na verdade seriam 3V Vce. Os 390R são meu shunt de medição e a pretensão é que o consumo da base do transistor seja irrelevante comparado ao 390R. É um circuito a 2 fios sem fonte na origem. O consumo do circuito é inferior a 100uA se for considerado a corrente quiescente dos 2 integrados + a polarização do circuito. Olhando para o datasheet temos o quiescente típico e o máximo. Trabalhando pelo máximo o consumo triplica. Indutâncias, capacitâncias, fuga entre condutores e até mau olhado podem contribuir para um aumento de corrente. Estou trabalhando com cabos trançados longos, a partir de 10m e ter um cabo desses ligado direto num uC é dar sorte para o azar. Tem que haver uma barreira robusta. No desenho abaixo, quando a chave entra a tensão sobre o sensor cai tanto que só não é drenada a energia dos 10uF pela chave graças ao diodo shottiky de entrada. Os 10uF garantem energia durante a comutação. U1 é um regulador LDO, baixíssimo quiescente (<10uA) e menos de 100mV de dropout no consumo do circuito. Tenho uma tensão estável no oscilador. Quando a chave abre temos a corrente de recuperação dos 10uF que é somada ao consumo. Quando a chave entra temos os 3 a 3,5mA. Como se vê não é uma saída de corrente regulada, é uma carga de resistência variável cuja frequência de variação contém o valor medido.
  11. @aphawk e @.if Reparem bem no circuito: o emissor não está aterrado, temos um resistor que fará a relação tensão emissor virar a corrente desejada. Na base temos um resistor de 390R que absorve toda a corrente recebida elevando a tensão sobre a base do transistor. Quando a Vbe supera o valor mínimo o transistor passa a conduzir com o emissor seguindo a base e espero eu que a base consuma apenas o necessário para que o emissor siga a tensão de base. A tensão no coletor está amarrada em Vcc - Vf do led. A corrente sobre o led então será definida pela tensão do emissor dividida pelo resistor do emissor. A corrente de base será a corrente do emissor dividido por aquilo que o hfe conseguir entregar na faixa de operação. A técnica do Baker insere um valor mínimo para Vbe em torno de 1V mas aqui vou ter 3V, região ativa. A dúvida é se o fato do transistor entrar em corte não atrapalha o desempenho. Outras considerações que eu não tenha enxergado serão muito bem vindas.
  12. @aphawk Nos 700uA o resistor de 390R faz 270mV na base, o transistor fica cortado. Essa pequena tensão retarda o corte? Estou pensando em usar o SFH617A que promete 250kHz com IF de 16mA ou o CNY17 que promete 190kHz com IF de 5mA. Vai é me eliminar no custo. Além dos materiais tem o trabalho de enrolar. @Renato.88 e @aphawk , a discussão é sobre o transistor que vai acionar o led do optoacoplador, ainda não estou preocupado com o optoacoplador.
  13. Estou com um projeto de sensor a 2 fios e a saída é por chaveamento de corrente, valor medido proporcional ao período com duty de 50%. No semiciclo baixo a corrente máxima é de 700uA e no alto pode variar de 3,1mA a 3,5mA a depender das condições da instalação (resistência do cabo e comprimento). Meu desafio é chavear um optoacoplador, se o GND for compartilhado o sensor não funciona. O optoacoplador é a solução e para que o transistor do opto não sature a solução já foi encontrada. A questão é o led de entrada, mais precisamente o transistor que irá chaveá-lo. Transistor BJT pelo que entendo fica lerdo para desligar quando satura. Assim sendo montei um circuito com auto-polarização para contornar a questão. o Vce vai oscilar entre 5V com zero mA e 3V com 16mA. Funciona a questão da velocidade? Alguma outra sugestão?
  14. A pilha LR44 foi desenhada para baixa descarga e longa vida, o teste de 4k7 corresponde a 300uA de consumo médio. Um exemplo típico de aplicação é o relógio dos computadores, a pilha aguenta anos. 120mAh e 108mAh corresponde ao valor típico e ao mínimo garantido. Não é um produto de precisão. Também tem que entender que a capacidade da bateria leva em consideração a taxa de descarga. Quanto mais lenta for mais carga consegue entregar. A curva da pilha AA mostra bem isso. Com 250mA suporta 2,5 horas. Se fosse linear com 1/5 de carga aguentaria 2,5h x 5 = 12,5h e o gráfico indica 18h. O teste com 200R por 5s indica desempenho em breve sobrecarga.
  15. @Mega Blaster Obrigado pela resposta. Já faz algum tempo que não atuo no segmento pesado com materiais da Soprano e equivalentes. Os materiais da sua ilustração não são (ou não eram no meu tempo) de preço popular. Viajando na memória recordei das caixas de calibragem de relés térmicos da TRIEL, coisa de 30 anos atrás. O maior disjuntor que utilizei era motorizado com ICC de 35kA (termo-magnético com sopro magnético e mecânico), protegia a entrada de uma ponte rolante de 200 toneladas quando eu trabalhava com siderurgia. Vi nos setores de colegas disjuntores a vácuo e a óleo mas nunca trabalhei com eles.
  16. @Mega Blaster , você está mal acostumado ou então trabalhando num ambiente de alta exigência. Disjuntores simples não possuem bobinas, apenas a lâmina bi-metálica para disparo por sobrecarga. A bobina de corrente, normalmente dimensionada para atuar num valor muito superior ao do bimetal, é um acessório que encarece e muito o disjuntor.
  17. @rmlazzari58 Todo componente possui delay, o mosfet é até mais rápido que o BJT nas baixas tensões. Indo para optoacopladores estes são bem lentos, os comuns apresentam desempenho sofrível acima de 40kHz. Optoacopladores não são bons para comutação direta de cargas. Para dimmer de luz qualquer coisa acima de 200Hz já te dará um excelente resultado. Cinema opera com 24 Hz. Sobre os delays indicados nos datasheets dos mosfets: lembre-se que o gate é uma placa isolada do canal dreno-source e isto configura um capacitor. O delay de comutação é o tempo para que o gate vá de zero ao limiar de condução e está relacionado à capacitância entre o gate e o source. No instante que o limiar da condução é atingido o capacitor entre o gate e o dreno tenta arrastar a tensão de gate para baixo devido a tensão do dreno estar em queda. A corrente do gate é então usada para descarregar este capacitor e o tempo gasto é o rise time. Como todo capacitor o tempo gasto para se carregar ou descarregar depende da corrente aplicada e da variação de tensão sobre o capacitor, é um cálculo de RC. Os tempos indicados no datasheet só são válidos nas condições de Vgate, Rgate e Vdd indicados no ensaio. Indo para o uso prático disso: a intenção é evitar que o transistor derreta por aquecimento. Na seleção do transistor quanto mais baixo for o Rds menor será o aquecimento por condução. Pdissipada = Rds x I² x duty. Quanto mais baixo for o Rds mais elevado tende a ser a capacitância de gate e por consequência mais lento nas transições. Isso é pouco relevante nas baixas frequência mas pode matar seu projeto nas altas. Aumento de temperatura por condução = Rds x I²carga x duty máximo x 360º/W, resultado em ºC. No aquecimento por comutação temos 2 eventos de aquecimento: quando liga e quando desliga. você pode pesquisar as fórmulas (não as recordo agora) ou fazer uma conta imprecisa mas indicativa. Os cálculos a seguir resultam nos joules gerados por evento, no final terá que multiplicar pela frequência para ter o valor em Watts e multiplicar esses Watts pelo desempenho térmico do componente, em torno de 360ºC/W para SOT23 (no datasheet tem o valor correto) e ver se o calor é aceitável. Primeiro temos que calcular o Rgate a ser utilizado: terá que ser => que o valor sugerido pelo fabricante. Um valor muito baixo pode resultar em correntes elevadas que irão matar o gate por stress. Por ser um capacitor que irá receber um pulso quadrado na comutação é um curto. O componente que o ativa (pode ser um Arduíno ou qq outra coisa) possui uma corrente máxima de saída a ser respeitada e alguns deles de surto repetitivo, que é mais alta mas tem que ser breve. Se o componente indicar o surto (surge) use-o. Rgate = Vgate / corrente de surto do drive. Provavelmente o Rgate calculado será maior que o indicado no datasheet. Supondo que Rgate calculado seja de 100R e no datasheet o ensaio indique Rgate de 20R, 5x menor. Seus tempos serão 5x maiores. Multiplique essa relação nos tempos indicados de rise time e fall time. Aumento de temperatura por frequência = Vdd x corrente da carga x (rise time + fall time) x 360ºC x frequência / 2. Esta é uma conta simplificada, costuma indicar um calor maior que o real mas se passar por este teste não necessitará fazer o cálculo exato. Preste atenção na fórmula, uma frequência 10x maior resulta em 10x mais aquecimento por comutação, então quanto mais baixa for a frequência mais simples fica essa questão.
  18. Como assim frequência máxima? Foi construído para disparar SCRs e TRIACs. na passagem pelo zero grau.
  19. Sem soft start o motor queima em uso normal. Razão: elevado número de partidas/hora no uso normal desse tipo de máquina. Nas mais antigas a solução era a montagem do motor numa carcaça de 4x a potência. Esta solução aumenta a quantidade de partidas/hora do motor. Também aumenta o custo. Com um bom soft start consegue-se o mesmo efeito a um custo muito mais baixo.
  20. @ricaardo Parece que não leu o comentário #66. Com o uso de um capacitor de 220pF em série ao lençol resolve-se esta questão.
  21. uC é microcontrolador, uma CPU com periféricos tais como timer, adc e outros. Pode ser um Arduíno.
  22. Led não gosta de calor, sua preocupação procede. Uma solução para aumentar a refrigeração no interior da caixa é colocar um calço na fixação da moldura entre a moldura e o teto. Terás um pequeno vão para auxiliar o escape do calor. O impacto estético será pequeno. Também pode pagar para ver se a atual capacidade de refrigeração dá conta de 15W.
  23. Vamos falar da medida de capacitância. Assisti aos vídeos. Vamos falar do lençol desocupado seco, ocupado seco e molhado. Quando molhado o capacitor não só apresenta elevadíssimo valor como também uma baixa resistência que inviabiliza o oscilador. Para limitar o valor máximo e não ter o oscilador parado quando o lençol molhar a solução é colocar um capacitor em série com o lençol. O terminal 2 do lençol permanece no GND e o terminal capacitivo vai para um capacitor de 220nF. A outra ponta do capacitor de 220nF vai para os terminais 2 e 6 do 555 e para o resistor R2. R2 passa a ser de 330k. A outra ponta de R2 que está ligada no pino 7 passa para o pino 3 (OUT). R1 é eliminado. Com essa configuração o lençol desocupado passa de 50pF para 41pF, o lençol ocupado de 90pF para 63pF e o lençol molhado com a elevadíssima capacitância e baixa resistência passa a ser visto pelo circuito como um curto e então teremos os 220pF que foram inseridos em série. Combinados com o resistor de 330k ligados no OUT do 555 teremos frequências de 53kHz, 35kHz e 10kHz respectivamente. Isto te permitirá saber se o paciente caiu da cama seca ou se a urina vazou da fralda. Sobre a resistência infelizmente não apresentaste nenhuma variação a ser aproveitada. Nos seus vídeos faltou falar do comportamento do lençol com o paciente suado. Ao fazer a ligação do oscilador para o lençol não cometa o erro de usar cabo de 2 condutores. A capacitância desses cabos é muito elevada para este circuito. Utilize 2 cabos de 1 condutor.
  24. Bela caixa. Minha visão de raio X também foi para conserto. Se pretende consertar o conteúdo da caixa terá que abri-la. Já que está sem funcionar, abra-a sem medo de ser feliz, não tem nada a perder. Provavelmente o dano se refere a um simples triac de potência, coisa barata. Poste foto do conteúdo da caixa.
  25. Tem umas coisas bem erradas ai. Vamos começar pelo U1 e os 4 transistores ligados nele. São os responsáveis por fornecer a tensão positiva aos leds. Se utilizar lógica negativa em U1 (acionamento do led por nível zero na saída) o correto é utilizar transistor PNP com o emissor nos 12V e o coletor indo para os resistores de 220R. Nessa configuração os resistores irão recever 12V - 200mV de saturação = 11,8V Nesse caso o resistor é necessário para limitar a corrente de base. Caso resolva fazer lógica positiva (acionamento do led por nível 1 na saída) se usa o NPN e se elimina o resistor de base, o transistor vai agir como seguidor de emissor e a tensão que irá para os resistores de 220R será a tensão de saída de U1 - 0,7V. Em ambos os casos a ligação dos transistores para o positivo da fonte é direta, sem uso de resistores. Indo para o U2 e os 4 transistores ligados nele. São os responsáveis por fornecer a tensão negativa aos leds. Cometeste o erro de inverter o emissor com o coletor. Até funciona mas o desempenho é menor e vai derrubar a sua nota. Faltou um resistor entre U2 e a base de cada transistor. A conversa de ganho do transistor para cálculo da resistência de base tem que ser observada com reserva. Se utiliza o hfe para cálculos na região ativa, sua pretensão é de saturar o transistor. Vá então para o datasheet do transistor selecionado e procure pelas curvas de saturação do transistor. Vai ter que trabalhar numa relação de Ic/Ib entre 10x e 30x para ter uma boa saturação. O 74HCXXXX a exemplo de qualquer integrado possui correntes máximas de saída para cada pino e também corrente máxima para a somas dos pinos. Já vai se acostumando a olhar esses limites, faz parte do amadurecimento. Não precisa decorar, são muitos componentes, mas precisa se acostumar a verificar para não fazer caca.

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...