Autor Tópico: Contrôle de motores com PIC16F628A  (Lida 64279 vezes)

Description:

0 Membros e 2 Visitantes estão vendo este tópico.

Offline aguizan

  • Fuso
  • **
  • Posts: 158
  • Sexo: Masculino
  • GUIA-CNC
Re: Contrôle de motores com PIC16F628A
« Resposta #90 Online: 09 de Julho de 2010, 10:50 »
[info]21.5  Selecting the A/D Conversion Clock   

The A/D conversion time per bit is defined as TAD. The A/D conversion requires 9.5 TAD per 8-bit conversion. The source of the A/D conversion clock is software selected. The four possible options for TAD are:

   •  2TOSC
   •  8TOSC
   • 32TOSC
   • Internal RC oscillator

For correct A/D conversions, the A/D conversion clock (TAD) must be selected to ensure a minimum TAD time of 1.6 µs for all devices, as shown in parameter 130 of the devices electrical specifications.[/info]

Então cheguei a seguinte conclusão:

A configuração do registrro ADCON0 ficou assim:

Bit0=1 A/D operando
Bit2=1 somente no momento da conversão)
Bit3 a 5=000 (escolhi o canal RA0/AN0 - a escolhá é livre ???)
Bit6 e 7 = 10 (conforme tab. 23-1 do  Manual de Ref. onde Freq do dispositivo = 20 MHz e TAD mínimo de 1.6 us  Resultam em 32 TOSC


A leitura do resultado da conversão é feita na palavra de 16 bits gerada como resultado da conversão correto ? O valor que interessa tem 10 bits e podem estar justificados a direita ou esquerda e é este valor que vou ler como resultado da minha conversão ??? Como assim ?
« Última modificação: 09 de Julho de 2010, 11:08 por aguizan »

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re: Contrôle de motores com PIC16F628A
« Resposta #91 Online: 09 de Julho de 2010, 12:00 »
Estou entendendo que vai usar o PIC16F877, não e?

Nesse caso, algumas recomendações:

(1) Voce não precisa usar interrupções em seu programa para o conversor A/D, o programa original que vc enviou não usa (módulo tx, que lê os sinais dos potenciômetros do Joystick).
(2) Voce pode usar a funcionalidade de comunicação serial do PIC, simplificará muito o programa.

A escolha do canal do conversor A/D depende de que potenciômetro estará lendo, o programa principal (MAIN) faz isso repetidamente, setando o valor do acumulador (W) antes de chamar a rotina SAMPLE:

[attachthumb=1]

Desse modo, o programa é simples e não usa interrupções...

Offline aguizan

  • Fuso
  • **
  • Posts: 158
  • Sexo: Masculino
  • GUIA-CNC
Re: Contrôle de motores com PIC16F628A
« Resposta #92 Online: 09 de Julho de 2010, 14:39 »
Estou entendendo que vai usar o PIC16F877, não e?

Nesse caso, algumas recomendações:

(1) Voce não precisa usar interrupções em seu programa para o conversor A/D, o programa original que vc enviou não usa (módulo tx, que lê os sinais dos potenciômetros do Joystick).
(2) Voce pode usar a funcionalidade de comunicação serial do PIC, simplificará muito o programa.

Voce diz  o USART ?

Offline C N C N o w !

  • CNCMASTER
  • ******
  • Posts: 6300
  • Sexo: Masculino
Re: Contrôle de motores com PIC16F628A
« Resposta #93 Online: 09 de Julho de 2010, 16:49 »

Anderson, faz uma forcinha aí pra formatar melhor as citações ...  ;D

Vc fez assim logo acima:




Estou entendendo que vai usar o PIC16F877, não e?

Nesse caso, algumas recomendações:

(1) Voce não precisa usar interrupções em seu programa para o conversor A/D, o programa original que vc enviou não usa (módulo tx, que lê os sinais dos potenciômetros do Joystick).
(2) Voce pode usar a funcionalidade de comunicação serial do PIC, simplificará muito o programa.

Voce diz  o USART ?




Minha sugestão:




2) Voce pode usar a funcionalidade de comunicação serial do PIC ...

Voce diz  o USART ?





Compare, não fica mais legível e sucinto ?

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re: Contrôle de motores com PIC16F628A
« Resposta #94 Online: 09 de Julho de 2010, 17:51 »

Eu quis dizer UART, pois:

USART = Universal Synchronous Asynchronous Receiver Transmitter
UART = Universal Asynchronous Receiver Transmitter

E vc vai usar comunicação assincrona (em nível TTL, RS232 ou RS485).

Offline aguizan

  • Fuso
  • **
  • Posts: 158
  • Sexo: Masculino
  • GUIA-CNC
Re: Contrôle de motores com PIC16F628A
« Resposta #95 Online: 09 de Julho de 2010, 20:20 »

Eu quis dizer UART, pois:

USART = Universal Synchronous Asynchronous Receiver Transmitter
UART = Universal Asynchronous Receiver Transmitter

E vc vai usar comunicação assincrona (em nível TTL, RS232 ou RS485).

Não estou encontrando nada sobre UART, alguma dica ???

Offline aguizan

  • Fuso
  • **
  • Posts: 158
  • Sexo: Masculino
  • GUIA-CNC
Re: Contrôle de motores com PIC16F628A
« Resposta #96 Online: 09 de Julho de 2010, 20:25 »

Anderson, faz uma forcinha aí pra formatar melhor as citações ...  ;D

