-
Posts
24 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Pedro Caio França
-
-
Olá, membros.
Estou querendo fazer um divisor de frequência com um 555, onde a frequência de entrada é 244,14 Hz (4,096ms), e na saída a metade dessa frequência (8,192ms). Estou inicialmente simulando no multisim com a constante de tempo com R=3.3k e C=2.2uF, gerando a frequência desejada. Mas a forma de onda de saída está estranha, em que a borda sobe rapidamente após a descida, não esperando o próximo disparo. Alguém sabe o motivo? Em anexo está o circuito e a imagem do osciloscópio (em cima a saída do 555 e embaixo a onda de disparo na entrada).
Obrigado desde já.
-
Onde fecha o tópico??
-
@aphawk Enfim consegui controlar e medir com o 628a. Era um problema bem besta. Uso os sensores til 32 e 78.
-
@aphawk Cara, muito obrigado pela excelente explicação! Mas eu que me expressei errado. Essa parte do disparo funcionou corretamente.
O meu programa é pra controlar a velocidade do motor e simultaneamente medi-la. Separadamente, os dois funcionam normalmente. Consigo com um programa controlar a velocidade, e com outro medi-la. Mas quando junto os dois programas que dá pau. Eu consigo controlar a velocidade, mas não medir. Tava usando o pic 16f628a. Então mudei a ideia pra controlar a velocidade usando o pwm e medi-la usando o capture. Pra isso troquei pro pic 16f877 que possui dois modos CCPs. Mas o que eu queria mesmo era continuar com o 628a, mas já bati muita cabeça e não consegui. O pior é que sei é que é algum problema besta. Então voltando pro 877, me surgiu essa dúvida sobre como usar o pwm pra controlar corretamente.
-
@aphawk Essa sincronização já está feita no programa. Então acho que não entendi muito bem como usar o PWM nesse caso. Eu tô tentando igualar os períodos e só alterar o tempo de nível alto pra controlar. É o controle de velocidade de um motor de indução monofásico. Esse pensamento tá errado?
Já tentei utilizar esse pelo disparo do triac, usando o modo captura do pic e fazendo a subtração entre registradores, mas não deu muito certo e por isso tô tentando implementar via PWM.
Não entendi bem essa explicação final "pode ser desde 1 até qualquer múltiplo(...)". :/
Obrigado.
-
Estou querendo controlar a entrega de potência média a uma carga através do PWM do PIC 16f877. Para isso, pensei em igualar o período do PWM ao período da rede elétrica de 16,67 ms (na verdade ao semiciclo que é de 8,33ms), e a partir daí controlar o tempo do pulso em nível alto controlando assim a tensão gerada. No entanto, o PWM é controlado pelo timer 2. Estou usando um cristal de 4 MHz, e com isso consigo um período máximo de 4,096 ms [Tpwm = (PR2+1)*Tosc*PrescalerTMR2, com PR2 = 255, Tosc = 250ns e PrescalerTMR2 = 16]. Não quero por hora trocar o cristal para um de frequência maior. Gostaria de saber se tem algum outro modo de aumentar esse período máximo do timer 2 sem trocar o cristal e sem outros prejuízos. Ou alguma outra forma de fazer esse controle sem necessariamente igualar ao período da rede elétrica.
Desde já muito obrigado.
-
Obrigado a todos que ajudaram na dúvida. Na verdade o problema estava que a fonte DC e a placa de disparo do TRIAC, onde entra a rede elétrica, estavam em circuitos elétricos diferentes, portanto não compartilhando o mesmo "comum". Aí dava o erro. Problema sanado.
-
@mario cesar berardo Tem como você me explicar melhor essa ideia? Na verdade a ideia de colocar C2 e R4 foi para implementar um snubber no triac (anexo), mas inicialmente meus testes eram feitos sem esse snubber, que estavam dando igualmente errados.
-
@mario cesar berardo na verdade, o circuito de disparo que eu to usando é esse anexado aqui embaixo. Eu até inseri um outro snubber no triac pra ver se melhorava algo, mas nada aconteceu. O motor entra em J2 e J3 e a rede elétrica em J4 e J5.
-
@mario cesar berardo Não tá funcionando, e é por isso que publiquei esse tópico, hehe. Mas continuarei tentando.
-
@mario cesar berardo obrigado pela resposta.
A precisão deve ser a suficiente pra mostrar que o controlador funciona, hehe. Nada muito preciso.
O detector de passagem por zero já está programa do pic, e ele dispara na parte da senoide desejada. O que me estranha é ter vários circuitos na internet e datasheets (como a figura acima). Mas pode ser que eles sejam apenas para ligar e desligar o motor, não para o controle. Não sei.
- 1
-
Talvez o problema esteja no circuito snubber. Não sei se esse datasheet do MOC usa esse circuito apenas para ligar e desligar a carga, e não pra controlar a velocidade do motor, como é o caso.
Eu também inseri para teste um snubber para o TRIAC, usando a equação que encontrei no livro do Rashid e está disposta abaixo, em anexo. O dv/dt do triac usado é 100 V/microseg, e fixando o capacitor em 100nF, encontrei a resistência de 11 ohm. Mas nada mudou. Ainda estou procurando como calcular corretamente o circuito snubber.
1 hora atrás, _xyko_ disse:Mas não dá pra detectar 0V na rede sem uma amostra dela, seja direta ou através de optoacoplador, entre no microcontrolador.
O AmpOp (U2:A) dá essa amostra.
-
@_xyko_ Agora compreendi tua primeira pergunta. É pertinente. Mas eu só fiz pegar o esquema de um outro lugar. Mas de qualquer forma, funciona. A detecção da passagem por zero é feita no programa do microcontrolador inserido.
-
Alguém mais com ideias? Eu fiz a troca dos resistores para os de maior potência, e o problema persistiu.
-
É isso mesmo que a @Isadora Ferraz diz. O PIC controla o disparo do TRIAC, deixando passar mais ou menos da onda de tensão.
-
@Isadora Ferraz @costa Marcelo Desculpem a demora pela resposta. O circuito utilizado está anexado abaixo. O controle é feito pelo ângulo de disparo. O resistor de 1k2, acredito que foi de 1/8 W (realmente bem pequeno, tanto que queimou instantaneamente). O de 2k2 foi, no "olhômetro", de 1/2W. Será que foi esse o problema? na verdade nunca liguei pra isso porque nunca tive problema com a queima de resistores por isso... Mas parando pra analisar, realmente. O problema é encontrar tais resistores na minha cidade, por isso comprei logo os que encontrei.
Obrigado pela atenção.
-
Olá, senhores.
Estou desenvolvendo um projeto para controlar um motor de indução monofásico de 1/8 cv usando o PIC. No entanto, por algum motivo que não consigo descobrir, o controle não está funcionando corretamente. O problema é na placa que controla o disparo que está ilustrado na figura abaixo, que tirei do datasheet do moc 3010. O optoacoplador que to utilizando é o MOC 3011, o triac é o TIC226D, usei uma resistência de 2.2k no snubber, e o capacitor é de poliéster. Quando coloquei uma carga resistiva (lâmpada incandescente), funcionou normalmente o disparo do triac, mas quando coloquei o motor, essa resistência do snubber quase pega fogo. Aí usei a outra configuração no mesmo datasheet que usa no snubber R=1.2k e 0.2microF, que é para correntes de porta entre 15 e 50mA, mas quando testei inicialmente na lâmpada mais uma vez a resistência queimou (nem cheguei a testar com o motor). Gostaria de saber se alguém já passou por esse problema, ou se alguém sabe o motivo, já que estou usando valores de datasheet. A onda quadrada que chega no MOC tem amplitude 5Vdc, e Rin é 180ohm. Em anexo está o datasheet utilizado.
Muito obrigado pela atenção.
-
Na verdade a dúvida não é tanto pelo resistor de 1k, era mais pra ter certeza. No datasheet, até onde vi, ele só mostra que a tensão máxima é de 400V. Como jogo uma tensão de 127 (bem abaixo), só gostaria de saber se há prejuízo.
-
Olá!
Tenho duas dúvidas que acredito ser simples. Estou montando o circuito abaixo em um circuito impresso. Na entrada tem uma tensão de 5V, e R1 = 500 ohm. Posso utilizar um resistor de 1k em R1, sem prejuízo? (logo uma corrente de 5mA). Utilizo um MOC 3010, e tensão 127V. No entanto, o TRIAC que possuo é um TIC226D, indicado para tensões 220V (Tensão de pico 400V). Há algum problema nisso? Na minha cidade, não encontrei o TIC226B, por isso só posso usar o da classe D.
Com a palavra, vocês.
Grato desde já.
-
Olá.
Estou iniciando no mundo PIC, e estou com dificuldade para fazer funcionar uma transmissão serial pelo PIC 16F628A. É apenas a transmissão, onde quero ver o byte através de um osciloscópio. A linguagem usada é ASSEMBLER. Não sei onde estou errando, por isso gostaria de uma colaboração para encontrar o erro. Grato desde já. Eis o código:
#INCLUDE <P16f628A.INC>#DEFINE BANK0 BCF STATUS,RP0#DEFINE BANK1 BSF STATUS,RP0CBLOCK 0X20ENDCORG 0X00GOTO DEFINICOESORG 0X04RETFIEDEFINICOESBANK0CLRF PORTACLRF PORTBBANK1BCF TRISB,2MOVLW .25 ;ou D'25'MOVWF SPBRG ;baud rate = 9600 (erro de 0,16%)CLRF TXSTABSF TXSTA,2 ;velocidade alta. bit BRGHBCF TXSTA,4 ;modo assíncrono. bit SYNCBANK0CLRF RCSTABSF RCSTA,7 ;USART habilitada. bit SPENBANK1BSF TXSTA,5 ;Transmissão habilitada. bit TXENBANK0INICIOTRANSMISSAOMOVWF B'10101010'MOVLW TXREGBTFSS PIR,4GOTO $-1END -
Muito obrigado, caro! Assim que puder, alterarei as mudanças citadas, e trarei o resultado. Grato!
-
Muito obrigado pelas dicas, são de grande valia! No entanto meu objetivo é me desenvolver na linguagem asm, e este projeto está me atrasando, rs. No aguardo de mais algum salvador que se disponha a ajudar.
-
Olá!
Estou com problemas no meu programa, não consigo fazê-lo funcionar. Já tentei várias alternativas. Acredito que seja algum erro bobo. Gostaria realmente de uma ajuda. O programa foi desenvolvido em linguagem Assembly e compilado no MPLAB. Muito obrigado desde já!
A ideia é a seguinte: possuo uma fonte que gera um sinal DC com período 16,67 ms (advinda da rede elétrica convencional 60 Hz). Utilizando três botões, cada botão que eu apertar gera um sinal na porta do PIC16F628A com períodos diferentes, sincronizados com o sinal da fonte. Exemplo: botão 1 gera sinal de 16,67 ms, botão 2 gera de 4,167 ms (1/4 da fonte) e botão 3 gera sinal com 8,33 ms (1/2 da fonte).
#INCLUDE <P16f628A.INC>#DEFINE BANK0 BCF STATUS,RP0#DEFINE BANK1 BSF STATUS,RP0CBLOCK 0X20D1 ;variáveisD2CONTAENDC#DEFINE BOTAO0 PORTA,0 ;entradas#DEFINE BOTAO1 PORTA,1#DEFINE BOTAO2 PORTA,2#DEFINE SAIDA PORTB,0 ;saídaORG 0X00GOTO DEFINICOESORG 0X04BCF INTCON,0RETFIETEMPO1;4163 cyclesMOVLW 0x40MOVWF D1MOVLW 0x04MOVWF D2DELAYDECFSZ D1, FGOTO $+2DECFSZ D2, FGOTO DELAY;4 cyclesGOTO $+1GOTO $+1RETURNTEMPO2;8328 cyclesMOVLW 0x81MOVWF D1MOVLW 0x07MOVWF D2DELAY1DECFSZ D1, FGOTO $+2DECFSZ D2, FGOTO DELAY2 cyclesGOTO $+1RETURNTEMPO3;12498 cyclesMOVLW 0xC3MOVWF D1MOVLW 0x0AMOVWF D2DELAY2DECFSZ D1, FGOTO $+2DECFSZ D2, FGOTO DELAY;2 cyclesGOTO $+1RETURNTEMPO4;16663 cyclesMOVLW 0x04MOVWF D1MOVLW 0x0EMOVWF D2DELAY3DECFSZ D1, FGOTO $+2DECFSZ D2, FGOTO DELAY3;4 cyclesGOTO $+1GOTO $+1RETURNDEFINICOESBANK0MOVLW 0x07MOVWF CMCON ;desativando comparadores para utilização do PORTABANK1CLRF PORTACLRF PORTBCLRF INTCON ;Todas as interrupções impedidasMOVLW B'00001000' ;Só a interrupção por mudança de estado habilitadaMOVWF INTCONBSF INTCON,GIE ;Permitida a ocorrência de interrupçõesMOVLW B'11111111'MOVWF TRISAMOVLW B'11111110' ;RB0 como saídaMOVWF TRISBMOVLW B'00000000'MOVWF OPTION_REGBANK0INICIOBTFSS INTCON,0GOTO $-1MAIN0BTFSC BOTAO0GOTO BOTAO0_ONGOTO BOTAO0_OFFBOTAO0_ONBSF PORTB,0CALL TEMPO4 ;16,667 sBCF PORTB,0BCF INTCON,0GOTO MAIN1BOTAO0_OFFBCF PORTB,0BCF INTCON,0GOTO MAIN1MAIN1BTFSC BOTAO1GOTO BOTAO1_ONGOTO BOTAO1_OFFBOTAO1_ONCALL TEMPO1 ;4,167 msBSF PORTB,0CALL TEMPO3 ;12,5 msBCF PORTB,0BCF INTCON,0GOTO MAIN2BOTAO1_OFFBCF PORTB,0BCF INTCON,0GOTO MAIN2MAIN2BTFSC BOTAO2GOTO BOTAO2_ONGOTO BOTAO2_OFFBOTAO2_ONCALL TEMPO2 ;8,33 msBSF PORTB,0CALL TEMPO2 ;8,33 msBCF PORTB,0BCF INTCON,0GOTO INICIOBOTAO2_OFFBCF PORTB,0BCF INTCON,0GOTO INICIOEND
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
Roteador como repetidor via cabo
em Redes e Internet
Postado
Olá! Estou com um roteador secundário para funcionar como repetidor. Mas há a possibilidade de eu conectar este secundário ao principal através de cabo? Ou só por wireless mesmo?
Grato desde já!