Jump to content
PLC Forum


Impariamo Ad Usare I Microcontrollori - Guida pratica all'uso partendo da 0


Livio Orsini
 Share

Recommended Posts

Come avevo anticipato in una precedente discussione, mi son deciso a pubblicare questa spece di guida pratica all'uso di microcontrollori.

Questo non è un corso, tutorial o simile, ma una specie di cammino passo passo, partendo dalla realizzazione dei circuiti Hw e da prove applicative per verificare ed applicare le potenzialità insite nel microcontrollore.

La scelta del tipo di micro è caduta su i PIC, microcontrollori prodotti da Microchip.

Perchè questa scelta?

Perchè sono microcontrollori molto conosciuti, duffusi; l'attrezzatura di sviluppo è veramente "risparmiosissima". Bastano poche decine di € (<40€) per acquistare un attrezzo Microchip che permette di programmare e "debuggare in circuit" il sistema. Inoltre con la medesima piedinatura si possono usare micro a 8 bits, 16 bits ed anche 32 bits!

Come Hw di base riprendo una vecchia idea che sviluppammo anni fa assieme a due amici del forum: Walterworld e Ifachsoftware.

In pratica si costruiranno una serie di schedine, ognuna specializzata in una funzione specifica, che si interfacciano tra loro tramite morsettiere. Insomma una specie di Lego o di Meccano.

Il primo passo sarà la costruzione dell'unità CPU e di 2 periferiche base: ingressi a pulsanti e uscite a LED.

Spero di mettere a disposizione schemi e foto già in questo fine settimana.

Per gli attrezzi software inizialmente è sufficiente scaricare dal sito Microchip il pacchetto MPLab, completamente gratuito. Questo pacchetto dispone già dell'assemblatore ed è anche possibile scaricare una versione ridotta del compilatore "C".

PicKit3. Questo è il link all'attrezzo di costo minimo (45$), ma veramente completo ed ingrado di fare tutto per quasi tutti i micro.

Link to comment
Share on other sites


Allora cominciamo con il vedere la scheda usata come sistema di sviluppo.

fig. 1

fig. 2

fig. 3

In fig. 1 potete vedere la scheda unita con 8 fili, compresa l'alimentazione, ad un display: un classico 2 righe da 16 caratteri.

le fig. 2 e 3, mostrano la scheda più in dettaglio.

In bassa notiamo i 2 morsetti per l'ingresso dell'alimentazione non regolata; a fianco inizia la morsettiera che ricopia le porte disponibili ai pins compresi tra 1 e 20 del micro.

Sul lato sinistro abbiamo l'alimentatore, il connettore di programamzione ed i morsetti per portare all'esterno + 5 V e o V; i dip switches servono per come porte o come selezionare i vari tipi di PIC, DSPIc e per selezionare le linee B6 e B7 come porte o come linee di programamzione e debug.

La serie di morsetti in alto porta in uscita i pins disponibili come I/O dal 21 al 40.

Prossimamente pubblicherò lo schema semplificato di questa scheda. La foto può essere una guida per lo sviluppo del c.s.

Potrebbe anche essere che Ifachsoftware abbia ancora qualche basetta disponibile; se qualcuno fosse interessato provi a chiedere direttamente a Claudio Ifachsoftware

Edited by Livio Orsini
Link to comment
Share on other sites

Questo è il file zippato per gli schemi degli ingressi da pulsante e le uscite digitali.

Con questo si può realizzare lo Hw minimo per iniziare lo studio e la sperimentaziano.

Di volta in volta saranno aggiunte periferiche per permettere di verificare le nuove funzionalità dei micro.

Link to comment
Share on other sites

  • 2 weeks later...

Vorrei porre una domanda, ho acquistato Picstart Plus della Microchip e sto iniziando lo studio di un PIC in particolare, la programmazione e l'utilizzo del programmatore, Assembler per il momento per poi successivamente provare il C/C++. ( premetto sono un neofita)

Avendo già un prodotto commerciale pronto quindi non devo costruirmi nessun circuito, gestione RGB con PIC16f630, vorrei provare a modificarlo a mio piacimento, questa guida spiegherà anche le basi per la programmazione da poter affiancare ai testi da me acquistati?

Link to comment
Share on other sites

L'idea è quella di partire dalle basi.

L'uso di u Hw piuttosto che un altro è poco importante, proprio per le caratteristiche dei PIC.

Dovrei riuscire ad inserire il primo step prima di Natale. Ovviamente inizialmente si usa esclusivamente la programmazione in assembler.

Link to comment
Share on other sites

  • 7 months later...

ciao Livio

che bello riprendi in mano il progetto pizza micro ahahahaha

ho ancora le schede , la scehda cpu ect

Senti una cosa sto cercando di riprendere in mano un progetto di tempo fa , una scheda con dsPIC30F4011 che svolge le seguenti funzioni .

Tramite tastierino ed lcd seleziona le varie uscite che sono 0-10 V , 4-20 mA, encoder pnp-npn , line drive ect.

Avevo gia creato il disegno e sbrogliato il pcb con proteus e mandato in produzione i pcb , ricevuti , montati i componenti , e programmato il micro .

Con oscilloscopio a pc aveo sistemato gli operazionali , l'AD694 , i vari pwm ect ed il tutto testato con un s7-200 nei suoi due ingressi veloci per quanto riguarda le uscite encoder simulato.

Ora non ritrovando piu i progetti o comunque smarriti in qualche cd che non trovo vorrei fare delle modifiche ma :

ho un nuovo pc con I7 e windows 7 pro e la versione di mplab che usavo con mplab C30 non gira .

Ho provato ad installare su Xp mode ma anche li non rileva l'icd2 non carica i driver usb

Cosi ho visto sul sito microchip che c'e' la nuova versione MPLAB X .

L'ho installata ed installato anche MPLAB C-30 .

Pero a quanto pare non supporta ICD2 .

Praticamente ore perse senza concludere granche

Tu stai usando l'ultima versione di MPLAB X oppure usi le antecedenti ?

Dai documenti sembrerebbe che ci voglia ICD3 , che si trova a circa 150 euro .

Ho dato uno sguardo al datasheet ed ho visto che ha l'uscita rj come ICD 2 , e credo di aer capito che i collegamenti in circuit sono medesimi ,

Ne sai qualcosa , sei al corrente delle evoluzioni microship?

ciao

Walter

Edited by walterword
Link to comment
Share on other sites

Livio Orsini

Walter attenzione che c'è Mplab e MplabX.

Su questo PC ho Win 7 e MPlab 8.73a e gira tutto, vompresa l'interfaccia con ICD2.

MPlab X credo non supporti ICD2, però dovrebbe supportare microkit.

Ora sono nel profondo Sud e non ho sottomano la documentazione. Torno ad agosto.

Hai ancora dei cs della CPU? Se ne hai ancora potresti darmene un paio? ovviamente te li pago.

Come vedi siamo alle solite; son più di 6 mesi che il progetto si è fermato per il solito problema: interessa a pochi.

Edited by Livio Orsini
Link to comment
Share on other sites

ciao Livio

Ho provato ieri sera ad installare MPLAB 8.85 su seven pro

Pero quando introduco ICD2 mi chiede i driver usb

Percorro le cartelle ICD2 ed altre per cercarlo ma non lo trova

Non capisco

Si lo so che c'e' MPLAB X che e' totalmente diverso .

Pero' ho notato che la versione che ho io di MPLAB C-30 va bene per entrambe gli ambienti

Possiamo vederci quando rientri , ho un sacco di schede , quasi il doppione per ogni tipologia

Sentiamoci , io sento Claudio e poi vediamo

ciao

Walter

Link to comment
Share on other sites

ok ora tutto a posto.

Ho installato il driver usb ICD2 su windows XP Mode col tasto USB sopra la finestra e poi automaticamente me lo ha installato anche in seven .

Da seven con MPLAB 8.85 ho scaricato il firmware per un dsPIC30F4011 ed un PIC16F876a

Ho anche scaricato un programmino per testare la cosa , e funziona .

Ho scaricato su demoboard multi micro pizza micro e sulla PICDEM PLUS 2 che avevo gia .

Ora devo ritrovare i progetto seno riscrivere tutto da capo .

ciao

Walter

Link to comment
Share on other sites

Livio Orsini

I driver USB dovrebbero essere nella cartella di ICD, però visto che hai già risolto in automatico meglio così.

Ci sentiamo quando rientro (dopo il 2 di agosto).

Hai sempre lo stesso numero di cellulare?

Edited by Livio Orsini
Link to comment
Share on other sites

si ho sempre lo stesso numero.

Ho fatto delle prove ora ... semplice programma con MicroC per dsPIC che genera hex e poi caricato con ICD2 da MPLAB

Certo ogni volta che accendo il pc devo caricare il driver usb da xp mode e poi automaticamente in win 7 ma non e' un problema

Vedevo attentamente le varie schede che propongono quelli di mikroelettronika , devo dire molto itneressanti con una varieta' di schedine aggiuntive per analogica , flash ect .

Quello che doveva essere il progetto pizza micro sulla carta

Magari per il mio compleanno mi faccio un regalo , mi compro una bella scheda da loro con lcd grafico e colori e un po di cosette .

Chiamami sul cell

ciao

Walter

Link to comment
Share on other sites

Livio Orsini

I drivers dovresti trovarli nella direcory \mplab\ide\icd2.

Le schede della MikroC van bene se poi usi i loro compilatori con le loro librerie.

Prova a dare un'occhiata a questo sito c'è molta bella roba e molto interessante (magari lo conoscevi già).

Ti chiamo quando torno a casa.

Link to comment
Share on other sites

Anche io ho ICD2, e non ho mai avuto problemi con win7 (io ho la versione 32 bit)

nella cartella ICD2 di MPLAB ho i seguenti file:


04/01/2010  16:37		    21.383 ddicd2.htm

02/10/2009  15:58		    22.134 DeviceMgrICD2.gif

02/10/2009  15:58		    23.470 DeviceMgrUnknown.gif

02/10/2009  15:58			 3.874 DeviceMgrUnknownUpdate.gif

02/10/2009  15:58			 4.834 exclamation.gif

07/01/2005  09:02			 2.354 icd2w2k.inf

22/03/2004  02:43		    12.427 icd2w2k.sys

07/01/2005  09:02			 2.429 icd2w2kl.inf

22/03/2004  02:43		    16.556 icd2w2kl.sys

28/04/2006  08:05		    45.056 MCDRV48F.DLL

02/10/2009  15:58		    17.522 MPLABIDE.gif

02/10/2009  15:58			 7.247 Serial.gif

02/10/2009  15:58		    22.997 Update1.gif

02/10/2009  15:58		    23.155 Update2_ICD2.gif

02/10/2009  15:58		    16.538 Update3.gif

02/10/2009  15:58		    21.681 Update4_ICD2.gif

02/10/2009  15:58			 2.089 USB.gif

02/10/2009  15:58		    27.648 USBPlugIn_ICD2.GIF

			  19 File	    293.394 byte


non ricordo che mi abbia fatto storie per l'installazione.

Link to comment
Share on other sites

Livio Orsini

icd2w2k.inf questo dovrebbe essere il file con le informazioni per l'installazione.

Link to comment
Share on other sites

comunque su siti americani ed inglesi dicono di fare la stessa procedura che ho fatto io

Installare xp mode , isntallare mplab , installare il driver usb icd2 e poi lo ritrovi anche su seven , problema risolto anche se noiso all'avvio ma tollerante

Livio , se vuoi ho anche due libri ognuno di quali propone 15 progetti in assembly con relativo hex ,

Per partire da zero come vuoi fare tu bisogna capire bene le funzionalità del micro , l'assembly , i registri , le label ect .

Si mikroelettronica ha delle belle cose , ora sto studiando il compilatore mikroC per dsPCI e pic24

Poi dovro capire ils enso delle librerie , che molte sono software e magai bloccanti ect

Ora guardo il tuo sito

ciao

Walter

Link to comment
Share on other sites

molto interessante il sito , bravo Livio

Non lo conoscevo .

In italiano , pieno di risorse e ben descritte .

Potresti indicarlo come spunto e studio prima di apprendere un progetto online .

Li c'e' veramente di tutto .

I kit di mikroelettronica girano attorno a due schede base , poi aggiungono un pezzo o una scehdina specifica ma alla fine li ho guardati tutti e a parte il target , il micro e poco altro (forse il quarzo ) sono piu o meno simili .

Sto verificando l'ambiente di sviluppo perche comunque resta sempre un bel prodotto a prezzo molto accessibile .

La praticità sta nel fatto che sulla scheda ci sono dei componenti gia montati e funzionanti e quindi nel caso specifico si evita di perdere tempo a cablare o saldare .

Certo che comunque per poter pensare di sviluppare un qualcosa che abbia un senso pratico ed utile nella vita quotidiana si deve lavorare un pochino .

Per esempio tirare fuoi un datalogger su database sql express che prende info da temperatura , pressione atm , umidità fornite da un pic che immagazzina su sd o eeprom i dati in attesa di essere scaricati sul pc , oppure un controllore per gestire cancelli elettrici , allarmi con rivelatori di presenza , switch finestre ect parametrizzabile da pc ect ect con modem telit per invio informazioni di allarme....

Gestire il protocollo DMX per domotica

Ho chiesto info per un tal oggetto che era pubblicizzato qua sul forum , la scheda cpu CoDeSys della overdigit .... un bel giocattolino ...supporta il codesys

ciao

Walter

p.s. se riesco a trovare il tempo e riprendere in mano proteus o qualcosa di simile e potente magari me la faccio una bella scehda completa , poi invio i gerger a md e con 4 componenti ....

Edited by walterword
Link to comment
Share on other sites

Livio Orsini
comunque su siti americani ed inglesi dicono di fare la stessa procedura che ho fatto io..

Forse non sanno che si può fare a meno di tutta quella trafila. ;)

Su questo PC ho Win7, MPlab 8.73 e non dovuto installare niente altro per lavorare con ICD2. Peccato che non ce l'ho con me (ICD2) altrimenti ti copiavo la schermata.

A perer mio sono interessanti, anche dal punto di vista del costo, le schede della ORBIT. Poi il tizio che manda avanti il sito è molto ben preparato. E' anche interessante una scheda con un processore TI a basso consumo e le relative applicazioni. Anche per questo micro gli strumenti di sviluppo sono veramente a buon mercato, prezzi quasi simbolici da parte di TI.

In quanto al prosiego del progetto di questa discussione se conti gli interessati capisci perchè ho mollato. :(

Link to comment
Share on other sites

un vero peccato, tutti a chiedere cose specifiche per avere la pappa scodellata e nessuno che abbia voglia di mettersi a imparare e fare un po' di pratica. :smile:

comunque su siti americani ed inglesi dicono di fare la stessa procedura che ho fatto io

Installare xp mode , isntallare mplab , installare il driver usb icd2 e poi lo ritrovi anche su seven

Quando si dice le stranezze... XP mode è una macchina virtuale, le due entità sono completamente indipendenti, strano che questo barbatrucco riesca a far funzionare i driver.

Peccato che non ce l'ho con me (ICD2) altrimenti ti copiavo la schermata.

se è utile posso farlo io, questa è la finestra con i dettagli del driver:

icd2driver.png

Questa è la finestra con i dettagli di ICD2 in MPLAB:

versione.png

Per caso hai collegato ICD2 al PC prima di aver installato MPLAB?

Link to comment
Share on other sites

non so che dire a me i driver non li trovava e non li intallava su mplab 8.85

Livio , ormai l'esperienza dovrebbe insgnarti che l'italia non e' il posto dove creare cose itneressanti e condivise , e gli italiani non sono personaggi da poter esercitare tali attività.

Con cio che dicevo ancora anni fa quando avevamo proposto il progetto rabbit ed il progetto scada-on line che ne avrei fatto parte solo alla condizione che ci sia stata una lsita ben precisa di partecipanti con il "dovere" di presentare e dimostrare i lavori svolti.

Il fatto e' che oltre a non far nulla si presentano e si arrabbiano pure se non spieghi riga per riga cosa stai facendo .

E' un peccato si perche si poteva crescere ed imparare molte cose specialmente in periodo di recessione , periodo migliore per studiare e sviluppare , in quanto in tempi migliori c'e' sempre troppo lavoro .

comunque a me non interessa il popolino , io continuo a fare quello che mi piace a che mi interessa .

ciao

Walter

Edited by walterword
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...