Belinonda 7

Belinonda 7 e' una piccolissima scheda basata sul PIC12F1840. Si tratta di un PIC a 8 bit classificato da Microchip come "mid range" come memoria e potenza di calcolo, ma in un package a soli 8 piedini. Ha 4K words di flash, 256 bytes di ram e 256 bytes di eeprom non volatile. Le words di programma sono di 14 bit l' una (il PIC ha un' architettura Harvard), quindi la memoria programma si puo' definire di 7 Kbytes. La versione scelta e' quella SOIC, un SMD passo 1,27 mm (0.05"), molto compatto, ma ancora agevole da saldare. In figura e' confrontato con le solite monetine.


Malgrado le ridottissime dimensioni, tra CPU, flash, ram e periferiche contiene all' incirca 70-80000 transistor. Si puo' trovare dai soliti RS e Mouser a meno di due euro. Su otto piedini due sono di alimentazione e ne restano sei. Grazie alla solita riconfigurabilita' dei piedini offerta da Microchip con quei sei e' possibile fare un sacco di cose. Il chip contiene unfatti un' interfaccia seriale (UART), un' interfaccia I2C, un' interfaccia SPI, quattro ingressi analogici, un' uscita analogica, tre timers e interrupts vari. Anche il piedino di reset (MCLR) e', volendo, riutilizzabile.


Si perde pero' la possibilita' di resettare e, volendo farlo, occorre spegnere e riaccendere il circuito. Negli esempi proposti questa possibilita' non viene utilizzata. Il circuito e' stato pensato originariamente per fungere da ponte fra UART e I2C, visto che quest' ultima interfaccia e' di difficile accesso da parte di un PC, e talvolta anche da parte di alcune schede basate su ARM. L' interfaccia seriale invece c' e' dappertutto. Perche' I2C ? Perche' in genere i sensori (pressione, temperatura, accelerometri, magnetometri, giroscopi) sono accessibili tramite questa interfaccia. Il PIC12F1840 e' alimentabile da 2.3 a 5.5 volt, ma come al solito NON SI POSSONO MANDARE SULLE LINEE DI SEGNALE TENSIONI SUPERIORI A QUELLA DI ALIMENTAZIONE. Per cui la soluzione scelta e' quella ormai standard presso i produttori cinesi delle breakout boards da interfacciare: alimentazione a 5 volt, regolatore di tensione, e funzionamento del chip e linee di segnale a 3.3 volt. In tal modo la scheda e' alimentabile dal PC cui e' interfacciata tramite le ormai comuni interfacce USB-seriale disponibili a pochi euro, che le girano i 5 volt ricevuti dal PC, MA CHE HANNO LE LINEE DI SEGNALE A 3.3 VOLT. Altro grande vantaggio di questi convertitori e' che dal lato PC il software vede una seriale, magari virtuale, ma seriale. Programmare un' interfaccia USB lato PC non e' per tutti, se fosse necessario molti hobbisti si scoraggerebbero. Anche il grande maestro Arduino usa questa soluzione, l' unica differenza e' che il chip convertitore, il solito FTDI, e' on board invece che esterno. In figura lo schema elettrico.


La sezione alimentazione e' quindi costituita da un condensatore ceramico da 0.1 microfarad sull' ingresso a 5 volt, un diodo di protezione SM07 (versione SMD del solito 1N4007) contro le inversioni di polarita' in alimentazione, e un regolatore di tensione a 3.3 volt Microchip TC1262 nel package SOT223. Il TC 1262 puo' erogare 500 mA e ha una tensione massima in ingresso di 6 volt. Considerando la caduta di tensione del diodo, in ingresso non bisogna assolutamente superare i 6.7 volt. Comunque la board e' pensata per essere alimentata o dall' USB di un PC, o, in stand-alone, da un power bank, fatto anche lui per erogare 5 volt stabilizzati. Attenzione ! Esiste in commercio il regolatore L1117 della ST, sempre in package SOT223. La piedinatura e' diversa e i due chip NON SONO INTERCAMBIABILI. A valle del regolatore si trova un solo condensatore, un 4.7 microfarad ceramico non induttivo. L' ispirazione viene da un circuito giapponese della New Japan Radio (NJR), e secondo me funziona assai bene. E' un po' costoso, ma l' affidabilita' a lungo termine e' superiore a quella di un elettrolitico o di un tantalio. E' disponibile presso RS con il codice 741-6821 . Infine ci sono un LED e la sua resistenza di carico, ambedue 0603. Il LED indica quantomeno il corretto funzionamento dell' alimentazione. Su una scheda a bassissimo consumo l' assorbimento del LED puo' essere significativo. Trattandosi pero' anche di una scheda destinata ad essere autocostruita, il LED puo' essere omesso. In alternativa si puo' mettere una resistenza molto grande. Con un LED rosso e 4700 0hm l' assorbimento e' circa 340 microamperes e l' indicazione di power-on rimane visibile. Poi ci sono solo piu' il PIC e i connettori. Le resistenze di pull-up richieste da I2C non ci sono, perche' darebbero fastidio in caso di uso diverso dei piedini, e perche' comunque sono gia' presenti sulle breakout-boards dei sensori da interfacciare. Lo schema del circuito stampato e' visibile nelle figure, ambo i lati


e sopra e sotto separati.


Le dimensioni sono ridottissime 15.2 X 22.4 mm, ci sono solo due fori di collegamento tra le facce (vias), e ci sono anche tre piccoli fori per il fissaggio. A differenza delle mille schede a microprocessore in commercio, ricchissime di piedini, ma povere di alimentazioni, qui e' stata fatta una scelta opposta. Come si vede in figura,


dei 14 piedini disponibili sui connettori, quattro sono masse, tre sono i 5 volt, in parallelo fra loro, e una e' il 3.3 volt. La scheda e' alimentabile da uno qualsiasi (ma solo uno!) dei tre piedini a 5 volt, e puo' alimentare a sua volta due periferiche a 5 volt e una a 3.3. Il 3.3 volt E' UN' USCITA, e puo' erogare fino a 500 mA. meno l' assorbimento del PIC (massimo 3 mA piu' la corrente erogata dai pin di I/O, indicativamente 100 mA max). Essendo un' uscita il piedino a 3.3 volt NON PUO' ESSERE USATO PER ALIMENTARE LA SCHEDA, IL REGOLATORE SI DANNEGGIA ! Con questa ricchezza di piedini la scheda in stand-alone pertanto puo' alimentare ad esempio sia un sensore di pressione o temperatura I2C che un convertitore seriale-Bluetooth o seriale-Wi-Fi, ed essere usata per la trasmissione wireless dei dati acquisiti. Nelle figure si vede la scheda completa, ancora con PCB autocostruito,



