Entrar    Registrar

Probleminha no ADC do STM32F

Software e Hardware para uC STM

Moderadores: aluis-rcastro, 51

  • Autor
    Mensagem

Re: Probleminha no ADC do STM32F

Mensagempor Guri » 22 Fev 2019 03:18

Pessoal,

Acabei me debruçando sobre o manual do stm m0, e notei que lá tem o caminho completo para manipular todos os módulos, inclusive o ADC, óbvio.

Bom, eu entendi que o ADC do STM em questão, é temperamental, foi essa a conclusão que cheguei nesse momento.

Lá no manual, percebi que há grande ênfase ao método de realizar a conversão AD, com base em "amostragem"...Bom eu não cheguei a implementar a técnica, isso porque na minha aplicação, necessito usufruir de toda a velocidade possível e se utilizar essa técnica, vai dar um embolada no meio de campo...

Bom consegui resolver o problema, ou melhor contorna-lo. Eu Reduzi a resolução do AD para 6 bits, sendo que segundo o manual, podemos alterar entre 12, 10, 8 e 6 bits, inclusive justificar a esquerda ou direita...achei legal isso.

Usei resolução de 6 bits e utilizei meu filtro para estabilizar a leitura, que agora ficou mais estável após baixar para os 6 bits...Como no meu caso estou usando para controlar o fluxo de audio do meu synth polifonico...

Eu sou agradecido a ajuda de todos vocês, fiquei muito feliz pela grande atenção.

Em breve postarei os resultados desse projeto no youtube e aviso...
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 226
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Re: Probleminha no ADC do STM32F

Mensagempor Guri » 22 Fev 2019 03:26

Então foi exatamente essa a conclusão, como não necessito de precisão, diminui ao máximo 6bits, depois apliquei o filtro que já uso a muitos anos nos PICS e ficou super estável a bagaça...ufa

Sim eletroinfo, eu fui bater lá na porta do brochura do stm... :lol:

Eis aí o que eu fiz: O código é para mikroc for arm.

Código: Selecionar todos
// Config ADC ------------------------------------------
   ADC_Set_Input_Channel(_ADC_CHANNEL_5);               // ADin Vibrato Depht
   ADC1_Init();
   ADC_CFGR1.Res0=1;  // Configura modo 6 bits
   ADC_CFGR1.Res1=1;
   ADC_CFGR1.ALIGN=0; // Justificação a Direita 0 ~ 5
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 226
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Re: Probleminha no ADC do STM32F

Mensagempor cfreund » 22 Fev 2019 06:38

Guri escreveu:Lá no manual, percebi que há grande ênfase ao método de realizar a conversão AD, com base em "amostragem"...Bom eu não cheguei a implementar a técnica, isso porque na minha aplicação, necessito usufruir de toda a velocidade possível e se utilizar essa técnica, vai dar um embolada no meio de campo...


Use interrupções ou DMA.
Cláudio F
Avatar do usuário
cfreund
Word
 
Mensagens: 502
Registrado em: 14 Out 2006 14:02
Localização: São Paulo

Re: Probleminha no ADC do STM32F

Mensagempor pamv » 22 Fev 2019 09:16

Se você baixou de 12 bits (4095) para seis bits (64) e ainda tem problema de ruído então o problema não está no ADC na minha opinião. Eu tenho uma placa ST Nucleo STM32F072 e vou tentar reproduzir o seu programa usando o compilador do MBED pra ver no que dá.

Eu digo isso porque na STM32F407 que eu tenho leituras no ADC(1) em circuito aberto flutuam em torno de (12 e 6 bits)
1168 18
1136 17
1153 18
1120 17
1117 17
1148 17
1170 18
1139 17
1161 18
1128 17
1145 17
1161 18
1129 17
1143 17
1172 18
1147 17
1169 18
Em termos de leds em 6 bits só os dois leds LSB flutuariam e os outros 4 ficariam parados, em 12 bits você ficaria com cerca de 4 leds LSB variando e o resto fixo.
Será que a sua fonte está dando conta dos 12 leds sem flutuar a tensão no potênciômetro? Como você ligou os LEDs, o GPI conecta eles à GND ou os alimenta?
pamv
Word
 
Mensagens: 694
Registrado em: 20 Jun 2016 21:47

Re: Probleminha no ADC do STM32F

Mensagempor pamv » 22 Fev 2019 09:43

Guri escreveu:Segue as conecções para o ADC.

Eu estou tendo erros de compilação...diz que o trecho do código contém erros de declaração. Desculpe minha ignorância, não consigo ver onde estou errando.

Outra informação, estou declarando essa lib: #include <built_in.h>

Obrigado

Sem título-1.jpg


Eu não consegui ver a conexão do ADC na figura, você disse que era atraves de um potenciômetro.
pamv
Word
 
Mensagens: 694
Registrado em: 20 Jun 2016 21:47

Re: Probleminha no ADC do STM32F

Mensagempor dreher » 22 Fev 2019 11:14

Pois é, eu tambem estou estranhando, uso muito os STM32F030 e STM32F051, inclusive medindo temperaturas com NTCs e nunca tive problemas assim
dreher
Byte
 
Mensagens: 453
Registrado em: 12 Out 2006 11:10
Localização: Blumenau - SC

Re: Probleminha no ADC do STM32F

Mensagempor Guri » 22 Fev 2019 12:14

Então, eu também estou estranhando muito, mas só fazendo uma ressalva, no modo 6bits a conversão fica normal, como era de se esperar, com variações de 1 bit, isso é devido ao mecanismo do potenciômetro.

Porém se eu aumentar para 8 bit a varição é maior, chega a pular aleatoriamente 3 bits...agora se usar 12bits, parece uma arvore de natal piscando, isso é o bits menos significativos.

Eu montei um circuito com um pic877a, usei a mesma fonte e os mesmo leds polarizados com 1k..., ligados ao gnd.

com conversão em 10 bits, a variação é muito pequena, 1 ou 2 bits oscilam, dentro do normal...

Estou usando uma fonte comum com 7805, bem regulada e filtrada, com separação de terras gnd e gnda, indutores para EMI...essa fonte utilizo em produtos comerciais desde 1990...a fonte esta OK.

Bom, eu fiz um teste: Eu estava usando um potenciômetro de 10k, sendo o TAP ligado direto no PA5 como entrada AD canal 5, as outras extremidades ligadas ao Gnda e ao 5v. Com resolução de 8 bits, fiz um teste da seguinte forma.

