HP 200LXのキーを使ってRPN電卓を作ってみました(2021/01/25一部訂正)
年初からいそいそと作っていた自作RPN電卓(および着せ替えバージョン)とHP 200LXを併用していて、やっぱりLXのキーはいいなぁと思っていたところで、ふとLXのテンキーが別パーツになっていたことを思い出して手持ちのジャンクを漁ったら、ENTERキーが折れバラバラに分解された個体が出てきました。
今回は、そのキーを使ってRPN電卓をひとつ作ってみたというお話です。
こちらが出てきたキーボードのラベルとキートップです。ENTERキーが見事に根本から折れています(こういう症例は珍しい)。どうやって入手したか忘れてしまったのですが、おそらくnifty-serve FHPPCのオフで修理の相談を受けて無理だと答えたら譲ってもらえたか、オフのオークションで落としたものだと思います。Alt+Spaceのシールはオカヤシステムウェアさんの日本語化キット(フルセット)添付品かな。

裏返すと、テンキー部分のキートップが別パーツになっていることが分かります。桟のところに突起があって、これがエンボス付きカーボンシートを挟んで筐体にガッチリと付けられて、位置ずれや浮きを抑えるようになっています。

逆にキートップを外すときは、本体の上側筐体裏から上記突起をプチプチと押して外していくのですが、それはさておき、テンキー部分はそのまま使えそうでした。私の電卓ではテンキーの他にENTER・ON・←(バックスペース)を使うので、これらのキーをENTERと同じように支持部(バネ性を持つ部分)ごと分離して、他のキーの支持部と重ねて接着して使うことにしました。 設計の概略は次の通りです:
1. キートップ周囲の桟は厚さが1.5mmあるのに対し、MINTIA BREEZEのケース厚みが約1.0mmなので、桟とケースを内側で合わせるとキーが浮いてしまいます。そのため、ケースの内側よりも桟の下部が0.5mm沈むように、桟の周囲に厚さ0.5mmのスペーサを噛ませます。また、部品と基板の厚さを積み上げるとタクトスイッチの軸が桟の下部より1.7mm高くなります。今回はタクトスイッチのストロークを0.5mm取るために、タクトスイッチの軸を約1.2mm切り取ることにしました。この工程はスペーサを当てて古いニッパーでラフにカットし、カッターナイフで整形したのですが、ばらつきが出てキーの高さがまちまちになっています。
実は、あとで秋月電子さんのサイトを見ていて別のタクトスイッチだと軸が1.0mm短く、誤差0.2±0.1mmで無視できそうだったと気が付いて、しかもこれを既に買ってあったので、しまったなぁと思っているところです。 2. LXのキーピッチは、横10.5mm 縦9.0mm10.0mmのSI単位系です。基板設計すればピッチを合わせることができますが、一品ものですから100mil(2.54mm)ピッチのユニバーサル基板をズレを覚悟して使うことにします。
横4キーで、LXは31.5mmに対し、400milピッチで組むと30.48mmで誤差は-1.02mm。
縦5キーで、LXは36.0mm40.0mmに対し、400milピッチで組むと40.64mmで誤差は+4.64mm+0.64mm。
(2021/01/25測り間違えていたので訂正しました。)
使うタクトスイッチの軸がφ3.5mm、LXのキートップの突起部がφ2.0mmあるので、上下中心を合わせて誤差を振り分ければ大体ごまかせそうです(実際、大丈夫でした)。

(キートップの裏面、定規は0.5mm刻み) 3. 自前のキーで作っていたときは縦方向のキーピッチを300milにしていたので面積的に余裕があり、使ってみたかったLi-Poで電源系を組んでいたのですが、今回は同じケースで縦400milピッチにしたのでスペースが足りず、電池を(FRISKケース入りの暑さ指数計と同じ)LR44x3に変更しました。すると折角のタブレット取り出し口が空くので、ここにISPプログラマを繋げられるようにしました。ところがICSP側の電源電圧は5V、LR44x3は4.5V以下(消耗度合いによる)なので、一次電池に充電電流が流れることを防がなくてはなりません。そこで電池側からATtiny85に向かってダイオードを1つ入れました。回路側で最低動作電圧が一番高いのはLCDの3.1Vなので、整流用ダイオードの電圧ドロップ(0.7V程度)はほとんど問題ありません(むしろAVRの消費電流が減って嬉しい)。 4. Li-Poの電源系が無くなったので、LCD側のスペースに余裕ができました。そこでATtiny85はSOP品をアクロバティックに実装するのをやめて、DIP品をメインボードに実装しようと思ったのですが部品配置をしていくと、秋月電子さんでいうCタイプの基板では1列足りないことが分かりました。また、1列追加すると上記のICSP端子もちょうど取り出し口から出せることが分かりました。基板をはみ出して空中配線するという手も考えましたが、タクトスイッチの配置と合わせて考えたところ、Dタイプ基板をギャップを空けて連結すればいいと気が付きました。
ちなみにLR44の電池ホルダを3個並べる場合にもDタイプ基板では1列足りません。こちらは基板上でホールの無い部分に足位置が来るので、ピンバイスでランドのない穴を開けて、隣のランドに這わせたジャンパー線とはんだ付けして補強することにしました。 5. LXのテンキー部は幅が45mmあります。そしてMINTIA BREEZEケースのフラット面の幅も45mmで、横方向のマージンがありません。MINTIAのケースは(FRISKと違って)柔らかいので、ミニルーターよりもカッターナイフでくりぬいていく方が綺麗に加工できますが、側面ギリギリの加工は力加減を間違えると簡単に割れます。かといって、少し内側を抜いてから削いでいこうとしても簡単に曲がってしまって難しいので、一発で抜くように慎重に作業するのが良いようです。 キーパッドの設計は従来通りです。スケッチの方は電源電圧が少し下がった分、コントラストを0x10から0x15に上げています(ICSPを付けておいたので修正が楽でした)。
以上の検討を踏まえてできた基板がこちらです:

部品面は軸を切ったタクトスイッチが並び、その間に分圧抵抗を通しています。下側に電池ホルダが並んでいます。また、基板の下端をケースの下側スタンドへ合わせるようにしています。上の中央がATtiny85で、左側がICSP端子、右上がリセットスイッチ用サブボードで、薄いタクトスイッチがケースの底にちょうど当たるようにしています。下から上に走っている青い線は電池の+側で、ダイオードを通してATtiny85の電源端子Vccに繋がっています。ちなみに、電池ケースの足・ICSP端子・リセットスイッチの基板下高さを1.5mmで合わせていて、基板の連結も高さ1.5mmで行っています。

半田面は配線だけ。一緒に写っているのがキーの裏面です。穴が並んでいるのがキースペーサで、厚めのボール紙にパンチ穴を空けたものです。このキースペーサとケースの間に、キー高さを合わせるための薄いボール紙があります。
残念ながら、ケースにキーをはめこんだところの写真は撮り忘れました。
できた電卓をHP200LXのテンキー部と並べてみると、中央部の膨れと、キー高さのばらつきが目立ちます。膨れているのは筐体と結合せず曲げ応力を桟とボール紙の剛性だけで受けているためだと思います。キー高さがばらついたのはタクトスイッチの軸の長さの問題と、上3つについてはキートップをバラして組み直した精度の悪さが効いていると思います。修行が足りん。

今回、回路図を裏面に貼ってみました。昔の電気製品には必ず回路図かブロック図が付いていたのをふと思い出したからです。あれって、元々は真空管式のラジオやテレビを電気屋さんが修理するときに、テストポイントの電圧や交換する真空管の型番がすぐ分かるように付けてあったのだろうと想像しているのですが、トランジスタやICが搭載されるようになっても暫くは添付されていて、分からないながらに見入っていたのが懐かしいです。

最終的なBOMは次の通りで、合計1553円でした。電線・ハンダ・ラベル・ピンヘッダ、そして何より部品取りに使ったHP200LXはカウントしていません:
Resister list:
100x1, 220x3, 470x2, 1kx3, 2.2kx2, 4,7kx3, 10kx2, 22kx1, 100kx1 というわけで、少々苦戦しましたが、使い心地はなかなか良好で気に入っています。
ただ、はじめに作ったビタミンカラーも捨てがたいなと、あらためて思っているところ。

