Página 1 de 1

DESAFIO - 18F452 + INT0 + 8ADC + 2PWM -> eu não consegui

MensagemEnviado: 20 Ago 2008 15:31
por behnkebr
Pessoal:

Preciso de um "Parpite" (um não, vários ...)

Na universidade onde trabalho, fui incumbido de montar um sistema
que monitora um eletro-estimulador.

A parte analógica está show, mas a CPU ... Ah a CPU ...

Fui inventar de usar um PIC 18F452 rodando a 10MHz com o prescaler interno x1, aliado ao "mágico" compilador CCS (uma b$#@a, mas é o que tenho e "maizomeno" sei usar) ...


Em resumo, o Hardware que necessito controlar é o seginte:


AN0 => Lê 0 a 5V -> Escala o valor -> Seta o duty-cycle do PWM 1 para ser usado (frequência FIXA em 400 Hz - duty-cycle VARIÁVEL continuamente de 0 a 100%, aproximadamente) e mostra o valor no display LCD


AN1 => Lê 0 a 5V -> Escala o valor -> Seta a frequência do PWM 2 e para ser usado (duty-cycle FIXO de 50% - Frequência VARIÁVEL continuamente de 50 a 1000 Hz, aproximadamente) e mostra o valor no display LCD


AN2 => Lê 0 a 5V -> Escala o valor -> Seta o tempo "Ligado" de um para ser usado pino "RXX" qualquer do PIC (0,1 a 2 segundos, aproximadamente) e mostra o valor no display LCD


AN3 -> Referência fixa de 2,5V para o AD do PIC


AN4 => Lê 0 a 5V -> Escala o valor -> Seta o tempo "Desligado" do mesmo para ser usado pino "RXX" do PIC (1 a 10 segundos, aproximadamente) e mostra o valor no display LCD


AN5 => Lê 0 a 5V -> Escala o valor -> Calcula o valor do Voltímetro 1 para ser usado e mostra o valor no display LCD


AN6 => Lê 0 a 5V -> Escala o valor -> Calcula o valor do Voltímetro 2 para ser usado e mostra o valor no display LCD


AN7 => Lê 0 a 5V -> Escala o valor -> Calcula o valor do Voltímetro 3 para ser usado e mostra o valor no display LCD


INT0 => Contador de pulsos externo -> Escala o valor -> Calcula o valor e mostra no Display LCD para ser usado


Todas as Entradas analógicas devem ser de 10 bits, e os valores de equência e duty-cycle dos dois PWM devem ser CONTINUAMENTE VARIÁVEIS entre os limites estabelecidos ... E todos os valores finais devem ser escritos em um display LCD 20x4 ...


Então "PRIGUNTO":


1-) É possível implementar este hardware com o PIC proposto ?

2-) Alguém teria uma sugestão de código básico ???


OBS: Já fiz alguma coisa nos pinos AN0 e AN1, se quiserem avaliar,
posto o cógigo ...


Alguém se Habilita ???

MensagemEnviado: 20 Ago 2008 17:16
por MOR_AL
Olá!
Citando o grande filósofo behnkebr para responder a sua primeira pergunta ...
TUDO É POSSÍVEL !!! - porém ... algumas coisas são tecnicamente inviáveis - POR ENQUANTO !!!

Mas, deixando a brincadeira de lado. Se você quer medir de 0 a 5V, porque não usa a referência de 5V?
MOR_AL

MensagemEnviado: 20 Ago 2008 17:52
por Sergio38br
antes de tudo verifica a questão da frequencia do pwm,por se não me engano a minima frequencia gerada por hardware esta entorno de 150Hz.

[]'s
Sergio

MensagemEnviado: 20 Ago 2008 18:28
por fabim
´caramba..To com inveja do6.
Como conseguiram entender alguma coisa?

Fabim

MensagemEnviado: 20 Ago 2008 23:34
por proex
Entender o que Fabim?
Do que vc tá falando?

ehehehehehhe

MensagemEnviado: 21 Ago 2008 00:58
por wgc
Olha, por sorte, ontem eu vi e testei um exemplo que resolve parte dos seus problemas.


http://www.ccsinfo.com/forum/viewtopic.php?t=29963


Eu estou usando o CCS para um projeto e ja quase marrete-ei tudo, por conta de execucoes sem sentidos. Simplesmente o timer dava valores diferentes aos setados um caos.

So resolvi isso setando flags para tudo e chamando-os dentro do main.

parece ser meio obvio depois q se usa, mas sao coisas que para mim passaram batidas.


Nesse exemplo tem o usso do pwm e da a/d. Sao duas coisas as quais vc esta utilizando.

Se for possivel queria ver seu codigo para entender melhor como essa tranquera do ccs se comporta em situacoes diversas.

Outra coisa que vc deve se atentar, pelo que eu notei, chame sempre uma isntrucao de cada x, assim vc consegue fazer o pic + ccs trabalhar direito.

Bem se eu estiver enganado aceito diicas e correcoes, estou certo que sera util a todos.

MensagemEnviado: 21 Ago 2008 01:03
por wgc
ah a versao 4,32 do ccs baixa no emule ta bugada. a 4 69 funga um pouco melhor. No propio forum da ccs vi recomendacoes para se utilizar a versao 3.29. :/


Antes de mais nada eu uso uma versao paga do CCS e inaceitavelmente a versao que baixei do emule, funciona melhor que a paga.:/

MensagemEnviado: 23 Ago 2008 14:34
por Djalma Toledo Rodrigues
AN3 -> Referência fixa de 2,5V para o AD do PIC


"Referência fixa" de 2.5 Vdc para medir 0-5 Vdc ?

é preferível usar tensão multiplo de 2 , pois, ira facilitar a conversão binário / decimal
sem valores fracionários.

Ref. de 4,096 Vdc (= 4mVdc por bit) seria a mais conveniente ou
2,048 Vdc (= 2 mVdc por bit) e até existem CIs com essas tensões de referência.

Abraço e boa conversão.
:lol: