Elettronica - Progetti

 
 

Modulo XY-LPWM. 


Un moduletto PWM multiuso.

E' comodo avere a disposizione un generatore in cui si possa modificare sia la frequenza che il duty cycle, magari con display e controllo digitale.

Certamente è possibile realizzarne quanti se ne desiderano partendo da uno dei tanti microcontroller disponibili, però la cosa richiede tempo e, non ultimo, ha un costo maggiore di quello che il mercato dei moduli rende disponibile.

In particolare parliamo del modulo marcato XY-LPWM.

 Si tratta di un modulo di piccole dimensioni ( 52mm x 32mm) che svolge le funzioni di generatore PWM con frequenza regolabile da 1Hz a 100kHz e duty cycle da 0 a 100%.

Il modulo è alimentabile esternamente con tensioni da 3 a 30V, tensione che corrisponde anche a quella dell'impulso in uscita e può fornire fino a 30mA.

La regolazione della frequenza e del duty è effettuata con due coppie di pulsanti.

Il modulo con tiene diversi componenti, saldati sul lato opposto a quello del display:

Il cuore del sistema è un microcontroller Holtek N76E003AT20 o STM8S003F3P6 che comanda un LCD driver HT1621 e il relativo pannello LCD custom, retroilluminato. L'alimentazione è ottenuta con un regolatore lineare a tre terminali che rende in uscita 3.3V ed arriva a supportare fino a 30V in ingresso (anche se questo è un dato limite di targa a cui non è il caso di avvicinarsi troppo).

Il connettore J3 serve ad accedere ai pin di programmazione del microcontroller

La regolazione del PWM e della frequenza è ottenuta con 4 pulsanti che incrementano o decrementano i relativi campi.

Il modulo è dotato di una presa RS232 a livello 3.3V per interfacciarsi con un micro host o con un adattatore seriale per un controllo remoto dei parametri.

Il segnale in uscita è ottenuto dal collettore di un transistor NPN che ha come pull-up una resistenza da 1k collegata alla alimentazione del modulo; si può quindi prelevare un impulso di pari ampiezza con una corrente di alcuni milliampere (dichiarati dal costruttore 30mA massimo).

Il funzionamento dei comandi è semplice:

  • i pulsanti FREQ+ e FREQ- servono ad aumentare e diminuire la frequenza del segnale. Premendoli brevemente la variazione è di una unità; tenendoli premuti più a lungo, l'aumento o la riduzione sono veloci.
     
  • Altrettanto per il duty cycle, che può variare da 0% (segnale in uscita a massa) al 100% (segnale sempre positivo) con incrementi dell'1% con i pulsanti DUTY+ e DUTY-

La lettura della frequenza e del duty avviene sul display.
Date le dimensioni minime e le poche cifre presenti, la lettura della frequenza è un poco complessa; la posizione del punto decimale indica la gamma:

  • Se il display presenta xxx, il valore è in hertz. La variazione possibile è 1Hz
    Ad esempio, nelle foto sotto, 100 indica 100Hz e il duty è al 50%.
  • Se il display presenta x.xx il valore è in kHz, con una variazione minima di 10Hz
    Ad esempio 1.00 indica 1kHz
     
  • se il display presenta xx.x il valore è in decine di kHz, con una variazione minima di 100Hz
    Ad esempio, nella foto sopra, 33.6 indica 33.6kHz e il duty al 68%
     
  • se il display presenta xxx. il valore è in centinaia di kHz, con un massimo di 150kHz.
    Ad esempio 100. indica 100kHz

Il passaggio da una gamma all' altra è automatico. Il costruttore dichiara una precisione entro il 2%. 

Il display indica la scritta OUT quando il modulo funziona normalmente e SET quando si sta operando una variazione dei parametri. Tutti i parametri selezionati sono salvati quando l'alimentazione è sospesa e ripresi quando il modulo viene nuovamente alimentato.

E' possibile comandare il modulo da remoto con un collegamento seriale RS232. Un connettore rende accessibili i segnali TXD, RXD e il GND per il collegamento diretto con un microcontroller (livello logico 3V), ma si può collegare una interfaccia TTL/RS232 per la comunicazione con un PC.

