Embora perca um pouco da precisão em frequências baixas (já que o prescaler divide o sinal lido por 100) é muito últil no ajuste de osciladores e outros sistemas com frequências mais elevadas.
domingo, 10 de outubro de 2010
Frequencímetro 200MHz
Embora perca um pouco da precisão em frequências baixas (já que o prescaler divide o sinal lido por 100) é muito últil no ajuste de osciladores e outros sistemas com frequências mais elevadas.
Transceptor PIXIE 40m
Abaixo uma foto do PIXIE tirada durante sua montagem. Assim que estiver na embalagem definitiva publico novas fotos e alterações.
Manipulador K8
Segue uma foto do manipulador já montado.
Agora só falta terminar colocar junto a Chave Iâmbica.
quinta-feira, 12 de agosto de 2010
Frequencímetro com PIC
Para acomodar o instrumento, utilizei uma caixa da Patola e a entrada com conector tipo BNC.
A alimentação é com fonte externa, sendo que foi posto um conector P2 para a tensão de alimentação. Nas duas imagens acima, ligado a um VXO. Nos testes de bancada, o limite superior de leitura foi de 62MHz, apresentando um pequeno desvio na leitura.
terça-feira, 8 de junho de 2010
Dimmer microcontrolador com PIC12F675
Com a adição de 02 chaves, posso aumentar ou reduzir o ângulo de disparo. Havia conseguido algo similar, efetuando um delay dentro da interrupção externa, porém não ficou a contento o funcionamento. Abaixo, segue uma imagem no simulador, com ângulo de disparo bem reduzido:
Já na próxima figura, um ângulo de disparo bem alto:
O programa feito em CCS não está totalmente correto, uma vez que não dispara exatamente em 0º e nem em 180º, porém basta um pequeno ajuste no valor da variável "fase". Segue abaixo o programa utilizado no PIC. Mantive os comentários do programa original, facilitando seu entendimento:
#include <12f675.h>
#use delay(clock=4000000)
#fuses INTRC_IO,NOWDT,NOPUT,NOPROTECT,NOCPD,NOMCLR
int pasada=0;
unsigned int fase = 51;
long int muestra=0;
int j=0;
int intervalador=1;
// Interrupción del TIMER1, encargado de calcular el tiempo de un semiciclo constantemente.
#INT_TIMER1
void temporizador() {
set_timer1(0);
}
// Interrupción del TIMER0, provoca el retardo deseado antes de la excitación
#INT_TIMER0
void tempo() {
output_high(PIN_A1); // Ha transcurrido el tiempo, activo la salida
}
// Interrupción Externa, provocada por el paso por 0V de la señal de entrada
#INT_EXT
void externa() {
if (j==0){
j=1;
ext_int_edge(H_TO_L); // Cambio la detección del flanco, para que la proxima sea de bajada
}
else {
j=0;
ext_int_edge(L_TO_H); // La próxima interrupción será de subida
}
if (pasada==0){
enable_interrupts(INT_TIMER1); // Activo la cuenta
set_timer1(0); // Comenzando desde cero
pasada=1;
}
else if (pasada==1){
muestra=get_timer1(); // Tiempo medido entre dos pasos por 0 sucesivos
set_timer1(0); // Inicio el Timer1 para una nueva cuenta
//intervalador = (muestra/8); // Equiparo los preescaler, y por tanto las unidades de tiempo de TIMER1 y TIMER0.
// 8 unidades de TIMER1 equivalen a 1 de TIMER0
intervalador = 256 - fase; // Este es el valor final a cargar el el TIMER0, con esto retardo la señal 1/4 de su semiperido
enable_interrupts(INT_TIMER0);
set_timer0(intervalador);
output_low(PIN_A1); // Pongo a 0 la salida, y comienza el retardo
}
}
void main() {
enable_interrupts(INT_EXT);
ext_int_edge(L_TO_H);
setup_comparator(NC_NC_NC_NC);
setup_adc_ports( NO_ANALOGS );
setup_timer_1(T1_INTERNAL | T1_DIV_BY_8);
setup_timer_0(RTCC_INTERNAL | RTCC_DIV_64);
enable_interrupts(GLOBAL);
output_low(PIN_A1);
delay_ms(100);
for(;;) {
if (!input(pin_a4)) if (fase < fase =" fase"> 10) fase = fase - 5;
delay_ms(100);
}
}
quarta-feira, 21 de abril de 2010
Transceptor UIRAPURU
Optei por construir uma placa ao invés de utilizar o sistema do PY2OHH, embora tenha feito diversas montagens desta forma e ser muito prático e rápido. Embora previsto na placa, o oscilador está substituído provisoriamente pelo VXO do Maritaca.
Na foto acima, é possível verificar o andamento da montagem do UIRAPURU. A recepção ficou muito boa, ouvindo muito bem sinais, embora esteja com excesso de ganho no LM386, causando por vezes apitos. Já a parte do TX, está com problemas (provavelmente vindos de auto-oscilação), devendo serem solucionados em breve.
No projeto da placa, não coloquei relé, sendo substituído externamente por uma chave 2x2. Também levando em consideração a ansiedade de poder montar logo, a placa não foi totalmente otimizada, provocando a inserção de diversos jumpers, mas para a primeira versão já está ok.
domingo, 21 de fevereiro de 2010
Receptor Corujinha AM/SSB/CW 40m


Fotos da montagem final do circuito do Corujinha
Constatado seu funcionamento, foi iniciado o processo de alocar uma "embalagem" para o Receptor. Como já efetuado em outras montagens, parti para o uso de uma caixa de fonte de PC, porém desta vez, a versão reduzida de fonte.

Fonte com a frente "removida" e o fundo com uma chapa plástica para isolar a placa do Corujinha.
Em seguida, efetuados os recortes e furos para o painel frontal.

Painel frontal do Corujinha durante o desenvolvimento.
quarta-feira, 4 de novembro de 2009
SWR Wattímetro Digital
O uso de um display também confere um aspecto um pouco mais moderno, além de deixar o equipamento muito compacto, já que um medidor analógico geralmente é o responsável por caixas avantajadas para acomodação dos SWR/Wattmeters.
No Brasil, o PY4EU organizou um mutirão no grupo QRP-BR com as respectivas placas e componentes, que teve uma expressiva participação. A parte visual da caixa foi feita a partir das dicas/idéias do PY2BBS. A minha montagem ainda não está concluída, restando a calibração e outras instalações no interior da caixa, porém o aspecto final do equipamento já está concluído.
Abaixo, algumas fotos:
Close Frontal do SWR Wattímetro.
Acima: Vistas Frontal e Traseira do Equipamento.
Acima: Placa com as chaves para calibração da potência / placa da unidade microprocessada
Acima: Placa de Captação (semimontada) e caixa retirada de um data switch de impressoras.
quarta-feira, 26 de agosto de 2009
Analisador de Transistores
Com o circuito, é possível identificar os terminais de transistores bipolares, JFETs, MOSFETs e diodos. Também calcula diversos parâmetros como Hfe, Vth, Idss e Rdson. As informação são apresentadas num display 16x2. O mais interessante, é que o circuito automaticamente determina os terminais do TBJ/FET.
Acabei por utilizar como caixa, uma daquelas usadas em instalações elétricas e adicionei tudas tampas cegas.
Mensagem inicial:
Um transistor conectado ao equipamento:
IRF510:
2N2222:
BF245:
Trata-se de um excelente equipamento para identificar transistores com a identificação apagada ou raspada e teste dos componentes, sendo de granva utilidade na bancada de qualquer técnico/hobbysta.
sexta-feira, 19 de junho de 2009
Plotter PCB
Seguindo a tendência dos modelos construídos pelos autores acima citados, elaborei a máquina utilizando somente suca: uma impressora e 1 scanner. Após construída, testei diversos programas, porém optei por escreve meu próprio em C++. Uma tela dele encontra-se abaixo. Os traços vermelhos indicam onde a caneta está levantada.
Aqui vimos uma imagem (em baixa resolução) de uma placa desenhada pela plotter e corroída. Nota-se que em um ponto diversos a proximidade das trilhas, necessitando-se com um estilete abri o "curto".

Aqui vai um close da placa desenhada, antes de ser banhada pelo percloreto de ferro:


Uma vista da etapa de controle dos 2 motores de passo e também do motor DC responsável por levantar/baixar a caneta de desenho.

Aqui uma visão um pouco mais abrangente da máquina. Verifica-se a utilização de sucata para sua construção, ficando com custo quase zero e realizando bons trabalhos.