3Dプリンタがあれば、いろいろ作れるんでしょうね。 以上、何かの参考になれば幸いです。 パドラッパ from MacBook Air (2017) 【2021/01/25】LXのキーピッチを測り間違えていたので訂正しました。結果として誤差が少ない方で良かったです…
※色々残念だったところを修正して、その後常用しています。
今回は、そのキーを使ってRPN電卓をひとつ作ってみたというお話です。
こちらが出てきたキーボードのラベルとキートップです。ENTERキーが見事に根本から折れています(こういう症例は珍しい)。どうやって入手したか忘れてしまったのですが、おそらくnifty-serve FHPPCのオフで修理の相談を受けて無理だと答えたら譲ってもらえたか、オフのオークションで落としたものだと思います。Alt+Spaceのシールはオカヤシステムウェアさんの日本語化キット(フルセット)添付品かな。
裏返すと、テンキー部分のキートップが別パーツになっていることが分かります。桟のところに突起があって、これがエンボス付きカーボンシートを挟んで筐体にガッチリと付けられて、位置ずれや浮きを抑えるようになっています。

逆にキートップを外すときは、本体の上側筐体裏から上記突起をプチプチと押して外していくのですが、それはさておき、テンキー部分はそのまま使えそうでした。私の電卓ではテンキーの他にENTER・ON・←(バックスペース)を使うので、これらのキーをENTERと同じように支持部(バネ性を持つ部分)ごと分離して、他のキーの支持部と重ねて接着して使うことにしました。 設計の概略は次の通りです:
1. キートップ周囲の桟は厚さが1.5mmあるのに対し、MINTIA BREEZEのケース厚みが約1.0mmなので、桟とケースを内側で合わせるとキーが浮いてしまいます。そのため、ケースの内側よりも桟の下部が0.5mm沈むように、桟の周囲に厚さ0.5mmのスペーサを噛ませます。また、部品と基板の厚さを積み上げるとタクトスイッチの軸が桟の下部より1.7mm高くなります。今回はタクトスイッチのストロークを0.5mm取るために、タクトスイッチの軸を約1.2mm切り取ることにしました。この工程はスペーサを当てて古いニッパーでラフにカットし、カッターナイフで整形したのですが、ばらつきが出てキーの高さがまちまちになっています。
実は、あとで秋月電子さんのサイトを見ていて別のタクトスイッチだと軸が1.0mm短く、誤差0.2±0.1mmで無視できそうだったと気が付いて、しかもこれを既に買ってあったので、しまったなぁと思っているところです。 2. LXのキーピッチは、横10.5mm 縦
横4キーで、LXは31.5mmに対し、400milピッチで組むと30.48mmで誤差は-1.02mm。
縦5キーで、LXは
(2021/01/25測り間違えていたので訂正しました。)
使うタクトスイッチの軸がφ3.5mm、LXのキートップの突起部がφ2.0mmあるので、上下中心を合わせて誤差を振り分ければ大体ごまかせそうです(実際、大丈夫でした)。

(キートップの裏面、定規は0.5mm刻み) 3. 自前のキーで作っていたときは縦方向のキーピッチを300milにしていたので面積的に余裕があり、使ってみたかったLi-Poで電源系を組んでいたのですが、今回は同じケースで縦400milピッチにしたのでスペースが足りず、電池を(FRISKケース入りの暑さ指数計と同じ)LR44x3に変更しました。すると折角のタブレット取り出し口が空くので、ここにISPプログラマを繋げられるようにしました。ところがICSP側の電源電圧は5V、LR44x3は4.5V以下(消耗度合いによる)なので、一次電池に充電電流が流れることを防がなくてはなりません。そこで電池側からATtiny85に向かってダイオードを1つ入れました。回路側で最低動作電圧が一番高いのはLCDの3.1Vなので、整流用ダイオードの電圧ドロップ(0.7V程度)はほとんど問題ありません(むしろAVRの消費電流が減って嬉しい)。 4. Li-Poの電源系が無くなったので、LCD側のスペースに余裕ができました。そこでATtiny85はSOP品をアクロバティックに実装するのをやめて、DIP品をメインボードに実装しようと思ったのですが部品配置をしていくと、秋月電子さんでいうCタイプの基板では1列足りないことが分かりました。また、1列追加すると上記のICSP端子もちょうど取り出し口から出せることが分かりました。基板をはみ出して空中配線するという手も考えましたが、タクトスイッチの配置と合わせて考えたところ、Dタイプ基板をギャップを空けて連結すればいいと気が付きました。
ちなみにLR44の電池ホルダを3個並べる場合にもDタイプ基板では1列足りません。こちらは基板上でホールの無い部分に足位置が来るので、ピンバイスでランドのない穴を開けて、隣のランドに這わせたジャンパー線とはんだ付けして補強することにしました。 5. LXのテンキー部は幅が45mmあります。そしてMINTIA BREEZEケースのフラット面の幅も45mmで、横方向のマージンがありません。MINTIAのケースは(FRISKと違って)柔らかいので、ミニルーターよりもカッターナイフでくりぬいていく方が綺麗に加工できますが、側面ギリギリの加工は力加減を間違えると簡単に割れます。かといって、少し内側を抜いてから削いでいこうとしても簡単に曲がってしまって難しいので、一発で抜くように慎重に作業するのが良いようです。 キーパッドの設計は従来通りです。スケッチの方は電源電圧が少し下がった分、コントラストを0x10から0x15に上げています(ICSPを付けておいたので修正が楽でした)。
以上の検討を踏まえてできた基板がこちらです:

部品面は軸を切ったタクトスイッチが並び、その間に分圧抵抗を通しています。下側に電池ホルダが並んでいます。また、基板の下端をケースの下側スタンドへ合わせるようにしています。上の中央がATtiny85で、左側がICSP端子、右上がリセットスイッチ用サブボードで、薄いタクトスイッチがケースの底にちょうど当たるようにしています。下から上に走っている青い線は電池の+側で、ダイオードを通してATtiny85の電源端子Vccに繋がっています。ちなみに、電池ケースの足・ICSP端子・リセットスイッチの基板下高さを1.5mmで合わせていて、基板の連結も高さ1.5mmで行っています。

半田面は配線だけ。一緒に写っているのがキーの裏面です。穴が並んでいるのがキースペーサで、厚めのボール紙にパンチ穴を空けたものです。このキースペーサとケースの間に、キー高さを合わせるための薄いボール紙があります。
残念ながら、ケースにキーをはめこんだところの写真は撮り忘れました。
できた電卓をHP200LXのテンキー部と並べてみると、中央部の膨れと、キー高さのばらつきが目立ちます。膨れているのは筐体と結合せず曲げ応力を桟とボール紙の剛性だけで受けているためだと思います。キー高さがばらついたのはタクトスイッチの軸の長さの問題と、上3つについてはキートップをバラして組み直した精度の悪さが効いていると思います。修行が足りん。

今回、回路図を裏面に貼ってみました。昔の電気製品には必ず回路図かブロック図が付いていたのをふと思い出したからです。あれって、元々は真空管式のラジオやテレビを電気屋さんが修理するときに、テストポイントの電圧や交換する真空管の型番がすぐ分かるように付けてあったのだろうと想像しているのですが、トランジスタやICが搭載されるようになっても暫くは添付されていて、分からないながらに見入っていたのが懐かしいです。

最終的なBOMは次の通りで、合計1553円でした。電線・ハンダ・ラベル・ピンヘッダ、そして何より部品取りに使ったHP200LXはカウントしていません:
| item | detail | price | pcs | subtotal |
|---|---|---|---|---|
| AVR | ATTINY85-20PU | 130 | 1 | 130 |
| LCD | AE-AQM0802 | 600 | 1 | 600 |
| Rectifying diode | 1N4001 | 100 | 1/20 | 5 |
| LR44 holder | frame type | 20 | 3 | 60 |
| alkaline battery | LR44 | 100 | 3/10 | 30 |
| MINTIA BREEZE | FRESH PEACH(cover) | 210 | 1 | 210 |
| MINTIA BREEZE | CRYSTAL SILVER(bottom) | 210 | 1 | 210 |
| Electrolytic C | 47uF | 10 | 1 | 10 |
| R 1/6W 5% | listed below | 1 | 18 | 18 |
| Tactile SW | ex. | 10 | 20 | 200 |
| keypad subs. | D-type universal | 40 | 2 | 80 |
100x1, 220x3, 470x2, 1kx3, 2.2kx2, 4,7kx3, 10kx2, 22kx1, 100kx1 というわけで、少々苦戦しましたが、使い心地はなかなか良好で気に入っています。
ただ、はじめに作ったビタミンカラーも捨てがたいなと、あらためて思っているところ。

3Dプリンタがあれば、いろいろ作れるんでしょうね。 以上、何かの参考になれば幸いです。 パドラッパ from MacBook Air (2017) 【2021/01/25】LXのキーピッチを測り間違えていたので訂正しました。結果として誤差が少ない方で良かったです…
※色々残念だったところを修正して、その後常用しています。
| 固定リンク | 0


コメント