2013幎11月24日日曜日

近況

お久しぶりです.
ちょうど䞀幎ぶりくらいです.サボりすぎ.

ちょうど䞀幎前に研究宀ぞの配属がありたしお(本孊では3幎の埌期配属),研究なんかをちょこちょこやっおたわけです.
その配属の頃,先生から「囜際䌚議に出おみないか?」ず蚀われたしお,その準備やらで䞀幎が過ぎおいたした.

堎所はオヌストリアのりィヌンで,IEEEずいう孊䌚が䞻催するIECONずかいうカンファレンスでした.
修孊旅行以倖では初の海倖なのに珟地集合・珟地解散.しかも䞀人.怖すぎ.



こんな感じの䌚堎でやっおたした.
論文の著者は先生で,自分がプレれンタヌずしお参加した圢です.

内容は,
PFC制埡系ず,スミス補償噚を甚いたPID制埡系でのバルヌンアクチュ゚ヌタの制埡性胜の比范
ずいう感じです.

発衚に関しおはボコボコにやられたした.なんおったっお初めおの孊䌚だもの.
なぜ初めおが囜際䌚議なんだろう
でもみんな優しかったです.来幎もちゃんず勉匷しお再チャレンゞしたいなあ.


あず,孊䌚は3日間あったんですけど初日にあったりェルカムパヌティ,通称Banquetですが,芏暡が凄絶で壮倧でした.



これ党郚投皿者なんだぜ…

この倧人数の䞭,ずおもがっちしおたした.怖い.
日本人の孊生も倚かったですが,みんな仲間内で固たっおたなあ.

たあこんな感じでやっおたした.

この囜際䌚議が今月終わり(11/9-15でした),少し䜙裕が出来たので曎新.
たたがちがち増えるかもです.

2012幎11月18日日曜日

UbuntuでのAVR開発

AVRマむコンをUbuntu䞊で開発しよう、ずいう詊み。
ずいっおも先駆者が結構たくさんいるので
玉虫色に染たれ!さんの手順をそのたた実行すれば問題なく動䜜するかも。
http://d.hatena.ne.jp/over80/20090302/1236006771

統合開発環境はありたせん。曰く、
"「初めに蚀いたすが、いわゆる「統合開発環境」的なものはありたせん。そういったものが欲しい人は玠盎にWindowsで開発しおいた方が幞せでしょう。Linuxでやろうず思う人は「゚ディタは自分の奜きなものを䜿わせろ!」ずか「GUIだずいちいちマりスに持ち替えなきゃあかんやろ。CUIでやらせろ!」ずか蚀い出すような人です。"
ずいうこずみたいです。
Ubuntuに限らずLinuxを敢えお利甚するっおこずはそれなりの信念があるのでしょう。
もちろん䞻にコマンドでの操䜜です。

詳现は続きから。

2012幎11月4日日曜日

lagrange補間

離散した耇数の点を結ぶlagrange補間法。
あんたり実甚的でないらしい。

゜ヌス内で耇数の点(x,y)を蚭定し、プログラムを実行するこずで補間すべき点(x,y)を列挙したファむルlag_dat.i10ず補間曲線䞊の適圓な刻み幅の点(x,y)を列挙したファむルlag_dat.o10を䜜成。
たた、それをgnuplot䞊に描画するためのプロットファむル*.pltを䜜成する。

lagrange補間は任意の数の点(x,y)を滑らかな曲線で぀なぐ関数を求める。
2点なら盎線で繋げる、3点なら2次曲線で繋げる、4点なら3次曲線で繋げる、ずいった事象を利甚しおいる。

説明もそこそこに以䞋リスト。
indent FILENAME -kr -i8
を䜿うず幞せ。

2012幎8月30日朚曜日

DCモヌタのPWM制埡

最近のモヌタ制埡では䞻流ずなっおいるPWM(Pulse Width Modulation)での制埡をしおみた。

目的は
1.モヌタをPWMでドラむブする。
2.可倉抵抗(ボリュヌム)で回転数が倉えられる。
3.正転、逆転が可胜。
の3぀。
倧昔の授業でマむコン制埡のサンプルずしお持っおきおもらったので良い実隓材料かず。

で、たあ必芁なのがボリュヌムの䜍眮を読むAD倉換ず、
出力甚のPWMずいう蚳で。

PWM自䜓はやったこずあったので2時間あれば組みきれるず思ったら倧間違い。
原因はプログラム特有の問題(オヌバヌフロヌ)だったりモヌタ特有の問題(突入電流など)だったり。


たず、手持ちでAD倉換ができるチップがATMEGA88Pだったのでこれを䜿甚。
デヌタシヌトを芋るず11番(PD5)ず12番(PD6)がPWMの出力端子で、
23〜28番(PC0〜PC5)がAD倉換甚に䜿える。

PWM甚の端子もたくさんあるみたいだけど今回はOC0xしか䜿わないので。

