Jumping Jack Flash weblog

Diario elettrico Greengo/Zhidou Icaro – 23 agosto 2019: in riserva

Posted in auto elettriche, minicar elettriche by jumpjack on 23 agosto 2019

Ormai vado in giro con questa macchinina da più di un anno, ma ancora non mi era mai capitato di rimanere a secco; però sono un po’ di giorni che vado a lavoro senza ricaricarla, per vedere se per caso non ricaricandola più al 100% si risolve il problema del depotenziamento alla partenza (potrebbe dipendere dalla batteria troppo carica appena finita la ricarica).

Solo che ieri avrei proprio dovuto ricaricarla, perchè stamattina segnava 40% di autonomia rimasta (=40km) e per andare/tornare da lavoro ne devo fare 20; e gli ultimi 20 sono segnati in rosso sull’ “indovinometro”, cioè sarebbero la riserva.

Quindi? Che faccio, parcheggio e prendo l’auto a benzina? No, vabbè, dai, siamo qui per sperimentare, no? Vado.

Primo esperimento: vado al Centro Elettrico Terradura, unica colonnina di ricarica disponibile nel raggio di 10km e lungo la strada per andare a lavoro.

Spiacente, “oggi” non funziona.

Perfetto, e ho anche sprecato 3 o 4 preziosi km per andarci.

E vabbè, andiamo in ufficio. Arrivo con 30%/30km residui; al ritorno entrerò sicuramente in riserva.

Secondo esperimento: vediamo un po’ come funziona il servizio di “ricarica di emergenza per auto elettriche” di E-Gap, attivo da quest’anno.

Le tariffe:

Una vera follia: dai 300 ai 400 centesimi per kWh, a fronte dei 45 alle colonnine pubbliche, i 17 della ricarica domestica diurna e i 7 della ricarica domestica notturna.

Ma c’è di peggio. Dov’è attivo il servizio di ricarica a Roma? Nella zona in cui la colonnina più lontana è a 500 metri, forse 1 km: il centro storico!

Ok, visto che la cosa peggiore che può succedermi è che l’auto entri in modalità lumaca a 1 km da casa, non ci penso proprio a buttare 20 euro per l’esperimento.

Terzo esperimento: andare in riserva

Poco dopo essere partito dall’uffucio, a pochi chilometri da casa, ecco che la lancetta va sul rosso.

Cosa succede?

Niente di niente: la macchina va esattamente come prima, velocità massima 65km/h di tachimetro, assorbimento fino a 250A in partenza.

Percorro altri 2 km… 3… 4… Ne restano ormai 15. Non succede niente; nessuna spia. Ok, ormai sono a 500m da casa, iniziamo con la sperimentazione “pesante”, cioè quella con prospettiva di tornare a casa a piedi (poi come farò a ricaricare la macchina, non lo so; ci penserò… 🙂 ). Inizio a gironzolare intorno casa per salite e discese. 14%… 13%… 12%.. 11%… 10%… ZAC! Potenza improvvisamente segata! Quando affondo l’acceleratore, l’auto rallenta invece di accelerare.

Corrente di picco massima ammessa: circa 50 Ampere.

Corrente continua: 7 Ampere! Cioè 500W al motore.

Velocità massima consentita: 20 km/h.

Nessuna indicazione luminosa o sonora, nè sul cruscotto, nè sul tablet.

Per l’appunto ero in cima a una salita dietro casa, quindi è bastato scendere “in folle” per tornare a casa.

Fine del test.

Risultati del test:

  • L’autonomia disponibile della Greengo/Zhidou Icaro A1 da 6 kW è 90%/90km percorribili con prestazioni standard; gli ultimi 10%/10km si fanno invece a 20 km/h e con 0.5 kW di potenza massima.
  • Nessun preavviso visivo o sonoro di entrata in riserva (sulle D1, almeno quelle in versione Sharing, c’è invece un avviso quando si arriva al 20%).
  • Costo ricarica di emergenza E-Gap: 15-20 euro.
  • Attesa: da 1.5 ore a 24 ore secondo il prezzo pagato (da 300 a 400 centesimi a kWh).

Come risolvere il problema del restare a piedi senza ricorrere a costosissime ricariche di emergenza E-Gap?

Ci vorebbe l’equivalente di una “tanica di corrente”, da poter rapidamente ricaricare con 1-2 kWh raggiungendo a piedi una colonnina.

Tecnicamente, si tratterebbe di mettere insieme un inverter a 220V e una batteria; ma l’inverter dovrebbe essere da 3 kW (grosso quanto una 24ore e del costo, forse, di un migliaio di euro; non so il peso), e una batteria al litio da 1 kWh oggi come oggi peserebbe circa 5 kg e costerebbe 4 o 500 euro.

O sennò basterebbe una batteria da 1 kWh, ma da 72V, collegabile direttamente alla Icaro in caso di emergenza; ma su un’auto vera una batteria per connessione diretta dovrebbe essere da 300 o 400V!

