Generatore di segnale a onda quadra con
Frequenza e Duty Cycle regolabile

ultimo aggiornamento 14 ottobre 2018


JLCPCB - 2$ per prototipi di PCB, di qualsiasi colore. Produzione in 24 ore!
L'Azienda di prototipi PCB più popolare, con oltre 700.000 clienti in tutto il mondo!
Sorridi a tutto il mondo qualunque cosa accada!

 

Indice

Descrizione

Il modulo illustrato in questa pagina è un generatore di segnale a onda quadra con Frequenza e Duty Cycle regolabile che può essere utilizzato per esempio come:

Il modulo di piccole dimensioni 63x36 mm circa, ha nella parte frontale 4 pulsanti per la regolazione dei valori della frequenta generata, compresa tra 6Hz-100KHz e del Duty Cycle compreso nel range 1-99%, i valori sono riportati su due display a 7 segmenti 3 cifre.
La tensione di alimentazione può essere fornita nel range 3.3-20V, mentre l'uscita è assicurata da un transistor con una corrente di pilotaggio massima di  può 100 mA.

 

Il generatore è venduto dalla ICstation.com con codice 12192 ( Digital Square Wave Pulse Signal Generator Adjustable PWM Frequency PWM Module Stepping Motor Driver Board 6Hz-100KHz).
Il costo si aggira sui 5€

 

 

Specifiche tecniche

homotix

 

Foto del modulo

Dimensioni del PCB

Descrizione dei componenti visibili sul modulo

Cuore del circuito è un MicroController prodotto dalla STC, si tratta di un modello 8 bit tipo STC15W204s, un'unità di elaborazione centrale 8051 avanzata, 1T, single clock, campo di tensione operativa: 5,5 V ~ 2,4 V. Dispone di una memoria di programma FLASH on-chip che può essere cancellata ripetutamente più di 100 mila volte.  A lato del MicroController è visibile la porta che dovrebbe permettere la gestione del modulo da remoto, sono visibili i pin dei segnali: +3.3/5V, GND, TXD, RXD.

 

 

Altre caratteristiche del MicroController  nella tabella sotto riportata.

 

 

A lato del MicroController è presente il chip TM1637 nella versione SOP a 20 pin, si tratta di un controller per LED e tastiera, con le seguenti caratteristiche:

L'interfaccia verso il microcontroller è seriale a due fili, dati e clock (chiamati DIO e CLK). Per altre informazioni vedere questa pagina

 

 

  Label Nome Pin Descrizione
DIO Data I/O 17 Ingresso/uscita dati.
In scrittura il dato è trasferito con CLK a livello alto
Ogni trasferimento genera un ACK all'ottavo clock
CLK Ingresso clock 18 Clock della comunicazione (rising edge)
K1-K2 Input scan tastiera 19-20 Ingresso dei pin dati dalla tastiera. Pull-down interni da 10k
SG1-SG8 Uscite (segmenti) 2-9 Uscita di comando dei segmenti (open drain)
GRID6-GRID1 Uscite (digit) 10-15 Uscite anodo comune digit (P channel open drain)
VDD alimentazione 16 alimentazione +
GND comune 1 massa comune

 

la tensione in ingresso al circuito è possibile nel range compreso tra 3.3 e 20 V , mentre la tensione massima di funzionamento del microcontroller è di 5,5V, per la regolazione della tensione, sul modulo è presente un regolatore HT7550-1 0.1A 5V Low Dropout Voltage Regulator Ldo SOT-89

 

 

Sulla parte frontale del modulo, per la visualizzazione della Frequenza e del Duty cycle sono utilizzati due display a 7 segmenti Tipo-3631BS, questi sono pilotati dall'integrato TM1637, le caratteristiche display utilizzato sono :

 

Per la variazione dei valori di Frequenza e del Duty cycle sono presenti 4 tasti, anche in questo caso la gestione è affidata all'integrato TM1637

 

 

L'uscita del segnale PWM è fornita tramite un transistor S8050 in versione SOT 23, marcato J3Y, a lato sono visibili anche due diodi schottky marcati S4

 

 

Transistor NPN S8050 SOT23
Piedinatura Datasheet Foto del transistor

 

Per gestire la rotazione di un servo motore, è necessario applicare un segnale impulsivo o PWM (Pulse Wave Modulation) le cui caratteristiche sono "quasi" univoche per qualsiasi servomotore disponibile in commercio. Per essere sicuri di riuscire a pilotare qualsiasi servomotore il nostro circuito di pilotaggio dovrà essere in grado di trasmettere al servomotore circa 50 impulsi positivi al secondo (uno ogni 20 ms equivalenti a 50Hz ) di durata variabile, in un intervallo massimo compreso tra 0.25ms e 2.75ms.
In questo caso si parla di Duty Cycle (d): esso rappresenta il rapporto, espresso in percentuale, tra la durata della semionda positiva (τ) e il periodo (T) del segnale.
Facciamo un esempio, quando il fronte positivo dura 1ms, essendo il periodo di 20ms, il duty cycle varrà:

Possiamo quindi dire che un servocomando va pilotato mediante un segnale modulato in PWM alla frequenza di 50Hz, con un duty cycle compreso tra 5% (1ms) e 10% (2ms).
Con un duty cycle del 5% (quindi: impulso di 1mSec), il servo si ruoterà tutto da un lato (45° a destra), con un duty cycle dal 10% (impulso di 2ms), il servo si ruoterà tutto dall’altro lato (45° a sinistra). Il servo raggiungerà quindi la posizione centrale con un impulso di 1,5ms
I servo che hanno un’escursione di 180° ruoteranno di 90° a destra con un impulso di 0,5ms e 90° a sinistra con un impulso da 2,5ms.
In pratica possiamo dire che c’è una rotazione di 45° ogni 0,5ms.
Il rapporto esatto tra la rotazione del perno e la larghezza dell'impulso fornito può variare tra i vari modelli di servomotore.
Se il servo è del tipo a rotazione continua, il variare del duty cycle, ne varia la velocità e il senso di rotazione.

Diagramma temporizzazione per posizionamento al centro

Diagramma temporizzazione per rotazione antioraria

Diagramma temporizzazione per rotazione oraria

Utilizzo del modulo

L'utilizzo del modulo è molto semplice, per il test si è utilizzato un servo digitale FR5311M impostato per la rotazione continua.

Occorre prima di tutto collegare la fonte di alimentazione, che deve essere di tipo continuo, nel nostro caso pari a 6V, collegando sia il pin del modulo utilizzando i pin DC+ e GND, al servomotore. Si collega poi l'uscita del modulo utilizzando il pin PWM.

Ora utilizzando i tasti si imposterà la frequenza sul valore di 50 Hz, si ricordi che se sul display relativo alla frequenza non c'è un punto decimale la frequenza è in Hz mentre se è visualizzato il punto decimale, il valore è espresso in kHz.

Ora si varierà il valore del duty cycle , utilizzando i relativi tasti, essendo i servo impostato per la rotazione continua, la variazione del valore del duty cycle si concretizzerà in variazioni di velocità e senso di rotazione.

Schema di collegamento

 

 

Caratteristiche del servo digitale FR5311M

Il servo digitale FR5311M dal costo di circa 19$ presso http://www.robotshop.com è un servomotore molto versatile per micro robot, permette due modalità di funzionamento (modalità servo e modalità di rotazione a 360 gradi), la tensione di funzionamento è compresa tra i 4.8V-8.4V, gli ingranaggi interni sono in metallo

Velocità : (7.4V) 0.11 sec / 60 °, (6V) 0,13 sec / 60 °, (4.8V) 0.15 sec / 60 °,
Coppia : (7.4V)13,8 kg-cm , (6V) 12,5 kg-cm, (4.8V): 10kg-cm
Larghezza della banda morta: 2 us
Lunghezza del filo: 30cm

 

 
Elenco revisioni:

14/10/2018

Emissione preliminare