Monorailcat

USB Power-pack 18650

icon 03/03/2017 - Comments are closed

J'ai gagné un power-pack qui ressemble fort à une Chinoiserie. D'après ce qui est marqué sur la boite, il est capable de fournir 5V à 500mA, et d'avoir une capacité de 2.6Ah. Comme j'ai suspecté la Chinoiserie, je me suis dit que ça vallait le coup de tester la chose.

Démontage
Deux vis tiennent une sorte de tiroir qui glisse dans la coque, avec une cellule 18650 notée "ASO QP2P091EH 801780 SZN" collée sur le tiroir. Aucune datasheet ne sort après des recherches, par contre on en trouve à vendre sur des sites Chinois bien connus.
Le PCB est simplement clipsé dans le tiroir.
hidden screws under the sticker
box, battery and converter

Batterie
Dans l'état d'origine, la batterie était déchargée à 3.4V (elle est probablement restée stockée longtemps), après un premier cycle à 4.1V -> 3V à 1A, la forme de la courbe (plateau peu pentu entre 3.8V et 3.65V, début de coude à 3.1V, capacité de 2.0Ah), ça suppose une batterie Li-po récente, chargée à 4.2V et déchargée jusqu'à 2.7V.
Un second cycle complet (4.2V -> 2.7V à 1A) à donné 2.49Ah, pas si mal pour des batteries données pour 2.6Ah.

Draining a Lithium-Chinesium cell
Sur cette courbe, on affiche la tension de la batterie en fonction de la durée de la décharge (courant constant à 1A).
La capacité peut se trouver en multipliant le courant par la durée de décharge (2.49Ah ici).

Convertisseur Boost
Le PCB est très compact avec des composants sur les deux faces, mais le convertisseur boost utilise totalement la face du dessus.
top side of the PCB, boost converter

Protections
Avant de commencer, il faut tester si le convertisseur est fiable et ne risque pas cramer ce qui est branché dessus, ou bien de détruire la batterie.
  • Tension d'entrée minimale (cutoff) : 2.55V (à 1mA), en décharge de la batterie
  • Tension d'entrée minimale (démarrage) : 2.74V (à vide)
  • Tension d'entrée maximale : Ø
  • Courant de sortie maximal : Ø
  • Courant d'entrée maximal : Ø
  • Tension de sortie minimale : Ø
  • Tension de sortie maximale : Ø
  • Température maximale : Ø

Du coup les protections ne protègent que la batterie, il n'y a aucune autre protection. Il est possible de consommer jusqu'à 1A avant que la tension de sortie chute en dessous de 4.5V (parfois en dessous de la tension d'entrée si on continue à augmenter le courant de sortie).
Il ne semble pas y avoir de limite de température non-plus, puisqu'en dissipant plus de 3W dans un chip SOT223 et une diode, pendant plusieurs minutes, aucune protection ne se déclanche.

Schéma
Ce convertisseur est sur une seule face du circuit imprimé, avec un circuit intégré en SOT-223 (B3P4A, datasheets introuvables), une self (non-mesurée), une diode Schottky SS14 (1A, 40V, 300pF), et une minuscule capa (20µF).
À noter qu'il n'y a pas de capacité pour découpler la batterie (l'ESR est censé être faible et les fils courts), du coup il a fallu souder une capacité de 220uF (l'ESR importe peu) pour compenser les câbles de mesure un peu longs et l'alimentation de labo.

test points and decoupling capacitor
(Banana for scale)

Rendement
J'ai mesuré le rendement en variant la tension d'alimentation de 2.8V à 4.3V, pour plusieurs valeurs de courants de sortie : 10mA, 100mA et 500mA (le rendement à 1mA est autour de 30%, mais ne correspond à aucun cas réaliste).
Chinese boost efficiency versus input voltage

J'ai aussi mesuré le rendement à tension d'alimentation constante (3.7V) et en faisant varier le courant de sortie de 0 à 500mA.
Chinese boost efficiency versus output current

Le rendement de 83 à 86% est une bonne surprise pour une Chinoiserie, et la plage de rendement est assez large. En général, on peut espérer autour de 90% d'une alimentation boost de cette puissance, et il ne faut pas oublier que la LED consomme 2mA sur le +5V (très visible à faible charge).

Consommation à vide
Le courant de fuite, lorsque l'alimentation est arrêtée est négligeable devant l'auto-décharge de la batterie (la batterie devrait être déchargée au bout de 7 ans).
En pratique, on mesure entre 20 et 60µA en fonction de la tension d'alim.

Ripple
Pendant certains tests, j'avais remarqué un couinement audible, avant de rajouter une capacité de découplage de la batterie, du coup j'ai supposé que la CEM n'a pas trop été recherchée.

J'ai mesuré les cas extrêmes (3V, 1mA; 3V, 500mA; 4.2V, 1mA; 4.2V, 500mA), tout en vérifiant le comportement de cas intermédiaires.
Bingo, la tension de sortie a un ripple énorme (100mV à vide, 60mV en faible charge à 4.2V, et 200mV au courant maximal).
La forme de la tension au noeud de switch montre beaucoup de rebonds à faible courant de sortie.
On peut aussi voir que la régulation n'est pas très stable (sous-modulation), et la tension de sortie n'est pas toujours bien régulée.

ripple and oscillation at 3V/100mA
ripple at 3V/500mA

Chargeur
Le BMS, le chargeur et les autres composants (LEDs, switch, nmos) sont montés sur la face du dessous du PCB.
bottom side of the PCB, linear charger and BMS

Le chargeur est une copie d'un LTC4054-4.2 en boitier SOT23-5 (marquage LTH7). La résistance de "programmation" de 1.8kΩ règle le courant de charge à 555mA, mesurés à 500mA.
C'est un chargeur linéaire, du coup le chip est plutôt chaud en début de charge (1W dissipés).
Chinese charger current versus cell voltage

On peut vérifier quelques données :
  • Trickle charge : 29µA (négligeable, on peut supposer que ce n'est pas implémenté)
  • Début de charge : 2.89V
  • Fin de charge : 4.25V

Correction
Les soudures des câbles de batterie m'ont paru un peu fragiles, et le câble négatif est à quelques mm du terminal de batterie.
Un peu de scotch isolant ne peut pas faire de mal.
some isolating tape couldn't hurt

Références

icon Tags de l'article : ,

Chargeur de téléphone

icon 28/10/2016 - Comments are closed

J'ai eu besoin d'un adaptateur fonctionnant sur un allume-cigare de voiture, pour charger un téléphone, et occasionellement d'autres objets.
Comme mon appareil photo ne se charge qu'à 250mA, je vais mettre deux ports, un câblé pour autoriser une charge rapide à 1.5A (smartphone), et un autre limité à 250mA.

Solutions
J'ai récupéré un chargeur de Motorola T205 avec un connecteur allume-cigare. Le problème, c'est que le circuit du chargeur est incompatible avec n'importe quel périphérique USB (5.8V à vide + limite de courant à 150~200mA).

Pour cela, on ne gardera que le boitier compatible avec un connecteur allume-cigare, mais on devra changer le convertisseur pour qu'il puisse fournir du 5V, avec quelques contraintes :
  • Tension d'entrée : 7~16V, tension bruitée
  • Courant d'entrée : <2A, fusible
  • Tension de sortie : 5.0V, peu bruitée
  • Courant de sortie : 2A

J'ai quelques régulateurs de la famille LM25xx (ici des LM2596 donnés pour 3A) et des connecteurs USB dessoudés d'une carte-mère de PC, ça devrait pouvoir s'adapter sans aucun problème.
buck psu as a car smartphone charger

Câblage
Régulateur
Pour éviter les problèmes avec le régulateur ajustable, le potentiomètre permettant de régler la tension d'alimentation va être remplacé par des résistances fixes de 2.2k et 6.8k (le potentiomètre peut facilement être dérêglé par des vibrations, et rentre mal dans le boitier).
replacing the pot by two fixed resistors

Ici, j'ai utilisé une résistance traversante et une 1206 pour optimiser le routage (et parce que les pastilles du PCB Made in China sont parties en dessoudant le potentiomètre).

USB
J'ai uniquement regardé les spécifications des ports USB concernant les périphériques "universels" (je n'utilise pas de périphériques Apple).
Le port USB Rapide est câblé avec les deux pins D+ et D- reliés (<200Ω d'après les specs) et une résistance de pulldown de 1MΩ pour ne pas s'éloigner des specs.
Le port USB Lent est câblé avec uniquement des résistances de pulldown de 12kΩ.
pulldown resistors on the USB connector

Les résistances de pulldown sont rarement présentes dans les chargeurs cheap, mais laisser les pins de données flottants pose un risque d'ESD (surtout dans une voiture isolée de la terre).

Assemblage
Le boitier d'origine est légèrement trop petit, il a fallu le fraiser, puis le refermer avec du duct-tape et des zipties. L'arrière du port USB est protégé par de la colle chaude et du duct-tape.
duct-taped and ziptied smartphone charger

J'ai remarqué une fois l'assemblage terminé qu'une LED visible depuis l'extérieur aurait été utile.

Il est indispensable d'isoler proprement les pins en entrée de l'alimentation.
dangerous Chinese wiring


Références

icon Tags de l'article : , , ,

Nexx WT3020

icon 25/05/2016 - Comments are closed

Mon routeur (WRT54G) et point d'accès wifi avait quelques problèmes de fiabilité (freezes, coupures de réseau...), j'ai essayé de voir si on pouvait trouver un remplaçant vallable.

Le Nexx WT3020 est une Chinoiserie avec deux interfaces ethernet, une interface wifi, un port usb host et un SoC compatible avec OpenWRT.

Software
Le firmware d'origine à l'air utilisable avec un noyau Linux contrôlable par telnet et une interface web en Anglais (ou en Chinois).
  • Adresse IP : 192.168.8.1
  • Login (http) : admin
  • Mot de passe (http) : admin
  • Login (telnet) : nexxadmin
  • Mot de passe (telnet) : y1n2inc.com0755

On peut changer le firmware directement depuis l'interface web ou bien par telnet.

OpenWRT
Il faut d'abord connaître la quantité de mémoire flash embarquée. Comme la puce est difficile à lire, il semble que les modèles dont l'adresse MAC commence par 20:28:18 ont 8Mio de flash.
On peut ensuite télécharger l'image d'OpenWRT adaptée au routeur et utiliser l'interface web d'origine pour flasher le firmware.

Au reboot, l'adresse IP change et devient 192.168.1.1, et une fois un mot de passe choisi, on peut utiliser ssh.

Hardware
En ouvrant le boitier (quasiment impossible sans casser de clip), on voir un SoC Mediatek MT7620N, une mémoire flash SPI (8Mio), deux transformateurs d'impulsion (ethernet), de la SDRAM (64Mio), et quelques régulateurs de tension.
Nexx WT3020 board top (OpenWRT Wiki)
Nexx WT3020 board bottom (OpenWRT Wiki)

On voit directement que la capacité d'entrée est trop faible (400 à 900mV de ripple mesurés, en fonction de la charge). Par contre le ripple est faible après le régulateur LDO qui alimente le SoC.
J'ai préféré rajouter une capacité chimique de 220µF (16V, ESR <1Ω), ce qui limite le ripple à <20mV.
Nexx WT3020 added capacitor

Les pads qui sont accessibles entre les deux ports ethernet et le SoC servent pour une liaison série, utile pour avoir un accès direct à u-boot en cas de problème.
Par contre il n'y a pas de JTAG, du coup en cas de brickage, il faudra dessouder la mémoire flash (SPI) pour la re-flasher.

Performances
J'ai essayé de mesurer la vitesse de transfert en copiant des fichiers par NFS et en utilisant le benchmark réseau iperf :
  • Routeur -> PC : 24.9Mbit/s
  • PC -> Routeur : 22.6Mbit/s

En vérifiant, le routeur fonctionne en mode 802.11g, et est théoriquement limité à 54Mbit/s (~30 en pratique). Il y a peut-être une configuration spécifique pour OpenWRT (le hardware est censé supporter la norme 802.11n à 300Mbit/s et le MIMO).

802.11n (update 06.2016)
Avec un peu de recherches, on voit que le mode 802.11n, qui suppose une bande passante de 300Mbit/s ne peut être actif que si le mode WMM (Wi-Fi Multimedia) est activé et si les données sont encryptées en WPA (j'utilisais le mode WEP depuis mon premier routeur).
Avec quelques tests :
  • Routeur -> PC : 70.8Mbit/s
  • PC -> Routeur : 21.6Mbit/s
On a aucune différence en upload, mais le débit en download devient intéressant.

Références

icon Tags de l'article : , , , ,

Convertisseur USB-PS/2

icon 05/03/2016 - Comments are closed

Fonctionnement
J'ai voulu utiliser un convertisseur USB-PS/2, pour utiliser un clavier PS/2 avec un PC portable qui n'a que des ports USB.

En général ces systèmes utilisent un petit microcontrôleur avec un périphérique USB host et émulent le protocole HID. Les périphériques PS/2 sont en général "bit-bangés".
Il existe des notes d'application avec des microcontrôleurs Microchip (PIC16/PIC18/dsPIC33), Atmel (ATMegaU/ATXMega), TI (CC25xx) qui incluent un périphérique USB host et un core 8bit suffisament rapide pour gérer l'USB et bit-banger deux lignes PS/2.
Microchip appnote USB to PS/2

Par flemme de coder le soft, j'ai préféré commander un module tout fait. Le problème, c'est qu'à la réception de ma carte, le contrôleur était détecté aléatoirement par le port USB et les claviers/souris ne fonctionnaient pas (Pas de signal sur tous les pins des connecteurs PS/2).

Réparation
failing usb-ps2 converter
En ouvrant on remarque bien qu'il n'y a pas grand chose : un microcontrôleur/ASIC dans un "Chip on Board" résiné, une capa de découplage pour la forme, et 3 connecteurs.

En testant à l'ohmmètre, on remarque que des soudures et un connecteur PS/2 sont cassés.
Un examen du PCB montre qu'il devrait y avoir une capacité C1 pour découpler l'alimentation.

Après changement d'un câble (je n'utilise que le clavier) et soudure d'une capacité de découplage (47µF 25V, mais la valeur n'est pas critique entre 100nF et 100µF), le convertisseur fonctionne.
fixed usb-ps2 converter

Par curiosité, les chip-on-boards ressemblent à ça, avant qu'ils soient noyés dans la résine.
Chip on board Sparkfun

Références

icon Tags de l'article : ,