Modulo di acquisizione dati ADS1256 24 bit con STM32F103C8T6
zoom_out_map
chevron_left chevron_right

Le immagini dei prodotti sono solo a scopo informativo e potrebbero presentare piccole differenze, a seconda del lotto e del fornitore. Le specifiche e i prezzi dei prodotti potrebbero essere soggetti a modifiche senza preavviso. Facciamo del nostro meglio per aggiungere specifiche quanto più precise e corrette possibili alla pagina del prodotto, ma è possibile che non siano del tutto corrette. Se identifichi un caso del genere, ti preghiamo di segnalarcelo.

Il prodotto è destinato agli specialisti e richiede personale qualificato e autorizzato. Il prodotto non include istruzioni di montaggio/uso . La messa in funzione del prodotto da parte di persone non qualificate comporta la perdita della garanzia secondo i Termini e Condizioni presenti sul sito.

Le specifiche tecniche indicate (corrente, potenza, ecc.) rappresentano valori massimi consentiti in condizioni ideali di funzionamento. Per un utilizzo sicuro e una durata ottimale, si raccomanda di utilizzare il prodotto in regime continuo a non più del 50% dei valori massimi specificati.

Nuovo

Modulo di acquisizione dati ADS1256 a 24 bit con STM32F103C8T6, 8 canali, RS232, UART

Soluzione compatta per misurazioni di precisione di segnali analogici deboli provenienti da sensori, celle di carico o ponti Wheatstone, con ADC ADS1256 a 24 bit, fino a 30 kSPS e PGA 1-64 per l'amplificazione, 8 canali configurabili in modo semplice o differenziale, trasmissione rapida dei dati tramite RS232 DB9 o UART verso PC, PLC o schede di sviluppo, riferimento stabile integrato da 2,5 V.

15.572,22 Ft Tasse incluse

12.869,60 Ft Tasse escluse

Non ci sono ancora recensioni

Spedito entro giovedì 22 ottobre

Acquistando questo prodotto guadagni 778,61 Ft in punti fedeltà.

Garanzia: 24 mesi per le persone fisiche
SPEDIZIONE INTERNAZIONALE
Spedizione veloce gratuita per ordini superiori a 100EUR nella maggior parte de paesi UE.
SPEDIZIONE VELOCE 24 ORE
Spediamo dal nostro magazzino entro 24 ore
PUNTI FEDELTÀ
Ricevi punti a ogni ordine, per un valore del 5%.

Il modulo di acquisizione dati ad alta precisione combina sulla stessa scheda il convertitore analogico-digitale ADS1256 e il microcontrollore STM32F103C8T6, offrendo una soluzione completa per la lettura di segnali analogici deboli provenienti da sensori, celle di carico, termocoppie, ponti Wheatstone o sorgenti di tensione di precisione. I dati convertiti vengono trasmessi a un computer o a un'altra scheda di sviluppo tramite RS232 o UART, rendendo il modulo adatto ad applicazioni di laboratorio, monitoraggio industriale, pesatura, test e progetti di misura di precisione.

Il convertitore ADS1256 è di tipo delta-sigma a 24 bit, con una frequenza di campionamento fino a 30 kSPS e un amplificatore a guadagno programmabile (PGA) integrato, regolabile tra 1 e 64, che amplifica i segnali a basso livello prima della conversione. Il convertitore è pilotato da un cristallo dedicato da 7,68 MHz, mentre la sorgente di riferimento da 2,5 V montata sulla scheda garantisce la stabilità delle misurazioni. La scheda mette a disposizione 8 canali di ingresso analogico, contrassegnati I0 - I7, ciascuno con accanto un pin di massa G, utilizzabili come ingressi singoli o configurabili fino a 4 coppie differenziali. Il filtro d'ingresso dispone di footprint 0603 per resistori di attenuazione (non montati di default), tramite i quali è possibile realizzare partitori per la misura di tensioni più elevate.