Esta em projeto a construção de uma fresa também a partir de materiais retirados de impressoras. O funcionamento do sistema pode ser descrito resumidamente: A partir da placa elaborada no Eagle, exporto através do processor CAM no formato HPGL. Em seguida meu software interpreta o arquivo HPGL e controla pela porta paralela os 2 motores de passo responsáveis pelo deslocamento no sentido XY. Também controla o motor DC que levanta/baixa a caneta.
sexta-feira, 5 de junho de 2009
Dev-C++ - outportb & inportb
Para quem utiliza o Dev-C++ para acesso a Porta Paralela, existem duas possibilidades:
- Usar a inpout.dll
- Usar rotinas ASM para realizar o acesso.
Neste último caso, ressalta-se as diferenças entre o asm dos compiladores Borland e do compilador utilizado no ambiente em questão. A partir de informações coletadas na www, foi testada e disponibilizada a biblioteca abaixo que permite o uso das funções outportb e inportb. No WinXP é necessário que esteja sendo usado o USERPORT para desta forma liberar a LPT aos aplicativos.
Segue o código das rotinas em ASM para uso no Dev-C++ e controle da LPT.
// ------- inportb para dev c++ ---------------------------
unsigned char inportb(unsigned int port) {
unsigned char ret;
asm volatile("inb %%dx,%%al":"=a" (ret):"d"(port));
return ret;
}
// -------- outportb para dev c++ ----------------------------
inline void outportb(unsigned int port, unsigned char value) {
asm volatile("outb %%al,%%dx": :"d"(port),"a" (value));
}
quarta-feira, 3 de junho de 2009
Dimensionamento de Antena Direcional
Um excelente artigo sobre este tipo de antena você encontra no site do CT1AHM de onde também foram retirados os cálculos para elaboração do programa. Com a utilização de um software, fica mais fácil, já que com uma calculadora, quando precisar repetir-se diversas vezes os cálculos, facilmente se introduzem erros.
Acima temos uma imagem do programa. No caso dimensionamento de uma antena para a faixa dos 144MHz. Nota: o número máximo de elementos possíveis de se determinar com este programa é 5.
Elaborado em Dev-C++, é totalmente free.
Baixar o Programa ( Menos de 100Kb)
quarta-feira, 20 de maio de 2009
Analisador de Antenas
Embora ainda não esteja totalmente concluído seguem abaixo, algumas fotos de como anda o sistema (falta somente elaborar a também traseira para fechar o aparelho, acertar o software, eliminar algumas ligações, reduzindo capacitâncias parasitas e é claro, acomodar 2 baterias 9V no interior do equipamento). Após as fotos, está uma tabela com testes rápidos feitos em bancada.
Nas fotos são perceptíveis alguns detalhes do equipamento. Como estou utilizando o software do SP2JHH escrito em C (CC5X) ele apenas lê a frequência e calcula Resistência/Reatância + SWR. Estou trabalhando numa versão (CCS) para poder ler pequenos capacitores, indutores, comprimento de cabo e outras medidas, assim como em alguns medidores comerciais.
Segue uma tabela com algumas leituras. Nota: os resistores utilizados são os tradicionais encontrados no comércio, nenhum de precisão.
Nota-se que quando a frequência sobe, começam a ser registradas reatâncias em pequenas cargas, com exceção da faixa de 50 MHz (adicionada ao esquema original), onde há reatâncias em todas as medidas. Acredito que o motivo seja os conectores utilizados (tipo banana) e as ligações entre a placa e os conectores (faz-se necessário reduzir o comprimento dos fios de ligação).
O nível de saída está razoável. Com uma Ponteira de RF medindo o sinal sob 50R tenho registrado entre 400 e 500mV, enquanto em 50MHz, o nível cai para pouco mais de 200mV.
Parte dos devios de leitura (nas resistências) pode ser atribuída a baixa precisão dos resistores utilizados. Nas reatâncias, como não foram cortadas as partes dos terminais dos resistores que ficaram em excesso nos pinos banana, estes podem ter contribuído.
A alimentação pretendo realizar com 2 baterias 9V em série, já que inclui na placa um regulador 12V. O consumo tem girado próximo dos 100mA, isto sem a iluminação de fundo do LCD.
O Knob central está ligado a chave comutadora dos indutores, enquanto o knob lateral ao variável. Os 2 buttons servirão para futuramente fazer uma navegação entre menus. A frequência máxima fica em 55Mhz e a mínima em 1.2MHz.
Por se tratar de uma montagem caseira e sem uso de equipamentos específicos para ajuste, acredito que as leituras já estejam "razoáveis". Claro que para um ajuste de antena, seria interessante, calibrar o analizador para a faixa específica e não como indica o manual, calibrar em 4MHz.