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

Description:

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

Offline Blackmore

  • CNCMASTER
  • ******
  • Posts: 1568
  • Sexo: Masculino
  • Profissão: Projetista Mecânico/Automação
Re: Contrôle de motores com PIC16F628A
« Resposta #165 Online: 13 de Julho de 2010, 15:10 »
Citar
Hoje também existem capacitores eletrolíticos especiais, de baixas perdas e alta capacitância, que funcionam como se fossem baterias de curta duração,

opa opa !! onde tem isso? fiz uma vez uma "bateria" desta com 1 capacitor de 1000uF ... mas era um trabuco na placa que dava dó !! hahaha

abrax!

Offline C N C N o w !

  • CNCMASTER
  • ******
  • Posts: 6300
  • Sexo: Masculino
Re: Contrôle de motores com PIC16F628A
« Resposta #166 Online: 13 de Julho de 2010, 16:33 »
opa opa !! onde tem isso?

É conhecido por supercap, não é fácil de encontrar no comércio local.

Para experiências uma boa fonte são os velhos VCRs que costumam trazer um de alguns farads (!)

Offline C N C N o w !

  • CNCMASTER
  • ******
  • Posts: 6300
  • Sexo: Masculino
Re: Contrôle de motores com PIC16F628A
« Resposta #167 Online: 13 de Julho de 2010, 17:56 »
Quando se possui um equipamento que é alimentado por baterias, mas é necessário o monitoramento da tensão das baterias para que estas não sejam sugadas até o ponto de não ser recuperadas ... ?

O Gil já pintou o panorama em largas pinceladas, mais genericamente, mas acho que vale comentar alguns aspectos mais específicos da aplicação discutida aqui:

O controle de um submersível é considerado tarefa crítica, portanto a manutenção do controle, se possível, ou pelo menos a recuperação do veículo, ganha precedência sobre a conservação da bateria: "Dane-se a bateria, eu quero é cair fora daqui !".

Não é incomum que os ROVs sejam equipados com sistema de alimentação redundante, remotamente alimentados em condições normais de operação e pela bateria em situação de emergência. Os aparelhos mais sofisticados são capazes de efetuar manobras de evasão autonomamente e/ou manter a comunicação por outros meios que não o cordão umbilical (acústicos).

Quase todo submersível exige lastro para alcançar a densidade aparente da água e obter flutuabilidade neutra e baterias são bem convenientes para isto, uma vantagem adicional.

A qualidade da tensão de referência é bastante importante de modo geral e é comum que sejam utilizados componentes como os sugeridos na AN546:



Mas neste caso específico, considerando o projeto original, estamos dispensados de qualquer preocupação quanto à Vref e Vdd, o valor absoluto de tensão amostrado é absolutamente irrelevante !  ;D

Uma característica importante - e pouco compreendida por muitos programadores - é o fato do conversor AD do PIC ser raciométrico, ou seja, o resultado da amostragem é uma razão da tensão de alimentação ou da tensão de referência.

Como o que queremos de fato saber não é a tensão, mas sim a posição relativa do joystick, a tensão de alimentação / referência pode variar amplamente e ainda teremos a informação acurada quanto à posição do joystick. Exemplo: com o pot a meio curso a tensão amostrada será Vref (Vdd)/2, não importando o qual seja Vref ou mesmo que seja variável e o resultado binário será sempre o mesmo, indicando corretamente o meio curso ...

Este é o tipo do detalhe que separa os homens dos meninos, indicativo da competência de quem escreveu o prog e desenhou hardware ...  ;D

Um outro aspecto a considerar é que a resolução efetiva é de apenas três bits ( 0,625V ), o que reforça ainda mais ainda a imunidade às variações ...


Offline aguizan

  • Fuso
  • **
  • Posts: 158
  • Sexo: Masculino
  • GUIA-CNC
Re: Contrôle de motores com PIC16F628A
« Resposta #168 Online: 13 de Julho de 2010, 18:21 »
Não é incomum que os ROVs sejam equipados com sistema de alimentação redundante, remotamente alimentados em condições normais de operação e pela bateria em situação de emergência. Os aparelhos mais sofisticados são capazes de efetuar manobras de evasão autonomamente e/ou manter a comunicação por outros meios que não o cordão umbilical (acústicos).
Jorge,
Neste primeiro projeto não haverá sofisticação, alias esta é a diretriz do trabalho, no entanto implementações futuras ao módulo poderão ser feitas e portanto é interessante deixar a base pronta para receber novos acessórios.



Como o que queremos de fato saber não é a tensão, mas sim a posição relativa do joystick, a tensão de alimentação / referência pode variar amplamente e ainda teremos a informação acurada quanto à posição do joystick.

Quanto ao sistema de movimentação do aparelho realmente não existem problemas com relação a tensão, mas para a transmissão e recepção de dados como pressão, salinidade, temperatura, etc.. ??

Offline C N C N o w !

  • CNCMASTER
  • ******
  • Posts: 6300
  • Sexo: Masculino
Re: Contrôle de motores com PIC16F628A
« Resposta #169 Online: 13 de Julho de 2010, 18:45 »
Quanto ao sistema de movimentação do aparelho realmente não existem problemas com relação a tensão, mas para a transmissão e recepção de dados como pressão, salinidade, temperatura, etc.. ??

Como dizíamos: "Considerando o projeto original ..."  ;D

Eu tb acho que vale muito a pena planejar para expansões futuras ... por outro lado, nunca é boa coisa dar o passo maior que as pernas, né ?

Tb acho que vale muito a pena construir um protótipo simples e barato, com poucas modificações em relação ao projeto original, um "submersível de banheira", um judas pra malhar, para ganhar insight and feeling ... alguma experiência com a coisa pode ajudar a remover muitas pedras do caminho ...


Offline Blackmore

  • CNCMASTER
  • ******
  • Posts: 1568
  • Sexo: Masculino
  • Profissão: Projetista Mecânico/Automação
Re: Contrôle de motores com PIC16F628A
« Resposta #170 Online: 13 de Julho de 2010, 19:32 »
aguizan

como lhe falei ... eu fiz um controle simples para motores DC para a faculdade .. (estou caçando para lhe disponibilizar conforme prometido) ... apenas a título de curiosidade pergunto eu ...
Qual é o tipo e modelo de motores utilizados em um ROV? DC brushed? brushless? com multiplicador de RPM?

Offline aguizan

  • Fuso
  • **
  • Posts: 158
  • Sexo: Masculino
  • GUIA-CNC
Re: Contrôle de motores com PIC16F628A
« Resposta #171 Online: 13 de Julho de 2010, 19:52 »
Motores com baixo nível de ruído, para que não interfiram com a transmissão de sinais (vídeo, áudio, sinais digitais). Preocupação adicional com o problema da pressão e agressividade do meio ambiente. Testei vários tipos e todos funcionaram, inclusive mergulhados na água sem nenhuma proteção adicional. Quanto ao giro dos motores ainda estou em estudo para verificar a melhor rotação para os propulsores pois há uma relação entre giro e paço dos hélices que não consegui destrinchar. 

Offline Blackmore

  • CNCMASTER
  • ******
  • Posts: 1568
  • Sexo: Masculino
  • Profissão: Projetista Mecânico/Automação
Re: Contrôle de motores com PIC16F628A
« Resposta #172 Online: 13 de Julho de 2010, 20:31 »
por exemplo motores brushless de aeromodelismo?

Offline aguizan

  • Fuso
  • **
  • Posts: 158
  • Sexo: Masculino
  • GUIA-CNC
Re: Contrôle de motores com PIC16F628A
« Resposta #173 Online: 13 de Julho de 2010, 20:31 »
O programa não está na forma ideal, pois le e envia cada entrada em sequência, o ideal seria ler as tres entradas e depois enviá-las em sequência.

Está enviando de três em três porem sempre valores iguais. Não consegui achar o problema  :-\

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 #174 Online: 13 de Julho de 2010, 20:48 »
Anderson,

O programa não está na forma ideal, pois le e envia cada entrada em sequência, o ideal seria ler as tres entradas e depois enviá-las em sequência.

Está enviando de três em três porem sempre valores iguais. Não consegui achar o problema  :-\

Está enviando? Porém tres valores repetidos? Poderia enviar o seu programa?

Offline aguizan

  • Fuso
  • **
  • Posts: 158
  • Sexo: Masculino
  • GUIA-CNC
Re: Contrôle de motores com PIC16F628A
« Resposta #175 Online: 13 de Julho de 2010, 20:48 »
por exemplo motores brushless de aeromodelismo?
Esses nunca testei, são muito caros. Utilizei motores encontrados nas lojas de autopeças. São robustos e baratos, mas existem várias experiências com motores de aeromodelismo muito bem sucedidas.

Tem alguma informação neste site:
http://www.submarineboat.com/rov_joystick_for_props.htm


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 #176 Online: 13 de Julho de 2010, 20:52 »
opa opa !! onde tem isso? fiz uma vez uma "bateria" desta com 1 capacitor de 1000uF ... mas era um trabuco na placa que dava dó !! hahaha

Capacitor de 0,1 a 1,5 Farad para equipamentos eletrônicos:

[attachthumb=1]

Offline aguizan

  • Fuso
  • **
  • Posts: 158
  • Sexo: Masculino
  • GUIA-CNC
Re: Contrôle de motores com PIC16F628A
« Resposta #177 Online: 13 de Julho de 2010, 20:56 »
Está enviando? Porém tres valores repetidos? Poderia enviar o seu programa?


Eu copiei e colei o código que vc enviou e fiz a alteração com o segundo trecho de código.



    list P=16F877A
   #include "P16F877A.INC"

   __CONFIG _CP_OFF & _WDT_OFF & _XT_OSC & _PWRTE_ON
   ;__CONFIG 0x3F32

   errorlevel -302      ; turn off bank bits warning

;
; Seleção de entradas do MUX (ADDCON0)
;
#DEFINE  EAN_0 B'01000001'   ; f/8, AN0, DONE, A/D On
#DEFINE  EAN_1 B'01001001'   ; f/8, AN1, DONE, A/D On
#DEFINE  EAN_2 B'01010001'   ; f/8, AN2, DONE, A/D On

;
;   Variáveis da RAM internas
;   
   cblock H'20'
          ld_loop_ex
        ld_loop_in
      VALOR_AN0
      VALOR_AN1
      VALOR_AN2
    endc
;
; Inicio do Programa
;
   ORG   0h         

; Inicializaçao do PIC, do display e da porta serial
   bcf      STATUS,RP1

   bsf      STATUS,RP0 ; Habilita banco 1
   
   clrf   TRISD          ; porta do display, de saída
   
   movlw    B'00000010'    ; setup do conversor A/D
   movwf    ADCON1         ; left justify result
                     ; port A: only analogue inputs
;
; Ajusta parametros da UART (usando cristal externo de 4MHz)
; Baud Rate = 9600 bps, No Parity, 1 Stop Bit
;
    movlw    0x19             ; 0x19=9600 bps / 0x0C=19200 bps
    movwf    SPBRG
       
    movlw    b'00100100'     ; TX_Enable, assync. mode, brgh = high (2)
    movwf    TXSTA           ; enable Async Transmission, BRGH=1
   
    movlw    b'10111111'     ; RC6 saida, outros bits da PORTC sao de entrada
    movwf    TRISC

   bcf      STATUS,RP0       ; Habilita banco 0

   clrf   PORTD          ; zera saídas do display
   
;   movlw    EAN_0          ; seleciona entrada analógica
;   movwf    ADCON0         

    movlw    b'01000000'    ; Setup Port C
    movwf    PORTC         ; RC6(TX)=1 others are 0

    movlw    b'10000000'     ; habilita a UART
    movwf    RCSTA


;
; Loop principal
;
start:

;   Ler Entradas

   movlw   EAN_0         ;entrada analógica 0
   call   read_ad
   movwf   VALOR_AN0
   movlw   EAN_1         ;entrada analógica 1
   call   read_ad
   movwf   VALOR_AN1
   movlw   EAN_2         ;entrada analógica 2
   call   read_ad
   movwf   VALOR_AN2

;   Envia pela porta serial

   movwf   VALOR_AN0
   call   send
   movwf   VALOR_AN1
   call   send
   movwf   VALOR_AN2
   call   send

   call   delay1s

   goto    start

;
; Conversor A/D, palavra ADDCON0 em W
;
read_ad:
   movwf      ADCON0
   bsf      ADCON0,GO ; Iniciar conversao
wait:
   btfsc    ADCON0,GO ; Testa se terminou conversao
   goto      wait
   movf      ADRESH,W
   return
;
; Display de LEDs
;
display:
   movwf   PORTD
   return
;
; Envia byte (contido em W) pela UART e espera terminar
;
send:
    movwf    TXREG           ; send data in W
TransWt:
    bsf    STATUS,RP0      ; banco 1
WtHere:
     btfss    TXSTA,TRMT      ; Transmissao terminou se TRUE
    goto    WtHere         ; Senao, espera
    bcf    STATUS,RP0      ; banco 0
    return
;
;-----------------------------------------------------------------------------
;
;   Delay for about 1s
;
delay1s:
    movlw   D'250'
   call   waitx400
    movlw   D'250'
   call   waitx400
    movlw   D'250'
   goto   waitx400

;
;-----------------------------------------------------------------------------
;
;   Delay for about 250 ms
;
delay250ms:
    movlw   D'250'
   goto   waitx400
;
;-----------------------------------------------------------------------------
;
;   Delay for about 400x cycles
;
;    Se w=1, temporiza 1ms @ fck = 4MHz
;
waitx400:
    movwf   ld_loop_ex
ld_loopex:
   movlw   (400-4)/4
   movwf   ld_loop_in
ld_loopin:
    decf    ld_loop_in,F
    skpz
    goto    ld_loopin
   decf    ld_loop_ex,F
    skpz
    goto    ld_loopex
   return

END

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 #178 Online: 13 de Julho de 2010, 20:57 »
Anderson,

por exemplo motores brushless de aeromodelismo?
Esses nunca testei, são muito caros. Utilizei motores encontrados nas lojas de autopeças. São robustos e baratos, mas existem várias experiências com motores de aeromodelismo muito bem sucedidas.

Tem alguma informação neste site:
http://www.submarineboat.com/rov_joystick_for_props.htm

Como é que fica a corrosão? Aço+cobre+água (com algum eletrólito) = pilha => Corrosão do aço

Offline Blackmore

  • CNCMASTER
  • ******
  • Posts: 1568
  • Sexo: Masculino
  • Profissão: Projetista Mecânico/Automação
Re: Contrôle de motores com PIC16F628A
« Resposta #179 Online: 13 de Julho de 2010, 21:18 »
acrescento ...
e como se comportam os rolamentos? não oxidam e posteriormente travam?

 

/** * */