martedì 29 ottobre 2013

Video presentazione Linux Day 2013 - Nemo Rov

Il video dell'intervento al Linux Day 2013
La prima parte e' tenuta da Francesco Mugnai con la presentazione dell'esperienza sulla Costa Concordia mentre nella seconda viene spiegato con qualche dettaglio maggiore le caratteristiche del ROV






File presentazione Libreoffice
File presentazione Pdf

lunedì 28 ottobre 2013

Importanza del cavo USB

Un amico e' mi ha chiesto su un aiuto per recuperare i dati dal suo disco esterno Lacie. Questo modello, riportato nella foto, presenta  un cavo USB esterno sempre attaccato al case in alluminio che ovviamente si era tranciato nel punto di maggiore tensione 


Il primo istinto e' stato quello di trovare un set di chiavi torx per aprire il case quando e' stato notato che il cavo esterno era facilmente rimuovibile e sotto il connettore grigio si nascondeva una rassicurante mini Usb.

E' stato quindi recuperato quindi il primo cavo mini Usb presente in ufficio .. un cavo retrattile come quello riportato come esempio nella foto sottostante

Una volta connesso il cavo al disco ed al computer il disco fisso ha iniziato a girare emettendo dei tipici ticchettii spesso indicatori di disco fisicamente rotto.
Visto che era improbabile anche la rottura del disco ho suggerito di sostituire il cavo retraibile con un normale cavo mini USB (caratterizzato da una sezione maggiore)

A questo punto il disco ha iniziato a funzionare correttamente. L'ipotesi piu' probabile e' che il cavo retraibile non fosse in grado di alimentare in modo corretto il disco che quindi provava a mettersi in moto ma non avendo corrente a sufficienza emetteva il rumore sopra descritto

Force Gauge SM-1000N

Un piccolo riassunto sulle caratteristiche sul Force Gauge SM-1000N da accoppiare ad Arduino Due

Prima di tutto come funziona un Force Gauge
Sulla barra sono montati quattro Strain Gauge; quando si ha una flessione a causa di una forza verso il basso si ha che i sensori superiori si estendono (seppur di poco) mentre quelli inferiori si comprimono

i quattro Strain Gauge sono montati con una configurazioni a ponte di Wheatstone in cui a due estremi opposti (A-C) viene inserita l'eccitazione (l'alimentazione) mentre agli altri due capi opposti (B-D) si effettua la misura


La resistenza interna e' piuttosto modesta (attorno a 350 Ohm)

Per il taglio anulare sono necessari due Force Gauge



Per i carichi di esercizio della prova di taglio anulare (da 0  a 20  Kg) si osserva che la tensione in uscita dal sensore e' molto modesta. con valori massimi inferiori ai 10  mV


Curve di calibrazione sperimentali

Un altro aspetto di interesse e' la presenza di tensioni negative per il primo tratto di curva di taratura del sensore 2. Visto che Arduino non registra tensioni negative sugli ingressi analogici si deve creare un offset sulla tensione in modo da registrare sempre tensioni positive. 

Demone avahi su Raspberry/Raspbian

Oramai uso Raspberry praticamente sempre in modalita' headless ovvero senza tastiera e monitor attaccati ed interagisco via SSH o via Web. Il principale problema in questo modo, essendo la connessione WiFi regolata da un DHCP, e' di indovinare ogni volta quale indirizzo dinamico e' stato attribuito alla Raspberry (la modalita' normale e' guardare dentro al router come sono associati i vari dispositivi)

Una soluzione alternativa molto valida e stranamente non implementata di default ne' in Raspbian ne' in PiBang (mentre lo e' in  Debian standard) e' utilizzare il demone Avahi

Questo demone si installa mediante

apt-get install avahi-daemon

e permette di avere una sorta di DNS interno alla rete locale in cui i vari dispositivi che supportoano il protocollo di annunciarsi

Una volta installato ed avviato il demone non e' quindi necessario conoscere ogni volta l'indirizzo dinamico ma basta chiamare la macchina con il suo nome (che non cambia mai)


per esempio in una configurazione standard per cercare una Raspberry con montato  Raspbian si dovra' cercare
raspberry.local

mentre su PiBang
pibang.local

ovviamente i nomi identificativi devono essere univoci all'interno della LAN

martedì 22 ottobre 2013

Linux Day 2013 - Pistoia

In preparazione per il Linux Day 2013 a Pistoia. L'intervento sara' dalle 11.30 alle 12.00 ma spero di esserci sia prima che dopo per fare due chiacchere



Problemi su Mediacom 850i


Ieri sera il bambino stava guardando un film su tablet Mediacom 850i quando si sono esaurite le batterie.
Ho messo in carica il tablet ed il led di ricarica ha funzionato in modo corretto

Il giorno successsivo, con ricarica completa, ho provato a riaccendere il dispositivo. Niente da fare, completamente morto.


Stavo gia' pensando di ricomprare un tablet quando per puro divertimento ho provato a ripetere la procedura per flashare la ROM gia' presentata in questo precedente post
Curiosamente, con lo schermo completamente oscurato, il tablet era gia' in modalita' di recovery e quindi e' stato facile rimontare la ROM e riavviare il sistema. Certo che non si tratta di un tablet per principianti

lunedì 21 ottobre 2013

Lettura valori analogici su Arduino Uno ed Arduino Due

Un amico mi ha chiesto la possibilita' di monitorare uno strumento da laboratorio per taglio anulare (si tratta di una strumentazione geotecnica) mediante Arduino

Lo strumento e' sostanzialmente un Force Gauge SM 1000-N capace di misurare carichi fino a 1000 N.
I collegamenti sono piuttosto semplici. Vi e' una alimentazione da 15 Vcc e due cavi di misura

Il problema e' il tipo di uscita dello strumento che risulta essere di pochi milliVolt (al massimo di qualche decina di milliVolt) al contrario dello strumento visto in questo post


Per questo motivo avevo escluso a priori l'utilizzo dell'Arduino Uno perche' ha una sensibilita' (nel migliore delle ipotesi) di 5 mV

Arduino Due invece dovrebbe avere una sensibilita' nettamente superiore perche' monta un convertitore analogico digitale da 12 bit (4096 livelli al contrario dell'ADC a bit 10 e 1024 livelli della Uno) ed ha un fondo scala a 3.3 V (5.0 V Arduino Uno). Per questo motivo, con un rapido conto, la minima lettura dell'Arduino Due doveva essere 3.3V/4095 = 0.8 mV...perfettamente in linea con le tensioni che avevo bisogno di misurare

Una volta connessa l'Arduino Due al Force Gauge ed un multimetro per riferimento e' stato chiaro che qualcosa non tornava. Per tensioni misurate di circa 7 mV la risposta della Arduino Due era compresa tra 3-4 (in linea teorica doveva essere circa il doppio ovvero tra 8 e 9)

Frugando su Internet ho trovato questo interessante post che entra nel dettaglio dell'ADC di Arduino Due mostrando come l'offset possa essere anche molto alto (20 mV) rendendo difficoltose le misure di tensioni molto basse. Fra le altre cose e' interessante l'influenza di avere una tensione di riferimento stabile anche per l'Arduino oltre che per lo strumento di misura

Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...