‘工作’ カテゴリーのアーカイブ

JIS規格のPDFの仕組みを眺めてみた

2011年12月14日 水曜日

JIS規格は、日本工業標準調査会のWebページで閲覧できます。

ただし、PDFはローカルに保存できず、IEの画面から直接参照しないと見られません。さらに、印刷した場合に文字が読めなくなるような仕組みまで組み込まれています。この手の込んだ妨害工作がどのように実現されているか調べてみました。

1. ローカルに保存しずらくする仕組み

PDF内部にメニュー類を非表示にする設定が書き込まれていて、一見保存できないようになっています。

ただ、AdobeReader Xとかだと、カーソルを画面下方向に持ってくると保存ボタンが出てくるので、それを選ぶと普通に保存できます。あるいは、表示した状態で、F8キーを押すとメニューが現れるので、これで保存できます。

2. ローカルでの閲覧を妨害する仕組み

このPDFには、IEの中から直接開かないと画面を真っ白にするJavaScriptが埋め込まれています。

該当箇所を削除すれば良いのですが、Windows環境では、以下に書いてあった手順で上手くいきました。

JISの保存・閲覧方法(無料)

knifeでPDFを分割するときに、JavaScriptだとか、Annotsだとかが切り捨てられて、欲しい部分だけが残るしくみです。

3. 印刷を妨害する仕組み

Adobe Readerでは、閲覧はできるものの印刷するとうまくいかないという巧妙な仕掛けが施されていました。この仕組みは、スキャンした画像に重ねるテキストの属性を青の塗り潰しにすることで実現できるみたいです。この様子は、xpdfで見るとよく分かります。

これは、印刷するときに、「詳細設定」で、「画像として印刷」にチェックしとけば、きちんと印刷できます。

PDFからこの障害を取り除くには、BTからETの間にある埋め込みテキストで、”0 Tr”(塗りつぶし)などの指示を、”3 Tr”(透明)に置換すればokです。

4. qpdfのこと

unixなどのコマンドラインを使えば、qpdfと若干のperlを使って、都合の悪い部分をバッチ的に除去できます。qpdfは、pdf → pdfのフィルタです。

暗号化されたJIS PDFの復号は、オプション”--decrypt“です。

PDFを読みやすく(qdf形式)するには、オプション”-qdf”を付けます。qdf形式のPDFは、改行やコメントの入った読みやすいPDFで、もちろんAdobeReaderで読めます。

これをエディタで編集した後、qpdfに同梱されている”fix-qdf”で参照を直して、良ければ最後に、再度qpdfを通すと、コンパクトなpdfが出来上がります。

洗面所用棚製作記

2011年11月10日 木曜日

しばらく眠っていた木工魂が、最近むくっと頭をもたげ、思わず洗面所棚を作成したので書いておこうと思います。

コンセプト

我が家は築45年の狭小団地です。そのため、 出来合いの台とタオル掛けを置いていたのですが、イマイチ面積の使用効率が良くありませんでした。また、この台だけですと、洗面所付近に収納が不足していました。そこで、

  • 洗面台の横に置く
  • 洗面台よりも出っ張らない
  • 洗濯物かごが置ける
  • タオル掛けが備えられている
  • 低コストのざっくりした作り

というコンセプトを設定しました。

材料

今回は、1 x 4材を使いました。置き場所は洗面所ですので、あんまり手をかけず、コストも安く済ます作戦です。1 x 4 材は、ホームセンターで200~250円くらいで買えます。

設計

図面はクリックすると大きな画像で見られます。棚の高さは、狭小団地の都合で1650mmです。下から3段目は洗濯物かごが入るように450mmの高さがあります。

出来上がり

タオル掛けを前面と側面に取り付けてあります。さらに、上2段には目隠しカーテンも付けました。

棚板は1×4材を3枚並べたのですが、ぴたりとはなかなかいかないので、最初から数mm空けて並べてあります。

B000A85GJW RYOBI 100Vドライバドリルキット FDD-1010KT
リョービ

関連記事

本棚製作記(1)~設計~@馬坂コム

本棚製作記(2)~道具と材料の準備~@馬坂コム

本棚製作記(3)~組立て~@馬坂コム

 

STBeeを買ってみた

2011年2月15日 火曜日

ストロベリーリナックス社製のCortex-M3 MCUボード STBEEを買ってみました。最近、ARMっていう言葉をよく聞くようになったので、ちょっといじってみようっていう思いつきです。

Flashが512KB、RAMが64KBもついていて、3000円で買えるので、とても安い!

フラッシュメモリの先頭には最初からDFU(Device Firmware Upgrade)なるプログラムが書き込まれており、PCとUSBで接続さえすれば開発を始められるようになっていました。DFU自体はストロベリーリナックスが書き込んだものです。

開発はCortex-M3用のgccが使え、これは、CodeSourcery社のWebページからWindows用バイナリをダウンロードできます。手順がSTBEEのページにあり、そのままやればとりあえずは動かせます。

いろいろ遊んでみる予定です。

Interface (インターフェース) 増刊 STM32マイコン徹底入門 2011年 01月号 [雑誌] Interface (インターフェース) 増刊 STM32マイコン徹底入門 2011年 01月号 [雑誌]

CQ出版 2010-12-01
Amazonで詳しく見る

ThinkPad 16V ACアダプタ断線の修理 (2)

2011年2月4日 金曜日

前の記事で、ThinkPadのACアダプタのプラグは、マルシン無線電機のMP-122Cが使えると書きました。

ThinkPad 16V ACアダプタ断線の修理 (1)

しかし実際にやってみると、ケーブルが予想外に太く、うまく付けるのが難しいことが分かりました。MP-122Cプラグは4mmの穴しかありませんが、ケーブル径は、4.2mmくらいあるようです。これはドリルでさらえば何とかなるのですが、プラグ内部が狭く、半田付けが難しいです。

もっと適したプラグが無いか探してみたところ、海外の製品で2つ見つけました。日本製では見つけることができませんでした。

メーカ 型番 線径[mm] 価格(1個購入時)
Switchcraft 761KS15 3.8-4.4(推奨線径) ¥1,220- @RSオンライン
¥  515- @digikey
¥  502- @MOUSER
KobiConn 1710-0725 -4.8(プラグ穴径) ¥  115- @MOUSER

Switchcraftのプラグは結構立派なものに見えます。こんな感じ↓

Kobiconnのはこんなかんじ↓

RSオンラインで注文すると送料は¥460-です。digikeyとMOUSERの送料は¥2,000-です。

新しいACアダプタを買ったほうが安いかもしんない。

B001O05KKK SANWA SUPPLY ACA-65L8 ノートPC用ACアダプタ(65W)
サンワサプライ

ThinkPad 16V ACアダプタ断線の修理 (1)

2011年1月12日 水曜日

ThinkPadの16VのACアダプタのプラグは、

外径 : 5.5mm
内径 : 2.5mm

というものらしい(Source : ThinkPad Clubの過去ログ)。例えば、千石電商で買えます。

マルシン MP-122C DCプラグ φ2.5(8角) @ 千石電商オンライン

MP-122Cの寸法図 出典:マルシン無線電機のカタログ

ThinkPadのACアダプタのプラグが壊れたら、これを買って修理すれば安く上がります(74円)。このプラグだと、ケーブル径が足りない場合があるので、ドリルでさらって少し広げる必要があります。また最近のThinkPadはプラグ形状が違うようなので、上図を見て刺さるかどうかご検討ください。

プラグの根元部分のコードは、かなり断線しやすいです。断線したら、コードを切断して、こいつを半田付けすればokです。プラグ近くにノイズよけのフェライトが入っている場合がありますが、動作上は無くても問題ないので、こいつを含めて切除してしまいます。

半田付けとかせずに、お金で解決したい方はこちらをどうぞ。

B001O05KKK SANWA SUPPLY ACA-65L8 ノートPC用ACアダプタ(65W)
サンワサプライ

FreePCB ver. 1.359リリース

2010年10月29日 金曜日

しばらくぶりにFreePCBのページを見たら、ver. 1.359がリリースされてました。

New Version 1.359@FreePCB User Forum

以前の記事

FreePCB ver.1.355のネットリスト読込みに関するバグ@馬坂コム

で、Ver. 1.355にはバグがあるよ~っていう話だったのですが、すでにver. 1.356で修正されていたみたいです。年末にかけてボード設計する予定があるので、試してみようと思います。

一時、作者のAllanがUser Forumにぜんぜん登場しない時期があり、UserForumで心配する声がありました。→Allan @ FreePCB User Forum

