Ir ao conteúdo
  • Cadastre-se

Duvida em calculos no Flowcode para Pic


Posts recomendados

Boa tarde,

Estou criando um projeto para o Pic 16f877A com o software flowcode 4.3, e estou com um problema em relação aos calculos necessarios.

O projeto em questão consiste em controlar 3 motores de passo, a partir de 3 potenciometros. por meio dos potenciometros será fornecida a posição de destino em X, Y e Z, e por meio de calculos, determinar a maneira que os motores devem girar para obter o resultado esperado. porém estou com problema em dois momentos, em que é necessario calcular uma raiz quadrada, e eu não consegui encontrar uma maneira de realizar este calculo no programa.

No momento a minha formula se encontra da seguinte maneira:

Ad = (2000^2-(0-Ex)^2-(1155-Ey)^2)^(1/2)+Ez

Bd = (2000^2-(-1000-Fx)^2-(-577-Fy)^2)^(1/2)+Fz

Cd = (2000^2-(1000-Gx)^2-(-577-Gy)^2)^(1/2)+Gz

na qual Ad, Bd e Cd são FLOAT, Ex, Ey, ... , Gz são int com as posições dos motores em relação a posição final do atuador e o ()^(1/2) está sendo usado para representar a raiz quadrada.

Tambem é possivel inserir código C ou ASM no diretamente no fluxograma, então um meio de calcular em uma dessas linguagens tambem deve funcionar.

Grato,

Lucas Nascimento.

Link para o comentário
Compartilhar em outros sites

Sério mesmo que você pretende realizar essas contas com o PIC?

Não é nem um pouco recomendado.

Veja (20 mhz, 14 bit PIC):

8 bit add            <1 us
8 bit multiply 9 us
8 bit divide 20 us
16 bit add 2 us
16 bit multiply 48 us
16 bit divide 65 us
32 bit add 5 us
32 bit multiply 138 us
32 bit divide 162 us
float add 32 us
float multiply 147 us
float divide 274 us
exp() 1653 us
Ln() 2676 us
sin() 3535 us

Falou

Link para o comentário
Compartilhar em outros sites

Certo, mas não diretamente... A minha intenção é de montar um robo do tipo delta, e, para controle deste, estou desenvolvendo este programa. Fazer o motor "seguir" o potenciometro eu consegui, mas para o resultado que eu quero o objetivo é colocar a posição em X, Y e Z e converter esta para a posição dos motores. A estrutura que estou projetando é semelhante a deste link http://www.thingiverse.com/thing:17175

ou seja, o problema desta estrutura é que os três potenciometros juntos afetam a posição de cada um dos motores, e o calculo citado anteriormente foi o mais curto que consegui para realizar esta conversão.

porém não preciso que sejam necessariamente potenciometros, se eu conseguir, por exemplo, uma plataforma no windows que possa receber os valores de entrada, calcular e enviar diretamente para o Pic ja vai estar mais do que suficiente.

Estou pesquisando a possibilidade de usar um rs232, mas não estou me dando bem nos primeiros testes, se possuir algum material que possa me ajudar nesse assunto sera de grande ajuda.

Valeu.

Link para o comentário
Compartilhar em outros sites

A comunicação serial é bem simples! Na parte de hardware você vai precisar do CI MAX232 para conversão de tensão entre a porta serial do computador e os pinos do microcontrolador:

max232.gif

Em flowcode eu não sei se já tem algum bloco pronto para a comunicação, acredito que tenha. A comunicação é simples: você envia bytes e recebe bytes. Você vai ter que elaborar um protocolo para a contextualização de dados e especificar qual o formato de comunicação (ASCII, RAW ou pacotes de dados).

Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!