Monorailcat

Disque de stationnement

icon 18/06/2017 - Comments are closed

Après m'être fait rappeller à l'ordre par la police, j'ai dû chercher un disque de stationnement officiel.

Il en existe de plein de sortes, mais tant qu'à faire, autant ne pas perdre nos habitudes de LaTeX/Tikz pour avoir un disque multilingue.
Parking disk

Normes
Le code de la route Allemand (duquel sont repris les disques de parkings Européens) donne les standards à respecter:
  • Dimensions: 110 × 150mm
  • Couleurs: Noir, Blanc et bleu signal (RAL 5005)
  • Police: DIN 1451 (une police sans serif suffit)

LaTeX
Le plus simple est de séparer le code en deux images Tikz, pour le disque et la pièce qui va le tenir.
Au début, on va s'aider de grilles pour vérifier la géométrie.
\draw[step=1cm, gray, very thin] (-6,-6) grid (6,6);

Disque
On forme un cercle de 5.25cm de diamètre et un disque de 3mm de diamètre, rempli en noir, serviront de repères pour découper et centrer le disque.

\draw (0,0) circle (5.25cm);
\fill[black] (0,0) circle (0.3cm);

Après, on trace 12 rayons pour chaque heure, en indiquant l'heure correspondante (sans oublier d'aligner les caractères perpendiculairement aux rayons).
Tant qu'à faire, on trace aussi des rayons plus fins toutes les demi-heures.
\foreach \angle [count=\xi] in {30,60,...,360} {
	\draw[line width=.1cm] (\angle:1.5cm) -- (\angle:3cm);
	\draw[line width=.1cm] (\angle:4cm) -- (\angle:5cm);
	\node[rotate=30*\xi+90,font=\Huge\sffamily\bf] at (\angle:3.5cm) {\textsf{\xi}};
}

\foreach \angle in {15,30,...,360} {
	\draw[line width=.01cm] (\angle:1.5cm) -- (\angle:3cm);
}

Une fois tout terminé, ça devrait ressembler à ça :
clock

Support
On va organiser la pièce en superposant des formes les unes sur les autres.

On commence par deux rectangles bleus de 110*150mm:
\fill[signalblau] (11,0) rectangle (22,15);
\fill[signalblau] (0,0) rectangle (11,15);
Rectangle shape

On rajoute deux coupures en haut du support, pour tourner le disque. À noter que la zone est hachurée, comme toutes les zones que l'on va découper:
\filldraw[white] (1.5,15) arc (240:300:8cm);
\filldraw[white] (12.5,15) arc (240:300:8cm);
\draw[GridSize=0.5cm, pattern=Hatchgrid, pattern color=black] (1.5,15) arc (240:300:8cm);
\draw[GridSize=0.5cm, pattern=Hatchgrid, pattern color=black] (12.5,15) arc (240:300:8cm);
thumbwheel cutouts

On découpe une fenêtre en arc de disque pour voir la portion du disque qui nous intéresse. Comme le fait d'avoir un polygone avec cette forme est difficile, on va superposer plusieurs polygones:
\fill[white] (5.5,10) ++(210:4cm) arc (210:330:4cm) -- (6.8,9.25) (5.5,10) ++(330:1.5cm) arc (330:210:1.5cm) -- (2.03,8);
\draw[GridSize=0.5cm, pattern=Hatchgrid, pattern color=black] (5.5,10) ++(210:4cm) arc (210:330:4cm) -- (6.8,9.25) (5.5,10) ++(330:1.5cm) arc (330:210:1.5cm) -- (2.03,8);
\fill[signalblau] (5.5,10) ++(210:1.5cm) arc (210:330:1.5cm);  %dirty workaround
\draw (5.5,10) ++(210:1.5cm) arc (210:330:1.5cm);
Clock window

On rajoute des traits de construction autour des rectangles:
\draw (0,0) -- (11,0) -- (11,15) -- (0,15) -- cycle;
\draw (11,0) -- (22,0) -- (22,15) -- (11,15) -- cycle;

