sábado, 31 de janeiro de 2026

DDS VFO 100KHz a 160MHz Cobra 148 GTL 3 frequências Oled.

Desculpe-me esta página está em construção pelo autor. 
Olá a todos que acompanha nosso blog. Sou agora um caçador pesquisador de sketch código livre para Si5351 e Oled SSD1306. Encontrei mais um campeão em modificações, desde sua primeira publicação 2015, com PIC e código livre na WEB. Achei na página holandesa do PAQRWE, Ver.3.2, por favor leia toda página do link. Há alguns meses atrás, gravei um destes sketch esboço, que não lembro a versão. O display ficou pequeno para os caracteres principalmente os números das frequências, a resolução não estava correta. Então fui pesquisar. Depois de assistir a diversos vídeos destes sketches e versões, e nenhum deles menciona sobre display, em um fórum, aliás tem um vídeo colega brasileiro que mostra o dele também com os nomes e números da frequências grandes e resolução errada, em sua página o colega PA3EQP, PAQRWE em Versão Arduino Notas: ele cita a biblioteca Si5351 que melhor funcionou em seu programa sketch, ele também escreve sobre a resolução do display Oled SSD1306. Eu ainda não tinha lido, e mesmo assim não entenderia o que ele escreveu: " Pelos construtores, entendi que a resolução padrão na biblioteca de SSD1306 do Adafruit está definida para um valor incorreto. Você deve mudar a resolução no arquivo Adafruit_SSD1306.h para 128×64. É uma afirmação #define no início do arquivo." O problema não é a biblioteca, o sketch não aceita esta instrução, ou linha de código. Mas sim este instrução deve ser a melhor opção: Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);  Ao invés do que consta lá no sketch como: Adafruit_SSD1306 display(OLED_RESET); Esta instrução deve ser banida, e a primeiro deve permanecer para algumas telas display ter resolução correta. Eu descobrir depois de tentar várias vezes em outros sketches de versões dos mesmos autores, então todos ficavam assim resolução errada no meu display, então observando nos outros sketches fui mudando o que se referencia ao display, e observei que as maiorias dos sketches são com esta instrução início para o display: Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire); então assim modifiquei tive êxito e aprendi, meu display ficou bom e pude fazer minhas modificações neste e em outros sketches dos autores de referência. Vou passar para vocês minhas atualizações para esta versão 3.2 do PA3EQP, PAQRWE e quem teve este problema há anos atrás e deixou de gravar o sketch, agora tem ele muito melhor. Abaixo colocarei algumas fotos, de outros colegas que se depararam com este erro.  Além do mais ás linhas de instrução ou comando do Si5351 teriam que acrescentar este:  SI5351_PLL_FIXED, no meio da linha assim Ex: si5351.set_freq((vfo_hf * SI5351_FREQ_MULT), SI5351_PLL_FIXED, SI5351_CLK0);   em  void setup e  void loop, e muitas vezes a biblioteca Si5351 dava erros. Ver 3.0, não compila sempre erros em Si5351, não vou perder tempo, a versão Si5351_RxTx_VFO_EQP, atualização de 19/06/2023, compila com aquele mesmo problema da resolução no Oled, vou adicionar foto abaixo, também está para 14.5 Mhz, em: #define F_MAX   14500000UL . O RIT não atua em nenhuma das saídas CLK,
Esses são apenas alguns erros no Oled, mas existe outros erros.



Vou gravar novamente o original da versão V.3.2 e vejam foto abaixo como fica.
Vejam o tamanho dos números e letras, está original com linha de comando Adafruit_SSD1306 display(OLED_RESET);  
Vejam o tamanho da fonte.


Com a linha de comando 100 atualizada para: Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);  ficou bom, nenhuma das versões que gravei não atua o RIT, e nem calibra o cristal de 25Mhz, mesmo adicionando a biblioteca <RWE_si5351.h> ou <si5351.h> não tem efeito, mas a FI dá para colocar nos modos AM, SSB, a EEPROM está atuando na frequência e na FI.
Outra versão abaixo que também não tem efeito no RIT e calibração do cristal, é limitado em 14 Mhz. Já está com a linha de comando atualizado para. Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire); 
São usados ás 3 saídas do SI5351, CLK0 = Frequência de saída de TX 10 Khz a 160 Mhz, mesma frequência do display. CLK1 = Frequência calculada CLK0 e CLK2 da soma ou diferença + ou - FI, pronta para TRX. CLK2 = Frequência de saída da FI digitada e salva na tecla D7. Sem perder tempo atualizei a correção na inicialização do Si5351 para: si5351.set_correction(18000); este é o melhor ajuste para o meu cristal Si5351. 
Vejam foto abaixo a versão V3.2 já com a linha de comando 100 Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);
Começarei a fazer ás modificações, vou pensando e tentando fazer o melhor vejam abaixo ás fotos.
Arrumando os caracteres nomes e números acho que dá para colocar um S/Meter na parte de baixo então vamos ver como vai ficar. Já atualizei escala para 30db é para o 148 GTL e outros transceptores comerciais HF. É acho que conseguir colocar o S/meter de outro sketch código livre.
                                       

Sim ficou muito bom, agora vamos atualizar com algumas perfumarias, vamos ver se dá para colocar algumas linhas divisórias.

Ok, dá para colocar ás linhas divisórias, mas tem algo ainda errado nestas linhas, estão muito grossas, vamos verificar o que esta acontecendo.

Vamos ver como fica outra linha acima do S/meter.

Ok, afinei mais a linha e vamos ver como fica aos 100Mhz. Ótimo para os 160 Mhz.
Vamos então atualizar ás linhas divisórias, parece que ainda tem algo errado, a linha esta curta não esta toda abaixo do último zero "0" da frequência. Vamos mudar o TRx por CLK0, afinal de contas é o que mostra ele na frequência e no display. O STEP pode ser ST ou TS, qual o melhor para entender? CLK0 é bom para transceptores conversão direta.
Ok abaixo foto, estiquei um pouco a linha do zero "0" e diminuir a  Mhz, é o máximo. Vamos ver se o S/meter dá para ficar parecido com o 148 GTL. Acho que o SIG está desproporcional, pois a sensibilidade do S/meter deve ser alterada.
Vejam agora coloquei em D7 TRx ou BFO com IF CLK2, é o que mostra no display e saída de frequência em CLK2, poderá ser ajustada para AM, LSB ou USB. Ajuste assim para o Cobra 148 GTL: AM = 7.800.000, LSB = 7.798.500, USB = 7.801.500. CLK2 poderá ser ligado no Carrier do Cobra 148 GTL se não tiver, perdeu ou danificado o cristal de 7.800Mhz. Estas frequências mixadas vocês poderão ver acionando a tecla D6 antes era RIT, agora é a frequência que mostra e sai em CLK1. Vejam segunda foto abaixo.

Uma boa modificação que fiz e poderemos manter pressionada a chave D6 e ver a frequência de saída em CLK1. Vocês poderão colocar no Cobra 148 GTL no modo AM = 34.765.000, no modo LSB = 34.763.500, no modo USB 34.766.500, essa mudança é feita no modo CLK2 foto acima. É só adicionar um circuito de pré amplificador ou Buffer e ligar sua saída em L20 do Cobra 148 GTL, se quiser poderá deixar o UHIC 070 mas a banda de frequência será estreita e mais silenciosa.