Gabriele Riva Posted December 10, 2003 Report Posted December 10, 2003 Inizia un nuovo GRANDE progetto, si tratta di imparare ad usare i microprocessori.Il progetto consiste nel imparare ad utilizzare, a costruire ed a programmare con i microprocessori .A tale scopo e' stata realizzata una scheda “Starter Kit” basata sul un micro 16 bit della serie M16C (Mitsubishi)L’obbiettivo e’ quello di realizzare una serie di schede (hardware e software) funzionanti, e per quanto possibilecon poco da invidiare a quelle commerciali.Il progetto si rivolge a tutte quelle persone, studenti e non, che possano trarre vantaggio da una sperimentazionedi questo tipo, il motivo che ci spinge a farlo in questo modo e la consapevolezza che a molte persone mancano i mezzi solamente per iniziare. Siamo certi che molti troveranno utile o insostituibile cio’ che apprenderanno da questa piccola cosa per altri invece sara’ tutto molto semplice e con il gusto del “gia’ conosciuto” ed a loro chiederemo di condividere il loro sapere. Facile immaginare che saranno necessarie alcune cognizioni di base, di elettronica e di informatica, ma sottolineo cognizioni di base e nulla di piu’Il progetto che ha un indirizzo assolutamente didattico sara’ composto da una serie di attivita’, la realizzazione di software in linguaggio C o Assembler , la collaborazione alla realizzazione di schede di espansione quali : asse elettrico angolare, telecontrollo radio, simulazione di un plc ed altre come l’unione di questo progetto con altri in corso su questo forum.Le risorse della scheda sono le seguenti:4 display (in multiplexing), 4 pulsanti (3 su interrrupt), 4 led, 1 porta parallela standard, 2 seriali 232, una memoria 24c02 una memoria 24c32 , 4 connettori riportanti un totale di 60 in/outalimentazione ottenuta da un 7805 gia’ sullo stampato partendo , quindi da un 9-12 volt continua.Il micro dispone di 256k di flash eprom e di 20 k di ram Un grazie all'autore Dario Valeri a cui cedo la parola:
Dario Valeri Posted December 10, 2003 Report Posted December 10, 2003 (edited) ciao a tuttigrazie a gabri per aver preparato lo spazio e per la collaborazionesono certo che che cio' sara' apprezzato da molti.desidero segnalare a chi legge che questa iniziativa , cioe' di "imbastire"uno starterkit (in realta' e' un po' dipiu' che uno starterkit) e di rendere disponibili i dati per costruirselo (o adirittura di piu') al momento e' unica addirittura in tutta europa!!!spero di trovare persone che utilizzino questo strumento per costruirsi la pratica(e un po di esperienza) che consenta loro di percorrere la loro strada (almeno un po')piu' velocemente.Sottolineo che nemmeno io ho le doti per insegnare determinate cose ma quel pocoche so lo condivido volentieri .ok sto preparando su di uno spazio ftp i data sheet dei componenti che sono montati sulla scheda(che sono pochissimi)un anticipo sulle caratteristiche del micro montato a bordo :memoria flash 128k oppure 256kmemoria ram 10k oppure 20kinterrupt 25 interni e 8 esterni2x5 timer (hardware) a 16 bit5 seriali (tra sincrone e asincrone)8 ingressi analogici a 10 bit2 uscite analogiche a 8 bitun totale di 87 pin di in/outwdognmiil micro si programma in "C" oppure in assembler (per i pazzi come me)su internet si trovano alcuni pacchetti demo , trial , o addirittura free.questi sono in paio di link per scaricare:http://www.tasking.com/ il programma che danno non ha limiti di tempo ma di dimensioni del sorgentehttp://www.iar.com/ il programma che danno e' full ma con il limite di un mesehttp://www.renesas.com/eng/support/e_learn...ning/index.html link al sito renesas/istruzione si puo' vedere bene come e' fatto il micro .presto inseriro' altri link dove poter scricare software demo o freedario Edited December 10, 2003 by Dario Valeri
Dario Valeri Posted December 11, 2003 Report Posted December 11, 2003 (edited) data sheet da scaricare:micro M30624 :microprocessoreset istruzioni assembler :assemblermemoria 24c02 : eeprom24c02max202 :max202dario Edited December 11, 2003 by Dario Valeri
Dario Valeri Posted December 11, 2003 Report Posted December 11, 2003 (edited) Programma:descrivo i passi che faro' nel portare avanti questo progetto on line:1) realizzazione del software di base per la scheda cioe' quelle routin che vengono usate all'interno della scheda gestione display, scrittura lettura e2prom, gestione seriali, parallela , interrupt , led e pulsanti.2)realizzazione di un protocollo di comunicazione che sara' molto simile ad un protocollo commerciale (di altri plc) al punto da potersi connettere (entro certi limiti)con un software commerciale.ovviamente il protocollo sara' un protocollo pubblico.3)realizzazione del hardware e software necessario per far diventare questa scheda un un asse elettrico angolare. (metea' 2004)4)realizzazione software ed hardware per far diventare la scheda un centro di gestione per il modellismo(presepe o altro) (fine 2004)tutto cio' sara' pubblico e pubblicato su questo forum per favorire l'iniziativa di chiunque!ciaodario Edited December 11, 2003 by Dario Valeri
luciano Posted December 12, 2003 Report Posted December 12, 2003 ciao faccio i miei complimenti per l'iniziativa.Dario volevo chieterti il ccs che e' in fotogragiache grandezza reale ha?e come si puo' reperire?per quanto riguarda il compilatore Csarebbe opportuno la scelta di uno solo in modo che tutti siamo sincronizzati .volevo segnalare altri 2 sitihttp://www.fsinc.come ancora megliohttp://www.raisonance.comlimitati in 4 k per la versione demosperando (e non sono sicuro ) che l'architettura dell m16c sia compatibile 8051 ...approposito dello sviluppo di funzioni vorrei fare la proposta di agganciare questo progetto col progettoscada in vb ... piu' precisamente la mia proposta e' quella di realizzare il protocollo di comunicazionemodbus da far girate sul microprocessore e parallelamente realizzare la ocx per il visual basicciao
Dario Valeri Posted December 12, 2003 Report Posted December 12, 2003 (edited) ciaograzie per i link le dimensioni dello stampato sono 11x9 cme sono dovute sopratutto alla presenza dei connettori seriale/parallelo integrati a bordo.per quanto riguardo lo scada era gia' mia intenzione fare/proporre cio' che dici ma vorrei cheil tutto fosse stabile.ora parli di modbus e facendolo sveli un piccolo segreto(non piu' tale)il MODBUS e' gia' in lavorazione ma volevo renderlo pubblico a cosa fatta.!!compilatore : non me la sento di suggerire , ad ogni modo e con un po' di sforzo si fa la stessa cosa con tutti.io preferirei il "ede tasking" ma non avendolo in versione full lavoro con "iar" che e' piu' lento e macchinoso.ricodiamoci che ci sono dei pacchetti con poche limitazioni (ma in dos)inoltre approfitto per segnalare il debugger kd30 assolutamete free.dove si trova lo stamoato ? : questo e' un piccolo problema che assieme a gabriva stiamo tentando di risolvere. plcforum non puo' fare azione di vendita quindi non li potra' fornire .per alcuni , come gia' detto , posso risolvere mandando uno stampato (al prezzo del costo) della campionatura , poi si vedra'.saranno forniti i disegni per poter fare gli stampati .ciaodario Edited December 12, 2003 by Dario Valeri
Livio Orsini Posted December 12, 2003 Report Posted December 12, 2003 Sono d'accordo anch'io sulla realizzazione di un'interfaccia con lo scada che stiamo realizzando.
luciano Posted December 13, 2003 Report Posted December 13, 2003 ciao spero di essere utile..su internet ho trovatoi codici sorgenti in C del protocollo modbus sia come master (livio)sia come slave (dario) lo potete scaricare da quihttp://www.plcforum.it/upload/modbus.zipdove c'e' anche il sito a cui faccio riferimento ..mi pare abbastanza interessante perche' credo che da una analisidel codice il tutto si possa trasferire in una ocx o megliocontrollo utente per il vb ....purtroppo come codice sorgente di modbus per vbnon ho trovato nulla ...date anche una occhiata a questo linkhttp://www.control.com/1026179808/index_htmlche riguarda il lato del plc..
Dario Valeri Posted December 13, 2003 Report Posted December 13, 2003 perfetto luciano grazie!! dario
luciano Posted December 13, 2003 Report Posted December 13, 2003 il link del download non era correttolo rido'http://www.plcforum.it/upload/index.php?ac...name=Modbus.zip
luciano Posted December 13, 2003 Report Posted December 13, 2003 pero' una piccola critica verso gli amministratoridel sito ....ho perso una oretta per capire come inserire il link per il download... non si poteva fare una cosa piu' alla femminile?
Dario Valeri Posted December 13, 2003 Report Posted December 13, 2003 (edited) ciaoluciano , no problem, avevi dato tutte le informazioni per poterlo scaricare.ok ora sono alle prese con una routin che mi converta da binario a bcd (che mi converta un numero decimale a 5 cifre)nonostante sulla scheda ci siano 4 dislpay la routin converte tutte e 5 le cifre.per fare questa routin ed agevolare la comprensione non ho usato istruzioni dedicate eccola qui:/* routin di conversione binario ---> bcd by dario usata per la visualizzazione dei dati sul dislpay, da notare che per effettuare la conversione non ho usato istruzioni dedicate ma bensi' un metodo molto vecchio ma che consente anche ai meno esperti di capire come funziona e cosa e'*/ void binbcd (long val_bin) { int a; int b; a = val_bin/10000; /*dividendo il numero da convertire per 10000 trovo la prima cifra a sinistra*/ demil = a; /*la variabile demil cioe' decinedimigliaia contiene il valore della cifra 1*/ if (a!=0){ /* se non zero*/ b=a*10000; /*lo rimoltiplico per 10000*/ val_bin = val_bin-b; /*per poi sottrarre dal numero originale la cifra del "diecimila"*/ } a = val_bin/1000; /*dividendo cio' che rimane in val_bin per 1000 trovo la seconda cifra*/ mill = a; /*ora la variabile mill cioe' migliaia contiene il valore della cifra 2*/ if (a!=0){ /* se non zero*/ b=a*1000; /*lo rimoltiplico per 1000*/ val_bin=val_bin-b; /*per poi sottrarre da val_bin*/ } a = val_bin/100; /*dividendo cio' che rimane in val_bin per 100 trovo la terza cifra*/ centi = a; if (a!=0){ b=a*100; val_bin=val_bin-b; } a = val_bin/10; /*dividendo cio' che rimane in val_bin per 10 trovo la quarta cifra*/ deci = a; if (a!=0){ b=a*10; val_bin=val_bin-b; } a = val_bin; /*cio' che rimane e' l'ultima cifra*/ uni = a; /*fine conversione da binario a bcd*/ }dopo di che i numeri vengono ancora trattati per essere convertiti i 7segmentie solo allora una routin che gira sotto interrupt timer a 2 millisecondi scrive sui displayciao dario Edited December 13, 2003 by Dario Valeri
Lucky67 Posted December 17, 2003 Report Posted December 17, 2003 Mi scuso se magari la risposta è presente in qualche link che avete già dato e che io non ho ancora clikkato (pigrissimo). Volevo sapere se c'è un' indicazione di prezzo sul micro e sul sistema di sviluppo con indirizzi di dove si possono trovare. Grazie.
Dario Valeri Posted December 17, 2003 Report Posted December 17, 2003 (edited) ciaoil sistema di sviluppo e' proprio cio' che abbiamo realizzato!assieme agli amministratori stiamo cercando un mezzo per poter far avere lo stampato o lo stampato con il micro gia' saldatoa chi fosse interessato.comunque il prezzo del solo micro ,(e' un 100 pin) presso distrelecte' di euro 28 . io da parte mia ho fatto fare una campionatura di 10 stampati parte dei quali non "ha padrone".quindi per chi fosse interessato comunichi con Gabriele Riva.Gli interessati comunichino anche la loro dimestichezza con l'elettronica(per il montaggio dei componenti)piu' su ,ho messo dei link da dove poter scaricare il software demo di programmazione e i data sheet dei componenti.concludo comunicando che ho quasi finito la stesura del software"di sistema" cioe' quella parte di software che viene usato all'interno della scheda.(rimane da fare le seriali)ciaodario Edited December 17, 2003 by Dario Valeri
Dario Valeri Posted December 20, 2003 Report Posted December 20, 2003 ciao a tuttisto montando il prototipo e nei prossimi giorniprovero' il software fatto finora.poi mettero on line tutto il disponibile.ciaodario
steven Posted December 29, 2003 Report Posted December 29, 2003 Per il protocolo MODBUS io uso la dll di Ricardo Saat che si può trovare qui : http://www.speff.com/ , non sò se può aiutare ma è freewareHo anche programmato le prime 6 Funzioni MODBUS in un PIC 16f876 con l'assembler
steven Posted December 29, 2003 Report Posted December 29, 2003 scusa il link diretto è: http://members.tripod.com/~mbserver/
luciano Posted December 30, 2003 Report Posted December 30, 2003 ciao Steven gia' usi questa dll?la usi con vb6? per quali prodotti la usi?ciao e benvenuto tra noi
steven Posted December 30, 2003 Report Posted December 30, 2003 CiaoQuesta dll la uso con VB6 e a me funziona bene, noi usiamo il sistema di building automation della INTEREL di Bolzano http://www.interel.it/ital/framesbuilding.htmè un sistema che usa modbus per la comunicazione con l'unità centrale.Poi sto sperimentando (sono comunque a buon punto) un protocolo Modbus in un Pic16f876.
Dario Valeri Posted December 30, 2003 Report Posted December 30, 2003 ciaovorrei aggiornare chi legge sullo stato delle cose:ho finito completamente la routin di lettura e scrittura su eeprom 24c02 ho attivato (tramita interrupt) la seconda uart dato che la prima e' usata dal debuggerfintantoche' si e' in fase di debugghing( poi rimane libera anchessa).display , led , e pulsanti gia' funzionavano.purtroppo c'e' una piccola dimenticanza sullo stampato .. cioe' 2 resistenze di pullup su sda ed scl(i pullup interni del micro funzionano solo se le porte sono settate in input)ora sto facendo un piccolo protocollo (di 5 o 6 istruzioni) per poter colloquiarecon la scheda attraverso la uart 2.questo e' un esempio: // comandi "WD0 , int" = WRITE DISPLAY , intero // scrive un numero sul dislpay // "WP0 , port,int" WRITE PORT , port , valore intero // scrive un port di uscita o interno // "RP0 , port" READ PORT , port // legge un port di ingresso o interno. /* protocollo = "[at]"+lenght+comandi+"~" esempio per scrivere un port "[at],9,W,P,0,F,F,F,F,f,f,~" in quest'esempio si scrivera' il valore ff nella locazione FFFF*/alla prossima ciaodario
Malagigi1 Posted January 3, 2004 Report Posted January 3, 2004 Un saluto a tutti,sono appena entrato a far parte della famiglia e questo progetto mi ha entusiasmato,sono ormai 7 anni che non lavoro più con l'hardware in quanto sono stato dirottato a programmare software per PLC comunque spero di seguirvi e magari di rendermi utiile. Anche io sono interessato ad avere se possibile la scheda,intanto inizio a perlustrare la ducumentazione ed il software da voi segnalato. Ciao!
Dario Valeri Posted January 3, 2004 Report Posted January 3, 2004 ciaobenvenuto fra noi sto testando in casa la scheda che abbiamo fatto, e inoltre sto costruendo il software di base per usare con semplicita' le cose che ci sonoa bordo scheda.io in passato ho lavorato soppratutto con i processori texas , motorola, intel.ma questi mi sebrano di gran lunga i migliori.per quanto concerne le schede , aspettiamo che passio le feste . io ho in casa ancoraqualche stampato della campionatura.sarebbe bello trovare un numero minimo di interessati per poter comperare i mocro direttamente da grossista (il costo si dimezzerebbe).ciaop.s. iscriviti alla mailing listdario
bit Posted January 15, 2004 Report Posted January 15, 2004 Salve a tutti! Mi sono appena iscritto!Il progetto mi interessa molto, e se è disponibile, mi piacerebbe avere lo stampato per il circuito del micro. O se è possibile farselo da solo il master del circuito. Io sono d'accordo per acquistare il materiale più caro in gruppo.Non so come si svolga il lavoro all'interno di questo gruppo, qualcuno mi potrebbe spiegare un po' come funziona il lavoro?Oltre al circuito stampato, di cosa ho bisogno per seguire le varie esperienze?Ciao a tutti!
Dario Valeri Posted January 17, 2004 Report Posted January 17, 2004 ciaola realizzazione del circuito stampato in casa (artigianalmente ) e' quasiimpossibile .ad ogni modo ho quasi finito la documentgazione (correggendo qualche piccolo errore)per poter far far gli stampati da ditte specializzate.ci sono (disponibili) alcuni stampati della campionatura, cioe' quelli che sto usando ioper testare il tutto.come si lavora?? io ho lanciato delle idee su cosa sviluppare (hardware e software)ed ogniuno con l'ausilio di documentazione pubblica, propria esperienza,fantasia , e con l'aiuto degli altri puo' realizzare qualcosa ,anche se non fa parte delle proposte fatte da me, perche'tutto fa bagaglio di esperienze , e in fondo per cominciare serve solo la scheda , un PC, un alimentatore 9 volt dc ed un cavo seriale ,non standard (grazie ad un mio errore , sob) .poi puoi iniziare .vorri pero' segnalare a tutti che NON e' una scuola ma semplicemente un modo per metterea disposizione dei mezzi per iniziare !! quindi non ci si aspetti dispense da studiare o cose di questo tipo.ma invece ci si ricordi che nell'ambito di questo forum ed in particolare di questo progetto la codivisione delle sperienze e del sapere e piu' che auspicabile (vorri dire obbligatoria ma non vorri essere male interpretato)ciaoa tutti p.s.ricordo a tutti che presto partira' la newsletterdario
sacacetu Posted February 7, 2004 Report Posted February 7, 2004 Ciao a Tutti, siccome il progetto mi interesserebbe, prima di partire volevo sapere quanto verrebbe a costere la realizzazione della scheda "starter kit" ( Stampato, MCU, e componeti vari ) ? Ciao.
Recommended Posts