4ビットCPU組立キット売ります

スイッチサイエンス様にて委託販売という形で発売開始いたしました。
よろしくお願いいたします。
www.switch-science.com


TTM4 は私がブラックボックスの無い演算器を創りたいという思いから制作した4 ビットCPU です。
汎用のロジックIC を組み合わせて作られています。TTM4 の名前の由来は”チカチカまつり”です。4 は4
ビットCPU の4。命令セットはオリジナルです。Z80 、TD4等とは互換性はありません。TTM4 は個人で楽しむだ
けではもったいないくらい多大な開発期間がかかっており、また私自身良いものを作ったと思っております。
なので同人ハードウェアという形で世に公開しようと思った次第であります。開発には渡波郁さんのCPU
の創りかた と 中日電工 さんのTTLでCPUをつくろう!開発ブログを大いに参考にさせていただきま
した。この場を借りてお礼申し上げます。

googleドライブ上で取扱説明書、組立説明書、コントローラソフトなど公開しております
TTM4AssemblyKit - Google ドライブ

PV動画作りました。
www.nicovideo.jp

4bitCPU組立キットTTM4 PV動画 - YouTube



実際に動作させてみました
www.nicovideo.jp

4bitCPU TTM4 実践編 - YouTube

メール
denshirider@gmail.com
twitter
https://twitter.com/denshirider

自作CNCをやってみた #1

はじめに

3Dプリンターを手に入れた事をきっかけに前々から欲しかった基板切削用のCNCを作ってみました。苦労はありましたが安定して基板切削ができるまでのものを完成させることができました。と言っても設計したわけではないですが。備忘録として記事にしていこうと思います。
f:id:Hamakita:20210404175444j:plain

f:id:Hamakita:20210404220525j:plainf:id:Hamakita:20210404220529j:plain

参考サイト

今回の工作は先人たちの知恵をたくさん借りて組立てました。記事を書く前に一覧にしておきます。

  • 自作CNCの設計データ

GitHub - CarlosGS/Cyclone-PCB-Factory at v2.3

GitHub - gnea/grbl: An open source, embedded, high performance g-code-parser and CNC milling controller written in optimized C that will run on a straight Arduino

  • CNC制御用のパソコンソフト

Home · vlachoudis/bCNC Wiki · GitHub

Arduinoでメカトロニクス製品を動かそう | ORIGINALMIND オリジナルマインド

  • ハードウェアからソフトウェアの設定方法にいたるまでお世話になったブログ

自作CNCマシン・レーザーカッターについて

  • 基板切削にあたってオートレべリングの参考にさせて頂いたブログ

Auto Level - 電子工作専科

自作CNCの設計データをダウンロードする。

Cyclone PCB Factoryという名前で公開してくださっている。組立方法もしっかり書かれていてありがたい。

github.com

ダウンロードしてきたファイル一式からOutput_filesフォルダの中身が印刷データになっている様子。基本的にはこれをすべて印刷すればよい。

追加パーツを用意

3Dプリンターパーツに追加でパーツを用意する必要があります。ネジ類とバネ、リニアブッシュ、ベアリング、シャフト、長ネジを用意します。詳しくはダウンロードしてきたファイルのAssemblyInstructionsフォルダの中に組立方法を記したpdfがあります。スペイン語らしいですが写真を載せてくれているのでわかると思います。ネジ類はホームセンターで用意できましたがリニアブッシュとベアリングは見つからなかったので通販しました。シャフトとか長ネジは通販で買うと送料が高くつくのでホームセンターを探した方が良いです。シャフトはステンレス製にしました。

www.monotaro.com


www.monotaro.com

シャフトと長ネジを適切長さに加工

組み立て説明書にある長さに加工しました。高速切断機でカットしました。お家にない方は工作室を使うか、適切な長さのものを最初から買いましょう。
f:id:Hamakita:20210404184021j:plain

電装パーツを用意

CNCを動かすためにモータと制御基板が必要です。自作CNC用にセットになったものを買うと良いでしょう。それとこのCNCではスピンドルにリューターを用いる事で簡単にしているようです。ここは素直におススメされているリューターを買いましょう。

Amazon.co.jp: Kuman 3Dプリンター セット Arduinoに交換 CNCキット R3ボード+CNCシールドV3+A4988ドライバ+ヒートシンク+Nema17ステッピングモータ+機械的スイッチEndstop GRBL 0.9交換 実験用 電作キット KB02: 産業・研究開発用品
www.monotaro.com

CNC本体を組立て

組み立て説明書を見ながら組み立てましょう。Output_filesフォルダの中のtemplatesフォルダの中にベース板のテンプレートファイルがあります。これにパーツのねじ止め位置が示されています。なんでも良いと思いますが剛性のある板をベースにしてこのテンプレートファイルに合わせて組立始めましょう。僕は若干y方向に長さを伸ばしました。ステッピングモータやリミットスイッチも取り付けましょう。

ベースに固定

f:id:Hamakita:20210404190016j:plain

リニアブッシュを挿入

f:id:Hamakita:20210404202500j:plain

y軸シャフト

f:id:Hamakita:20210404203629j:plain

ワーキングエリア

3mmアクリルで製作しました。モザイクで見苦しくてすみません
f:id:Hamakita:20210404204703j:plain

ワーキングエリアをセット

f:id:Hamakita:20210404203703j:plain

なんだかんだで完成

f:id:Hamakita:20210404221119j:plain

電装系を配線

配線する上で注意したいのがこの手のCNCシールドにはV3.5とV3.0があるらしくて若干配線が違うという事です。書き込むファームウェアgrblのバージョンによって対応基板が違います。grbl v0.8以前ではCNCシールドV3.0を。grbl v0.9以降ではCNCシールドV3.5を使用します。今回、僕が買ったのはCNCシールドV3.0でした。ですがgrblの最新版を使いたいのでシルクに書かれているものとは違う配線を若干違う配線をすることで対応可能です。
こちらのブログを参考にさせて頂きました。
cnc-selfbuild.blogspot.com

マイクロステップ設定

普通は微細にすればよいです1/16に設定しました。(後述しますが後で1/8に変えました。)

電流制限設定

ステッピングモータへ流す電流の設定です。使用するモータに合わせて変更しましょう。
こちらのブログを参考にさせて頂きました。
www.cooptec.jp

あとはシルクの通りに配線すれば良いです。X軸、Y軸のリミットスイッチとX,Y,Zのステッピングモータの配線です。電源にはパソコンの電源をはぎ取って使用しました。本当は24V電源の方が良いと思います。

次回はソフトウェア周りをやっていきます。

OctoPrintに室温計を追加、DHT11

3Dプリンターに室温計を追加

ender-3という3DプリンターをoctoPrintを介して使っています。特にABSを使う場合室温も気にしないといけないらしいのでラズパイに温湿度センサーを外付けして室温計にしてみたいと思います。

octoPrintの準備

octoPrintというのはSDカードを使って直接3Dプリンターから印刷する手間を省くためにネットから3Dプリンターを操作できるようになるものです。3Dプリンターって結構やかましいので離れた場所に置く事が多いと思うのですけれど、そういった時に遠隔で操作できると便利です。ラズパイを使ってセットアップしますが、これはネットにいっぱい記事があるので割愛します。私はラズパイ3Bを使ってます。

enclosureプラグインの導入

OctoPrintのwebページ上で室温を表示するためにenclosureプラグインを使わせて頂きます。温度計の他GPIOの入出力やPWMとかもwebページ上から操作できるようになるそうです。3Dプリンタの電源を操作するなどに使えそうですね。

  • OctoPrintの設定画面を開きます。(上部のタブのレンチのマーク)
  • "Plugin Manager"から"enclosure"と検索してプラグインをインストールします。

OctoPrint-Enclosure

Adafruit libraryのインストール

今回は温湿度センサーとしてDHT11を使用します。これ用にライブラリを導入する必要があるらしいのでこれを導入します。sshでOctoPrintに使っているラズパイに接続し下のコマンドを実行してください。注意としてOctoPrintのプラグインはpython2.7で動いているのでpython -Vを実行してpython2.7であることを確認しておきましょう。このあたりの操作には詳しくないので自信ないです。リンクを張っておきますので詳しくはそちらをみてください。下のコマンドはリンク先からの引用です。

  • pipのインストール
sudo apt-get update
sudo apt-get install python-pip
sudo python -m pip install --upgrade pip setuptools wheel
  • Adafruit libraryのインストール
cd ~
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo apt-get update
sudo apt-get install build-essential python-dev python-openssl
sudo python setup.py install

GitHub - adafruit/Adafruit_Python_DHT: Python library to read the DHT series of humidity and temperature sensors on a Raspberry Pi or Beaglebone Black.

GitHub - vitormhenrique/OctoPrint-Enclosure: OctoPrint Enclosure Plugin

DHT11の準備

温湿度センサーを準備しましょう。enclosureプラグインでサポートされているセンサーは他にもあるようですのでお好みで。私はDHT11というセンサーを使いました。 写真ではセンサー以外にもLEDとかスイッチが刺さってますが気にしなくて大丈夫です。

enclosureプラグインの設定

OctoPrintのwebページからセンサーの設定をしページ上に温度を表示します。

  • OctoPrintの設定画面を開きます。(上部のタブのレンチのマーク)
  • "Enclosure Plugin"から"Add Inputs"を押してセンサー入力を追加します。
    "Label"は入力の名前です。任意の名前を設定しましょう。
    "Input Type"ではセンサーの入力なので"Temperarure Sensor"にしましょう。
    "Sensor Type"からDHT11を選択しましょう。
    "Sensor Pin"ではDHT11の信号線をつないだGPIOの番号を入れましょう。私はGPIO4を使ったので4と入力。
  • 入力の設定がすんだら左下の"Advanced options"から"Use SUDO"にチェックが入っている場合外しましょう。(なぜか私の環境ではチェックがあると動きませんでした。ログを確認するとSUDOのチェックはずしてとでてました。)
  • 設定がすんだら右下のSAVEで設定を完了します。
  • 念のため再起動しましょう。

f:id:Hamakita:20201226154042p:plain

温度を確認

enclosureプラグインのタブを開くと温度が表示されているはずです。これで室温を気にしつつ3Dプリンターを扱えますね。 f:id:Hamakita:20201226154448p:plain

レモンエナジーロックシード 改造 蓋作成

レモンエナジーロックシード蓋

レモンエナジーロックシードは劇中で多用されるにもかかわらず入手しづらいので有名です。僕もほしかったのですがこないだ蓋が欠品のレモンエナジーロックシードを入手しました。 今回はこれとガチャ版の蓋部分を合体して自動展開できるようにしていきたいです。 f:id:Hamakita:20201206150713j:plain

ヒンジを作成

メロンエナジーロックシードから寸法を計測しヒンジを作成します。3Dプリンターを用いました。強度に不安がありましたが大丈夫そうです。 CADファイルを置いておきます。 こちらから

f:id:Hamakita:20201206151847j:plain f:id:Hamakita:20201206152900j:plain

ロック部分を形成

蓋のロック部分を余ったパーツから切り出して形成しました。 f:id:Hamakita:20201206153651j:plain f:id:Hamakita:20201206153710j:plain

回転部分に軸を入れる。

軸にはクリップを使いました。穴径は1.5mm f:id:Hamakita:20201206153959j:plain

バネを入れる。

穴をあけてバネを入れました。 f:id:Hamakita:20201206154615j:plain f:id:Hamakita:20201206154154j:plain f:id:Hamakita:20201206154943j:plain

完成

うまいこと展開できるようになりました。 3Dプリンタがあると色々できて良いですね。 f:id:Hamakita:20201206155119g:plain

換気扇つくった

はんだ付けしていると煙を吸ってしまいます。鉛入り使ってますし身体に悪いので換気扇をつくることにしました。 用意するもの

  • ダクト100mm
  • ダクトファン100mm
  • ダクトの蓋

私の作業場は目の前に出窓があります。 まずここに穴をあけました。 円をくりぬけるカッターで切りました。 f:id:Hamakita:20200612221444j:plain お外に通じています。ここから煙を排出しましょう。 f:id:Hamakita:20200612221838j:plain

そしてダクトとダクトファンを接続します。 それぞれ単体での写真撮り忘れましたすみません。 ダクトファンですが風の向きが想定と逆だったので分解してモータひっくり返しました。 f:id:Hamakita:20200612221959j:plain f:id:Hamakita:20200612222013j:plain

そしてダクトの蓋です。このままだと外気が入ってきちゃうので。 f:id:Hamakita:20200612222255j:plain f:id:Hamakita:20200612222308j:plain

ファンの先に取り付けました。 f:id:Hamakita:20200612222356j:plain

