collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Fonte de corrente regulavel  (Lida 7293 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Fonte de corrente regulavel
« Responder #15 em: 21 de Janeiro de 2017, 19:22 »
Usei 0.0048, spank me.  :(

Isso querias tu, ah ah :D!!...

Isto do cálculo numérico é muito interessante. Os erros ocorrem essencialmente sempre na divisão, por isso é a operação que temos que deixar para fim, repara no cálculo que fiz, deixei a divisão para o final (1023 * 2.2 / 5). Há outra técnica na divisão inteira que já mencionei por aqui várias vezes e que é super importante, que é adicionar metade do divisor ao dividendo (para números positivos). Isto é fazer um arredondamento ao número inteiro mais próximo, e o impacto disto "vê-se", não passa despercebido. Portanto ao fazer a / b em que ambos são inteiros e a divisão é inteira, o que há a fazer é (a + b/2) / b. A divisão inteira (operador div) que os microprocessadores fazem é uma divisão com arredondamento por defeito (deita fora a parte real do resultado), só que para minimizar o erro queremos divisões com arredondamento para o inteiro mais próximo.
O erro vê-se bem neste exemplo: 7 div 4 = 1 mas na verdade 7.0 / 4 = 1.75 portanto a resposta que se quer é 2, o inteiro mais próximo do resultado 1.75. Ao fazermos (7 + 4 div 2) div 4 = (7 + 2) div 4 = 9 div 4 = 2 que é o inteiro mais próximo do resultado real.

A 1ª vez que esbarrei com isto foi num programa que fiz para rodar uns objectos em 3D. Os vértices são pontos 3D que são rodados, e fiz os cálculos todos em ponto fixo. No entanto, o objecto parecia que se deformava ligeiramente ao rodar, os vértices sofriam de um jitter de 1 pixel, que era bem visível. Depois de analisar bem a coisa percebi que se devia aos arredondamentos por defeito que a divisão inteira dos micros faz, quando estava a mapear os pontos de 3D para 2D para mostrar no ecran. Comecei a fazer como indiquei acima e tudo ficou perfeito, silky-smooth. O arredondamento por defeito cria artefactos no que quer que seja que se esteja a usar, artefactos de imagem em grafismos, artefactos sonoros ao processar som, etc etc.
« Última modificação: 21 de Janeiro de 2017, 19:41 por Njay »

Offline filjoa

  • Mini Robot
  • *
  • Mensagens: 321
Re: Fonte de corrente regulavel
« Responder #16 em: 24 de Janeiro de 2017, 20:23 »
quase que dizia uma asneira... mas nunca pensei nesse caso que faz todo o sentido e dá uma precisão muito mais eficaz...

ainda voltando ao tema de que tipo de sinal obter do sensor para uma melhor precisão...

sendo uma máquina com vários motores electricos, comandos, contactos, etc., não será mesmo melhor o uso da leitura em corrente em vez da leitura em tensão?

cumps