La comunicazione è il classico 9600, n, 8, 1. Il connettore è costituito da 3 fori metallizzati, in cui è possibile saldare il solito connettore a spine.
Il pin RXD è quello di ricezione del segnale dalla linea, il pin TXD quello di trasmissione dal modulo alla linea

Il "protocollo" è semplice:

  • L'host può inviare un comando per modificare la frequenza
    Ad esempio "F100" seleziona 100Hz
                      "F1.00" seleziona 1000Hz
                      "F10.0" seleziona 10kHz
                      "F100." seleziona 100kHz
    Come per la regolazione con i pulsanti, occorre qualche ciclo del microcontroller perchè la frequenza sia variata. 
  • L'host può inviare un comando per modificare il duty
    Ad esempio "D050" seleziona il 50%
     
    In ogni caso, si ottiene dal modulo un messaggio di risposta "DOWN" se l'operazione ha avuto successo" "FAIL" se non è riuscita (ad esempio perchè il comando inviato è errato).
  • l'host può inviare una stringa "read" ed ottenere in risposta la situazione della frequenza e del duty

L'alimentazione è accessibile su quattro fori in cui si può saldare direttamente i cavetti o, meglio, delle spine per facilitare le connessioni. Un diodi evita danni al micro e al controller LCD  (ma non all'uscita !) in caso di inversione della polarità. 
ATTENZIONE: ci sono due coppie di fori VIN+/VIN-, ma sono in parallelo.

Anche l'uscita è accessibile con 4 fori.
ATTENZIONE: ci sono due coppie di fori PWM/GND, ma sono in parallelo, dato che il segnale in uscita è singolo e non doppio.

Il modulo è fissabile meccanicamente con 4 viti M2 inseribili nei fori agli angoli.


I test.

Innanzitutto, è necessario notare come in questi moduli (e, in generale, in tutte le realizzazioni cinesi simili, è opportuno aggiungere elettrolitici sull'alimentazione: i condensatori presenti sono il minimo per la stabilità. Però, quando la richiesta di corrente è alta, non sono sufficienti. Le prove sono state effettuate con un 100uF in parallelo all'alimentazione.

Per quanto riguarda la frequenza, si nota dallo schema che il microcontroller lavora con l'oscillatore interno e non con un quarzo; ne deriva che la precisione da attendersi sarà quella di questo oscillatore, che tipicamente è entro l'1-2%; il costruttore dichiara un errore massimo del 2%: non si tratta di un campione di frequenza, ma di un circuito funzionale a basso costo.

50Hz - 10% 1kHz - 80%
100kHz - 50% 150kHz - 50%

In effetti, la frequenza misurata dall'oscilloscopio (Tektronik) è risultata entro quanto previsto; in alcuni pezzi provati si è verificata migliore dello 0.3%, il che non è male per un oggetto così economico.


Modifche?

L'unica modifica necessaria è l'aggiunta di un elettrolitico da 100uF in parallelo all'alimentazione VIN.

Il consumo a vuoto del modulo è 18-19mA. Se, per qualche ragione, è necessario ridurre questo valore, si potrà sostituire la resistenza R4, che limita la corrente nei LED della retro illuminazione, che è da 33ohm, con una da 36-43ohm (SMD size 0805).


Conclusioni.

Si tratta di un modulo che ha un rapporto prezzo/prestazioni notevole e che non ha dato particolari problemi. I costi minori sono per le spedizioni dalla Cina, con tempi di trasporto abbastanza lunghi, ma pagando un po' di più si trova anche in Europa in tempi brevi.

Se avete una applicazione in cui utilizzarlo, è da considerare una scelta più che ragionevole. In ogni caso, è un modulo abbastanza flessibile da avere nel cassetto dove occorra prontamente avere a pronta disposizione un piccolo generatore di PWM digitale.

Potrà essere usato come:

  • generatore di onde quadre per ogni genere di sperimentazioni.
  • generatore di PWM per controllare dimmer o variatori su motori, lampade, resistenze
  • generare impulsi per conteggio o timing verso una MCU
  • generare impulsi per comando di step motor
  • testare servocomandi per modellismo

e tanto altro

In particolare, la possibilità di ricevere comandi attraverso una connessione seriale permette di inserirlo in realizzazioni più complesse.

Il modulo è stato utilizzato anche per realizzare un generatore PWM di potenza.


 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 25/11/18.