Ir ao conteúdo
  • Cadastre-se

aslem

Membro Pleno
  • Posts

    59
  • Cadastrado em

  • Última visita

Reputação

0
  1. @alexandre.mbm eu não estou com sorte em comprar determinados componentes da China, por isso preciso tentar outro fornecedor, porque vou ter certeza da qualidade do componente. @MatheusZero1 vou ter que tentar importar da Farnell, porque na Mouser o frete padrão é 40$, e pra mim não compensa...
  2. Pessoal, alguém tem costume de comprar componentes na Farnell? Preciso comprar alguns componentes, vai ficar abaixo de 50$ mas preciso saber sobre imposto de importação, porque se eu tiver que ficar pagando, não vai compensar no valor dos reparos que eu vou fazer, meu problema é comprar componentes originais...
  3. Pessoal, faço consertos em interfaces e estou preparando um vídeo sobre conversores pra o meu canal, se alguém tiver uma foto da placa dessa interface e puder me enviar, quero falar sobre os conversores dela. Já agradeço.
  4. Bom dia, estou com essa fonte de um amplificador Warm Music que torrou o toroidal. Queria uma ajuda pra calcular a tensão do trafo, considerando que a resistência Zener é 440 ohms, o Zener é 16v 1w.
  5. Pessoal, esse amplificador com pré valvulado da igreja estava com trafo em curto. Ele esta(va) condenado, procurei quem enrolava mas não consegui ninguém. Ao medir o isolamento entre as bobinas havia uma fuga de aproximadamente 100k do primário para o secundário que alimenta a placa da válvula.Desenrolei a primeira bobina ( filamento), a segunda (110/220v) e a fuga que havia acabou. Só que ainda havia um curto na bobina que alimenta a placa, bem no início e término dessa bobina estava sem isolação. Coloquei fita tipo crepe ( porque já tinha entre as bobinas) e isolei o curto. Porém, para isolar essa bobina (placa) do "primário" , coloquei além do próprio isolamento de plástico, fita auto fusão. Minha dúvida é se vou ter problemas quanto à temperatura, nunca usei em uma aplicação assim. Estou tentando consertar porque já está perdido mesmo, os fios são grossos o suficiente pra trabalhar tranquilo. Fios azuis são alimentação da válvula e os vermelhos / preto são da saída.
  6. achei um projetaço! http://l3tec.tecnologia.ws/iblog/archives/8218 código do tx: ;=========================================================================================== ; ; tx p/controle remoto de 32 canais com pic 16f877a ; ; autor : claudio larios ; ; data:04/04/2016 ; ; com opção de pulso ou retenção ; saida normal ou invertida ; ; use xtal de 4mhz ; ; uso didático ; este arquivo é parte integrante do blog larios.tecnologia.ws ;=========================================================================================== ;arquivos para compilação list p=16f877a , r=dec include "p16f877a.inc" ;arquivo padrão errorlevel -302 ;elimina mensagem de erro ;============================================================================================================== ;palavra de configuração __config _cp_off & _pwrte_on & _wrt_off & _wdt_off & _hs_osc & _boden_on & _lvp_off & _debug_off ;=============================================================================================================== ;troca de bancos #define bank0 bcf status,rp0 ;seta bank0 de memoria #define bank1 bsf status,rp0 ;seta bank1 cblock 0x20 res5,res4,res3,res2,res1,res0,resx,temp,cnt,r7,r6,r5 endc ;=================================================================== ; número serial serial_h equ 0cch serial_l equ 0aah ;=================================================================== ;definições de pinos #define saida 0x09,2 ;pino 10 re2 org 00h inicio: ; falta aqui desligar comparadores e conversor ad,ligar pullup do portb etc,... bank1 movlw .7 movwf cmcon movlw .7 movwf adcon1 clrf option_reg ;liga pull ups no portb movlw 0xff ;prepara portas para leitura dos interruptores movwf trisa movwf trisb movwf trisc movwf trisd movlw 0x03 movwf trise ; somente re2 como saída bank0 clrf adcon0 clrf porte ; desliga saida movlw serial_h ;número serial do aparelho movwf resx movlw serial_l movwf res0 comf porta,w ;inverte conteudo em 'w' andlw 0x3f ;zera bits 6 e 7 movwf res1 comf portb,w ;inverte conteudo em 'w' movwf res2 comf portc,w ;inverte conteudo em 'w' movwf res3 comf portd,w ;inverte conteudo em 'w' movwf res4 comf porte,w ;inverte conteudo em 'w' andlw 0x03 ;zera bits 2 a 7 movwf temp movlw .6 movwf cnt loop1: bcf status,c ;desloca 6 casas para esquerda rlf temp,f decfsz cnt,f goto loop1 movfw temp iorwf res1,f ;bits 0 e 1 de re vai para res1 6,7 movfw res4 addwf res3,w addwf res2,w addwf res1,w addwf res0,w addwf resx,w movwf res5 movfw res4 ;testa por alguma tecla apertada btfss status,z goto seg11 movfw res3 btfss status,z goto seg11 movfw res2 btfss status,z goto seg11 movfw res1 btfss status,z goto seg11 goto inicio ;nenhuma tecla apertada ;===================================================== ; transmitir ;====================================================== seg11: call pausa_init call startbit ;envia start bit movlw .56 ;;quantidade de bits a transmitir movwf r5 volt10: bcf status,c rrf res5,f rrf res4,f rrf res3,f rrf res2,f rrf res1,f rrf res0,f rrf resx,f btfss status,c goto env_0 call bit1 goto dj env_0: call bit0 dj: decfsz r5,f goto volt10 goto inicio ;================================================= ;rotinas delay1ck: movlw .140 movwf r7 decfsz r7,f goto $-1 return bit0: bcf saida call delay1ck bsf saida call delay1ck call delay1ck bcf saida return bit1: bcf saida call delay1ck call delay1ck bsf saida call delay1ck bcf saida return startbit: bsf saida call delay1ck bcf saida return pausa_init: movlw .23 ;23 clocks movwf r6 rty: call delay1ck decfsz r6,f goto rty return end end porém precisava que pelo menos 1 vez por segundo esse código fosse transmitido sozinho, e no rx ,um led aceso toda vez que essa transmissão fosse feita, pra comprovar que o circuito está funcionando, alguém ajuda?
  7. teoricamente um buffer é um isolador, fiz uma simulação desse integrado num circuito pra você ver: ele trabalha com niveis 0 e 1 (lógicos) pino 11 é entrada e 9 saída do jeito que está com as duas chaves abertas o nível alto não aciona o led quando pressiono a chave de baixo, aterro o pino enable( pra passar o nível da entrada) aí o led acende e permanece pra desligar o led, preciso apertar a chave de cima, fazendo com que a entrada(pino 11) e o enable (pino 19) tenham nível alto adicionado 16 minutos depois fiz outra simulação bacana: coloquei um sinal de 1khz na entrada( pino 11)e um sinal de 2hz no enable o pwm de 1khz só passa pro pino 9 quando o sinal de 2hz está em nível baixo
  8. sou bem leigo em programação mas vou tentar explicar: o programa não dá erro, compila normal o que ele faz: quando aperto a tecla PORTB.1 no TX, ele aciona o led no PORTB.1 ( na realidade vou acionar relés através de TRIAC) o que ele devia fazer: quando apertar a tecla no PORTC, deveria acender o led no PORTC do RX Sobre isso aqui: PORTD.0 = 1 wait 100 ms PORTD.0 = 0 Isso é um led que ficara piscando enquanto o RX estiver conectado com o TX porque o TX envia uma codificação igual de controle de portão pro RX, se ele tiverem o mesmo código, esse led indicará que está tudo bem, se ele tiver apagado, os PICs não estão comunicando( isso é pra segurança) e está funcionando nesse projeto meu maior problema é aproveitar o PORTC e fazer ele comunicar com o outro PIC, visto que o PORTB está funcionando perfeitamente e essa linguagem é absolutamente fácil e pobre, por isso eu escolhi pra o meu primeiro projeto
  9. não tô conseguindo fazer o código acionar o PORTC pela codificação Manchester, se simular e colocar o osciloscopio virtual vai ver que tá sendo transmitido o bit do PORTC, porém o RX não reconhece
  10. Boa noite, encontrei esse projeto na internet: Não entendo de programação mas fiz essas adaptações: coloquei um led sempre que o RX recebe com código correto, e está simulando perfeito. Porém o projeto original é pra o PIC 16F628a e eu só troquei a library no compilador e funcionou, só que tô tentando fazer o PORTC funcionar e nada...aqui estão os códigos que eu tô usando e o esquema no Proteus 8.6: TX: #chip 16F877A, 4 #define TX PORTA.0 'Define o pino RA0 como TX Dir TX Out 'Define TX como saída Dir PORTA.1 In 'Define PORTA.1 como entrada Dir PORTA.2 In 'Define PORTA.2 como entrada Dir PORTA.3 In 'Define PORTA.3 como entrada Dir PORTA.4 In 'Define PORTA.4 como entrada Dir PORTB in 'Define todo o PORTB como entrada Dir PORTC in Do Codigo.1 = PORTA.1 'Copia o valor do pino RA1 para o bit 1 da variável Código Codigo.2 = PORTA.2 'Copia o valor do pino RA2 para o bit 2 da variável Código Codigo.3 = PORTA.3 'Copia o valor do pino RA3 para o bit 3 da variável Código Codigo.4 = PORTA.4 'Copia o valor do pino RA4 para o bit 4 da variável Código Dado = PORTB 'Copia o valor do PORTB para a variável Dado Dado1 = PORTC Transmita 'Chama a sub-rotina para transmitir o dado Loop Sub Transmita ' 01 é igual a 1 ' 10 é igual a 0 'Inicio da transmissao 'Rotina para transmitir pulso longo TX = 1 Wait 2000 us TX = 0 Wait 100 us If Codigo.0 = 1 Then Transmita1 Else Transmita0 end if If Codigo.1 = 1 Then Transmita1 Else Transmita0 end if If Codigo.2 = 1 Then Transmita1 Else Transmita0 end if If Codigo.3 = 1 Then Transmita1 Else Transmita0 end if If Codigo.4 = 1 Then Transmita1 Else Transmita0 end if If Codigo.5 = 1 Then Transmita1 Else Transmita0 end if If Codigo.6 = 1 Then Transmita1 Else Transmita0 end if If Codigo.7 = 1 Then Transmita1 Else Transmita0 end if If Dado.0 = 1 Then Transmita1 Else Transmita0 end if If Dado.1 = 1 Then Transmita1 Else Transmita0 end if If Dado.2 = 1 Then Transmita1 Else Transmita0 end if If Dado.3 = 1 Then Transmita1 Else Transmita0 end if If Dado.4 = 1 Then Transmita1 Else Transmita0 end if If Dado.5 = 1 Then Transmita1 Else Transmita0 end if If Dado.6 = 1 Then Transmita1 Else Transmita0 end if If Dado.7 = 1 Then Transmita1 Else Transmita0 end if If Dado1.0 = 1 Then Transmita1 Else Transmita0 end if If Dado1.1 = 1 Then Transmita1 Else Transmita0 end if If Dado1.2 = 1 Then Transmita1 Else Transmita0 end if If Dado1.3 = 1 Then Transmita1 Else Transmita0 end if If Dado.4 = 1 Then Transmita1 Else Transmita0 end if If Dado1.5 = 1 Then Transmita1 Else Transmita0 end if If Dado1.6 = 1 Then Transmita1 Else Transmita0 end if If Dado1.7 = 1 Then Transmita1 Else Transmita0 end if end sub Sub Transmita1 TX = 0 Wait 100 us TX = 1 Wait 100 us end sub Sub Transmita0 TX = 1 Wait 100 us TX = 0 Wait 100 us end sub RX: #chip 16F877A, 4 #define RX PORTA.0 'Define o pino RA0 como RX para receber a transmisão Dir RX In 'Define a RX como entrada Dir PORTA.1 In 'Define o pino RA1 como entrada Dir PORTA.2 In 'Define o pino RA2 como entrada Dir PORTA.3 In 'Define o pino RA3 como entrada Dir PORTA.4 In 'Define o pino RA4 como entrada Dir PORTB Out 'Define todo PORTB como saida Dir PORTC out Wait 10 ms 'Zera variáveis CodigoLocal = 0 Do '============================================================================= 'Identifica Pulso de 2000 ms para iniciar a leitura do dado '============================================================================= Inicio: Contador = 0 'Zera contador Volta: If RX = 1 Then 'Testa se o sinal está em nível alto Contador = Contador + 1 'Incrementa contador wait 15 us 'Aguarda 15 microsegundos Goto Volta 'Volta para testar o pulso novamente End if 'Fim da rotina If If Contador < 95 Then 'Se contador menor que 95, cancela e volta p/ Inicio Goto Inicio end if 'Se contador maior que 95, receba o dado '============================================================================= Receba 'Chama sub-rotina para receber o dado DecodificaManchester 'Chama sub-rotina para decodificar o dado recebido DadoRecebido = dado 'Salva valor do dado recebido 'Verificar codificação dadoA = codigoA 'Copia o codigoA na variável dadoA para decodifica-lo usando a sub-rotina DecodificaManchester dadoB = codigoB 'Copia o codigoA na variável dadoA para decodifica-lo usando a sub-rotina DecodificaManchester DecodificaManchester 'Chama sub-rotina para decodificar o Código recebido CodigoRecebido = dado 'Salva valor do codigo recebido 'Lendo o código local CodigoLocal.1 = PORTA.1 'Copia o estado do pino RA1 no bit 1 da variável CodigoLocal CodigoLocal.2 = PORTA.2 'Copia o estado do pino RA2 no bit 2 da variável CodigoLocal CodigoLocal.3 = PORTA.3 'Copia o estado do pino RA3 no bit 3 da variável CodigoLocal CodigoLocal.4 = PORTA.4 'Copia o estado do pino RA4 no bit 4 da variável CodigoLocal 'Verifica se é o código correto If CodigoLocal = CodigoRecebido Then PORTB = DadoRecebido end if 'Se o código é correto, então PORTB recebe o valor do dado recebido. If CodigoLocal = CodigoRecebido Then PORTD.0 = 1 wait 100 ms PORTD.0 = 0 end if Loop Sub Receba Wait 145 us 'Aguarda 145 microsegundo para sincronizar os pulsos codigoA.0 = RX Wait 100 us codigoA.1 = RX Wait 100 us codigoA.2 = RX Wait 100 us codigoA.3 = RX Wait 100 us codigoA.4 = RX Wait 100 us codigoA.5 = RX Wait 100 us codigoA.6 = RX Wait 100 us codigoA.7 = RX wait 100 us codigoB.0 = RX Wait 100 us codigoB.1 = RX Wait 100 us codigoB.2 = RX Wait 100 us codigoB.3 = RX Wait 100 us codigoB.4 = RX Wait 100 us codigoB.5 = RX Wait 100 us codigoB.6 = RX Wait 100 us codigoB.7 = RX Wait 100 us dadoA.0 = RX Wait 100 us dadoA.1 = RX Wait 100 us dadoA.2 = RX Wait 100 us dadoA.3 = RX Wait 100 us dadoA.4 = RX Wait 100 us dadoA.5 = RX Wait 100 us dadoA.6 = RX Wait 100 us dadoA.7 = RX Wait 100 us dadoB.0 = RX Wait 100 us dadoB.1 = RX Wait 100 us dadoB.2 = RX Wait 100 us dadoB.3 = RX Wait 100 us dadoB.4 = RX Wait 100 us dadoB.5 = RX Wait 100 us dadoB.6 = RX Wait 100 us dadoB.7 = RX End sub Sub DecodificaManchester If dadoA.0=1 Then If dadoA.1=1 Then GOTO erro MyData_recebendo.0 = 0 else If dadoA.1=0 Then GOTO erro MyData_recebendo.0 = 1 end if If dadoA.2=1 Then If dadoA.3=1 Then GOTO erro MyData_recebendo.1 = 0 else If dadoA.3=0 Then GOTO erro MyData_recebendo.1 = 1 end if If dadoA.4=1 Then If dadoA.5=1 Then GOTO erro MyData_recebendo.2 = 0 else If dadoA.5=0 Then GOTO erro MyData_recebendo.2 = 1 end if If dadoA.6=1 Then If dadoA.7=1 Then GOTO erro MyData_recebendo.3 = 0 else If dadoA.7=0 Then GOTO erro MyData_recebendo.3 = 1 end if If dadoB.0=1 Then If dadoB.1=1 Then GOTO erro MyData_recebendo.4 = 0 else If dadoB.1=0 Then GOTO erro MyData_recebendo.4 = 1 end if If dadoB.2=1 Then If dadoB.3=1 Then GOTO erro MyData_recebendo.5 = 0 else If dadoB.3=0 Then GOTO erro MyData_recebendo.5 = 1 end if If dadoB.4=1 Then If dadoB.5=1 Then GOTO erro MyData_recebendo.6 = 0 else If dadoB.5=0 Then GOTO erro MyData_recebendo.6 = 1 end if If dadoB.6=1 Then If dadoB.7=1 Then GOTO erro MyData_recebendo.7 = 0 else If dadoB.7=0 Then GOTO erro MyData_recebendo.7 = 1 end if dado = MyData_recebendo end sub erro: Goto Inicio end esquema está em .rar projeto 877a.rar
  11. Desenterrando..... Alguém me recomenda esse gravador?@Fabiano rodrigo testou e aprovou???
  12. Desenterrando...... O NE5532 é baseado em transistores, isso quer dizer que ele é um amplificador de corrente, já o TL072 é amplificador de tensão.Por outro lado, fui consertar uma mesa Wattsom e não tinha o 4558, coloquei um TL072 e funcionou legal. Como já sabemos por projetos de fontes, os transistores são mais lentos e dissipam mais calor, quer dizer que pra altas frequências(agudos) não respondem tanto, os FET's TL07x já são projetados para serem mais lineares possíveis. Mas o negócio é testar: não adianta ficar falando teoria e não ouvir como ele se comporta.
  13. @Mestre88 montei esse aí e não deu certo, o áudio não amplificava no primeiro estágio, ficava tudo distorcido...Fui atrás de informação na net e descobri que falta resistores de bias pro operacional funcionar !!! Só que quando achei essa informação, eu perdi (ou fui roubado , não sei) todas as peças e tive que comprar tudo de novo pro novo projeto com outro circuito. Ai sim a amplificação funcionou, e o compressor também, embora fiz só tenha o primeiro amplificador e o detector, falta um makeup, mas já senti que funcionou,agora um opto compressor baseado num pedal boost. O ataque não é tão rápido pra bateria mas pro ser montado em casa me atende bem. Em breve posto o circuito corrigido.
  14. apenas pra constar, resolvi o problema trocando a placa...

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