負電源三端子レギュレータを正電源用にするとドロップ分が負電源になる

今回はちょっとした発想の転換ネタ。
PIC等のマイコンとLM358等のOPアンプを使った、006P乾電池(9V)を電源とする携帯機器の電源回路を考えます。


回路の電源として5Vを正電源用三端子レギュレータ7805で作ると以下のような回路になります。


001.png


ここで、汎用単電源OPアンプLM358の入出力電圧範囲は0~VCC-2V程度なので3V以上のアナログ信号を直接扱えません。これに対してはレールtoレールOPアンプを使うなど、いろいろな対策が考えられます。しかし、今回のケースでは三端子レギュレータ以前の電源がバッテリーであるので三端子レギュレータを通さないものをOPアンプの電源とするという方法が簡単です。


002.png


LM358などの単電源OPアンプは負電源端子に入力した電圧まで出力をスイングできると謳っていますが、現実的には負電源付近での出力には非線形性がともないます。この対策には信号にバイアスをかける方法とOPアンプを両電源で利用する方法があります。
上で示した、正電源電圧に起因するOPアンプの入出力電圧範囲の上限が制約される問題に対する対策法と同じ考え方で、この負電源電圧に起因するOPアンプの入出力電圧範囲の下限が制約される問題にも対処できます。
この方法には、負電源三端子レギュレータ7905を正電源生成に使います。


003.png


負電源三端子レギュレータのドロップ分を回路上の負電源として使っていると考えれば、この方法は負電源を用意する対処法だととらえることができます。(回路のGND電位自体をバッテリーのマイナス端子電圧に対してバイアスをかけていると捕らえると、バイアス法とも考えられるでしょうか。)

負電源を生成していると考えれば、単電源OPアンプだけでなく両電源を要求するOPアンプ(たとえばOP07など)を使うこともできます。

負電源を用意する方法であるという考え方でまとめます。


004.png


上の図の一番左が、素の006P乾電池の9Vです。

これに対して左から二番目がごく普通に7805をつかって5Vを作るときの電位の関係です。乾電池のマイナス端子側をGNDと考えてこの点から安定した5Vを生成しています。この記事の2番目の回路ではドロップ分の4Vが加わった点(乾電池のプラス端子側)をVCC-2(9V)として使っています。

次に、左から3番目が負電源用三端子レギュレータ7905を普通の使い方で使ったときの電位の関係です。乾電池のプラス端子をGNDとして安定した5Vを負電源として利用します。この方法では、ドロップ分の4Vは利用されません。

最後に、一番右がこの記事で紹介した7905を正電源生成用に使いドロップ分を負電源であると考えるときの電位の関係です。負電源三端子レギュレータの出力端子をGNDであると考えています。

tag: 三端子レギュレータ 

隔日更新のはずだったのに・・・

言い訳させてください。
記事は書いてあったのです。

っていくか、記事じゃなくて目次のつもりでした。
カテゴリに「目次」ってのがふえてるでしょ?

電子工作関連の記事がどこに何があるか分からないので、目次だけの記事を作ってアクセスしやすくするつもりだったんです。

・・・Yahoo!ブログの5000文字規制め!

(確率×損失)の最適解からのズレ

私は基本的にIDが出ない板はあまり行かないのですが、珍しく興味を引かれる議論があったので拾ってみます。

【全力で】第33回鳥人間コンテスト【作業しろ!】スレッドより。
人力飛行機の事故対策におけるリソース配分の最適解について。

151 名前:NASAしさん[sage] 投稿日:2008/10/17(金) 00:39:00
>>147に釣られてマジレス

外れてはいけないものが外れた
折れるはずのないものが折れた
壊れるはずのないものが壊れた
これを事故と呼ばずなんと呼ぶ?

実機でペラが外れたらニュースで取り上げられたりで大事になるでしょ
たかが人力されど人力、事例がある・考えられる事故を回避するために全力を尽くさないとね

将来科学者技術者になりたいなら>>147は考え方を改めるべき

159 名前:NASAしさん[sage] 投稿日:2008/10/17(金) 11:06:09
>>151
すごく惜しいけど、決定的に間違っている。
事故が起こる可能性は絶対にゼロにはできない。

考えなければいけないのは、事故が起こる確率と
こうむる損害、および起こらない確率と得られる利得
のバランス。

161 名前:NASAしさん[sage] 投稿日:2008/10/17(金) 12:31:16
>>159
理論的にはそうかもしれないけど人間大きな被害を過大評価してしまうから難しいよね。

ちなみな151じゃないよ。

これらのレスの妥当性を議論する上で、次のようなモデルを考える。

事故の起こる確率をp,事故が起こった際の損失をqとする。
事故を回避するために割くリソースをxとおくとpはxの関数で表されるとする。ここで、避けるリソースには限界があるので0≦x≦1とする。
pの関数の形は具体的には分からないが、
・p(x)はxについて単調減少(リソースをたくさん割くほど事故発生確率も下がる。)
・dp(x)/dxもxについて単調減少(リソースをたくさん割くほど事故発生確率の減少率が下がる)
・0≦x≦1の範囲でp(x)=0となる点は存在しない(どんなにがんばっても事故発生確率はゼロにならない。)
という条件から、さしあたってのような形を考える。

p(x)=1/x

同様の条件から、事故発生時の損失を減少させるために割くリソースをyとおくとqはyの関数で以下のようにあらわされる。

q(y)=1/y

ここで、チーム全体でこの問題に割くことのできるリソースの和を1とするとx+y=1より

q(x)=1/(1-x)

と書き換えることができる。
以下のグラフは、p(x),q(x)を0.2≦x≦0.8の範囲で書いたものである。




これらより、事故発生による損失の期待値p(x)*q(x)をグラフにプロットすると以下のようになる。




このモデルでは、x=0.5のときに損失の期待値が最小になる最適解であることが読み取れる。

これに対して、事故による損失を過大評価したq1(x)について考えてみる。
q1(x)はすべてのxに対して、q1(x)>q(x)を満たすので

q1(x)=q(x)+0.2

というモデルを考えてみる。以下のグラフはq(x)とq1(x)をプロットしたもの。




次にp(x)*q(x)のグラフとp(x)*q1(x)のグラフを同時にプロットしたものを以下に示す。




p(x)*q1(x)のグラフが最小値を取る見掛けの最適解となるxは、p(x)*q(x)が最小値となる真の最適解となるxよりも右側へシフトしていることが読み取れる。このことから、事故発生時の損失を過大評価すればするほど、事故回避へリソースを配分する傾向が大きくなり、結果的に最適な戦略から離れていくことが分かる。

WEB2.0

まずはこれを見てください。ニコニコ動画なのでニコニコのアカウントを持っていないと見れませんが・・・まあ、普段からニコニコを見ない種類の人には、そもそもこのエントリは面白くないと思います。


ところで、このエントリのタイトルは、「WEB2.0」です。
WEB2.0についてWikipediaの該当記事には、
日本のITコンサルタントである梅田望夫は、著書『ウェブ進化論』で、Web 2.0の本質を「ネット上の不特定多数の人々(や企業)を、受動的なサービス享受者ではなく能動的な表現者と認めて積極的に巻き込んでいくための技術やサービス開発姿勢」としている
と書いてあります。

何が言いたいかというと、このエントリの最初に紹介した「鯨 Venus Say MIX Versionのコメント職人すごいでしょ」ということとも関係あるのですが、このねがてぃぶろぐもWEB2.0なブログなので読者の方からのフィードバックがあるといいな~と常々考えているわけですが、なかなかコメントとつけるの大変ですよね。技術的な話もありますし。

そうそう、「コメントしようと思ったらパスワードを要求されて困った。」という人をたまに見ます。要求されるパスワードというのは、コメントを書き込んだ人が(変換ミスとかがあって)コメントを消したくなったときに使うためのものです。なので、適当なフレーズを入力しておけば良いのです。

あと、自分のブログを持っている方で、ちゃんとした突込みを入れたい方はトラックバックでどうぞ。
というか、「トラックバックって何?」という方は3分でわかるトラックバックをどうぞ。

それから、どの記事にコメントして良いのか分からないネタを書き込みたいときは・・・う~ん・・・まあ、適当に判断してください。別にどの記事にコメントをぶら下げてもらってもかまいません。ま、本当に関係ないブログ全体を通して関係なさそうなコメントは容赦なく消しますけど。本当は私が掲示板を用意すればよいのでしょうが・・・ゲストブックじゃ掲示板の代わりにはなりませんよね・・・。

---
ごめんなさい。今月は隔日更新を目標にしていたのに、電子工作カテゴリのエントリの書き溜めが尽きたので日記でごまかしてみました。そして、あさっての更新も日記です・・・その次に至っては・・・本当にごめんなさい。

本棚を整備しました

今日(昨日)は、本棚を買ってきてトラ技とかを入れました。




こうしてみると、まったく読んでない本とかいっぱいあります。
何だよ・・・独習Javaって。開発環境すらねーよ。
しかし将来的にトラ技を入れるためのスペースはもって一年半ですね。

ICの未使用端子処理まとめ

たとえば、レベルシフトのためによく使われるCOMS4000シリーズの4050などは1パッケージに6回路入っています。しかし、ちょうど6回路すべて過不足なく使い切るということは、滅多にありません。
そこで今回は、デジタル回路の簡易レベルシフトのはなしを何回かにわたって連載している最中ですが、よく使うICの空きピンの処理について簡単にまとめます。

・デジタルICの未使用ゲートの端子処理
・未使用OPアンプの端子処理
・未使用コンパレータの端子処理

◎ デジタルICの未使用ゲートの端子処理



デジタルICの入力端子は、論理が不定にならないように固定します。
出力端子はどこにも接続せず、オープンとします。

◎ 未使用OPアンプの端子処理



汎用OPアンプはボルテージフォロワにして非反転入力端子をGNDへ。一部のOPアンプにはデータシートで未使用端子処理法が指定されているものがあります。

◎ 未使用コンパレータの端子処理



出力論理が一定になるように、入力電圧を同相入力電圧範囲から選択する。

◎ その他の未使用端子処理の基本
  1. データシートを参考にせよ
  2. 内部回路を考えよ
基本は、上の二つです。

tag: 標準ロジック OPアンプ 

PICマイコンのNOPとGOTOの消費電力

PIC12/16Fの小技として、NOPが2回分の時間稼ぎの代わりにGOTO $を使うとプログラム領域を節約できるというものがあります。
私はソースの可読性の観点からと、PAGEの概念があるPICで不必要なGOTOを行うことに抵抗があるという理由から、こういう場面ではNOPを使ってきました。
そんな折、2ちゃんねるの【初心者】PICでBEEP音を作りたい!!2【親切に】スレッドで以下のようなやり取りを見ました。

520 名前:技術奴隷[sage] 投稿日:2008/09/04(木) 05:38:55 ID:ECgj3Ptz
>>519
>あとさ、NOP、NOPはGOTO $+1にすると、容量が半分で済みます。

容量が有り余ってる時は大して意味が無いな。
逆にNOPで時間稼ぎした方が低消費電力になるメリットがある。
馬鹿の一つ覚えで凝り固まらず状況によって使い分ければヨロシ

536 名前:774ワット発電中さん[sage] 投稿日:2008/09/14(日) 15:47:50 ID:7tJFO2EZ
本当かどうか試しに 12F683 内蔵8MHz 5V で実験

LOOP GOTO $+1 ×32
 GOTO LOOPで 851uA

LOOP NOP ×64
 GOTO LOOPで 777uA

確かに1割位電流少なかった。
ただ最初 動作確認の為にGPIOをON/OFFさせてたら2mA位食ってたから
この程度 NOP/GOTO $+1の差なんてどうでもいい差だと思うが
重箱の隅が気になる方はどうぞってかんじ

重箱の隅が気になったので、追試してみました。条件は以下のとおり。
・PIC16F88使用
・内部クロック8MHz
・電源電圧は5V、電源は手持ちの安物スイッチング電源
・回路は以下のもの




◎ GOTO版

1.841mA




MAIN
FILL (GOTO $+D'1'),D'100'
GOTO MAIN


◎ NOP版

1.728mA




MAIN
FILL (NOP),D'200'
GOTO MAIN


私の行った追試の結果は、1.841mA(GOTO)/1.728mA(NOP)=1.065と1割とまではいかないながらもNOP版のほうが低消費電力ということでした。
二つの間で実験条件はほぼ変わらないので、定性的にNOP版のほうが低消費電力といっていいと思います。また、PIC16F88のデータシートによると、私の試験条件(VDD=5V,T=室温,Fosc=8MHz)での消費電流IDDは1.7mA(typ)ということなので、妥当な結果だと思います。




分かっていたことですが、この二つの消費電流の差はプルアップ抵抗一本分ぐらいの差なのであまり気にしても仕方ないかもしれません。ボタン電池駆動などの極省電力を目指すなら、SLEEPとWDTを使うのが常套手段でしょうし。

さらに追試をしたい方がいるかもしれないので、コードの全文を載せておきます。

goto.asm

        LIST    P=PIC16F88
INCLUDE "P16F88.INC"
__CONFIG _CONFIG1, _CP_OFF & _MCLR_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_IO &_LVP_OFF __CONFIG _CONFIG2, _FCMEN_OFF & _IESO_OFF

ORG H'0000'
INITIALIZE
BANKSEL(OSCCON)
MOVLW B'01110000' ;8MHz
IORWF OSCCON,F
BANKSEL(TRISA)
CLRF TRISA
CLRF TRISB
BANKSEL(ANSEL)
;A/D Converter OFF
CLRF ANSEL
BANKSEL(CMCON)
;Comparator OFF
MOVLW B'00000111'
MOVWF CMCON
BANKSEL(PORTB)

MAIN
FILL (GOTO $+D'1'),D'100'
GOTO MAIN
END


nop.asm

        LIST    P=PIC16F88
INCLUDE "P16F88.INC"
__CONFIG _CONFIG1, _CP_OFF & _MCLR_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_IO &_LVP_OFF
__CONFIG _CONFIG2, _FCMEN_OFF & _IESO_OFF

ORG H'0000'
INITIALIZE
BANKSEL(OSCCON)
MOVLW B'01110000' ;8MHz
IORWF OSCCON,F
BANKSEL(TRISA)
CLRF TRISA
CLRF TRISB
BANKSEL(ANSEL) ;A/D Converter OFF
CLRF ANSEL
BANKSEL(CMCON) ;Comparator OFF
MOVLW B'00000111'
MOVWF CMCON
BANKSEL(PORTB)

MAIN
FILL (NOP),D'200'
GOTO MAIN
END

tag: PIC アセンブラ 

PICといますぐにでも縁を切りたいのだが、なかなかそうもいかない10の理由

やねうらお氏のいますぐPICをやめてAVRに移行すべき10の理由というエントリがあります。氏はエントリの中で、以下のように書かれています。

いまから始めるなら間違いなくPICではなくAVRにするべきだろう。値段的にもPICと大差ないし、国内でもAVRマイコンをある程度調達できるようになってきた。では、いまPICをやっている人はAVRに移るべきか?迷っている人のために、「いますぐPICをやめてAVRに移行すべき10の理由」というのを書いてみる。

多くのPICユーザーが氏のエントリに納得しつつも、マイコンの乗り換えに積極的なユーザーは少なく、いまだPICユーザーは多いです。この事実に対して、わたしの状況を例に「PICといますぐにでも縁を切りたいのだが、なかなかそうもいかない10の理由」としてまとめてみました。
将来私と同じ思いをしたくないこれからマイコンを始めようとしている人とかの役に立てばいいな。

1) 日本のウエブで紹介されているのはPICがほとんど。
やはり、後閑さんの影響が非常に大きいと思います。
電子工作ネタをやるブロガーとしてはユーザー数が多いほうがアクセスしてくれる人も多いかという下心があるのも否めません。一方で、玉石混淆というか読む価値のないページもたくさん公開されているという問題もあります。(このページとかw)

話がそれかけましたが、参考にできるページが多いというのは心強いことです。

2) 現実世界の知人は、なぜかみなPICユーザー。
私の場合、PICを習得したのが大学のサークル活動でした。したがって、現実世界の電子工作仲間はその関係者になります。先輩もPICユーザー、後輩もPICユーザー、同級生もPICユーザー。趣味で電子工作をしているのだから、仲間と話が通じるというのは大事です。

3) ラインナップは実は悪くない。
実際わたしが必要とする性能ってpic12f683かpic16f88程度で何とかなってしまうものが多いのですよ。
必要とあればpic18fシリーズまで手を伸ばせばRAMの量もSDカードが扱える程度まで増えますし。使ったことないですけど、USB内臓やイーサーネット内蔵のものも存在します。

「PICでは不可能だ!」というアプリケーションを思い浮かばない限り新しいことは始めにくいです。

4) 欠点も許容できないほどじゃない。
pic12/16の欠点はもう本当にたくさんありますが、どうしても我慢できないのはPAGEとBANKの概念だけじゃないかと思ってます。
たいした規模のコードを書かないのなら関係ないですね。

5) これまでに書いたソフトウエア資源が無駄になるのは嫌だ。
6) まだ使ってないPICの在庫が・・・。
まあ、これはpicというよりユーザー側の心の問題ですよね。
あきらめろ。それはもはやただのゴミだ。

7) 乗り換えにしても、初期コストはやはりかかる。
乗り換え先がマイコンである限りは、最低限ライタが必要になりますね。
格安でライタが自作できることを謳うマイコンもありますが・・・ライタはpicのためにたくさん作ったのでうんざりです。
既製品を買うなら、後々のことを考えて純正品を。とすると、安いものでも数千円はしますよね・・・。

8) 魅力のある乗り換え候補も特に無い。
もういい加減食傷気味だよ、マイコンなんて内蔵メモリとパッケージと処理速度が違うくらいでみんないっしょじゃないか

9) 低機能さゆえの楽しみもある。
モジュールとライブラリをぺたぺたするだけで何でもできてしまうよりも自分で考えるほうが楽しいという考え方もあります。たいした例じゃないですが、PIC用簡易的PGAみたいなエントリはPGAを内蔵しているマイコンでは書けません。

10) 電子工作に必要な知識はマイコンだけじゃない。
私は未熟なので、電子工作に必要な知識がいろいろと足りてません。
正直コンデンサやコイルはまっとうに使ったことがありません。交流理論とかよくわかりません。半導体になるともはやぜんぜん使える気がしない。さらにその半導体が寄せ集まってアナログ動作してるのがOPアンプでしょ・・・
それに比べてマイコンなんて、まして、マイコンのコーディングのし易さなんて・・・ささやかな問題でしかないでしょう。すでにpicが使えているのならなおさらに。
少なくとも私には、新しいマイコンに手を出す前にやりたいことがたくさんあります。