Il microcontrollore STM32F103C8T6 gestisce il convertitore e la comunicazione con l'esterno. Tra le caratteristiche principali figurano il connettore DB9 per RS232 realizzato con il circuito MAX3232, il connettore UART (TX, RX, G) per adattatori USB-TTL, l'interfaccia JTAG a 20 pin compatibile con J-Link V8 e J-Link V9, due header con i pin GPIO dello STM32 (P8 e P9), pulsante di reset, jumper BOOT0 e BOOT1 per la selezione della modalità di avvio, LED di alimentazione e un potenziometro di test che può essere collegato tramite jumper all'ingresso I0 per una rapida verifica del funzionamento. L'alimentazione avviene a 6 - 9 VDC tramite il morsetto a vite oppure direttamente a 5 VDC tramite i pin +5V e GND.

Tramite l'interfaccia UART, il modulo è compatibile con Arduino, ESP32, STM32, Raspberry Pi e altre piattaforme dotate di porta seriale, mentre tramite RS232 può essere collegato direttamente a computer, PLC e apparecchiature industriali con porta seriale classica.

 

Specifiche:

Chip ADC: ADS1256

Microcontrollore: STM32F103C8T6

Tipo di convertitore: Delta-sigma

Risoluzione: 24 bit

Canali di ingresso analogico: 8 singoli (I0 - I7) o 4 differenziali

Amplificatore: PGA integrato, guadagno 1 - 64

Frequenza di campionamento: fino a 30 kSPS

Clock ADC: Cristallo da 7,68 MHz

Tensione di riferimento: 2,5 V

Tensione di alimentazione: 6 - 9 VDC (morsetto P1) oppure 5 VDC (pin +5V / GND)

Interfacce di comunicazione: RS232 (DB9, MAX3232), UART (TX / RX / G)

Programmazione / debug: JTAG a 20 pin (J-Link V8 / V9), bootloader UART

Controllo di avvio: Jumper BOOT0 e BOOT1, pulsante Reset

Extra: Potenziometro di test su I0, LED di alimentazione, footprint 0603 per attenuazione

Dimensioni: 59 x 87 mm

 

Layout:

1. Morsetto di alimentazione: ingresso di alimentazione con tensione compresa tra 6 e 9 VDC.

2. Ingresso di alimentazione 5 V

3. Pin GPIO STM32F103C8T6

4. Microcontrollore principale: STM32F103C8T6 originale.

5. Sorgente di riferimento 2,5 V

6. Potenziometro regolabile: consente la regolazione della tensione di uscita, collegata all'ingresso AIN0 / I0

7. Ingressi analogici a 8 canali: i canali I0-I7 sono utilizzati per l'acquisizione dei segnali analogici. Il pin G rappresenta la massa (GND) per i segnali analogici.

8. Filtro di ingresso e resistori di attenuazione: circuito destinato al filtraggio e all'attenuazione del segnale di ingresso. Nella configurazione predefinita, i resistori di attenuazione non sono montati. Il footprint dei componenti è di tipo 0603.

9. Circuito di acquisizione ADS1256IDB: convertitore analogico-digitale (ADC) ad alta precisione, componente originale

10. LED indicatore

11. Interfaccia JTAG: compatibile con i programmatori e debugger J-Link V8 e J-Link V9

12. Fori di montaggio

13. Pulsante RESET STM32F103C8T6: pulsante per il reset del microcontrollore

14. Interfaccia USB-TTL: connettore per comunicazione seriale con il computer, che offre accesso ai segnali TX, RX e GND del microcontrollore

15. Circuito seriale MAX3232: circuito integrato per comunicazione seriale RS-232

16. Connettore seriale DB9: connettore per l'interfaccia seriale

17. Controllo del collegamento del potenziometro a I0 / AIN0: consente di collegare o scollegare la tensione fornita dal potenziometro regolabile all'ingresso I0 / AIN0. Quando il collegamento è interrotto, il pin I0 rimane scollegato, mentre quando è collegato, I0 misura la tensione regolata dal potenziometro.

