Em primeiro lugar agradeço aos moderadores por aceitar meu registro.
Estou tentando ressuscitar um rádio Invictus modelo 434-15 (diagrama abaixo). Só disponho de multímetro digital e meu conhecimento de eletrônica é bem básico.
Segue o que já fiz nele:
- substituição do sistema de filamentos em série (rabo quente) por um transformador que eu mesmo bobinei. Já conferi as tensões com o rádio ligado e estão bem próximas das tensões indicadas para cada válvula
- substituição do diodo de germânio (comprei um de estoque antigo)
- substituição dos capacitores eletrolíticos e dos capacitores a óleo
- substituição de alguns resistores danificados
O rádio funciona, sintoniza algumas estações nas 3 faixas de ondas, porém o som está muito baixo, quase imperceptível.
Peguei o sinal de áudio no potenciômetro e joguei numa caixinha de som de computador e ai o som está próximo do ideal, porém ainda baixo.
Acabei comprando uma válvula retificadora e uma amplificadora novas, porém com elas até piora o desempenho (o que me pareceu estranho)
Também comprei mais 2 válvulas detectores usadas: segundo o vendedor uma 100% e outra 85%, mas também não deram resultado.
Os demais capacitores ainda são originais, alguns de mica e outros tubulares.
Agradeço a atenção e coloco-me a disposição de todos.
(https://i.postimg.cc/26WdGXDW/foto-esquema-radio.jpg)
Bem vindo Fauzi!
Duas perguntas:
A primeira seria sobre o transformador:
Todas as válvulas tem a mesma tensão de filamento, ou se forem diferentes, tu fez mais de um tap para os filamentos? Além disso, as outras tensões estão ok?
A segunda pergunta, seria em relação aos soquetes... Tu conseguiu limpá-los ou substituiu? Eu já passei perrengue com um soquete antigo...
Boa sorte!
Verifique se a etapa de amplificação de saída está funcionando. Para isso arrume uma fonte de sinal de áudio (MP3 player, CD player, gerador de áudio, celular, computador com saída de linha de áudio, qualquer coisa que forneça um sinal de áudio) e injete o sinal no pino 2 (grade de controle G1) da válvula 3 (HL94), obviamente com o rádio ligado e sem pegar alguma estação.
Quando você diz que substituiu a alimentação dos filamentos das válvulas pelo transformador que você enrolou, manteve o mesmo esquema de ligar os filamentos em série como antes, só que num enrolamento secundário de 110 Vac ?
Agradeço muito a pronta resposta dos amigos.
Quanto ao transformador, fiz 4 tapes: 1 com 6,3v para as lâmpadas do dial; outro tape com 12,6v para as 2 válvulas detectores (ligadas em paralelo); mais um de 30 volts para a amplificadora e uma de 35v para a retificadora e eliminei toda a ligação em série.
Quanto aos soquetes, limpei todos os pinos das válvulas, mas o soquete mesmo não limpei, apenas borrifei um pouquinho de limpa contato. Não matutei num jeito de limpar aqueles contatos do soquete.
Acabei de injetar o sinal naquele ponto que você ensinou e funcionou alto e bom som!!!
Ou seja, o aúdio está chegando no potenciômetro mas não está passando para a etapa de amplificação, que pelo teste está boa.
Sim, use um plugue macho P2 estéreo para ligar na saída do celular (embora eu ache que o nível de sinal do celular vai ser baixo e não vai ter amplitude suficiente para conseguir um bom volume no amplificador de áudio do rádio). Mas servirá para saber se a etapa funciona.
Na mesma linha da dica do Raphael, você pode limpar os pinos das válvulas com uma lixa fina e deixá-los mais limpos e com melhor contato. Assim como refazer as soldas antigas e trocar fios velhos. Maus contatos e soldas frias podem ser a causa do problema.
Opa ... eu modifiquei minha resposta acima, desculpe.
Funcionou a etapa de amplificação sim ...
Bom, o sinal de áudio vem pelo capacitor C21 vindo do triodo da V2 (que acho que deve funcionar como demodulador).
Tenta trocar a V1 com a V2 e veja o que acontece.
Fiz essa troca, mas não funcionou: o volume continua baixissimo. Como tenho 4 dessas válvulas eu já tinha tentando trocar de posição, sem sucesso.
O fato de áudio estar chegando ao potenciômetro indica alguma coisa?
E quanto ao diodo e a R13, não entendo a função deles.
O R13 faz parte da polarização da válvula de saída de áudio. É o resistor de grade. Está tudo certo com ele pois a saída de áudio funciona.
Já o diodo eu estou em dúvida se ele é o demodulador ou se é o triodo da V2. Até o penúltimo transformador (entre V2 e V3) só tem sinal de RF modulado em amplitude. A partir dele, o sinal de RF precisa passar por um retificador (um diodo ou uma válvula) pra deixar só um semiciclo do sinal de RF que depois passa por um filtro passa baixas e se torna sinal de áudio de baixa frequência. Se o diodo for esse demodulador (é que ele não está ligado como estudei há quase 40 anos), então o triodo da V2 deveria amplificar o sinal para entregar à última válvula. E aí pode ser que esteja sem amplificação nesse estágio.
QuoteQuanto ao transformador, fiz 4 tapes: 1 com 6,3v para as lâmpadas do dial; outro tape com 12,6v para as 2 válvulas detectores (ligadas em paralelo); mais um de 30 volts para a amplificadora e uma de 35v para a retificadora e eliminei toda a ligação em série.
Não entendi direito o que você fez. Quando você diz "taps" (e não tape, que é fita em inglês) você quis dizer que fez um enrolamento secundário separado e isolado para cada tensão diferente, ou fez só um enrolamento secundário com várias derivações (os "taps" ou tomadas intermediárias) sendo que um fio extremo é comum a todos ? Nesse último caso (um enrolamento só), você usou só fio de uma bitola, ou para cada tap tinha a bitola adequada ? Cada filamento de válvula consome 150 mA, o que deveria ir acumulando nos taps mais baixos (600 mA).
Ou você fez um enrolamento só de 110 V e o dividiu conforme as tensões necessárias, empilhando uma sobre a outra (e portanto, só com uma bitola de fio)
O que fiz foi o seguinte: o secundário tem uma bobina só, com o mesmo fio e várias derivações, cada uma com o número de voltas para retirar as voltagens necessárias para cada válvula, sem me preocupar com a corrente. E tem o ínicio da bobina que seria o "zero" comum a cada derivação. Imaginei (talvez erroneamente) que a corrente total exigida seria da ordem de 600mA e como o transformador é meio parrudo, imaginei que o mesmo pudesse fornecer corrente mais do que necessária para todas as válvulas.
Se você fez o enrolamento todo com fio que aguenta 600 mA, tudo bem. Agora se fez com fio para 150 mA, aí danou-se.
Fio de 0,8mm, acho de 17 ou 18 AWG.
Ah, me esqueci de um detalhe que pode ser importante.
Seguindo a orientação de um técnico, suprimi a ligação entre o filamento e o anodo da válvula retificadora, segundo ele para não atrapalhar o transformador.
Ok. Esse fio aguenta.
Espero que as bobinas/transformadores de RF não tenham sido mexidos (as torrezinhas quadradas de alumínio). Se alguem mexeu nos núcleos (os parafusos no meio delas) vai precisar recalibrar e só com gerador de RF pra isso. Se estiver um pouco descalibrado o sinal que passa pelos transformadores de RF é mais fraco e pode explicar o volume baixo.
Ok.
Os transformadores de RF são um pouco diferentes, pois não possuem aquele parafuso no topo da carcaça de alumínio.
São 2 pinos (que mal se vê as fendas neles), dispostos na vertical da carcaça. Amanhã posto uma foto deles pra você analisar.
A propósito, vou resumir outra "coisinha" que fiz: uma das 6 bobinas osciladoras (a de 530 Kc), estava sem a cera, indicando que já tinham mexido ali. Mexeram tanto que quebraram a fenda do ferrite, que estava emperrado dentro do "carretel". É uma bobina minúscula, com cerca de 24mm de altura.
Não teve outro remédio a não ser estragar o carretel, o que fiz com extremo cuidado para preservar a bobina propriamente dita. Comprei um ferrite e tentei deixar nas dimensões (espessura e comprimento) do original e "usinei" um parafuso de madeira que colei com araldite na base do ferrite novo para possibilitar algum ajuste. Coloquei o ferrite dentro de um tubinho fino de plástico com rosca na base, onde rosqueia o parafuso de madeira, que tem uma fenda.
Parece que funcionou, pois ao sintonizar alguma estação OM e mexendo no ferrite o volume aumenta e diminui ... só não sei a quantas estará correto o dial ... mas foi o que consegui fazer.
Agora com essa informação, eu já não sei se vai ser possível colocar esse rádio pra funcionar direito, só com um multímetro como instrumento e com uma bobina já alterada (não sei se ela vai ter a mesma característica da original), e justo a da faixa de frequências mais usada.
Procura o canal do Museu da Eletrônica no Youtube. O técnico Mauro tem vários vídeos de restauração de rádios antigos e faz a calibração em alguns deles.
Obrigado, vou ver os vídeos do Mauro (não sabia desse canal). Talvez me aventure a tentar a calibrar usando esses geradores de RF on-line, usando o PC, ou mesmo algum app de celular. Pior que tá não deve ficar. Se conseguir ajustar as faixas de ondas curtas já estará bom. Em último caso talvez em mande pra alguém habilitado pra fazer. Aqui na minha cidade não tem ninguém.
Vou tentar postar uma foto das bobinas de FI apenas pra curiosidade. Estou usando o postimage, no item de "miniaturas para foruns". Não sei se vão ficar no tamanho exigido pelo fórum. Queira me desculpar caso alguma coisa fique fora das normas.
(https://i.postimg.cc/hG5SyrBb/20210905-112244-1.jpg)
Eu uso este hospedeiro de imagens:
http://www.hostcgs.com.br/hostimagem/index.php
Um gerador de RF (rádio frequência) fornece sinais de alta frequência (na faixa das centenas de quilohertz e megahertz). No celular ou PC você só vai ter sinais de áudio frequência (até 20 kHz).
Você precisa ter o gerador pra calibrar e ajustar as bobinas e os trimmers do capacitor variável (e talvez um frequencímetro e osciloscópio). Se os caras mexeram na bobina do oscilador local, não tenha dúvida que mexeram nos transformadores de FI e nos trimmers de ajuste. Não é coisa pra quem não tem experiência (eu não sei fazer).
Quote from: xformer on 05 de September de 2021, as 18:08:14
Um gerador de RF (rádio frequência) fornece sinais de alta frequência (na faixa das centenas de quilohertz e megahertz). No celular ou PC você só vai ter sinais de áudio frequência (até 20 kHz).
A verdade é que a faixa de AM não é nem rf direito... começa ali em 500 Khz. Um arduino, com o micro mais ordinário do universo, roda suave a 16MHz, podendo gerar um sinal de 8MHz. Qualquer osciloscópio meia boca enxerga lá seus 40MHz. Não se apegue muito à limitação do equipamento, sabendo o que precisa fazer e com algum improviso você consegue.
Quote from: Questão on 05 de September de 2021, as 22:12:58
A verdade é que a faixa de AM não é nem rf direito... começa ali em 500 Khz. Um arduino, com o micro mais ordinário do universo, roda suave a 16MHz, podendo gerar um sinal de 8MHz. Qualquer osciloscópio meia boca enxerga lá seus 40MHz. Não se apegue muito à limitação do equipamento, sabendo o que precisa fazer e com algum improviso você consegue.
A faixa de RF é a parte do espectro eletromagnético em que há a comunicação por rádio. Então a banda de frequências das estações de rádio OM (ondas médias) em AM (amplitude modulada) é sim RF. É possível operação de rádio em frequências até na faixa de frequências de áudio. Comunicações com submarinos são feitas em menos de 100 Hz (com antenas muito longas).
(http://www.hostcgs.com.br/hostimagem/images/176spectrum.jpg)
A questão da necessidade de um gerador de RF, é que ele fornece um sinal modulado (seja em amplitude - AM, ou em variação de frequência - FM) onde uma portadora carrega um sinal útil (áudio). Só gerar um sinal sem modulação não seria muito útil para calibrar os rádios.
Um circuito digital de microcontrolador (e.g. Arduíno) só conseguiria fornecer um sinal sem modulação AM, de amplitude fixa. Precisaria acrescentar um modulador (um mixer + filtro ressonante) de forma a ser útil para a empreitada. Mas não é fácil se conseguir sinais com frequência desejada com um microcontrolador. Mesmo com 16 MHz de clock, talvez não se consiga um sinal de 540 kHz certinho para calibrar o extremo inferior e um de 1600 kHz para o extremo superior da faixa de OM. Já é difícil conseguir Baud Rates exatos para comunicação serial (que tem frequências bem mais baixas 300 bps a 115000 bps) com clocks altos, então para sinais na faixa do mega hertz é mais difícil ainda.
Enquanto isso...
O pessoal do mundo digital continua tentando conseguir chegar perto daquilo que o pessoal do analógico já fazia há cinquenta anos atrás.
Para gerar um sinal de áudio com 0,01% de distorção, qualquer guri monta um ponte de Wien com um TL071. Mas também dá para usar um DSP de 64 bits rodando a 5 GHz...
Já usei um dsp de 20 dólares pra montar um amplificador classe D :]
As vezes é domingo de tarde e você só quer brincar um pouco, não fazer o trem mais otimizado do mundo. Ademais, estamos em tempos curiosos onde um cortex série M de 32 bits custa menos que um ampop razoável. E o futuro promete mais.
https://create.arduino.cc/projecthub/michalin70/ab-use-an-arduino-as-am-music-transmitter-d3b6e3
Já montei um arranjo parecido, mas com um STM, sem o filtro e mandando só alguns tons. Funciona, se tiver algum micro dando sopa pode montar sem medo.
Claro. Quem sabe, faz com dois transistores. Quem não sabe, usa dois PICs (mas agora, na escola, só usam ARM).
Sem entrar em mérito de tecnologia, mas o que o Fauzi iria precisar, junto com outros instrumentos, seria um gerador desses aqui:
(https://i.postimg.cc/Gmv2rpCN/20210906-144014.jpg)
:)
Quote from: Questão on 06 de September de 2021, as 16:34:47
https://create.arduino.cc/projecthub/michalin70/ab-use-an-arduino-as-am-music-transmitter-d3b6e3
Já montei um arranjo parecido, mas com um STM, sem o filtro e mandando só alguns tons. Funciona, se tiver algum micro dando sopa pode montar sem medo.
Facílimo de montar e gravar, então vamos fazer o teste de São Tomé:
[spoiler](http://www.hostcgs.com.br/hostimagem/images/20420210906_142815.jpg)[/spoiler]
O sketch original programa a frequência de saída do PWM para 600 kHz. Acontece que a frequência do PWM é determinada por um registrador do ATMEGA que é o OCR2A. Esse registrador é de 8 bits (portanto aceita valores inteiros de 0 a 255) e para alguns valores dele, temos as seguintes frequências de PWM:
(http://www.hostcgs.com.br/hostimagem/images/675pwm328.jpg)
Como para 600 kHz o valor de OCR2A seria um valor quebrado, o valor inteiro mais próximo é 12, o que corresponde a 615.38 kHz. Então a possibilidade de se escolher uma determinada frequência é pouca e limitada aos valores inteiros de OCR2A. No meu Arduino Nano eu consegui 591 kHz (o display é um frequencímetro onde os 3 primeiros dígitos são a mantissa e o quarto dígito é o expoente de 10, então 5.91 x 10^5). A diferença para 615 kHz (3 a 4 %) eu acredito que se deva ao fato do clock do meu Nano ser um ressonador cerâmico e não um cristal.
O sinal quando a entrada de áudio está ligada à tensão Aref (máximo = 5V) é assim:
[spoiler](http://www.hostcgs.com.br/hostimagem/images/95820210906_143004.jpg)[/spoiler]
Se a entrada de áudio estiver sem sinal (entrada com Aref/2), acontece o seguinte:
[spoiler](http://www.hostcgs.com.br/hostimagem/images/61920210906_142516.jpg) [/spoiler]
Nesse caso o ATMEGA desliga por alguns ciclos o sinal e o liga pelo mesmo número de ciclos.
A contagem do frequencímetro fica pela metade:
[spoiler](http://www.hostcgs.com.br/hostimagem/images/58620210906_141545.jpg)[/spoiler]
Então na verdade, a modulação não é de amplitude modulada (o vídeo do link diz isso também), e nem PWM, mas seria uma transmissão por CW (continuous wave, usada para código morse), onde o PWM do áudio é transmitido por CW.
Funciona no rádio ? Sim, eu injetei sinal senoidal no Arduíno e liguei meu toca-fitas em rádio AM. Mas o som é muito ruim (além de que eu precisava servir de antena encostando meus dedos no fio de saída para que o rádio pegasse).
Veja como fica o sinal de 591 kHz com o áudio:
[spoiler](http://www.hostcgs.com.br/hostimagem/images/13020210906_150040.jpg)[/spoiler]
Passando por um filtro passa baixas RC, fica assim:
[spoiler](http://www.hostcgs.com.br/hostimagem/images/60520210906_142655.jpg)[/spoiler]
Também mudei o sketch para frequências de 1000 kHz e 1600 kHz:
[spoiler](http://www.hostcgs.com.br/hostimagem/images/46020210906_143959.jpg)
(http://www.hostcgs.com.br/hostimagem/images/36220210906_150202.jpg)[/spoiler]
Eu acho que dessa forma é muito difícil usar isso para calibrar o rádio. E teria que usar as frequências de 533 e 1600 kHz como extremos (525 e 1705 kHz que é a faixa definida pela Abert para ondas médias) e tem de usar um Arduino com clock de cristal. Mas para calibrar ondas curtas teria que pensar em outro jeito já que as frequências são mais altas.
Se fizer citação desta mensagem, retire as imagens de dentro da citação.
Fera demais, curti o frequencímetro! Belíssimo oscilador a cristal.
Bom, os senhores se detiveram em atirar pedras, mas eu só vim sugerir uma alternativa pro problema do rapaz, hora nenhuma disse que ia competir com a rhodes nos geradores de rf de instrumentação.
Isso é pwm sim, o que ele faz na verdade é ligar e desligar o pwm de alta frequência. Um truque bastante divertido. É um pwm sobre pwm, se quiser pensar assim. Eu usei isso com um f103 falsificado de 80MHz (me custou 3 reais na época, mais barato que os 741 da local). Fiz algumas notas musicais pré-programadas, então não tinha lidar com ruídos de quantização. O alcance dá em torno de 5 metros.
Se quiser um gerador de AM fajuto em meia tarde tá aí o esquema. Não é bom, tampouco preciso, mas é fácil.
P.S. Pro Asim essa, um tx de fm em bit-banging com ARM de 3GHz:
https://github.com/markondej/fm_transmitter
Já testei, funciona liso
Quote from: Questão on 07 de September de 2021, as 00:11:57
Fera demais, curti o frequencímetro! Belíssimo oscilador a cristal.
Você conseguiu enxergar meu oscilador a cristal ? ???
Eu fiz com um ci 74LS04 e soldei alguns componentes smd e o cristal de 4 MHz nos pinos das portas inversoras, assim poderia usar em qualquer protoboard e ele serve de clock para o PIC do frequencímetro.
[spoiler](http://www.hostcgs.com.br/hostimagem/images/60420210906_192958.jpg)[/spoiler]
Se quiser montar o frequencímetro, ele é projeto de dois italianos e originalmente usava o PIC 16C84. Eu alterei o código para usar o 16F84A e displays de anodo comum (eles usaram catodo comum, conforme esquema):
(http://www.hostcgs.com.br/hostimagem/images/26550mhz.gif)
[spoiler]Código original:
Quote
;*******************************************************************
; FMETER.ASM
; 4 digits auto-ranging frequency-meter
; made by Simone Benvenuti & Andrea Geniola
; e-mail: simone.benvenuti@studenti.ing.unipi.it
; andrea.geniola@studenti.ing.unipi.it
;*******************************************************************
;
; A frequency counter which can read frequencies from 0Hz to 50MHz is
; here implemented using a PIC microcontroller. The basic hardware for
; the measurement circuit is shown below: the measure result can be read
; on 4 seven-segments displays in the engeneering notation (A.BC * 10^D).
; The displays are driven using only 11 output pins and 4 transistors;
; during a refresh cycle each digit is turned on for 62.5 usec
; The input frequency is "gated" for a precise duration of time. The gate
; is implemented in software as an accurate delay. In order to minimize
; the error the gate is 1msec wide if the frequency is above 256KHz,
; otherwise is 1msec wide. If the frequency is below 128Hz the digits
; blink to warn that the error can be greater than the device resolution.
; To minimize the energy consumption the PIC turns in sleep mode if no
; input signal is detected for 10sec (this period is software tunable),
; but it wake-up itself immediately when the input is stimulated.
; The program is written for the PIC16C84 but cheaper PICs (as PIC16C61)
; can be used.
;
; ________________
; cents gnd -| RA2 RA1 |- tenths gnd
; esp gnd -| RA3 RA0 |- units gnd
; input -////--+-----| RA4/TOCKI |- ___a___
; 470ohm | -| |- 4 MHz cristal | |
; | gnd-| |- VDD 3..5 Volt f| |b
; input control +-----| RB0 Rb7 |- "g" segment | g |
; "a" segment -| RB1 RB6 |- "f" segment |-----|
; "b" segment -| RB2 RB5 |- "e" segment e| |c
; "c" segment -| RB3 RB4 |- "d" segment | d |
; ---------------- -------
;*******************************************************************
;
LIST p=16C84, wdte=0 ; PIC16C84 is the target processor
;
;status registers:
pc equ 02 ;program counter
porta equ 05 ;I/O register
portb equ 06 ;I/O register
status equ 03 ;status register
tmr equ 01 ;8 bits counter
trisa equ 0x5 ;port "a" direction register
trisb equ 0x6 ;port "b" direction register
intcon equ 0x0B ;interrupt control register
;
;general registers:
unita equ 0x0C ;display units
decimi equ 0x1D ;display tenths
cents equ 0x1E ;display cents
esp equ 0x1F ;display exponent
H_byte equ 0x10 ;high_byte of the read number (N)
L_byte equ 0x11 ;low_byte of the read number (N)
conta_r equ 0x12 ;refresh counter
cifra equ 0x13 ;parameter
U equ 0x14 ;units
D equ 0x15 ;tens
H equ 0x16 ;hundreds
M equ 0x17 ;thousands
DM equ 0x18 ;tens of thousands
CM equ 0x19 ;hundreds of thousands
conta1 equ 0x1A :first counter register
conta2 equ 0x1B ;second counter register
N equ 0x1C ;general register
zeri equ 0x20 ;number of cycles without signal
;
;*************************** MAIN PROGRAM
org 0
start
movlw 0x27
option ;load 00100111 in option register
movlw 0x10
movwf intcon ;enable interrupts
movlw .20
movwf zeri
clrf porta
clrf portb
bsf status,5
movlw 0x10
movwf trisa ;porta<0_3>=output, porta<4>=input
clrf trisb ;potrb<0_7>=output
bcf status,5
movlw 0x08 ;all the segments are switched on
movwf unita ;to test the displays
movwf decimi
movwf cents
movwf esp
movlw .20 ;test refresh (0.5sec wide)
movwf conta_r
loop1 call refresh ;Refresh of the displays
decfsz conta_r
goto loop1
loop5 clrf tmr
bsf status,5
movlw 0x01
movwf trisb ;-
bcf status,5 ; |
movlw .99 ; |
movwf conta1 ; |
un_ms nop ; |
nop ; |
nop ; |
nop ; |
nop ; |
nop ; |- 1msec delay
nop ; |
decfsz conta1 ; |
goto un_ms ; |
nop ; |
nop ; |
nop ; |
nop ; |
nop ; |
bsf status,5 ; |
clrf trisb ;-
bcf status,5
call prescaler ;put the counted number into H_byte-L_byte
movf H_byte
btfss status,2 ;test: H_byte=0
goto cal1_ms ;no
btfsc L_byte,7 ;yes, then test if L_byte<=128
goto cal1_ms ;no
clrf tmr ;yes
bsf status,5
movlw 0x01
movwf trisb ;-
bcf status,5 ; |
movlw .20 ; |
movwf conta_r ; |
loopr call refresh ; |
decfsz conta_r ; |
goto loopr ; |
movlw .4 ; |- 0.5 sec delay ("refresh" is called
movwf N ; | 20 times)
wait decfsz N ; |
goto wait ; |
nop ; |
nop ; |
bsf status,5 ; |
clrf trisb ;-
bcf status,5 ;
call prescaler ;put the counted number into H_byte-L_byte
movf H_byte ;
btfss status,2 ;test if H_byte=0
goto cal05 ;NO
btfsc L_byte,7 ;yes, then test if L_byte<=127
goto cal05 ;NO
movf L_byte
btfss status,2
goto lamp
clrf esp ;no input signal is detected
clrf unita ;clear all the displays and show
clrf decimi ;zero without blinking for "zeri" times
clrf cents
decfsz zeri
goto loop5
bcf intcon,1
sleep
goto loop1
lamp movlw 0x14 ;blinking mode
movwf N
giro call ritardo
decfsz N
goto giro
goto cal05
;
cal1_ms clrf U ;put the right values into the 4 displays
clrf D ;registers and add 3 to the exponent
clrf H ;to multiply by one thousand
clrf M
clrf DM
clrf CM
movlw 0x03
movwf esp
call calcolo
movlw .20
movwf conta_r
goto loop1
;
cal05 clrf U ;multiply the number by 2 and put the
clrf D ;right values into the 4 displays regs
clrf H
clrf M
clrf DM
clrf CM
btfsc H_byte,7
call sessant
bcf status,0
rlf L_byte
rlf H_byte
clrf esp
call calcolo
goto loop5
;
;
; ***************************** Delay subroutine
ritardo movlw .8 ; -
movwf conta1 ; |
nop ; |
beta movlw .0 ; |
movwf conta2 ; |_ 62.5 microsec delay
alfa decfsz conta2 ; |
goto alfa ; |
nop ; |
decfsz conta1 ; |
goto beta ; |
movlw .14 ; |
movwf conta2 ; |
gamma decfsz conta2 ; |
goto gamma ; |
nop ; |
nop ; |
return ; -
; ***************************** choice of the right segments
segmenti nop
movf cifra,0
addwf pc ;return into W the right set of segments
retlw 0x7E ;to be ligthed for each digit
retlw 0x0C
retlw 0xB6
retlw 0x9E
retlw 0xCC
retlw 0xDA
retlw 0xFA
retlw 0x0E
retlw 0xFE
retlw 0xDE
;
; ***************************** refresh subroutine: 250 mSec
refresh movf unita,0
movwf cifra
call segmenti
movwf portb
bsf porta,0
call ritardo
bcf porta,0
movf decimi,0
movwf cifra
call segmenti
movwf portb
bsf porta,1
call ritardo
bcf porta,1
movf cents,0
movwf cifra
call segmenti
movwf portb
bsf porta,2
call ritardo
bcf porta,2
movf esp,0
movwf cifra
call segmenti
movwf portb
bsf porta,3
call ritardo
bcf porta,3
return
; ************** subroutine to extract the value contained in prescaler
prescaler movf tmr,0
movwf H_byte ;make a copy of the counter into H_byte
clrf N
ciclo bcf portb,0
bsf portb,0
bcf portb,0 ;give un edge to the input controller
incf N
movf H_byte,0 ;make a copy of H_byte into W
xorwf tmr,0 ;control if tmr is changed (tmr=H_byte)
btfsc status,2
goto ciclo
movlw 0xFF
movwf L_byte
movf N,0
subwf L_byte ;-|__ L_byte=256-N
incf L_byte ;-|
return
; ****************************** frequency calculation subroutine
calcolo movlw .20
movwf zeri
rlf H_byte
btfss status,0 ;check bit7 of H_byte
goto c_2
movlw 0x03
addwf DM
movlw 0x02
addwf M
movlw 0x07
addwf H
movlw 0x06
addwf D
movlw 0x08
addwf U ;if bit7=1 then add 32768
c_2 rlf H_byte
btfss status,0 ;check bit6 of H_byte
goto c_3
movlw 0x01
addwf DM
movlw 0x06
addwf M
movlw 0x03
addwf H
movlw 0x08
addwf D
movlw 0x04
addwf U ;if bit6=1 then add 16384
c_3 rlf H_byte
btfss status,0 ;check bit5 of H_byte
goto c_4
movlw 0x08
addwf M
movlw 0x01
addwf H
movlw 0x09
addwf D
movlw 0x02
addwf U ;if bit5=1 then add 8192
c_4 rlf H_byte
btfss status,0 ;check bit4 of H_byte
goto c_5
movlw 0x04
addwf M
movlw 0x09
addwf D
movlw 0x06
addwf U ;if bit4=1 then add 4096
c_5 rlf H_byte
btfss status,0 ;check bit3 of H_byte
goto c_6
movlw 0x02
addwf M
movlw 0x04
addwf D
movlw 0x08
addwf U ;if bit3=1 then add 2048
c_6 rlf H_byte
btfss status,0 ;check bit2 of H_byte
goto c_7
movlw 0x01
addwf M
movlw 0x02
addwf D
movlw 0x04
addwf U ;if bit2=1 then add 1024
c_7 rlf H_byte
btfss status,0 ;check bit1 of H_byte
goto c_8
movlw 0x05
addwf H
movlw 0x01
addwf D
movlw 0x02
addwf U ;if bit1=1 then add 512
c_8 rlf H_byte
btfss status,0 ;check bit0 of H_byte
goto c_9
movlw 0x02
addwf H
movlw 0x05
addwf D
movlw 0x06
addwf U ;if bit0=1 then add 256
c_9 rlf L_byte
btfss status,0 ;check bit7 of L_byte
goto c_10
movlw 0x01
addwf H
movlw 0x02
addwf D
movlw 0x08
addwf U ;if bit7=1 then add 128
c_10 rlf L_byte
btfss status,0 ;check bit6 of L_byte
goto c_11
movlw 0x06
addwf D
movlw 0x04
addwf U ;if bit6=1 then add 64
c_11 rlf L_byte
btfss status,0 ;check bit5 of L_byte
goto c_12
movlw 0x03
addwf D
movlw 0x02
addwf U ;if bit5=1 then add 32
c_12 rlf L_byte
btfss status,0 ;check bit4 of L_byte
goto c_13
movlw 0x01
addwf D
movlw 0x06
addwf U ;if bit4=1 then add 16
c_13 rlf L_byte
btfss status,0 ;check bit3 of L_byte
goto c_14
movlw 0x08
addwf U ;if bit3=1 then add 8
c_14 rlf L_byte
btfss status,0 ;check bit2 of L_byte
goto c_15
movlw 0x04
addwf U ;if bit2=1 then add 4
c_15 rlf L_byte
btfss status,0 ;check bit1 of L_byte
goto c_16
movlw 0x02
addwf U ;if bit1=1 then add 2
c_16 rlf L_byte
btfss status,0 ;check bit0 of L_byte
goto c_17
movlw 0x01
addwf U ;if bit0=1 then add 1
c_17 call riporti
movf CM,0 ;the 1st significant digit (MSD) is searched
btfss status,2 ;and a 4th significant digit approximation
goto appcmnz ;is made
movf DM,0
btfss status,2
goto appdmnz
movf M,0
btfsc status,2
goto fuori
movf U,0
movwf N
movlw 0x05
subwf N
btfss status,0
goto fuori
incf D
goto fuori
appdmnz movf D,0 ; DM is the MSD
movwf N
movlw 0x05
subwf N
btfss status,0
goto fuori
incf H
goto fuori
appcmnz movf H,0 ;CM is the MSD
movwf N
movlw 0x05
subwf N
btfss status,0
goto fuori
incf M
fuori call riporti
movf CM,0 ;put the 4th significant digit into
btfss status,2 ;the 4 display registers
goto cmnz ;and put into esp the rigth value
movf DM,0
btfss status,2
goto dmnz
movf M,0
btfss status,2
goto mnz
movlw 0x02 ;U is the MSD
addwf esp
movf H,0
movwf unita
movf D,0
movwf decimi
movf U,0
movwf cents
goto esci
mnz movlw 0x03 ;M is the MSD
addwf esp
movf M,0
movwf unita
movf H,0
movwf decimi
movf D,0
movwf cents
goto esci
dmnz movlw 0x04 ;DM is the MSD
addwf esp
movf DM,0
movwf unita
movf M,0
movwf decimi
movf H,0
movwf cents
goto esci
cmnz movlw 0x05 ;CM is the MSD
addwf esp
movf CM,0
movwf unita
movf DM,0
movwf decimi
movf M,0
movwf cents
esci return
; ****************************** carry subroutine
riporti movf U,0
movwf N
ripu movf N,0 ;check if units>10
movwf U
incf D
movlw 0x0A
subwf N
btfsc status,0
goto ripu
decf D
movf D,0
movwf N
ripd movf N,0 ;check if tens>10
movwf D
incf H
movlw 0x0A
subwf N
btfsc status,0
goto ripd
decf H
movf H,0
movwf N
ripc movf N,0 ;check if hundreds>10
movwf H
incf M
movlw 0x0A
subwf N
btfsc status,0
goto ripc
decf M
movf M,0
movwf N
ripm movf N,0 ;check if thousands>10
movwf M
incf DM
movlw 0x0A
subwf N
btfsc status,0
goto ripm
decf DM
movf DM,0
movwf N
ripdm movf N,0 ;check if tens of thousands>10
movwf DM
incf CM
movlw 0x0A
subwf N
btfsc status,0
goto ripdm
decf CM
return
; ****************************** subroutine to add 64K
sessant movlw 0x06
addwf DM
movlw 0x05
addwf M
movlw 0x05
addwf H
movlw 0x03
addwf D
movlw 0x06
addwf U ;add 65536
return
END
;----------------
[/spoiler]
Quote
Bom, os senhores se detiveram em atirar pedras, mas eu só vim sugerir uma alternativa pro problema do rapaz, hora nenhuma disse que ia competir com a rhodes nos geradores de rf de instrumentação.
Não pense assim Gustavo. Eu também não tenho gerador de RF, então qualquer sugestão de um instrumento fácil de implementar pode ser uma boa. Mas precisa ser utilizável e viável. Por isso eu testo as ideias pra poder usar um dia (é o caso desse frequencímetro com PIC, que descobri há 20 anos). Mas tem um monte de projeto furado na internet e precisam ser validados.
Quote
P.S. Pro Asim essa, um tx de fm em bit-banging com ARM de 3GHz:
https://github.com/markondej/fm_transmitter
Já testei, funciona liso
Lá vou eu testar outro projeto agora com o Raspberry Pi :D
Que diabo Raspberry Pi é esse seu com 3 GHz ? Os meus mais rápidos são o Pi3 (1.2 GHz) e o Pi4 (1.5 GHz). Nem com overclock ...
-----
Código modificado para PIC 16F84 e displays de anodo comum:
[spoiler]
Quote
;*******************************************************************
; FMETER.ASM
; 4 digits auto-ranging frequency-meter
; Rewritten for 16F84A
;
; ________________
; cents gnd -| RA2 RA1 |- tenths gnd
; esp gnd -| RA3 RA0 |- units gnd
; input -/\/\/\/\--+-----| RA4/TOCKI |- ___a___
; 470ohm | -| |- 4 MHz cristal | |
; | gnd-| |- VDD 3..5 Volt f| |b
; input control +-----| RB0 Rb7 |- "g" segment | g |
; "a" segment -| RB1 RB6 |- "f" segment |------------|
; "b" segment -| RB2 RB5 |- "e" segment e| |c
; "c" segment -| RB3 RB4 |- "d" segment | d |
; ---------------------- -------------
;*******************************************************************
;
LIST p=16F84A ;wdte=0 ; PIC16F84A is the target processor
;
;status registers:
pc equ 02 ;program counter
porta equ 05 ;I/O register
portb equ 06 ;I/O register
status equ 03 ;status register
tmr equ 01 ;8 bits counter
trisa equ 0x5 ;port "a" direction register
trisb equ 0x6 ;port "b" direction register
intcon equ 0x0B ;interrupt control register
;
;general registers:
unita equ 0x0C ;display units
decimi equ 0x1D ;display tenths
cents equ 0x1E ;display cents
esp equ 0x1F ;display exponent
H_byte equ 0x10 ;high_byte of the read number (N)
L_byte equ 0x11 ;low_byte of the read number (N)
conta_r equ 0x12 ;refresh counter
cifra equ 0x13 ;parameter
U equ 0x14 ;units
D equ 0x15 ;tens
H equ 0x16 ;hundreds
M equ 0x17 ;thousands
DM equ 0x18 ;tens of thousands
CM equ 0x19 ;hundreds of thousands
conta1 equ 0x1A ;first counter register
conta2 equ 0x1B ;second counter register
N equ 0x1C ;general register
zeri equ 0x20 ;number of cycles without signal
;
;*************************** MAIN PROGRAM
org 0
start
movlw 0x27
option ;load 00100111 in option register
movlw 0x10
movwf intcon ;enable interrupts
movlw .20
movwf zeri
clrf porta
clrf portb
bsf status,5
movlw 0x10 ;trisa = 00010000
movwf trisa ;porta<0_3>=output, porta<4>=input
clrf trisb ;portb<0_7>=output trisb = 00000000
bcf status,5
movlw 0x08 ;all the segments are switched on
movwf unita ;to test the displays
movwf decimi
movwf cents
movwf esp
movlw .20 ;test refresh (0.5sec wide)
movwf conta_r
loop1 call refresh ;Refresh of the displays
decfsz conta_r
goto loop1
loop5 clrf tmr
bsf status,5
movlw 0x01
movwf trisb ;- portb0 = input
bcf status,5 ; |
movlw .99 ; |
movwf conta1 ; |
un_ms nop ; |
nop ; |
nop ; |
nop ; |
nop ; |
nop ; |- 1msec delay
nop ; |
decfsz conta1 ; |
goto un_ms ; |
nop ; |
nop ; |
nop ; |
nop ; |
nop ; |
bsf status,5 ; |
clrf trisb ;- portb0 = output
bcf status,5
call prescaler ;put the counted number into H_byte-L_byte
movf H_byte
btfss status,2 ;test: H_byte=0
goto cal1_ms ;no
btfsc L_byte,7 ;yes, then test if L_byte<=128
goto cal1_ms ;no
clrf tmr ;yes
bsf status,5
movlw 0x01
movwf trisb ;-
bcf status,5 ; |
movlw .20 ; |
movwf conta_r ; |
loopr call refresh ; |
decfsz conta_r ; |
goto loopr ; |
movlw .4 ; |- 0.5 sec delay ("refresh" is called
movwf N ; | 20 times)
wait decfsz N ; |
goto wait ; |
nop ; |
nop ; |
bsf status,5 ; |
clrf trisb ;-
bcf status,5 ;
call prescaler ;put the counted number into H_byte-L_byte
movf H_byte ;
btfss status,2 ;test if H_byte=0
goto cal05 ;NO
btfsc L_byte,7 ;yes, then test if L_byte<=127
goto cal05 ;NO
movf L_byte
btfss status,2
goto lamp
clrf esp ;no input signal is detected
clrf unita ;clear all the displays and show
clrf decimi ;zero without blinking for "zeri" times
clrf cents
decfsz zeri
goto loop5
bcf intcon,1
sleep
goto loop1
lamp movlw 0x14 ;blinking mode
movwf N
giro call ritardo
decfsz N
goto giro
goto cal05
;
cal1_ms clrf U ;put the right values into the 4 displays
clrf D ;registers and add 3 to the exponent
clrf H ;to multiply by one thousand
clrf M
clrf DM
clrf CM
movlw 0x03
movwf esp
call calcolo
movlw .20
movwf conta_r
goto loop1
;
cal05 clrf U ;multiply the number by 2 and put the
clrf D ;right values into the 4 displays regs
clrf H
clrf M
clrf DM
clrf CM
btfsc H_byte,7
call sessant
bcf status,0
rlf L_byte
rlf H_byte
clrf esp
call calcolo
goto loop5
;
;
; ***************************** Delay subroutine
ritardo movlw .8 ; -
movwf conta1 ; |
nop ; |
beta movlw .0 ; |
movwf conta2 ; |_ 62.5 microsec delay
alfa decfsz conta2 ; |
goto alfa ; |
nop ; |
decfsz conta1 ; |
goto beta ; |
movlw .14 ; |
movwf conta2 ; |
gamma decfsz conta2 ; |
goto gamma ; |
nop ; |
nop ; |
return ; -
; ***************************** choice of the right segments
segmenti nop
movf cifra,0
addwf pc ;return into W the right set of segments to be lighted for each digit
retlw 0x81 ;10000001 0x7E ; 01111110 0 gfedcbap
retlw 0xF3 ;11110011 0x0C ; 00001100 1
retlw 0x49 ;01001001 0xB6 ; 10110110 2
retlw 0x61 ;01100001 0x9E ; 10011110 3
retlw 0x33 ;00110011 0xCC ; 11001100 4
retlw 0x25 ;00100101 0xDA ; 11011010 5
retlw 0x05 ;00000101 0xFA ; 11111010 6
retlw 0xF1 ;11110001 0x0E ; 00001110 7
retlw 0x01 ;00000001 0xFE ; 11111110 8
retlw 0x21 ;00100001 0xDE ; 11011110 9
;
; ***************************** refresh subroutine: 250 mSec
refresh movf unita,0
movwf cifra
call segmenti
movwf portb
bcf portb,0 ;liga ponto decimal
bcf porta,0 ;liga display unidades anodo comum
call ritardo
bsf porta,0 ;desliga display unidades
movf decimi,0
movwf cifra
call segmenti
movwf portb
bcf porta,1 ;liga display decimo
call ritardo
bsf porta,1 ;desliga display decimos
movf cents,0
movwf cifra
call segmenti
movwf portb
bcf porta,2 ;liga display centesimos
call ritardo
bsf porta,2 ;desliga display centesimos
movf esp,0
movwf cifra
call segmenti
movwf portb
bcf porta,3 ;liga display expoente
call ritardo
bsf porta,3 ;desliga display expoente
return
; ************** subroutine to extract the value contained in prescaler
prescaler
movf tmr,0
movwf H_byte ;make a copy of the counter into H_byte
clrf N
ciclo bcf portb,0
bsf portb,0
bcf portb,0 ;give un edge to the input controller
incf N
movf H_byte,0 ;make a copy of H_byte into W
xorwf tmr,0 ;control if tmr is changed (tmr=H_byte)
btfsc status,2
goto ciclo
movlw 0xFF
movwf L_byte
movf N,0
subwf L_byte ;-|__ L_byte=256-N
incf L_byte ;-|
return
; ****************************** frequency calculation subroutine
calcolo movlw .20
movwf zeri
rlf H_byte
btfss status,0 ;check bit7 of H_byte
goto c_2
movlw 0x03
addwf DM
movlw 0x02
addwf M
movlw 0x07
addwf H
movlw 0x06
addwf D
movlw 0x08
addwf U ;if bit7=1 then add 32768
c_2 rlf H_byte
btfss status,0 ;check bit6 of H_byte
goto c_3
movlw 0x01
addwf DM
movlw 0x06
addwf M
movlw 0x03
addwf H
movlw 0x08
addwf D
movlw 0x04
addwf U ;if bit6=1 then add 16384
c_3 rlf H_byte
btfss status,0 ;check bit5 of H_byte
goto c_4
movlw 0x08
addwf M
movlw 0x01
addwf H
movlw 0x09
addwf D
movlw 0x02
addwf U ;if bit5=1 then add 8192
c_4 rlf H_byte
btfss status,0 ;check bit4 of H_byte
goto c_5
movlw 0x04
addwf M
movlw 0x09
addwf D
movlw 0x06
addwf U ;if bit4=1 then add 4096
c_5 rlf H_byte
btfss status,0 ;check bit3 of H_byte
goto c_6
movlw 0x02
addwf M
movlw 0x04
addwf D
movlw 0x08
addwf U ;if bit3=1 then add 2048
c_6 rlf H_byte
btfss status,0 ;check bit2 of H_byte
goto c_7
movlw 0x01
addwf M
movlw 0x02
addwf D
movlw 0x04
addwf U ;if bit2=1 then add 1024
c_7 rlf H_byte
btfss status,0 ;check bit1 of H_byte
goto c_8
movlw 0x05
addwf H
movlw 0x01
addwf D
movlw 0x02
addwf U ;if bit1=1 then add 512
c_8 rlf H_byte
btfss status,0 ;check bit0 of H_byte
goto c_9
movlw 0x02
addwf H
movlw 0x05
addwf D
movlw 0x06
addwf U ;if bit0=1 then add 256
c_9 rlf L_byte
btfss status,0 ;check bit7 of L_byte
goto c_10
movlw 0x01
addwf H
movlw 0x02
addwf D
movlw 0x08
addwf U ;if bit7=1 then add 128
c_10 rlf L_byte
btfss status,0 ;check bit6 of L_byte
goto c_11
movlw 0x06
addwf D
movlw 0x04
addwf U ;if bit6=1 then add 64
c_11 rlf L_byte
btfss status,0 ;check bit5 of L_byte
goto c_12
movlw 0x03
addwf D
movlw 0x02
addwf U ;if bit5=1 then add 32
c_12 rlf L_byte
btfss status,0 ;check bit4 of L_byte
goto c_13
movlw 0x01
addwf D
movlw 0x06
addwf U ;if bit4=1 then add 16
c_13 rlf L_byte
btfss status,0 ;check bit3 of L_byte
goto c_14
movlw 0x08
addwf U ;if bit3=1 then add 8
c_14 rlf L_byte
btfss status,0 ;check bit2 of L_byte
goto c_15
movlw 0x04
addwf U ;if bit2=1 then add 4
c_15 rlf L_byte
btfss status,0 ;check bit1 of L_byte
goto c_16
movlw 0x02
addwf U ;if bit1=1 then add 2
c_16 rlf L_byte
btfss status,0 ;check bit0 of L_byte
goto c_17
movlw 0x01
addwf U ;if bit0=1 then add 1
c_17 call riporti
movf CM,0 ;the 1st significant digit (MSD) is searched
btfss status,2 ;and a 4th significant digit approximation
goto appcmnz ;is made
movf DM,0
btfss status,2
goto appdmnz
movf M,0
btfsc status,2
goto fuori
movf U,0
movwf N
movlw 0x05
subwf N
btfss status,0
goto fuori
incf D
goto fuori
appdmnz movf D,0 ; DM is the MSD
movwf N
movlw 0x05
subwf N
btfss status,0
goto fuori
incf H
goto fuori
appcmnz movf H,0 ;CM is the MSD
movwf N
movlw 0x05
subwf N
btfss status,0
goto fuori
incf M
fuori call riporti
movf CM,0 ;put the 4th significant digit into
btfss status,2 ;the 4 display registers
goto cmnz ;and put into esp the rigth value
movf DM,0
btfss status,2
goto dmnz
movf M,0
btfss status,2
goto mnz
movlw 0x02 ;U is the MSD
addwf esp
movf H,0
movwf unita
movf D,0
movwf decimi
movf U,0
movwf cents
goto esci
mnz movlw 0x03
Quote from: xformer on 07 de September de 2021, as 02:02:17
Você conseguiu enxergar meu oscilador a cristal ? ???
Vi a latinha do cristal num amontoado de componente ali e já curti :P
Sou fã de uma gambiarra bem feita... Acho que vou copiar.
Quote from: xformer on 07 de September de 2021, as 02:02:17
Não pense assim Gustavo. Eu também não tenho gerador de RF, então qualquer sugestão de um instrumento fácil de implementar pode ser uma boa. Mas precisa ser utilizável e viável. Por isso eu testo as ideias pra poder usar um dia (é o caso desse frequencímetro com PIC, que descobri há 20 anos). Mas tem um monte de projeto furado na internet e precisam ser validados.
A qualidade vai da complexibilidade. Mais um buffer e uns filtrinhos de sexta ordem e daria pra transmitir AM profissionalmente por aí. Mas realmente não dá pra esperar muita coisa de uma montagem como essa. Ainda assim é um jeito bom de começar a brincar.
Quote from: xformer on 07 de September de 2021, as 02:02:17
Lá vou eu testar outro projeto agora com o Raspberry Pi :D
Que diabo Raspberry Pi é esse seu com 3 GHz ? Os meus mais rápidos são o Pi3 (1.2 GHz) e o Pi4 (1.5 GHz). Nem com overclock ...
Realmente... Devo ter confundido com a spec outro sbc. Corrigindo pra 1.5GHz então.
Quote from: Questão on 07 de September de 2021, as 20:02:00
Vi a latinha do cristal num amontoado de componente ali e já curti :P
Sou fã de uma gambiarra bem feita... Acho que vou copiar.
Você está falando de um oscilador dip metálico de 2048 kHz. Ele está ao lado do meu oscilador de 4 MHz feito com TTL. Na protoboard eu deixo alguns osciladores para poder usar vários clocks dependendo do circuito que monto. Há ainda um oscilador astável com 555 com frequência de 30 Hz. Eu deixo ainda alguns cis TTL contadores e flip-flops JK para dividir as frequências e conseguir outros valores de clock.
Na protoboard eu deixo pronto também uma fileira de leds com resistores e push buttons. Isso agiliza a montagem e teste de cis, sem precisar partir do zero.
Vixe ... fiquei uns dias sem olhar o tópico e agora tem várias mensagens, cujo teor foge do meu pouco conhecimento.
O que tentei fazer foi um simples gerador de RF, usando um ressonador cerâmico e 2 CD4011, além de outros componentes. Esse circuito foi publicado na revista Saber Eletrônico do Newton Braga e revisto no canal EletroMakersBrasil nesse link, onde tem link para o circuito original e o modificado, que foi o que fiz.
Porém, não sei porque cargas d'águas não funcionou. Antes de ligar conferi várias vezes as ligações porque não montei num circuito impresso, mas numa plaquinha de fenolite lisa e com ligações fio a fio.
https://www.youtube.com/watch?v=pgA2BwpWOxg&t=528s
Escrevi um comentário no canal e o titular gentilmente informou que não entende porque não funcionou, dizendo que vários usuários construiram e funcionou.
Gastei apenas R$ 13,00 de componentes.
Não sei se vocês conhecem esse circuito mas penso que se funcionar deve ser minimamente suficiente para fazer o alinhamento dos FI da maioria dos rádios antigos, com baixíssimo custo. Se algum de vocês pudesse fazer e testar seria interessante.
Também estou procurando no Aliexpress alguma coisa parecida com isso, mas não achei ainda.
Um circuito simples desses, é quase certo que funcione. Ou você utilizou algum componente ruim, ou ( mais comum) você errou na montagem. O pior é que não se sabe o que aconteceu. E sem equipamento mais específico (osciloscópio), você não vai descobrir muito fácil.
:)
Até tentei fazer uma plaquinha de circuito impresso mas não dei conta de mexer nesses programas. Se eu tivesse facilidade pra isso com certeza ia fazer uma plaquinha e montar de novo, até mesmo comprando novos componentes.
Como você sabe que os osciladores (um de 455 kHz e outro de 1 kHz) não estão funcionando ? Seu multímetro tem frequencímetro ?
No link para o esquema do NCB, a montagem é com o 7400 (ao invés do CD4011) e tem o layout da placa de circuito impresso (não serve para o CD4011).
É difícil realizar algumas tarefas em eletrônica sem os instrumentos certos. Veja que até para construir alguns instrumentos rústicos precisa ter outros instrumentos. Não dá pra ser MacGyver e improvisar as coisas.
Depois, esse oscilador de FI só vai servir para calibrar as etapas de FI. Para calibrar as estações (etapa de sintonia), precisa do gerador que forneça outras frequências.
Sim entendo e peço desculpas. Porém, no vídeo que postei o link, ele trocou os CI 7400 pelos 4011 e alterou o valor de alguns componentes e postou o circuito já alterado. Então, resolvi fazer nesse esquema novo que ele explica no vídeo.
Apenas comentei sobre esse circuito por achar que pudesse ser útil para outros principiantes como eu.
A minha questão e dúvida é como você sabe que o seu circuito não funciona ? Vai ver está funcionando e você não sabe.
Eu montei agora rapidinho o circuito com dois 7400 e funcionou sem problemas. Mas eu tenho como ver se está oscilando ou não (pelo frequencímetro e pelo osciloscópio).
A única diferença é que eu não tinha filtro cerâmico de 455 kHz, mas usei um filtro de 10.7 MHz (FI de FM) e funcionou de cara e ainda montado na protoboard. Também usei ressonadores de 4 MHZ, 6 MHz, 10 MHz e todos funcionaram, só tirando um e colocando outro. Acredito que com um de 455 kHz vai funcionar também.
[spoiler]
Oscilador de 10.7 MHz:
(http://www.hostcgs.com.br/hostimagem/images/28820210909_132248.jpg)
Oscilador de 1 kHz (1030 Hz):
(http://www.hostcgs.com.br/hostimagem/images/69220210909_133541.jpg)
Sinal no osciloscópio:
(http://www.hostcgs.com.br/hostimagem/images/93020210909_132526.jpg)[/spoiler]
Se fizer citação desta mensagem, retire as imagens de dentro da citação.
Na verdade eu segui a orientação do NCB, passando 2 ou 3 voltas de fio no rádio. Deixei o rádio esquentar uns 10 minutos, liguei o gerador de sinal e mexi nos ferrites das FI e também no potenciômetro esperando produzir algum "apito", porém não obtive qualquer tipo de sinal por menor que fosse.
Também tentei ligar o gerador direto na antena do rádio, sem sucesso também.
Ai tentei obter algum apito no meu Transglobe (sem mexer em nada dele, pois o mesmo está calibradíssimo de fábrica), mas também não apitou.
Por isso imaginei que o gerador não está funcionando.
Posta algumas fotos do seu circuito gerador. Quem sabe a gente enxergue algo de errado ou damos alguma dica.
Você não tem algum instrumento que possa medir frequência de sinais ? No multímetro não tem ?
Estou com vergonha de postar fotos, mas a teimosia é maior. Desculpe-me pela tremenda gambiarra. Depois que olhei bem a plaquinha no NCB eu poderia ter feito um pouco melhor.
(http://www.hostcgs.com.br/hostimagem/images/79020210909_195228_1.jpg)
Aqui tentei indicar os componentes pra facilitar. Qualquer dúvida, por favor deixem-me saber.
Obrigado.
(http://www.hostcgs.com.br/hostimagem/images/20820210909_195455_1.jpg)
(http://www.hostcgs.com.br/hostimagem/images/961gerador.jpg)
Para os elétrons não importa se o circuito está bonito ou não. O que importa é que eles tenham bons condutores e boas soldas.
O layout do NCB não iria servir para a montagem com os 4011, porque eles tem disposição diferente das portas lógicas em relação ao 7400.
Meça com o multímetro, quais as tensões (DC) nos pinos 4 do CI1 e no pino 10 do CI1. Eles são as saídas dos osciladores. Se não houver oscilação, a porta vai estar travada no nível alto (perto dos 5 V) ou em nível baixo (perto do 0 V). Um valor intermediário perto do meio, pode significar que há oscilação. Da mesma forma, veja a tensão no pino 4 do CI2, que é a saída do sinal modulado (deve ser menos da metade). Com um pouco de sorte, se a resistência de entrada do seu multímetro for alta e ele conseguir medir a tensão média sem matar os sinais dos osciladores, vai dar pra ter uma ideia.
Até com um "logic probe" poderia ser verificado se há oscilação. Se você tiver um CD4049, avise que eu posto um esquema de ponta lógica com ele.
Pelo o que deu para ver a montagem, conferindo com o esquema, parece tudo certo.
Bom dia,
Pino 4 do CI1: 2,97V
Pino 10 do CI1: 0,13V
Pino 4 do CI2: 0,00 (zero)
Esses tirados com multimetro Minipa básico.
Ontem chegou o Smart Multimetro Bside ADMS9. Com ele deu 3,07V no pino 4, 0,23v pino 10. No pino 4 do CI2, começou dando "zero", depois marcou 130 ohms.
O oscilador de 455 kHz pode estar funcionando, já que a tensão no pino 4 - CI1 está perto da metade da tensão de alimentação (6 V). Mas o oscilador de baixa frequência não está oscilando e travado em nível baixo. Tente refazer as soldas e as ligações nessa parte do circuito. Se tiver outro capacitor de 220 nF substitua o C1.
Esqueci de dizer que estou alimentando com 5v.
Vou dar uma conferida nas soldas. Não tenho outro capacitor. Semana que vem vou pra Bauru e compro outro capacitor e mais CI.
Muito obrigado pela atenção.
Olá Fauzi.
Estive olhando sua montagem, e como o xformer já havia dito, visualmente está correta. Talvez o problema se resuma a um componente ruim ou, até mesmo mesmo uma trilha de solda indevida. Eu fiz aqui um layout básico do circuito. A única diferença do seu é que os resistores e o capacitor estão do lado certo, pra evitar tantas idas e vindas das conexões.
(https://i.postimg.cc/pTqc4cts/Misturador.png)
:)
Muito obrigado amigo Matec pela disposição em ajudar.
Amanhã mesmo vou reconstruir o projeto nesse disposição que você fez e ai eventualmente se corrige alguma solda mal feita.
Valeu.
Remontei o circuito com mais capricho porém persiste o problema.
Vou deixar o projeto em stand-by por uns dias por motivo de força maior.
Assim que eu comprar novos componentes e quem sabe fazer a PCI comento o resultado. Obrigado.
Experimenta trocar o R3 de 2.2 kohms por um valor um pouco maior (2.4 k ou 2.7 k, ou levanta um dos terminais do 2.2 e solda um resistor de 220 ohms para ficar em série).
Na simulação do oscilador, com um resistor de 1900 ohms, a oscilação não inicia. Já com valor de mais de 4000 ohms, também não oscila. Há uma faixa de resistores em que o oscilador funciona.
Montei também o circuito real, e com 2200 ohms e 220 nF e portas lógicas CMOS CD4011, o circuito oscila. Mas se o resistor for menor do que 1500 ohms, já não funciona direito.
Agora ficou bem estranho. Depois que remontei o circuito (usando os mesmos componentes), o multimetro está medido 5 volts em todos aqueles 3 pontos que você recomendou medir. Acho que o CI 1 curto circuitou.
Quote from: Fauzi on 14 de September de 2021, as 14:43:15
Agora ficou bem estranho. Depois que remontei o circuito (usando os mesmos componentes), o multimetro está medido 5 volts em todos aqueles 3 pontos que você recomendou medir. Acho que o CI 1 curto circuitou.
Muitos CIs desses podem queimar se forem excessivamente aquecidos ou muito manuseados.
É recomendável, nesses casos, utilizar soquetes para evitar isso.
:)
Existe uma questão para poder fazer esse circuito funcionar com o CD4011, que é se ele é bufferizado ou não bufferizado. Os sufixos UB ou B (depois do 4011) indicam de que tipo são as portas lógicas. Eu usei o do tipo B (bufferizado) para conseguir funcionar o oscilador de baixa frequência. Por outro lado, ele não vai funcionar com a frequência de FI porque os bufferizados tem um atraso de propagação maior e a resposta de frequência é menor.
Esses detalhes podem explicar porque não tem a partida da oscilação (atraso, corrente de saída, imunidade a ruído, etc que são diferentes nas duas versões). Veja qual é a versão dos seu CD4011. Se for comprar outros cis, compre os TTL 7400, que são baratos também e acho que são mais garantidos para funcionar.
Quote from: xformer on 14 de September de 2021, as 18:48:19
Se for comprar outros cis, compre os TTL 7400, que são baratos também e acho que são mais garantidos para funcionar.
Não esqueça que, diferente das portas CMOS, os circuitos TTL não toleram tensões maiores que 5V. Sendo assim, alimente o circuito com 5V!
O que tá escrito nele é: 2AE99VK
CD4011BE
De qualquer forma, comprarei o TTL7400.
Os demais componentes e montagem continuam os mesmos?
Mais uma vez obrigado amigos.
R1 e R2 mudam para 1200 ohms (1k2).
R3 muda para 330 ohms.
A pinagem do 7400 é diferente do 4011. Pegue o esquema original do NCB ou pegue a datasheet do 7400 e faça as mudanças.
Ah sim, o que você sugere é montar o esquema original do NCB, ok.
PS.: vou precisar me ausentar por uns dias. Quando estiver tudo pronto, posto aqui.
Obrigado pela atenção.
Também achei outro circuito. Se vocês acharem que tem possibilidade de ser melhor, poderei tentar montar esse.
http://www.siliconchip.com.au/cms/A_109838/article.html
Quote from: Fauzi on 16 de September de 2021, as 03:14:46
Também achei outro circuito. Se vocês acharem que tem possibilidade de ser melhor, poderei tentar montar esse.
http://www.siliconchip.com.au/cms/A_109838/article.html
Também é um bom circuito, se funcionar. Se tiver o Layout também, fica mais fácil!
:)
Olha esse outro! Apenas 3 componentes. Realmente o mundo da eletrônica é fascinante.
http://www.tompolk.com/inventions/455_KHz_Oscillator/455_KHz_Oscillator.html
Você está parecido com o cara que quer trocar o pneu furado do carro, mas não tem nem o macaco e nem a chave de roda. Então quer improvisar um galho para levantar o carro como alavanca, mas precisa cortar uma árvore com uma faca de cozinha pra conseguir o pau, e a chave de roda deixa pra pensar depois. :D
Quote from: Fauzi on 16 de September de 2021, as 14:49:09
Olha esse outro! Apenas 3 componentes. Realmente o mundo da eletrônica é fascinante.
http://www.tompolk.com/inventions/455_KHz_Oscillator/455_KHz_Oscillator.html
Só que não serve pro seu propósito. Não é tudo que você vê que vai fazer o serviço. Enquanto você não tiver os equipamentos para aferição, vai ficar só criando plaquinhas...
>:(
É ... talvez eu não consiga mesmo calibrar o rádio, mas não me custa tentar. Eu outros ramos de atividade já fiz coisas que muito não acreditavam ser possível. Porém, agora que estou contando com a preciosa ajuda de vocês, tenho muito esperança de conseguir.
Sei bem que seria muito mais fácil mandar alguém consertar, ou mesmo comprar os equipamentos necessários o que felizmente pra mim não seria tanto problema, mas perderia todo o sentido pra mim. Sou mesmo movido a desafios e não costumo desistir diante de dificuldades.
Boa noite amigos. Mais uma vez obrigado pela paciência para comigo.
Bem, na loja de componentes em Bauru não achei o SN7400. Ai comprei 2 CD4011 novos com soquetes e mais um capacitor de 220nF.
Remontei o circuito e agora apresentou as seguintes medições: (alimentando com 5V).
CI1 - pino 4: 1,93V - pino 10: 4,00V
CI2 - pino 4: 1,97V.
Também gostaria de saber se com um multímetro VICI, modelo vc99, seria possível saber se está oscilando. Esse multímetro tem a função "frequência" e chegou hoje pra mim.
Finalmente, fiquei sabendo hoje que um antigo técnico de rádio aqui da minha cidade, que eu tinha quase certeza que estava definitivamente aposentado, ainda faz algumas coisinhas. Lembro que antigamente ele tinha instrumentos. Essa semana vou procurá-lo.