Mistério PIC16F628A

Para "abobrinhas" use o " Boteco"

Moderadores: andre_luis, 51, guest2003, Renie

Re: Mistério PIC16F628A

Mensagempor KrafT » 20 Nov 2017 21:18

Com um debugador você matava isso em 2 minutos... Quando eu fazia coisas com PIC sem ICD (e sem versão especial com ICD) eu desenvolvia tudo num PIC com debug e migrava depois de tudo validado.
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Mistério PIC16F628A

Mensagempor MOR_AL » 21 Nov 2017 07:55

KrafT escreveu:Com um debugador você matava isso em 2 minutos... Quando eu fazia coisas com PIC sem ICD (e sem versão especial com ICD) eu desenvolvia tudo num PIC com debug e migrava depois de tudo validado.

Pois é. Você tem razão.
O incrível é que fiz uma rotina (e deve estar em algum lugar), que gera códigos. Basta colocar o código e a chamada à rotina em qualquer local do programa. Quando o programa passa por ele, o código é exteriorizado.
Basta um pino do PIC e um buzzer, caso não haja mostrador. Mas o projeto de um Temporizador/Cronômetro (T/C) me parecia tão simples, que nem pensei nisso.
O meu problema maior foi colocar 6 mostradores 7 seg. + 5 teclas + cristal + reset + buzzer + relé no PIC 16F628A, mesmo usando um 4511. Tive que multiplexar as 5 teclas em um pino. Para isso necessitei criar cerca de 10 bits e mais alguns bytes de controle.
Por incrível que pareça, só foram ocupadas 771 palavras de programa em assembler.
Mas agora estou empenhado em abrir o T/C sem romper algum fio e reprogramar o PIC para eliminar o problema.
Quando funcionar sem problemas, eu crio um vídeo no YouTube e posto aqui.
Valeu!
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Re: Mistério PIC16F628A

Mensagempor vtrx » 21 Nov 2017 10:34

Pois é...eletrônica e programação sempre tem surpresas,por mais que tenhamos prática,deve ser porque somos analógicos...
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Re: Mistério PIC16F628A

Mensagempor MOR_AL » 21 Nov 2017 12:54

vtrx escreveu:Pois é...eletrônica e programação sempre tem surpresas,por mais que tenhamos prática,deve ser porque somos analógicos...


Eu acho que tem muito a ver com as leis de Murph. Hehehe!

Em tempo.
O problema foi resolvido. Eram os valores iniciais (ao se ligar) dos dois registradores responsáveis pela contagem dos segundos (2.500ms x 400).

MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Re: Mistério PIC16F628A

Mensagempor KrafT » 21 Nov 2017 21:04

Me solidarizando...
- Certa vez, a muitos anos atrás, eu herdei um produto que era uma Minuteria, dessas de escadaria de prédios, configurável (por jumpers) de 1 a 15 minutos, em incrementos de um minuto. O problema era que se o cliente configurasse para tempos baixos, gerava temporizações imprevisíveis, as vezes fica acionado só por 1 segundo.

Como o padrão de fábrica era 4 minutos, o problema não era visível. Pois bem, a pessoa que fez o firmware carregava o contador de minutos na hora em que o cliente soltasse a tecla, e então, a cada 60000 ms decrementava o contador de minutos. O problema acontecia se o acionamento do temporizador de minutos acontecesse perto do contador de 60000 ms estourar, que gerava um primeiro minuto aleatório.

Como era um produto simples eu refiz todo o firmware, embora o "conserto" fosse trivial.
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Mistério PIC16F628A

Mensagempor MOR_AL » 22 Nov 2017 07:59

O detalhe é que a gente só percebe a trivialidade APÓS eliminarmos todas as outras opções, depois de muito trabalho.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Re: Mistério PIC16F628A

Mensagempor Red Neck Guy » 22 Nov 2017 13:05

KrafT escreveu:Me solidarizando...

Como o padrão de fábrica era 4 minutos, o problema não era visível. Pois bem, a pessoa que fez o firmware carregava o contador de minutos na hora em que o cliente soltasse a tecla, e então, a cada 60000 ms decrementava o contador de minutos. O problema acontecia se o acionamento do temporizador de minutos acontecesse perto do contador de 60000 ms estourar, que gerava um primeiro minuto aleatório.



Eu não me lembro de ter feito tamanha toquisse... Era na central com 89S?
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Re: Mistério PIC16F628A

Mensagempor KrafT » 22 Nov 2017 13:27

Aquino escreveu:Eu não me lembro de ter feito tamanha toquisse... Era na central com 89S?

Não foi herança do amigo, não. Você jamais usaria um índice de 8 bits para um log de 10000 registros, usaria? :D Mas isso é outra história, hehe...
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Mistério PIC16F628A

Mensagempor MOR_AL » 23 Nov 2017 15:47

Segue o vídeo do meu Temporizador/Cronômetro ... Finalmente funcionando.

https://youtu.be/vJ8mjoVh7R0

A frequência do mostrador no vídeo sofreu "batimento", ou modulação com a taxa de quadros da filmadora. Ao vivo o mostrador não apresenta este batimento. Está perfeitamente normal.
Não sei porque o vídeo alterou a taxa do quadro da filmadora de 9:5 para 4:3.

Pode-se programar um tempo de até 99h 59min 59seg como temporizador. Como Cronômetro pode-se medir tempo de até 99h 59min 59seg.

Posso disponibilizar o diagrama esquemático e o firmware. Meu layout é de face simples (claro que com alguns jumpers) e teve duas placas, para caber na caixa.
Meus mostradores são do tipo anodo comum e como tive que aplicar uma boa corrente, devido à multiplexação no tempo dos dígitos, fui obrigado a incluir 6 BCs (PNP) para selecionar o dígito e mais 7 BCs (NPN) para selecionar o segmento. Não quis forçar nem o PIC e nem o 4511. Como são todos XingLing, o custo dos 13 BCs devem estar na faixa de R$ 1,65 ( para um lote com 100).

Meus dois layouts sofreram redução com cerca de 10% em seu tamanho, então alguns componentes entraram forçados. Depois fiz algumas pequenas alterações, como incluir os pontos acesos entre as horas, minutos e segundos. Também retirei o buzzer da placa e coloquei na face frontal da caixa, com isso o bip ficou bem mais alto. Antes quase não dava para ouvir.

Então é isso aí!
Grato a todos que me auxiliaram com as sugestões. Foram válidas e sempre bem-vindas.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Anterior

Voltar para Assuntos Gerais

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante

x