Vc fez assim logo acima:




Estou entendendo que vai usar o PIC16F877, não e?

Nesse caso, algumas recomendações:

(1) Voce não precisa usar interrupções em seu programa para o conversor A/D, o programa original que vc enviou não usa (módulo tx, que lê os sinais dos potenciômetros do Joystick).
(2) Voce pode usar a funcionalidade de comunicação serial do PIC, simplificará muito o programa.

Voce diz  o USART ?




Minha sugestão:




2) Voce pode usar a funcionalidade de comunicação serial do PIC ...

Voce diz  o USART ?





Compare, não fica mais legível e sucinto ?



Deixa comigo, vou caprichar.






Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re: Contrôle de motores com PIC16F628A
« Resposta #97 Online: 09 de Julho de 2010, 21:14 »
Não estou encontrando nada sobre UART, alguma dica ???

Sim, há muita coisa sobre UART na Net...

http://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter

Offline aguizan

  • Fuso
  • **
  • Posts: 158
  • Sexo: Masculino
  • GUIA-CNC
Re: Contrôle de motores com PIC16F628A
« Resposta #98 Online: 09 de Julho de 2010, 23:37 »
Não estou encontrando nada sobre UART, alguma dica ???

Sim, há muita coisa sobre UART na Net...




Encontrei material na Internet e no manual de referência.

]http://www.postimage.org/image.php?gallery=37gtYc]

 Em que posição no meu programa esse código vai entrar (considerando como exemplo o código do programa já existente)

Offline aguizan

  • Fuso
  • **
  • Posts: 158
  • Sexo: Masculino
  • GUIA-CNC
Re: Contrôle de motores com PIC16F628A
« Resposta #99 Online: 10 de Julho de 2010, 00:04 »
Estou lendo um artigo que fala sobre RS-232 e diz que há uma limitação de comprimento de cabo de transmissão de 20 metros. É isso mesmo ???

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re: Contrôle de motores com PIC16F628A
« Resposta #100 Online: 10 de Julho de 2010, 00:24 »

Sim, são 15 a 20 metros, dependendo da capacitância do cabo, mas se usar o RS485 pode ir de centenas de metros a 1km.

Ia me esquecendo, o seu cabo vai entrar dentro d´água não é? Existem multicabos a prova dágua.

Offline aguizan

  • Fuso
  • **
  • Posts: 158
  • Sexo: Masculino
  • GUIA-CNC
Re: Contrôle de motores com PIC16F628A
« Resposta #101 Online: 10 de Julho de 2010, 00:31 »

Sim, são 15 a 20 metros, dependendo da capacitância do cabo, mas se usar o RS485 pode ir de centenas de metros a 1km.


Então vou ter que usar o RS485. Mais assunto para estudo.


Ia me esquecendo, o seu cabo vai entrar dentro d´água não é? Existem multicabos a prova dágua.

Sim, eu já fiz essa pesquisa e tenho alguma coisa arquivada. Os umbilicais hoje são feitos com uma tremenda tecnologia. Tem cabo balanceado para combater o empuxo e muitas outras novidades.

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re: Contrôle de motores com PIC16F628A
« Resposta #102 Online: 10 de Julho de 2010, 04:39 »
]http://www.postimage.org/image.php?gallery=37gtYc]
 Em que posição no meu programa esse código vai entrar (considerando como exemplo o código do programa já existente)

Este é um trecho de inicialização da porta serial, que vai executar uma única vez. Mas conforme já lhe disse, pode dispensar as instruções relacionadas à interrupção.

Offline C N C N o w !

  • CNCMASTER
  • ******
  • Posts: 6300
  • Sexo: Masculino
Re: Contrôle de motores com PIC16F628A
« Resposta #103 Online: 10 de Julho de 2010, 08:02 »
Estou lendo um artigo que fala sobre RS-232 e diz que há uma limitação de comprimento de cabo de transmissão de 20 metros. É isso mesmo ???

Definitivamente não. Este é um dos muitos mitos que circulam inquestionados há décadas por aí ...

Causo: há muitos anos um colega de trabalho se esgoelava, brandindo seu livrinho, absolutamente inconformado por eu dizer que aquilo era incorreto. Peguei algumas bobinas de fio drop, emendei de modo a obter cerca de 1.000 metros de cabo e conectei a um PC como loopback. Adivinha se funcionou ?

Os tais 20 metros podem sim ser o limite quando a velocidade é muito elevada. Depende das características do cabo e da interface tb. Vc pode esperar alcance da ordem de dezenas a centenas de metros com velocidades baixas ou moderadas.

Falar em distância sem mencionar os outros parâmetros relevantes é algo vazio, desprovido de qualquer sentido.

Isto posto, considere a sugestão do Gil, use RS422 ou RS485, a confiabilidade e o alcance sempre serão muito maiores e em nada onera o projeto.


Offline aguizan

  • Fuso
  • **
  • Posts: 158
  • Sexo: Masculino
  • GUIA-CNC
Re: Contrôle de motores com PIC16F628A
« Resposta #104 Online: 10 de Julho de 2010, 10:01 »
]http://www.postimage.org/image.php?gallery=37gtYc]
 
Este é um trecho de inicialização da porta serial, que vai executar uma única vez. Mas conforme já lhe disse, pode dispensar as instruções relacionadas à interrupção.

Basta excluir as duas linhas referentes as interrupções ?

http://www.postimage.org/image.php?v=aVUtpD0




 

/** * */