Comando stepper con XIAO SAMD21 e A4988

Vediamo in questo articolo come azionare un motore passo-passo o stepper utilizzando la Demo board XIAO METER su cui è installato un XIAO SAMD21 della Seeed Studio.
La variazione della velocità sarà data dalla rotazione di un potenziometro collegato alla porta Analogica del XIAO SAMD21.
La gestione del motore è realizzata attraverso una piccola board su cui è presente un driver per motori passo-passo tipo A4988.

Stepper XIAO SAMD21

La demo board XIAO METER

La Demo board XIAO METER utilizzata in questo articolo, è una scheda autoprodotta che permette di testare facilmente un elevato numero di sensori. Si può fare tramite l’utilizzo di un XIAO SAMD21 della SEEED STUDIO che è il membro più piccolo della famiglia Seeeduino.
Il modulo misura solamente 20×17.5×3.5mm e dispone di un microprocessore Cortex-M0, 11 porte di I/O, connessioni seriali UART, I2C ed SPI. È compatibile con l’IDE di Arduino.

BMP180 demo board XIAO samd21Sotto le caratteristiche della Demo board XIAO METER.

DescrizioneValore
Tensione di esercizioBatteria al litio da 5 V / 3,7 V
Corrente di carica1A (massimo)
DisplayOLED da 0,96" 128×64 pixel - driver SSD1306
Porte I2C2
Porte digitali1
Porte analogiche1
Altre apparecchiature esternepulsante utente
Modulo alimentatore /caricabatteriaLX-LCBS
Dimensioni48.96 x 49.53 mm

Il modulo Seeed Studio XIAO SAMD21

Il modulo Seeed Studio XIAO SAMD21 è perfettamente compatibile con Arduino IDE. Questo permette di sviluppare facilmente piccoli progetti con l’aiuto della vasta e completa libreria Arduino.
Ecco le sue principali caratteristiche:

DescrizioneValore
ProcessoreCPU ARM Cortex-M0+ (SAMD21G18) fino a 48 MHz
Memoria flash256KB
Sram32KB
Pin I/O11 PIN analogici (10 o 12 bit), 11 PIN digitali, 1 pin di uscita DAC
Interfaccia I2C1
Interfaccia SPI1
Interfaccia UART1
LED1 LED utente, 1 LED di alimentazione, due LED per il download della porta seriale
Porta alimentazione e interfaccia di downloadTipo-C
Alimentazione3,3 V/5 V CC
Dimensioni20 × 17,5 × 3,5 mm
Compatibilità softwareCompatibile con Arduino IDE

Seeed Studio XIAO SAMD21

Maggiori informazioni nell’articolo Seeed Studio XIAO SAMD21 – Presentazione

Realizzazione del PCB con PCBWay

Il PCB è stato disegnato con il programma online EasyEDA, mentre è stato realizzato tramite il servizio offerto dal sito PCBWay

Sito online per creazioni schemi e PCB  Sito produzione PCB

Dove trovare il progetto

Il progetto completo può essere scaricato dal mio account presso OSHWLabutilizzando questo link.

Per realizzare il PCB si può anche utilizzare il mio progetto presente sulla piattaforma di condivisione offerta dalla PCBWay, ecco in link.

demo board XIAO METER

Per maggiori informazioni relative alla costruzione della Demo Board vedere l’articolo Demo board XIAO METER per XIAO SAMD21 – Progetto completo

Come aggiungere Seeed Studio XIAO SAMD21 all’Arduino IDE

I primi passi per il comando Stepper con XIAO SAMD21 saranno quelli di configurare il sistema.
Dovremo aggiungere, se non l’abbiamo già fatto, all’IDE, la possibilità di gestire il modulo XIAO SAMD1.  Vediamo come.

Il modulo Seeed Studio XIAO SAMD21 può essere programmato attraverso l’IDE di Arduino,  basta aggiungere la scheda tra quelle riconosciute.
Cominceremo accedendo alla voce di menù File > Impostazioni, e aggiungeremo alla sezione URL aggiuntive per il Gestore schede, il seguente URL :

https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

Seeed Studio XIAO SAMD21

Ora cliccheremo su Strumenti-> Scheda-> Gestore di schede…, e inseriremo la keyword “Seeeduino xiao” nella casella di ricerca. Comparirà la voce “Seeed SAMD Boards“, che dovrà essere installata.

Seeed Studio XIAO SAMD21

Seeed Studio XIAO SAMD21

Passeremo ora alla selezione della scheda. Per cui  cliccheremo su Strumenti-> Scheda, e sotto la sezione Seeed SAMD Boards selezioneremo il modello Seeduino XIAO.


Si potrà ora selezionare la porta seriale della scheda prescelta dal menù Strumenti-> Porte seriali.

Per maggiori informazioni vedere l’articolo Seeed Studio XIAO SAMD21 – Presentazione

Collegamento dello Stepper allo XIAO SAMD21

Collegamenti con Demo Board XIAO METER per SAMD21

Se avremo realizzato la Demo Board XIAO METER per SAMD21 , quello sotto è lo schema dei collegamenti

Stepper XIAO SAMD21

Stepper XIAO SAMD21

Stepper XIAO SAMD21

Collegamenti con bread board

Nel caso non aveste realizzato la Demo Board è sempre possibile realizzare il circuito utilizzando una bread board.

Stepper XIAO SAMD21

Componenti necessari

I componenti utilizzati sono:

Bread Board

Scheda XIAO SAMD21

Board con driver A4988

Motore Passo-Passo/stepper
Potenziometro 10kΩ Convertitore DC/DC Step-down

cavi colorati di collegamento

Modulo caricabatteria LX-LCBST  (opzionale)

Per l’alimentazione si è utilizzato un modulo convertitore DC/DC Step-down basato sul chip MP2307, in questa applicazione è stato regolato per fornire una tensione di 10V.
Il modulo Caricabatteria LX-LCBST e la batteria potranno essere omessi in quanto il modulo XIAO SAMD21 può essere alimentato direttamente tramite il connettore USB.

Descrizione dei principali componenti

Board con driver A4988

Sotto è riportata la foto del modulo su cui è istallato il driver A4988.
Ai lati sono presenti il pin-strip/connettori per il collegamento alla scheda di controllo, al motore, e alla fonte di alimentazione.
Ulteriori informazioni nell’articolo Board per driver A4988-DRV8825
Stepper XIAO SAMD21

Specifiche tecniche

  • Tensione di alimentazione logica: 3,3 V – 5 V
  • Tensione di alimentazione motore passo-passo: fino a 30 V
  • Dimensioni: 43  x 35 mm
  • Peso: 9 grammi

Modulo A4988

Lo stepper motor driver tipo A4988 permette di comandare un motore passo-passo  tramite la scheda scheda Arduino o altri microcontrollori.
La scheda, disponibile a seconda dei lotti con circuito stampato ROSSO o VERDE, necessita di alimentazione di 5Vdc per la logica e una tensione da 8 e 35Vdc per il motore.
L’uscita può pilotare motori fino a 2A con dissipatore o ventilazione e gestisce il pilotaggio di stepper in micropasso.

Stepper motor driver A4988

Il micro passo (passo intero, 1/2, 1/4, 1/8 o 1/16 di passo) è impostabile tramite gli appositi ingressi siglati “MS1-MS2-MS3” ( consultare il datasheet del Chip).
E’ possibile la regolazione della corrente di uscita tramite un potenziometro a vite. È dotata di shutdown termico a temperatura eccessiva e blocco sotto tensione.
La scheda  misura: 20×15 mm, per un peso di soli 4 gr.
Per altre informazioni vedere l’articolo Stepper motor driver A4988 – Esempio applicativo

Motore stepper

Il motore Stepper utilizzato per il test con lo XIAO SAMD21, è il modello 42STH38-1684B di tipo bipolare.
Potrà comunque essere utilizzato qualsiasi altro motore stepper.

Potenziometro

Il  potenziometro utilizzato è montato sul modulo codice KS0014 prodotto da Keyestudio.
La sua tensione può essere suddivisa tramite una porta AD in 1024 valori digitali.

Specifiche tecniche

  • Tensione di alimentazione: da 3,3 V a 5 V
  • Interfaccia: Analogica
Convertitore DC/DC Step-down

Questo convertitore DC/DC step-down è in grado di convertire una tensione continua d’ingresso compresa tra 5 e 23 volt, in una tensione continua di uscita da 0 a 16,5 volt, con una corrente massima di 2 A (3 A di picco). L’integrato utilizzato è il tipo MP2307.
Maggiori informazioni nell’articolo MP2307 Convertitore DC-DC Step-Down regolabile 

Specifiche tecniche

Tipo convertitore: DC-DC Step Down - MP2307
Tensione di ingresso: 5 ~ 23V (consigliata max 20V)
Tensione d'uscita:0V ~ 16.5V (regolabile in continuo)
Corrente di picco: 3A
Dimensioni della scheda50mm x 30mm x 12mm (LxWxH)
Dimensioni del display37.5mm x 17.0mm (LxW)
Tipo displaySTN con retroilluminazione
Precisione LCD: 0.01
Efficienza di conversione:0.95
Regolazione del carico S (I): <= 0,8%
Regolazione di tensione S (U): <= 0,8%

LX-LCBST Carica batteria Li-ion con Step-Up Boost 4-28 V

Piccolo carica batteria, riporta la sigla LX-LCBST, con Step-Up Boost regolabile. Il modulo è adatto per batterie agli ioni di litio Li-Ion 3,7V a singola cella ed è dotato di chip di protezione.
Sul modulo è presente un chip Step up con uscita regolabile tramite trimmer per erogare una tensione continua compresa tra 4  e 28V.
Maggiori informazioni nell’articolo LX-LCBST Carica batteria Li-ion con Step-Up Boost 4-28 V

Sketch utilizzato

Nel test dello Stepper con XIAO SAMD21 utilizzeremo un potenziometro che servirà per variare la sua velocità di rotazione.
Il senso di rotazione è fisso, viene impostato ponendo il pin 5 a livello HIGH per  senso orario, o a livello LOW per senso antiorario.
Il valore della velocità è ottenuto modificando il valore della pausa ottenuto nella routine  speedUp(). Si utilizza il valore digitale fornito dalla porta analogica digitale A0, gestito dal comando map con la seguente sintassi

map(variabile,daMin,daMax,aMin,aMax)

La funzione map richiede in input i seguenti parametri:

  • variabile – il numero da mappare
  • daMin- il limite inferiore dell’intervallo corrente del valore. Nel nostro caso 0
  • daMax,- il limite superiore dell’intervallo corrente del valore. Nel nostro caso 1023
  • aMin – il limite inferiore dell’intervallo di destinazione del valore.
    Nel nostro caso il valore minimo degli step 300
  • aMax – il limite superiore dell’intervallo di destinazione del valore.
    Nel nostro caso il valore massimo degli step 5000

 

Dove trovare il materiale utilizzato

Seeed Studio XIAO SAMD21.

Il Seeed Studio XIAO SAMD21 può essere acquistato presso:

Board per driver A4988-DRV8825

La Board per driver A4988-DRV8825 può essere acquistata presso il sito di Futura elettronica codice 2846-DRIVERBOARD. Il suo costo al momento della pubblicazione di questo articolo è di 4 €.

Il modulo A4988

Il driver A4988 può essere acquistato presso:

Convertitore DC/DC Step-down

Il Convertitore DC/DC Step-down può essere acquistato presso il sito FUTURA ELETTRONICA, il codice prodotto è 2846-DCDISPAVDOWN.

Altri esempi di utilizzo della Demo Board XIAO METER

Sotto potete trovare altri test effettuati con la Demo Board XIAO METER per SAMD21

Valore della temperatura ambiente letto dal sensore BMP180

Valori di  pressione, temperatura, umidità, VOC letti dal sensore BME680

BME680 demo board XIAO samd21

Prossimamente

demo board XIAO METER

Gestione ingressi/uscite digitali, gestione led tramite pulsante

demo board XIAO METER

Lettura valore tensione tramite ingresso analogico