Jumping Jack Flash weblog

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:

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.

 

 

 

Appunti su venditori europei di materiale elettrico/elettronico

Posted in auto elettriche, hardware, scooter elettrici by jumpjack on 22 settembre 2016

Appunti ESP8266

Posted in hardware by jumpjack on 28 agosto 2016

Versione “NodeMCU” con elettronica di controllo.

Wemos Lolin V3 – comprati 2- confrontato con altri – 10 sterline

wemos lolin

Wemos D1 (piccolo, supporta shields, inclusi nell’inserzione): http://www.ebay.com/itm/Latest-ESP8266-WeMos-D1-Mini-V2-Shields-NodeMCU-compatible-with-Arduino-IDE-/272237540715

 

wemos-D1

Wemos MicroSD shield per Wemos D1 (3 sterline):

* The WeMos Micro SD Shield uses: D5, D6, D7, D8, 3V3 and G
* The shield uses SPI bus pins:
* D5 = CLK
* D6 = MISO
* D7 = MOSI
* D8 = CS

 

Data logger su SD card:

https://github.com/wemos/D1_mini_Examples/blob/master/examples/04.Shields/Micro_SD_Shield/Datalogger/Datalogger.ino

 

Web Server:

ESP8266 Web Server with Arduino IDE

 

Uploading
Press reset button while holding flash button pressed (sembra che sul Wemos che ho io non serva più) . In other words. Press flash button, keep the flash button pushed while you once click on reset. You may now release the flash button. The ESP8266 is now in flash mode. You are able to upload the sketch.
Press upload in the Arduino IDE, arduino will compile and upload. After the sketch is uploaded, the led will blink for one second on and off.

 

Webserver simile

Nodemcu-Arduino web server control LED

 

Il deflussaggio: come far andare più veloce un motore elettrico

Posted in auto elettriche, hardware, scooter elettrici by jumpjack on 16 luglio 2016

Questa pagina spiega in che modo un motore elettrico (non so se brushless o a spazzole) può essere “costretto” ad andare più veloce della sua “velocità di targa”, che dipende dalle caratteristiche costruttive, usando un “trucchetto magnetico” che consiste nel ridurre il flusso magnetico, e che potrebbe essere il famigerato “deflussaggio” (“Field weakening”? “Flux weakening”?) emerso su un forum di scooter elettrici anni fa:

http://www.ni.com/white-paper/14922/en/#toc1

Non è chiaro quale sia l’ “equzione 5.7”, ma probabilmente è questa:

  • n = velocità motore in rpm
  • Es = tensione applicata
  • Z= numero totale di “armature conductors” (? Avvolgimenti? Fasi? Nuclei? Boh..)
  • F = flusso magnetico

L’equazione dice cioè che la velocità è proporzionale alla tensione in base al rapporto 60/Z*Fi, che normalmente è costante, per cui si scrive anche:

n = k*V

Il “deflussaggio” si ha quando invece k non è più tenuto costante ma fatto aumentare forzatamente; essendo:

k = 60/Z*F

ci sono solo due modi per far aumentare la velocità: diminuire Z (cosa che richiederebbe un intervento meccanico sugli avvolgimenti, modificando il numero di spire) o diminuire F.

Ovviamente si fa la seconda cosa; per farlo, si aggiunge una resistenza variabile R, o reostato, in serie allo “shunt field”  del motore (che sfortunatamente non so come si traduca…):

Nella figura, E0 è la forza controelettromotrice, cioè la tensione prodotta dal motore a causa della rotazione dello stesso. Questa forza c.e.m. si genera sempre, qualunque sia la causa della rotazione: un’azione meccanica, o l’applicazione di una tensione. Per l’appunto applicando una tensione si raggiungerà una velocità massima che dipende proprio dalla f.c.e.m: quando la velocità è tale che la tensione applicata è pari a quella prodotta dal motore, la velocità non può più aumentare.

La pagina dice:

 

To understand this method of speed control, suppose that the motor in Fig 5 8a is initially running at constant speed. The counter-emf Eo is slightly less than the armature supply voltage Es due to the IR drop in the armature. If we suddenly increase the resistance of the rheostat, both the exciting current Ix and the flux F will diminish. This immediately reduces the cemf Eo, causing the armature current / to jump to a much higher value. The current changes dramatically because its value depends upon the very small difference between Es and Eo. Despite the weaker field, the motor develops a greater torque than before It will accelerate until Eo is again almost equal to Es.

Clearly, to develop the same Eo with a weaker flux, the motor must turn faster. We can therefore raise the motor speed above its nominal value by introducing a resistance in series with the field. For shunt-wound motors, this method of speed control enables high-speed/base-speed ratios as high as 3 to 1. Broader speed ranges tend to produce instability and poor commutation.

Provo a tradurre, evidenziando le frasi che al momento non capisco:

Per comprendere questo metodo di controllo della velocità, supponiamo che il motore in figura stia inizialmente girando a velocità costante. La f.c.e.m. E0 è leggermente più bassa della tensione di alimentazione dell’armatura Es a causa della caduta di tensione IR sulla resistenza interna dell’armatura stessa. Se aumentiamo all’improvviso la resistenza variabile, la corrente di eccitazione Ix diminuirà, e così pure il flusso F. Ciò fa immediatamente calare anche la f.c.e.m E0(*), causando un grosso aumento della corrente I di armatura. La corrente varia parecchio perchè il suo valore dipende dalla piccolissima differenza tra Es ed E0. Nonostante il campo più debole, il motore sviluppa una copia maggiore, e accelererà finchè E0 sarà di nuovo quasi uguale a Es.

Chiaramente, per avere stessa E0 con flusso minore deve aumentare la velocità del motore. Possiamo perciò aumentare la velocità oltre quella nominale introducendo una resistenza in serie al campo. Per motori “shunt-wound“, questo metodo di controllo della velocità permette di triplicare la velocità. Aumenti superiori tendono a produrre instabilità e scarsa commutazione.

 

(*) Eo = ZnF/60

Tagged with:

Appunti drone

Posted in hardware by jumpjack on 13 dicembre 2015

Microdrone MJX X901 a sei eliche.  Acquistato su gearbest in offerta a 16 euro.

esacotterino-MJX901

 

 

——————–

Pignoni di ricambio drone Tarantula X6 (in plastica):

pignoni-drone

Su Micromotors, 1$ per un sacchetto di 10.

Per sostituire il pignone bisogna surriscaldare il vecchio pignone con un accendino per parecchi secondi, e poi strapparlo via con le pinze (non viene via facilmente). A perno ancora caldo inserire il nuovo pignone. Per eventualmente togliere il pignone di plastica… penso che con l’accendino succederà un casino….

 

 

 

 

 

Tagged with: , , ,