mardi 20 février 2018

M.I.D.I. : les travaux en cours.

Avertissement : je vais quelque peu modifier le fonctionnement de ce blog.

Depuis quelques mois, je travaille en parallèle sur la thématique de l'automatisme en Open Harware.
Ce sujet commence à se structurer, notamment en ce qui concerne les aspects automatisation des bâtiment, que ce soit à destination de l'habitation individuelle ou du petit collectif/hôtel. Je publierai donc ces sujets sur ce blog : http://domoplc.blogspot.fr

Quant au sujet de ce post, il s'agit de la construction des adaptateurs devant permettre aux machines de se connecter à 'mon' système MIDI. J'ai déjà créé un switch pour ce système : http://synthelectro-fr.blogspot.fr/


J'ai créé des adaptateurs MIDI mais basés sur des processeurs ATMEL ATMEGA328pb. Ils fonctionnent très bien mais le système de débogage fourni pour ces processeurs et l'application AVR Studio est trop mal commode pour permettre un développement facile avec débogage en temps réel.

J'ai donc décidé de développer une nouvelle version à base de processeurs Texas Instruments de type MSP430. J'ai pu tester le fonctionnement des deux ports série nécessaires à mon application, ainsi que le système de débogage temps réel très efficace et simple à mettre en œuvre.

Je n'ai pas vraiment poussé les tests préliminaires sur cette nouvelle base processeur parce qu'il me faut produire assez rapidement le circuit imprimé. Si le timing ne joue pas trop contre moi, je devrais être en mesure de présenter mon système MIDI équipé de ces nouveaux convertisseurs au Synthfest de Nantes le dernier week-end de mars.

Voici à quoi 'devrait' ressembler le circuit imprimé de ces nouveaux convertisseurs :


J'en ai profité pour améliorer certains aspects dont notamment un problème de dissipation thermique trop forte à mon goût. Cette nouvelle version devraient chauffer largement moins et être fortement représentative de ce à quoi devrait ressembler le produit fini.

J'avoue que sur ces nouveaux convertisseurs, c'est l'aventure totale. Je ne sais pas si j'arriverai à produire quelques circuits à temps et s'ils fonctionneront. Si ça n'est pas le cas, je présenterai mon système avec les convertisseurs actuels.

jeudi 25 janvier 2018

DOMOTIQUE et PLCs en ARDUINO.

Suite de mon étude sur un automate programmable à usage général dont j'ai publié un aperçu du développement plus bas.

Pour rappel, la raison majeur qui m'a poussé à développer un matériel personnel provient de la nécessité d'une communication de type GSM.  Cet impératif me conduisait à une impasse avec le matériel proposé. Soit je partais sur du matériel professionnel présentant un cout d'achat non négligeable et une méthode de mise en œuvre elles aussi de type professionnelle basée le plus souvent sur la norme de programmation 61131-3. Cette norme, tout aussi intéressante qu'elle soit, n'est gérable que par un professionnel de l'automatisme et ne peut que très difficilement être 'imposée' à un amateur, même éclairé.

Reste donc la solution beaucoup plus abordable de la compatibilité Arduino. Les ressources nécessaires pour la mise en œuvre logicielle de ce type de solution se bornent à une pratique 'suffisante' du langage C. Nul besoin d'être expert. La maintenance d'applications s'en trouve dans ce cas grandement facilité, et peut être délégué à des personnes 'suffisamment' compétentes, sans obligation d'expertise dans le domaine. Surtout s'il s'agit de corriger un éventuel problème sur un code déjà existant et bien documenté.

La conception d'un système particulier reposant sur une base Arduino pose quand même quelques problèmes, et notamment l'intégration d'un module GSM. N'existant pas sur la marché de solutions intégrées, on se retrouve dans l'obligation de recourir à des modules professionnels dont la caractéristique principale est de ne supporter QUE la liaison RS232 pour communiquer avec un automate. Cela tombe très bien puisque la totalité des automates possèdent une liaison de terrain de type RS485 et non pas de type RS232!

De plus, ces modules GSM sont à programmer 'from scratch' comme l'on dit, car il n'existe pas de bibliothèques de mise en œuvre pour la plateforme Arduino. Alors que la plateforme Arduino propose l'utilisation d'un module GSM standard utilisant la 2G, largement suffisant pour émettre des sms voir quelques requêtes réseau, accompagné de sa bibliothèque logicielle d'intégration :


Le tout pour un prix somme toute abordable. Le problème de cette solution, est l'obligation d'utiliser une carte de type Arduino, comme la 2560 :


Carte au prix, la aussi, abordable, mais qui ne propose absolument aucune entrée/sortie de type automate, donc prévues pour être utilisées en milieu réel. Toutes les ressources de la carte ne peuvent être utilisée que pour des signaux à la norme TTL, c'est à dire de 5V au plus. S'ajoute à cela un système de connexion tout à fait inadapté à un usage de terrain impliquant de facto la création d'une carte d'adaptation électrique ET mécanique.

Non content de ces inadaptations par rapport à ma demande, j'ai en plus décidé de rajouter un clavier et un écran LCD sur le système. Il me semble en effet assez peu pertinent de devoir reprogrammer la carte à chaque fois qu'un numéro de téléphone ne doit plus être contacté ou, au contraire, que l'on souhaite en rajouter dans le répertoire, même si ce mode de fonctionnement habituel est 'imposé' par les entreprises car générateur de couts cachés forts rémunérateurs.

Toutes ces considérations m'ont amené à construire entièrement une machine capable de répondre à mes besoins, c'est à dire qui possède des entrées.sorties diverses capable de s'adapter à l'environnement d'utilisation et à d'éventuelles demandes d'extensions, des organes de commande et de visualisation pour une interactivité minimum, un emplacement pour une carte GSM, une compatibilité Arduino pour une mise en œuvre pratique et efficace.

Cela m'a conduit à créer ce schéma :


Quelques modifications ont été apportées par rapport au schéma initial. Les entrées/sorties sont maintenant TOTALEMENT isolées du cœur du système ET universelles. Les entrées sont par exemple compatibles avec les normes industrielles c'est à dire de 5 à 24V (36V en vrai). Les sorties à relais sont de facto isolées, mais les deux sorties à transistor MosFet le sont maintenant aussi et sont capable de fournir 10A sous 60V, idéales pour commander des charges en 12 ou 24V à fréquence élevée. Une entrée de détection 230V opto-isolée est aussi présente et agit en tant qu'entrée compatible 230VAC, entrée imposée par le type d'application initialement prévue. J'oubliais, une liaison de communication à la norme RS485 est aussi présente. Elle n'est pas isolée, mais quand même protégée. Il sera donc nécessaire de se méfier à minima du mode commun en cas de liaison sur une longue distance.

Après la longue phase de recherche de matériels, de tests divers, de validation des solutions retenues, vient le temps de la création proprement dite de la carte d'application. La recherche des composants adéquates effectuée, la première étape à passer consiste à vérifier que les empreintes choisies sur le logiciel de CAO correspondent bien à celles des composants.


Une fois cette étape assez laborieuse effectuée, il ne reste plus qu'à passer à celle de la création proprement dite du circuit imprimé.

Encore de longues heures de travail en perspective pour atteindre l'objectif, à savoir un circuit imprimé fonctionnel, ou tous les composants ont bien trouvé leur place de façon à ne pas se perturber mutuellement d'un point de vue électrique et/ou mécanique, et ou les normes d'isolation électrique auront pu être correctement implantées parce que cette carte comportera des zones soumises à la tension secteur.

[06-02-2018]
Après plusieurs heures de réflexion sur le sujet, de mise en place et de modifications, j'en suis arrivé à une première implémentation des composants :


Mettre en place tous les composants en respectant des zones d'isolation minimum entre les parties potentiellement soumises à des niveaux de tension très différents, ainsi que la taille des empreintes puisque j'utilise des empreintes pour soudage à la main, donc plus importantes que ce qu'elles pourraient être, prend finalement beaucoup de place.

Il s'agit d'un premier jet en mesure d'être potentiellement modifié selon les difficultés que je rencontrerai lors du routage des pistes. La topologie de ce circuit ne ressemble pas du tout à ce à quoi j'aboutis d'habitude. Cela est du en grande partie à la taille imposante de certains composants.



