Informação

PIC

Comunidade para desenvolvedores que utilizam microcontroladores PIC da microchip.

Membros: 233
Última atividade: 4 Out, 2021

Fórum de discussão

Timer ajustado por potenciômetro

Iniciado por Ricardo Guerra. Última resposta de mineirin RV 11 Mar, 2019. 1 Resposta

Olá..., Estou estudando sobre programação de PIC em linguagem C. Estou tentando programar um timer que o ajuste de tempo de 0 até 2 segundos é feito pela entrada analógica através de um…Continuar

conexão CDC com PIC

Iniciado por Rafael Schiavon Guido. Última resposta de Rafael Schiavon Guido 4 Out, 2015. 5 Respostas

Prezados...estou precisando de ajuda para finalizar um programa e estou encontrando dificuldades, o progrma consistem em um gerador de sinais através do PIC18f4550 que irá conectado a uma EEPROM e a…Continuar

Onde comprar?

Iniciado por Rafael Leandro. Última resposta de Rafael Leandro 19 Ago, 2015. 6 Respostas

Comecei a juntar um material e componentes p/ estudar.Queria saber onde comprar o PIC 18F84Continuar

Tags: loja, 18F84, componente, PIC

Problema com a simulação RS232 Pickit2 com CCS

Iniciado por Rodrigo Nogy Pereira 31 Maio, 2015. 0 Respostas

Olá pessoal.Estou fazendo uns testes com a o Pic 18F4550 usando o barramento RS232 programando no CCS e usando o gravador Pickit2.O meu problema é que não aparece as mensagens na interface UART Tool…Continuar

Caixa de Recados

Comentar

Você precisa ser um membro de PIC para adicionar comentários!

Comentário de Edson Roberto da Silva em 31 março 2011 às 23:17

PACMAN,

Eu uso o PicBasic Pro Compiler 2.47 da microEngineering Labs, Inc., que tem resolvido, facilitado e agilizado muito todos os projetos que já desenvolvi. Sei que existe muito preconceito em relação ao Basic, devido ao passado, onde era usado como linguagem interpretada, e também no passado existiu um compilador que criava um arquivo .exe muito grande. Mas o PicBasic é muito diferente do que se viu ou aconteceu no passado. Já deu para perceber que sou um defensor desta linguagem para PIC.

Mudando de assunto, dei uma olhada rápida no seu blog, gostei muito, parabéns ! 

Comentário de Edson Roberto da Silva em 31 março 2011 às 23:01

Enio,

Por falta de tempo demorei a responder, desculpe-me.

Suas dicas são importantes e já estão anotadas, assim que arrumar um tempinho vou por em prática, ando muito ocupado, mas assim que fizer alguma coisa postarei os resultados e dúvidas se for o caso.

Muito obrigado !

Comentário de Alexandre Pereira (PACMAN) em 31 março 2011 às 11:14

Oi Pessoal, estou chegando agora e já pedindo licença pra participar destes comentários sobre linguagens de programação pra PIC... vejo vocês falando muito de Basic, C ...

Em relação ao tamanho de código gerado a resposta correta é: Depende...

Depende do teu compilador, depende da função que vc usa... depende de como o compilador trata os eventos (interrupções) do MCU, varia muito.

Um compilador C que eu gosto muito mas que gera um lixo tremendo é o CCSC para PIC... ele funciona direitinho, tira um monte de dor de cabeça no controle de dispositivos principalmente na parte de configuração e conhecimento profundo do Datasheet... seria o equivalente a um ambiente RAD para PIC. Já usei em muitos projetos e não me arrependo.

Existem compiladores melhores para C e PIC... sim existem ... posso citar o MicroC ... mas no final das contas... CCSC acaba resolvendo 99.9% dos problemas que não vale realmente a pena perder tempo com isso.

Compilador Basic para PIC tem o MicroBasic... que na teoria gera o mesmo código do MicroC ... ele tem uma etapa de meta-código e no final gera em linkedição um código assembler muito parecido como do MicroC ... não fiz muitos testes neste sentido ... mas já ouvi falarem muito disso.

Agora na real... nunca nenhuma linguagem de programação de "alto nível" vai gerar um código tão rápido e compacto quanto quando você programa direto em Assembler... o que no final das contas nem é tão complicado assim ... principalmente se tratando de PIC...

Comentário de danilo da silva cabral em 26 março 2011 às 12:22
alguem aqui conhece picaxe?
Comentário de Carlos Assis em 24 março 2011 às 19:19
Muito bom Enio. Assim que for desenvolver algo com A/D irei usar esta carinha e testar...
Comentário de Enio Benatti em 24 março 2011 às 13:41

Edson, 

o problema normalmente não esta no codigo, mas no hardware.

Lembre-se que o A/D não mede a tensão diretamente , mas mede uma relação entre a tensão de entrada e a referencia de tensão. se sua referencia é a fonte , BINGO , a flutuação da fonte aparecerá na leitura do A/D.

Muitas vezes a flutuação aparece no terra do PIC em relação a tensão que vc quer medir.

Deve-se obedecer todas as boas tecnicas de instrumentação , de modo a garantir que a tensão de referencia do A/D no PIC seja estavel , da mesma maneira , a tensão que chega no A/D tem que ter seu terra independente dos outros terras de potência , para que correntes em outros circuitos não introduzam pequenas variações no terra e consequentemente na tensão a ser medida. Outro ponto importante é o tempo de aquisição do Sample & Hold.

Já tive problemas porque deixei este tempo muito pequeno , e não dava tempo de carregar o capacitor interno do pic introduzindo erros de leitura e flutuações intermitentes.

A maneira mais robusta é se usar referencia de tensão externa ( Hi e LO ) vc pode usar um LM336 que é baratinho , e tem em qualquer lugar , tem de 5v e 2,5V , eu prefiro de 2,5V a leitura fica uma rocha , e não varia nem a pau com a temperatura , a tensão da fonte pode chacoalhar a vontade que a leitura está lá garantida !

Abração

Enio.

 

Comentário de Edson Roberto da Silva em 24 março 2011 às 10:56

Enio,

Quando comecei a lidar com os A/D dos pics, segui todos os passos sugeridos nos Data Sheets e do site da Microchip, incluí as rotinas em assembler nos programas e sempre houve instabilidade, tentei algumas fontes de alimentação, lineares e chaveadas, iclusive testei com pilhas na alimentação e na entrada A/D ( fiz isto para tirar a dúvida das fontes ) e sempre acontecia as mesmas instabilidades. Fiz testes alterando a velocidade do clock, etc. E a única solução que encontrei foi a média aritimética e usar tensão de referência externa. Na época procurei informação em todo lugar, em fóruns onde todos relatavam os mesmos problemas e nunca ninguém tinha solução, em livros sobre PIC em inglês, de onde tirei exemplos, e também sempre os mesmos problemas. Peço-lhe um favor, se você puder nos fornecer mais informações sobre as suas soluções, inclusive as linhas de código, soluções de fonte, etc, tudo o que possa nos ajudar. Eu e outros que pretendem usar os A/D, ficaremos muito agradecidos a você. Eu sou só um aprendiz ! Desde já lhe agradeço ! Felicidades ! 

Comentário de Enio Benatti em 23 março 2011 às 20:08
Carlos ,
O A/D do PIC tem varias manhas , se vc fizer direitinho o que está no DataSheet da Microchip , funciona "Rock Solid" até o ultimo bit .
Todos os meus projetos que usaram o A/D do PIC ficaram uma joia , sem precisar de media nem nada.
O que acontece é que as vezes não dá tempo de carregar os capacitores de sample & hold do mux do pic ou a impedancia da sua fonte de tensão é muito alta ou ainda há ruido de baixa frequencia , causando o fenomeno de aliasing.
Como pode-se ver usar o conversor A/D pode não ser assim tão simples.
Abração.
Enio.
Comentário de Carlos Assis em 23 março 2011 às 19:21

Edson eu também usava médias aritiméticas mas, imagine se por algum motivo durante a sua leitura você tenha um ruído de valor muito maior ou menor a sua média será alterada.

Com a mediana, você terá que ordenar de forma crescente ou decrescente suas leituras e depois você pega o valor do meio como sua leitura válida. Assim. se você tiver um ruído (um valor alto ou baixo), este será ordenado e descartado.

 

Não sei se me fiz entender mas, no (nosso pai) Google tem definições melhores que a minha, além de algorítimos que poderão te auxiliar na construção do código.

 

Espero ter ajudado...

Comentário de Guilherme Cruz em 22 março 2011 às 21:36
Caro marco antonio martins silva, para início, se você ainda não conhece nada de programação, há uma pseudo-linguagem de programação chamada "portugol", como o nome também sugere, os comandos são em português. Em uma semana é fácil dominá-la, no entanto, não serve para mais nada, uma vez que não compila fora do ambiente de programação. Mas depois de conhecer esta linguagem, você estará mais familiarizado com a lógica de programação. E poderá passar para uma linguagem legítima, como o C, e suas variações C++, C#, C18(usada em microcontroladores PIC). O C é basico para qulquer coisa.
Mas se você ja tem algum conhecimento, siga o conselho do amigo Edson Roberto.
Se quiser o ambiente de programação Visualg para portugol caso não saiba programar, avise-me.
Abraços.
 

Membros (233)

 
 
 

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço