Progetto oscilloscopio?

Sezione dedicata ai Microcontrollori e ai Sistemi Embedded

Progetto oscilloscopio?

Postby brixall » 20 Sep 2012, 20:13

salve a tutti sono un nuovissimo del forum e questo è il mio primo post.
per un progetto che dovrei realizzare a scuola insieme ad altri miei compagni abbiamo deciso di costruire
un oscilloscopio per la banda audio, diciamo tra 0 e 10Khz.
Il prof ci ha detto di utilizzare dei microcontrollori che noi dobbiamo scegliere e un display grafico
Il progetto dovrebbe essere pronto alla fine dell'anno e quindi abbiamo tutto l'anno scolastico per realizzarlo.

qualcuno ha un'idea su cosa comprare e ancora meglio che microprocessore utilizzare?

se c'è qualcuno che ci può aiutare lo ringrazio fin d'ora.

ciao a tutti e complimenti per il forum.
brixall
 
Posts: 14
Joined: 20 Sep 2012, 20:00

Re: Progetto oscilloscopio?

Postby flz47655 » 20 Sep 2012, 20:51

Ciao e benvenuto
Per poter leggere un segnale analogico è necessario un ADC (convertitore analogico-digitale).
Consiglio di scegliere un microcontrollore con ADC integrato per semplificare il progetto.
La scelta non è semplice e dipende sopratutto dall'esperienza che si ha.
Ad ogni modo 10 KHz è una frequenza molto bassa, se vuoi "vedere" con l'oscilloscopio tutta la banda audio direi che devi raggiungere almeno 20 KHz (con gli attuali micro con ADC integrato non c'è problema a raggiungere tale frequenza)

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Progetto oscilloscopio?

Postby brixall » 20 Sep 2012, 20:58

ciao flz47655 lieto di conoscerti,
senti ma tu cosa mi consiglieresti perchè abbiamo libertà di scelta.
a scuola il prof ci ha mostrato l'arduino ma ci ha detto che dobbiamo fare però tutto noi,
il circuito stampato e tutto il resto e possiamo scegliere anche il linguaggio per scrivere il programma.
quindi pensi che un atmega tipo quello dell'arduino potrebbe andare bene? o meglio uno più grosso magari con 40 piedini?

ciao e grazie
brixall
 
Posts: 14
Joined: 20 Sep 2012, 20:00

Re: Progetto oscilloscopio?

Postby flz47655 » 20 Sep 2012, 21:13

Ciao,
Secondo me Arduino è ottimo per iniziare visto che non avete esperienze precedenti con altre MCU (MCU=microcontrollori)
Più che altro perché è semplice e ben documentato (su internet trovi tanti articoli e progetti di semplice comprensione per fare i primi passi) e il suo micro (AtMega328p) ha un ADC interno. Un IC diverso da 40 pin (es. AtMega644) non ti porterebbe grandi vantaggi aggiuntivi secondo me perché con l'AtMega328p hai già 13 IO digitali + 6 IO analogici, sufficienti per pilotare il display e qualche pulsante aggiuntivo.

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Progetto oscilloscopio?

Postby brixall » 20 Sep 2012, 21:22

no flz, il nostro prof ci ha detto che dobbiamo realizzare anche il circuito stampato con il micro, pulsanti, il display, i connettori, l'alimentatore , cioè una scheda completamente nuova.
è contrario all'uso di arduino perchè dice che usandolo senza sforzarci di realizzare un circuito diverso non impareremo nulla.
per lui l'arduino è una scheda per non elettronici e per non softweristi va bene per tutti gli altri... tipo hobbisti.
lui vuole che impariamo a progettare una scheda da zero con il cad, usare il fotoresist, acido ecc. usare e capire come funziona un micro.

cmq grazie
suggerimento a tal proposito?
brixall
 
Posts: 14
Joined: 20 Sep 2012, 20:00

Re: Progetto oscilloscopio?

Postby flz47655 » 20 Sep 2012, 21:28

Ok, nulla toglie però che puoi comprare da subito una scheda Arduino (circa 20 euro) con una breadboard per iniziare a prototipare il progetto e a prendere dimestichezza col micro per poi realizzare da solo una scheda con sopra il micro atmega328p (è estremamente semplice non ti preoccupare, io faccio sempre così ;)

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Progetto oscilloscopio?

Postby brixall » 20 Sep 2012, 21:31

senti ma quale display grafico potrei usare, bianco/nero o a colori?
è difficile secondo te gestire il colore?
ne approfitto ancora... per la scelta del micro cosa mi consigli allora.
brixall
 
Posts: 14
Joined: 20 Sep 2012, 20:00

Re: Progetto oscilloscopio?

Postby flz47655 » 20 Sep 2012, 21:39

Ti consiglio di comperare un Arduino Uno, è una schedina per programmare un micro AtMega328p ed iniziare a fare i primi passi come ad esempio:
- far lampeggiare un led
- leggere i valori dell'ADC
- collegare un potenziometro o un encoder rotativo (che potrete usare come manopola per lo zoom per il vostro progetto)
- utilizzare un LCD
- etc..

Proprio per capire che non tutto è permesso, ci sono limiti di tensione e corrente da rispettare e bisogna avere alcune accortezze (es. valutare impedenza d'ingresso per l'ADC ed eventualmente usare un amplificatore operazionale per condizionare il segnale)

Per il display secondo me un B/N è adatto se si sceglie di visualizzare un solo segnale audio alla volta, un display a colori sicuramente è più complicato da gestire (e più costoso), partirei con un B/N

Non ti preoccupare a chiedere altri consigli
Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Progetto oscilloscopio?

Postby brixall » 22 Sep 2012, 12:15

flz mi trovo a scuola e parlavo con il prof.
avresti un lcd grafico da consigliarci da poter usare per realizzare l'oscilloscopio?
qui hanno le idee confuse... qui qualcuno parla addirittura di un monitor tipo quello del pc, ma sarebbe possibile interfacciarlo ad una schedina tipo arduino?
ciao
brixall
 
Posts: 14
Joined: 20 Sep 2012, 20:00

Re: Progetto oscilloscopio?

Postby flz47655 » 22 Sep 2012, 13:39

Ciao,

In un progetto le scelte (micro, lcd, etc..) sono in genere limitate dal budget a disposizione e dal catalogo del distributore di componenti elettronici se ne avete uno convenzionato.

Come LCD potrebbe bastare anche un classico 128x64 per visualizzare qualcosa, in genere questi schermi si controllano tramite una comunicazione seriale (es. SPI o I2C), molto semplici quindi da utilizzare.

Se volete utilizzare un monitor dovete attenervi al protocollo analogico VGA che richiede per generare risoluzioni e frame-rate decenti (es. per 30fps 640x480 ci vogliono segnali ad oltre 25 MHz) un clock elevato che un AtMega non può darvi oltre che a richiedere un DAC (convertitore digitale-analogico). In questo caso si potrebbe utilizzare una piccola CPLD per generare i segnali VGA (serve sempre e comunque un DAC) o utilizzare qualcos'altro di già pronto ma per tenere il progetto semplice lascerei perdere.

Esistono molte tipologie di schermi, il consiglio di un 128x64 con protocollo seriale è più che altro per l'ampia documentazione che si trova in internet (con la parola "Arduino lcd 128x64"con google trovi veramente di tutto) e il basso costo. E' abbastanza piccolo e potete mettere senza problemi tutto in un piccolo contenitore di plastica per avere così il vostro oscilloscopio portatile.
Di contro ovviamente ha una risoluzione limitata e dovete quindi fare dei compromessi.

Tenete però presente che se il micro deve fare altre operazioni come visualizzazioni avanzate, etc.. ha meno tempo per leggere i segnali analogici e di conseguenza riuscirete a visualizzare solamente frequenze più basse, chiedete quindi se potete avere delle specifiche abbastanza flessibili per quanto riguarda la frequenza massima visualizzabile del vostro oscilloscopio.

Per realizzare un oscilloscopio più prestante una soluzione forse migliore sarebbe utilizzare un dsPIC, più complicato da programmare e maggiormente costoso ma sicuramente più prestante.

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Progetto oscilloscopio?

Postby brixall » 22 Sep 2012, 15:14

flz ti ringrazio per tutte le indicazioni,
noi dobbiamo utilizzare un micro atmega così come deciso dal prof e quindi siamo legati a quello che possiamo ottenere con questo.
il prof ci ha detto che un atmega644 o un atmega1284 potrebbe andare bene per numero pin e memoria, sono a 40 pin.
ho cercato su google e come display 128x64 ho trovato vari modelli ks108, secondo te va bene? se si lo compriamo subito.

ho trovato questi:
http://www.ebay.com/sch/i.html?_trksid= ... d&_sacat=0

ciao e grazie
brixall
 
Posts: 14
Joined: 20 Sep 2012, 20:00

Re: Progetto oscilloscopio?

Postby flz47655 » 22 Sep 2012, 15:51

Il problema non era nel numero dei pin o nella memoria ma nella velocità (sia interna dell'ADC che della MCU) che costituisce il limite principale all'oscilloscopio, comunque non preoccuparti che qualche KHz sicuramente si riesce a visualizzare.

Se avete a disposizione un atmega644 o superiore tanto meglio :)

Per il display esistono sostanzialmente con due controller: KS0108 e ST7565
Il KS0108 ha un'interfaccia parallela e quindi richiede molti pin, lavora a 5v
Il ST7565 ha un'interfaccia seriale e quindi richiede pochi pin, lavora a 3.3v, non permette la lettura dei dati dalla memoria del display

Ti lascio questo link se vuoi approfondire: http://www.ladyada.net/learn/lcd/st7565.html

Ci sono anche altri controller tra i quali l' ST7920 che è abbastanza interessante perché ha interfaccia sia parallela che seriale

Io non farei un acquisto così affrettato e prenderei da subito in considerazione anche il contenitore plastico se il tutto andrà in un qualche box e deciderei la tensione a cui lavorerà il sistema, 5v o 3.3v? etc.. Avete controllato se la dimensione del display è sufficiente per quello che volete fare?

Ciao

PS: Ne esistono di diversi colori, il bianco su blu è carino ed in genere uso quello, ne esistono però anche nero su verde.

Avete valutato diverse alternative come ad esempio un display LCD touch da 3.2''? Vi eviterebbe pulsanti, encoder, etc.. e sarebbe con una risoluzione migliori e a colori.. anche se poi naturalmente un AtMega diventerebbe "stretto".. bisognerebbe valutare se è fattibile ma io non ho esperienza con LCD touch al momento..
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Progetto oscilloscopio?

Postby quark30 » 29 Sep 2012, 10:16

un consiglio? per un progetto scolastico io realizzerei qualcosa di più semplice senza il display grafico, magari con un lcd normale tipo che ne so un misuratore di qualcosa,
un frequenzimetro, un capacimetro.
secondo me l'oscilloscopio mi sembra uno strumento complicato specie per uno che ha iniziato da poco con i micro.

questa è una mia opinione :) poi vedi tu.
quark30
 
Posts: 20
Joined: 30 Jul 2012, 11:15

Re: Progetto oscilloscopio?

Postby flz47655 » 29 Sep 2012, 10:25

Beh c'è da dire che il loro progetto non è complicato come un oscilloscopio commerciale naturalmente perché limitato alla banda audio, probabilmente senza grosse opzioni di trigger, etc.. se poi sono in gruppi ognuno almeno può svolgere qualcosa indipendentemente dagli altri, ormai se hanno iniziato non gli consiglio di interrompere il progetto.
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Progetto oscilloscopio?

Postby quark30 » 29 Sep 2012, 10:29

certo se hanno iniziato! meglio farli continuare.
di sicuro avranno il loro insegnante che saprà indirizzarli nelle scelte giuste.
quark30
 
Posts: 20
Joined: 30 Jul 2012, 11:15

Re: Progetto oscilloscopio?

Postby brixall » 04 Oct 2012, 19:08

buonasera,
finalmente stiamo per partire con la progettazione dell'oscilloscopio BF con display grafico ;)
abbiamo procurato già il micro atmega644 e un display con controller ks108 e qualche encoder rotativo per impostare alcuni parametri tipo volt/div e base-tempi etc.

abbiamo libertà di scelta per quanto riguarda il linguaggio e il sistema di sviluppo,
ultimamanete sento parlare molto del bascom-avr e dicono sia molto potente come compilatore per gli avr,
ho visto che anche in questo forum che se ne parla abbastanza

qualcuno mi potrebbe consigliare?

vi ringrazio
ciao
brixall
 
Posts: 14
Joined: 20 Sep 2012, 20:00

Re: Progetto oscilloscopio?

Postby flz47655 » 04 Oct 2012, 20:06

Il bascom-avr è qualcosa di simile al basic (quickbasic, visualbasic, etc..) ha un sistema di sviluppo che trovo molto carino con simulatore, librerie già pronte, etc.. se avete già fatto il basic è sicuramente da valutare, attenzione però ad utilizzare troppe librerie già pronte, così non capite cosa succede sotto le quinte, scopo del vostro progetto.

Se avete una buona esperienza col C/C++ (e con Visual Studio) potete prendere in considerazione AVR Studio, l'ambiente di sviluppo ufficiale di Atmel.

L'ambiente di Arduino in sostanza è quello più semplice e con meno funzionalità ed utilizza il C/C++ con una serie di librerie che semplificano la programmazione (utilizzabili ad ogni modo anche con AVR Studio), consigliato per iniziare se non avete altre esperienze con la programmazione e se volete trovare veramente tanti esempi su internet di pezzi di codice, librerie, tutorial, etc..

La scelta dipende dalla vostra esperienza, ricapitolando:
via semplice -> Arduino
via con strumenti più avanzati -> bascom-avr (basic) o avr studio (c/c++)

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16


Return to Microcontrollori e microprocessori

Who is online

Users browsing this forum: No registered users and 23 guests

cron