再び活発にリリースされるようになってひと安心です。

FreePCBにはいつもお世話になっているので、”Donate!”のリンクがあるか探したのですが見つからず、UserForumで検索したら、こんな記事がヒットしました。

Allanいわく、「商売するつもりは無いんだ。生活のためには何かほかの事をするさ。コレは自分の楽しみなんだよ。」

関連記事:

FreePCB@馬坂コム
TinyCAD+FreePCBのPCB設計フロー@馬坂コム
FreePCB ver.1.355のネットリスト読込みに関するバグ@馬坂コム

LDOの発振とかオーバーシュートについて考えてみた

2010年9月29日 水曜日

特殊電子回路から、Spartan-6 FPGA評価ボードの無償改修・修理のお知らせメールが届きました。どうやら、FPGAのコア部の電源を生成しているLDOが、電源投入時にオーバーシュートを起こすという話らしいです。まぁ、遊びで使っているだけなので、どっちでもいいかなぁ、と思っています。

Spartan-6のコア部は、45nm CMOSプロセスで、その電源電圧は1.2Vのようです。絶対最大定格は1.37Vですので、本当はそれを超えてはなりません。ただ、民生品のようなシステムでは、普通の安価なLDOを使う関係で、オーバーシュートが短い時間生じている場合があります。

ボクは、マイコン内蔵LDOでも同様の現象を見たことがあります。最近のマイコンには、LDOが内蔵されているものがよくあります。ユーザから見た電源電圧は3Vとか5Vなのですが、コア部の電源電圧はそれより低い電圧(例えば2.5Vとか1.8V)で、コア部に供給する電源用にLDOが内蔵されている場合があります。たぶんフラッシュやプロセッサなどの集積度をできるだけ上げたい事情があるのでしょう。そのようなものの中には、外付け容量を接続するための端子が出ているものがありますので、その端子をオシロスコープで見てみてください。見事にオーバーシュートしている場合があります。推奨の容量を使用した場合でもです。

今日は、LDOの安定性とオーバーシュートについてナショセミのドキュメントを読んで考えてみたので、書いておこうと思います。LDOはスッゴク便利で簡単に使えますが、安定性について理解しておくと工作がもっと楽しくなる気がします。ICメーカは、LDOにどんな負荷が接続されるか分からないので、絶対安定なLDOっていうものを供給するのが難しいはずです。発振するかしないかはユーザの担当です。

LDOって?

LDO(Low Drop Out)はレギュレータです。CMOSの場合、ソース接地を出力段(PMOSをドライバ)にしたレギュレータで、NMOSやNPNをドライバにした場合に比べて、入出力電位差が小さいことが特徴です。この特徴から、Low Drop Outと呼ばれるのだと思います。

LDOの安定性ってどうやって考えるの?

LDOを2段の増幅器と考えると、LDOの安定性とかオーバーシュートの原因を簡単に理解できます。まず1段目で基準電圧と出力電圧の差を利得倍した電圧を発生します。2段目はPMOSのソース接地出力段です。2段増幅器ですので、1段目と2段目にそれぞれ1つずつ、合計2つのポールが存在すると考えます。

LDOは本当は2段かどうかよく分かりません。もっと複雑なのかもしれませんが、ある程度以上はICメーカのデザイナ以外分からないので、このように仮定します。

ループの安定を保つためには、2つのポールを十分離しておかなくてはなりません。1段目のポールは1個なので、その場合は一次系ですから、利得は20dB/decで減衰します。1段目の直流利得が40dBならば、2つのポールは周波数を2桁以上離して置かなくては安定しません。

2段目のポールはPMOSソース接地と負荷容量で決定され、負荷電流によって大きく変化します。ソース接地の電流が増せば(負荷電流が増加すれば)、ポールは広域に移動します。逆に電流が減少すると、低域に移動します。1段目のポールと2段目のポールを周波数2桁分離す為には、1段目ポールを2段目ポールより低域におく必要があります。

逆は現実的ではありません。なぜなら、1段目を2段目より何桁も早くするためには、1段目のアンプにLDOの出力電流よりもずっと大量の電流を与える必要があるためです。

レギュレータの消費電流をある程度以下にするためには、2段目ソース接地の無負荷時消費電流をそれほど大きくすることができませんが、この電流によって2段目ポールが取りうる最低周波数が決まります。1段目ポールを2段目ポールの2桁分下の周波数に置くとすれば、1段目は2桁遅くする必要があり、相当に遅いアンプとなります。

LDOの中には、最小負荷電流が規定されているものがあります。これはおそらく、第2ポールが低域に来すぎると発振することが理由だと思います。

ここまで、単純化して説明しましたが、以上のようにICメーカが設計すると、ホントに遅いループになってしまい、実用に耐えない場合があります。負荷電流変動に対してもある程度は追随できなければ、負荷容量に必要な容量が増加してユーザに負担をかけますし、容量増加によって2段目ポールがさらに低域に移動し、安定性も犠牲になります。

そこで、通常のLDOでは、負荷容量とESRで生じるゼロを使って位相を戻し、安定を確保するように設計されています。DC~第2ポールの間くらいゼロが1個入れば、ループは安定になるという寸法です。ICのデータシートには、推奨されるESRと容量値が記載されています。

オーバーシュートってなんで発生するの?

出力段であるPMOSソース接地のゲートは、1段目の差動アンプでドライブされていました。1段目差動アンプは、スゴク遅くする必要があることは先に述べました。ナショセミのドキュメントでは、第一ポールが100Hzという例が出ていました。実際もおそらくその程度のオーダなのだと思います。オーバーシュートは1段目増幅器が追随できないで生じる、という可能性がまずあります。

次の原因として、電源投入時にPMOSのゲートは0V電位になっている場合がほとんどですから、負帰還が働き始めるまでの間、電源とほぼ同じ電位を出力し続ける、という可能性があります。

あるいは、LDO内部の基準電圧が定まるのが遅い、という原因も考えられます。基準電圧はBGR(Bandgap Reference)なので、これはこれで負帰還を形成しており、立ち上がりには相応の時間が必要です。

オーバーシュートについては、ソフトスタートといわれる機能が内蔵されたものを選ぶと、問題を回避できる可能性があります。ただ、ソフトスタートは、パワーオンリセットの一種なので、電源の立ち上げ波形などに依存すると思われます。

参考:

AN-1148 リニア・レギュレータ: 動作原理と補償@ナショナルセミコンダクター

関連記事:

Spartan-6 FPGA評価ボードを買って遊んでみた@馬坂コム

SAR ADC(逐次比較) (2)

2010年6月19日 土曜日


これは、SAR ADCのブロック図です(図の出典:wikpedia.orgのSAR ADC)。DACの出力と、入力電圧VINをコンパレータで比較するように構成されています。両者の大小関係はコンパレータで分かりますから、ロジック回路SARはコンパレータの出力を見て、Vinに最も近くなるように、DACをカチカチと動かします。S/Hは、サンプルホールドのことで、VINの電圧を記憶して、変換の最中保持し続けるという意味です。できるだけ比較回数を少なくして、効率よく解を求めるためには、2分検索が適しているため、ほとんどのSAR ADCは、2分検索するように作られています。

さて、実際の回路はどうなっているのでしょうか?より具体的に見てゆきたいと思います。

この絵は、USP 4129863からとってきました。

“Weighted capacitor analog/digital converting apparatus and method”, Paul R. Gray, James L. McCreary, David A. Hodges, USP4129863, 1977@google patents

MOS集積回路では、トランジスタをスイッチとして使えますから、スイッチが多用されています。容量素子も、原理的には2枚の電極があって、その間に絶縁物があれば良いわけですから、各種方法で作成することが可能です。VINは入力信号の電圧、VREFは基準電圧です。

容量はそれぞれC, C/2, C/4, C/8, C/8のように二進的に重み付けされていて、DACになっています。この回路では、容量はDACとして動作するとともに、S/Hの役割も果たします。スイッチの設定によっては、VINを容量のボトムプレート(図の下側のノード)へ接続できるようになっていることに注目してください。

変換の冒頭では、サンプリングするために、S1を接続して、S2~S6を”2″に接続して、S7をVINに接続します。そうしますと、Vxは0Vに、容量の下側ノードはVINにされます。その次に、サンプリングを終えてホールドするためにS1を開放します。