Retirei o potenciômetro do circuito e liguei a entrada do AD5 diretamente em um divisor de tensão feito com resistores de 5k6. Para minha surpresa o defeito se assim posso dizer continuou! :(

A variação é brutal em 12bits, é algo fora do normal...

Eu fazer um video para vocês verem a bagunça,

Agora mesmo estou montando meu relógio big com pic877a, lendo um lm35, funciona redondo...mas se eu ligar no mesmo circuito o stm051, a coisa desanda...Eu estou curioso para saber onde eu estou errando.

Com certeza o erro é meu, pois um chip desse nível, não teria um bug tão mesquinho desses...

Obrigado mais uma vez pelo apoio, tenho certeza que esse mistério desvendado, vai ajudar a muitos colegas no forum.
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 226
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Re: Probleminha no ADC do STM32F

Mensagempor cfreund » 22 Fev 2019 12:34

5v?

Bom, sempre vai ter alguma variação. O que está acontecendo é que vc está observando de forma errada. Para realmente quantificar isso, configure a serial e imprima as leituras.

Oscilar 3 leds n quer dizer nada. Abra a sua calculadora no modo binário e veja quantos LEDs apagariam se a leitura variar entre 511 e 512.
Cláudio F
Avatar do usuário
cfreund
Word
 
Mensagens: 502
Registrado em: 14 Out 2006 14:02
Localização: São Paulo

Re: Probleminha no ADC do STM32F

Mensagempor Guri » 04 Abr 2019 22:08

Caro Palm,

Você conseguiu fazer o teste com o ADC do stm?

Eu fiz uma placa especial para um novo trabalho com o 051, estou para receber e vou testar novamente o ADC.

Pois realmente no Discovery da ST, o bicho oscila barbaridades...

EU estou batendo nesse tecla, pois não consigo aceitar esse problema e até o momento não achei uma solução...Depois que ví em outro post que o STm 103 tem bug na i2c em um de seus modos...não duvido de mais nada.

Só para constar, eu tenho visto em algumas aplicações os caras fazendo amostragens para tirar a média...e eu não quero fazer isso, acho muito dispendioso esse processo.
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 226
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Re: Probleminha no ADC do STM32F

Mensagempor pamv » 04 Abr 2019 22:19

Eu fiz e não tive problema (fora um cabo com Osmar Contato) , posso repetir no final de semana
pamv
Word
 
Mensagens: 694
Registrado em: 20 Jun 2016 21:47

Re: Probleminha no ADC do STM32F

Mensagempor Guri » 04 Abr 2019 22:51

Você pode postar a rotina que usou?

A propósito, você usou a tensão de referencia em 3,3v ou 5v?

Semana que vem chega minha plaquinha e vou testar nela e volto com os resultados...

Obrigado
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 226
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Re: Probleminha no ADC do STM32F

Mensagempor pamv » 05 Abr 2019 18:03

Guri escreveu:Você pode postar a rotina que usou?

A propósito, você usou a tensão de referencia em 3,3v ou 5v?

Semana que vem chega minha plaquinha e vou testar nela e volto com os resultados...

Obrigado


Eu uso o pino de 3.3V (já dá fundo de escala) daquela placa F4 e a rotina é bem simples um loop em micropython usando o adc.read() (https://docs.micropython.org/en/latest/ ... b.ADC.html)
pamv
Word
 
Mensagens: 694
Registrado em: 20 Jun 2016 21:47

Re: Probleminha no ADC do STM32F

Mensagempor Guri » 05 Abr 2019 21:05

Obrigado palm

Você esta usando um F4...hummm

EU estou usando um F0...051...

Como eu tenho uma Discovery F4, vou testar nela, não tinha em passado pela cabeça fazer isso. Derepente por também haver um bug no AD do 051...assim como houve no 103 na i2c...é só uma suposição.

Mas só vou ficar em Paz a hora que eu descobrir onde esta o erro, com certeza esta em algum lugar e vou achar...

A variação é bruscamente alta, andei analisando com calma e notei que chega a variar de forma brusca e aleatória mais de 6 bits em resoluções mais altas...
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 226
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Re: Probleminha no ADC do STM32F

Mensagempor pamv » 06 Abr 2019 13:16

Sim, eu disse que ia testar com o f072rbt mas no fim fiz primeiro com o f4 e tomei uma surra até descobrir que um dos cabinhos Dupont tava com defeito, torquei e funcionou.
Então fazer com o f072, mas acredito que não mude o resultado. Essa placa núcleo foi a minha primeira "mbed enabled" e eu testei com compilador do MBED com o adc entre outros exemplos quando ela chegou (é uma NUCLEO F072RB que tem o ST Link "quebravel")

https://os.mbed.com/platforms/ST-Nucleo-F072RB/
pamv
Word
 
Mensagens: 694
Registrado em: 20 Jun 2016 21:47

Re: Probleminha no ADC do STM32F

Mensagempor Guri » 06 Abr 2019 17:37

Depois de ler seu posto

Verifiquei na minha bagunça, que também tenho um 072 discovery da antiga...

Vou rodar a rotina nela e ver o que acontece...vou rodar com 8 bits de adc, depois posto o resultado.

Obrigado
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 226
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Anterior

Voltar para STMicroelectronics

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante