Jumping Jack Flash weblog

Studio di fattibilità – antenna esterna per Sonoff Pow Rev2

Posted in hardware by jumpjack on 4 gennaio 2019

Il Sonoff pow prima versione era predisposto per collegare, al posto dell’antennina interna di 2 cm, un antennone esterno “grosso a piacere”: bastava infatti saldare un connettore UFL sulle piazzole predisposte sul circuito stampato, e spostare un condensatore:

 

 

 

Adesso è uscito il Sonoff Pow “Rev 2” (da non confondere col “Sonoff Pow 2.0”, vedi immagine comparativa più avanti), che ha due brutte novità: non c’è più il fusibile, e soprattutto non c’è più la predisposizione per l’antenna esterna:

 

Da un’analisi del nuovo circuito sembra però che ci si potrebbe comunque arrangiare senza troppe complicazioni: anche se non ci sono le 3 piazzole necessarie per il connettore UFL, in realtà il connettore UFL ha 4 terminali, ma in realtà 3 sono in comune e corrispondono alla massa, e uno corrisponde al segnale:

 

UFL connector dimensions and pinout

Si potrebbe allora forse semplicemente collocare il  connettore UFL in questa posizione, saldando solo il pin di destra con la piazzola di massa soprastante:

Sonoff POW 2 External antenna on UFL connector

Probabilmente bisognerà anche tagliare la traccia che porta all’antenna incorporata, perchè, anche se non può fare contatto col pin centrale di massa del connettore, potrebbe entrare in risonanza con l’antenna esterna e ridurre, invece che aumentare, la portata (ma ci vorrebbe qualcuno che ci capisca un po’ di più di antenne…)

Chi dispone di un saldatore ad aria calda, che permette di saldare i component SMD appoggiandoli direttamente sulle piazzole stagnate, si potrebbe pensare anche a un montaggio più pulito, spostando il connettore di pochi mm più in alto:

 

Ecco infine una comparativa fra le due versioni (e mezzo) di Sonoff POW:

Tagged with: , , ,

Appunti su aria condizionata termoelettrica per veicoli (TE-HVAC o TEAC)

Posted in auto elettriche, hardware by jumpjack on 30 dicembre 2018

Thermo-Electric Heating, Ventilation and Air Conditioning

  1. Experimental validation of the optimum design of automotive air-to-air thermoelectric air conditioner (TEAC) – Alaa Attar, HoSung Lee, Sean Weera
  2. “Vehicular Thermoelectric Applications Session – DEER 2009” – John W Fairbanks – Department of Energy – Vehicle Technologies – Washington, D.C. – August 5, 2009: “total cooling power required to cool the zone of a single occupant is around 630 W while 3.5 to 4.5 kW is needed to cool the entire cabin”
  3. Modeling a Thermoelectric HVAC System for Automobiles,” Journal of Electronic Materials, vol. 38, no. 7, pp. 1093-1097, 2009: “For ambient temperatures of 25°C and 30°C, the conventional auto HVAC system has cooling capacity of five times higher than the thermoelectric HVAC system at the same input power”
  4. Design and Analysis of a Thermoelectric HVAC System for Passenger Vehicles” SAE International, Vols. 2010-01-0807, 2010.”, D. C. D. a. L. J. Wang – Esperimento con 6 celle peltier da 48W l’una (tot 288W): temperatura dell’abitacolo abbassata a 7°C!
  5. Thermoelectric Air Cooling For Cars” – Manoj S. Raut, Dr.P. V. Walke  (grande quantità di dati numerici e formule)

Dalla ricerca 5:

  • Calore specifico aria a 30°C: 1007 J/KgK
  • Densità aria: 1.164 kg/m3
  • Volume abitacolo: 1m3 –> 1.164 kg
  • Temperatura interna: 23°C
  • Temperatura esterna: 30°C
  • Differenza temperatura: 7°C

Per abbassare di 7°C la temperatura dell’aria che esce da un “raffreddatore termoelettrico” di 0.0054128 cm2 di diametro alla velocità di 5 m/s (=0.027064 m3/s = 97 m3/h) servono 222W di “potenza raffreddante” (Qc):

P = m * C * DeltaT

  • m= massa d’aria per secondo = rho * volume/secondo = 1.164 * 0.0270640.031502496 [kg/s]
  • C = calore specifico aria
  • DeltaT = Differenza di temperatura ingresso/uscita

P = 0.031502496 * 1007 * 7 = 222 W

L’autore usa 6 celle di peltier “TEC1-12704” in “disposizione mista serie/parallelo”, ognuna con potenza raffreddante minima di 36W alimentata a  15.4V/4.1A/63.14W (quindi 1:1.75 circa), ma a 12V assorbe invece 3.2A/38.4W

 

Questi i grafici presi da alcune schede tecniche:

Schede tecniche:

 

 

 

 

Diario elettrico Greengo Icaro – 23/12/2018: il blocco di sicurezza per la presa Mennekes

Posted in 3d, Diario elettrico GreenGo Icaro, hardware, minicar elettriche by jumpjack on 23 dicembre 2018

Download file 3d stampabile: https://skfb.ly/6Gtzn

Un post su un forum mi ha fatto tornare in mente un vecchio problema su cui avevo pensato di lavorare, ma che mi era poi passato di mente perchè piuttosto complicato e rimandato a “prima o poi”.

Ok, è arrivato il poi.

La presa mennekes sulla Icaro non prevede il blocco automatico della spina durante la ricarica, cosa che normalmente avviene, sia lato-auto che lato-colonnina, per mezzo di un perno metallico che si introduce in apposito foro nella spina, per evitare che per errore o per vandalismo il cavo venga sconnesso durante la ricarica senza prima aver spento la colonnina; la cosa non dovrebbe danneggiare niente, perchè uno dei 5 pin è stato progettato appositamente più corto degli altri in modo da scollegarsi per primo e comandare lo spegnimento elettronico della colonnina in caso di disconnessione prematura del cavo; però è anche vero che questo blocco torna utile per evitare che qualche “dispettoso” ci sfili il cavo durante la ricarica sperando così che la colonnina lo sblocchi anche sul suo lato, per poter ricaricare la sua macchina o semplicemente per fregarci 200 euro di cavo.

Meglio quindi disporre di questo dispositivo di sicurezza.

Nel catalogo SCAME il meccanismo che attiva il perno metallico (tecnicamente detto “di interblocco”) viene chiamato “BLOCCO SPINA SUPERIORE PRESA T2S-T2C” e ha codice 200.23260BS, per un costo di 65 euro; presso altri fornitori si trova a prezzi più bassi, ma a non meno di 30 euro.

In realtà, però, si tratta di un semplice perno azionato da un relè, quindi, se la propria auto ne è sprovvista, piuttosto che buttare 65 euro se ne possono spendere 10 per comprare online questo pezzo inventato da me (oppure stamparselo da soli al costo di pochi centesimi se si ha una stampante 3d), e altri 5 euro per comprare una qualunque spina industriale, da cui andremo a estrarre uno dei pin piccoli, da 5mm, da usare come “perno manuale”.

Normalmente ecco come si presenta la presa con montato il meccanismo standard di interblocco:

 

Dettaglio del meccanismo di interblocco:

La presa di ricarica della Icaro è protetta dal rivestimento plastico nero dell’interno dell’abitacolo; se non si vuole smontare l’intera parte di rivestimento del bagagliaio, si può ritagliare un foro intorno alla sporgenza in corrispondenza con la presa, in modo da accedere al retro della presa stessa, stando attenti, quando si arriva a tagliare la parte bassa, a non andare troppo a fondo nel taglio per non toccare i cavi.

Io per effettuare il taglio ho usato un dremel, perchè la plastica è spessa e il taglierino è impreciso. L’operazione ha richiesto meno di 10 minuti.

Nel mio caso il buco nel tessuto isolante era un po’ piccolo e rendeva scomodo lavorare, quindi l’ho allargato un po’ con un  taglierino, in modo da accedere comodamente alla presa.

Dopo aver rimosso il rivestimento nero e scoperto il connettore, è necessario rimuovere temporaneamente la fascetta metallica che tiene la guarnizione fissata alla presa, sia per poter estrarre la presa dall’esterno ed esaminarla, sia per poter estrarre la piccola guarnizione rettangolare che nasconde il foro di interlock della presa; nella foto che segue il foro centrale superiore è già stato privato della guarnizione, che è invece ancora in posizione nel foro 1, rendendolo di fatto totalmente invisibile a prima vista:

Qui è possibile vedere le tre guarnizioni, che hanno una sporgenza che si inserisce nel buco di interlock.

La prossima foto mostra il buco centrale superiore con e senza spina inserita:

 

Tornando alla foto iniziale che mostra la presa inserita nella carrozzeria, si può dedurre, ora che è nota la posizione del buco, che esso è in posizione difficilmente accessibile perchè aderente alla carrozzeria e intralciato da tessuto isolante e rivestimento plastica; tuttavia, il perno di blocco funziona anche se inserito diagonalmente, e non deve essere preciso al decimo di mm rispetto al buco.

Ho quindi progettato questo pezzo da stampare in 3d, che realizza un supporto inclinato da inserire al posto della guarnizione, nella sua stessa slitta:

Il forellino laterale serve a far passare un filo da legare al perno, che essendo manuale va sfilato quando non serve; legandolo a questo buco si evita di perderlo in giro per la macchina.

Ecco come appare il perno inserito a mano nel pezzo, accanto alla guarnizione che va a  sostituire:

Anche se il pezzo funziona egregiamente già così, ho deciso di fare qualche miglioramento, in questo secondo progetto:

Le novità sono il foro “di appoggio”, così non si deve lasciare il perno a ciondolare nel bagagliaio quando non è in uso, e il foro passa-filo di forma adesso triangolare, così le stampanti a filo possono stamparlo senza supporto, fastidioso da rimuovere e causa sempre sbavature. C’è inoltre un ispessimento graduale dei lati del pezzo, in modo che, inserito a fondo nella slitta, rimanga incastrato. In ogni caso, però, la grossa guarnizione della presa,  tenuta ferma dalla fascetta, impedisce che il pezzo (così come la guarnizione che c’era prima) si sfili.

Ecco come appare il nuovo pezzo stampato:

Con questa seconda stampa ho avuto modo di verificare se il buco di appoggio è sufficientemente largo: da progetto ha un diametro di 5mm, ma anche se al calibro il perno misura 4.90-4.95, c’entra un po’ a forza; se da una parte non è un problema per il  foro di parcheggio, renderebbe però scomodo l’uso del foro “di lavoro”, perchè non si capirebbe bene quando il perno arriva fino in fondo, motivo per cui ho fatto il foro di lavoro grande quanto il foro della presa e rettangolare, in modo che il perno ci entri con ampio gioco.

Anche se già così funziona bene e il perno blocca perfettamente la spina inserita, probabilmente farò un terzo progetto, con foro di lavoro tondo ma magari largo 5.5 o 6 mm; la seccatura è che per ogni nuovo progetto bisogna aspettare tre quarti d’ora per la stampa…

Per il momento il lavoro completato appare così:

Dovrò comunque allargare un po’ il buco sulla parte superiore, perchè il perno è molto lungo e, nonostante l’inclinazione, risulta comunque un po’ troppo scomodo inserirlo.

 

Ingrandimento:


Aggiornamento:

Ho realizzato un’ultima versione del supporto per il perno, col buco di appoggio 2mm più largo, e quello di lavoro più stretto e inclinato, per facilitare l’inserimento del perno. Qui c’è il file STL stampabile:

Download file 3d stampabile: https://skfb.ly/6Gtzn

Chi non ha una stampante 3d può farselo stampare online e inviare a casa cliccando qui, al costo di 5,00 euro + spedizione.

Nota: E’ comunque necessario anche allargare un po’ il buco nel rivestimento plastico della Icaro, per fare un po’ di spazio sopra al perno, rispetto alla figura sopra.

 

 

 

 

Nuovi appunti su ESP8266

Posted in esp8266, hardware by jumpjack on 24 novembre 2017

E’ uscito il successore, ESP8285:

  • 1 Mbyte di memoria flash incorporata nel chip stesso
  • velocità di upload di 4 Mbps invece dei soliti 115200
  • Processore Tensilica L106 32-bit  (100% compatibile con SW di ESP8266, quindi probabilmente con Arduino IDE, previa reflash)
  • 80MHz (160 MHz)
  • RTC (Real Time Clock) incorporato
  • Predisposto per supporto per SD-Card
  • Predisposto per ricevitore IR (infrarossi)
  • 17 GPIO
    • Assegnazioni riservate:
    • Pin Name Pin Num IO Function Name
      MTCK 12 IO13 Button (Reset)
      GPIO0 15 IO0 Wi-Fi Light
      MTDI 10 IO12 Link Light
  • Assorbimento massimo: 160 mA in trasmissione, ma la documentazione parla di un piccco di 500 mA all’avvio del predecessore ESP8266. Per questo motivo è sconsigliato alimentare l’ESP dalla porta USB di un PC, che sopporta AL MASSIMO 500 mA, quindi è troppo al limite; il costruttore consiglia inoltre di alimentare l’ESP tramite un DC/DC converter (che trasforma tensioni sotto- o sopra-soglia nei 3.3V richiesti) o un Low DropOut regulator (che può gestire solo tensioni sopra-soglia, quindi per esempio passare da 5V a 3.3V), mentre sconsiglia di usare direttamente una batteria al litio (LiPo o NCM)perchè ha un range di tensione troppo ampio durante la scarica: 3.0-4.2V contro i 3.0-3.6 accettati dall’ESP. Andrevve invece bene una LiFePO4, che ha una tensione massima di 3.3, però scende fino a 2.8, che non è abbastanza, quindi non si sfrutterebbe appieno la carica.
    Esempio di LDO:AMS1117,

 

Board di programmazione (con USB e pulsanti):

https://wiki.wemos.cc/products:d1:d1_mini_lite 3.00 dollari su Aliexpress

 

Modulo da solo:

2.79 euro su Electrodragon, 8 dollari su Amazon.com .

 

Datasheet:

https://dziadalnfpolx.cloudfront.net/blog/wp-content/uploads/2016/06/ESP8285-datasheet-EN_V1.0_20160302.pdf

 

Rivenditore di “follie” Espressif/AiTinker (tra cui un modulo GSM+GPRS+GPS + SDCard a 6 euro tutto incluso!!):

https://anxinke.world.taobao.com/

 


Documentazione tecnica ufficiale su motivi di reset dell’ESP8266:

http://wiki.ai-thinker.com/_media/esp8266/faq/esp8266_reset_causes_and_common_fatal_exception_causes_cn.pdf

FAQ espressif (in cinese…): http://wiki.ai-thinker.com/_media/esp8266/faq/espressif_faq_cn.pdf

Stesse FAQ ma in inglese: http://espressif.com/sites/default/files/documentation/espressif_faq_en.pdf


Note tecniche:

L’ESP8266 incorpora due Watchdog Timer (WDT o WT), uno HW e uno SW, per default entrambi abilitati.

Il WT HW ha un timeout di 1.6 secondi, seguito  da un “interrupt handling interval” di 6.6 secondi (“tempo di riserva” disponibile per azzerare il WT prima che si resetti l’ESP), per un totale di 8.2 secondi: se il programma non resetta il  timer entro 1.6 secondi, l’ESP POTREBBE resettaresi; se non lo resetta entra 8.2 secondi, l’ESP si resetta di sicuro.

Per resettare il WT in uno sketch IDE si può usare un’istruzione delay() “a vanvera”, oppure l’apposita funzione ESP.wdtFeed(); in realtà è già “segretamente” implementata in modo trasparente in varie librerie, ma se non dovesse bastare (cioè se lo sketch si dovesse riavviare senza motivo) si può provare a resettare il  WT a mano.

Per esempio se nella routine loop() non c’è nemmeno un delay(), l’ESP si potrebbe resettare per timeout del WT.

 

il WT SW ha un timeout di 1.6 secondi e un “interrupt handling interval” uguale, di 1.6 secondi,  per un totale di 3.2 secondi.

 

il WT HW non può essere spento, il WT SW sì, ma solo tramite programmi scritti con l’SDK.

 

Per creare ritardi che non resettino l’ESp il costruttore raccomanda di non usare loop, ma callback o timer.


All’accensione l’ESP invia sulla seriale a 74880 bps questo messaggio standard di avvio:

ets Jan 8 2013,rst cause:X, boot mode:(Y,Z)

il valore di X può essere:

  1. .
  2. .
  3. .
  4. .

Quello di Y è dato dalla combinazione dei 3 “GPIO di avvio” (“strapping pin”, pin di bootstrap), 15, 0 e 2, che essendo 3 bit possono comporre numeri da 0 a 7:

0:Remapping

  1. UART Boot
  2. Jump Boot
  3. Flash Boot
  4. SDIO LowSpeed V2 IO
  5. SDIO HighSpeed V1 IO
  6. SDIO HighSpeed V2 IO
  7. SDIO HighSpeed V2 IO

Si tratta quindi di pin riservati al sistema e non possono essere usati nei propri progetti.

Questi 3 pin vengono letti 60 ms dopo che il pin CHIP_EN (Chip enable) è stato portato a 3.3V, che a sua volta deve avvenire dopo l’accensione; la sequenza di boot quindi è:

  • Azione esterna: alimentazione a 3.3V
  • Il pin di reset, inizialmente a 0V, passa automaticamente a 3.3V
  • Azione esterna: CH_EN alto
  • Azione interna: lettura strap-pin
  • Azione interna: attivazione porta seriale

Il pin CH_EN non ha un pull-up interno.

Il pin di reset ha un pull-up interno, cioè normalmente è a 3.3V se è scollegato; se viene posto a zero tramite azione esterna, il chip si resetta.


L’ADC interno è cablato con gli stessi circuiti del wifi, quindi ha frequenza di campionamento diversa a seconda se il WiFi è attivo(1000 campioni/sec) o no (100.000 campioni/s), ed ha una risoluzione interna di 12bit ma disponibile di 10 bit. Il costruttore sconsiglia di effettuare contemporaneamente letture ADC e uso del WiFi.


L’ESP8266 non supporta nativamente le SD-Card sui pin SDIO perchè questi sono configurati come slave, quindi l’ESP può fungere solo da dispositivo.


Tutti i pin tranne GPIO4, GPIO5 (collegati al flashing) e GPIO16  hanno un pullup integrato, cioè se scollegati sono a 3.3V.

Per GPIO4 e GPIO5 non si può usare una resistenza di pullup da 1 Mohm, ma al massimo da 100k.


Le board bianche predisposte per saldarci un ESP8266 in modo che abbia piedinatura standard, sono predisposte per un regolatore di tensione che PERO’ non può essere un classico 1117 perchè la piedinatura non corrisponde: serve un XC6206P332A o 6206A in package SOT89, perchè i piedini sono Vss, Vin e Vout; se si monta questo regolatore, bisogna eliminare la “finta resistenza” centrale da 0 ohm.

Un HT7333 è anche meglio perchè a riposo dissipa solo 0.004 mA invece che 5 mA (fonte)

 

 

 

Tagged with: , ,

Appunti ESP8266 – Come risolvere problemi di stabilità

Posted in esp8266, hardware by jumpjack on 10 giugno 2017

Sembra che l’ESP8266 sia famoso per la sua instabilità, cioè la facilità con cui perde la connessione WiFi si resetta; queste ottime pagine spiegano come ovviare al problema: link1, link2.

Riassumendo:

  • Il comando “delay()” resetta il WatchDog Timer (WD o WT); si tratta di un contatore che, se raggiunge un valore troppo alto (maggiore di 5 secondi e non modificabile), fa riavviare il dispositivo; è un sistema di sicurezza per evitare che il sistema, se si blocca, resti bloccato indefinitamente: in “sottofondo” è infatti sempre attivo un controllo hardware sul watchdog, anche quando uno sketch si blocca; se rimane bloccato per troppo tempo, il processore va in autoreset e quindi lo sketch si riavvia; quindi lo sketch deve essere predisposto per potersi riavviare da solo senza l’intervento dell’utente.
  • Forse anche il comando wdt_feed()  resetta il watchdog, ma probabilmente è un comando dell’SDK di ESP, quindi per utenti evoluti.
  • Utilizzando l’ESP8266 come access point (ossia come router o come sever), bisogna evitare di gestire l’attesa dei comandi web durante alla funzione standard loop(), perchè sembra che la loop() interferisca con i meccanismi del wifi; bisogna invece implementare una funzione di callback che viene chiamata quando il client connesso all’ESP gli invia un comando (sketch di esempio: link).
  • La connessione WiFi può spesso cadere senza motivo, quindi uno sketch deve sempre prevedere nella funzione loop() un monitoraggio della connessione, per ristabilirla se cade.
    Queste righe servono a verificare se è attiva la connessione tra l’ESP e un router, non tra un dispositivo e l’ESP:
    while (WiFi.status() != WL_CONNECTED) {
      Serial.print(“.”);
      delay(500);
    }
    Quindi vanno dopo la riga:
    WiFi.begin(ssid, password);
    Dove “ssid” è il nome del router.
    Invece, per rilevare la connessione di un dispositivo bisogna usare questo codice:
    #include <ESP8266WiFi.h>
    WiFi.disconnect(true); // Più che disconnettere, cancella dalla PROM i parametri di connessione usati finora;
    WiFi.persistent(false); // Evita che tali parametri vengano poi memorizzati
    WiFi.mode(WIFI_AP); // Imposta la modalità di connessione su Access Point
    WiFi.softAP(ssid); // Imposta il nome della rete e accende l’access point (senza password)
    delay(1000); // Ritardo per azzerare il watchdog
    WiFi.onEvent(WiFiEvent); // Rileva tutti gli eventi WiFi nella funzione “WiFiEvent(WiFiEvent_t event);
  • Quando usa il WiFi, l’ESP8266 ha bisogno di molta più corrente dei 500 mA che può fornire la porta USB di un PC, quindi va alimentato con un trasformatore.
  • Anche utilizzare un adattatore USB/seriale può causare interferenze nel WiFi e perdita di connessione, quindi una volta terminate le prove, usare sempre un alimentatore per alimentare l’ESP.
  • Ad ogni richiesta http GET proveniente da un client, l’ESP “perde un po’ di memoria (heap)”, per liberarla solo “dopo un po’ “, quindi non si può inondare l’ESP di richieste http GET, bisogna aspettare almeno due minuti tra l’una e l’altra (fonte).
  • Un “bug noto” impedisce a SoftAP() di funzionare (cioè di impostare l’ESP come accesspoint)  se l’ESP non è anche connesso a un router.

Esiste anche una libreria WiFi specifica che effettua la riconnessione automatica in caso di disconnessione, ma è per una Arduino collegata a un ESP:

https://github.com/ekstrand/ESP8266wifi

 

Programmare l’ESP8266 con Arduino IDE

Posted in arduino, hardware, Uncategorized by jumpjack on 15 gennaio 2017

Brevissimo tutorial su come rendere il NodeMCU Amica con ESP8266 ESP12 a bordo programmabile tramite IDE Arduino.

  1. Scaricare esp8266_flasher.exe.
  2. Scaricare i file del firmware ESP_Easy (*).
  3. Collegare il NodeMCU (ad esempio Amica o Lolin) al PC tramite USB
  4. Avviare l’IDE arduino per verificare quale porta sia stata associata al dispositivo (menu Strumenti –> Porta)
  5. Aprire il monitor seriale di Arduino
  6. Premere e rilasciare il tasto reset sul NodeMCU per verificare se effettivamente il dispositivo comunica con l’IDE attraverso quella porta
  7. Chiudere l’IDE
  8. Avviare esp8266_flasher.exe
  9. Impostare il numero di porta
  10. Caricare il file .bin corretto, che dipende dalle dimensioni della flash a bordo del dispositivo (4MB o 4096 kbyte sull’ESP12, montato su Huzzah Adafruit, NodeMCU Lolin, NodeMCU Amica)
  11. Tenere premuto il tasto FLASH sul dispositivo, premere il tasto reset, rilasciare reset e rilasciare il tasto FLASH: in questo modo il dispositivo si predispone per la riprogrammazione (re-flashing)
  12. Cliccare DOWNLOAD: in realtà non verrà scaricato un file DA internet, ma inviato il firmware al dispositivo
  13. Attendere il completamento dell’operazione.
  14. Riaprire l’IDE di Arduino
  15. Ripetere il punto 11
  16. Caricare sul dispositivo uno sketch di esempio che stampi qualcosa sul monitor seriale

 

Metodo alternativo:

Per flashare il firmware è possibile usare direttamente anche il file eseguibile presente nel pacchetto ESP_Easy (*), che però è un po’ meno intuitivo. Una volta nota la porta a cui è collegato il dispositivo (v. punto 4 sopra) e la memoria disponibile (v. punto 10 sopra), mettere il dispositivo in modalità FLASH (punto 11 sopra), avviare esptool e indicare in sequenza il numero di porta, la dimensione della flash e la versione del fimware, cioè il numero dopo la “R” nel nome del file; ad esempio, ESPEasy_R108_4096.bin è la versione 108 per l’ESP da 4096 kbyte.

Nota: per scoprire quant’è grande la Flash RAM sul dispositivo si potrebbe usare questo comando:

esptool.py flash_id

Ma la cosa richiede di preinstallare e configurare un interprete python, che è una noia e una rogna, sto cercando un modo più semplice e alla portata di tutti.

 

(*) Il file .zip contiene vari file .bin, che sono firmware adatti a moduli ESP con Flash RAM di dimensioni diverse: 512 kbyte, 1924 kbyte, 4096 kbyte; ad esempio, il file ESPEasy_R108_1024.bin è per un ESP da 1024 kbyte (1Mbit); R108 è il numero di “build”, cioè di versione.

 

 

Analisi di lampadina led a filamento

Posted in elettricita, hardware by jumpjack on 4 gennaio 2017

L’anno scorso ho comprato una di queste nuovissime lampadine LED a filamento:

led-filamento-lampada-intera

La lampadina è marcata:

  • LIFE
  • 32.920351C 4.4W 40mA
  • 220-240V 50 Hz
  • 3000K 450lm 97

Non ricordo assolutamente dove l’ho comprata, però ho trovato questo link.

Purtroppo si è già bruciata…. così ho deciso di vivisezionarla per SE e QUALE circuito ci può mai essere nel pochissimo spazio dell’impanatura.

Dopo un po’ di frullino…

led-filamento-lampada-segata

e un po’ di lavorio di pinze, ecco il risultato: c’è davvero un minuscolo circuito che riesce, in così poco spazio, a convertire 220V alternati in “pochi” (?) volt continui!

 

led-filamento-circuito

I componenti che ho individuato sono:

  • Un ponte raddrizzatore MB6S, a quanto pare piuttosto comune nelle lampade LED
  • Un driver a corrente costante SM2082B
  • Un condensatore da 400V/4.7uF
  • Una “grossa” resistenza, forse da 1/4 o 1/2W (in realtà l’intero circuio è grosso quanto la punta di un dito)
  • 3 resistenze a montaggio superficiale, quindi a bassissima potenza

Pare che sia un circuito di pessima qualità…

Il datasheet del SM2082B suggerisce questo schema:

led-filamento-circuito

 

Collegamento di un CellLog8S/8m ad Arduino o a ESP8266

Posted in auto elettriche, batterie, hardware, scooter elettrici by jumpjack on 2 gennaio 2017

L’utente pa.hioficr sul forum https://endless-sphere.com/forums/viewtopic.php?f=14&t=20142 ha scoperto che è possibile leggere in tempo reale i dati di log di un CellLog (sia 8S con memoria che 8S senza memoria) semplicemente “agganciandosi” al pin TX dell’Atmel montato sul CellLog.

Questo significa che invece di spendere 40-50 euro per comprare un CellLog8S con memoria e infilarlo nel sottosella per poi aspettare di arrivare a casa per scaricare i dati letti, è in linea di principio possibile collegare al CellLog8M da 15 euro un ESP8266 da 8 euro che tramite Wifi invia dati a uno smartphone che li mostra in tempo reale sullo schermo durante la marcia; probabilmente è anche possibile scrivere un SW che legge i dati da più di un celllog contemporaneamente, sfruttando l’emulatore di porte seriali.

Questo è lo schema elettrico originale dell’autore:

celllog-000

 

Questa è una sua successiva modifica per implementare anche avvio del logging e reset del CellLog:

celllog-001

Di seguito la spiegazione del funzionamento che ho dedotto io dallo schema, inserita anche nella seconda edizione del mio libro “Guida alla costruzione di una batteria al litio per mezzi elettrici”, di imminente pubblicazione:

 

8.1.2. Materiale occorrente
Q1 = 2n3906 o altro PNP
R1 = R4 = R6 = R7 = 220 ohm
R2 = R5 = 330 ohm
R3 = 4700 ohm
U1 = U2 = optocoupler/fotoaccoppiatore a 2 canali, 5V, 8 pin, uscita a fototransistor di tipo NPN (es. Vishay ILD615, Fairchild MCT61, Isocom ISP827,… )
8.1.3. Spiegazione del funzionamento
Il circuito può essere suddiviso in 4 parti: le prime due ricevono dati dal CellLog tramite il primo fotoaccoppiatore e li inviano al microcontrollore esterno; le altre due ricevono invece dati dal microcontrollore e li inviano al CellLog tramite il secondo fotoaccoppiatore.
8.1.3.1. Rilevamento accensione
In Figura 127 è riportata la parte dedicata al rilevamento dell’accensione; notare che nella figura il transistor è stato capovolto rispetto allo schema originale reperito su internet, per renderlo coerente con la notazione standard di avere la corrente che scorre dall’alto verso il basso; inoltre lo schema è stato semplificato e ripulito, per facilitarne la comprensione, lasciando però inalterati i collegamenti e i componenti.
Il microcontrollore (MCU) è programmato per leggere sul pin MCU_CL8.1_DETECT lo stato del CellLog: quando il pin è “basso” (0V), vuol dire che il CellLog è acceso; normalmente questo pin è invece a 5V perché connesso all’alimentazione dell’MCU tramite R5 (che serve a limitare a 15mA la corrente Collettore-Emettitore quando il transistor è in conduzione); quando però il CellLog viene acceso, i suoi 5V arrivano, tramite la resistenza R4 (che limita la corrente a 23 mA) sul pin 4, e mettono in conduzione il fotodiodo 3-4, che mette a sua volta in conduzione il fototransistor 5-6, che mette a massa il pin MCU_CL8.1_DETECT.
celllog-002
Figura 127 – Rilevamento accensione
8.1.3.2. Lettura dati
Dobbiamo far “riflettere” sul piedino RX del microcontrollore esterno lo stato del pin TX del CellLog, tramite il fotoaccoppiatore; per farlo, usiamo il pin TX del CellLog per controllare la base di un transistor collegato all’ingresso del fotoaccoppiatore; il transistor serve a far sì che basti prelevare dal CellLog una piccolissima corrente (1 mA grazie a R3 da 4300 ohm) per attivare il fotodiodo, che richiede invece alcune decine di mA; in pratica è un transistor di disaccoppiamento, che cioè rende indipendenti gli assorbimenti di corrente di CellLog e fotoaccoppiatore.
celllog-003
Figura 128 – Circuito TX-RX con transistor PNP o NPN
Il progettista ha scelto di usare un transistor di tipo PNP, che viene acceso da una tensione di base negativa rispetto all’emettitore; l’emettitore va quindi collegato stabilmente alla tensione di alimentazione 5V, in modo che il transistor entri in conduzione quando TX va a 0V. Quando questo accade, succederà quanto segue, in sequenza:
1. Q1 si accenderà
2. Passerà una corrente nel fotodiodo 1-2
3. Si accenderà il fototransistor 7-8
Dobbiamo ora fare in modo che tutto ciò risulti in una tensione di 0V sul piedino RX del microcontrollore esterno, corrispondente al piedino 8 del primo fotoaccoppiatore, che è il collettore del fototransistor di uscita; per farlo, dobbiamo fare in modo che il piedino 8 si trovi normalmente a 5V, e venga portato a 0V solo quando si accende il fototransistor 7-8; bisogna quindi tenere il pin 8 costantemente collegato ai 5V del microcontrollore esterno, e il pin 7 alla sua massa; in questo modo, l’accensione del fototransistor 7-8, che avviene quando TX del CellLog va a 0, collegherà il pin 8 a massa tramite il 7, cioè metterà RX del microcontrollore esrerno a 0, riflettendo così esattamente lo stato del pin TX del CellLog.
Se non dovessimo avere disponibile un transistor PNP ma solo un NPN, occorrerà invertire la logica del circuito.
8.1.3.3. Reset
Il “cervello” del CellLog, un microcontrollore ATMEL, è dotato di un piedino di reset, che possiamo controllare tramite il nostro microcontrollore esterno; per farlo, al pin di reset colleghiamo il collettore del fototransistor 5-6 del secondo fotoaccoppiatore (pin 5); controlliamo questo fototransistor tramite il rispettivo fotodiodo 3-4, collegato al pin MCU_CL8.1_RESET del nostro microcontrollore esterno; basterà quindi mettere alto questo pin per mettere in conduzione il fotodiodo e il fototransistor e quindi resettare il CellLog.
celllog-005
8.1.3.4. Avvio log
Per far partire il logging è necessario premere per 3 secondi il pulsante 2 del CellLog (SW2); possiamo farlo fare al nostro microcontrollore esterno collegando l’interruttore in parallelo a un’uscita del secondo fotoaccoppiatore: quando sull’ingresso ci sarà una tensione di 5V (impostata via software), il fototransistor di uscita entrerà in conduzione chiudendo l’interruttore e avviando così il logging.

celllog-004

Diario elettrico Ecojumbo 5000 – 1/dic/2016: Pausa invernale obbligatoria

Posted in Diario elettrico Ecojumbo 5000, hardware, scooter elettrici by jumpjack on 1 dicembre 2016

In questi giorni stavo pensando di mettere a riposo lo scooter per i mesi invernali, sia perchè mi sono rotto di congelarmi e ammalarmi tutti gli inverni, sia perchè ormai è diventato estremamente pericoloso circolare di notte in giro per Roma in scooter: lo stato delle strade, da pietoso che era, è diventato da terzo mondo, con buche così profonde da trapassare non uno ma anche 2 o 3 strati di asfalto e riasfaltatura.

Un’alternativa sarebbe stata uscire dall’ufficio non più tardi delle 16.30, per avere almeno quel quarto d’ora di luce per vedere dove metto le ruote.

Ma comunque ci ha pensato il Comune di Roma a risolvere il problema: alla fine una buca l’ho beccata in pieno; quando l’ho vista ho fatto solo in tempo a dire PORCO e già ci ero dentro. Non andavo veloce, forse a 60 all’ora, ma la buca era profonda e frastagliata, e mi ha schiantato il cerchione posteriore.

20161129_181809.jpg

Sfortunatamente quel giorno era il primo della prevista sequenza di giorni ultrafreddi, per cui mi sono ritrovato in mezzo alla strada col sole al tramonto e una temperatura di 6°C in calo….

Spinto lo scooter a piedi fino al bar più “vicino”… cioè in cima a una salita lunga 1 km (fortunatamente il motore funziona ancora), sono rimasto lì solo un’oretta ad aspettare che arrivassero i vigili, che molto simpaticamente mi hanno detto che forse il Comune rimborserà le spese di riparazione ai miei EREDI…

Accanto al bar c’era un gommista, ma quando ha visto il motoruota elettrico è andato nel panico e mi ha mandato via… Così mi sono trovato a dover decidere se spendere (altri) 80 euro di motosoccorso (dopo quelli spesi per il guasto alla centralina l’anno scorso) o farmela a piedi; visto che almeno il motore funziona ancora, si trattava “solo” di una passeggiata di 4 o 5 km; essendo solo le 18.30, potevo essere a casa per cena….

Così mi sono incamminato. Alle 20.30 ero “felicemente” a casa, a riflettere sull’accaduto.

 

E veniamo al “gioco di Pollyanna”, cioè a trovare tutti i lati positivi di questa storia:

–          è successo a ritorno da lavoro; se avessi bucato all’andata, avrei perso una giornata di lavoro

–          non mi sono spiaccicato nell’incidente, invece mi sono potuto comodamente fermare e accostare

–          è successo a “non troppa” distanza da casa: un’ora di camminata

–          il motore funziona ancora, quindi invece di camminare stavo (bene o male) seduto

–          era da 3 mesi che studiavo come cambiare il copertone ormai consunto; una rottura di scatole che però si è trasformata in fortuna, perchè così sono potuto tornare a casa in sella allo scooter (anche se a passo d’uomo) senza timore di rovinare il copertone sgonfio: tanto lo devo comunque buttare. Però durante il viaggio non si scaldava neanche, e arrivato a casa appare esteriormente ancora sano (pensavo sarebbe arrivato ridotto a brandelli)

–          è successo all’inizio dell’inverno: così non rosico per essere obbligato a non usare lo scooter, anzi meglio così mi risparmio un po’ di freddo

 

Adesso però inizia la nuova caccia: dopo la caccia alla centralina, la caccia multipla a:

–          gommista competente

–          specifiche del motore

–          istruzioni di smontaggio

 

Per adesso ho scoperto che il motore è un Quan Shun QS60V500805040

20161201_185215.jpg

Però questa Quan Shun sembra avere ben 5 siti diversi (http://www.qsmotor.cn/, http://www.cnqsmotor.com/en/, http://www.tzquanshun.com/en/  , www.qs-motor.com/, www.qsmotor.com/) forse uno clone clandestino dell’altro, boh? Ho scritto a tutti, mi è arrivata solo una risposta, totalmente inutile:

I think it is 13 inch hub motor (style B) as below link.

http://www.qsmotor.com/product/13-8000w-motor-b/

The voltage is 60V and the power is 4500W. You should double check with your seller for these information.

Regarding the damage rim, you can check with local motorcycle repair shop if they can repair it. You need to replace a new motor if they can’t repair the default wheel.

 

Si potrebbe riassumere in “Che ne so? Arrangiati”.

Il motore sembra essere lui… ma sul sito scrivono che possono stampigliare sull’involucro del motore tutto quello che vuole il cliente, a richiesta! Come se cioè non lo decidessero loro in base a cosa c’è DENTRO l’involucro!

Anche sul mio c’è scritto “Super Power Motor”.

Non sono ancora riuscito a capire il significato di tutti i numeri/lettere del codice, ma più o meno:

  • QS = Quan Shun
  • 60V = tensione
  • 500 = 5000W
  • 80 = 80 ampere
  • 5040 = ?

Altra stampigliatura che ho trovato:

20161201_185146.jpg

110320 85222

Visto che il motore potrebbe essere un “V2”, è che lo scooter (venduto come Ecojumbo 5000 ma il cui nome originale è HRBJ183) è del 2011 e venduto come capace di andare a 90 all’ora, la spiegazione trovata qui potrebbe calzare:

  • 110320 = fabbricato il 20/03/2011
  • 85222 = Velocità 85 km/h, numero di serie 222

La differenza tra i modelli V1, V2 e V3 di uno stesso motore dovrebbe essere:

  • V1: sensori di hall  con connettori normali, supporto in ferro, efficienza 84-86%
  • V2: doppia sensoristica di hall (principale e riserva) con connettori a tenuta stagna, supporto in alluminio, maggiore robustezza, efficienza 86-88%
  • V3:  maggiore robustezza, fili più spessi, corrente più alta, coppia maggiore a parità di potenza, efficienza  88-92%.

Praticamente il motore dell’Ecojumbo potrebbe essere un “QS13-02 (273)“, cioè la versione 5000W di questo (o questo?)

Confronto tra i dati di uno stesso modello ma di varie potenze:

Corrente nominale, Corrente di picco, Lunghezza magneti, Numero poli, RPM a vuoto, Coppia (Nm), velocità, tensione, sezione cavi

  • 2000W: 30A, 80A, 28mm, 23 (typo?), 850 rpm, 170 Nm, 70 km/h, 72V, 8mm2
  • 4000W:  67A, 80A, 40mm, 28, 1000rpm, 185 Nm, 90 km/h, 72V, 10mm2
  • 7000W: 114A, 140A, 60mm, 28, 1440rpm, 200 Nm, 115 km/h, 72V, 16mm2

 

Catalogo motori:

http://www.tzquanshun.com/upfile/2016/01/20160113095142_134.pdf

Molto interessante la tabella a pagina 13, che mostra come tutti i motori QS supportino almeno tensioni tra 48 e 72V, ed eventualmente fino a 144: significa che l’Ecojumbo potrebbe essere convertito senza problemi a 48V, cosa che comporterebbe l’enorme vantaggio di trovare sul mercato molti più pezzi di ricambio (centraline e batterie), che a 60V sono invece rarissimi.

Di contro, un motore a 48V non può andare a più di 65 km/h e richiede più corrente a parità di potenza; cioè, inviare 5000W  al motore significa inviargli 100A se è a 48V oppure 80 se è a 60V.

 

In questo thread la Quan Shun presenta vari modelli dei suoi motori:

https://endless-sphere.com/forums/viewtopic.php?f=31&t=65972

 

Ecomission mi ha anticipato che il cerchione è un tutt’uno con il motore e non si può staccare, ma spero che si sbaglino. Il motore nuovo costerebbe sui 400 euro.

Ho chiamato un “cerchionista” di Via Dell’Omo, ma anche lui è andato nel panico quando gli ho detto del motore elettrico. Però mi ha dato il numero di uno che “forse ci capisce”.

 

Questa è la buca infame:

20161202_165357.jpg 20161202_165338.jpg

 

Purtroppo non sono riuscito a fare una foto che renda l’idea della profondità, comunque  quel righello è lungo 30 cm…

 

Però mi è appena venuto in mente che, facendo abbastanza foto da varie angolazioni (almeno 12) potrei ricostruire la buca in 3d sul computer! 🙂 Potrebbe essere una cretinata interessante da fare…

Sempre se non hanno già tappato la buca, sono passati ben 5 giorni e entro 30 devo andare a ritirare la denuncia.

 

 

 

Trovato BMS personalizzabile non cinese

Posted in auto elettriche, hardware, scooter elettrici by jumpjack on 28 novembre 2016

Per una volta ecco un BMS che non sia fabbricato e venduto in Cina:

 

product_template_16-jpeg

Energus Tiny BMS s516

Ha diverse grosse particolarità:

  • ha firmware aggiornabile
  • supporta un numero a piacere di celle tra 5 e 16, con qualunque chimica
  • ha la connessione bluetooth
  • effettua il log delle celle
  • esiste in varianti da 30, 150 e 750 Ampere

 

I prezzi partono da 135 euro, con spedizione dall’Europa.