上記操作の後、S7をVREFに接続し、コンパレータの比較結果を見ながらS2~S6を操作して、Vxが0Vの近づくようにします。そうすると、最終的なS2~S6の設定値が、A/D変換の結果に相当します。直感的に理解するために、VINの電圧が0Vだった場合と、VINの電圧がVREFだった場合の2とおりを考えてみますと、

VIN=0Vがサンプリングされた時、Vxの電位が0Vになるためには、S2~S6は”1″側に接続されなくてはならない

VIN=VREFがサンプリングされた時、Vxの電位が0Vになるためには、S2~S6は”2″側に接続されなくてはならない

ことが分かります。

このように、サンプリングされたVINの電位によって、Vx=0VとなるS2~S6の設定が変化しますので、この値をデジタルコードとして出力するわけです。

DACに必要な容量を使ってS/Hの機能も実現できて、大変簡単な回路済むことがお分かり頂けると思います。この回路の動作は、信号電圧に応じた電荷をサンプリングして、バイナリで加重された容量に分配する動作と見ることができるため、”Charge Redistribution(電荷再分配)”方式と呼ばれています。現在入手可能なSAR ADCのほとんどは、多少の変形があるものの、以上のようなメカニズムで動作しています。

先に示した特許が1977年にUCBのP. R. Grayらが書いたものなので、30年以上前に考えられたものです。

以上、簡単書いてみました。より詳細な解析は、時間があったら書こうと思います。

関連記事:

SAR(逐次比較) ADC (1)@馬坂コム

SAR ADC(逐次比較) (1)

2010年6月16日 水曜日

SAR ADC(Successive Approximation Register ADC, 逐次比較A/Dコンバータ)はとてもポピュラーなA/Dコンバータです。

たとえばマイコンには、10~12bit 程度のSAR ADCが内蔵されており、手軽に使うことができます。センサなどのインターフェイスとして使うと、いろんなシステムに応用できます。マイコンに内蔵されたSAR ADCは、だいたい10us~2us程度の変換時間です。

マイコン以外の専用ICでは、スピードは10kSps~1Msps、分解能は10~16bitのものが一般的です。

上記は、秋月電子通商で一番安いSAR ADCです。MCP3002(Microchip Technology, 10bit, 200ksps, ¥200@秋月)。マイコンに入っているADCとだいたい同じくらいの性能で、センサとかのたいていの用途には十分です。10bitっていうことは、0.1%っていうことです。0.1%っていわれるとなかなかスゴイですけど、16bitなどというものも普通に売られています。秋月には無いですが。ただ、そういうクラスはお値段も素敵です。

SAR ADCは、主にDACとコンパレータとSARロジックから出来ています。入力信号電圧とDAC出力電圧を比較して、両者が最も近づくようにDACを操作して、最後にDACに入力しているコードが入力信号電圧に相当するコードであるというものです。コードの検索にはほとんどの場合、二分検索が使われます。逐次比較(Successive Approximation)という名前は、並列型のように複数のコンパレータが同時に動作するタイプと対比して、このように名づけられているのだと思います。

現在のSAR ADCは、スイッチドキャパシタ技術に基づいて作成されています。MOSトランジスタは理想的なスイッチとして使用することができますので、現在の集積回路の主流であるCMOSプロセスにマッチしています。本当のことを言えば、世の中のほとんどのADCはCMOSプロセスで作られていて、スイッチドキャパシタ回路です。Pipeline ADCも、ΔΣADCも、みんなスイッチドキャパシタです。Pipeline ADCは数MSps以上の領域、ΔΣはオーディオ用の領域で使われる方式です。

他の方式に対するSARの利点の一つは、内部にアンプが不要なことです。その分回路が簡単ですし、電力消費も抑えられます。

CMOS集積回路では、トランジスタを小さくすればするほど速度が速く、電力消費が小さく、面積が小さくて済む、という原則があります。これをスケーリング則と言います。経済的に許される面積のシリコンに、できるだけ多くの素子を詰め込んで、高速に動作させたいという要求から、2010年現在ではトランジスタのゲート長は28nmくらいが使われています。また、スケーリングの原則は、電源電圧もスケールする必要があって、現在では0.9V程度にまで下がっています。こういった電源電圧が低い領域では、アンプを作るのが難しいので、SAR ADCが向いていると言われています。

