Pagina non trovata – Quello che è difficile è semplificare, non complicare https://fabrizio.zellini.org Quello che è difficile è semplificare, non complicare Mon, 27 Mar 2023 09:55:08 +0000 it-IT hourly 1 https://wordpress.org/?v=6.4.3 Modifiche al laser cinese K40 https://fabrizio.zellini.org/modifiche-al-laser-cinese-k40 https://fabrizio.zellini.org/modifiche-al-laser-cinese-k40#respond Sat, 12 Dec 2020 10:51:44 +0000 https://fabrizio.zellini.org/?p=1211 Il laser K40 è ad oggi la macchina più economica che ci sia equipaggiata con un tubo laser a co2 da 40 Watt.

Si trovano a un prezzo più che abbordabile per un hobbista ma utilizzarla così come vi arriva è un azzardo.

Prima di accenderla occorre verificare la meccanica e l’allineamento dell’ottica. Ma ancor prima di acquistarla occorre acquistare un paio di buoni occhiali che filtrano la luce emessa dal laser che tra le altre cose non si vede e se anche un riflesso va negli occhi potrebbe provocare danni irreversibili.

Ad ogni modo appena mi è arrivata dopo aver verificato che il tubo funzionasse, ho subito smontato il carrello e ho visto che non era a squadro.

Dopo averlo messo in squadro l’ho rimontato e allineato il fascio del laser.

Il fascio deve essere parallelo all’asse delle Y e delle X, l’allineamento si fa regolando prima le vitine dello specchio principale ( quello vicino all’uscita del laser ), facendo in modo che il laser colpisca sempre lo stesso punto nello specchio secondario, quando il carrello si muove sull’asse delle Y.

Se il punto non si trova nel centro dello specchio secondario occorre spostare quest’ultimo affinchè lo sia, quindi allentare le viti che lo supportano e riposizionandolo.

Fatto questo si regolano le vitine dello specchio secondario affinchè il fascio sia parallelo all’asse delle x, con lo stesso metodo dell’asse delle Y.

Una volta che il fascio è parallelo, se il punto non coincide con il centro dello specchio terziario, si provvede a riposizionarlo affinchè lo sia.

Nel mio caso ho dovuto alzarlo con degli spessori perchè il fascio era troppo alto.

A questo punto è tutto allineato e si verifica che funzioni la parte di controllo, il cui nucleo è la scheda ….

Io ho usato il programma K40 whisperer per testare il tutto.

I problemi o meglio le limitazioni del controller che arriva con il laser sono essenzialmente due:

  • La modulazione del laser è acceso o spento, per cui scordatevi di fare engraving serio
  • Il formato dei comandi non è standard, per capirci, non è gcode

Funziona ma è una grossa limitazione, per cui quello che bisogna fare per convertirlo in qualcosa di più è cambiare il controller.

Prima di fare qualsiasi modifica ho disegnato lo schema di montaggio originale della macchina come riferimento.

Questi controller usano dei firmware open source, Smoothie, Grbl , anche Marlin. Fra questi Smoothie e Marlin sono nati principalmente per pilotare stampanti 3d, ma si possono configurare per pilotare anche laser. Io ho usato grbl, che nel suo default è già configurato per il k40, modificando solo qualche parametro ( $120=5000, $121=5000 $120=1000, $121=1000 ) che, nella versione originale a 24000, mi facevano perdere qualche passo agli stepper.

Per quanto riguarda Grbl, come hardware la scheda che si usa deve essere basata sul micro LPC1769, e avere dei controller dei motori intelligenti, in quanto il firmware compilato che si trova assume che ci siano questi, se non ci sono non parte.

E’ comunque possibile ricompilarlo dopo aver modificato una riga in un .h, affinchè usi dei controller standard, come ho dovuto fare io usando una scheda mks-sgen v1.0 . Non è un problema perchè c’è modo di fare tutto in un docker, ovvero un ambiente già configurato con tutto quanto necessario per la compilazione, quindi niente mal di testa per installare toolchain e combattere con le dipendenze.

Ad ogni modo, se a qualcuno dovesse interessare ho messo il firmware compilato con il relativo .h qui. Basta copiare il binario nella scheda sd che va nel controller e dovrebbe funzionare.

Quando si mette a punto la scheda con il firmware consiglio di provare il tutto prima sul banco, quando è tutto ok poi si monta nella macchina.

Almeno che i motori girino e venga generato il PWM che modulerà il laser per benino.

Per alloggiare la nuova scheda ho dovuto riallocare lo spazio nella macchina, aggiungendo un alimentatore ad hoc per la nuova scheda e una scheda con dei relè per controllare luci, pompa dell’acqua e “air assist” ( in pratica un “soffiatore” che spara aria dall’alloggiamento della lente).

Importante se si realizza la scheda con i relè, usare i soppressori di transiente di tensione, in quanto la sovratensione prodotta dalla commutazione di carichi induttivi, quali la pompa dell’acqua, potrebbe causare il reset del controller, in parole povere, se spegnete la pompa dell’acqua si resetta il controller. Io ho usato il B81130 da 100nF, della epcos, dato che ne avevo una vagonata. In AC, in continua, basta un diodo veloce.

E’ buona cosa anche isolare la porta usb del computer con un “usb isolator“, che evita possibili pericolosi loop di massa. Costa poco ed evita mal di testa.

Uno dei problemi che si incontrano nella conversione è il collegamento dal motore dell’asse X e il finecorsa Y, che sono fisicamente collegati con un cavo flessibile piatto. Il connettore pare sia di difficile reperimento così l’ho smontato dalla scheda originale e ho fatto un piccolo adattatore per collegare finecorsa e motori usando i connettori usati nei controller più diffusi.

Per l’air assist ho progettato con openscad un adattatore ad hoc che ha la possibilità di montare dei connettori aria compressa da 1/4 di pollice. L’aria viene accesa/spenta tramite un interruttore che aziona un’ elettrovalvola.

Dopo aver montato il tutto e verificato che la parte meccanica/elettronica funzionasse, ho iniziato a fare le prime prove di incisione / taglio.

Con i giusti livelli di potenza/velocità sono riuscito a tagliare il compensato da 10mm, occhio quando fate le prove, indossate sempre occhiali che filtrano la lunghezza d’onda del laser e mai lasciare la macchina da sola.

Per quanto riguarda il generare gcode per la macchina, dopo averne provati molti, ognuno con le sue limitazioni/bug/crash, ho deciso di riscrivermi un convertitore da path svg a gcode , un programma che filtra i gcode per cambiare al volo i parametri S e F ( potenza e velocità), un convertitore da immagine raster a gcode, tutti in python3, da riga di comando. Il workflow è semplice, generare il gcode, visualizzarlo con ncviewer, e darlo in pasto al controller con un gcode-sender, meglio se a linea di comando tipo questo.

Riguardo la corrente al laser, consiglio di non andare oltre 10 mA, perchè da prove fatte ( non da me), pare che il laser eroghi già 44 W con quella corrente per cui siamo già in regime di overdrive.

Effettivamente nel mio caso, già con 7 mA a 400 mm/minuto riesco a tagliare compensato da 6 mm. Infatti cambierò lo strumento mettendone uno con fondo scala a 10mA.

]]>
https://fabrizio.zellini.org/modifiche-al-laser-cinese-k40/feed 0
Come programmare il bootloader della scheda GT2560 V3.0 https://fabrizio.zellini.org/come-programmare-il-bootloader-della-scheda-gt2560-v3-0 https://fabrizio.zellini.org/come-programmare-il-bootloader-della-scheda-gt2560-v3-0#respond Sun, 02 Jun 2019 21:50:25 +0000 http://fabrizio.zellini.org/?p=1170 Questa scheda dovrebbe avere un bootloader per Arduino già caricato, ma a me a un certo punto non ha più funzionato e ho avuto la necessità di ricaricarlo, purtroppo però il connettore ISP non c’è (cosa costava mettercelo ?) e in più i segnali chiave che servono allo scopo (MISO,MOSI, CLK) non sono facilmente raggiungibili sullo stampato, l’unico modo è stato quindi quello di intercettarli sulla scheda LCD/lettore SD, collegata alla GT2560 con un cavo piatto flessibile da 40 piedini.
Una volta saldato il connettore, è stato possibile programmare il bootloader, usando l’usbasp, dopo averlo aggiornato alla versione 1.5 , cosa quest’ultima molto importante.

]]>
https://fabrizio.zellini.org/come-programmare-il-bootloader-della-scheda-gt2560-v3-0/feed 0
Adattatore pin 27 per montare 3dtouch su stampanti 3d creality https://fabrizio.zellini.org/adattatore-pin-27-per-montare-3dtouch-su-stampanti-3d-creality https://fabrizio.zellini.org/adattatore-pin-27-per-montare-3dtouch-su-stampanti-3d-creality#respond Sun, 02 Jun 2019 08:03:30 +0000 http://fabrizio.zellini.org/?p=1137 Schema elettrico e foto adattatore fatto in casa.

In pratica è un adattatore uno a uno che porta tutti i segnali tranne il pin 1, che viene usato per controllare il 3dtouch. Dato che in origine questo pin veniva usato per il buzzer, direi che è un bel valore aggiunto. 

Riporto i file di configurazione di Marlin 1.1.9 che ho usato per compilare il firmware.

Non si assume nessuna responsabilità sulla correttezza dello schema

]]>
https://fabrizio.zellini.org/adattatore-pin-27-per-montare-3dtouch-su-stampanti-3d-creality/feed 0
Come connettere un LCD 12864 per Anet A8 sulla scheda Creality V1.1.4 https://fabrizio.zellini.org/come-connettere-lcd-12864-per-anet-a8-su-creality-v1-1-4 https://fabrizio.zellini.org/come-connettere-lcd-12864-per-anet-a8-su-creality-v1-1-4#respond Tue, 21 May 2019 05:23:56 +0000 http://fabrizio.zellini.org/?p=1100 Gli LCD 12864 per anet a8 sono dei display a basso costo con encoder e buzzer per schede di controllo delle stampanti 3d Anet A8. Volendo usarli per altre schede si può modificare il firmware, basato su Marlin o fare un cavo adattatore ( che diventa obbligatorio qualora i piedini di alimentazione non coincidano),in entrambi i casi è necessario conoscere il pinout ovvero la disposizione dei segnali di controllo sui connettori, nel mio caso, avendo una scheda Creality V1.1.4 ho dovuto fare un cavo adattatore sulla base di informazioni trovate qua e là su internet e all’analisi dei segnali con l’oscilloscopio.

Nelle foto seguenti si può vedere il mapping dei segnali del display, dell’encoder e del cicalino sui connettori delle due schede

Non garantisco niente, usate queste informazioni a vostro rischio.

Riferimenti

]]>
https://fabrizio.zellini.org/come-connettere-lcd-12864-per-anet-a8-su-creality-v1-1-4/feed 0
SatHole – un controllore per rotore di antenna basato su Arduino https://fabrizio.zellini.org/sathole-controllore-di-antenna-basato-su-arduino https://fabrizio.zellini.org/sathole-controllore-di-antenna-basato-su-arduino#comments Sat, 20 May 2017 14:00:14 +0000 http://fabrizio.zellini.org/?p=1057 Sathole è un semplice controller per rotori di antenna che emula il protocollo gs232.
E’ basato su hardware a basso costo, Arduino uno o nano
Il Firmware è un “work in progress”, ha un modo “setup”, tramite il quale è possibile settare vari parametri, come la posizione del rotore in base alla tensione dei sensori di posizione, e così via.
I dati di azimut/elevazione sono visualizzati su un display LCD.
Ho usato 4 porte di output per controllare i comandi sx/dx, alto/basso, e due porte analogiche di input per la tensione di feedback della posizione.