lato PIC e lato alimentazione.Per i files .sch e .brd di Eagle Cad free, cliccare qui. Trattandosi di una scheda da autocostruire, sui fori passo 2.54 si possono montare i connettori preferiti: maschio, femmina, diritti, a 90 gradi. Qui sono mostrati connettori maschi a 90 gradi. La scelta a 90 gradi e' per avere una cosa piatta, eventualmente inseribile nei vestiti per qualcosa di indossabile. Per i connettori maschi, invece dei connettori femmina di Arduino, il discorso e' piu' complesso. La scheda e' pensata per essere assemblata con le periferiche usando i breadboard wires, sia a livello prototipale che definitivo. Per cui la soluzione migliore e' quella in uso da tempo immemorabile nei cablaggi automobilistici, che hanno i maschi sulle centraline e le femmine sul cablaggio. I connettori piu' a rischio di danno sono quelli femmina, ed e' infinitamente piu' facile cambiare un connettore o un capocorda sul cablaggio che su una centralina. Comunque su un autocostruito ognuno puo' fare quello che vuole, ed essendo i breadboard wires disponibili anche con capocorda maschi, rimane possibile interfacciare schede con connettori femmina gia' montati. La scheda va programmata con il programmatore PICKit 3 della Microchip, attraverso l' interfaccia ICSP. Il PICKit 3 ha il connettore femmina, ma anche montando il connettore maschio, come si vede in figura,


non lo si puo' infilare direttamente a causa dei contatti adiacenti. I contatti dovrebbero entrare completamente facendo sparire la parte dorata. Anche qui vengono in soccorso i breadboard wires. I contatti sul connettore sono nello stesso ordine del PICKit 3, per cui e' difficile sbagliarsi. Il sesto contatto non si usa. Nell' immagine Belinonda 7 collegata al PICKit.


I cavi sono tipo maschio dalla parte del PICKit, e tipo femmina dal lato di Belinonda 7. Sul connettore dell' altro lato e' collegata l' alimentazione, da collegare a un power bank. Malgrado la piccolezza e la modestia di risorse, con la scheda Belinonda 7 e' possibile fare certe cose che molti fanno con Arduino, senza dover poi sacrificare una scheda Arduino completa per il circuito definitivo. Infine si puo' dire che le proposte in rete di "open source" hardware sono innumerevoli, a partire da Arduino stesso. Pero' nel 99 per cento dei casi si tratta di oggetti assolutamente non autocostruibili da un hobbista medio (e nemmeno uno evoluto). Basti pensare a tutti gli integrati in package BGA. Belinonda 7 invece e' proprio alla portata di tutti. Negli altri casi il valore aggiunto dell' "open source" e' tutto a vantaggio delle ditte concorrenti. Qui invece il valore aggiunto, poco o tanto che sia, e' tutto a vantaggio del singolo hobbista. Per alcuni esempi applicativi vedere la pagina applicazioni di Belinonda 7. I sorgenti proposti sono minimali, visto che non si possono prevedere le esigenze di tutti. Tuttavia il codice essenziale al funzionamento dell' applicazione proposta c' e' tutto, e decentemente commentato. Un indiscutibile vantaggio del PIC rispetto ad Arduino, e' che la velocita' del clock e' regolabile, anche durante l' esecuzione del programma, invece di essere bloccata a 16 MHz. Il PIC12F1840 puo' funzionare fino a 32 MHz, ma tutti gli esempi proposti funzionano con il clock di default a 500kHz, e conseguente minor consumo di corrente. Il rovescio della medaglia e' che le temporizzazioni basate sul clock vanno riviste in caso di cambiamento della sua velocita'. Tutti gli esempi sono per l' IDE di Microchip, MPLabX, e per il compilatore XC8, in versione free.



  • Torna alla pagina Boards
  • Torna alla homepage