Capire il duty cycle

La guida definitiva al Duty Cycle

Uno dei primi esperimenti che feci quando iniziai a studiare elettronica, fu pilotare un piccolo motorino dc. Presto capii che abbassando la tensione di alimentazione, per far diminuire la velocità del motore, portava anche a una perdita di potenza del motore stesso, dovuta ad un conseguente calo di corrente.
Dopo vari studi imparai che, per tenere il motore sempre con una certa forza a diverse velocità, non bisognava abbassare il valore di tensione, ma pilotare il motore con un segnale ad onda quadra e variare il duty cycle dello stesso.
Il duty cycle è il rapporto che c’è tra il segnale positivo e il periodo totale del segnale ad onda quadra ed è espresso in percentuale. Un duty cycle del 100% equivale ad un segnale Alto continuo, uno del 0% equivale ad un segnale Basso continuo mentre un duty cycle del 50% significa che il segnale Alto dura quanto quello Basso.

Onda quadra e duty cycle

per calcolarlo basta eseguire questa semplice formula


dove Livello Alto è il valore di tempo della durata del segnale positivo mentre Periodo è il tempo relativo al periodo del segnale ad onda quadra.
Possiamo fare un semplice esempio:

Supponendo che il livello alto duri 10ms e il periodo del segnale ad onda quadra sia di 20ms, potremmo calcolare che il duty cycle sia del 50%, infatti 10ms / 20ms = 0.5 che moltiplicato per 100 da 50(%).

Nel caso in cui invece il tempo del livello alto sia di 2ms e il periodo del segnale di 20ms otterremo un duty cycle del 10%

Duty Cycle 10%

Mentre se il tempo del livello alto è di 18ms e il periodo del segnale di 20ms otterremo un duty cycle del 90%.

Duty Cycle 90%

Questa caratteristica è stata implementata sia nel Netduino che nell’Arduino e la capacità di variare il duty cycle viene comunemente detta PWM (Pulse Width Modulation). Per generare un segnale ad onda quadra con duty cycle variabile bisogna configurare alcuni pin dedicati del Netduino/Arduino ed usare delle semplici funzioni.

Netduino far lampeggiare un led

Netduino usare il led onboard

Il primo programma che possiamo creare, per iniziare a sperimentare con Netduino, è il classico esempio che permette di far lampeggiare il led di sistema, posto sulla scheda del dispositivo.
Questo programma è ormai un classico che si può trovare un po da per tutto in internet, ma nonostante ciò, anche io volevo proporvelo.

Dopo aver avviato Visual C# e creato un nuovo progetto, apriamo il file Program.cs e all’interno del blocco Main() inseriamo le seguenti righe di codice.

 

queste istruzioni accendono e spengono il led ad una frequenza di mezzo secondo.
l’istruzione :

 

crea un oggetto che viene usato per controllare il led onboard; il costruttore della classe OutputPort richiede l’identificativo del pin e il relativo stato iniziale. Pins.ONBOARD_LED appunto, è il led fisico posto sul dispositivo e false indica lo stato iniziale, ovvero spento.

Il cico while è infinito ed esegue ciclicamente queste istruzioni:

 

la funzione write() dell’oggetto non fa altro che accendere o spegnere il led a seconda del valore booleano passato come parametro.
Thread.Sleep() serve per creare un ritardo tra le istruzioni Write() per creare l’effetto intermittente, il valore passato è espresso in millisecondi.

Non ci resta che avviare il debug per eseguire la compilazione e il caricamento dell’eseguibile nel Netduino.
Il dispositivo deve essere collegato al pc tramite porta usb e Visual c# deve essere configurato per interaggire con il Netduino piuttosto che con l’emulatore.

Caratteristiche Netduino

Netduino permette di realizzare circuiti diversi in poco tempo

Netduino caratteristiche della scheda

Netduino caratteristiche:

Vediamo quali sono le caratteristiche hardware di Netduino.

  • Processore e Memoria

Il cuore della scheda è il microcontrollore Atmel a 32bit ( AT91SAM7X512) che opera ad una frequenza di 48MHz. Ha una ram da 60KB e una memoria per ospitare il codice, pari a 128KB.

  • Ingressi ed uscite

La scheda propone 20 pin totali di cui 14 digitali (Logica TTL) che possono essere programmati via software, sia come ingressi sia come uscite e 6 ingressi per l’acquisizione di segnali analogici. I pin digitali possono anche esporre delle funzioni supplementari come il PWM, la comunicazione seriale (UART), quella SPI e I2C.

  • Pulsante e led onboard

La scheda dispone di un led e di un pulsante che possono essere utilizzati dal nostro programma. Normalmente il pulsante onboard è utilizzato per il reset del Netduino.

  • Alimentazione

Netduino richiede una tensione di alimentazione esterna che può variare da 7.5Vdc a 12Vdc oppure può utilizzare l’alimentazione proveniente dalla porta USB.
La scheda è in grado di fornire tramite alcuni pin una tensione di 5Vdc ed una di 3.3Vdc.
La massima corrente per pin è di 8mA.

  • Requisiti di sistema

In ambiente windows:

Windows XP, Vista o 7 (32bit o 64bit)
Pc con processore da 1.6GHz o superiore (Necessario per Visual C#)
Minimo 1GB di Ram (Necessario per Visual C#)
Almeno 3Gb di spazio sull’hard disk (Necessario per Visual C#)

Mac OS

Virtual Box o Parallels per far girare Windows su macchina virtuale

Linux

Mono, progetto open source per il porting del .Net Framework su Linux

  • Dimensione fisiche della scheda

Altezza ~15 mm
Lunghezza ~70 mm
Profondità ~65 mm

Il costo contenuto della scheda di aggira intorno ai 30€ questo permette di iniziare a sperimentare con un piccolo investimento iniziale anche perché, per le funzioni base, sono necessari solo pochi componenti di contorno.

Netduino, .Net micro Framework e Visual C#

Il .Net micro framework è il cuore del Netduino vediamo come configurare l’ambiente

Ora che abbiamo il nostro mini laboratorio per creare i prototipi e il software sul pc è installato correttamente possiamo avviare il primo progetto per verificare se tutto funziona e se il .net micro framework è correttamente attivo e funzionante sul Netduino.

Per prima cosa colleghiamo il Netduino al pc e verifichiamo che il led pwr sulla scheda sia acceso.
Ora avviamo Visual C# 2010 Express e creiamo un nuovo progetto:

net micro framework

la finestra Nuovo Progetto mostra tutti i tipi di soluzioni che possiamo generare con la nostra copia di Visual C# 2010 Express. Cliccando sulla voce Visual C# potremmo vedere la sottovoce Micro Framework, clicchiamo su di essa per visualizzare i vari tipi di progetto che possiamo creare. Se l’installazione dell’ sdk di Netduino è stata eseguita correttamente, in questo box ci sarà una voce dal nome Netduino Application

Selezioniamo la voce come mostrato in figura, diamo un nome alla nostra soluzione compilando la casella di testo Nome e clicchiamo sul pulsante OK per dar modo a Visual C# di impostare l’ambiente per lo sviluppo con Netduino e con il .Net micro framework.

visual studio net micro framework Continua a leggere

Tutorial Netduino come iniziare lo sviluppo

Tutorial Netduino

Configurare la nostra postazione per lo sviluppo con Netduino è molto semplice. Per scrivere il nostro codice C# dobbiamo procuraci Microsoft Visual Studio, se non disponiamo della versione completa dell’ambiente di sviluppo, possiamo scaricare la versione gratuita Express, per uso non commerciale, disponibile a questo indirizzo, http://www.microsoft.com/express/Downloads/#2010-Visual-CS. Cliccate sulla voce Visual C# 2010 Express, selezionate la lingua che preferite per avviare il download.
Visual C# 2010 Express installerà anche il .Net Framework 4.0 e relativi componenti.

Visual C# è ora funzionante per 30 giorni. Per eliminare questa limitazione bisogna effettuare la registrazione del prodotto. Andate nel menu ? e cliccate sulla voce Registra prodotto, seguite le istruzioni per ottenere un codice seriale che renderà attiva la vostra copia di Visual C# 2010 Express.

Il passo successivo è l’installazione del .Net Micro-Framework versione 4.1.

Scaricate ed installate l’SDK per Netduino, giunto alla versione 4.1.
In questo modo Visual Studio 2010 è pronto per scrivere e compilare programmi che verranno caricati sulla scheda Netduino. L’SDK installa anche i driver della scheda.

Sul sito web Netduino a questo indirizzo http://netduino.com/downloads/ potete trovare tutti i link aggiornati per scaricare il software necessario allo sviluppo.

Ora possiamo collegare il nostro Netduino al pc. Colleghiamo la scheda al pc tramite il cavo usb – micro usb, Windows installerà i driver del dispositivo.
Netduino viene alimentato dalla porta usb e il led pwr sulla scheda verrà acceso.

Prototipazione. Allestire la scrivania.

Sistemare il proprio spazio di lavoro in modo ottimale

Per iniziare a lavorare con Netduino o Arduino dobbiamo allestirci un piccolo spazio dove effettuare i nostri esperimenti. Sviluppare dei prototipi consente di capire il funzionamento del circuito elettronico e per da la possibilità di testare il software scritto per il dispositivo. Fortunatamente non abbiamo bisogno di spendere cifre elevate. Personalmente per i miei esperimenti uso:

  • Una breadboard per prototipazione(circa 5€)
  • Un semplice alimentatore universale multispina (circa 10€)
  • Cofanetto di fili già spelati per breadboard (circa 5€)
  • Componenti elettronici (Resistenze, diodi Led, buzzer …) (circa 10€)
  • una scheda Netduino standard (circa 35€)
  • Cavo usb-micro usb per il collegamento del Netduino al PC (circa 5€)

Questi componenti occupano davvero poco spazio e possono essere ospitati sulla scrivania del nostro pc. Quando acquisiremo maggiore dimestichezza nell’uso di Netduino potremmo creare uno spazio più importante dove mettere un alimentatore da tavolo, un saldatore e una cassettiera dove disporre componenti elettronici.

Netduino 1, a cosa serve questo dispositivo?

Netduino 1 è una scheda che si basa sul .Net Framework

Netduino 1 è una scheda elettronica che può essere programmata utilizzando C#, questo avviene perché Netduino è in grado di far girare il .Net Micro Framework. Questa scheda possiede 14 ingressi/uscite digitali programmabili e 6 ingressi analogici che permettono di interfacciarsi con sensori ed attuatori. Sono disponibili anche dei pin che forniscono delle tensioni di alimentazione a 5V e 3.3V

Netduino 1

Per la sua programmazione viene utilizzato il connettore micro usb. Il circuito stampato rispecchia perfettamente quello della scheda Arduino Uno e questo permette di rendere Netduino compatibile con i circuiti esistenti creati per la piattaforma Arduino. I progetto è totalmente open-source, sono disponibili infatti sia gli schemi elettrici che i sorgenti per costruire la scheda.

La cosa che più mi ha attirato nell’acquisto di questo dispositivo è sicuramente la possibilità di usare C# per scrivere il software. Questo permette di utilizzare Visual Studio, anche in versione Express, per sviluppare, debbuggare e programmare Netduino.

La scheda ha un costo molto contenuto, intorno ai 30€ ed in più ci sono la versione Mini e Plus. Nella versione Mini, la scheda risulta di dimensioni minori, come visibile in figura

Continua a leggere

Logica Programmabile Hello Word

Benvenuti su logicaprogrammabile.it

Ciao a tutti!

era da tempo che volevo iniziare a scrivere qualcosa su alcuni argomenti che mi appassionano, ma non riuscivo a prendere una decisione seria per iniziare questo progetto. Naturalmente scrivere su questo tipo di argomenti è molto impegnativo poiché serve molto tempo per sperimentare con queste tecnologie, e ora non so se riuscirò nell’intento. Posso dire che l’impegno c’è ma sono consapevole che scrivere gli articoli e provare a realizzare i vari esperimenti non sia cosa facile.

Forse iniziare un post dicendo che non sono sicuro di seguire costantemente il progetto è un pò pessimista ma ciò dipende dal fatto che sono molto realista e sono consapevole che non sia una cosa semplice!

Vorrei ringraziare mia moglie che crede sempre in ciò che faccio e mi sostiene nei momenti ‘difficili’ e stressanti.

Bene, allora iniziammo questo viaggio….

Rimani aggiornato

La mia lista dei prodotti

Compra su Amazon Italia

Compra su Amazon Italia

Sondaggi

Arduino.cc vs Arduino.org

Visualizza risultati

Loading ... Loading ...

Seguimi su Twitter