やりたいことの具体例としては、マイコンに近い話ではCPLDやFPGAみたいなPLDの類、それなりに好評のdsPICでDSP、プログラムから離れてOPアンプやトランジスタを使ったアナログ回路、弱電から離れて専用ICをつかったスイッチングレギュレータ、何も実機を組まなくてもLTspiceでシミュレーション、せっかくオシロスコープ買ったんだからブレッドボードで基本的な回路の実験をするのもいいね。

---

さて、今回のエントリの言わんとしているところはつまりこうです。
「PICを捨てずにPSoCをはじめよう」
いろいろ考えたけど、いまはPSoCが面白そうな気がします。もちろん少ピンのちょっとした範囲ではpicの出番もなくならないと思いますしね!

それはともかく、将来的に言語でアナログ回路の開発ができるようになったりすると今のPICみたいにPSoCのアーキテクチャは変態だといわれるようになるのでしょうか?興味深いです。

---

またPICの話に戻りますが、何を血迷ったのか知りませんが秋月電子通商が何を意図しているのかよく分からないものの発売を始めました。よい子の皆さんは、買うとしてもこっちだと思いますが。

ちなみに私は、しばらく以前作ったWriter509でがんばることにします。でんし研のTADさんが、Writer509のPC側ソフトVer.2.53+aを公開されています。
Writer509の品種拡大オレンジ電子さんのWriter509はすばらしいソフトです。しかし、秋月さんで売られだした新しいPICに対応してないのが気になっていました。本家の更新を待つべきでしょうが色々と事情があるようなので勝手に亜流版を作りました(オレンジ電子さん、ごめんなさい)。22品種を追加しました追加したPICは、PIC10F220, F222PIC12F510, F609, F610, F615, F616PIC12HV609, HV610, HV615, HV616PIC12F631PIC16F636, F639PIC16F677, F685, F687, F689, F690PIC16F716, F785, HV785PIC16F882, F883, F884, F886, F887 です。

とのことです。ありがたい限りです。

tag: PIC PSoC 

レベルシフト 第四回:反転型とオープンコレクタ

連載レベルシフタ第四回目の今回は、出力が反転するタイプの簡易レベルシフト回路とこの回路を内蔵しているオープンコレクタ出力タイプのICについてです。




反転型のレベルシフタの動作原理は、典型的なエミッタ接地回路です。






動作は入力論理を反転させるインバータとなります。
R2でプルアップする電圧を変更することで、出力電圧を変更できます。
下は、逆に5Vから3.3Vへレベルシフトした例です。






オープンコレクタ出力

さて、この出力段のエミッタ接地回路をデジタルICに内蔵した出力形式をオープンコレクタ出力といいます。




オープンコレクタ出力型ICの出力論理は"L"とハイインピーダンスである"Z"の2通りになります。したがって、"Z"のときの論理を確定するためにはプルアップが必要になります。

ちなみに、バイポーラトランジスタではなくFETで作られているICの場合はオープンコレクタではなくオープンドレインと呼ばれます。

プッシュプル(トーテムポール)出力

オープンコレクタ出力の対義語はプッシュプル出力、あるいはトーテムポール出力になります。いわゆる普通の出力のことです。




オープンコレクタ型ではシンク方向のみ出力インピーダンスが低くなりますが、プッシュプル型ではシンク・ソース両方向で出力インピーダンスが低くなります。

スリーステート(トライステート)

オープンコレクタとプッシュプルの両方を組み合わせたバッファとしてスリーステートバッファがあります。
代表的なスリーステートバッファは74HC125や74HC126です。




東芝セミコンダクターのデータシートから真理値表を抜粋




スリーステートバッファはレベルシフトよりもバスの切り替えに使われることが多いです。このために、74HC540/541といった専用のバスバッファも存在します。
スリーステートのことをトライステートとも呼びます。

オープンコレクタの耐圧

ただし、オープンコレクタ(オープンドレイン)型の出力ならいつでもレベルシフトに使えるとは限らないということには注意が必要です。実際のところ74HCシリーズでは、オープンドレイン出力であっても3.3V→5Vレベルシフトはできません。
これは、出力端子の定格電圧の問題です。

以下は、東芝セミコンダクタの74HC07のデータシートからの抜粋です。




出力電圧VOUTの項目を見ると、上限がVCC+0.5Vとなっていることがわかります。
この理由は、以前議論したレベルシフト 第三回:ダイオードクリップ型と5Vトレラントのエントリの中にある「5V入力トレラント機能」と似たような話になります。




上のシステム図も東芝セミコンダクタの74HC07のデータシートからの抜粋です。この図から読み取れるように出力のFETのドレインからVCCに向かってダイオードが挿入されています。このため、プルアップによってVCC以上の電圧を印加してもダイオードでクリップされてしまいます。

これに対して、スタンダードTTLである無印7407は低圧から高圧へのレベルシフトに使うことができます。(とはいっても、3.3Vではそもそも動作しませんが。)
以下が、テキサス・インスツルメンツの7407のデータシートからの抜粋です。







SN7407のOutput Voltage, Voの項目を見ると、VCCの値にかかわらず30Vまでとなっています。内部回路図のOutput Yのところを見てもダイオードが挿入されていないのがわかります。

目次


デジタル回路の簡易レベルシフト
レベルシフト 第一回:各パターン一覧
レベルシフト 第二回:分圧型と入力レベル
レベルシフト 第三回:ダイオードクリップ型と5Vトレラント
レベルシフト 第四回:反転型とオープンコレクタ
レベルシフト 第五回:非反転型とトランジスタの双方向性

tag: レベルシフト インターフェース 

xyzzyでリージョンのTeX数式をPNG形式で出力

TeX形式の数式入力で画像出力では3種類の数式エディタを紹介しました。
しかし、blogの文章をテキストエディタで書いている人間にしてみればわざわざ別ソフトを立ち上げるのが面倒です。そこで、tex2png.batをxyzzyのlispに移植・・・というほどのことも無いですけど・・・してみました。

えらく中途半端な状態ですけど、ま、どうせ自分しか使わないので公開。

○スクリーンショット





○前準備
xyzzyのインストール
・TeX環境
platex,dvipsk,gswin32cにPATHを通しておく。Windowsではおそらく最もよく使われているであろうTeXインストーラ3にまかせておけば勝手にやってくれるはずです。

○インストール方法
1. tex2img.lという名前で、xyzzy/site-lisp/以下に保存。
(provide "tex2img");; Math TeX File to PNG(defun tex2img-file-to-png (file)  (interactive "fFile: ")  (long-operation    (call-process (concat "platex " file) :wait t)    (call-process (concat "dvipsk -D 1200 -E -o " "\"" (pathname-name file) ".ps" "\" \"" (pathname-name file) ".dvi" "\"") :wait t)    (call-process (concat "gswin32c -q -dWINKANJI -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pngalpha -dEPSCrop -r300 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sOutputFile=" "\"" (pathname-name file) ".png" "\" \"" (pathname-name file)".ps") :wait t)    ));; Math TeX Region to PNG(defun tex2img-region-to-png ()  (interactive)  (let ((temp (make-temp-file-name "_eq_" "tmp" (default-directory))) (buffer (selected-buffer)))    (write-region (mark) (point) temp)    (find-file temp)    (goto-char (point-min))    (insert "\\documentclass{article}\n\\pagestyle{empty}\n\\begin{document}\\[\n")    (goto-char (point-max))    (insert "\n\\]\\end{document}\n")    (save-buffer)    (delete-buffer (selected-buffer))    (switch-to-buffer buffer)    (tex2img-file-to-png temp)    (if (and         (delete-file temp :if-does-not-exist :skip)         (delete-file (concat (pathname-name temp) ".aux") :if-does-not-exist :skip)         (delete-file (concat (pathname-name temp) ".dvi") :if-does-not-exist :skip)         (delete-file (concat (pathname-name temp) ".ps") :if-does-not-exist :skip))        (progn          (delete-file (concat (pathname-name temp) ".log") :if-does-not-exist :skip)          )      (progn        (if (< 1 (count-windows nil))            (set-window (previous-window nil))          (split-window t))        (setup-temp-buffer (switch-to-buffer "*Error log*"))        (save-excursion          (goto-char (point-max))          (insert-file-contents (concat (pathname-name temp) ".log")))        (message-box "多分TeXの文法ミス。TeXのエラーログを表示します。"))      )    ))

2. .xyzzyまたはsiteinit.lに以下の様な感じに記述
(require "tex2img")(global-set-key '(#\C-x #\t) 'tex2img-region-to-png)

3. バイトコンパイルとかダンプファイルの削除とか

○使い方
コンパイルしたいTeX形式の数式をマークとポイントではさんでC-x tとか。

WEMC in NATS 2008観戦してきました

2008年10月5日日英学園 日本自動車大学校で行われたWEMC in NATS 2008が行われました。




今回は、Meisterの現役ともうひとつのTeam Comoestaの応援に行ってきました。

Team Comoestaのメンバーと車体Trilobit



Meisterのメンバーと車体DAW



この大会の目玉は日本育英大学の中にあるサーキットです。リンク先のコース紹介を見てもらえればわかると思いますが、コーナーとアップダウンのある面白いコースです。

もちろん、エコノの大会で渡川エリアとかはつかいませんよ?カエルさんはいましたが・・・



さて、このコースの特徴は登りと下りが比較的はっきりしたコース構成となっています。勾配も非常に大きいというほどではありません。したがって、電気的には回生ブレーキなどのオプションはあまり有効ではありません。そのため、車体自体の空理気性能や重量が勝敗を分ける要因になるようです。

レース前半は、Trilobitがいいペースを保ちながらトラブルもなく快走。




DAWもほとんど遅れずに追走。




2時間レースのうち1時間と少したったころでしょうか。こう言っては失礼ですが、ちょっとびっくりな事態になりました。

Meister現役のDAWの方が早く帰ってくるのです!


実質別のチームとはいえ、我がTeam Comoestaの車体が自分の後輩たちに抜かれていくのはうれしいやらくやしいやら複雑な気分です。いや、どっちのチームのメンバーも自分の後輩なんですが・・・。

まて、これは公明の罠だ。まだあわてるような時間じゃない。と、心を落ち着けようとしましたが。その後は大きな波乱もなく・・・































あと、カエルさんかわいい。













・・・なんと、DAWが5位入賞!



おめでとうございます。

MicrochipとON SemiconductorがAtmelを買収へ


マイコン大手の米Microchip Technology, Inc.は現地時間の2008年10月2日,米ON Semiconductor Corp.と共同で,米Atmel Corp.に対し買収提案を持ちかけた。Atmel社の株式を1株当たり5米ドルとして現金で買い取るというもの。2008年10月1日のAtmel株式の終値3.28米ドルに約52.4%のプレミアムを加えたとする。この提案通りになれば,買収総額は23億米ドルになる見込み。 買収はMicrochip社の主導で行うが,Atmel社の事業のうちメモリ事業とRF部品事業,自動車関連事業はON Semiconductor社が買い取るという。Microchip社はマイコン事業とASIC事業を買い取り,ASIC事業に関しては転売する方針である。Atmel社は8ビット~32ビットのAVRマイコン製品群を展開しており,Microchip社はこれらを加えて製品系列を拡充する考え。 Microchip社がAtmel社に送った文書によれば,2008年9月5日,Microchip社CEOのSteve Sanghi氏がAtmel社の経営幹部との会合を持ったという。しかし,その後,Atmel社の取締役会がMicrochip社の提案を検討する様子がなかったため,Microchip社は公式に文書で買収を提案するに至ったとしている。 Microchip社はこの文書の中で,Atmel社の経営にも意見を述べている。「Atmel社のASIC事業は全社の平均よりも業績が悪く,事業規模も成功に必要な大きさを持たない」「不要な工場・資産の整理が十分に進まず,利益率が当社のようなマイコンのトップ・メーカーに比べて低い」「直近の世界経済の悪化,米国経済の失速もAtmel社の業績向上の可能性を低くするだろう」「株価もこの2年で46%も下落している」などというもの。赤坂 麻実=Tech-On!

MicrochipはPICマイコンを作っているメーカーで、AtmelはAVRマイコンを作っているメーカです。
このブログを読んでいる人には言わずもがなかも知れませんが、PICとAVRは回路規模や値段が非常に近い、いわゆる競合商品です。日本の、しかもアマチュアでの事情しかわかりませんが、マイコンのできのよさだけで言うと後発であるAVRの方が上だが、シェアは先発であるPICの方が上といったところでしょうか。

元記事にはMicrochip社がAVRを加えて製品のラインナップを増やすというようなことが書いてありますが、私にはどちらかというと競合他社の製品を根本から排除するための手段に見えます。
実際、MicrochipがいまさらミッドレンジシリーズにAVRのアーキテクチャを取り込んだマイコンを投入しようとしているとは考えにくいですよね。18ピン以上のPIC16シリーズからの移行先としてすでにPIC18やPIC24がありますし。

どちらにせよ、まだ買収が決定したわけでもないわけですが・・・。

TeX形式の数式入力で画像出力

技術系の文章を書くブログでは、比較的複雑な数式を書きたくなることがあります。
しかしながら、直接的にページ中に数式を記述することが難しいという事実は、Yahoo!blogのwiki文法やhtml記法にかぎらず、一般的なウエブページに共通してある問題です。

そこで、数式は他のソフトウェアで画像出力したものをページ中に貼り込むというのが常套手段になります。
今回は、TeX形式で入力した数式を画像出力するソフトウエアを紹介します。

それぞれのスクリーンショットと、以下の数式をコンパイルして得られた画像サンプルを示します。

\int_0^\infty \frac{\sin x}{\sqrt{x}}dx = \sqrt{\frac{\pi}{2}}







普通のGUIで使える数式エディタです。無難に使いやすいと思います。
EPS/EMF/PNG/JPEG形式から選択して出力できます。例はPNG形式で出力したものです。
解像度も選択できます。







リンク先のTeXclipを起動をクリックすると起動します。ウエブアプリケーションなのでTeX環境を含めてインストールの必要がありません。一方でインターネット環境が無いと使えない、サーバーが落ちていると使えないなどの欠点もあります。出力形式はEPS/PNGの二つから選択します。限定的ながら解像度とフォントを選択することが出来ます。


cd "%~dp1"platex "%~nx1"dvipsk -D 1200 -E -o "%~n1.ps" "%~n1.dvi" gswin32c -q -dWINKANJI -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pngalpha -dEPSCrop -r1200 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sOutputFile="%~n1.png" "%~n1.ps""%~n1.png"






言わずもがなのバッチファイルです。バッチファイルの方が扱いやすいという人はどうぞ。

続・フォントなにつかってますか?

皆さんフォントなに使ってますか?

私は、ASCII文字に関しては以前書いたとおりBitstream Vera fontsを使っています。新しいのはDejaVu fontというのでしょうか。

それはいいんですけど、日本語のフォントをどうしたものかと。とりあえず今は、VLゴシックというのを使っています。
皆さん、日本語フォントは何を使ってますか?

アバランシェ・モード弛張発振器

折角デジタルオシロスコープを購入したので、LTspiceで解析できない回路の実験をして見ましょう。以下の回路は黒田徹著はじめてのトランジスタ回路設計の87ページよりアバランシェ・モード弛張発振器です。




この発振回路は、トランジスタのエミッタ接合のブレークダウンを利用しています。このためLTspiceではシミュレーションできません。また、この回路で使ったトランジスタは破壊されるため、他の回路に再利用することは出来ません。

out1とout2をACカップリングで見たのが以下です。

CH1(赤):out1 1V/div
CH2(黄):out2 1V/div
100us/div





デジタルオシロらしくシングルトリガで過渡領域を表示してみました。
DCカップリングで、CH1とCH2のGNDは同じ位置にあわせてあります。

CH1(赤):out1 2V/div
CH2(黄):out2 2V/div
250us/div





発振周波数は、以下のように表されます。





とはいえ、Vz,VpおよびΔVは、R2とトランジスタの特性に依存するうえ、周波数の安定性もよくないようです。

tag: トランジスタ 発振回路 2SC1815 PDS5022 

FC2カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRScilabmachikaneyamaKKRPSoCOPアンプPICCPA強磁性モンテカルロ解析常微分方程式トランジスタode状態密度インターフェースDOSPDS5022ecaljスイッチング回路定電流半導体シェルスクリプトレベルシフト乱数HP6632A温度解析ブレッドボードI2CR6452A分散関係トランジスタ技術可変抵抗確率論数値積分反強磁性セミナー非線形方程式ソルバ絶縁バンドギャップ熱設計偏微分方程式バンド構造GW近似カオス三端子レギュレータLEDフォトカプラシュミットトリガISO-I2CA/DコンバータLM358USBカレントミラーTL431マフィンティン半径PC817C数値微分アナログスイッチ発振回路サーボ直流動作点解析74HC40532ちゃんねる標準ロジックチョッパアンプLDAアセンブラFFTbzqltyイジング模型ブラべ格子開発環境補間量子力学電子負荷BSchパラメトリック解析単振り子基本並進ベクトル熱伝導繰り返しGGAMaximaTLP621ewidthSMP相対論抵抗位相図ランダムウォークスピン軌道相互作用六方最密充填構造不規則合金FETコバルト失敗談QSGWcygwinスレーターポーリング曲線スイッチト・キャパシタラプラス方程式gfortranキュリー温度状態方程式条件分岐格子比熱TLP552LM555TLP521三角波NE555過渡解析FXA-7020ZRWriter509テスタ詰め回路MCUマントルダイヤモンドQNAPデータロガーガイガー管自動計測UPS井戸型ポテンシャルawk第一原理計算仮想結晶近似ブラウン運動差し込みグラフ平均場近似fsolve起電力熱力学OpenMPスーパーセル固有値問題最適化最小値VCAシュレディンガー方程式VESTAubuntu最大値面心立方構造PGAOPA2277L10構造非線型方程式ソルバ2SC1815fccフェルミ面等高線ジバニャン方程式ヒストグラム確率論マテリアルデザイン正規分布結晶磁気異方性interp1フィルタ初期値ウィグナーザイツ胞c/aルチル構造岩塩構造スワップ領域リジッドバンド模型edeltBaOウルツ鉱構造重積分SIC二相共存ZnOquantumESPRESSOCapSensegnuplotmultiplot全エネルギー固定スピンモーメントFSM合金ノコギリ波フォノンデバイ模型ハーフメタル半金属TeXifortTS-110不規則局所モーメントTS-112等価回路モデルパラメータ・モデルヒストグラムExcel円周率GimpトラックボールPC直流解析入出力文字列マンデルブロ集合キーボードフラクタル化学反応三次元Realforce縮退日本語最小二乗法関数フィッティング疎行列シンボル線種ナイキスト線図陰解法負帰還安定性熱拡散方程式EAGLECrank-Nicolson法連立一次方程式P-10クーロン散乱Ubuntu境界条件MBEHiLAPW軸ラベルトランスCK1026MAS830L凡例PIC16F785LMC662AACircuit両対数グラフ片対数グラフグラフの分割specx.f

最新コメント
リンク

にほんブログ村 その他趣味ブログ 電子工作へ