Una volta programmata la scheda, sathole va in modalità “setup”, tramite la quale è possibile configurare varie opzioni.
Ci si collega tramite seriale settata 9600 baud, no parity, 8 bit.
Premendo “h” si ha lista dei comandi, è possibile salvare tutti i parametri in eeprom.
Per accedere alla modalità setup basta premere “+++” quando sathole è in modalità emulazione.
Per entrare in modalià emulazione basta selezionare l’opportuna voce in modalità setup.
Setup iniziale:
Si può usare un emulatore di terminale seriale o il serial monitor di Arduino, scegliendo “carriage return” per il fine linea.
I dati di calibrazione vengono scritti nella eeprom: al primo avvio non essendoci sul terminale seriale viene riportato “Calibration data missing :please calibrate”
A questo punto, in modalità comandi ( per chiarire, quando funziona il tasto h= help) si sposta il rotore a 0 gradi e si immette il comando “set-a0 0”. Poi si sposta al massimo ( es. 350 gradi), e si immette il comando “set-a1 350”. La stessa cosa con l’elevazione a 0 “set-e0 0” e a 180 “set-e0 180”. Questo serve per creare il rapporto tra la tensione sull’adc di arduino e la posizione in gradi del rotore, (es. a 0 gradi corrisponde 0.1 volts e a 350 4 volts) il tutto viene automaticamente scritto nella eeprom di arduino, va fatto solo una volta.

Quando è tutto calibrato si può verificare il funzionamento con i comandi “az <azimuth>” e “el <elevazione>”, ( es. az 180 per puntare a sud ), poi dando il comando “gs232a” si attiva l’emulazione gs232 che da modo a tutti i programmi che la supportano di comandare il rotore.

Se serve, dalla modalità emulazione per tornare a quella comandi/debug basta immettere “+++” ( se qualcuno si ricorda, come nei vecchi modem Hayes)


Codice sorgente su github

73

]]>
https://fabrizio.zellini.org/sathole-controllore-di-antenna-basato-su-arduino/feed 2
Arduino + riga digitale = arDROvino https://fabrizio.zellini.org/arduino-riga-digitale-ardrovino https://fabrizio.zellini.org/arduino-riga-digitale-ardrovino#comments Wed, 25 Jan 2017 08:15:36 +0000 http://fabrizio.zellini.org/?p=1042 Di recente ho aggiunto alla mia combinata un display digitale, usando una riga digitale e una scheda Arduino.

I segnali clk e data sono connessi al pin 8 & 9; il pin clk da arduino è portato a essere compatibile con logica a 3.3 volt tramite una semplice rete resistiva. Fate riferimento a github per il codice sorgente e ulteriori dettagli.

Molte grazie a Yuriy e a tutti quelli che condividono la loro conoscenza.

]]>
https://fabrizio.zellini.org/arduino-riga-digitale-ardrovino/feed 1
Se si rompe il filo del cambio della bici… https://fabrizio.zellini.org/se-si-rompe-il-filo-del-cambio-della-bici https://fabrizio.zellini.org/se-si-rompe-il-filo-del-cambio-della-bici#comments Wed, 11 Feb 2015 22:11:01 +0000 http://fabrizio.zellini.org/?p=1007 A chi non è mai capitato ?
Il problema è che se si rompe il cavo la catena si posiziona sul rocchetto più piccolo quindi sul rapporto più lungo.
Questo può essere un problema se per arrivare a casa si devono percorrere tratti in salita.

P1040023
Una soluzione è quella di portare con se una fascetta apribile, con la quale andremo a posizionare il deragliatore nella posizione voluta, questo ci consente di arrivare a casa senza problemi.

]]>
https://fabrizio.zellini.org/se-si-rompe-il-filo-del-cambio-della-bici/feed 1
decoding La Crosse TX20 Anemometer data with Arduino https://fabrizio.zellini.org/decoding-la-crosse-tx20-anemometer-with-arduino https://fabrizio.zellini.org/decoding-la-crosse-tx20-anemometer-with-arduino#comments Sun, 08 Feb 2015 22:30:38 +0000 http://fabrizio.zellini.org/?p=984 Thanks to the excellent work done by John Geek I wrote a small sketch for Arduino to decode and display data coming from the anemometer.

A simple level translator is needed to adapt the signal coming from the anemometer to Arduino board.

level-shifter

The level translator also inverts the signal coming from pin 1 of the anemometer.

The following picture shows on the top track the frame coming from TX20, on the lower track the sampling signal, used to debug the sketch.

scope

 

P1040014tx20

P1040016

The sketch is a proof of concept, it simply prints out the data coming from the anemometer, and can be used as starting point to develop more complex projects.

 

#include <avr io.h="">
#include <avr interrupt.h="">
 
#define _MDEBUG
 
unsigned int icr1;
 
void setup() {
 
// Initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards
#ifdef _MDEBUG
  pinMode(13, OUTPUT);      
#endif
 
  Serial.begin(9600);
  pinMode(2, INPUT);
 
  EICRA  = _BV(ISC01);    // set INT0 to trigger on falling edge
  EIMSK = _BV(INT0);     // Turns on INT0
 
  icr1 = 19500;
 
  TCCR1A = 0;     // set entire TCCR1A register to 0
  TCCR1B = 0;     // same for TCCR1B
  OCR1A = icr1;
}
 
volatile int rx=0;
volatile int bitcount=0;
volatile char pin;
volatile unsigned char sa,sb,sd,se;
volatile unsigned int sc,sf;
 
void loop(){
  char a[90];
  unsigned char chk;
 
  // Main code loop
  // TODO: Put your regular (non-ISR) logic here
 
  if (rx){
    chk= ( sb + (sc&amp;0xf) + ((sc&gt;&gt;4)&amp;0xf) + ((sc&gt;&gt;8)&amp;0xf) );chk&amp;=0xf;
    if (sa==4 &amp;&amp; sb==se &amp;&amp; sc==sf &amp;&amp; sd==chk){      
      sprintf (a,"%d\t%d\n",sb,sc);
      Serial.write (a);
    }
    rx=0;
  }
 
}
 
// pin change interrupt ( start of frame )
ISR (INT0_vect){
 
  // reset accumulators
  sa=sb=sd=se=0;
  sc=0;sf=0;
 
  EIMSK &amp;= ~_BV(INT0);     // disable pin interrupt
 
  bitcount=41;
 
  TCCR1B = 0; // stop timer
  TCNT1 = icr1&gt;&gt;1; // set counter
  TIFR1 |= _BV(OCF1A); // clear timer interrupt
  TCCR1B = _BV(WGM12)| _BV(CS10); // start timer
  TIMSK1 |= _BV(OCIE1A);  // enable timer interrupt
 
}
 
// timer irq ( bit accumulator )
ISR(TIMER1_COMPA_vect){
 
  if (bitcount==1){
    TIMSK1 &amp;= ~_BV(OCIE1A); // disable timer interrupt
    EIFR |= _BV(INTF0);     // clear pin interrupt flag
    EIMSK = _BV(INT0);      // enable pin interrupt flag for next frame
 
  }
  if (bitcount&gt;0){
    pin = digitalRead(2);
 
    if (bitcount &gt; 41-5){
      // start
      sa = (sa&lt;&lt;1)|pin;
    } else
    if (bitcount &gt; 41-5-4){
      // wind dir
      sb = sb&gt;&gt;1 | (pin&lt;&lt;3);
    } else
    if (bitcount &gt; 41-5-4-12){
      // windspeed
      sc = sc&gt;&gt;1 | (pin&lt;&lt;11);
    } else
    if (bitcount &gt; 41-5-4-12-4){
      // checksum
      sd = sd&gt;&gt;1 | (pin&lt;&lt;3);
    } else 
    if (bitcount &gt; 41-5-4-12-4-4){
      // wind dir, inverted
      se = se&gt;&gt;1 | ((pin^1)&lt;&lt;3);
    } else {
      // windspeed, inverted
      sf = sf&gt;&gt;1 | ((pin^1)&lt;&lt;11);
    }     
 
 
//digitalWrite( 13, digitalRead( 13 ) ^ 1 );
#ifdef _MDEBUG
    digitalWrite( 13, 0 );
    digitalWrite( 13, 1 );
    digitalWrite( 13, 1 );
    digitalWrite( 13, 0 );
#endif
    bitcount--;
    if (bitcount==0){
      // all data received:
      rx=1;
    }
  } 
}
 