そして先ほど開けた穴にねじ止めします。 f:id:Hamakita:20200612222440j:plain

作業場所まで伸ばして完成です!! f:id:Hamakita:20200612222537j:plain

こんな感じのイメージでけむりを吸います! ちょっとパワーが弱い気がしますが一応想定通り使えてます。 f:id:Hamakita:20200612223049j:plain

ON,OFFを繰り返すやつを作る。

追記
次亜塩素酸水の噴霧はよろしくないみたいなので止めました。
新型コロナウイルスの消毒・除菌方法について|厚生労働省

やりたいこと
消毒用の次亜塩素酸水の噴霧を行うのですがずっと付けっぱなしだと、消毒液と電気代の無駄遣いになりますし、つけっぱなしにする必要もないので電源を入れると ONとOFFを繰り返すと便利かなと思います。10分毎に繰り返す感じがいいそうです。でもせっかくなので設定できるようにしたいと思います。1分から15分まで設定できるようにしましょう。
えこる│HACCPPER ADVANTEC CORP.

実現方法
単純な回路なのでマイコンを使うのはやめてロジックICを組合わせてON,OFFは実現しましょう。AC100Vのスイッチになるのですが、私は以前同じような事をしようとしてリレーを使ったのですが、感電して痛い目を見ました。感電したときは200Vでしたが肩まで電撃が走りました。二度と味わいたくないです。怖いので専用のスイッチを使う事にします。
ソリッド・ステート・リレー(SSR)キット 25A(20A)タイプ: 組立キット 秋月電子通商-電子部品・ネット通販

回路図
f:id:Hamakita:20200430161359p:plain
ロジックICは合計5個使いました。左から4060,4040,4030,7432,7473です。4060と4040はカウンターです。4060は水晶発振回路を備えているので時計用の32.768kHzのクリスタルを使います。そこから22段分周すると半周期が64秒のクロックになります。4060は14段しかないので4040も組み合わせます。一分は当然60秒ですが、正確な時間を求めているわけでもないので今回の回路では一分は64秒ということにします。水晶から22段目の4040のQ8出力を最下位ビットと考えてQ8からQ11を見ると、一分毎にカウントアップするカウンタに見えます。この出力と4ビットのDIPスイッチの出力を4030のXORに入力します。XORは入力された信号を比較する事ができます。同じならば0、違うなら1を出力します。各桁のXORの出力が全て0になればDIPスイッチで設定した値とカウンタの値が一致したことになります。DIPスイッチでは4ビットなので0~15まで設定できますのでスイッチ間隔を設定することができます。すべての桁が一致したか判定するために次の段では7432のORを使います。4ビットのORとして使う事で、全桁が0になって初めてORの出力は0になります。ORの出力はTフリップフロップとリセット信号生成へ伸びています。まずリセットですが、設定した値までカウントした後にカウンタをリセットしなければなりません。例えば10分に設定した後リセットせずそのままにしておくと次にカウンタが10になるのは15分後になってしまいます。こうならないように設定した値までカウントしたら、また0からカウントする必要があるのでリセットしてあげます。カウンタである4060,4040をリセットするのですがこのICは正論理でリセットがかかるようです。ORの出力は普段は1で一致したら0を出力するのでNOT回路をかませてあげる必要がありそうです。今回はここだけにしかNOTを使わないのでFETをつかってNOTを作りそれをRESET信号としました。次に7473のTフリップフロップです。ORの出力では一致したときだけ0になるので、このままでは今回の10分ON、10分OFFのような信号を作ることができません。そこでTフリップフロップを使います。Tフリップフロップは入力信号の立下りを検知して出力を反転するフリップフロップです。まさに今回の用途にうってつけと言えます。7473はJKフリップフロップですがJKの入力をHにしてあげるとTフリップフロップとして動いてくれます。電源入れた直後はONであってほしいのでQバー出力をAC100Vスイッチ信号として出します。
うまくいかなかった事
4060で32.768kHzのクリスタルがうまく動いてくれませんでした。8Mとかは動くのですが、クリスタルの入力ピンとの間に抵抗を入れたり調整が微妙なようです。なので今回はクリスタルを使わないことにしました。クロックは7414のシュミットトリガインバータを使ってコンデンサで発振することにしました。あとフリップフロップにパワーオンリセットを入れ忘れました。最終的な回路図は以下のようになりました。
f:id:Hamakita:20200430170137p:plain

箱詰め
箱には何かのお土産でもらったお菓子の箱を使いました。ステンレス製ですが薄かったので加工しやすかったです。大きさも丁度いい。箱の中にはコンセントの入力と出力のコネクタとヒューズソケット、AC100Vをスイッチできるやつとスイッチ信号生成の回路とその電源のACアダプターをいれました。

自粛が続く世の中ですが、なるだけ多くの人が健康でこの難所を乗り切れる事を願っております。

マザボRAIDでデータ用RAIDを構築

OS用とは別にHDD二台使ってRAID構成するのに手間取ったので自分メモ

構成したいのは次の通り

 

SSD OS用

HDD データ用RAID #1 

HDD データ用RAID #2

 

元々SSDだけつないでAHCIモードで使ってた

マザボの機能でRAIDするにはRAIDモードにする必要があるが

そうするとOSが起動しなくなる。

使ってるマザボ

H77 Pro4/MVP

というやつ

これはチップセットからのSATAと拡張ICからのSATAがある。

RAIDできるのはチップセットからのSATAだけ

それぞれモードが設定できた

  1. チップセットからのSATARAIDモード
    拡張ICからのSATAAHCIモードに設定
  2. データ用HDD2台をチップセットからのSATAポートにつないでRAIDストレージをつくる
  3. OS用SSDは拡張ICからのSATAポートにつなぐ
  4. ブートをOS用SSDからに設定

 

おNEWのノートパソコンGET!!

今使っているdynabookももう7年前のだし、調子もよろしくないし買い換えたいと思って
この頃ジャンク屋さんを覗いていました。
いいのがあったので購入、あと色々セットアップしたの忘れるので自分用メモ

買ったのは

FUJITSU LIFEBOOK SH75/T 2015年1月発売
CPU i5-5200U
RAM 4GB
HDD 500GB

フルHD
USB3.0 WiFi bluetooth 指紋認証 NFC フロントカメラ
win8.1付きリカバリ済み
お値段ジャンクで18000円

ジャンクとしてはお高め
最近のジャンクショップの主流は第二世代か第三世代のCPUでたまに第四世代が混じっているかんじ第五世代はジャンクで初めてみた
ジャンク理由は
ファンがうるさい

ヒンジ、コネクタの一部破損、

裏面少しへこみ

破損については気になるほどでもなかったし、外見はきれいで使用感少な目だったので購入。確認してみてどこも壊れてなかったし良い買い物だった。

ファンがうるさい理由はwindows updateに失敗しているからだそうです(google先生曰く)つねにバックバックグラウンドでCPU30%くらいつかっている。一応グリスは塗り替えておいた。

fujitsuのプリインストールソフトがうざいのでSSDに交換してwin10をディスクからクリーンインストール。ライセンス認証はされたhomeみたいうるさいファンは治った。

元々のHDDから各種ドライバは保存しておく場所は

C:\Windows\System32\DriverStore

をまるっと

あとリカバリ領域もとっておくこちらのサイトを参考にさせていただいた。

https://www.ikt-s.com/make-fujitsu-recoverydisk/

指紋認証でのサインインはしたいので

リカバリ領域から

SoftexOmniPassとValidity WBF 指紋センサードライバーをもってきてインストール

問題なく指紋でサインインできた。

電源オフUSB充電ユーティリティもインストールしたんだけど動かない

windows10へアップグレードしたときようの富士通拡張機能ユーティリティをインストールしたら動いた。

https://azby.fmworld.net/support/win/10/info/attention/at0146.html

 色々インストール

https://azby.fmworld.net/app/customer/mypc/view/index.vhtml

上でリカバリ領域バックアップしてリカバリディスクをBDでつくったんだけど、USB-SATA変換介して読み込ませても起動しない。DVDのスリムSATAのとこからSATA延長ケーブル使って変換せずに外部のBDドライブに繋げたら起動してくれた。

トラブル解決ナビは起動したけど、そのあとリカバリディスク入れてくださいってなる。一つにまとめられると思ったけどそうでもないのかな。もともとDVDドライブがついてたモデルだからなのかな。

この後気づいたけど別にバックアップなんぞとらずに普通に

バックアップナビからリカバリディスク作ればいいだけだった。