Ir ao conteúdo
  • Cadastre-se

inline

Membro Júnior
  • Posts

    19
  • Cadastrado em

  • Última visita

Tudo que inline postou

  1. @Renato.88 Muito obrigado! Vou estudar como ele funciona e tentar montar o circuito.
  2. @renato.88 Acho que entendi, vou se consigo algo desse tipo. Para usar o de três enrolamentos eu tenho o seguinte circuito: O problema é que a oscilação fica amortecida, eu tenho a impressão que deve ser por causa do capacitor que carrega e não deixa a corrente passar. Alguma ideia sobre o que pode ser?
  3. Olhei a documentação, muito obrigado vou ver a viabilidade de fazer isso. Estou vendo isso na pratica . Estou olhando isso agr, encontrei alguns circuitos de carregadores de celular. Pelo que eu vi eles usam uma bobina extra para "cortar" um transistor "principal". Vou começar ver os cálculos das "bobinas" e os valores dos componentes para começar a fazer alguns testes. Muito obrigado a todos que disponibilizaram um tempo para me ajudar.
  4. Acho que não apresentei o problema completo Eu quero fazer uma fonte chaveada e estou estudando os circuitos dela . Inicialmente eu pensei em fazer uma "fonte auxiliar" para alimentar o circuito integrado que vai controlar o PWM. Para testes estou usando uma fonte de bancada com um trafo antigo que tenho aqui, posteriormente vou usar a tensão retificada da rede (que é bem maior do que a da bancada) e um transformador chopper. O problema é (ao meu ver) usar um divisor de tensão (para chegar nos 6 ou 12 V) para a alimentação dos circuitos (multivibrador astável e o push-pull), e não posso ligar o transformador chopper direto na rede por causa da baixa frequência. pesquisei um pouco mais e encontrei o seguinte circuito: O problema nesse caso é que tenho que usar dois enrolamentos no primário (queria usar apenas um).
  5. No momento é só para estudos/aprender, estou apenas simulando. Estou estudando como fazer uma fonte chaveada, esse transformador vai servir para alimentar o CI controlador de pwm e uma "fonte auxiliar de 5V". Eu até poderia usar um divisor de tensão e um LM7812, mas acho que não seria uma boa idea.
  6. Esse modelo (duplo T) não seria viável ou fazer um oscilador apenas com componentes discretos? Estou achando mais viável mudar o tipo de enrolamento do transformador e usar um oscilador astável, talvez dê certo.
  7. kkkkkkk psé, mas o grande problema (ou não) é que meu transformador não possui um center tape. E ainda não achei uma forma de oscilar sem usar um CI (tipo o 555).
  8. Olá, estou tentando projetar um circuito para oscilar um transformador (de baixa potência) mas estou travado em como usar um capacitor para polarizar a base de um transistor. Sei que é um problema simples, mas não sei o que pode estar errado, pois de acordo com meu entendimento (que é bem de iniciante) deveria funcionar. A ideia inicial seria que o transistor Q1 seja polarizado (o que iria permitir a passagem de corrente), quando a corrente fluir por Q1 a tensão gerada por R1 vai "carregar" o capacitor C1, que tem por objetivo polarizar a base de Q2 para permitir a corrente fluir por um "caminho alternativo", deixando o capacitor descarregar e reiniciando o loop. No lugar do capacitor C1 eu coloquei um botão e funcionou, o que eu gostaria de fazer é substituir o botão por um capacitor (ou alguma coisa assim) para que funcione "Automático". Alguém consegue me dar um help, por favor. Segue o desenho do circuito.
  9. #include <stdio.h> void preencheNotas(float* notas1, float *notas2, int alunos_qnt) { int i; for(i = 0; i < alunos_qnt; i++) { printf("Informe a segunda nota do aluno %i: ", i); scanf("%f", &notas1[i]); } for(i = 0; i < alunos_qnt; i++) { printf("Informe a segunda nota do aluno %i: ", i); scanf("%f", &notas2[i]); } } void mostraNotas(float* notas, int nota, int alunos_qnt) { int i; for(i = 0; i < alunos_qnt; i++) { if(i != alunos_qnt - 1) printf("Nota %i aluno %i: %.2f ", nota, i + 1, notas[0]); else printf("Nota %i aluno %i: %.2f\n", nota, i + 1, notas[i]); } } void calculaMedia(float* notas1, float* notas2, float* media, int alunos_qnt) { int i; for(i = 0; i < alunos_qnt; i++) { media[i] = (notas1[i] + notas2[i]) / 2; } } void mostraMedia(float* media, int alunos_qnt) { int i; for(i = 0; i < alunos_qnt; i++) { if(i != alunos_qnt - 1) printf("Media aluno %i: %.2f ", i + 1, media[i]); else printf("Media aluno %i: %.2f ", i + 1, media[i]); } } int main() { int alunos_qnt; int i; printf("Digite a quantidade de alunos: "); scanf("%i", &alunos_qnt); if(alunos_qnt == 0) return 0; float notas1[alunos_qnt], notas2[alunos_qnt], media[alunos_qnt]; // preencheNotas(float* notas1, float notas2, int alunos_qnt) preencheNotas(notas1, notas2, alunos_qnt); printf("\n"); mostraNotas(notas1, 1, alunos_qnt); mostraNotas(notas1, 2, alunos_qnt); printf("\n"); // calculaMedia(float* notas1, float* notas2, float* media, int alunos_qnt) calculaMedia(notas1, notas2, media, alunos_qnt); mostraMedia(media, alunos_qnt); return 0; } Este é um exemplo que eu tinha guardado aqui. É possível usar ponteiros para funções que possuem os mesmos parâmetros, ficaria mais bonito.
  10. Não sei se posso perguntar aqui mesmo ou se é melhor abrir um outro tópico... Mas a diferença está nos circuitos de proteção? Pois o controle de chaveamento é em malha fechada (o mesmo da fonte chaveada). Vai não, eu agradeço as dicas kkkk
  11. Ahh sim, foi um erro meu. A tensão máxima com o dobrador de tensão realmente é 2√ 2. Agora está certo
  12. Olá, estou projetando uma fonte chaveada para fins de aprendizado e estou com um problema na parte de acionamento do mosfet (chave) da fonte. Eu dividi o projeto em partes, sendo elas: Entrada, acionamento e saída. Na parte de entrada vou usar uma ponte retificadora e , caso a tensão de entrada seja de 110/127 V, um dobrador de tensão (ainda não coloquei filtros de linha e proteções). A segunda parte é a que estou com problemas, como vou saturar o mosfet? Segue a minha ideia sobre o problema: A tensão de entrada será sempre da faixa de 220V, por causa dos dobradores de tensão, considerando uma queda de tensão de 1.5 V entre Drain e Source (estou chutando esse valor, ainda não defini qual mosfet vou usar) eu teria uma tensão de 218.5V no Source, para saturar o mosfet eu tenho que ter um Vgs > Vth (vou considerar o Vth como 12 V), sei que Vgs é dado por Vgs = Vg - Vs, sendo que Vs é 218.5 eu teria um valor de Vg = 230.5 Isso está certo? ou algo de errado não esta certo? acho que nem existem mosfets para Vg de 450.5 V. Como posso acionar o mosfet? Tem algo de errado com meus cálculos ou na logica de solução do problema? Obs: O sinal no gate vai ser gerado por um circuito integrado TL494. Segue abaixo a ideia da parte de acionamento e saída.
  13. Olá, estou iniciando os estudos sobre mosfet/transistor e estou em dúvida de quando escolher um ou outro para algum projeto, pois pelo que entendi a diferença básica dos dois é a forma de controle (tensão vs corrente), então, quando escolher um ou outro?
  14. Vou testar isso, perdi o arquivo do proteus (versão de demonstração não salva ) Montei um dessa forma e deu certo, muito obrigado. Agora tenho outra dúvida, existe alguma correta de descarregar o capacitor? Posso usar apenas um resistor ou posso apenas dar um curto circuito nos terminais dele? (só consegui fazer com uma chave dupla) Esse é o circuito.
  15. Olá, estou tentando fazer uma fonte chaveada e preciso de ajuda em um dos “circuitos auxiliares” (pode ser que seja coisa de iniciante, mas realmente estou perdido). Eu gostaria de um circuito para limitar a corrente na hora em que a fonte é ligada. A ideia é remover o resistor R2 depois de um determinado tempo. Mesmo mudando os valores de R4 e C3 o tempo de delay não é alterado. Usei como ponto de partida um circuito que achei no Google, mas ele não funciona na simulação do Proteus. A imagem do circuito está logo abaixo, alguém consegue identificar algum erro ou sabe de algum circuito que posso utilizar com esse propósito?
  16. Estava querendo uns 8 a 10 A. No caso do TIP eu poderia colocar mais de um cascata. Vou pesquisar sobre o regulador chaveado. Muito Obrigado a todos!
  17. Olá, estou fazendo uma fonte e gostaria de usar um Trafo que tenho disponível, que possui as seguintes especificações: 220/15 V e 1 A. Gostaria de aumentar a corrente dessa fonte, por isso elaborei o circuito abaixo. A ideia do circuito é que quando o transistor for polarizado o mesmo possa “conduzir” corrente da fonte sem transformador. Com base no que vi, as fontes sem transformador não são boas para altas correntes. Dessa forma esse circuito pode ser usado? Pois no meu ponto de vista o circuito não seria mais galvanicamente isolado. Existe alguma forma de aumentar a corrente sem ter que mudar o enrolamento do Trafo?
  18. Estou tentando gravar um código simples de piscar led no PIC18F4550 usando o mplab e o compilador XC8 juntamente com o gravador k150 (fiz o upgrade do firmware), porém quando o arquivo .hex é carregado no microborn os "endereços" ficam com na imagem abaixo (Já consegui gravar o microcontrolador com um arquivo .hex do mikroc). Já tentei exportar o arquivo .hex diretamente, mas fica da mesma forma. Gostaria de saber se isso pode ser alguma incompatibilidade entre o mplab e o k150 ou algum erro que estou cometendo. Segue o código que estou tentando gravar. /* * File: main.c * Author: natan * * Created on 28 de Dezembro de 2019, 10:56 */ // PIC18F4550 Configuration Bit Settings // 'C' source line config statements // CONFIG1L #pragma config PLLDIV = 1 #pragma config CPUDIV = OSC1_PLL2 #pragma config USBDIV = 1 // CONFIG1H #pragma config FOSC = INTOSC_XT #pragma config FCMEN = OFF #pragma config IESO = OFF // CONFIG2L #pragma config PWRT = OFF #pragma config BOR = OFF #pragma config BORV = 3 #pragma config VREGEN = OFF // CONFIG2H #pragma config WDT = OFF #pragma config WDTPS = 32768 // CONFIG3H #pragma config CCP2MX = ON #pragma config PBADEN = ON #pragma config LPT1OSC = OFF #pragma config MCLRE = OFF // CONFIG4L #pragma config STVREN = ON #pragma config LVP = ON #pragma config ICPRT = OFF #pragma config XINST = OFF // CONFIG5L #pragma config CP0 = OFF #pragma config CP1 = OFF #pragma config CP2 = OFF #pragma config CP3 = OFF // CONFIG5H #pragma config CPB = OFF #pragma config CPD = OFF // CONFIG6L #pragma config WRT0 = OFF #pragma config WRT1 = OFF #pragma config WRT2 = OFF #pragma config WRT3 = OFF // CONFIG6H #pragma config WRTC = OFF #pragma config WRTB = OFF #pragma config WRTD = OFF // CONFIG7L #pragma config EBTR0 = OFF #pragma config EBTR1 = OFF #pragma config EBTR2 = OFF #pragma config EBTR3 = OFF // CONFIG7H #pragma config EBTRB = OFF // #pragma config statements should precede project file includes. // Use project enums instead of #define for ON and OFF. #include <xc.h> #define _XTAL_FREQ 8000000 void main(void) { TRISBbits.TRISB0 = 0x00; while(1){ LATBbits.LATB0 = 0x01; __delay_ms(1000); LATBbits.LATB0 = 0x00; __delay_ms(1000); } return; }
  19. Boa tarde. sou iniciante em linguagem C, iniciante mesmo. Estou querendo fazer um sistema para cadastro de produtos de uma empresa que possui até 10 produtos. A aplicação auxiliará no cadastro deprodutos deverá armazenar os seguintes dados para cadaum deles:nome;preço; quantidade (em estoque) e codigos Os usuários do programa deverão ter acesso a um menu principal com as seguintes funcionalidades: sair do menu; cadastrar; excluir cadastro; listar cadastros. Até agora só isso que consegui fazer, e ainda não compilou. Peço a ajuda de vocês. Desde já grato. #include<stdio.h> #include <stdlib.h> #define MAX 10 // Numero maximo de elementos no registro na variável PRODUTO_info struct PRODUTO{ char nome[21]; float preco; int quantidade; int codigo; } PRODUTO_info[MAX]; // Declaração das funções/módulos void excluir(void); void inicializar(void); void cadastrar(void); void listar(void); void find_free (void); //Bloco principal: Main //Este bloco/módulo está completo (não necessita alterações) main(){ int opcao, cod; inicializar(); cod=-1; do{ system("CLS"); //limpa a tela de execucao printf(" _______________MENU________________ \n"); printf("| 0. Sair do sistema |\n"); printf("| 1. Cadastrar produto |\n"); printf("| 2. Excluir produto |\n"); printf("| 3. Listar produtos |\n"); printf("|___________________________________|\n"); printf("\n=>Informe sua opcao: "); scanf("%d", &opcao); switch(opcao){ //Verifica o falor armazenado na variável opcao case 0: break; case 1: cadastrar(); printf("Pressione ENTER para sair.\n"); getche(); break; case 2: excluir(); printf("Pressione ENTER para sair.\n"); getche(); break; case 3: listar(); printf("\nPressione ENTER para sair.\n"); getche(); break; default: printf("Atencao: Opcao inexistente!\n"); printf("Pressione ENTER para sair.\n"); getche(); } }while(opcao != 0); } //Módulo para inicializar os registros //Este módulo está completo (não necessita alterações) void inicializar(void){ int i; for(i = 0; i < MAX; ++i) PRODUTO_info.codigo = -1; } //Módulo para cadastrar produtos //Este módulo está incompleto (necessita a inclusão de comandos) void cadastrar(void){ int slot; char s[80]; //slot= find_free(); if(slot==-1){ printf("lista cheia.\n"); return;} printf ("informe o nome do produto:"); gets (PRODUTO_info[slot].nome); printf ("informe o preço do produto:\n"); scanf ("%f", &PRODUTO_info[slot].codigo); printf ("iforme a quantidade de produto:\n"); scanf ("%d", &PRODUTO_info[slot].quantidade);} PRODUTO_info[slot].zip strtoul(s '\0',10); } find_free(void){ register int i; for (i=0; PRODUTO_info.name[0] & i<MAX; i=i+1); if (i==MAX) return-1; return i;} } //Módulo para inicializar os registros //Este módulo está incompleto (necessita a inclusão de comandos) void excluir(void){ register int slot; char s[80]; system("CLS"); printf("**********Excluir produto**********\n\n"); printf ("informe o codigo do produto que deseja excluir:\n"); gets (s); slot=atori(s); if (s<0 || s>MAX) if (slot>=0 && slot<MAX) PRODUTO_info[slot].codigo[0]= '\0'; printf ("produto excluido com sucesso."); else if (s<0 || s>MAX) printf ("codigo do produto não existente."); } //Módulo para inicializar os registros //Este módulo está incompleto (necessita a inclusão de comandos) void listar(void){ register int t; for (t=0; t<=MAX; t=t+1){ system("CLS"); printf("----------------------------Lista de Produtos-------------------------------\n"); printf("COD NOME PRECO QUANTIDADE \n"); printf("----------------------------------------------------------------------------\n"); printf("%d, %c, %f, %d", PRODUTO_info[t].codigo, PRODUTO_info[t].nome, PRODUTO_info[t].preco,PRODUTO_info[t].quantidade) }

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