Generatore di segnale a
onda quadra con ultimo aggiornamento 14 ottobre 2018 |
|
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:
Sorgente d'onda quadra per il test di strumenti
Controllo di motori passo-passo
Controllo rotazione servomotori
Controllo PWM per luminosità di LED
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). |
Modello: YYPWM-1
Gamma di frequenza: 6Hz-100KHz regolabile
Range Duty Cycle : 1-99% regolabile
Tensione di alimentazione: DC 3.3-20V
Ampiezza del segnale PWM = tensione in ingresso
Dimensioni 63x36 mm
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:
controlla fino a 8 segmenti x 6 digit
luminosità regolabile
auto blanking
scansione di 2 x 8 contatti in ingresso
interfaccia sincrona a due fili, dati + clock
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 :
Tipo: Anodo comune
Colore emesso Super Red
Peak Wavelength (nm) 660
Vf (v) Typ 1.8
If (mA) 20
Intensity Per Segment (mcd) min. 10
Intensity Per Segment (mcd) typ. 13
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 |
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.
|
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 |