Ir ao conteúdo
  • Cadastre-se

PIC interrupção por mudança de estado - pic16f877a


Posts recomendados

  • Membro VIP

Ai ai ai... você cansa minha beleza. Vamos tentar de novo...

-você precisa de verificar o resistor de pullup: o 10K que  vai pro vcc. Lembra dele? Ele é pra garantir o +5 na entrada RB5 quando não pressionado o botão e também evita o efeito que você falou da aproximação. Lembra que te falei dos "intrusos"? São ruídos externos onipresentes.

Mas este mc tem como habilitar pullup interno. peraí...lendo d.s.... pronto... Faça OPTION_REG=0b01111111; Veja no seu compilador o nome deste registro mas acho que é isso mesmo.

-precisa ter o capacitor entre vcc e gnd pertin do mc como dissemos há muitos posts atrás. Mas a novidade, você precisa de um capacitor em paralelo com o botão pra que os "intrusos" sejam absorvidos por ele. você leu o artigo do antidebouncing que te passei??!

-sua fonte tem que ser boa e sem ruídos. A de celular pode até servir mas tem que dar uma encorpada de filtros (já ditos)

 

Este está sendo o 555 monoestável mais caro do planeta!!

 

 

 

  • Haha 1
Link para o comentário
Compartilhar em outros sites

Kkkk que bom que só a @Isadora Ferraz pode te ajudar ....

 

Mas é curioso que uma coisa tão simples esteja demorando tanto para dar certo !

 

 

 

adicionado 1 minuto depois
1 minuto atrás, Isadora Ferraz disse:

 

Este está sendo o 555 monoestável mais caro do planeta!!

 

kkkkkkkkkkkk

 

Paulo

  • Curtir 1
  • Triste 1
Link para o comentário
Compartilhar em outros sites

@Isadora Ferraz , descobri sem querer o que estava de errado..

 

Testei ligando ao invés do LED, o proprio relé... e tcharam, funcionou perfeitamente como eu queria..

 

Acredito que o LED deva precisar de qualquer escape de tensão para acuionar, algo q o relé acredito que não...

 

Agora você me deixou com uma curiosidade.. Ativando esse pullup interno, descartaria o uso do externo teoricamente?

 

porque na pratica, com o detecctor de tensão (que funcionará como o interruptor/button), acredito ser mais interessante..

 

Outra perguntinha: Nesse caso, se a corrente está sendo suficiente para acionar o relé, não se faz necessário um transistor depois do resistor certo?! isso só derrubaria a tensão nesse caso, right?

 

Valeu meus amores!

Link para o comentário
Compartilhar em outros sites

6 minutos atrás, Otavio Pessini Bini disse:

Valeu meus amores

 

Eu ein estou fora !     kkkkkk

 

Já a @Isadora Ferraz com certeza ficou toda emocionada !

 

Mas essa tua estória do relé funcionar e o Led não .... é coisa de boi dormir, ou a Isa ficar sem dormir kkkkkk 

 

Paulo

Link para o comentário
Compartilhar em outros sites

@aphawk Cara, acredita em mim..

 

Ja tinha feito tudo que foi mencionado, inclusive para tirar o efeito bouncing, o cap, enfim, tudo.. Mas não sei qeu diabos com o led acontecia isso, eu ein..

 

Agora no relé, tchumba, perfeito..

 

Enfim, vitória na guerra! hahahahaha

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
16 minutos atrás, aphawk disse:

Eu ein estou fora !  

tmj! kk

Seguinte, sua observação de só de acionar o relé e funcionar, de fato faz pouco sentido. A única coisa que pode me fazer dormir melhor é que quando liga direto no relé, você meio que aumenta a área do gnd ou este se aproxima de algum fio terra ou neutro da rede ou algo assim que dá mais estabilidade ao sistema. 1/2 que ndv. Mas é bom pra você se preparar pro que pode vir: ruídos generalizados de origem desconhecida fazem seu sistema com mc criar vida própria! Sério! E o seu é um bom candidato devido ao solenóide.

Apesar de poder ligar direto no seu relé, eu sugeriria algo como um acoplador ótico e afins. Mas com este lance do fio terra (!)..., fica pra próxima... encarnação kk.

É sério.. to precisando tomar uma...cerveja, Brunão! Nem vem!! kk

 

Ah sobre o pullup, deixa o externo mesmo. Mas sim pode habilitar o interno também.

Link para o comentário
Compartilhar em outros sites

Fala pessoal,

 

Achando que tinha cabado, fui passar pra placa, até que...

 

1. RB5 se encontra em pullup (alimentado), porém com uma tensão bem abaixo da alimentação..

2. RC4 (saída) está setado em nível lógico quando RB5 está em nível alto, e quando desco o nivel do RB5, RC4 vai para quase 0 (deveria ser ao contrario, WTF?)

3. Mesmo assim, depois q joguei na placa, a tensão na saída está muito baixa, a ponto de não acender o relé.. Alguem sabe porque essa perca, já que quando meço o pino de laimentação do PIC está em 5V, e os outros abaixo?

4. Estou usando um soquete na placa, será que pode ser isso ?

 

Não consigo concluir issooooooooo.... E precisava pra hoje,.. hahaha apanhando feito criança para algo simples!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

1 você fez ainda mais cagadinha. Não deve ter gravado, falta contato com cristal, ele longe, falta reset... etc...

2 eis sua essência que levou meses pra concluir.... o RC4 fica em alto por 2 segundos quando percebe que RB5 mudou de estado 1 pra 0 ou 0 pra 1. É o que deveria fazer correcto? E já fez pelo menos uma vez certo?

3 você deve ter ligado invertido. Este relé tem polaridade no acionamento... acho.

4 ndv

 

Não ouvi você dizer por que preferiu fazer com este mc de dezenas de pinos, usa só 2 o que um 555 monoestavel faria com o pé nas costas. Pela adrenalina? Ou só pra encher o meu saco mesmo??? kk

Link para o comentário
Compartilhar em outros sites

Tentei realizar o teste do pisca pisca simples, e agora a saída simplesmente não sai do nivel baixo..

 

ta difícil...

adicionado 32 minutos depois

@Isadora Ferraz , tira umas duvidas?

 

1. Os capacitores do cristal, são ligados ao negativo certo?

2. Como saber se o cristal está ok?

3. Se está alimentado no MCLR/RESET 5V, quer dizer que está ok certo ?

 

Que testes posso fazer? estou entrando em colapso.. kkk

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
1 hora atrás, Otavio Pessini Bini disse:

Tentei realizar o teste do pisca pisca simples, e agora a saída simplesmente não sai do nivel baixo..

amigo neste caso você pode ter pifado o mc. É impossível ele ter funcionado o pisca led e depois parar por si. Ainda acho que ao passar para a montagem definitiva você fez alguma cagadinha. Se achar que deve, fotos.

A RC4 .... nem lembro. Mas penso que é push-pull sim, ou seja ...

22 minutos atrás, Otavio Pessini Bini disse:

o próprio PIC alimenta a mesma

Tenta inverter o led coloque o anodo no +, um resistor, e RC4. Refaça o teste pisca led, que já funcionou uma vez né???????

 

1. sim

2. sem instrumento, não tem como você saber

3. +- lembra que tem um R pro vcc e um C pro gnd?

 

Mas que baita regresso hein.... Que tal se relesse bem devagar o tópico todo de novo mais uma vez e novamente??🤪

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Isadora Ferraz , consegui de novo!!!

 

Depois de voltas e voltas, refazer todas as ligações e etc.. adivinha?

 

Acredito que meu gravador estava bichado.. gravei de novo reiniciei o pc e tchumba, tudo OK..

 

Sei que não vem ao caso, mas aproveitando: Estava querendo adicionar uma rotina de interrupção 2, para quando a entrada RX/TX recebesse dados fizesse a mesma coisa.. é possível duas interrupções em um único MC?

 

Isa, nem tenho como te agradecer, só Deus mesmo!!! Manda a conta que pago umas brejas hahahahahhahahahaha

 

 

 

  • Curtir 1
  • Haha 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
24 minutos atrás, Otavio Pessini Bini disse:

é possível duas interrupções em um único MC?

Claro. Vai um pouco além do pisca led mas sim, possível. Como virou muitas páginas, penso que ficou cansativo. Abra outro tópico, ok?

Se achar que deve, conclua e feche este respondendo a pergunta que não quer calar...

3 horas atrás, Isadora Ferraz disse:

Não ouvi você dizer por que preferiu fazer com este mc de dezenas de pinos, usa só 2 o que um 555 monoestavel faria com o pé nas costas. Pela adrenalina? Ou só pra encher o meu saco mesmo???

ahhh... sua indagação final meio que respondeu... enfim... kibon que teve sucesso. Creia-me, ele é o nosso também.

 

30 minutos atrás, Otavio Pessini Bini disse:

só Deus mesmo!

Amém.

 

30 minutos atrás, Otavio Pessini Bini disse:

Manda a conta que pago umas brejas

se ganhar muito dinheiro com isso, a gente vê kk. Até lá, compartilhe um pouco com os pobres e tá tudo certo.

 

Sucessos.

  • Haha 2
Link para o comentário
Compartilhar em outros sites

@Otavio Pessini Bini ,

 

Existem várias interrupções que podem ser acionadas dentro do seu Pic.

Para você ter uma ideia mais ampla :

 

Eu uso um Atmega328 no controle do meu rotor de antena. Olha a lista de interrupções que ocorrem :

- Recepção de dado serial

- Transmissão de dado serial

- Comunicação I2C com o display 16x2

- base de tempo via Timer0

- base de tempo via Timer2

- 6 pinos para dois Rotary Encoder, todos com interrupção individual

- Interrupção de captura do Timer1

- 3 canais de conversão A/D, contínua, com uma interrupção 

 - Interrupcão de Watchdog

 

São 16 interrupções ocorrendo, e algumas eu deixo ocorrer interrupção em cima de uma outra interrupção !

 

Claro que para isso funcionar eu tenho de controlar até o stack, salvar um monte de registradores quando necessário, mas para poder ter esse controle todo preciso usar um pouco de Assembler além da linguagem de alto nível !

 

No seu Pic, e igualmente no meu Atmega, não existe algo que ajudaria muito : níveis de prioridade de interrupção!

 

Sem isso, precisa ter uma boa prática com todo o hardware deles, pois ocorrem encavalamentos nas interrupções e o programador tem de ter como saber quando isso acontece para não perder os registradores.

 

Enfim, você está no início de um mundo novo, e já deixou a @Isadora Ferraz estressada com esse erro primário com o programador kkkkkk , dá um tempo para ela se recuperar ok ? 

 

Mas vale a pena você insistir e ir se ferrando e aprendendo ! Só assim você se diferencia dos outros, e se colocará em um patamar muito acima da grande maioria !

 

Não se preocupe em perguntar. Eu posso te ajudar no hardware, no funcionamento do Pic em termos da eletrônica interna, e a estressada da @Isadora Ferraz fica com a bucha do software ok ?

 

Antigamente, na época em que a @Isadora Ferraz era uma fogosa moçoila, tinha uma revista muito legal chamada MAD , e nela uma seção maravilhosa chamada “A Sombra Sabe”, que mostrava o que uma pessoa sentia de verdade mesmo quando mostrava ao mundo algo totalmente diferente...

 

Tenho certeza que a ultima escrita da @Isadora Ferraz , “Sucessos” , mostraria algo bem mais ... complexo !!!! kkkk

 

Paulo

 

  • Haha 1
Link para o comentário
Compartilhar em outros sites

@aphawk @Isadora Ferraz ,

 

Não tive tempo para dar um feedback pra vocês, mas só tenho a agradecer mesmo..

 

Vocês nao tem a noção de como pequenas e grandes dicas passadas aqui me ajudaram a entender melhor o funcionamento do mc e também me despertaram o forte interesse no assunto..

 

Agora estou focado em programar o módulo gsm para integrar o funcionamento que eu quero..

 

E no mais, continuem assim, passando conhecimento adiante, pois tal atitude só vem a engrandecer ambas as partes!

 

Forte abraço, e nos vemos em algum outro post.. hahahaha

  • Curtir 1
  • Haha 1
Link para o comentário
Compartilhar em outros sites

@Felipe Electronic ,

 

Opa meu amigo, quanto tempo !!!!

E aí, acabou os seus cursos, conseguiu o doutorado ?

 

Bem-vindo novamente, eu continuo por aqui, um dinossauro do Basic no meio desse pessoal todo programando em C, ainda bem que tem a velha @Isadora Ferraz ajudando esse pessoal !

 

Quanto às dúvidas, passa ano e entra ano elas se repetem, parece que o nosso ensino parou nos anos 2.000 ... mas se posso ajudar a explicar, eu não me importo. Eu penso que de vez em quando consigo fazer uma pequena faísca e de repente ela incendeia o cérebro de alguém disposto a aprender e quem sabe, repassar o conhecimento ensinando a outros, não é mesmo ?

 

Posso estar me iludindo... mas quem sabe  eu me surprenda e consigo fazer a diferença para alguns ?

 

De qualquer maneira, é bom vê-lo novamente por aqui !

 

Paulo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@aphawk, é bom estar de volta.

Nada, dropei o doutorado depois de 2 anos, cansei dessa vida, quero mesmo passar o tempo fazendo meus projetinhos pessoais e ganhando a vida com o que der.

Falando de ensino, nos ultimos anos em que estive fora muita coisa aconteceu na vida profissional que me abriu demais a mente, e hoje entendo perfeitamente algo que li seu: "Não importa a cor do gato, desde que coma o rato". Em Basic, C, Java, Javascript (atenção pra esse novo queridinho que ta rodando em tudo que é microcontrolador), não importa a linguagem as dúvidas estão residindo nos conceitos e é como voce bem disse acima, eu ando mais preocupado em compartilhar ajuda na forma de conceito do que código pronto (ou solução pronta).

Aliás: Basic é muito legal, só pra constar viu. C virou coisa de velho também, C++ ainda tá meio obscuro, mas pra PIC acho que programar em qualquer coisa serve e resolve, aquelas falácias (muitas ditas por mim) sobre processamento, PIC não aguenta, otimização, mano, se quiser desempenho muda de processador, até onde? até onde seu bolso der :)


No mais é bom estar de volta, espero conseguir somar com você e o time que tomou conta daqui.


Abs.

  • Curtir 1
  • Amei 1
Link para o comentário
Compartilhar em outros sites

@Felipe Electronic ,

 

Opa que bom ler tudo isso que você escreveu !

 

Vale tudo, qualquer linguagem, qualquer família de microcontrolador, no fundo o que dá dinheiro é o SABER COMO RESOLVER O PROBLEMA !

 

Esse exemplo do gato eu ouví de um cara que veio da Espanha para nos passar os conhecimentos necessários  para fazermos um dos primeiros PC industrial no Brasil, em 1986. E nunca mais saiu de minha cabeça !

 

Sobre as linguagens, meu radiocomando usa linguagem LUA, e posso acrescentar um monte de recursos nele via cartão de memória, eu fiz bastante coisa para automatizar a telemetria do meu avião.

 

Quanto às falácias... ao longo da vida temos impressões diferentes sobre o mesmo assunto, e quando tudo é novidade nos sentimos tentados a extrair o máximo de tudo, mesmo sem ser necessário ! E é aí que entra a experiência, o tempo muda a maneira como analisamos as coisas, e principalmente , como decidimos resolver os problemas ! 

 

Uma vez, em 1991 se não me engano, uma empresa pediu que eu conseguisse contornar o problema que eles tiveram com o roubo do hardlock de um programa que era muito caro.

Eu consegui resolver de uma maneira muito simples mas também muito engenhosa, graças ao conhecimento que eu tinha sobre o BIOS do PC e o MS-DOS, práticamente na primeira hora que me deparei com o programa do cliente.

 

Minha primeira solução foi um arquivo tipo .com que rodava antes do programa que tava sem hardlock e pronto, resolvia o problema. Esse programa tinha 84 bytes .

 

Fiquei uma semana tentando reduzir ele ao mínimo, e cheguei a apenas 52 bytes ( se não me engano ).

Quando fui entregar para a empresa, eu tava todo orgulhoso dos meus 52 bytes, e quando mencionei que tinha ficado uma semana para conseguir isso, meu cliente olhou de um jeito para mim e falou “ ué, para mim tanto faz se teu programa usa 52 bytes ou 15k bytes, o micro tem 640K fora a memória expandida...” e foi aí que eu caí na real... eu estava dando muito valor para uma coisa que nunca importou nada na solução!

 

Enfim, eu ainda tiro leite de pedra dos velhos Avrs, e aposto que até um velho Pic 16F877 resolve mais de 95% de todas as montagens com microcontroladores que existem por aí. Tenho me divertido bastante com um simples Atmega328, e para o raro caso de precisar de duas seriais com alta velocidade uso o Atmega644 ou o Atmega1284. 

 

Voltando ao que importa, é muito bom ver você voltar com todo esse pique, todos só temos a ganhar com isso, ok ?

 

Paulo

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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