まこと の ブログ

MaKoTo no burogu — Journal de bord…

Aller au contenu | Aller au menu | Aller à la recherche

Un Clavier Orthogonal pour le 21ième siècle -2-

Suite de l'étude précédente :

Je reviens, enfin, sur mon idée de clavier DIY, et plus de 4 ans plus tard et quelques expérimentations infructueuses, j'ai décidé de laisser en pertes irrécupérables le temps passé sur la version du clavier à membrane.
Pas aussi simple qu'il me paraissait, embourbé dans mes pensées, j'ai fini par me résoudre au fait que si tant de gens fabriquaient leurs claviers à partir de touches mécaniques, ça n'était sans doute pas pour rien…
Et puis j'ai découvert les claviers « splittés » via thingiverse, notamment le fameux Dactyl Keyboard, avant de me plonger dans la page « Awesome Split Keyboards » !
Devant tant de diversité, que choisir…?
J'ai laissé courir, occupé ailleurs, jusqu'à ce qu'un jour cette vidéo arrive jusqu’à moi.
Séduit par la simplicité et le concept, évident pour moi maintenant, de recollage possible du clavier en un morceau, alors que les autres design ne m'y avait pas fait penser.
Ou alors je n'étais pas réveillé… Ça arrive wé…
Bref, j'avais enfin devant moi un concept validé, mais comme d'habitude, il faut toujours que je modifie la recette, c'est ce qu'on va voir ici et maintenant !

  • Je suis donc allé chercher mon sac à touches de clavier de récup', afin de faire des essais de dispositions, pour enfin obtenir ceci.

20210430_213613.jpg 20210430_213643.jpg

On s'inspire à nouveau du TypeMatrix2030, et d'un clavier 50% orthogonal, auquel on ajouterait deux colonnes, une pour la colonne centrale des validations et suppressions sous les doigts forts, et une autre pour les touches françaises du bépo, vous remarquerez alors mes marques au crayon sur les touches pour figurer la configuration bépo.

  • Donc déjà, comparé aux claviers anglo-saxon, impossible d'obtenir un 12x5 sans sacrifier quelques touches auxquelles je tenais, et c'est dans cette configuration minimale qu'on se rend alors compte des différences importantes entre les langues, preuve s'il en est une nouvelle fois, que l'azerty dérivé du qwerty est une mauvaise idée, mais bon, on va pas refaire l'histoire.

Ainsi on se retrouve avec 14 colonnes sur 5 lignes, au final plus proche d'un clavier 60%.

  • J'envisageais de virer la ligne du haut, pour condenser encore plus la config, mais pour un premier essai, ça suffira comme ça, on verra plus tard si j'en réalise un second.
  • Ensuite j'ai découvert un outil en ligne permettant de dessiner le clavier proprement :



Électronique et firmware :

  • J'étais d'autant plus prompt à réaliser ce clavier lorsque j'ai compris qu'il serait aisé de le concevoir autour de l'Arduino Pro Micro.

En fait deux Pro Micro, car il en faut un dans chaque morceaux de clavier, communiquant entre eux soit par une liaison série, soit une liaison i2c, via un câble jack 3,5 mm.

  • J'ai choisis la liaison série pour la simple et bonne raison que je ne disposais que de connecteurs et câbles jack 3 broches, alors qu'il faut 4 broches pour utiliser li2c.

Pour autant, j'ai aussi découvert qu'on pouvait réaliser tout ça avec l'Arduino Pro Mini, moins cher et disposant de plus d'entrées, et après quelques longues expérimentations, assez proche du but, j'ai abandonné l'idée par manque total de fiabilité. J'écrirais peut-être un compte-rendu, avant que je n'oublie définitivement tous les détails de l'aventure, ce pourrait-être intéressant…

Car il va en falloir pas mal des entrées pour cette matrice, et en fait un seul µC n'aurait pas suffit pour les 67 touches, donc c'est pas plus mal qu'il soit en deux parties.

  • Concernant le firmware, je me suis décidé pour le QMK, qui m'a paru bien documenté, et encore, à ce moment là je n'avais pas encore pris là mesure de l'intérêt du clavier « reprogrammable ». Nous verrons cela par la suite…


Fabrication :

On va pouvoir passer à l'armature mécanique que sera imprimée 3D, que j'ai voulu la plus simple possible, commençant d'abord par quelques tests de faisabilité.

  • Ici un 2x2 pour vérifier le bon écartement entre les touches et la taille idéale du carré qui accueille les touches en-clipsables.

20210501_162812.jpg 20210501_162819.jpg

  • Puis, me rendant compte que l'armature ploierait sous la pression des doigts, j'ai ajouté des colonnettes à chaque intersection, et c'était aussi l'occasion de tester l'intégration des aimants permettant de réunir facilement les deux parties du clavier, et de vérifier l'écartement des touches spéciales.

20210504_193805.jpg 20210504_193818.jpg

  • Quand tout fut terminé de modéliser, c'est parti pour l'impression !

Et a vrai dire, que le clavier soit splitté, m'arrange pour un tas de raisons. Ici c'est évidemment car chaque pièces ne déborde pas du volume d'impression et peut être imprimée en un bloc.
20210506_101849.jpg 20210506_145709.jpg

  • Cinq heures plus tard, on obtiens notre première pièce d'ABS imprimée correctement.

20210508_155815.jpg 20210508_155825.jpg
20210508_155732.jpg
Et deux heures pour le fond, avec le PLA gris qui me restait.
Ensuite on nettoie tout ça à la lime aux endroits utiles, et on taraude les trous M3 pour accueillir les vis de fixations.



  • L'insertion des touches est satisfaisante :)

20210506_172036.jpg 20210506_172610.jpg

20210508_171751.jpg 20210508_171755.jpg 20210508_171805.jpg 20210508_171836.jpg

Câblage :

dsc04971.jpg Ici il faut réaliser un matriçage avec des diodes 1N4148, et on va mettre à profit les longues pattes disponibles sur ces composants.


  • En réalisant une boucle côté anode, qu'on enfiche sur une des broches des touches du clavier. Puis on la soude et on coupe l'excédent.

dsc04972.jpg dsc04974.jpg

  • La patte côté cathode sera alors pliée pour rejoindre la touche d'à côté, et une fois le tout soudé, nous avons une ligne de formée.

dsc04975.jpg dsc04976.jpg]

  • Reste à faire de même pour toutes les lignes.

dsc04977.jpg dsc04978.jpg

  • Concernant les colonnes, il suffit de s'occuper de la seconde broche de chaque touche et de les relier ensemble. Pas de photo de ce stade ici, mais ce sera visible dans les étapes suivantes. J'ai utilisé du fil émaillé RoadRunner très fin, qu'il suffit de chauffer pour faire fondre localement le vernis.


Tests avant intégration du µContrôleur :

  • Arrivé ici, j'ai souhaité vérifier que tout allait bien, en reliant chaque ligne et chaque colonne aux µContrôleurs sur une plaquette d'essai. Ceci pour faciliter les choses et éviter des opérations de désoudures/soudures en cas d'erreur.

dsc04995.jpg dsc04996.jpg
Ceci implique donc de programmer les µContrôleurs, ce qu'on abordera en détail dans le prochain billet, pour éviter d'alourdir celui-ci.

Finalisation du câblage :

  • Le clavier fonctionnant parfaitement, on peut donc effectuer proprement l'intégration des µContrôleurs dans le boîtier.

dsc05001.jpg dsc05003.jpg

dsc05000.jpg

  • J'ai utilisé un micro switch très petit, du type qu'on trouve dans les ordi-phones. Celui-ci sera utile à la reprogrammation du clavier.

Il en faut un par morceau de clavier, car il faut pouvoir reprogrammer chacun d'eux !

dsc05005.jpg

  • Le connecteur jack 3,5 mm femelle stéréo à visser, qui sert à relier les deux parties du clavier.




dsc05009.jpg

  • J'ai voulu déporter le port micro USB des Arduino Pro Micro en Mini USB, pour des questions de robustesse.

En effet, les connecteurs MicroUSB sont relativement fragile, et ce clavier destiné au nomadisme, j'ai préféré un plus gros modèle de connecteur.
Ceci est fait ici avec des connecteurs MiniUSB de récupération, découpé de mini-plaquettes défectueuses, directement soudés sur le connecteur MicroUSB de l'Arduino.

dsc05007.jpg dsc05009b.jpg

  • À défaut donc de se procurer ce type de connecteurs, et mini-plaquettes pour se faciliter les choses… Mais je voulais finir l'objet sans attendre.


  • Les aimants sont collés à la colle cyano, et petite astuce pour faciliter l'opération, on place des aimants de l'autre côté le temps que la colle séche (sur le second cliché):

dsc05011.jpg dsc05012.jpg

À suivre…

Quelques liens utiles :
Pour voir en 3D ce que donne la plupart des clavier DIY : https://keyboardsimulator.xyz/
Et en 2D : https://jhelvy.shinyapps.io/splitkbcompare/
Aide au design de PCB avec Kicad : https://deskthority.net/wiki/KiCAD_keyboard_PCB_design_guide
Outil en ligne pour dessiner son clavier : http://www.keyboard-layout-editor.com/

Doc sur le matriçages :
https://www.dribin.org/dave/keyboard/one_html/
http://www.alpmn.byethost32.com/matrices.htm

Réalisations : 
https://www.ghost7.com/3d-printed-hand-wired-40-keyboard/
https://lord.re/posts/39-clavier-handmade/
https://blog.fsck.com/2012/12/building-a-keyboard-part-1.html
http://yager.io/keyboard/keyboard.html
https://imgur.com/gallery/87LfDVI
https://www.ergodox.io/
https://www.youtube.com/watch?v=y0F8Mig40m0
https://www.fevrierdorian.com/blog/post/2017/05/24/Construire-un-clavier-m%C3%A9canique-pour-le-fun
http://www.thebitbangtheory.com/2016/05/hackeyboard-an-open-hardware-mechanical-keyboard-part-v/

Splitté :
https://hackaday.com/2020/06/18/inputs-of-interest-curves-are-the-key-to-my-type/
https://hackaday.com/2020/06/02/inputs-of-interest-ergodox-post-mortem/
https://hackaday.com/2020/08/11/split-keyboard-finder-stacks-them-up-for-your-approval/

Commentaires

1. Le dimanche, 30 juin 2024, 01:07 par ben

Bonjour,

Juste pour signaler que le fichier .FCStd n'est plus téléchargeable sur thingiverse que ce soit le fichier seul ou dans l'archive zip.

2. Le vendredi, 12 juillet 2024, 14:19 par Makoto

Salut !

En effet, c’est étonnant…
J’y remédie dés ce soir !
Merci pour l’info.

3. Le samedi, 13 juillet 2024, 01:22 par ben

Merci

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Fil des commentaires de ce billet