免責事項

注意、免責事項について
・高電圧、大電流その他高エネルギを扱う実験を行う際にはくれぐれも安全に配慮し、細心の注意を払って行うようにしてください。
・当ブログの記事を参考にして発生した損害についてFEL研究室はいかなる責任も負えませんでご了承ください。

2022年11月13日日曜日

プッシュプル回路のデッドタイムについて

お久しぶりです。
もう11月になってしまいました。

パルス信号のバッファとして、MOSFETのプッシュプル回路をよく使いますよね。
図1-こういうやつ

Nchが下で、Pchが上なので、入力した信号は論理が反転して出力されます。
この回路をパルス信号で駆動するとそれなりに貫通電流が流れてしまうというのは以前の記事(http://fellaboratory.blogspot.com/2015/11/blog-post_23.html)でも書きましたが、別の方法でも改善ができたので、記事にしてみました。
 
回路はこんな感じです。
図2-改善案回路図

ポイントはそれぞれのゲートをC結合で駆動しているところです。
このC結合によって、各MOSFETのソースを基準として正、負両方向に振れることになります。
ゲートスレッショルド電圧はNchで+数V、Pchで-数Vなので、ソース基準でゲート信号が正負に振れるようになったことにより、同時ONの瞬間がなくなります。実際はターンON、OFF時間があるので周波数を高くしていくとやはり貫通電流が発生するようにはなりますが…。
C結合しない場合と、する場合の貫通電流を比較してみます。

・入力信号
振幅:0-12V
周波数:200kHz
MOSFETはNchにIRF520、PchにIRF9530を使用しました。


図3-C結合無しバージョンの消費電流

まず図1の回路の無負荷時の消費電流です。
15V印加時、何も対策しないと5.3Wもドブに捨てていることになります。

図4-C結合有りバージョン(改善版)の消費電流

次に図2のC結合有りの回路の無負荷時の消費電流です。
かなり消費電流が減りました。 

出力の波形はこんな感じです。
黄色波形がNchMOSFETのゲート、緑波形が出力(OUT)の波形です。
いずれも200kHz、無負荷状態。
 
図5-C結合無しバージョンの波形

ちょっとリンギングがひどいのは前段のドライバとMOSFETのマッチングがよくないからと思われます。出力波形の立ち上がり、立ち下がりにもノイズが出ています。


図6-C結合有りバージョンの波形

同時ONがなくなったからか、出力の立ち上がり、立ち下がりのノイズがかなり減りました。
 
 
図7-C結合有りバージョンの波形(1MHz)
 
入力信号の周波数を1MHzまで上げても消費電流は0.02A程度でした。入力信号の波形がだいぶ汚くなってしまっていますが、出力はそれなりに出ています。
 
 
C結合による貫通電流の低減は効果がありそうなことがわかりました。
ただし難点としては、Dutyが50%から大きく外れるとうまく動作しなくなる点でしょうか。
テスラのようなDuty50%固定用途には使えるかもしれません。
 
 
それでは、

2021年3月21日日曜日

市販品で動かすデジット閉店セールの100円パチスロ液晶

お久しぶりです、なかたです。
前回の記事から間が空いてしまい、Orange Pi Oneも約1000円から約2000円に値上がりしてしまいました。もうラズパイでよさそう。

話は変わりまして、現在大阪日本橋にあるデジットという電子部品屋さんが閉店セールを行っております。
かなり豊富な種類の電子工作部品が格安で販売されているので、皆様ぜひ足を運んでみてください。
実店舗限定商品もありますが、ネットで買える商品もちょっとあります。

共立エレショップ>> 2021年 デジット閉店セール: << 電子部品,半導体,キットの通販 

今回はそのデジット閉店セールにて売られていた100円パチスロ液晶の記事です。
私は店舗で見かけたことはなかったですが、昔店舗に出ていた時期があったようで先駆者様が作成してくださった資料を参考にしました。

参考リンク

液晶表示器、グラフィック液晶のAVRによる制御、市販SPI制御ボード、および自作FPGAと
CPLDを使ったカラーグラフィック液晶の駆動 

こちらがそのパチスロ液晶です。

正面、結構大きい
データシートによると液晶のサイズは152.4(W)×91.44(H)[mm]

裏面、蓋を外したところ
蓋は左右の爪を押すと外れる

デジットで貰った説明書(?)

液晶本体とバックライトの駆動回路やケース、映像の入ったRAMやCPU等のついた基板がセットになってます。
ちなみに液晶本体の型番はCLAA070LB01CWです。
リンクのデータシートを見てもらうと、全てがわかるかと思います。

無改造でもツインモンキーRの映像は流せますが、使い道が限られるため適当に改造します。
とはいってもCPLDやFPGAで動かすのは先駆者様がやっておられます。(ソースコードや基板のCADまで公開されてます)
今回は100円だから買ってしまったけどそこまで時間が取れなくて物置の肥やしになってる人のために市販品の組み合わせで安く簡単に動かせる改造を目標にします。

無改造状態のパチスロ液晶セットの簡易ブロック図を以下に示します。

無改造
雑な説明
12V:バックライト用電源
5V:映像信号用電源
映像信号用線:RAMの映像呼び出し用
32pin FPCケーブル:液晶に映像データを送る用

パチスロ基板のバックライトの部分だけそのまま使って、FPCケーブルに外部から信号を入力して好きな映像を流せるようにします。

・用意するもの

①パチスロ液晶:これがなければ始まらない。100円
②電源:12V 5V 0V 各種 なかたはATX電源を使いました。実質無料
③液晶コントローラ基板: TTL信号で映像を送れるもの。
なかたはVS-TY2662-V1を使いました。多分これが一番安い(1000円程度)。
同じ基板を買うならONOFFできたりするコントローラもついてるやつのほうがいいです。


④コネクタ変換基板:コントローラ基板からパチスロ基板への配線のための変換基板
ついでにフィルムケーブルも買っておいたほうが良い 200円程度

参考リンク:

⑤配線材:パチスロ基板への配線材、UEWとか 実質無料

合計金額:だいたい1500円くらい


・改造手順

改造後のパチスロ液晶セットの簡易ブロック図を以下に示します。

雑な説明
12V:バックライト、液晶コントローラ用電源
5V:映像信号用電源
32pin FPCケーブル:液晶に映像データを送る用
         コネクタ変換基板からUEWとかで配線

①パチスロ基板から不要部品を取り外す。
パチスロ基板には元々映像製造用のICがついてるためそれらを取り外します。
取り外す素子は下記参考にしてください。
AG2 (IC2)、SDRAM x 2 (IC7,8)、SRAM (IC6)、CPU (IC1)、ROM(IC3,4)

以下改造過程

パチスロ基板分離+RAM取り外し後
RAMはドライバーとかで内側から黒い抑えを押すと取れます

不要部品取り外し後
足が二面のやつらははんだごて二刀流と吸い取り線でごり押しました。
四面にあるやつらは四刀流か特殊器具を使わないと難しいんで、ニッパーで足を切り落として外しました。

②パチスロ基板のTPに配線
パチスロ基板のFPCコネクタにはTPがついてるため、そこに映像信号用の線をはんだづけします。
TPと信号の内容は下記ご参照ください。(先駆者様の丸パクリです)



・なかたと同じVS-TY2662-V1を買った人向け
VS-TY2662-V1はAT070TN90という液晶用のコントローラです。
50pinある信号線の必要な線だけTPにはんだづけします。
必要な信号線は下記参照ください。



③完成


動作時の様子
また動画作りたいね

以上です。
ご不明点等ございましたらお気軽にお問い合わせください。

2020年10月11日日曜日

ACサーボモータのエンコーダ解析

ご無沙汰しております。
すっかり涼しくなってきました。
秋と言えば、過ごしやすいことを口実に〇〇の秋と、ほとんどなんでも有りの秋が大量発生して騒々しいことこの上無いので、何かと流行に歯向かいがちな年頃の私としては「逆張りの秋」を標語に、世間への反発を強めていこうと決意しました。
 
実に9ヶ月ぶりくらいの更新です。
久しぶりに記事書くやつ(意味不明)立ち上げたらなんかUIが変わってて困惑しました。画像の左揃えがうまくできん。

さて、ヤフオクで衝動買いしたACサーボが部屋で眠っていたので、ちょっとモータ制御でもしてみようと思いたち、まずは搭載されているエンコーダを解析してみることにしました。
 
50Wなのでとても小柄です。
モータの型式は「GYS500DC1-C8B」で、カタログ(記事の後ろにURL貼っときます)によると、16bitのインクリメンタルエンコーダを搭載しているらしいです。インクリメンタルとアブソリュートの違いは「多回転データの有無」で、前者が無し、後者が有りです。アブソリュートでは大抵多回転データ保持用のバッテリが接続され、それを用いて回転量のメモリが消えないようにしている仕組みのようです。
カタログやサーボアンプ側の資料を読み漁りましたが、ピン配置以上のデータが見つかりませんでした。ピン配置はメーカの製品情報に書いてあり、この情報から半二重の差動シリアル信号なんだろうというのは予想が付きます。

取り敢えず電源に5Vを供給し、差動ペアの信号をオシロで見てみましたが何も信号の変化がなかったのでなんからのリクエストに対してエンコーダがデータを返すような仕組みのようです。なんらかのデータを送ってやるにしろどういう信号レベルなのかもわからないので分解してみました。
 
既に外して線が引っ張り出してありますが、1段目の基板(写真左)にRS-485のトランシーバが載っていたのでこれを外し、送信信号と受信信号を別々に取り出してみました。制御してそうな部分はASICのようで当然データシートも出てきませんでしたので通信プロトコルについては不明です。他社と共用してそうな製品もないようなのでこのメーカ独自のものなのでしょう。
取り敢えず適当な周波数のパルスを送ってみるとラッキーなことになんかデータを返してきました。8パルス送ると以下のようなデータがエンコーダから送信されてきます。
 
4MHzのパルスがしばらく続いて、あるところでオフ期間が1周期分(250ns)あるパルスが出てきます。
 
この後からはなんか意味がありそうなパルスの変化が現れてきます。
 
エンコーダの軸を回すと後半部分の波形が変化しました。また、電源を入れ直すとかならず同じような波形となる部分があったのでそこにインクリメンタル角度データがありそうです。
波形を見る感じUARTでは無さそうです。波形の変化の仕方からマンチェスター(バイフェーズ)っぽいので取り敢えずデコーダを作って読み出してみることにしました。
波形の最初の方に同じような波形が続くのは、恐らくここでデコーダがクロックの同期をとるためのプリアンブル期間と思われます。この期間でPLL等を用いてクロックを復元してやればいい感じにデータが読み出せるんじゃないでしょうか。
考えたデコーダの構成は以下の感じです。

デコードすると単なるクロック同期のシリアル信号(SPIで読める)になるので適当なマイコンにでも入力したらいいかと思ったのですが、クロック4MHzのSPIを数バイト高速で処理しなければなりませんので少々オーバスペックですがdsPICを使ってみました。
マイコンでやってることは非常に単純で、エンコーダへの送信データとしてIO叩きで8パルス作って、エンコーダからデータが出てきたらPLLのロック信号を監視して、ロックしたらSPIの受信バッファを読み、1が含まれたデータが検出されたらそっからは順番にメモリにデータを格納していくということをやっています。Cで書いても余裕の速度なのでdsPICすごいですね、というかもったいない。
読み出せたデータを眺めながらモータの軸を動かしていると以下のようにデータが格納されていることがわかりました。
ステータスフラグのようなものは内容は不明です。パッと思いつくのはバックアップ用バッテリの電圧監視とか温度監視とかでしょうか。確かめてないのでわかりません。
その次の16bitが1回転の位置データです。電源を切っても軸位置を変えなければ同じデータが読み出せます。インクリメンタルエンコーダでも1回転のアブソリュートデータは取れるのですね。知りませんでした。
その次に8bitの90度ごとのデータがあります。軸を90度回転させるごとに255→0に戻ることから判明しました。電源を切っても保持されます。何に使っているのかはわかりませんが、もしかしたらモータが4極なのでモータ駆動用の位置データ(ホールセンサの変わりのようなもの?)かもしれません。
そしてその次の16bitにインクリメンタルな位置データが続きます。電源を入れると0からのカウントになります。
次は16bit分0が続くようです。同じシリーズのACサーボには16bit回転量を持ったアブソリュート型もあるようなのでその場合に多回転データが入るのかもしれません。
最後に16bitのチェックサムないしCRC等の検査データと思われる部分があります。インクリメンタルデータとアブソリュートデータ両方に影響を受けて変化するためです。計算式までは不明です。
 
アブソリュート16bitデータを360度換算にして表示させてみた動画です。
軸の回転に応じて角度が変化しているのが確認できます。

ちょっと疑問なんですが、モータ軸に高分解能なエンコーダを付けた角度制御ってどういうアルゴリズムになっているんでしょうか。いくらエンコーダの分解能が高くても、正弦波駆動の分解能はたかだか知れているはずで、同期モータですので単純に考えるとそれ以上の角度分解能は無いはずです。指令値に近づくと相ごとに位相の進み、遅れ等を意図的に作ったりするのでしょうか。気になります…。
 
今回はエンコーダの解析ができたので、気が向いたらACサーボの制御でもチャレンジしようかなと思っています。または一年放置している焼き芋機。
 
それでは

資料
1. モータのカタログ
 
2. インバータの詳細(エンコーダのピン配置等)
 
3. マンチェスタ(バイフェーズ)デコード

2020年5月24日日曜日

素人がorange piでロボットを作る その3

なかたです。好物はOrange Pi。

お久しぶりです。
久々に記事を書きました。

ロボットについての記事です。





とりあえず完成しました。
BBT(Blue Body Tank)くんです。

顔を認識して目を合わせてくれたり音声を認識してくれたりします。
その他機能をつけてから記事を書こうと思ってたのですが、またサボりそうなのでとりあえず投稿しときます。

構成部品は全て3Dプリンタ出力物と既製品でできているので誰でも作ることができます。

希望が多ければ完成後BBTくんのレシピを公開する予定です。

早めに完成させて早いうちに記事書きます。

2020年1月15日水曜日

おいしい焼き芋が食べたい 3

新年明けましておめでとうございます。
相変わらず外は寒いので体調には気をつけましょう。
てか冬長くないか?何ヶ月も寒いんだよ。

さて、前回の記事でとりあえず芋を焼いてみた訳ですが、意外といい感じになりました。
体感60℃(誤差±20℃)で3時間ほど焼きました。
蜜が溢れているのがわかります。

味はというと、甘いんは甘いんですけどおいしいかと言われると微妙。果たしてこれが芋のせいなのか焼き方のせいなのかはよくわかりません。
近いうちに温度制御を行っていい感じのプロファイルも探してみないといけませんね。


ここからは本編とは関係無いおまけです。


Amazonで売ってるAVR ISP mk2の偽物買ってみました。お値段\2499-
AmazonでAVR ISP mk2とググると出てきます。
ちゃんと認識しました。認識しても本体の赤色LEDがピコピコ点滅するのがちょっと不安です。
Atmel Studio 7でも問題無く認識しました。すごい。
何回かマイコンに書き込みもしてみましたが普通に使えるみたいです。ヒューズビットも書き換えできました。プログラマなのでデバッグ機能はないですがIDEから直接触れるツールがあるといいですね。

さらにおまけが続きます。

みなさんはポケモンパン、ご存知でしょうか。
僕は子供のころ大好きでした。
ポケモンパンの中でも特に好きなのがこのチョコクランチ入りチョコクリーム入りです。
もう10年以上食べてないので曖昧な記憶ですが、チョコクリームにサクサクとしたチョコチップみたいなのが入っていてそれがおいしかったはずです。

ところで、このポケモンパンが年に何回か急激に食べたくなるんですが、周りであまりそういう話を聞きません。そこで、人間がポケモンパンを食べたくなる現象について調べてみました。以下のグラフを御覧ください。
ポケモンパンが食べたいという欲求はすべての人間に存在しています。しかし普通は幼少期を過ぎればまず「ポケモンパンが食べたい」という欲求を知覚することはなくなってしまいます。
人間の欲求には知覚するしないに関わらず、その欲求の強さの度合いが存在します。例えば、食事の欲求がある一定以上高まると「お腹空いた」という感情を知覚する人が多いでしょう。もちろん常に「どれくらいお腹が空いたか」という度合いは存在していますが、人に聞かれる等、意識しない限りはその度合に気づくことはありません。
グラフで緑色で書かれたプロットはポケモンパンを食べたいという欲求の強さを示しています。ポケモンパンを全く食べたく無いことはありえないので、無にはなりません。
ポケモンパンに対する欲求レベルは常に変動していて、最低レベルと最高レベルの間を数ヶ月の周期で行ったり来たりしていると言われています。
前述の通りポケモンパンについて意識して考えない限りは、このポケモンパン食べたい欲求レベルに気づくことはありませんが、あるしきい値を超えると「ポケモンパンが食べたい」という感情が現れます。そのしきい値がグラフ中赤と青のプロットです。
これは諸説あるのですが、一般的な幼児以上の人間のしきい値(青)はポケモンパンを食べたい欲求レベルの最高レベルより上にあるためにポケモンパンが食べたくなることは無いと考えられています。
しかし私のしきい値(赤)が一般的なそれより低く、欲求レベルの最大値よりも低いと考えるとどうでしょうか。定期的にポケモンパンが食べたくなるのも納得できます。

ポケモンパンが食べたくなる理由もわかったところで実食といきましょうか。
なんと懐かしい…。現役で食べてた時は両手に溢れんばかりのサイズだったような気がしましたが今となっては4口でなくなってしまいそうなサイズです。これも時間の流れですねぇ…

ちょっと硬めのどらやきみたいな生地にチョコクリームが入っています。ちょっと偏ってて、はみ出しそうな部分も当時を思い出させます。

実はこのポケモンパン、一番近いスーパーには売っておらず、わざわざ2番目に近いところまで出向いて買ってきました。しかもこれが最後の一個でした。まるで私を待っててくれたみたいに
味はというと、想像していたのと寸分の狂いもなく同じでした。
値段なんか見ずに買いましたが、今レシート見たら128円(税別)でした。
みなさんも食べたくなったら食べてみてくださいね。

それでは、

2019年12月14日土曜日

おいしい焼き芋が食べたい 2

こんばんは。
早速焼き芋を作るためにトースターを改造していきましょう。

まず、この15分のタイマーが邪魔なので取り払ってしまいます。

分解してタイマーのとこをショートさせてコンセントから電源供給があるときは常に動き続けるようにしました。

ファストン端子みたいになっていたので抱き合わせて見ました。一応ビニールテープでまいておきます。

分解する過程でどうしても取れないネジがあったせいで板金を破壊してしまいました。組み上がりには問題なかったのでよしとします。
また、板金の端は非常に鋭く、手を切る危険性があるので注意しましょう。

僕も手を切って血痕が付着し、ホラー映画に登場するトースターみたいになってしまいました。

そしてさつまいもをアルミホイルで包んで後は加熱するだけです。余談ですがアルミホイルで包むといいらしいです。

このままコンセントに挿すとフルパワーで動き続けてすぐ炭になってしまうだろうということは容易に想像がつくので簡易的にスライダックで温度調整をしてみることにします。
余談ですが、このスライダックをなかたくんに「フランケンシュタイン」と言われたことがあるような気がします。余談すぎる。

さぁ加熱しましょう!と言いたいところですが、おいしい焼き芋を作るためには60℃付近で加熱するのが良いそうです。しかし温度制御はまだできていません。

そこで手頃な目覚まし時計付き温度計が家に転がっていたのでこれを一緒にトースターにぶち込んで温度を監視することにしました。

さっき見たら温度が「Hi」という表示になってて測定範囲を超えてしまっているようでしたので救出しておきました。残念。温度調整は勘でいこうと思います。

次回は食べてみる記事になると思います。

それでは

2019年12月10日火曜日

おいしい焼き芋が食べたい

こんばんは。
美味しい焼き芋が食べたいので焼き芋焼き機を作ろうと思います。

トースターを買ってきました。これを改造して焼き芋焼き機を作ろうと思います。
(実は去年に考えて作ろうと思って放置してあったものです)
ホームセンターで2000円台で買えると思います。
温度調整は無しでタイマーのみのやつです。

まだここまでしかできていませんが、この冬が終わるまでにはなんとかおいしい焼き芋が食べられたらなぁと思います。

それでは


2019年10月31日木曜日

ON時間固定PFC作りかけ

こんばんは。
ON時間固定タイプのPFCを作ってる途中です。
ON時間固定で臨界動作なら入力電流は完全に入力電流に比例する(デューティー比一定なら)という原理を使ったPFCですが、デューティー比一定になるんかいな?まぁするんですけど。

回路図
ついに手書きにランクダウンしました。
ON時間固定なので、ON時間の生成はRCのタイマーで行います。
ON時間調整はTL431で、出力電圧が希望の値に近づくにつれ、ON時間を絞るような制御になります。
MOSFETの電流検出と入力電圧の取り込みが必要ないので配線がとても楽でした。

基板です。

直流電源で動かしている時のL電流です。0.1V/Aですがちょっと飽和気味?

現状、臨界動作はできましたが入力を交流を整流したやつにすると、電圧が低くなる時にゼロ検出がうまいこと行ってないみたいで動作が変になりました。たぶん補助巻線をもっと巻けば解決するような気がします。

以上です。

2019年9月1日日曜日

素人がorange piでロボットを作る その2

なかたです。好物はOrange Pi。

お久しぶりです。
8月ももう終わり、9月となりますが皆さんいかがお過ごしでしょうか。

最近Raspberry Pi 4が出たり、Jetson nanoが出たりとシングルボードコンピューター界はとても熱いですね。
正直Orange PiやめてRaspberry Pi使いたいですけど、このロボットはとりあえずOrange Pi one(価格だけは今も一級品)で完成させようと思います。

実は前回の記事からほとんど手つけてなかったんで昨日と今日でロボット頭部を完成させました。



お気づきの方もいるかもしれませんが、ロボットのモデルはBBTくんです。
搭載機能の説明は、完成させてからのお披露目にしたいと思います。


Web拍手反応
はじまめして。
>いつもブログ楽しく見させてもらっております。
>最近ブログの更新が遅くて遅くてまtter

初めましてじゃなさそう
返信の催促が来ていたので形だけしておきます。 


それでは今日はこの辺で

2019年5月6日月曜日

素人がorange piでロボットを作る その1

なかたです。好物はOrange Pi。

KKTが記事書くことをサボっているので初投稿です。

今回はOrange Pi oneでロボットを作る記事を書いていきます。
とは言ってもロボットに関しては制御も機械工作も全くわからないのでいつも通りのガバガバ記事になると思います。


KKTの上位存在(意味不明)であり概念でしか存在していないBBTくんを機械の体を作ってあげることでこの世界でも動けるようにしてあげるのが目的です。

嘘です。ロボット作ってみたいだけです。
でも、BBTくんを模したロボットを作ってみることにします。




一応こんな感じで二足歩行するロボットをイメージしていますがまずは完成させることを目的に妥協しながら作っていく予定です。


というわけで以下雑に作っていきます。



まずは一番印象に影響するであろう頭部から作ります。


目は8×8のドットマトリクチュLEDを使ってみました。
いい感じな気がする


BBTくんは人の眼を見るロボットになってもらうつもりなので顔認証能力も付ける予定です


BBTくん目線はこんな感じ
ここからサーボモーターで首振りを行う予定です。


それでは今日はこの辺で

2018年12月15日土曜日

Aliで買ったATmega8が動いた

こんばんは。KKTの方です。
前回の続きで題名の通りパチもん(?)のmega8が動きました。

画像が90度回転させられてしまっていますが左が今回Aliで購入したチップで右が本物(たぶん秋月)です。前回書いた通りプログラム書き込みはできたのですが果たして動くのか。

タイマーモジュールでLチカしてみたところ問題なく動きました。
余談ですが、PINxレジスタに1を書き込むと対応するPORTxレジスタのビットが反転するっていう機能はAVRマイコン標準だと思っていたのですがmega8には無いんですね。あると信じ込んで動かないなぁと思っていたらデーターシートにはPINxは読み出しのみと記載がありました。
他のペリフェラルはまだ試してませんがこの感じだと動きそうですね。よかった。

それでは、今日はこの辺で
http://clap.webclap.com/clap.php?id=fellabo