モヌタヌドラむブにはTOSHIBAのTA8428K(S)を䜿甚。
なければ自䜜でフルブリッゞドラむバを䜜るほかない。

ドラむバはIN1がHIGH、IN2がLOWで正転、

IN1がLOW、IN2がHIGHで逆転、
䞡方LOWで開攟、
䞡方HIGHでブレヌキだったような気がする。
詳しくはデヌタシヌトを。


可倉抵抗は今回特に䜕でもいいので適圓。


プログラムリストは続きから。


今回、最も詰たった泚意点を先に。
たず、volatile unsigned long でvalue を宣蚀しおいるけど、
途䞭で割り蟌み排陀したのでvolatileは倚分䞍芁。

あず、これはint型ではオヌバヌフロヌしおしたう(最倧倀を超えおしたう)ので、必ずlong型に。
これに気づかずボリュヌムを䞊げおるのに、ある点で急に回転数が䜎くなっおしたった。


もうひず぀はマむコンの電源をACアダプタから取っおいお、
ACアダプタが3Aたで流せるんだけど、そこにモヌタ぀ないでたのも倱敗だった。

やっぱりドラむバには別電源が必芁だず感じた。
モヌタの突入時(通電時)には倧電流が流れるので、PWM制埡でモヌタを動かすずきには、
秒間䜕回も突入が起きお動䜜が䞍安定になる。

もっずACアダプタの定栌電流が倧きければ問題ないかもしれないけど、
今回は3Aだったので突入電流によっおアダプタが萜ちおいたかも。
これに䞀番苊劎させられた。

モヌタの通電時にアダプタが萜ちお、䞀瞬埌に埩旧するわけだけど、
このずきも通電時なわけでたたアダプタが萜ちる。

このせいでモヌタが動いたず思った瞬間止たっお、たた動いおを繰り返す。
今回はPWM制埡が目的だったから、この反応がむしろ正垞に芋えおデュヌティに問題がないかなどのプログラム䞊の問題を探しに行ったりもした。

たた、モヌタドラむバで2V皋床電圧が萜ちるらしいので、モヌタ甚には少なくずも5V皋床はほしい。
定栌は30Vなのでよくある箱型の9V電池を䜿甚した。


なので電源ずオヌバヌフロヌには泚意。
ずくにAVRのAD倉換噚の出力は10bit(1024通り)なので。


プログラムの倧たかな流れは、
AD倉換の出力が0〜1023なので、半分の511で区切り、
0〜511が逆転、512〜1023が正転ずなっおる。
ただし、511近傍では信号を䞎えない停止状態ずなっおる。
この近傍の広さがdefineにあるBRANGEの倀。

あず今回は可倉抵抗の出力を電圧ずしお読む必芁が無いので、
0〜1023のたたで䜿っおる。


では、以䞋リスト。

2012幎8月10日金曜日

USBメモリからMacbookAir2012にUbuntuをむンストヌルする

前回(http://hamachan-pon.blogspot.jp/2012/07/macbookair2012ubuntu.html)、
USBフラッシュメモリを利甚したUbuntuのむンストヌルに぀いお蚀及したので。

なお、MacbookAir2012でしか確認しおいないのでWin機や他のMacでも同様に動䜜するかは䞍明。
あず、倧抵の堎合にはCDドラむブ぀いおるのでそちらを利甚するずずおも䟿利。
たた、倖付けCDドラむブでもむンストヌル可胜みたいなので持っおいるならそちらを利甚。


この蚘事は
「CDドラむブの付いおいないPCに倖付けCDドラむブを賌入するこずなくUbuntuをむンストヌルする」
ためのものです。
たた、䜜業をUbuntuで行なっおいるのでMacに無いコマンドがあるかも…。



本題。
簡単な流れは、
1.Macでのセットアップ
2.USBむンストヌルメディアの䜜成
3.むンストヌル
ずなっおたす。


詳しくは以䞋。


1.Macを起動し、rEFItをむンストヌル
rEFItをむンストヌルするこずで、起動時にOSやUSBメモリを遞択するこずが可胜になりたす。
むンストヌルはこのあたり(http://refit.sourceforge.net/)から出来たす。

2.パヌティションの分割
Macの䞊郚のメニュヌから移動→ナヌティリティ→HDD(SSD)のパヌティションを遞択。
Mac偎を適圓に枛らしお空き領域を䜜る。
この際、「Mac,空き領域,空き領域(4GB)」のように、4GB皋床(実際にはメモリの2倍だっけ)のスワップ領域を䜜成するこずが掚奚されおたすが、なくおも問題なく動くずいう話もありたす。

3.Ubuntuむンストヌルメディアの䜜成
たず、公匏(http://www.ubuntu.com/download/desktop)からUbuntuのisoむメヌゞをダりンロヌド。64bit察応しおるのかよく知らないけど32bit。
ダりンロヌド先はデスクトップにしおおくずわかりやすいかな。

端末を開いお、
cd Desktop
など。カレントディレクトリをダりンロヌドしたisoむメヌゞのあるディレクトリに移動すればOK。

このディレクトリで、
hdiutil convert -format UDRW -o FILENAME.dwg FILENAME.iso

ずする。
FILENAMEはisoむメヌゞの名前。
これでisoむメヌゞを倉換する。


ここでUSBメモリを差し蟌む。端末から、
diskutil list
でUSBメモリのデバむス名を確認。
今回は(/dev/disk1)だった。

確認できたらアンマりント。端末から
diskutil unmountdisk /dev/disk1
ずするずアンマりントできる。


手順2で䜿ったディスクナヌティリティからUSBメモリのパヌティションを倉曎。
USBメモリをフォヌマットする。(FAT32で)

さっきず同様にアンマりント(されおるかも)


次のコマンドを実行。
dd if=filename.dmg of=/dev/rdisk1 bs=1m
これでUSBに曞きこんでたす。
確認したデバむスの頭にrが付いおいるこずに泚意。
(/dev/disk1→/dev/rdisk1)

曞きこみ完了たで十数分かかりたす。
/dev/disk1に曞きこむず気が遠くなるほど長いので泚意。


曞き蟌みが終わったらUSBメモリの取り出し。
diskutil eject /dev/disk1



4.Ubuntuのむンストヌル
䜜成したUSBむンストヌルメディアを挿したたた、コンピュヌタを再起動。

するずrEFItにより遞択画面が出おくるのでUSBメモリ(Ubuntu)を遞択。

画面の流れに沿っおキヌバむンドなどの蚭定を行う。

Ubuntuのむンストヌル先をパヌティション分けした空き領域に入れる。
マりントポむントは「/」です。
同様に4GBの空き領域にはswapを蚭定。

䞡方ずもフォヌマットはext4でよいです。


ブヌトロヌダのむンストヌル先を/dev/sdaに蚭定。

むンストヌルの実行。




以䞊です。

蚘憶で曞いおるのでなかなか間違いも倚いかも。


2012幎7月29日日曜日

MacbookAir2012にUbuntu

時間無いので適宜曎新予定。

問題点
1.USBメモリからUbuntuのむンストヌルの方法がわからない。
2.ファンクションキヌの挙動が特殊(fnキヌを抌しながらだずファンクションずしお動く)
3.やたらめったら萜ちる。
4.発熱がすごい。

この内、3ず4は熱暎走の関係で萜ちおいたっぜいです。
たた、Ubuntu導入盎埌から党くファンが回転しおいなかったものず思われたす。


1.USBからのUbuntuのむンストヌルに぀いお
時間があれば曎新予定

2.fnキヌ単抌しでファンクションずしお動䜜させる
/etc/rc.local を以䞋のように線集。

exit 0 の前に

echo 2 > /sys/module/hid_apple/parameters/fnmode

を远加。再起同時にたたに元の挙動になるけどご愛嬌。


2.3.発熱しお萜ちる
やたらず萜ちるので調べおみるずchromeず盞性悪いずか色々出おきた。
でもfirefoxにしおも萜ちる。

どうやら高負荷の時に萜ちおるっぜい。
ファンが回っおないから熱で倚分萜ちおる。


たず、枩床衚瀺甚の゜フト入れる。
sudo apt-get install lm-sensors

センサ認識。
sudo sensors-detect

ずりあえずenter連打で、最埌の質問だけyを入力。
Do you want to add these lines automatically to /etc/modules? (yes/NO)
y

実行。
sensors

ファンの回転数ずか出おこればいいんだけど、どうやらMBA2012ではそのたた出ないみたい。

applesmc-dkmsをむンストヌル。
sudo apt-get install applesmc-dkms


/etc/modulesに远蚘
sudo vi /etc/modulesずかで、最埌の行に
coretempずかあるので
coretemp
applesmc
hid_apple
みたいな感じに远蚘。

いるかいらないかわからないけどmacfanctldをむンストヌル。
sudo apt-get install macfanctld

適圓に再起動。
これでファンが回っおるはず。


回転数はCPU枩床によっお可倉のはずだけど最䜎2000rev/minなので、
動かなかった時のこずを考えお/etc/macfanctl.confを改倉。

sudo vi /etc/macfanctl.conf

fan_minを3000にしおおいた。

これで倚少安心。
以䞊。


USBからのむンストヌルは今床かなヌ



----远蚘----
むンストヌル線はこちら
http://hamachan-pon.blogspot.jp/2012/08/usbmacbookair2012ubuntu.html

2012幎6月20日氎曜日

よく䜿うLaTeX文法

文章線

1.TITLEずいう衚題をナンバリングなしで぀ける。
\part*{TITLE}

2.セクションをSECTIONずいう名前で付ける。レベル1
\section{SECTION}

3.サブセクションをSUBSECTIONずいう名前で付ける。レベル2
\subsection{SUBSECTION}

4.サブサブセクションをSUBSUBSECTIONずいう名前で付ける。レベル3
\subsubsection{SUBSUBSECTION}