On ne le dirait peut-être pas comme ça, mais le routage avance. Du fait de la topologie de la carte, il est totalement exclu d'utiliser le routage automatique. La tactique adoptée consiste à d'abord router chaque fonction de la machine avec une épaisseur de piste adaptée. Une fois cette opération effectuée, il ne restera plus qu'à router ces fonctions vers le processeur. Autrement dit, pour l'instant ce sont les liaisons les plus courtes, hormis celles d'alimentations, qui sont traitées en laissant le plus d'espace possible au milieu de la carte pour y acheminer par la suite les liaisons longues. Il reste encore du travail!

Après un bon nombre d'heures de travail avec l'aide toutefois de l'auto-routeur, j'ai fini par obtenir un routage 100% à peut près satisfaisant. Il me reste encore à travailler manuellement sur le circuit pour modifier les quelques aberrations restantes ainsi que les aménagements nécessaires dus aux spécificités de ce type de circuit :


Allez, encore quelques heures de travail et le bout du travail devrait arriver...

[01/03/2018]
Le routage de la carte est terminé.


Les quelques dernières modifications ont été apportées à la main sur le circuit. Il ne reste plus qu'à le transmettre au fabricant en espérant qu'il soit réalisable tel quel, malgré la finesse du dessin de la portion se situant aux alentours du processeur. Sans doute un bon mois d'attente avant de pouvoir commencer à implanter les premiers composants et effectuer les premiers tests.

lundi 22 janvier 2018

Western Electric W300B

A l'heure du tout numérique et de ses merveilles : fichiers corrompus; pertes de liaison internet; ralentissements des débits; codecs non installés et introuvables; applications plus à jour pour cause de matériel rendu obsolète; taux de compression destructeur; streaming pas si gratuit que ça; publicité hyper invasive; 'flicage' de la vie privée etc etc.., bref,  a ceux qui 'voudraient' encore jouir d'une musique de qualité sans entrave en mettant le prix au bon endroit, Western Electric annonce la ré-édition de son tube électronique W300B.


J'admets bien volontiers que ce type d'annonce ne dira peut-être pas grand chose à la majorité des personnes visitant mon blog. Quoi qu'il semblerait quand même que ce soit pour grande part des amateurs de qualité audio. L'annonce ce trouve à cette adresse : http://www.westernelectric.com/

Dommage que la société française Millerioux n'existe plus, cela aurait été le moment de refabriquer de très bons transfos de sortie. Heureusement, il reste quelques sociétés 'locales' en mesure de réaliser ce type de composants, capables de restituer l'expressivité de ces tubes.

Question prix, un ampli fabriqué avec ces composants sera très cher, en comparaison de toutes les 'bouses' (mais qui fonctionnent pas mal quand même pour ce qu'on leur demande) en provenance de... 'très loin', à prix défiant toute concurrence. Mais, et cela tombe bien, il n'y aura pas vraiment de concurrence possible (ou du moins pas avant un bon bout de temps), le marché cible n'étant pas du tout le même!

Amateur de technologie, voilà l'excellence en tube (il y a nombre d'autres très bons tubes, mais en triode, c'est le must) de nouveau disponible chez le fabriquant d'origine!



jeudi 21 décembre 2017

Ah, la propagande 'à la française'. Ou l'art d'amuser la gallerie à 5 millions d'Euros! (bis)

Il y a maintenant un an de cela, je publiais sur ce même blog une prestation vidéo de David L. Jones au sujet de la route solaire développée par l'entreprise de travaux publics Colas, et présentée en grande pompe par la ministre de l'écologie de l'époque, l'inimitable Ségolène Royal.

Pour rappel :


Après la mise en service de cette route, puis 11 mois d'exploitation, voici venu le temps d'un petit compte rendu par notre cher Dave :


Ce qui est bien avec Dave, c'est que non content d'avoir critiqué la démarche, il présente ici les résultats de cette hérésie bien française, chiffres à l'appui.

Sans doute un très joli coup de pub pour notre 'macadamiseur' national, financé avec l'argent du 'bon peuple' français, et sponsorisé par une ministre (malgré le haut degré de ridicule que peu dégager cette personne) en VRP de l'excellence (à la) française. Au delà de l'aspect totalement idiot d'un point de vue pratique d'une telle démarche, que penser du fabuleux Green Washing que présente ce genre d'initiative. Je vous laisse juge :


Oui, mais bon, c'est bien d'avoir tenté la chose pour montrer qu'on pouvait le faire. On peut le voir de cette façon. Les ingénieux ingénieurs français pourraient sans doute être 'utilisés' à meilleur escient...

A n'en pas douter, la France est une démocratie, dans le principe en tout cas. Après, tout se discute. Argons que la constitution française mise en place en 58 pour en définir et restreindre le strict exercice, n'en est encore qu'à ses débuts, et que l'heure de la maturité n'a pas encore sonné!

Et à propos de totem de l'excellence, en voici un qui trône en ce moment quelque part sur du macadam non 'photovoltaïsé' par Colas, qui à fonctionné une quinzaine d'années sur le bon vieux réseau nucléaire/charbon du pays. Restes d'un ancien abris bus Clear Channel en cours de remplacement par l'autre, le J.C. Entretien, rénovation? Mais non voyons : gaspillage, gaspillage, gaspillage, à unique but commercial. Il est vrai que je n'ose même pas me poser la question du recyclage!


vendredi 15 décembre 2017

DOMOTIQUE et PLCs en ARDUINO.

Petite brève,

Il y a quelques mois de cela, j'ai reçu commande pour la mise en place d'un système de surveillance permettant d'une part la réalisation de petits automatismes locaux ainsi que l'avertissement des actions menées, notamment par GSM.

Après avoir testé diverses solutions commerciales, tant en provenance du milieu de la sécurité que de celui de l'automatisation plus 'dure', je n'ai pas été en mesure de trouver le système adéquat.

Plusieurs raison à cela, dans le désordre : le prix, la flexibilité, la simplicité de câblage, l'adaptabilité, les interfaces disponibles, le facilité de maintenance et de suivi etc etc...

Au départ de ma réflexion j'avais testé un système personnel basé sur une compatibilité Arduino Uno. Bien qu'étant arrivé assez facilement à  résoudre la problématique de base, le système s'est avéré largement insuffisant lorsqu'il s'est agit d'incorporer divers autres éléments.

J'ai donc repris mon étude de base mais cette fois sur une compatibilité Arduino Mega 2560. Le processeur dans ce cas possède suffisamment de broches additionnelle pour gérer 'mes' entrées/sorties tout en fournissant la possibilité de disposer de l'ensemble des ports pour un shield standard, notamment le shield GSM.

Le résultat est un type d'automate vraiment prévu pour l'application envisagée, au moins sur le plan matériel. La programmation à l'aide de l'IDE Arduino devrait permettre un développement relativement aisé de l'application. Sous réserve bien entendu des limitations propres à la philosophie Arduino. Mais cet appareil n'aura pas à réagir sous de fortes contraintes de temps réel.

Voilà ce que donne le schéma général :


Plus de 170 composants pour cette carte électronique. J'espère que le PCB ne sera pas trop difficile à réaliser.

Evidemment, ce circuit ne correspond à aucune norme. La conception respecte cependant les règles de sécurités électrique et de protection contre les différent types de surcharges. La programmation ne respectera non plus aucun norme 'officielle' d'automatisme en ce sens ou se sera donc... du 'C' standard. Mais, avec cette solution, j'espère arriver à un système fonctionnel et le plus adapté possible aux besoins.


mercredi 29 novembre 2017

RETRO-COMPUTING, Minipro TL866A and The Wichit Sirichote Z80 MICROPROCESSOR KIT

Petite information que je pense pouvoir être utile à ceux qui, comme moi, travaillent à l'occasion sur des anciennes machines équipées de composants programmables du type GAL.

Se procurer un programmateur de type professionnel est la plupart du temps d'un prix disproportionné par rapport au besoin. S'il est encore relativement aisé de se procurer un programmateur d'UVPROM digne de ce nom à pris correct, il n'en va pas du tout de même pour ces composants de type GAL.

Je possède depuis un peu plus d'un an ce type de programmateur assez connu qu'est le Genius 540 :


 Soyons clair : il est à déconseiller fortement. Plusieurs raisons à cela.

  • Le logiciel n'est plus mis à jour depuis longtemps.
  • Il ne fonctionne à peu près bien qu'avec des PC relativement lents.
  • La programmation des GAL plante lamentablement.
Je pense d'ailleurs que le protocole de communication USB n'est pas fonctionnel, ce qui a pour effet j'imagine, de ne pas respecter les temporisations minimum pour la programmation lorsque le PC est en mesure de délivrer trop rapidement les données. En ce qui me concerne, je n'arrive à programmer les UVPROM standards que sur un PC portable de dix ans d'âge. J'ai essayé sur trois autres machines plus récentes en obtenant un pourcentage d'erreur de programmation de plus de 90%. Et bien entendu la programmation de GAL plante, même sur le portable avec lequel cela se passe le mieux.

Après avoir lu un bon nombre de commentaires à son sujet, j'ai fini par adopter le 'fameux' Minipro TL866A pour une soixantaine d'Euros. 


A ce prix-là, il est intéressant de tenter le coup. Je n'ai pas encore testé la programmation d'UVPROM, mais je peux déjà indiquer que la programmation de GAL se passe effectivement très bien : 


Le message est clair. De plus, et de ce que j'ai pu constater, le fonctionnement en liaison avec le PC semble beaucoup moins hésitant qu'avec le Genius. J'ai lu par ailleurs que la programmation des GAL était fonctionnelle depuis la version 6.5 du logiciel. J'ai installé la version 6.60 disponible ici et ai pu constater le bon fonctionnement de la programmation d'une GAL de marque Lattice 16V8A.



L'objectif de cet achat, outre le fait de pouvoir travailler sur d'anciens équipements, était d'être en mesure de mettre à jour les fonctionnalités du Kit à Z80 de Wichit Sirichote


pour le rendre compatible avec le µPF--1 : 


qui, à la base, ressemblait à ceci : 


L'objectif est donc presque atteint. Il me reste à programmer une ROM avec le nouvel interpréteur de commande compatible µPF1 et ce sera chose faite.

Et donc, à moins que je rencontre des problèmes dans mes futurs opérations avec ce TL866A, je conseille fortement ce programmateur qui semble se comporter de façon correcte et dont le logiciel PC d'exploitation est toujours mis à niveau.

01 décembre 2017 : voilà la chose faite! Avec ce Minipro TL866A, j'ai pu programmer sans difficulté une nouvelle mémoire de type AM27C256 avec le nouvel interpréteur de commande créé par Wichit Sirichote :



Avec la GAL16V8A précédemment programmée par ce même TL866A, voici le résultat final :


Et de plus près :


Ce kit de développement est tout autre chose que la plateforme Arduino, l'approche est plus 'Hold Style' mais aussi plus fidèle à l'Esprit d'origine de la micro-informatique. Avec un bon compilateur SDCC, il devient de fait très facile d'expérimenter l'assembleur, même en ligne dans du source 'C'. Le connecteur présent sur la carte permet en outre bon nombre d'extensions. Donc, pour qui souhaite se familiariser au fonctionnement de base du microprocesseur, avec des circuits simples à comprendre et à programmer, ce type de kit est idéal.

Concernant le programmateur TL866A : durant son utilisation, j'ai pu constater que lors d'un chargement de fichier HEX dont une adresse se situe en dehors de la capacité d'adressage du composant sélectionné, le programme indique clairement le problème. Ce qui n'est pas le cas du programme du Genius 540. De même, l'application du TL866A retrouve et affiche les 'ID's des composants placés sur le support de programmation et en effectue la comparaison avec celle sélectionnée dans l'interface graphique. En cas d'erreur, le problème est signalé et permet donc d'éviter de détruire un composant avec une tension de programmation inappropriée, ce qui n'est pas le cas avec le G540. Je n'ai pas testé pléthore de composants avec ce TL866A mais au moins les opérations effectuées se sont toutes déroulées à leur terme, sans problème ni ambiguïté, ce qui n'est évidemment pas du tout le cas du G540 : c'est définitivement dit!

A noter que Wichit Sirichote propose nombre de kit de ce type basés sur différents processeurs dont le fameux 6502 ayant équipé l'Apple I et la famille des Apple ][. La description de ce kit peut être trouvée ici. La page générale de Wichit se trouvant à cet endroit : http://www.kswichit.com, et la disponibilité de tous ces matériels sur eBay...

Bonnes expérimentations.


mardi 28 novembre 2017

Changement d'adresse mail de contact.

Parce qu'à un moment il faut quand même se résoudre à quitter le service mail de Yahoo pour quelque chose d'un peu plus efficace, j'ai donc ouvert une nouvelle boîte mail chez netcourrier.com :