Boa noite, estou com algumas fotocélua com pic 12f1822 sem programa, e não consigo programar, vou mandar o esquema e  parte do programa, pino 2 ( RA5) vai para a base do transistor  do rele,  pino 3 ( RA4) vem do divisor de tensão um trimpot de 500 ohms que é para temporizar com 8 horários, 1,2 3, 4,6, 8,10 e 12horas, pino 4 (RA3 MCLR) recebe sinal da rede eletrica ( tipo sinal de clock), pino 5 (RA2) vem de outro trimpot 500 ohms com 6 níveis de lux, pino 6 (RA1) vem do LDR, se analisar o esquema durante o dia vai nivel lógico alto pra esse pino (RA1) e a noite nível baixo, pino 7 (RA0) vai para a base do transistor, que quando conduzindo coloca em curto  2 diodos, para economizar energia quando o rele estiver desligado. O problema que encontrei é usar o sinal da rede como sinal de clock no pino 4 (RA3 MCLR) e temporizar naqueles horários usando o timer, com delay não consegui, se alguem puder me ajudar agradeço.

Exibições: 88

Anexos

Responder esta

Respostas a este tópico

Bom dia LDG, (se não gosta que te chame pelas iniciais, avise),

Estive olhando o seu esquema.

Qual compilador (IDE) vc utiliza?  MPLABX, CSS, MickroC, etc.

Qual  "programador"   vc tem para gravar o programa no PIC?  PICkit2, 3 ....?

RV mineirin

Boa tarde, eu tenho o PICkit 3, e utilizo  o compilador (IDE)   PIC C CCS COMPILER, eu  tambem uso o MikroC PRO for pic, porém essse ultimo não tem o pic 12f1822 na lista. Reforçando para o pic 12f1822 dessa fotocélula  eu estou  utilizando o compilador (IDE) PIC C CCS COMPILER e o  PICkit 3. Obrigado desde já.

 

Boa tarde LGF, (se não gosta que te chame pelas iniciais, avise),

tomei a liberdade de dar uma repaginada no seu esquema, para que ficasse mais fácil de entender.

Usei o símbolo de chassis não para indicar GND mas para simplificar o desenho.

Não descobri onde vai ligado o GND e o VCC do PIC.

Olhei o seu programa e compilei ele no CSS. não deu erro de compilação, mas não entendi sua lógica.

O que você quer que o PIC faça?

RV mineirin

PIC12F1822.pdsprj

Boa noite, esse programa que mandei junto com o esquema está incompleto pelo seguinte fato:

  if((analogico1>400) &&(analogico2>800)&&(analogico0>600))  {

     output_high(pin_a5);

     output_low(pin_a0);

     }

     delay_ms(100);

     output_low(pin_a5);

     output_high(pin_a0);

     delay_ms(100);

      Os valores dessas 3 entradas (400, 800,600)  vão ser alterado depois conforme os horários, (usei #device ADC=10, que dá 1024 ou seja 2 elevado a dez) Q1 e Q2 não entram juntos, ou seja quando Q1 estiver recebendo nível lógico alto Q2 estará recebendo nível lógico baixo e vice-versa, até aqui tudo bem, o problema é que eu precisava colocar um delay em horas e não em segundos delay_ms();” nesses horários 1h,2h 3h, 4h,6h, 8h,10h e 12h

Resumindo, eu preciso que o pic liga o relé a noite e desliga depois que passar o horário selecionado  no trimpot, exemplo: Assim que escurecer o relé liga e permanece ligado por 1h ou 2h ou 3h ou  4h ou 6h ou  8h ou 10h ou 12h e desliga em seguida, e que usa o sinal da rede pra fazer a contagem  no pino 4 (RA3 MCLR)  se não me engano testando com o osciloscópio do proteus consegui enxergar um sinal digital com esse arranjo de C2 e R5. O trimpot responsável para os  níveis de  lux não tem muita importância, pode  se ficar de fora. Se tivesse como colocar delay_h(x); ao invés de delay_ms(x); estava resolvido. Reforçando, preciso de um temporizador que liga quando escurecer usando as entradas mencionada acima em negrito e que faz a contagem usando o sinal vindo  da rede elétrica.                                                     

Sobre “não descobri onde vai ligado o GND e o VCC do PIC”

No catodo de D1 e D2 tem 24 volts por causa de Z1 e Z3, tem 5volts no catodo Z2.

 

Bom dia LGF, (se não gosta que te chame pelas iniciais, avise),

vc disse que tem várias placas desta.

O que ocorreu com o programa que estava nelas?

Foi apagado? Ou nunca foram programadas?

Vai usar comercialmente?

RV mineirin.

Bom dia Sr. LGF,

escrevi parte do programa para sua placa.

Como é apenas um teste e não tenho este PIC. quero que vc faça um teste com o programa e me informe o resultado.

Este programa fará o seguinte:

Ao ligar,  Q1 fica cortado e  o rele fica desligado  output_low(pin_a5);  e o  Q2 é ativado output_high(pin_a0); .

Pelo A3 é provoca um interrupt a cada ciclo dos 60Hz e é feita uma contagem.

Ao chegar em 60 (1 seg), inverte os 2 transistores e fica assim por 60 ciclos (1seg), e novamente inverte

os 2 transistores e fica assim em loop.

Faça um teste e me conta o resultado para que eu possa continuar ou corrigir.

Usei o CCS 5.08

RV mineirin

      lamp1822.c

Boa noite, vou fazer o teste e te conto.

O nivel Lógico não muda, fica RA0 em nível lógico alto e RA5 em nível logico baixo o tempo todo.

Boa tarde, fiz algumas modificaçoes e deu certo, porém o D4 impede que o sinal chegue no pino pino RA3, invertendo ou tirando  esse diodo funciona, mas não posso porque é da placa, em outro esquema de teste funcionou com diodo, esse diodo é um M7 se não me engano é parecido com o 1N4007 que coloquei no esquema por não ter o M7 no proteus, mas acho  que isso não seja o problema, e tive que colocar a contagem  até 120 para dar 1 segundo e não 60, se puder depois você analisa.

RSS

© 2021   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço