Ir ao conteúdo
  • Cadastre-se

jootah

Membro Júnior
  • Posts

    16
  • Cadastrado em

  • Última visita

Reputação

0
  1. Olá, Com certeza não informa no Note sobre medir capacitâncias. A minha intenção é ver na pratica essas mudanças adicionando um capacitor em paralelo. Por isso estou partindo primeiro para montar esses circuito touch. O ponto é que como não tenho ainda esses PIC estou indo para simulação no Proteus. Mas não tenho certeza se o código que pus acima é funcional na prática, para checar essa alteração de tensão como um sensor de toque capacitivo. Agradecido
  2. Olá rtek, É que é o seguinte. Na verdade o AN1298 da Microchip esplana sobre um sensor touch utilizando a tecnica de CVD Me baseei nessa premissa. Vou tentar fazer funcionar um touch para testes e depois parto para medição de capacitores. Agradecido
  3. Olá, Estou usando como base o PIC12F675 Estou para fins de aprendizado construir um medidor de capacitância me baseando no AppNote AN1298 A ideia é utilizar o capacitor interno do ADC de 120pF em paralelo com um capacitor na entrada desse pino, formando um divisor capacitivo. Fazendo em seguida a conversão da tensão que sai nesse divisor. Na imagem abaixo ilustra um pouco a ideia: Utilizo o MikroC, abaixo o codigo que estou a tentar: unsigned int ADC_Result, backup=0; char *temp = "0000", error; int i; void main(void) { OSCCAL = 0x80; GPIO = 0; CMCON = 7; ADCON0.ADFM = 1; ADCON0.VCFG = 0; ADCON0.CHS1 = 0; ADCON0.CHS0 = 0; ADCON0.GO_DONE = 0; ADCON0.ADON = 0; ANSEL.ADCS2 = 0; ANSEL.ADCS1 = 0; ANSEL.ADCS0 = 1; ANSEL.ANS0 = 1; ANSEL.ANS1 = 0; ANSEL.ANS2 = 0; ANSEL.ANS3 = 0; INTCON = 0; Soft_UART_Init(GPIO,3, 5, 9600, 0 ); while(1) { TRISIO.GP1 = 0; GPIO.GP1 = 0; //LOW ANSEL.ANS0 = 1; ANSEL.ANS1 = 0; TRISIO.GP0 = 0; //output GPIO.GP0 = 1; //HIGH ADCON0.CHS1 = 0; ADCON0.CHS0 = 0; delay_us(500); TRISIO.GP1 = 1; //input ANSEL.ANS0 = 0; ANSEL.ANS1 = 1; ADCON0.CHS1 = 0; ADCON0.CHS0 = 1; ADCON0.ADON = delay_us(50); ADCON0.GO_DONE = 1; while(ADCON0.GO_DONE); ADC_Result = ((ADRESH << 8)+(ADRESL)); ADCON0.ADON = 0; if(ADC_Result != backup) { if (ADC_Result/1000) { temp[0] = ADC_Result/1000 + 48; } else { temp[0] = '0'; } temp[1] = (ADC_Result/100)%10 + 48; temp[2] = (ADC_Result/10)%10 + 48; temp[3] = ADC_Result%10 + 48; backup = ADC_Result; for (i=0; i<= 3; i++) { Soft_UART_Write(temp[i]); } Soft_UART_Write(10); Soft_UART_Write(13); } } } Ele compila ok. Adicionei um SoftUART para receber os valores via terminal. Mas quando tento simular no Proteus. Não funciona nada. Minha duvida é: - A lógica nesse código que fiz está correta? - O Proteus pode não ter esse capacitor interno para simulação e por isso pode não funcionar em simulação? Agradecido
  4. Há problemas de sintaxe com relação ao MikroC. Acabei encontrando outra solução, fazendo na 'unha' mesmo. Compilou tudo certinho. Mas tenho que regular algumas coisas. Assim que tiver redondo, posto aqui a minha solução Agradecido.
  5. Olá pessoal, Tenho o seguinte código abaixo, feito para o compilador CCS estou tentando formata-lo para MikroC mas nao estou conseguindo. Poderiam me ajudar? No caso estou tentando fazer uma carga no capacitor interno do PIC12F675 com Vcc e em seguida ligar ele com um capacitor X que está conectado em uma das entradas analógicas formando um divisor de tensão e fazer uma leitura pelo conversor analógico dessa tensão. Agradecido
  6. Descobri o meu problema. Não notei em ligar o pino MCLR em VCC ou pelo menos desabilita-lo nas configurações. O meu código que já estava testando funcionou normal. Outra duvida. Pus esse codigo que o @mister nintendo postou no meu MikroC 8.20 mas ele retorna erro, aparentemente é por causa desse trecho: sbit led at gp0_bit; Alias informa erro: Mas como disse, já testei com outro código e funcionou tudo, ou seja, está funcionando o MikroC, mas agora estou a duvida a cima. Agradecido Outra duvida, gostaria de saber como ativar e usar o comparador que ele tem. Eles ficam em GP0(+) e GP1(-) e com saida em GP2 Devo criar outro tópico para esse assunto? Obrigado
  7. Olá, Estou interessado em aprender a programar em C para PIC especificamente o PIC12F675 Instalei o MikroC 8.2 Tentei fazer um simples LED blink. O MikroC até compila, mas na hora de carregar no Proteus, não funciona. Neste momento quero ter certeza que está tudo certo antes de iniciar a ler tutoriais mais amplos. Por isso se alguem pudesse me mostrar um codigo para mim compilar no MikroC e rodar no Proteus, eu ficaria agradecido. Uma coisa a ser ressaltada é que para confirmar que esta tudo ok no proteus, baixei um LED blink ja compilado e carreguei no proteus e funcionou normal. Só que estou com dificuldades em ter certeza se o compilador esta funcionando mesmo. Alias, nem irei postar o codigo que tentei usar, mas em anexo imagem do circuito no proteus. Agradecido
  8. Realmente fiz uns testes aqui. Como a minha intenção é economizar componentes e essa parte do PWM é somente um recorte do meu circuito, vou precisar utilizar o LM324 o que sobraria ampop neles, acabei decidindo fazer com ele gerando uma onda triangular como referencia.
  9. Deixe me ver se entendi o circuito na parte em que esta os dois transistores. Nessa parte: Ele funciona limitando a corrente que carrega e descarrega o capacitor correto? A tensão injetada na base dos dois transistores que varia de 0v a Vcc sendo Vcc o maximo de saturação dos dois transistores correto? Isso significa que tenho que colocar ali dois resistores que satura os BC548 e BC558 com a tesão maxima que eu espero da tensão de controle. Ou seja supondo que eu pretendo controlar com uma tensão de 0v até 5v os dois resistores tem que ser configurado na saturação total sobre 5v estou correto? Agradecido
  10. Na verdade para testes estava pensando em utilizar um CD4093 em certa configuração. Mas na verdade eu estava pensando, se funcional esse circuito, construir um schimitt-trigger com dois BC548 e alguns resistores. Já encontrei um circuito que permite isso. Bem simples. Mas estou com certa dificuldade e simular esse circuito no Proteus 7.1 , não sei se estou fazendo errado ou se meu Proteus esta com problemas pois da erro com certa frequencia, Até E agradecido
  11. Agradecido pelas respostas. Apesar de ser um pouco inconsistente a frequencia, o circuito funciona, correto? Por favor poderiam me sugerir algum integrado schimitt-trigger para mim testar na protoboard? ou alguma solução para o schimitt-trigger? Como minha intenção era ser de baixo custo um circuito para controle PWM por tensão, essa seria um solução aceitavel ou teria outra forma que utilize menos componentes? Tenho muitos transistores, capacitores, enfim, componentes basicos para reaproveitar aqui, por isso não utilizar integrados como o 555 era minha ideia. Mas quero testar para ver na pratica se é funcional esse circuito, mesmo porque tinha instalado o Proteus 7.1 aqui, mas ele ta dando erro, então... como o circuito é simples penso em ir direto pra protoboard Os transistores, podem normalmente ser o BC548 e BC558, correto? Até e agradeço
  12. Olá, Por favor, estou tentando projetar um circuito para controle PWM por tensão, simples, barato. Nas minhas pesquisas acabei encontrado um circuito, mas não encontrei muita coisa sobre. Tentei testar no Proteus mas da mensagem de erro, nem executa. Em anexo esta o circuito. Se alguém entender a intenção do autor do circuito e puder me explanar o funcionamento do circuito eu ficaria grato. Até e agradecido

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