</avr></avr>
]]>
https://fabrizio.zellini.org/decoding-la-crosse-tx20-anemometer-with-arduino/feed 15
Inseguitore solare autocostruito a due assi con il Raspberry Pi https://fabrizio.zellini.org/inseguitore-solare-autocostruito-a-due-assi-con-raspberry-pi https://fabrizio.zellini.org/inseguitore-solare-autocostruito-a-due-assi-con-raspberry-pi#comments Wed, 19 Nov 2014 19:06:16 +0000 http://fabrizio.zellini.org/?p=944 Un inseguitore solare è un dispositivo che serve a mantenere i raggi del Sole perpendicolari ad una superfice come quella dei pannelli fotovoltaici, al fine di massimizzare lo sfruttamento dell’energia.

In questo post presento un prototipo di inseguitore solare a due assi ( beccheggio e rollio – pitch & roll in inglese).

L’obiettivo era l’economicità e la flessibilità, per cui ho realizzato la struttura con profilati di ferro di recupero e ho usato barre filettate e dadi al posto dei cuscinetti ( anche se poi ho trovato dei cuscinetti con supporto molto economici che userò per la versione 2.0).
solar tracker at zenith position solar tracker frame
La movimentazione dei due assi è affidata a due attuatori lineari di quelli per movimentare grosse parabole TV, la gestione degli attuatori è affidata a un Raspberry Pi che, essendo connesso in LAN, mi consente tra le altre cose di gestire da remoto l’inseguitore.
solar tracker controllerschema elettrico interfaccia con RaspberryPI

Veniamo al software di controllo:

È stato realizzato in Python e fa uso della libreria GPIO oppure pigpio, configurabile. Attualmente il tutto gira su una versione RT del kernel  e libreria pigpio.
Sono state utilizzate tre porte di IO per ogni asse, due in uscita e una in ingresso: le due in uscita rispettivamente accendono l’attuatore  e  determinano il verso del movimento ( estensione/retrazione, invertendo la polarità di alimentazione); quella in ingresso conta gli impulsi che viene generato dal trasduttore ad ogni giro della vite dell’attuatore.

L’architettura del software prevede un “tracker server” e uno o più client.
Il tracker server è un processo che ascolta ( listen ) su una porta TCP/IP i comandi che devono essere impartiti ai motori: calibrate, goto position, goto angle, goto azimuth and elevation, lock,unlock
La struttura dell’inseguitore andrebbe montata in direzione sud->nord, tuttavia se per motivi estetici o pratici la struttura deve essere orientata diversamente, è possibile configurare il “motor server” in modo che applichi al comando “goto azimuth and elevation” un offset in gradi all’azimuth.
Il comando lock “dice” all’inseguitore di bloccarsi su una posizione ed ignorare i comandi successivi, è utile per bloccare l’inseguitore in caso di vento forte, in posizione orizzontale, o neve, in posizione verticale.

Il client fondamentale è quello che calcola la posizione del Sole nel cielo e la manda al server. Durante la notte l’inseguitore viene messo nella posizione orizzontale.

Un altro client monitorizza la velocità del vento e blocca l’inseguitore in posizione orizzontale tramite il comando “lock” in caso di vento forte.

Ho sviluppato poi un altro semplice client che consente di mandare comandi al motor server tramite tastiera, per eseguire diagnostica e debug.

La parte più complessa è il tracker server, in quanto deve gestire tutti i segnali dei motori ed effettuare la conversione di azimuth/elevazione in valori lineari di spostamento dei due motori di beccheggio e di rollio.

Per convertire le coordinate celesti del Sole espresse come azimuth ed elevazione in angoli di beccheggio e di rollio ho usato la geometria dei vettori 3d.

Gli angoli di beccheggio e di rollio sono stati poi convertiti in valori di estensione degli attuatori lineari, una volta modellizzata la struttura meccanica dell’inseguitore, il problema è risultato essere quello di calcolare un lato di un quadrilatero dati due angoli opposti e tre lati.

pitch

Il risultato è il prototipo che vedete nel video

Alcune foto dell’inseguitore installato

L'inseguitore solare alle 12 di una giornata di dicembre

L’inseguitore solare alle 12 di una giornata di dicembre

L'inseguitore montato, l'8 dicembre alle 12

L’inseguitore montato, l’8 dicembre alle 12

Scatola con Raspberry Pi + elettronica di comando

Scatola con Raspberry Pi + elettronica di comando

Alcune foto / video della versione con cuscinetti

inseguitore solare

Versione 2.0 dell’inseguitore, con cuscinetti

inseguitore, frame, telaio

inseguitore solare

linear actuator interface schematic diagram

linear actuator interface

reed output, filtered

solar tracker frame

work in progress

raspberry and linear actuator interface

hardware

IMG_20141216_144452 IMG_20150108_065338

L’inseguitore versione 2.0 installato

Finalmente il frutto del lavoro, i due inseguitori che lavorano in timelapse

]]>
https://fabrizio.zellini.org/inseguitore-solare-autocostruito-a-due-assi-con-raspberry-pi/feed 10
Messaggio “Sim inserita” – riavviare su Android https://fabrizio.zellini.org/messaggio-sim-inserita-riavviare-su-android https://fabrizio.zellini.org/messaggio-sim-inserita-riavviare-su-android#comments Fri, 03 Oct 2014 08:56:18 +0000 http://fabrizio.zellini.org/?p=941 Recentemente ho avuto dei problemi con questi strani messaggi che trovavo ogni tanto la mattina sul telefonino, oltre a questo il messaggio diceva che dovevo riavviare il telefono.
Col tasto back, comunque, il telefono funzionava correttamente anche senza doverlo riavviare.
Ho subito pensato a un problema hardware o a un falso contatto della sim, ho provato a toglierla e rimetterla un paio di volte ma il messaggio compariva lo stesso, sempre la mattina ma non sempre, effettivamente, a rigor di logica, il falso contatto mi sembrava improbabile, dato che il telefono era stato fermo tutta la notte!

Cercando poi su Google ho trovato questo post che sembra descrivere il problema.
In pratica sembra che quando la rete cellulare non è disponibile e viene attivato il GPS ( quando il telefono è in standby – aggiungo io ) viene fuori il problema.
Il gps di solito viene attivato da qualche applicazione in background: Se avete, come me, un widget che presenta i dati meteo è molto probabile che lo accenda ogni tanto per acquisire la posizione. Disattivando questa opzione si risove il problema.
Ripensado poi a conferma di ciò il problema è cominciato a venir fuori quando ho spostato il telefono da una stanza dove il segnale della rete cellulare veniva riportato con 2 tacchette a una dove veniva riportato con 1 sola, probabilmente ogni tanto si sconnetteva e se contemporaneamente il widget meteo accendeva il gps poteva venir fuori il problema.
Speriamo si risolva col prossimo aggiornamento del firmware ( nel mio caso KitKat 4.4.4 )

]]>
https://fabrizio.zellini.org/messaggio-sim-inserita-riavviare-su-android/feed 1