AFE de înaltă precizie pentru procesarea semnalelor de la senzori, configurabil cu microcontroler

by donpedro

Figura 1: Placa de evaluare NJU9103

Cu ajutorul dispozitivului NJU9103, NJRC a dezvoltat un nou AFE (Analog Front-End – circuit de condiționare a semnalelor analogice) cu PGA (Programmable Gain Amplifier) integrat, care poate fi utilizat pentru a procesa semnale digitale cu un câștig de G-512. Prin combinarea NJU9103 cu un microcontroler STM32F429 de la STMicroelectronics, poate fi creat relativ ieftin și ușor un sistem de procesare a semnalelor provenite de la senzori. Sistemul funcționează mai mult ca un osciloscop, dar poate oferi informații suplimentare, la rezoluția, precizia și viteza de variaţie a semnalului de ieşire (slew rate) oferite de NJU9103.

NJU9103 este ideal pentru procesarea semnalelor provenite de la senzori, fiind capabil să ofere atât o plajă largă de măsurare, cât și dimensiuni foarte compacte (numai 8-pini). Acesta dispune, de asemenea, de un convertor ΔΣ A/D pe 16-biți cu viteze de eșantionare de la 0.814ksps la 6.51ksps, cu o intrare diferențială și, opțional, o intrare pseudo-diferențială. Printr-o interfață SPI, parametrii pot fi reglați cu ușurință cu ajutorul unui microcontroler. Analiza și sinteza semnalului se pot face destul de ușor cu ajutorul plăcilor de evaluare corespunzătoare AFE-ului și microcontrolerului plus alte câteva dispozitive pasive.

Figura 2: Interfața grafică NJU9103 GUI

Kitul de evaluare al circuitului NJU9103 de la NJRC a fost original proiectat pentru un kit de dezvoltare STM32 NUCLEO-F411RE. Datorită lipsei plăcii GUI NUCLEO pentru citirea interfeței Arduino (aceasta a fost în mod deliberat omisă pentru a simplifica sistemul de măsurare), este nevoie de un PC pentru a afișa rezultatele măsurate. Pentru a permite o demonstrație centrată pe utilizator, a fost utilizată placa STM32F429 Discovery.

Figura 3: NJU9103 cu STM32F429

Generarea semnalului sinusoidal

În această configurație, STM32F429 generează un semnal PWM care este conectat la intrarea diferențială a NJU9103 printr-un filtru trece-jos cu un singur pol și un divizor de tensiune. Măsurătorile digitale sunt apoi trimise către microcontroler (MCU) printr-o interfață SPI și afișate pe ecran. Combinația plăcilor demo – conținând PGA, ADC, switch analogic și DAC de calibrare – demonstrează performanțele circuitului AFE în termeni de rezoluție, precizie, câștig și viteză.

Configurarea microcontrolerului

Figura 4: Diagrama bloc a procesului

Microcontrolerul este configurat utilizând software-ul STM32CubeMX, în vreme ce AFE-ul este programat cu ajutorul Keil MDK (Microcontroller Development Kit) sau Atollic TrueSTUDIO. Comenzile și datele pot fi transmise prin SPI-BUS.

ST oferă software-ul necesar acestei aplicații pe website-ul său (www.st.com). Rutronik recomandă, de asemenea, ca dezvoltatorii să utilizeze pachetele suportate de această placă.

Comunicația cu NJU9103 rulează prin SPI1. Temporizatorul TIM3 generează semnal PWM, în vreme ce TIM4 declanșează întreruperea pentru afișarea pe ecran a valorilor măsurate.

Figura 5: Configurarea ceasului prin software STM32CubeMX

Pentru a genera un semnal PWM precis, numărătoarele și prescaler-ele din TIM3 trebuie să fie definite și stabilite dinainte. Ieșirea este configurată de tip pull-up. Frecvența TIM3 este configurată utilizând semnalul de ceas APB1 (Advanced Peripheral Bus – magistrală periferică avansată). Trebuie menționat că doar interfața APB1 are frecvența maximă de ceas disponibilă pentru temporizatorul TIM3.

Figura 6: Matrice PWM

Figura: 7: Inițializare

Pentru a sintetiza semnalul sinusoidal, semnalul PWM (factor de umplere) trebuie generat într-o matrice. Pentru a filtra sau netezi semnalul PWM, este utilizat un filtru trece – jos de ordin 1 (1kOhm//1µF) cu o valoare de 3dB la 1kHz. Divizorul ohmic de tensiune poate fi selectat în AFE în funcție de nivelele de câștig selectate în PGA. Un semnal sinusoidal este apoi trimis către ieșire. Ar trebui observat că nu trebuie depășită tensiunea de alimentare maximă de 1V la nivelul intrării diferențiale din AFE.

Figura 8: Semnal PWM la ieșirea din MCU

Programarea NJU9103

Odată ce placa demonstrativă a fost configurată prin CubeMX, interfața SPI și display-ul sunt inițializate (pachetul de suport al plăcii oferă numeroase funcții utile pentru a facilita operarea).

Figura 9: Funcții BSP

Atunci când sunt configurate registrele AFE-ului prin interfața SPI, dezvoltatorii trebuie să țină cont de un punct important din datele tehnice și anume că doar biții de la 4 la 7 pot fi definiți pentru adresele corespunzătoare ale regiștrilor, spre deosebire de întregul octet, așa cum ar fi cazul, în general. Regiștrii pot fi inițializați după cum este descris în datele tehnice. Temporizatorul TIM4 este utilizat pentru a stabili frecvența de eșantionare pentru convertorul ADC. Conform teoremei Nyquist, frecvența de eșantionare este dependentă de frecvența semnalului ce trebuie măsurat. Semnalul sinusoidal poate fi vizualizat cu ajutorul unui display conectat.

Combinația celor două plăci demonstrative din această configurație reprezintă o platformă ideală pentru a demonstra performanța noului AFE de la NJRC. Această construcție arată, de asemenea, diversele oportunități oferite pentru procesarea semnalelor de la senzori într-o gamă largă de aplicații.


Autor:
Qi Zhang, Inginer Suport Tehnic
Rutronik Elektronische Bauelemente GmbH


Rutronik 
| https://www.rutronik.com

 

 

Bibliografie

[1]        Date tehnice “Analog Front End with High Gain PGA”, de New Japan Radio Co. Ltd. (Version 0.6.) https://www.njr.com
[2]        Date tehnice “STM32F427xx STM32F429xx”, de STMicroelectronics. (iulie 2016). http://st.com
[3]        Notă de aplicație “LCD-TFT display controller (LTDC) on STM32 MCUs”, de STMicroelectronics. (Februarie 2017). http://www.st.com

S-ar putea să vă placă și