La Icaro consuma 0.100 kWh/km, che probilmente diventano 0.050 in modalità lumaca; un’auto consuma in media 0.150 kWh/km, che forse si riducono a 0.100 a bassissima velocità.

Diario elettrico Greengo/Zhidou Icaro: 2 agoto 2019 – problemi al motore

Ieri mattina, nuovo tipo di problema, questa volta riguardante il motore: all’improvviso, durante la marcia a bassa velocità, l’auto ha iniziato ad accelerare a singhiozzo, nonostante il pedale dell’acceleratore fosse fermo, e l’ago del tachimetro ha iniziato ad andare su e giù a vanvera; mi sono fermato, ho spento e riacceso, e tutto ok, ma la cosa è un po’ preoccupante, perchè sembra decisamente un problema di lettura dei sensori di hall, quei 3 sensori che permettono al motorcontroller di sapere in ogni istante a che velocità e in che direzione si sta muovendo il motore; il che vuol dire che se le letture sono a vanvera, la centralina potrebbe “ingranare la retromarcia” in qualunque momento…

Stamattina ho dato una controllata a fili, cavi e cavetti, ma non mi sembra ci sia nessun falso contatto; però il problema si è ripresentato un paio di volte, e una volta anche quando ero in velocità. Mettendo un momento in folle su “N” e poi di nuovo in drive su “D” il problema sembra risolversi, ma il differenziale non è molto contento di queste accelerazioni/decelerazioni improvvise, quindi questo sembrerebbe proprio essere un motivo in più per disattivare la famigerata rigenerazione in frenata, che secondo la Kelly, che fabbrica il motorcontroller, potrebbe essere la causa degli improvvisi, salturari depotenziamenti.

L’alernativa sarebbe forse cambiare il cavo che contiene i fili del sensore di hall, che magari si è deteriorato; ma il cavo costa 30 euro e la spedizione dalla Cina 35 euro….

Vedremo.

——————

A proposito del problema del depotenziamento, sono arrivato per ora a  questa conclusione:

il depotenziamento ha due possibili cause: il BMS, e il motorcontroller;

  1.  pare che il BMS sia tarato per tagliare la potenza se legge una differenza di tensione superiore a un tot tra cella più alta e cella più bassa; in origine sono 300 V, ma pare che nelle versioni successive di auto e/o BMS abbiano modificato o tolto questo limite, come è stato fatto sulla mia Icaro. Sulla quale però ogni tanto, anche se più raramente, il problema si ripresenta. E quindi entra in gioco una seconda possibile causa.
  2. anche il motorcontroller è tarato per tagliare la potenza in base alla tensione, ma di tutta la batteria: succede sia in accelerazione, se la tensione scende troppo, che in frenata rigenerativa, se la tensione sale troppo.

Abbassamenti eccessivi non ne ho mai rilevati in accelerazione, nonostante i 250A tirati fuori al posto dei 150A di origine (a seguito di una mia rimappatura della centralina), ma in compenso a volte mi è capitato di trovare la batteria a 81V la mattina, appena caricata, e a volte addirittura a 85V se si era appena spento il caricabatterie; trattandosi di 24 celle, significa 3.375V  e 3,54V per cella; se in questa situazione esco dal parcheggio, che ha una rampa in discesa, la tensione probabilmente sale ulteriormente (non ho un logger, devo vedere tutto a occhio), e la centralina va in protezione. Nella schermata 2 del SW di configurazione si possono impostare le soglie di intervento del regen (voce 5, nota 4)

La spiegazione dice:

  • Under voltage [3]: Controller will cut back current at battery voltage lower than 1.1x he value, cut out at the vale, and resume operation at 1.05x value
  • Over voltage [4]: Controller will cut back regen current at 0.95x the value, cut out regen if voltage reachd the setting, and resume regen at 0.95x value.

Traduzioni:

  • Sottotensione [3]: il controller ridurrà la corrente quando la tensione di batteria scenderà sotto 1.1 volte il valore impostato, la taglierà completamente quando raggiungerà esattamente il valore impostato, e la ripristinerà solo quando la tensione risalirà ad almeno 1.05 volte il valore impostato.
  • Sovratensione [4]: Il controller ridurrà la rigenerazione quando la tensione raggiungerà il 95% del valore impostato, lo azzererà al raggiungimento del valore esatto, e ripristinerà al ragiungimento  del 95%.

In questo caso ci interessa il punto 2 (sovratensione), l’altro riguarda la corrente esratta dalla batteria in accelerazione.

La Icaro monta 24 celle LiFePO4; in genere le LiFePO4 (ma ce ne sono tante varianti) hanno tensione massima di 3.33V e tensione di ricarica finale di 3.65V; a livello di batteria quste tensioni equivalgono a 80V e 87,6V. La tensione di ricarica finale permane però solo finchè resta collegato il caricabatteria; quando si stacca, la tensione decade spontaneamente a 3.33V/80V.

Il 95% di questi due valori massimi è:

  • 80.0 * 0.95 = 76 V
  • 87.6 * 0.95 = 83.2 V

Non ho invece modo di sapere quali sono i valori di intervento del BMS, quindi devo supporre che il BMS non effettui nessun intervento, ed agire quindi solo sul motorcontroller, assicurandomi che riduca la tensione di regen quando la tensione supera i 76V, e lo tagli completamente se supera gli 80V.

Purtroppo non ricordo a quanto impostai questa soglia l’anno scorso, però so che sia in ufficio che a casa l’uscita dal parcheggio (occasione in cui spesso si verifica il depoteniamento automatico) c’è una rampa in discesa; se a casa sicuramente parto con la batteria a 80V (a volte anche 81V), in ufficio, dopo 10 km di viaggio, mi pare difficile partire con questa tensione, ma la verità è che non ho mai controllato, mi sono sempre limitato a controllare che la tensione di cella non SCENDESSE sotto livelli critici, non ho mai pensato a verificare che non salisse troppo.

Dovrò quindi risistemare un po’ i parametri della centralina: o disattivo completamente il regen – cosa che renderebbe solo fastidioso, anzichè pericoloso, il problema dei sensori di hall –  oppure cambio la soglia di intervento in modo che la tensione di batteria non superi mai gli 80V a causa del regen.

 

 

Hacking Icaro – centralina GSM – il logger seriale

Posted in minicar elettriche by jumpjack on 13 giugno 2019

Questo primo sketch di prova utilizza una board ESP32 per leggere i dati scambiati tra il microcontrollore e il modem della scheda GSM/GPS della Icaro: vengono letti contemporaneamente i due canali in modo da mantenere la sincronia tra messaggi inviati e ricevuti, e poter meglio ricostruire il dialogo.

Al momento la “registrazione” viene effettuata solo inviando l’output al serial monitor dell’Arduino IDE; una successiva versione memorizzerà i dati o in una SD card, o su un server remoto, in modo che il logger possa essere montato direttamente sul veicolo senza necessità di un PC.

Trattandosi di un generico logger seriale a due canali, può in realtà essere usato per “sniffare” qualunque altra comunicazione seriale tra due dispositivi, o anche per loggare un singolo dispositivo.

Il numero a inizio linea identifica il canale cui si riferisce la linea stessa.


// Greengo/Zhidou/Xindayang GSM logger
// Read data from GSM/GPS logger, from both MCU and MODEM outputs and same time
// using ESP32 board.
// V. 0.1.0 - First working version; logs only to USB/serial port (PC needed).
String tempVal = "";
String row0 = "";
String row1 = "";
int MAXLEN = 50;
void setup() {
// initialize serial:
// Recommendation: use Serial0 and 1 for your duplex devices and serial2 for your debug messages.
// https://github.com/espressif/arduino-esp32/issues/1314
//
// Standard serial pinouts:
// https://circuits4you.com/2018/12/31/esp32-hardware-serial2-example/
// UART RX TX CTS RTS
// UART0 GPIO3 GPIO1 N/A N/A
// UART1 GPIO9 GPIO10 GPIO6 GPIO11
// UART2 GPIO16 GPIO17 GPIO8 GPIO7
// But all 3 HW UARTs can be remapped to any pin.

Serial.begin(9600,SERIAL_8N1, 16, 17); // Input 1 (16 = RX)
Serial1.begin(9600,SERIAL_8N1, 4, 2); // Input 2 (4 = RX)
Serial2.begin(9600,SERIAL_8N1, 3,1); // Standard USB-serial port

Serial2.println("Free heap:");
Serial.println(ESP.getFreeHeap());
Serial2.println("--------------------");

}
void loop() {
// read from port 0, send to port 2:
if (Serial.available()) {
int inByte = Serial.read();
/*
Serial2.print("\t0\t0x");
Serial2.print(inByte,HEX);
Serial2.print("\t");
Serial2.print(inByte,DEC);
if (inByte>31) {
Serial2.print("\t");
Serial2.write(inByte);
}
Serial2.println();
*/
tempVal = String(inByte);
row0 += "\t" + tempVal;
if (row0.length() > MAXLEN) {
Serial2.print("0\t");
Serial2.println(row0);
row0="";
}
}
// read from port 1, send to port 2:
if (Serial1.available()) {
int inByte = Serial1.read();
/*
Serial2.print("\t1\t0x");
Serial2.print(inByte,HEX);
Serial2.print("\t");
Serial2.print(inByte,DEC);
if (inByte>31) {
Serial2.print("\t");
Serial2.write(inByte);
}
Serial2.println();
*/
tempVal = String(inByte);
row1 += "\t" + tempVal;
if (row1.length() > MAXLEN) {
Serial2.print("1\t");
Serial2.println(row1);
row1="";
}
}

}
Tagged with: , , , , , ,

Hacking Icaro – il motor controller o centralina

Posted in minicar elettriche by jumpjack on 12 giugno 2019

Premessa

La mia Greengo/Zhidou/Xindayang Icaro modello A1 monta un motor controller della Kelly di tipo KHB72701C, alimentata dai 12V della batteria di servizio e dai 72V della batteria di trazione, che regge 350A continui e 700A di picco (max un minuto).

Considerando un’alimentazione di 72V nominali (che arriva anche a 80V reali a batteria piena), queste correnti corrispondono a 25-28kW continui e 50-56 kW di picco, a fronte dei 6 kW continui assorbiti dal motore della A1 (8 kW di picco nominalmente, che io ho portato a 12 kW riprogrammando il controller).

 

La comunicazione seriale

Oggi finalmente sono riuscito ad avere dalla Kelly un’informazione davvero preziosa: il protocollo di comunicazione tramite porta seriale RS232!

Normalmente usavo la porta seriale per riprogrammare i vari parametri (corrente massima, velocità massima, frenata rigenerativa), tramite l’apposito SW gratuito della Kelly, ma con queste nuove informazioni diventa ora anche possibile leggere una bella quantità di dati:

  1. current physical switch input status
  2. the current Hall sensor “A” signal status
  3. the current Hall sensor “B” signal status
  4. the current Hall sensor “C” signal status
  5. Copying flash data to ram before flash data reading operation
  6. controller’s model no
  7. controller’s SW version (BCD format)
  8. controller’s Throttle low-end dead zone
  9. controller’s Throttle high-end dead zone
  10. controller’s Brake low-end dead zone
  11. controller’s Brake high-end dead zone

E poi i livelli di questi valori analogici:

Gruppo 1 (comando ETS_A2D_BATCH_READ)

0. Brake (posizione pedale freno)

  1. TPS (posizione pedale acceleratore)
  2. Motor temperature
  3. Control power
  4. Vs (tensione di riferimento di 5V dei sensori di hall)
  5. B+ (tensione batteria di trazione)
  6. Controller’s temperature
  7. Ia
  8. Ib
  9. Ic
  10. Va
  11. Vb
  12. Vc
  13. H_Temperature
  14. V+ (tensione alimentazione motor controller – 12V nominali)
  15. L_Temperature

 

Gruppo 2 (Comando ETS_MONITOR):

0. n/a

  1. n/a
  2. Controller’s temperature in gradi Celsius
  3. B+ (tensione batteria di trazione)
  4. TPSx (?)
  5. BRAKEx (?)
  6. n/a
  7. I (phase current)
  8. zero current (?)

E infine:

  • 9. MSB of controller’s error state
  • 10. LSB of controller’s error state
  • 11. MSB of mechanical speed in RPM
  • 12. LSB of mechanical speed in RPM

La numerazione è quella della stringa di risposta del controller.

I codici di errore

La codifica dei codici di errore è piuttosto complicata, e si basa su questa tabella:

data[9]M 7 6 5 4 3 2 1 0 data[9]L
0x44 0x43 0x42 0x41 0x34 0x33 0x32 0x31
data[10]M 7 6 5 4 3 2 1 0 data[10]L
0x24 0x23 0x22 0x21 0x14 0x13 0x12 0x11

La sua interpretazione è parecchio complicata, ho provato a semplificarla, innanzitutto affiancando le due sotto-tabelle relative a data[9] e data[10], che sono MSB e LSB della word, risultando così questa tabella:

Le istruzioni dicono “if(data[9] << 8) | data[10]=0x4008,The corresponding error code is 0x43and 0x14.”.

Cioè, “se il numero che si ottiene affiancando data[9] e data[10] come nella tabella qui sopra è uguale a 0x4008, vuol dire che il codice di errore è ‘0x43 e 0x14′

Questo perchè 0x4008 si può scomporre in 4 – 0 – 0 – 8, che in binario diventa 0100 – 0000 – 0000 – 1000, e mettendo questa fila di 1 e 0 sotto la tabella, si ottiene che bisogna considerare le sole caselle in coincidenza degli 1, ottenendo quindi appunto 0x43 e 0x14.

Al momento però non dispongo ancora di una tabella che dica cosa significhino questi numeri, vedrò se riesco a farmela dare.

Intanto però ecco un’altra tabella, che riassume tutti i comandi elencati nella nota tecnica che mi hanno mandato:

 

La tabella sopra descrive il formato della stringa di comando da inviare sulla seriale, quella sotto la risposta ricevuta.

A me pare che le caselle rosse siano sbagliate, perchè dicono che il comando dovrebbe essere lungo un byte ma io ne vedo 2, quindi dovrò chiedere chiarimenti… anche se al momento lo stato dei sensori di hall è decisamente la cosa che mi interessa di meno.

Le ultime due righe della tabella sotto, anche se si leggono poco, contengono i dati descritti estesamente a inizio articolo.