SAR ADCの変換速度は、主にコンパレータが入力信号とDAC出力の大小関係を判定するのに必要な時間で決まっています。微細プロセスでSAR ADCを作ると、スケーリングメリットをモロ享受することができて、コンパレータがスゲー速く動くので、変換速度を速くできて、従来はPipeline ADCを使っていた変換速度領域でもSAR方式を使えるようになります。例えば数十MSpsくらいは普通に作れます。もっとも、Pipelineも負けじと速くなっていくので、両者は仲良く住み分けているようです。

速くなるのは良いことに違いないのですが、実は、早くしないと電荷がもれちゃう、という側面もあります。スケーリングというのは、MOSのしきい値(MOSのONとOFFをの境目)も小さくすることが原則で、微細化の程度に応じてちょうど良い値になるよう製造されています。しきい値を下げ過ぎるとMOSはOFFしなくなってしまってジャージャーと電流が流れてしまうし、上げ過ぎるとスピードが遅くなってスケーリングした意味が「?」になってしまいます。実は、現在の電源電圧0.9Vというのは、結構限界に近い電圧にまで達しており、スケーリングはほぼゴールイン状態です。こういった先端的な微細MOSでは、従来のように完全にOFFすることを望めませんので、スイッチドキャパシタ技術に基づいたSAR ADCでは、なるたけ速く変換を終えてしまわないと、貯めておいた電荷がもれてしまうわけです。特に、温度が高くなるとモレが急増します。ちょうど穴の開いたバケツと同じで、速く運ばないともれて無くなってしまうワケです。

そもそも、最先端の製造プロセスで製造することが望ましいLSIは、規模が大きくて大量に消費されるものです。例えば、intelのプロセッサ、XilinxのFPGA、SamsungのDRAM、ToshibaのFlashなどです。他に、キヤノンのDigicとか、機器専用のLSIもそうです。ただ、こういうチップにまで無理してADCを載せる合理性があるかどうかは、よく分かりません。まぁ、研究する人も、色々自分で課題を見つけないと食っていけないですから、いろんな方向に挑戦しているようです。ボクら一般人が使って楽しいADCは、秋葉原の路上やDigikeyで売ってて、電源電圧が2.7V~5.5Vくらいのものですよね。

以上、すごく適当に書きましたけれど、ICの中身が分かると使うのがもっと面白くなります。SAR ADCの内部構造は結構巧みで面白いので、次の機会に書いてみようと思います。

本棚製作記(3)~組立て~

2010年5月10日 月曜日

ここまで、本棚の設計をして、材料と道具を揃えました。

本棚製作記(1)~設計~@馬坂コム

本棚製作記(2)~道具と材料の準備~@馬坂コム

次に、最初に作っておいた図面に従って、組立てをしました。ここでもう一度、

清く正しい本棚の作り方

を読んでおきました。詳細な組立て方法は、「清く正しい…」のWebを読んだ方が良いです。

まず、側面版に棚板を取付ける位置の目印を鉛筆で付けます。側面板の両面に目印が必要です。左右の2枚の側面板は、棚板の高さは同じですので、並べて線を引くと楽チンです。

そして、棚板に下穴を開けます。このとき、下穴はネジより大きくしておくとよいです。これも「清く正しい…」に書いてあったので実践したらその通りでした。下穴を開ける前に、近所に断りを入れた方が良いです。私は集合住宅の部屋の中でやったのですが、階下の人がビックリして見に来ました。

その後、側面板の1枚に、棚板を取付けます。棚板には木工ボンドを塗って、それから木ネジで締めました。この作業、2人いるとうまくいきます。ここまでくると、本棚っぽくなってくて興奮してきます。一気に背面板を取付けて、出来上がり!最後に、紙やすりでなでなでしておきました。

今回、塗装はしませんでした。塗装するとグッとプロフェッショナルな風格が出るのですが、面倒で挫折しました。まぁ、白木の本棚もそんなに悪くないです。後日、無印良品などに白木の家具が多いことに気づいて、まぁいいや。と納得。多分、コスト削減なのですが。塗装の話は、もう1つの棚の製作記には書く予定です。

組立ては、実は、材料の準備に比べると結構楽です。それなので、あせらず落ち着いて、丁寧に作業することをおすすめします。ボクなんか、あわてて作りたくなっちゃうタチです。小学校の時買ってもらったプラモデル、徹夜してでも作ってしまいたくなるのですが、そうするとだいたいうまくできませんでした。そのことを思い出します。