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!
Recati presso la JLCPCB, riceverai regali e coupon gratuiti
presso Maker Faire Rome il 18-20 ottobre


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

OurPCB, your most reliable PCB and PCBA supplier.

Focusing on PCB Prototype and PCB Assembly Turnkey Services.

One-Stop Wire Harness & Cable Assemblies Solution

 

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