18. Jumper BOOT0 e BOOT1 per STM32: consentono di selezionare la modalità di avvio (boot) del microcontrollore STM32

 

Pinout:

Connettore Pin Funzione
Terminale di alimentazione P1 + Alimentazione 6–9 VDC
Terminale di alimentazione P1 − GND
Header di alimentazione J2 +5V Alimentazione diretta 5 VDC
Header di alimentazione J2 GND Massa
Ingressi analogici P5 I0 Canale analogico 0 (AIN0, può essere collegato al potenziometro)
Ingressi analogici P5 I1–I7 Canali analogici 1–7 (AIN1–AIN7)
Ingressi analogici P5 G Massa del segnale (un pin G accanto a ciascun canale)
UART P4 (USB-TTL) TX Trasmissione dati STM32 (verso RX dell'adattatore)
UART P4 (USB-TTL) RX Ricezione dati STM32 (verso TX dell'adattatore)
UART P4 (USB-TTL) G Massa
J1 DB9 − RS232 tramite MAX3232
J3 Jumper − Collegamento del potenziometro R15 a I0
P8/P9 − Pin GPIO STM32F103C8T6
JTAG 20 pin Programmazione/debug con J-Link V8/V9

 

BOOT0 BOOT1 Modalità di avvio STM32
0 X Esecuzione del programma dalla memoria Flash (funzionamento normale)
1 0 Bootloader di sistema (programmazione tramite UART)
1 1 Avvio da SRAM

 

Utilizzo:

Collegate i segnali da misurare agli ingressi I0 - I7, con la massa di ciascun segnale al pin G adiacente al canale, mentre per misure differenziali utilizzate coppie di canali (ad esempio I0 - I1).

Non applicate agli ingressi analogici tensioni negative rispetto a G o superiori a 5 V; per tensioni più elevate montate resistori di attenuazione nei footprint 0603 dedicati.

Per un test rapido, montate il jumper J3 per collegare il potenziometro R15 a I0 e ruotate il potenziometro per osservare la variazione del valore letto.

Rimuovete il jumper J3 quando utilizzate l'ingresso I0 per un segnale esterno.

Alimentate la scheda a 6 - 9 VDC tramite il terminale P1 oppure a 5 VDC tramite i pin +5V e GND di J2, rispettando la polarità e utilizzando una sola sorgente di alimentazione; il LED di alimentazione si accenderà.

Collegate la scheda al computer tramite il connettore DB9 con un cavo RS232 oppure tramite il connettore P4 con un adattatore USB-TTL a 3,3 V (TX scheda a RX adattatore, RX scheda a TX adattatore, G a GND).

Per il collegamento ad Arduino, ESP32 o altre schede, utilizzate il connettore P4 con massa comune; per schede con logica a 5 V è consigliato un convertitore di livello logico.

Per il funzionamento normale, lasciate BOOT0 su 0 e premete il pulsante RESET.

Per caricare un firmware personalizzato tramite UART, impostate BOOT0 su 1 e BOOT1 su 0, premete RESET, programmate il microcontrollore con STM32CubeProgrammer, quindi riportate BOOT0 su 0 e resettate la scheda.

In alternativa, programmazione e debug possono essere eseguiti tramite l'interfaccia JTAG con un programmatore J-Link V8 o V9.

Per risultati stabili, utilizzate cavi corti e schermati per i segnali deboli ed evitate fonti di disturbo nelle vicinanze della scheda.

 

Diagramma dimensionale:

88274
Microcontrollore
STM32F103C8T6
Interfaccia di comunicazione
RS232, UART
Numero di canali
8
Risoluzione ADC
24 bit

Produs destinat utilizarii in proiecte electronice, automatizari, prototipare, educatie si cercetare.

Produsul trebuie utilizat numai conform specificatiilor tehnice mentionate in descriere si/sau in documentatia produsului.

Avertismente generale de siguranta:

Nu utilizati produsul la tensiuni, curenti sau temperaturi peste valorile specificate.

Montajul si conectarea trebuie realizate de persoane cu cunostinte tehnice minime in domeniul electric/electronic.

Evitati scurtcircuitele, inversarea polaritatii si conectarea gresita a alimentarii.

Nu lasati produsul alimentat nesupravegheat in timpul testelor.

Produsul nu este jucarie si nu este destinat copiilor.

Pentru modulele electronice, se recomanda utilizarea in carcase, panouri sau montaje protejate, dupa caz.

Identificare produs:

Denumirea produsului, codul/SKU-ul si caracteristicile tehnice sunt mentionate in pagina produsului si/sau pe eticheta ambalajului.

Producator / Importator / Distribuitor:

Sigmanortec S.R.L.

Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania

E-mail: [email protected]

Website: www.sigmanortec.ro

Persoana responsabila in UE:

Sigmanortec S.R.L.

Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania

E-mail: [email protected]

Documentatie si siguranta:

Pentru informatii suplimentare, fise tehnice, declaratii de conformitate sau instructiuni, ne puteti contacta la [email protected].

/*
  ADS1256 + STM32F103C8T6 data acquisition module
  First bring-up test, no extra parts required to run it, only to see its output

  Board: the module itself (STM32F103C8T6, Blue Pill style MCU)
  Programmed with Arduino IDE after installing the "STM32 cores by
  STMicroelectronics" package from the Boards Manager
  Board selection: "Generic STM32F1 series", Board part number: "BluePill F103C8"
  Upload method: "STM32CubeProgrammer (Serial)"

  Before uploading:
  set jumper BOOT0 = 1 and BOOT1 = 0, press the RESET button, then upload
  After uploading:
  set jumper BOOT0 back to 0 and press RESET again to run this program

  Wiring needed only to see the output, connect to a 3.3V USB-TTL adapter
  or to a host board such as Arduino Uno:
  P4 TX (module) -> RX of the adapter or host
  P4 RX (module) -> TX of the adapter or host
  P4 G  (module) -> GND of the adapter or host

  No external library is used, only the built in Serial1 object, which on
  this chip uses USART1 on pins PA9 (TX) and PA10 (RX), the same UART used
  by the factory UART bootloader described in the product page
*/

unsigned long counter = 0;

void setup() {
  Serial1.begin(9600);
  Serial1.println("ADS1256 module - firmware test");
  Serial1.println("Waiting for your own ADS1256 driver code");
}

void loop() {
  counter = counter + 1;
  Serial1.print("Counter: ");
  Serial1.println(counter);
  delay(1000);
}

Il modulo combina sulla stessa scheda il convertitore analogico-digitale a 24 bit ADS1256 e il microcontrollore STM32F103C8T6. È pensato come punto di partenza per progetti personali di acquisizione dati di precisione, pesatura, monitoraggio industriale o misure di laboratorio. A differenza di un modulo già programmato, questa scheda porta all'esterno tutte le risorse del microcontrollore, così potete scrivere il vostro programma per leggere l'ADS1256 e inviare i risultati a un computer o a un'altra scheda.

In questo tutorial eseguiamo la prima messa in funzione del modulo e verifichiamo la catena di programmazione tramite il bootloader UART e il collegamento seriale verso un Arduino Uno usato come monitor, prima di passare alla scrittura del driver personalizzato per l'ADS1256.

Modulo di acquisizione dati ADS1256 a 24 bit con STM32F103C8T6, 8 canali, RS232, UART

Come funziona:

L'ADS1256 è un convertitore delta-sigma a 24 bit con amplificatore a guadagno programmabile (PGA) integrato, con guadagno regolabile da 1 a 64. Con il clock del quarzo dedicato da 7.68 MHz montato sulla scheda, il convertitore può fornire fino a 30 kSPS. Il risultato di ogni conversione è un codice a 24 bit in complemento a due, e la tensione misurata si ottiene dalla formula Tensione = Codice x Tensione_riferimento / (Guadagno x 2^23). Con il riferimento da 2.5 V presente sulla scheda e guadagno 1, un passo (LSB) equivale a circa 0.3 uV, mentre con guadagno 64 il passo scende a circa 0.0047 uV. Per questo i guadagni elevati sono utili per segnali molto deboli, ma richiedono anche cavi corti e un'alimentazione pulita.

Il microcontrollore STM32F103C8T6 legge l'ADS1256 tramite il proprio bus interno e invia i risultati via UART al connettore P4 (TX, RX, G) oppure, attraverso il circuito MAX3232, al connettore DB9 per RS232. La scheda porta all'esterno tutte le porte di ingresso e uscita del microcontrollore, comprese le barre P8 e P9, proprio perché l'utente possa scrivere e caricare il proprio firmware di acquisizione. La scheda è pensata come base di sviluppo e non come strumento con un programma fisso del produttore.

Cosa ti serve:

Collegamento:

I segnali UART del modulo (P4: TX, RX, G) lavorano a logica 3.3 V, ma i pin USART1 dello STM32F103 sono tolleranti a 5 V, quindi possono essere collegati direttamente ad Arduino Uno senza convertitore di livello. Il modulo si può alimentare separatamente a 6 - 9 VDC tramite il morsetto P1, oppure direttamente a 5 VDC tramite i pin J2. In questo caso potete usare l'uscita 5V di Arduino Uno, a condizione di non alimentare contemporaneamente anche tramite P1.

Pin del prodotto Pin Arduino Uno Funzione
J2 +5V 5V Alimentazione a 5 VDC del modulo
J2 GND GND Massa comune
P4 TX D2 Dati dal modulo verso Arduino (RX software)
P4 RX D3 Dati da Arduino verso il modulo (TX software)
P4 G GND Massa del segnale UART

Collegamento del modulo ADS1256 STM32F103C8T6 ad Arduino Uno

Librerie:

Il codice su Arduino Uno usa solo la libreria SoftwareSerial, inclusa di default in Arduino IDE, senza bisogno di installazioni separate. Il firmware caricato sullo STM32F103C8T6 non usa nessuna libreria esterna, solo l'oggetto Serial1 messo a disposizione dal pacchetto di schede STM32 per Arduino IDE.

Il codice:

Caricate prima il firmware di test sul modulo, poi il programma qui sotto su Arduino Uno, per vedere sul monitor seriale i messaggi inviati dal modulo.

/*
  Arduino Uno - serial monitor bridge for the
  ADS1256 + STM32F103C8T6 data acquisition module
  Wiring:
  Module P4 TX  -> Arduino Uno pin D2 (SoftwareSerial RX)
  Module P4 RX  -> Arduino Uno pin D3 (SoftwareSerial TX)
  Module P4 G   -> Arduino Uno GND
  Module J2 +5V -> Arduino Uno 5V
  Module J2 GND -> Arduino Uno GND
  Library used: SoftwareSerial, bundled with the Arduino IDE,
  no separate installation needed
*/
#include <SoftwareSerial.h>
const int MODULE_RX_PIN = 2;
const int MODULE_TX_PIN = 3;
const long MODULE_BAUD = 9600;
SoftwareSerial moduleSerial(MODULE_RX_PIN, MODULE_TX_PIN);
void setup() {
  Serial.begin(9600);
  moduleSerial.begin(MODULE_BAUD);
  Serial.println("Listening to the ADS1256 module...");
}
void loop() {
  if (moduleSerial.available()) {
    char c = moduleSerial.read();
    Serial.write(c);
  }
}

Come funziona il codice:

Il firmware dello STM32F103C8T6 inizializza Serial1, cioè USART1 sui pin PA9 e PA10, esattamente l'interfaccia usata anche dal bootloader UART della scheda. Poi invia un messaggio di avvio e, nel ciclo loop, incrementa la variabile counter e la invia ogni secondo con Serial1.println. Questo firmware non legge ancora l'ADS1256, serve solo a verificare la programmazione e il collegamento seriale, prima di aggiungere il vostro codice di acquisizione.

Su Arduino Uno, l'oggetto moduleSerial, di tipo SoftwareSerial, è definito sui pin MODULE_RX_PIN e MODULE_TX_PIN e inizializzato alla velocità MODULE_BAUD. Nella funzione loop, ogni volta che moduleSerial.available() indica l'arrivo di un carattere, questo viene letto con moduleSerial.read() e inviato subito al computer con Serial.write(c). In questo modo il monitor seriale di Arduino IDE mostra esattamente ciò che invia il modulo.

Risultato:

Aprite il monitor seriale di Arduino IDE a 9600 baud, sulla porta COM di Arduino Uno. Dopo il reset del modulo dovreste vedere il messaggio di avvio seguito dal valore counter che aumenta di secondo in secondo.

Listening to the ADS1256 module...
ADS1256 module - firmware test
Waiting for your own ADS1256 driver code
Counter: 1
Counter: 2
Counter: 3
Counter: 4
Counter: 5
Counter: 6

Problemi frequenti:

Sul monitor seriale non appare nulla: verificate di aver incrociato correttamente i fili, cioè che P4 TX del modulo vada a D2 e non a D3, e che la velocità in Serial1.begin, in moduleSerial.begin e nel monitor seriale sia la stessa, 9600 baud.

STM32CubeProgrammer non rileva la scheda durante il caricamento del firmware: assicuratevi che i jumper siano BOOT0 su 1 e BOOT1 su 0 e di aver premuto il pulsante RESET dopo aver cambiato i jumper, prima di iniziare la connessione nel programma.

Dopo la programmazione la scheda sembra bloccata e non invia più nulla: molto probabilmente BOOT0 è rimasto su 1, quindi la scheda si avvia ancora nel bootloader. Riportate il jumper BOOT0 su 0 e premete di nuovo RESET per eseguire il programma caricato.

I caratteri sul monitor seriale sono confusi o illeggibili: la causa è quasi sempre una differenza di baud rate tra le due parti, quindi controllate tutti e tre i punti in cui si imposta la velocità.

Il LED di alimentazione non si accende e la scheda sembra morta: verificate la polarità sul morsetto P1 o sui pin J2 e usate una sola fonte di alimentazione alla volta, mai P1 e J2 contemporaneamente.

Perdete caratteri o il testo arriva troncato anche se le velocità sembrano corrette: SoftwareSerial su Arduino Uno non è stabile a velocità elevate, mantenete il collegamento a 9600 baud per ottenere risultati costanti.

Limiti e consigli:

Questo test convalida l'alimentazione, la programmazione tramite bootloader UART e il collegamento seriale, ma non la lettura effettiva dell'ADS1256. Per quella dovrete scrivere un driver personalizzato seguendo i comandi del datasheet dell'ADS1256 (RREG, WREG, SELFCAL, RDATA), perché il collegamento interno tra STM32F103C8T6 e ADS1256 è fissato dal produttore sulla scheda e non è accessibile dall'esterno.

Tenete presente che aumentare il guadagno del PGA migliora la risoluzione ma riduce il campo di ingresso e aumenta la sensibilità al rumore. Inoltre, aumentare la frequenza di campionamento riduce il tempo di media di ogni conversione, quindi per segnali molto deboli (termocoppie, ponti di Wheatstone) scegliete un guadagno elevato insieme a una frequenza di campionamento più bassa.

Per misure stabili usate cavi corti e schermati tra il sensore e gli ingressi I0 - I7, tenete il modulo lontano da fonti di disturbo elettromagnetico come relè, motori o alimentatori switching. Con guadagni elevati fate attenzione che la massa del segnale sia in comune con la massa di alimentazione.

Potrebbe anche piacerti