Ir ao conteúdo
  • Cadastre-se

Marcio Leandro B. Pizano

Membro Pleno
  • Posts

    25
  • Cadastrado em

  • Última visita

Tudo que Marcio Leandro B. Pizano postou

  1. Muito obrigado, estou tomando os devidos cuidados. Muito obrigado! Realmente: R=V/I rs Correto! Quanto a limitar a corrente e ou a tensão, tranquilo, ai surgiu a dúvida, será que a potência continuaria a mesma da fonte ou também sofreria variações. Mas ok, me parace que também varia. Show
  2. Bacana saber sobre estas informações da fonte colmeia, que a propósito, é sim uma fonte colmeia. Não vou usar próximo ao limite, a ideia era mesmo tirar a dúvida sobre o que acontece com a potência caso eu ajuste para níveis menores de tensão e crrente. Obrigado! Muito obrigado por responder, isso é bem esclaredor. Realmente, minha carga não é constante devido ser duas barras de cobre mergulhadas em água, (Solução aquosa) hora consigo usar a potência desejada hora não, quando não consigo usar a tensão que coloco no potenciômetro, retiro as barras e observo a negativa com crostas, basta eu raspa-la e ai sim consigo a tensão desejada. Por isso minha dúvida sobre a potência, por que preciso da potência da fonte, logo, com sua resposta, vejo que a potência também é modificada quando não consigo a tensão desejada. Agora fiquei na dúvida do seguinte, como saberei qual é a carga de duas barras de cobre mergulhadas na água? kkkk Muito obrigado!
  3. Perfeito! Mas, neste caso, se eu variar a tensã oe a corrente a potência também sofre variações correto? Obrigado!
  4. Olá! Gostaria de mais uma vez pedir a ajuda dos amigos e amigas do Clube do Hardware, uma dúvida que acredito ser simples para vocês. Tenho uma fonte de 12V - 5A - 60W, gostaria de saber se ao ajustar a corrente e a tensão, a potência também será ajustada. Ex.: Supondo que eu ajuste a tensão para 9V e a corrente para 500ma, a potência seria: 9V * 0,5A = 4.5W? Se sim, gostaria de saber se existe apossíbilidade de ajustar a corrente e atensão usando toda a potência da fonte. Muito obrigado!
  5. Agradeço pela gentileza em conceder tempo para dispor de seus conhecimentos com este "problema", acredito então estar resolvido, vou continuar com os estudos e testes. Tenho mais perguntas, rs, porém outros assuntos, abrirei outro tópico quando precisar, por hora este é o suficiente. Muito obrigado e sucesso para você também. Abraços! Obrigado! Acredito que é o suficiente rs.
  6. Vacilei na lei de ohm. Ficou ótimo, o tempo é o que preciso. Agora está em 4,98v com 6 minutos. Esta sugerindo que nem mesmo necessito da bateria de 3,6v para o circuito, somente com o capacitor resolveria?
  7. Pois é. Não fiz como pediu, fiz no Proteus. Fiquei na dúvida quanto a carga.
  8. kkkk, a questão do rtc são as modificações que vou ter que fazer na placa e etc. e tenho pouco tempo antes de entregar mais 2 aparelhos, mas tudo bem, vou tentar. E para ser sincero, eu não sei fazer, nunca usei rtc, ai a dúvida é que, já tenho todo o código pronto, muito provável terei que modificar o código também né? Estou perdido
  9. Calculando tomando as informações da bateria de lítio 3,6v 60mah ficou assim: Consumo do pic dormindo = 100 nA (Sleep mode Current Down to 100 nA Typical) Bateria: 60 mAh 60 mAh / 0,000100 mA = 600.000 / 1000 = 600s 600 / 60 = 10h *Na bateria esta informando 14h 6mA A menor tensão do pic é de 2,0V (Wide Operating Voltage Range: 2.0V to 5.5V) Então, fico com apenas 3,6 - 2,0 = 1,6V de carga operacional da bateria, como você calculou. Logo, tenho 10h / 3,6v = 2,77 * 1,6V = 4,44h Se estes calculos estiverem corretos, para mim é o suficiente, assim posso falar para o cliente de forma acertiva, sem rodeios.
  10. Poxa o conceito é interessante, teria que fazer muitas modificações. O rtc externo esta com um preço razoável para o projeto, parece ser fácil, nunca usei, preciso pesquisar. Achei que o capacitor ficaria carregado mais tempo que 13 segundos, puxa! V0 = 4.5V, V(t) = 2.5V, I = 0.1uA, C = 4700uF e Vmax = 10V. R = V/I = 2.5V/0.1uA = 25MΩ t = -RC * ln(V(t)/V0) = -25MΩ * 4700uF * ln(2.5V/4.5V) = 13.6 segundos (aproximadamente)
  11. Boa observação sobre a posição do cristal em relação as trilhas que te obriguei a seguir Analisando toda a conversa, cheguei em uma conclusão. Sobre a eeprom, muito interessante, até estava vendo uma externa, mas, vou ter problemas com a hora, de qualquer forma o cliente terá que ir ao aparelho para acertar a hora, então vou passar este opção mas vou continuara com os estudos. Estou pensando em fazer com a bateria de 3,6v mesmo, mas, realmente terei que modificar algumas coisas (trilhas) na placa a exemplo do que estava tentando me explicar, sobre a tensão que a bateria deve enviar exclusivamente para o pic e somente para ele, não é assim? Obrigado!
  12. Amigo, realmente não esta, até mesmo porque os 40 pinos já dão uma boa dica . Fiz o cadastro no chat, mas minhas perguntas no momento são apenas sobre o mercado financeiro, eu gosto arrumar problemas
  13. Obrigado meu amigo! Você quase acertou o pic rs, é o 18f4520. Vou estudar o assunto. Obrigado novamente. Abraço!
  14. É verdade .if, o V neste meu circuito que vem da bateria não é exclusivo para o mc, também acho que o fato de a bateria não aguentar muito deve ser por isso, terei que rever essa parte com cuidado. O aparelho funciona muito bem, já tenho dele instalado a mais de 2 anos em vários clientes, mas, esta parte da bateria é que me da "problema". Muito obrigado por dispor do seu conhecimento comigo.
  15. Sim, se eu remover os 5v a bateria continua a alimentar o mc. Anexei a imagem da placa, nas trilhas selecionadas pode ver todo o percurso até o pic, neste circuito uso a bateria de 3,6v porém, sem o capacitor mencionado.
  16. Obrigado por responder! No caso de eu gravar na EEPROM, nem mesmo precisaria da bateria, correto? No caso da bateria de 3,6v e uso do capacitor, veja por favor se o circuito da imagem em anexo resolveria. Estou fazendo um teste neste circuito com a bateria de 9v, se der certo da forma que me falou com a de 3,6v eu até prefiro. Obrigado!
  17. Caros amigos e amigas! Tenho um projeto na qual já se encontra em funcionamento, trata-se de um aparelho para automatização de bombas e tratamento de água, onde instalo alguns em zona rural, infelizmente existem muitas quedas de energia nestes locais, por este motivo, junto com a placa fiz um carregador de baterias, onde USAVA uma bateria de lítio Ni-cd 3,6v, o carregamento funcionava perfeitamente e mantinha sua carga durante pouco tempo, porém, com as constante quedas de energia, os clientes passaram a usar o aparelho manualmente para evitar ter que ficar reprogramando. Para tentar resolver este problema, coloquei uma bateria de 9V, modifiquei o circuito e em testes com a bateria nova, o pic manteve a programação por mais de 5 minutos, o que para mim seria muito interessante, mas, quando a bateria esta descarregada, a máxima tensão que chega para recarregar é de 3,8V, e quando desligo da rede o aparelho, a tensão da bateria cai para 2,1V por exemplo, insuficiente para o pic. Vou deixar uma imagem do circuito e se poderem me ajudar com esta situação eu agradeço. Obrigado!
  18. Nobres amigos, obrigado pelas dicas! Fiz o projeto com o led em uma proboard fuincionou perfeitamente. valeu
  19. Ok meu amigo, muito obrigado por me responder. Então, após retificar, tenho 5V chegando no resistor, para eu conseguir de 4 a 6ma devo usar segundo minhas contas um resistor de 330R? Veja se esta correto os calculos. R = 5 - 3,6V = 1,4V 1,4 / 330R = 0,0042A (4,24ma) Pderia então usar um resistor de 330 ou 390R Obrigado!
  20. Seria AGUARDANDO kkk, mals. Sem comentários! Putz. Defini!!?? rs Realmente é o pino 6. Na verdade eu acertei na configuração mas errei na escolha de entrada dos pinos, coloquei realmente no pino 6 quando seria no 7, então deveria ficar assim: #define TRISB= 0b10010000; Troquei mas ainda nada. É realmente o modelo do meu. Obrigado! Obrigado! Por enquanto vou tentar com o pic, até mesmo para eu aprender a programar vazão, mas, não vou descartar a dica.
  21. Vou estudar os dois casos. Obrigado! Verdade, vacilei, deve ser de entrada. Obrigado! Vou estudar.
  22. Ainda não consegui cortar o queijo rs. Fiz um código simples com entradas de pulsos simulados em um botão no pino RB6 do 16f628a, que é o T1OSO para testes. Funciona no Proteus porém é de longe a forma correta eu sei. Não entendo muito bem do modo comparador com TMR1H, flags etc. Código simples: #include <16F628A.h> #include <stdlib.h> //Para strings #use delay(clock=4000000) // Oscilador interno #fuses XT,nomclr,nowdt //***************************************** LCD ***************************************** #define lcd_enable pin_a1 // pino enable do LCD (E) #define lcd_rs pin_a0 // pino rs (register select)do LCD (RS) // (0) para comandos (1) para dados // O pino RW vai no negativo. #define lcd_db4 pin_b4 // pino de dados d4 do LCD #define lcd_db5 pin_b5 // pino de dados d5 do LCD #define lcd_db6 pin_b3 // pino de dados d6 do LCD #define lcd_db7 pin_b7 // pino de dados d7 do LCD #include <lcd.h> //declaração da biblioteca do LCD //***************************************** LCD ***************************************** #define TRISB= 0b01010000; //Difini os pinos 5 e 4 como entrada, o resto saída. #define TRISA= 0b00000000; //Difini todos como saída. //ZERANDO OS PINOS, DEFINO QUE ELES NAO TEM VALOR ALGUM NO INÍCIO DO PROGRAMA #define PORTB= 0; #define PORTA= 0; #define rele_bomba PIN_B2 //pino RELÉ BUZINA - (PINO 8) #define rele_cirene PIN_B1 //pino RELÉ CORTA - (PINO 9) #define inicia_bomba PIN_B2 //pino INICIA - (PINO 10) #define pulsos PIN_B6 //pino SINAL - (PINO 12) //Tipo inteiro int nivel_minimo = 5; int pulso = 0; void main() { inicializa_lcd(); //Inicializa o LCD caracter_inicio(1,4); printf(escreve_lcd,"AGUARDADNDO!"); while(TRUE) //Loop Principal { if (input(pulsos)){ pulso++; limpa_lcd(); //Limpo LCD caracter_inicio(1,4); printf(escreve_lcd,"PULSOS"); delay_ms(100); caracter_inicio(2,5); printf (escreve_lcd, "%01u", pulso); } if (pulso < nivel_minimo) { limpa_lcd(); //Limpo LCD caracter_inicio(1,4); printf(escreve_lcd,"MENOR"); delay_ms(100); pulso = 0; //Limpo a variável output_low(rele_bomba); //Desligo o relé da bomba output_high(rele_cirene); //Aciono o relé da cirene } }//TRUE }//void main Na outra tentativa, já incluí o timer mas não tive sucesso. Código: #include <16F628A.h> #include <stdlib.h> //Para strings #use delay(clock=4000000) // Oscilador interno #fuses XT,nomclr,nowdt //***************************************** LCD ***************************************** #define lcd_enable pin_a1 // pino enable do LCD (E) #define lcd_rs pin_a0 // pino rs (register select)do LCD (RS) // (0) para comandos (1) para dados // O pino RW vai no negativo. #define lcd_db4 pin_b4 // pino de dados d4 do LCD #define lcd_db5 pin_b5 // pino de dados d5 do LCD #define lcd_db6 pin_b3 // pino de dados d6 do LCD #define lcd_db7 pin_b7 // pino de dados d7 do LCD #include <lcd.h> //declaração da biblioteca do LCD //***************************************** LCD ***************************************** #define TRISB= 0b01010000; //Difini os pinos 5 e 4 como entrada, o resto saída. #define TRISA= 0b00000000; //Difini todos como saída. //ZERANDO OS PINOS, DEFINO QUE ELES NAO TEM VALOR ALGUM NO INÍCIO DO PROGRAMA #define PORTB= 0; #define PORTA= 0; #define rele_bomba PIN_B2 //pino RELÉ BUZINA - (PINO 8) #define rele_cirene PIN_B1 //pino RELÉ CORTA - (PINO 9) #define inicia_bomba PIN_B2 //pino INICIA - (PINO 10) #define pulsos PIN_B6 //pino SINAL - (PINO 12) INTERNAMENTE JÁ DEFINIDO PARA RECONHECER O PULSO //Tipo inteiro unsigned int pulso; //global int ContadorIntTimer = 0; int nivel_minimo = 20; #byte TMR1H = 0xFCF #byte TMR1L = 0xFCE void ConfigTimer1(void) { ContadorIntTimer=0; setup_timer_1(T1_INTERNAL | T1_DIV_BY_4); set_timer1(15536); enable_interrupts(INT_TIMER1); enable_interrupts(GLOBAL); } #INT_TIMER1 void TrataTimer1() { if (input(pulsos)){ pulso++; pulso=TMR1H*256+TMR1L; } ContadorIntTimer++; if (ContadorIntTimer < 5) // 0,2s. Logo, 5 (5*2) equivalem a 1 segundo { set_timer1(15536); TMR1H=TMR1L=0; //zere a contagem return; } } //1 segundo se passou. void main() { inicializa_lcd(); //Inicializa o LCD caracter_inicio(1,4); printf(escreve_lcd,"AGUARDADNDO!"); delay_ms(100); caracter_inicio(2,5); printf (escreve_lcd, "%01u", pulso); while(TRUE) //Loop Principal { if (pulso<nivel_minimo) { limpa_lcd(); //Limpo LCD caracter_inicio(1,4); printf(escreve_lcd,"OK"); delay_ms(100); caracter_inicio(2,5); printf (escreve_lcd, "%01u", pulso); pulso = 0; //Limpo a variável output_low(rele_bomba); //Desligo o relé da bomba output_high(rele_cirene); //Aciono o relé da cirene } }//TRUE }//void main Qualquer dica vai muito bem vinda. valeu Obrigado!
  23. Obrigado a todos pelas respostas, mas, acho que me expressei errado, o que quero não é o nível da água e sim o fluxo mesmo, qual é a vazão por segundo e quando esta vazão diminuir e chegar a um determinado nível que eu julgar mínimo, desliga a bamba. Obrigado!
  24. Olá! Estou precisando fazer um sensor de fluxo de água. Preciso desligar a bomba quando o volume de água baixar para não estragar o rotor que é de plástico ou polietileno. Pretendo usar o pic 16f628A e o sensor é o YF-S201. Características do sensor: Modelo: YF-S201 • Tipo de sensor: Efeito Hall • Tensão de operação: 5-24V • Corrente máxima: 15mA (5V) • Faixa de fluxo: 1-30L/min • Pressão máxima: 2,0 MPa • Pulsos por litro: 450 • Frequência (Hz) = 7,5*Fluxo(L/min) • Temperatura de trabalho: -25 a 80°C • Exatidão: 10% • Comprimento do cabo: 15cm • Dimensão conexão: 1/2" • Dimensão diâmetro interno: 0,78 • Dimensão externa: 2,5 x 1,4 x 1,4 Não quero o código pronto é claro, o que preciso e saber por onde começar. Fiz um código manipulando o Timer 0 mas não funcionou legal. Um detalhe que observei é que quando eu sopro o sensor (Para testar os pulsos) o máximo de tensão que ele envia no fio amarelo é de 2,56V aproximados, deveria ser de 5V eu acho, porque alimento o sensor com 5V. Não sei se isso seria um problema. Um trecho do código: #include <16F628A.h> #use delay(clock=4000000) // Oscilador interno #fuses XT,nomclr,nowdt #define rele_bomba PIN_B0 //pino RELÉ BUZINA - (PINO 6) #define rele_cirene PIN_B1 //pino RELÉ CORTA - (PINO 7) #define inicia_bomba PIN_B2 //pino INICIA - (PINO 8) #define sinal PIN_B3 //pino SINAL - (PINO 9) //Tipo inteiro int FOCO = 1; int pulsos = 100; int vazao = 0; int tempo_minimo = 0; int ContadorIntTimer = 0; void ConfigTimer1(void) { ContadorIntTimer=0; setup_timer_1(T1_INTERNAL | T1_DIV_BY_4); set_timer1(15536); enable_interrupts(INT_TIMER1); enable_interrupts(GLOBAL); } #INT_TIMER1 void TrataTimer1() { ContadorIntTimer++; if (ContadorIntTimer < 5) { set_timer1(15536); Pulsos = 0; //Contagem zerada a cada segundo return; } if(input(sinal)) { pulsos ++; //Adiciono contagens a variável pulso através do sensor de fluxo return; } } //1 segundo se passou. Pode executar o restante da função / cálculos ETC. Me ajudem rs. Muito obrigado! Abraço!

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!