Dessiner un signe de parking est plus facile qu'il en a l'air:
\draw [rounded corners=0.5cm, white, line width=0.25cm] (3.5,1) rectangle (7.5, 5);
\draw [white, line width=0.5cm] (5,1.5) -- (5,4.25);
\draw [white, line width=0.5cm] (5,4) -- (5.75,4);
\draw [white, line width=0.5cm] (5,3) -- (5.75,3);
\draw [white, line width=0.5cm] (5.75,4) arc (90:-90:0.5cm);
Parking sign

Il reste à rajouter un triangle blanc pour indiquer l'heure et un repère pour le pivot/axe du disque:
\filldraw[white] (5.5, 9) -- (5, 11) -- (6, 11) -- cycle; 

\filldraw[black] (5.5,10) circle (3mm);
\filldraw[black] (16.5,10) circle (3mm);
Arrow + pivot point

On doit rajouter du texte (adaptable en fonction des langues choisies) et quelques notes au dos:
\node[below, align=center, white, font=\small\sffamily] at (5.5,13.5) {\Huge Time of arrival\\\Huge Ankunftszeit\\\Huge Heure d'arrivée};
%\node[below, align=center, white] at (5.5,13.5) {\Huge TIME OF ARRIVAL\\\Huge ANKUNFTSZEIT\\\Huge HEURE D'ARRIVÉE};

\node[align=center, white] at (16.5,3) {\small Xavier Bourgeois\\http://monorailc.at/\\nospam@monorailc.at};
\node[below] at (20,3) {\includegraphics[width=1.5cm]{Cc-by-nc-sa_icon.png}};
Text

Et pour finir, les notes pour couper, coller et plier le support:
\node[below, fill=white] at (5.5, 8) {cut this hatched area};
\node[below, fill=white] at (5.5, 14.75) {cut this hatched area};
\node[below, fill=white] at (16.5, 14.75) {cut this hatched area};
\draw[GridSize=0.25cm, pattern=Hatchgrid, pattern color=signalblau] (0,0) -- (-2,1) -- (-2,14) -- (0,15);
\node[below,rotate=90, fill=white] at (-1, 7.5) {fold and glue this hatched area};
\draw[GridSize=0.25cm, pattern=Hatchgrid, pattern color=signalblau] (0,0) -- (1,-2) -- (10,-2) -- (11,0);
\node[below, fill=white]at (5.5, -1) {fold and glue this hatched area};

\node[right] at (13,16) {fold here};
\node[right] at (13,-1) {fold here};
\draw[->, bend right] (13,16) to (11,15.1);
\draw[->, bend left] (13,-1) to (11,-.1);

\node[right] at (2,16) {fold here};
\node[left] at (-1,-1) {fold here};
\draw[->, bend right] (2,16) to (0,15.1);
\draw[->, bend right] (-1,-1) to (0,-.1);
Notes

À noter qu'il a fallu définir la couleur "Bleu Signal" et le remplissage "hachuré":
\definecolor{signalblau}{HTML}{005387}

\pgfdeclarepatternformonly[\GridSize]{Hatchgrid}{\pgfqpoint{-1cm}{-1cm}}{\pgfqpoint{4cm}{4cm}}{\pgfqpoint{\GridSize}{\GridSize}}
{
	\pgfsetlinewidth{0.01cm}
	\pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
	\pgfpathlineto{\pgfqpoint{1cm}{1cm}}
	\pgfusepath{stroke}
}
\newdimen\GridSize
\tikzset{
	GridSize/.code={\GridSize=#1},
	GridSize=3pt
}

Une version prête à imprimer est disponible: Disque de parking

Références

icon Tags de l'article : , ,

Autoradio Tuner List (3) : Intégration

icon 08/01/2017 - Comments are closed

Le chargeur de téléphone est placé juste devant le levier de vitesse, et le câble peut s'enrouler autour, ce qui peut devenir gênant en roulant.

Pour éviter tout ça, il doit être possible d'intégrer le chargeur de téléphone dans l'autoradio (dans lequel il reste la place du lecteur de cassettes).

Câblage
L'autoradio est alimenté par le +12V_Permanent (pin A4), et le +12V_Contact (pin A7) ne sert qu'à l'activer à la mise du contact.
DIN/ISO 10487 pinouts

Il y a deux gros pads à proximité d'une capa de découplage sur le PCB, l'empreinte ressemble à celle d'une capa chimique SMD, sauf qu'ils sont reliés au +12V_Permanent, et qu'on ne veut pas que notre chargeur vide la batterie.
Tuner list full PCB

En jouant un peu à l'Ohm-mètre (les pistes sont dures à suivre avec un PCB multi-couches), on arriver à trouver un pin relié au +12V_Contact. Les pistes sont fines, mais semblent correctes pour 500mA (<500mΩ, mon Ohm-mètre n'est pas plus précis).
+12V_Contact

Une fois les pads repérés, on peut souder sur la carte à LM2596 du chargeur de téléphone, sans oublier de mettre un fusible de 1A.

On peut aussi profiter que l'autoradio soit ouvert pour mettre les selfs différentielles à l'intérieur. En pratique, avec des selfs toriques, les fuites sont tellement faibles qu'on peut se permettre de les placer n'importe comment sans qu'il n'y ait de couplage avec d'autres selfs ou les circuits voisins.

Mécanique
On peut utiliser des vis/entretoises M3 pour fixer l'alimentation. Il faut faire attention à ce que les vis ne touchent rien d'autre que la masse, j'ai dû ajouter une rondelle isolante pour une vis proche du rail d'entrée.
Mounted PSU with

Comme c'est installé dans une voiture, il ne faut pas oublier qu'il y a beaucoup de vibrations et des cycles thermiques assez larges, du coup ce n'est pas une mauvaise idée d'ajouter des contre-écrous en plus du taraudage des trous.
Jammed Nuts on standoffs

Pour les vibrations, il faut aussi sceller tout ce qui peut bouger : fils, fusible, nappes, selfs. Les zip-ties sont moches, mais bien adaptés à ce genre de choses.
Zipties as strain reliefs

Une fois que tout est fait, on n'oublie pas de vérifier à l'Ohm-mètre qu'il n'y a rien de mal câblé, et que rien ne bouge en secouant le bloc. Avec un fusible de 15A dans la voiture, il y a de quoi faire des dégats sans même que ça ne coupe.

Une fois testé, on peut vérifier que le chargeur ne fonctionne que lorsque la clé est insérée.
Blue LEDs show the charger is powered

icon Tags de l'article : , ,

Autoradio Tuner List (2) : Bruit

icon 30/12/2016 - Comments are closed

En ayant pu (enfin) utiliser la voiture, j'ai remarqué qu'on entendait un bruit dépendant du régime moteur dans l'autoradio (probablement l'allumage).
En investiguant un peu, j'ai remarqué qu'en utilisant le chargeur de téléphone avec le moteur allumé, le téléphone avait aussi un bruit audible.

Identification et réparation
Ça suppose soit un PSRR immonde pour le chargeur du téléphone, soit du bruit de mode commun (rayonné ou bien conduit).

Du coup la solution miracle est arrivée après quelques secondes de réflexion : des selfs différentielles.

Avec quelques tours de câble enroulé autour d'un tore de ferrite sur les câbles d'entrée analogique et d'alimentation ont complètement réglé le problème.

common-mode ferrite inductors


Principe
Le but est de filtrer un courant parasite qui circule dans une boucle. Un simple filtre LC sur chaque fil de signal filtrerait le signal utile, sans beaucoup atténuer le signal parasite.
common-mode noise

Avec une self sur chaque signal, y compris la masse, c'est le même problème, on filtre le signal utile.
En couplant ces selfs entre elles, le signal de mode différentiel n'est pas perturbé. Le sens du bobinage fait que l'inductance est faible (le champ est nul) tant que le courant qui rentre par les fils de signaux est égal au courant qui retourne par la masse. Par contre en cas de perturbation de mode commun, le courant entrant et le courant sortant tendent à ne pas être égaux (soit par une boucle de masse, soit par des capacités parasites), du coup il commence à y avoir un champ magnétique dans la self, qui présente une inductance (et atténue ces courants).

common-mode vs differential inductors

Références

icon Tags de l'article : , , ,

Autoradio Tuner List : Entrée Aux

icon 30/10/2016 - Comments are closed

J'ai un autoradio Tuner List (Renault/VDO, modèle 22DC259/62T), avec un lecteur cassettes qui m'est inutile, mais je voulais ajouter une entrée analogique pour y brancher un smartphone ou un lecteur audio.

/!\ Danger
La tension maximale n'est que de <15V, mais tout est sous tension, même lorsque le contact n'est pas mis, ou que l'autoradio est éteint. Le fusible permet de sortir 15A, largement de quoi tout casser et se blesser avant qu'il ne fonde.
/!\ Warning
The maximum voltage is only <15V, however, the radio is always powered, even when switched off or when the engine is turned off. The fuse is rated for 15A, more than enough to blow the radio and hurt yourself before it melts.


Démontage
Sur les Renault Mégane, la face avant de l'autoradio est plus large que celle des autres voitures, mais les fixations sont à peu près au même standard.
Il suffit d'insérer deux clous de 4mm dans les deux trous en bas sur les côtés, pousser les clous vers l'extérieur, et de faire bouger l'autoradio sur les côtés en le tirant. Deux mains sont nécessaires, mais c'est faisable sans outils spéciaux.
Removing the radio from the car's front panel

Une fois l'autoradio tiré, il y a un connecteur DIN/ISO (parfois séparé en deux parties) à gauche, puis un connecteur (jaune dans ce cas), pour relier les commandes au volant et l'afficheur (I²C). Il y a aussi parfois aussi un connecteur (bleu) dans le cas où un chargeur de CD serait présent. Le câble d'antenne (Coax à droite) est aussi à débrancher. Il est souvent clipsé à l'arrière de l'autoradio.

Code
Quand l'alimentation de l'autoradio a été débranchée, il est nécessaire d'entrer un code (normalement fourni, sinon trouvable à partir du numéro de série).
Quand l'autoradio affiche "0000", avec le premier '0' clignotant et qu'il faut entrer le code "1234", il faudra taper une fois sur la touche "1", une fois sur la touche "2" pour choisir le 2nd caractère (qui doit clignoter), puis deux fois sur cette touche (l'écran doit afficher "1200"), idem avec les touches 3 et 4 pour les derniers digits.
Une fois le code complet, il faut maintenir la touche 6 appuyée jusqu'à ce que l'autoradio fonctionne normalement.

Teardown
Le haut de l'autoradio se démonte simplement en déclipsant 4 clips avec un tournevis plat.

Il faut retirer deux connecteurs Würth WR-MM et dévisser 4 vis Torx T8 pour démonter le lecteur de cassettes en le tirant vers l'arrière (il faut retirer la cassette présente avant de retirer le lecteur).

La carte n'a de composants que sur la face, le PCB vertical à l'arrière contient uniquement le tuner FM/AM, et le PCB vertical à l'avant supporte des boutons poussoirs et des LEDs.

Il y a 3 composants qui nous intéressent :
  • TEA0676T : Préampli de cassette, à proximité du connecteur WR-MM à 4 pins des têtes du lecteur de cassette
  • SAA7708H : ADC + DSP + DAC + MUX + décodage RDS + décodage SPDIF, ASIC "magique" conçu pour les autoradios
  • 93CW44DF : Microcontrôleur OTP ou ASIC custom, sans documentation, semble tout contrôler

Les autres gros circuits intégrés concernent le tuner, l'ampli de puissance ou de la glue logique.
VDO/Renault Tuner List taken apart

Sur cet autoradio, il est possible d'utiliser l'entrée SPDIF (disponible sur le connecteur du chargeur de CD), mais le périphérique doit communiquer avec l'autoradio (RS232 0-12V, 9600, 8N1).

Entrée
Le circuit SAA7708H supporte 3 entrées analogiques (phone, tape, CD), mais elles sont contrôlées par le chip 93CW44DF (contrôle par un bus I²C).
Comme le lecteur de cassettes ne me sert pas, je vais câbler l'entrée à la place de celui-ci.

Au niveau des têtes de lecture, le niveau est très faible (~1mV), et surtout le signal est remis en forme (filtres, égaliseur). Il est nettement plus simple de récupérer le signal en sortie du préampli (signal déjà égalisé, filtré et amplifié), à environ 1V (compatible avec une sortie casque/ligne au volume maximal).

En regardant entre la sortie du TEA0676T l'entrée du SAA7708H, on voit des capacités pour bloquer une composante DC, et un filtre passe-haut (entrée d'ADC). On va donc câbler l'entrée juste à la sortie du TEA0676T.

Adding an analog input to the VDO tuner list
Adding an analog input to the VDO tuner list

Les pins 1 et 16 sont dessoudés et isolés de leurs pastilles, et le câble d'entrée est soudé sur des points de test et la masse sur un plan.

Après un test, l'entrée fonctionne uniquement si le lecteur de cassettes (connecteur à 10 pins) est branché et si une cassette est présente (il n'y a pas besoin de brancher le câble à 4 pins).

Lecteur de cassettes
Par un peu de rétro-ingéniérie, il est possible d'identifier chaque signal du connecteur WR-MM à 10 pins :
PinFonction
1Auto-reverse switch
2GND
3Presence switch (C)
4Presence switch (T)
5Motor (+)
6Mute switch
7Solenoid
8Solenoid
9NC
10CrO2 switch
Avec quelques tests, seulement les fils en gras sont utiles pour activer le lecteur de cassette.
Le pin 6 (Mute switch) est à relier au pin 2 (GND). Les pins 2 et 3 (presence switch) sont à relier entre eux.
fooling the cassette deck controls on the VDO tuner list


Remarques
Attention, il y a très peu de place entre le volant et le levier de vitesse, un faux mouvement fait vite des dégâts. En pratique, il faut isoler le mécanisme de cassette et le PCB de contrôle avec des sachets antistatiques, et aussi débrancher le connecteur WR-MM à 10 pins avant chaque modification.

À la moindre erreur, il peut y avoir de gros dégâts :
what happens when you're not careful enough

L'autoradio est soumis à de larges cycles de température et doit supporter des vibrations. Pour cela, tous les câbles ont été isolés avec de la gaine thermo-rétractable ou plusieurs couches de ruban de kapton ou de vinyl.
Il faut aussi prendre en compte le fait que le jack peut être tiré depuis l'extérieur. Un simple noeud permet d'éviter de casser les soudures.
careful wiring

Les boutons eject et avance/retour rapide ont été fixés par des morceaux de PVC pris en sandwich entre la face avant et le haut du boitier. Il a été nécessaire de percer les boutons pour laisser passer le câble.
Front face of the modded Tuner List. One could barely tell it has been deeply modified.

Tests
Une fois toutes les modifications testées in-situ, puis faites de façon définitive, on a gagné un jack 3.5mm (de quoi faire des envieux chez les propriétaires d'iPhones 7)

Avec mon lecteur audio Sandisk Sansa et mon smartphone HTC Desire X, le volume doit être au maximum pour avoir le même volume que le tuner FM, mais le son est bien en stéréo et de bonne qualité.


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 : , , ,