Adesso devo “solo” o trovare un programma per leggere/scrivere dati grezzi sulla seriale,… o scrivermelo.

La documentazione

Cercando su google il titolo del documento che la Kelly mi ha mandato ho trovato due link utili:

C’è poi anche la risposta a un mio vecchio post su Endlesssphere, che suggerisce che le Kelly aderiscano allo standard SAE J1939-21 , che permetterebbe di leggere questi dati:

[*]The running direction
[*]The high and low speed
[*]Mode selection
[*]Speed low byte (motor rpm)
[*]Speed high byte (motor rpm)
[*]Low power consumption mode
[*]Subtotal mileage. low byte
[*]Subtotal mileage. high byte
[*]Fault code
[*]DC voltage- low byte
[*]DC voltage – high byte
[*]Motor current- low byte
[*]Motor current – high byte

Questo potrebbe essere un dispositivo utile per collegarsi al CANBUS, tramite PC o tramite Arduino:

https://www.cooking-hacks.com/documentation/tutorials/can-bus-module-shield-tutorial-for-arduino-raspberry-pi-intel-galileo

 

Diario elettrico Greengo Icaro – 31 maggio 2019, di nuovo su strada

Posted in minicar elettriche by jumpjack on 1 giugno 2019

E’ stata davvero dura.

3 mesi di attesa, 1300 euro, e un’auto “forse riparata”.

Dettagli qui:

https://www.forumelettrico.it/forum/assistenza-t5792.html

Riassunto:

  • Sostituito BMS.
  • Sostituita batteria servizi da 12V.
  • Estremamente insoddisfatto dell’assistenza ricevuta.
  • Spesa di 1.300,00 euro.
  • Nessuna possibilità di rivolgersi ad altri per l’assistenza.
Tagged with: , , ,

Hacking Icaro – puntata 4, il computer di bordo – 22 marzo 2019

Posted in minicar elettriche by jumpjack on 22 marzo 2019

Ho trovato un manuale relativo a un  computer di bordo della Etheria (con l’H) sul sito della Eteria  (senz’H)…. che potrebbe forse essere lontanamente utile anche per il computer di bordo della icaro:

OBC – ONBORD COMPUTER – DigiLance Line – DISPOSITIVO DI CONTROLLO DI BORDO E SUPPORTO REMOTO – ver. 1.80

A vederla è totalmente diversa da quella della Icaro, ma chissà…

Ecco alcuni passi interessanti del manuale:

Il Firmware che gestisce TMI/VT è in costante aggiornamento e gli aggiornamenti sono a disposizione dei
possessori dei dispositivi TMI/VT regolarmente acquistati.
Sono disponibili sul sito http://www.Etheria.it nell’Area di Supporto al Cliente. L’ aggiornamento, una volta
scaricato, va copiato su una chiave USB per i TMI e su una scheda SD per i VT. Dovrebbe essere un file
denominato DE_update.zip. Va copiato nella directory principale della chiave USB/scheda SD.
Gli aggiornamenti permettono di migliorare le prestazioni di TMI/VT e/o di fornire delle nuove funzionalità. Si
consiglia quindi di aggiornare costantemente TMI/VT all’ultima versione disponibile per il proprio dispositivo.
Controllate quindi periodicamente sul sito http://www.Etheria.it o contattate l’assistenza per verificare se sono
disponibili nuovi aggiornamenti.

 

C’è anche qualcosa a proposito di “sequenze speciali” per attivare una “modalità avanzata”, necessaria per aggiornare il firmware, ma anche per salvare in una chiavetta USB il log di tutte le trasmissioni effettuate:

[….]

PREMESSA: per la prossima operazione si deve considerare l’area appena sotto il pulsante MENU come esso stesso un pulsante; cioè sarà necessario premere col dito tale zona come se vi fosse un pulsante; tale zona di seguito sarà chiamato SPAZIO

4) E’ necessario entrare nella schermata di Configurazione Avanzata; per fare ciò è necessario tenere premuto il pulsante finché non viene emesso un segnale acustico ed il pulsante non torna alla colorazione da non premuto; a questo punto premere in rapida sequenza i seguenti pulsanti (la sequenza va completata in meno di 3 secondi da quando è stato emesso il segnale acustico per la pressione prolungata di ):
SPAZIO – MENU – SPAZIO – MENU

Attendere che compaia una schermata con un tastierino numerico ed alcuni altri pulsanti. Se non dovesse apparire ripetere la sequenza precedente, premendo con sufficiente decisione e rapidità.

5) Premere il tasto “Aggiorna” come mostrato in figura

Poi c’è anche:

Le procedure di Ripristino sono attuabili tramite l’avvio del TMI/VT in modalità denominata Safe. Non sono
eseguibili in condizioni di utilizzo normali.

E questa strana procedura:

Seguire questa procedura per arrivare al Menù Avvio e Calibrazione:
1. Spegnere completamente il TMI/VT.
2. Per questo passo è necessaria rapidità di intervento e precisione: leggere quanto segue prima di avviare TMI/VT.
Avviando il TMI/VT da spento compare un primo logo su TMI (aspettare il secondo su VT) .
Quando appare premere lo schermo tempestivamente, in un punto qualsiasi […]
Seguendo le istruzioni premere per 3 volte lo schermo in un punto qualsiasi entro 2 secondi.
Se la procedura è eseguita correttamente apparirà un schermata con 2 pulsanti e la scritta “Premere un pulsante per effettuare la scelta desiderata, oppure cliccare su qualsiasi altro punto per ricalibrare”.

Invece questo potrebbe essere un problema, visto che non rispondono al telefono:

Ripristino: Contattare l’assistenza del prodotto per effettuarla (è un’operazione complessa e delicata).

Molto interessante invece questa parte:

Appendice E. Salvataggio su chiave USB dei log
Avviare il TMI/VT normalmente. Per procedere al salvataggio log seguire i seguenti passi:
1) Seguire la procedura illustrata nell’Appendice A nei punti da 2 a 4
2) Digitare il Codice Ripristino o Installatore, fornito dall’installatore. E’ un codice di 8 cifre che attiva
varie funzioni di configurazione avanzata
3) Premere il pulsante Salva Log e seguire le istruzioni (inserire una chiave USB/scheda SD
nell’apposita fessura ed attendere il salvataggio del file “Logs_TMI.zip”, un file compresso che
contiene i vari log di sistema suddivisi in file)
Se presente il modulo OPZIONALE Modem tra essi ci saranno i file contenenti:
• le chiamate effettuate e ricevute
• gli stati inviati
• i messaggi ricevuti ed inviati.

Tagged with: , , ,

Ancora un po’ di storia delle origini della Greengo

Posted in minicar elettriche by jumpjack on 22 marzo 2019

Rricerca precedente

Nuovi dati desunti a partire da questa pagina.

 

  • In principio c’era l’università di Parma.
  • Poi nel 2002 nacque lo spinoff Etheria.
  • Nel 2003 diventa partner di H3G Italia.
  • Nel 2004 il Gruppo SCE Elettronica di Modena acquisisce la quota maggioritaria dello Spinoff, con l’obiettivo di focalizzare la produzione attorno al progetto CameraCar: sistema digitale di videocontrollo per mezzi in movimento.

La loro storia ufficiale finisce qui…. ma io so che nel 2006 nasce il progetto Icaro, realizzato da una ditta di cui ora non ricordo il nome (gener… qualcosa?)  in collaborazione con una certa ditta C.S. di Modena, la “Convertitori Statici”…. quella che poi diventerà “C.S. Group”, attuale proprietaria del marchio Sharengo, marchio di carsharing basato appunto sulle Greengo Icaro.

Cercando “Gruppo SCE Elettronica di Modena” escono fuori vari indirizzo… tra cui anche un http://www.sce.it che avevo già provato qualche mese fa e risultava defunto, mentre ora risulta vivo e vegeto. Questo l’elenco dei siti forniti dalla ricerca:

 

L’home page del sito SCE Group è interessante:

 

Compaiono infatti sia la C.S. che Etheria.

Nella pagina della SCE si legge poi:

BMS E BATTERIE AL LITIO Dal 2007 SCE produce sistemi con celle al litio in sostituzione delle tradizionali batterie al piombo con BMS modulare ITALIANO. 

Cioè, poco dopo la creazione della Greengo e delle Icaro, ovviamente la SCE, ditta di “elettronica personalizzata” è entrata nel mercato dei BMS e delle batterie al litio.

Hacking Icaro: centralina GSM/GPS – puntata 1 (3/3/2019)

Posted in hacking, hardware, minicar elettriche by jumpjack on 10 marzo 2019

L’anno scorso ho provato a smontare ed esaminare la centralina GPS/GSM che rende(va) la Icaro (o meglio i.car.0) una “interconnected car”, inviando a una centrale di monitoraggio remoto decine e decine di telemetrie, come descritto in questo thread:

https://www.forumelettrico.it/forum/centralina-gsm-gps-t2437.html

Alcune foto della centralina.

Qui si vede il contenitore dell SIM card e un connettore a pettine a 12 pin:

Questo è il modulo GPS, un “GA71 V4.0 SiRF star III” a 20 canali:

 

Alcune marcature utili per l’identificazione:

Visione d’insieme; in alto la batteria-tampone ricaricabile al NiMH da 3.6V:

Questi pin, apparentemente interessanti… si sono rivelati completamente muti e inutili:

 

 

Quelli che invece si sono rivelati molto interessanti sono quelli dello strip maschio a 12 pin: collegandolo a un adattatore TTL/seriale per il PC, sono riuscito a dare una sniffata, scoprendo questo:

Per il momento non sono riuscito ad agganciare la rete, nemmeno togliendo la SIM originale e mettendo la mia, ma farò ovviamente altre prove.

Probabilmente, infatti, solo una volta che la scheda riesce ad agganciare la rete fa un tentativo di agganciarsi ai server remoti che un tempo leggevano queste telemetrie; bisogna vedere poi:

  • se la scheda aspetta una risposta dal server prima di inviare dati, o se li invia “a fondo perduto”
  • se è possibile riprogrammare a mano l’indirizzo a cui la scheda tenta di collegarsi
  • varie ed eventuali

Comandi AT:

Diario elettrico Greengo Icaro – 10 Febbraio 2019: dal meccanico

Posted in minicar elettriche by jumpjack on 10 febbraio 2019

Mi sono accorto adesso che nel blog ho registrato la data di ritiro dell’auto ma non la data di consegna al meccanico… Non mi sono segnato la data precisa, comunque era di sicuro tra l’1 e il 10 febbraio.

La riconsegna è avvenuta il 30 maggio, dopo sostituzione di BMS e batteria da 12V (1.300,00 euro in tutto)

Inoltre non ho nemmeno scritto chi è che fa assistenza alle Icaro a Roma… e oggi che volevo portarla dall’ “altro tizio” non riuscivo a ripescare l’indirizzo…

Alla fine l’ho ritrovato:

Moreschini Motors –  Via di Settebagni, 302, 00139 La Cinquina – Bufalotta RM – 06 8713 4344

Qui fanno solo interventi di tipo meccanico, non hanno SW e HW di diagnostica. Al massimo possono “ricondizionare la batteria”: dicono che la fanno scaricare e ricaricare lentamente, in 20 giorni, in modo da equilibrarla.

 

L’altro punto di assistenza è in centro:

Energeko – Via Gregorio VII, 163 (zona San Pietro)

Qui hanno anche il SW e l’HW per fare la diagnostica delle batterie cella per cella.

 

Fuori Roma per l’assistenza si può andare a Livorno, Modena e a  Milano , ma non ho indirizzi precisi.

A Livorno c’è proprio la casa madre C.S.  Group, proprietaria del marchio Sharen’go e dell’ormai defunto marchio Greengo, ma non so dove sia l’officina.

A Modena c’è la GLCar:

G.L CAR di Gianferrari & C. snc – Via Felice Cavallotti, 29 – Formigine (MO) 41043

Tel. 059 573858 – Fax 059 5772196

 

Per Milano non so niente di preciso.

 

Diario elettrico GreenGo Icaro – La manopola del volume

Posted in Diario elettrico GreenGo Icaro, hacking, hardware, minicar elettriche, Uncategorized by jumpjack on 26 gennaio 2019

Primo prototipo: gennaio 2019

Ho finalmente applicato una nuova modifica per migliorare la sicurezza dell’auto: lo spostamento dei comandi dell’autoradio.

In origine la manopola di accensione e del volume si trova tra i pulsanti del cambio; il che vuol dire che si rischia di mettere in folle mentre si guida, tentando di alzare il volume… Un’assurdità.

Così ho comprato un encoder per pochi euro, una manopola per ancora meno euro, ci ho attaccato 4 fili et voila. 🙂

In questa foto apparentemente non si vede niente… ma solo perchè la modifica è molto pulita: semplicemente, al posto della terza manopola, che nel mio modello A1 è finta perchè non è presente l’aria condizionata, ho messo una manopola vera, che dietro è collegata a un encoder con interruttore, avvitato a una tavoletta di compensato che a sua volta è avvitata al cruscotto:

Poi basta allungare i fili che normalmente vanno alla manopola originale, e farli arrivare invece a questa…

Spiegazione morsetti dell’encoder: http://henrysbench.capnfatz.com/henrys-bench/arduino-sensors-and-input/keyes-ky-040-arduino-rotary-encoder-user-manual/

Fin qui si tratta del primo prototipo, realizzato a gennaio; funzionava abbastanza  bene, ma con due difetti minori:

  1. La manopola era un po’ “ballerina”, perchè il perno del decoder era troppo corto per spuntare dalla plastica, quindi ho dovuto fargli una prolunga stampata in 3d, che non è molto precisa, quindi la manopola ha un po’ di gioco.
  2. Per qualche strano motivo, in certe situazioni imprecisate quando alzo il volume, si sente un “bip” e il tablet cambia schermata! Altre volte la radio inizia ad aumentare di volume in modo incontrollabile senza che io tocchi niente.

Il secondo problema mi ha costretto ad aspettare “tempi migliori” prima di pubblicare ufficialmente questo post, per aver tempo di individuare il problema. Poi l’auto è stata in officina per 3 mesi e mezzo… e tra una cosa e l’altra siamo arrivati a giugno.

Versione 2: giugno 2019

In base a quanto descritto nel punto due qui sopra, ho pensato che ci fosse un problema di falso contatto, che in termini elettronici si traduce in resistenza spuria. Ma in teoria un encoder non dovrebbe contenere nessuna resistenza, essendo composto semplicemente di 3 interruttori: due che servono a determinare il verso di rotazione, e un terzo è collegato alla pressione dell’alberino rotante. Comunque ho deciso di fare alcune prove collegando resistenze di valori diversi ai PIN a cui è collegato l’encoder, iniziando dal quello collegato all’interruttore a pressione, e in effetti ho avuto conferma dei miei sospetti. Ecco infatti la lista degli effetti che ho rilevato sul tablet collegando ai due PIN diversi valori di resistenza; tutti i valori sono espressi in kOhm:

  1. 0-0.3 (0-300 ohm): on/off
  2. 0.5-0.9 (500-900 ohm): Home page
  3. 1.9-2.0: Radio giù
  4. 2.0-3.9: Radio su
  5. 3.5-4.5: Cambio banda AM/FM
  6. 4.8-6.5: modalità (musica, film, aux)
  7. 6.8-8.4:  mute
  8. 8.4-17: funzioni non chiare
  9. 17-20: volume su
  10. 22-28: volume giù
  11. 40-70: Navigatore
  12. 100: Telefono

Ovviamente non si tratta di valori precisi ma di intervalli di valori, all’interno dei quali deve cadere la resistenza di valore standard che si utilizza. I valori sono i seguenti:

In base a questa tabella, i valori da usare per attivare le funzioni sopra descritte sono:

  1. On/off: nessuna resistenza
  2. Home page: 560/680/820 ohm
  3. Radio giù: 1.8 K
  4. Radio su: 2.2 K
  5. Cambio banda AM/FM: 3.9 K
  6. Modalità (musica, film, aux): 5.6 K
  7. Mute: 8.2 K
  8. 8.4-17: funzioni non chiare
  9. Volume su: 15 K
  10. Volume giù: 22/27 K
  11. Navigatore: 47/56/68 K
  12. Telefono: 100 K

Sono poi andato a esaminare più da vicino l’encoder e mi sono accorto di una grossa svista: non si tratta di un encoder semplice; è invece collegato ad alcune resistenze di polarizzazione da 1 kOhm:

Quindi erano queste che probabilmente facevano scattare in certe posizioni della manopola le funzioni del tablet; così ho rimosso del tutto l’encoder dal suo PCB e l’ho collegato direttamente al tablet. Per predisporre il lavoro a modifiche successive ho collegato, piuttosto che dei fili volanti, una serie di morsetti; al tablet ho collegato un morsetto femmina a 4 pin, in modo che sia più facile fare le prove successive con resistenze provvisorie volanti; ho poi collegato un morsetto maschio all’encoder, dopodichè ho praticato dei fori negli spazi vuoti della pulsantiera degli specchietti, per implementare le nuove funzioni:

 

 

Come connettori ho usato quelli che ho imparato a conoscere sull’Ecojumbo: impermeabili e a prova di  disconnessione, grazie  a un  sistema  di  aggancio  a molla:

Ho collocato i due nuovi pulsanti in una zona libera della pulsantiera degli specchietti:


I due pulsanti rossi servono ad alzare ed abbassare la frequenza di sintonia; il pulsante quadrato nero al momento, giusto per prova, attiva il navigatore, che però non è molto utile se lo schermo non funziona perchè non posso impostare la destinazione; vorrei invece fare in modo che attivasse direttamente la telecamera di retromarcia che ho installato e che normalmente richiede diversi clicchi sul touch screen per essere attivata. Se invece potessi attivarla al volo con un pulsante sarebbe molto più comodo.

La manopola questa volta l’ho fissata in modo diverso e più stabile: usando un piastrino di plexglass abbastanza sottile da entrare nell’incavo della plastica, rendendo così non necessaria la prolunga stampata in 3d; per tenerlo in posizione ho aggiunto due viti. Il lavoro resta comunque abbastanza pulito:


“Pulito” finchè non metto i fili; una volta saldati al decoder, la faccenda si fa più complessa…

 

Sul tablet c’è anche una schermata che permetterebbe di assegnare delle funzioni ai pulsanti al volante… anche se di pulsanti al volante nella Icaro non ce ne sono. Comunque la schermata del tablet è questa:

Come si vede, molte delle funzioni che ho scoperto sono proprio elencate in questa schermata; purtroppo aggiungere dei pulsanti al volante non è possibile perché l’unico filo che arriva dentro al volante è quello del clacson, e per portare altri fili l’unico modo sarebbe usare un particolare interruttore a strisciamento che permette al volante di girare senza interrompere i contatti; c’è già un meccanismo di questo tipo sulla Icaro, ma soltanto uno dei 5 pin è popolato, e aggiungere nuovi fili sarebbe un lavorone perché dovrei smontare lo sterzo e quindi non se ne parla. Però Se riesco effettivamente a trovare altre funzioni attivabili senza touchscreen potrei comunque realizzare un tastierino esterno per attivarle.

 

Di seguito  le altre foto che ho fatto lavorando al progetto: