Yahoo!ジオシティーズ ゲストブック 戻る  

   2008/5/16 (Fri) 20:05:37
[名前] :   yumi-AVRbeginner
[URL] :   
[コメント] :   初めまして。当サイトを知りAVRを動作させてみたくなりました。まだAVRStudio/WinAVRをインストールしたばかりの初心者です。(AVRStudio:4.14、WinAVR20080430)どなたかご回答を頂ければ幸いです。
WinAVRでC言語プログラムをコンパイルした場合にそのアセンブラ結果を見る事は可能でしょうか?可能であれば方法(参照URLでも可)を教えて下さい。
ATmega32のプログラムを作成したく思います。WinAVRの初心者がプログラミングの上で見た方が良い、推奨のサイト(リンク先)等があれば教えて下さい。・・・組込みプログラムの割込み記述、特有の関数(BV等)の特有の記述方法例を理解してたく思います。
   2008/5/16 (Fri) 23:04:01
[名前] :   TAD
[URL] :   
[コメント] :   yumi-AVRbeginnerさん、今晩は。
AVR StudioのメニューからProjectのConfiguration Optionsを表示させ、右下のGenerate List Fileにチェックを入れると.LSSという拡張子でCプログラムの結果ファイル(アセンブラとHEXデータ)ができます。

参考サイトはAVR Wiki(http://avrwiki.jpn.ph/wiki.cgi)をお勧めします。
   2008/5/17 (Sat) 00:58:39
[名前] :   kuman
[URL] :   
[コメント] :   yumi-AVRbeginner さん、こんばんは。

お読みいただきありがとうございます。

>WinAVRでC言語プログラムをコンパイルした場合にそのアセンブラ結果を見る事は可能でしょうか?
デフォルトで .lss ファイルができますので、それをご覧ください(私はアセンブリがわかりませんが)。

>組込みプログラムの割込み記述、特有の関数(BV等)の特有の記述方法例を
「あきぼうのAVRで遊ぶ日々」のあきぼうさんが書いておられるlibcの翻訳版とデータシート(日本語)をお勧めします。

機会があるときには「C言語(WINAVR)メモ 」もご覧ください。
   2008/5/17 (Sat) 14:35:51
[名前] :   yumi-AVRbeginner
[URL] :   
[コメント] :   TADさん、kumanさん、早速のお返事ありがとうございます。
.lss ファイルの確認ができました。
ありがとうございました。
(アセンブラコードが記述されていました。)
参考サイトの方も少しづつ理解したく思います。

さて、返信に記述して恐縮ですが、
WinAVR のソースエディタに行番号は表示されない事に悩んでいます。
行番号を表示する方法は無いのでしょうか?
(あちこちのメニューをいじりましたが、それらしき設定は見当たりませんでした。。。)
   2008/5/15 (Thu) 21:25:45
[名前] :   kawana
[URL] :   
[コメント] :   0.2UEWを販売している共立xxxさんのURL?
0.2UEWを販売している共立xxxさんのURL教えてください。
   2008/5/15 (Thu) 22:21:21
[名前] :   kawana
[URL] :   
[コメント] :   すみません、分かりましたので。
   2008/5/15 (Thu) 23:06:48
[名前] :   kuman
[URL] :   
[コメント] :   0.2mmUEW

しばらく前に3回目の0.2mmUEWを買いました。我ながらよく使ったものだと思います。100mを消費したことになります。

ところが思うところがあって、0.26を使ってみました。0.2にはない「腰」があって、場合によってはこちらが使いやすいかとも思います。もちろん0.8mmピッチのQFPの配線ですが。

一度お試しを。
   2008/5/7 (Wed) 07:11:08
[名前] :   kawana
[URL] :   
[コメント] :   WinAVRのInstallの方法
installの方法が、判らなくなりました。
どのように、ル−トで行くのですか?
(途中で枝道に行ってしまいます。)
   2008/5/7 (Wed) 08:17:57
[名前] :   kawana
[URL] :   
[コメント] :   済みません、出来ましたので。
ダブルクリック、シングルクリック?
ファイル開くで、出来ました。
   2008/5/7 (Wed) 08:33:45
[名前] :   kuman
[URL] :   
[コメント] :   kawanaさん、おはようございます。

昨日まで無意識にしてきたことが、突然思い出せなくなることがときどきあります。自分のWEBを見直して、「ああ、そうだったのか」とか。

備忘メモはつい省略して、自分で不可解になります。WEBに書いておいてよかった、と思うことがしばしばです。
ついでに、パスワードや暗証番号はメモしておかないと確実に忘れるようになりました。
   2008/5/7 (Wed) 15:36:13
[名前] :   kawana
[URL] :   
[コメント] :   このごろの評価toolは
このごろの評価toolは、ID,PASWORDが必要なのですね
時々、そのWEBサイトに行きたい時、サイトAddressが
思い出せません。お気に入りで記憶するか、メモして
おくと、時間の節約になりますね。
とにかく、メモが必要である年齢に達してしまいました。
   2008/5/10 (Sat) 11:19:47
[名前] :   senshu
[URL] :   
[コメント] :   URLを覚えておくのは、相当に記憶力のある方でも
無理だと思います。

私も当然覚えられないので、検索のお世話になります。
2,3のキーワードを入力すれば、ほぼ最初の検索ページ
に表示されます。

ちなみに、「senshu AVR」, 「senshu UBW」でも
私のWebページにたどり着けます。
(ありがたいことに、全て英字にも関わらず、Google
のTOPに表示されるようです)
   2008/5/10 (Sat) 16:29:14
[名前] :   kuman
[URL] :   
[コメント] :   URL

我が家のコンピュータでは、ブックマークが何層にもなって非常に沢山の登録があります。

それに慣れているので、出先ではアクセスに困ります(笑
   2008/4/16 (Wed) 18:12:05
[名前] :   すん
[URL] :   
[コメント] :   mega88を買ってきました。BASCOM-AVRだとmega168ではコンパイルサイズが大きくなります。O-Familyさんによるとプログラムエリアが大きくなると相対ではなく絶対番地アドレッシングになり、サイズが大きくなるそうです。
サイズ制限つきの無料のコンパイラでは、必要最小のmega xx8シリーズを使った方がよいようです。
   2008/4/16 (Wed) 22:39:56
[名前] :   kuman
[URL] :   
[コメント] :   mega88はどこで買われましたか?

秋月では安いですね。大きなプログラムは書けないので、自分流には48でも良いかな?と思うところです。
ただ、88はSRAMが大きいので、大きさは同じだし、値段も変わらないからmega88は使いやすいでしょうね。

エリアが大きくなるとプログラムが大きくなるとは知りませんでした。BASCOMでは4kBだったでしょうか。

次回の秋月注文時には買おうと思っています。
   2008/3/31 (Mon) 18:30:19
[名前] :   すん
[URL] :   
[コメント] :   こんにちは
今日はマザーボードを壊してしまって同じマザーボードを買ってきてようやく今、復活したところです。FANのコネクタを電源ONのまま挿して1ピンずれていてショートさせてしまいました。12Vが出なくなりました。

ついでにCPUファンを山羊の超静音ファンにしました。2ボールベアリング、風量16.2CFM、1000rpm、11dBだそうです。流体軸受けでなくても静かです。しっかりした設計ならボールベアリングで長寿命なのがいいようです。

このような低風量が許されるのはCore2Duoだからだと思います。Pentium4なら、あっちっちの状態で暴走するかもしれません。現在部屋の温度が20度で、CPUは42度です。インテルのユーティリティーソフトによると54度までは通常温度のようなのです。夏になったら温度を見て1つ上の風量のFANにするかもしれません。
   2008/3/31 (Mon) 21:11:06
[名前] :   kuman
[URL] :   
[コメント] :   すんさん、こんばんは。

PCを新しくされたのですね。
わかっていても、手が動いてあとで後悔する…のは残念ですが良くあることですね。

新しいのは気持ちがいいでしょう。私の方は当分ご縁がなさそうです。骨董品で動いています。
   2008/3/31 (Mon) 22:54:43
[名前] :   すん
[URL] :   
[コメント] :   壊れたのとまったく同じマザーボードなので新しみはないです。(笑)

マイコン関係でいうと、電源の逆挿しで液晶を壊したことあります。一瞬で壊れますね。他はそうでもない気がします。壊れやすい部品というとタンタルコンデンサ等は絶対使いません。単品で買ったことないです。

OSコンはどうですか?タンタルと同様なのでしょうか。
   2008/3/25 (Tue) 00:53:40
[名前] :   kawana
[URL] :   
[コメント] :   今晩は、ご無沙汰しております。
私は、台湾製のボール盤(18000¥)を使用しています。DIYで買いました。今なら円高で、安いかも?
もう一つは、鉄道模型など売っているところで、
ピストル型のドリル組み立てキット(2500¥)を
買い使用しています。
これは、優れもので、
1.ドリル歯が0.8mmから3mmくらいまでくわえられる  チヤック4個付き
2.チヤックとモーターとの接続は遊星ギヤ使用
3.電池UM3x4(6V)
コネクタ取り付け穴などこれで簡単に開けられます。
   2008/3/25 (Tue) 02:12:26
[名前] :   kuman
[URL] :   
[コメント] :   久しぶりです。すんさんの掲示板では読ませていただいていますが。

ボール盤があるとよろしいですね。場所があれば是非欲しい道具です。
あと、小型の丸鋸(木工用)があるとずいぶん工作がらくになると思います。
   2008/3/17 (Mon) 23:17:13
[名前] :   宮前
[URL] :   
[コメント] :   「小型モーターでドリル」
3年前 kumanさんに相談して、購入したピンバイス
http://www.rakuten.co.jp/seasonproshop/465973/495930/496075/#TP-26
ですがマブチモーターRE-280では、パワー不足でカラスエポキシ基板ではモーターが止まってしまい殆ど出番がありませんでした。
昨年軸径2.3mmのモーターRS−380SH(パワーがありそうなのを)を購入し軸径2mmに削りましたが、軸のブレが大きくそのままになっていました。
本日モーター軸を削り調整し、ブレが大分小さくなりました。1mmドリル(昔秋月で買った再研磨ドリル)で試すとガラスエポキシ基板に無事穴が開きました。もう少しブレを小さくしたいのですが、モーター軸を正確に削るのは難しいですね。
ドリルスタンドを簡単に作れないかと思っています。
   2008/3/18 (Tue) 00:10:27
[名前] :   kuman
[URL] :   
[コメント] :   お読みいただき、ありがとうございます。

このモータは用途は不明で、デジットで買ったものです。
12Vで負荷をかけると0.8Aぐらい流れるようですからかなり強力だと思います。ブラシも、たしか、黒鉛のものをスプリングで押しつけていたと思います。

真鍮のスペーサはかなり厚みがあるのですが、機械油をつけながら手持ちで2.4mmのドリルであけました。
感覚的には1.6mmガラエポの比ではなく、どうかな?と思いながらも頑張っているとあいてしまいました。

いまでも600円でデジットに出ています。スペーサもデジットで購入したものです。
   2008/3/18 (Tue) 10:51:03
[名前] :   宮前
[URL] :   
[コメント] :   「型番と軸径は」
モーターの型番は、写真でRS−55までは読めましたがその後が読めませんでした。 教えていただけますか?
モーター軸は、3.2mmを3mmに削ったのでしょうか。
デジットなら通販で購入できるかもしれないので。

私のピンバイスは(kumanさんおもおそらく同じ)、モーター軸と接する部分が短いので、ピンバイス全体が長いこともあり、どうしてもぶれてしまうのでしょうね。
スペーサーは、基板等を固定するのに使うやつですね。
   2008/3/18 (Tue) 13:30:20
[名前] :   kuman
[URL] :   
[コメント] :   宮前さん、こんにちは。

モーターのシールには 
RS−550SH DD518325 とあります。

外径37.2mm、本体の長さ57mm、シャフト全長85mm、
シャフトの駆動部分の長さ19mm、シャフト径はカタログで3.175mmのようです。

googleにはかなりたくさん出ているようです。模型飛行機まで飛ばしているのですね。
http://www.tradeprince.com/catalogs/361/999/200609/24/skmcl16067/284082.html

http://www.kysanelectronics.com/web_products/datasheet_display.php?recordID=1513

カタログにはいくつかの種類があるようですが、そのうちのどれかはわかりません。

なお、スペーサーは内径3.15mm、長さ40mmのものです。
   2008/3/18 (Tue) 22:51:51
[名前] :   宮前
[URL] :   
[コメント] :   kumanさん こんばんは
>シャフト径 3.175mm
>スペーサーは内径3.15mm、
シャフトを少し削っただけで、スペーサーに入りそうですね。
   2008/3/19 (Wed) 19:11:25
[名前] :   kuman
[URL] :   
[コメント] :   RS−550SH 

飛行機を飛ばしているのは別物のようですね。

WEBのデータシートとスペックを調べると、
外観は同じなのですが、電気特性は違うようです。
特別仕様かもしれません。
使用しているものは電流値が小さすぎます。
それでも外径6mmのスペーサを指でつまんでモータを止めることはできません。
   2008/3/21 (Fri) 22:53:57
[名前] :   ノンノ
[URL] :   
[コメント] :   宮前さん こんにちは
ピンチャックを正確に付けるのは難しいですね。
他にはサンフラッグなどのスピンドルに
モーターをを繋ぐと(ジョイントでフリーにして)
比較的ぶれが無くなります。

以前はそれを使っていましたが今はプロクソンのハンドルーターを使っています。
   2008/3/23 (Sun) 12:27:22
[名前] :   ノンノ
[URL] :   
[コメント] :   サンフラッグはワイヤー差込式ですが上手くするとモーター直結もできます。
サンフラッグ 750-D
http://store.shopping.yahoo.co.jp/mandara-ya/3409.html
http://item.rakuten.co.jp/tuzukiya/750-d/
   2008/3/25 (Tue) 07:18:03
[名前] :   宮前
[URL] :   
[コメント] :   「フエキシブル」
ノンノさん こんにちは
フレキシブルなら、モーターのジョイントで多少ぶれても
ドリルのところでは、ブレがないというわけですね。
   2008/3/26 (Wed) 12:12:57
[名前] :   ノンノ
[URL] :   
[コメント] :   と言うか、ベアリングブロックがしっかりしているので、
安定すると言うことでしょうか?
奥の手は、スピンドルを回しながらコレットチャックの内面を研磨して精度を出せます。
   2008/3/16 (Sun) 19:45:06
[名前] :   kuman
[URL] :   
[コメント] :   J-FETの定電流回路

2SK30Aを使って電源電圧の変化でどれほど電流が変わるかを測定してみました。
http://www.geocities.jp/kuman2600/m9jikken.html#12
   2008/3/24 (Mon) 09:22:32
[名前] :   jujurou
[URL] :   
[コメント] :   電流量は電圧以外にも、温度によって相当変化します。

私はぺるけさんのHPで紹介されている選定冶具を使って
ペアを選別した事がありますが、エアコンをOFFにしてなるべく短時間で測定した経緯があります。

http://home.highway.ne.jp/teddy/tubes/tester.htm
   2008/3/12 (Wed) 18:16:43
[名前] :   すん
[URL] :   
[コメント] :   おもしろそうなストリーミング放送があるようです。
http://www.tv-bank.com/kibo/

宇宙の映像もリアルタイムで見れる時代になりました。
   2008/3/14 (Fri) 12:08:13
[名前] :   kuman
[URL] :   
[コメント] :   おもしろそうですが。

PCのスペックが二昔前のものなので…。
   2008/2/29 (Fri) 15:14:22
[名前] :   すん
[URL] :   
[コメント] :   秋月ジャンク基板でRTCを実験していますが、AVRのみで擬似RTCができますね。その際に、遅れ進みがでたときに、1分毎に余分にクロックをカウントするとか、減らすようなことをすれば補正になりますね。補正の仕組みは考えると面白いです。
   2008/2/29 (Fri) 21:00:27
[名前] :   kuman
[URL] :   
[コメント] :   昔、その補正を「うるう年補正」と呼んでいたことがありました。

4年に一度1日多くする。
すると多くなりすぎるから、100年に一度多くするのをやめる。
今度は少なくなり過ぎるから、400年に一度は多くする日を復活する。
めでたしめでたし。

インチ規格のプリンタでmm規格の表に合わせるため、同じようなことをしていました。
   2008/3/4 (Tue) 14:02:21
[名前] :   すん
[URL] :   
[コメント] :   そういえば、うるう秒は今年はあるのでしょうか。
   2008/3/4 (Tue) 21:41:51
[名前] :   kuman
[URL] :   
[コメント] :   うるう秒

今年はないようです。最近の10年ほどは少ないようで、これは地球の自転の遅れ方が少なくなったということになるのでしょうか。

とすると、地球の自転の遅れ方はずいぶん気ままなものということになりますね。
   2008/2/17 (Sun) 00:01:49
[名前] :   ノンノ
[URL] :   
[コメント] :   何とか「timer0」のPWMがエラー無しになりました。
(すんさんの処に載せました)
   2008/2/15 (Fri) 21:08:17
[名前] :   kuman
[URL] :   
[コメント] :   mega64

のトレーニングボードを作ってみました。fuseをオリジナルモードにして、まずはLEDピコピコです。

ウエイトルーチンをforループで作ると最適化で変わりますから、愛用のインラインアセンブラによる例のルーチンで置き換えました。

が、エラーは出ませんが何とも奇妙な動きをします。引数があるとことで不連続に変化するほか、何とも言えない挙動を示します。

winavr20060421版では正常です。
mega48、8では20071221版でも使えたルーチンなのですが。
   2008/2/16 (Sat) 08:08:09
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   これは、chanさんのfatfilesystemで使っているものですね。
それ以外で使ったことがないので、驚きました。

確かに、ヒューズの初期設定の件、不親切ですね。
プロの人は、どうしているんだろうか。
開発時に必ず確認するんだろうか。
   2008/2/16 (Sat) 22:26:48
[名前] :   kuman
[URL] :   
[コメント] :   mega64

実はChaNさんのfilesystemを見て、SDカードを読み書きしてみたいと思って購入したものです。

カード単体のアクセスはmega8で緒につきましたのでそのままになっていました。

rom,ram,ioが他のAVRに比べて余裕がありますから、秋月の値段から考えて使えるデバイスではないかと思っているところです。ぼちぼちと研究しましょう。

ところで、ぼのぐらしさんはfilesystemを完成されましたか。
   2008/2/16 (Sat) 23:15:05
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   完成?

動いたという意味では、二枚目ので最初から動いています。サンプルプログラムを少しずつ改造しているのは、サイトに書いているとおりです。
このあたり、μClinuxと似たところがありますが、
ちょっと複雑さのレベルが異なります。
やっぱり、なんといっても、LinuxーOSをブートさせるという大技がありますから。
   2008/2/13 (Wed) 14:45:56
[名前] :   宮前
[URL] :   
[コメント] :   Atmega64L 不調
このソース(LEDチカチカ)で
http://yokohama.cool.ne.jp/s8426cl/demo.txt
7ライン目をコメントにすると動作せず
7ライン目をコメントを外すと動作します。
ヒューズビットは、L:11100100、H:10−11001 (1Mhz- 8Mhzのみ変更) としています。
 これ以外でも、USART、タイマーなども同様に、ramにダミーのエリアを確保しなければ動作しません。
電源は、3.3Vと5Vとで動作に変わりはありません。
winavrは、2006年ごろのです。
何か、気づくことがあればお願いします。
   2008/2/13 (Wed) 21:16:01
[名前] :   kuman
[URL] :   
[コメント] :   ポートDのbit7にLEDをつけて

無駄を除くと下のように。(実験していませんが)

#include
int main (void)
{
long i,j,k,c;
DDRD = 0x80; // bit7だけ出力に
while(1) {
PORTD = 0x80; // bit7だけ1に
for(i=0;i
   2008/2/13 (Wed) 21:19:23
[名前] :   
[URL] :   
[コメント] :   ポートDのbit7にLEDをつけて(書き直しです)

無駄を除くと下のように。(実験していませんが)
<は半角にしてください。

#include
int main (void)
{
long i,j,k,c;
DDRD = 0x80; // bit7だけ出力に
while(1) {
PORTD = 0x80; // bit7だけ1に
for(i=0;i<320;i++){ // 時間稼ぎ
for(j=0;j<320;j++){ c++;
}
}
PORTD = 0x00; // bit7を0に
for(i=0;i<320;i++){
for(j=0;j<320;j++){ c++;
}
}
}
}
   2008/2/14 (Thu) 12:28:31
[名前] :   宮前
[URL] :   
[コメント] :   kumanさん
お手数かけました。
見ていただくソースとしては、不要部分があり、適当ではありませんでした。化粧直しして念のため動作確認しました。
http://yokohama.cool.ne.jp/s8426cl/demo1.txt
結果は前と同じで、5ラインめにあるようにramにダミーのエリアを確保しなければ動作しません。
   2008/2/14 (Thu) 18:28:25
[名前] :   TAD
[URL] :   
[コメント] :   標準ではMega103動作
宮前さんのプログラムは悪くないと思います。
Mega64はデフォルトではMega103互換動作になっていて、
拡張ヒューズを0xFFにするとMega64本来の動作になります。
RAMの番地も0x60から0x100に変わるので多分これだと思います。
   2008/2/14 (Thu) 21:30:16
[名前] :   宮前
[URL] :   
[コメント] :   TADさん はじめまして
拡張ヒューズは、Mega103互換動作になっていました。
Mega103互換動作の指定があるのはちらっと読みましたが、まさかデフォルトだったとは.....。
拡張ヒューズを書き換えて、今LEDがチカチカしております。
ありがとうございました。
   2008/2/14 (Thu) 21:39:52
[名前] :   kuman
[URL] :   
[コメント] :   標準ではMega103動作

聞いてはいましたが、自分では使ったことがありませんので気づきませんでした。

データシート(日本語)を見ても、日本語の理解に苦しみます。
一般にデフォルトの状態をわかりやすく書いて欲しいと思います。
   2008/2/11 (Mon) 00:30:40
[名前] :   ノンノ
[URL] :   
[コメント] :   kumanさんのページで
AD変換とPWM制御(ATtiny26L)
PWMの実験(ATtiny26L)
を見つけました。
これは回路図は「AD変換とPWM制御」
で「PWMの実験」も出来ますのでしょうか?
ATTiny2313をターゲットに考えますと
レジスタの設定が煩雑で面食らっております。
   2008/2/11 (Mon) 03:16:13
[名前] :   kuman
[URL] :   
[コメント] :   PWMはデータシートと格闘しながら使ってみましたので頭の中でこなれるほどには理解できていません。

ただ、レジスタに適当な値を書き込みますと専用I/O端子からPWM出力が得られるようです。

tiny36と2313では微妙に違うようで、tiny2313については
http://www.geocities.jp/kuman2600/n0ktm.html#5
tiny2313の高速PWM  
で実験しています。

回路図は OC0A、OC0B、OC1A、0C1B が出力端子となっているだけでその他は何も必要ありません。
単純実験なら0C0A端子にLEDを付けるだけです。
   2008/2/11 (Mon) 16:10:36
[名前] :   ノンノ
[URL] :   
[コメント] :   OC0A、OC0Bを出力端子にした場合に限定しまして、
内蔵クロック4MHz、プリスケーラ1/1、
高速8ビットPWM WGM0−3−0xFF
COM1A1〜0 10−非反転
COM1B1〜0 10−非反転

ここで
OC0RA(DATA)
OC0RB(DATA)
をそれぞれセットしますとAB各chにそれぞれのデータが出力できるのでしょうか?

また
OC0RA(DATA)
OC0RB(DATA)
は同じデータをセットして
COM1A1〜0 00−PB3(先に0を書き込んでおく)
COM1B1〜0 00−PB4(先に0を書き込んでおく)
をそれぞれせんたくしてやると交互に0出力(休止)させられそうですが、どうでしょうか?
チェックはAVRstudio上のシミュレーションだけでやります。
(他の部分のコードの書き方が解らないのでまだ試していません)
   2008/2/11 (Mon) 16:15:03
[名前] :   ノンノ
[URL] :   
[コメント] :   書き忘れました、16F648AとATTiny2313は
内部4MHzを使用しますと、15.6KHzの繰り返し周波数になりそうです。
AVRの方がコンパレータは少ないですが割り込みが豊富で使いやすそうです。
http://www.style-21.jp/bbs/ekousaku/thumbnail/ekousaku_849977617896.jpg?0194186
の回路図では他のポートの使い方などで注意することはありますか?
   2008/2/11 (Mon) 17:38:34
[名前] :   kuman
[URL] :   
[コメント] :   >OC0RA(DATA)
>OC0RB(DATA)
>をそれぞれセットしますとAB各chにそれぞれのデータが出力できるのでしょうか?
DATAに比例したデューティーで出力できると思います。

>をそれぞれせんたくしてやると交互に0出力(休止)させられそうですが
できると思います。DATAを0にしても良いのではないでしょうか。

>15.6KHzの繰り返し周波数になりそうです
4000/256≒15.6kHzになると思います。

良く理解できていないので実験しないと確信できません。
   2008/2/11 (Mon) 18:51:11
[名前] :   ノンノ
[URL] :   
[コメント] :   繰り返し周波数は15KHzくらいが一番都合が良いのです。
内部を8MHzにして折り返しPWM(位相基準)にすれば良さそうです。

出力chの制御は
1,1−100%、2−0%(ON、OFF)
2,1−50%、2−50%(ON、ON)
3,1−0%、2−100%(OFF、ON)
4,1−50%、2−50%(ON、ON)
と言う風にします
この場合、
OC0RA(DATA)
OC0RB(DATA)コンプリメント
のデータを設定するには2ch分書かねば成りません。
COM1A1〜0 10非反転
COM1B1〜0 11反転
としますとコンプリメントしなくても良さそうです。
   2008/2/11 (Mon) 18:51:42
[名前] :   ノンノ
[URL] :   
[コメント] :   OC1RXも使うには4ch分書きます。
4ch分のパターンは
1,1−100,2−0,3−0,4−0
2,1−50,2−50,3−0,4−0
3,1−0,2−100,3−0,4−0
4,1−0,2−50,3−50,4−0
5,1−0,2−0,3−100,4−0
6,1−0,2−0,3−50,4−50
7,1−0,2−0,3−0,4−100
偶数どうし、奇数どうしが同時にONに成ることはありません。

これを1chだけ使ってフラグの割り込みで
他のポートを叩けたらと思ったりしますが
かえって遅くなるでしょうか?
   2008/2/11 (Mon) 20:03:07
[名前] :   ノンノ
[URL] :   
[コメント] :   以下の変更であって居ますか?

tiny2313のTMR1を 8ビット位相基準PWMとして使用する。
TMR0を位相基準PWMとして使用する。

クロックは内蔵RC8MHz。PWMクロックは1/1分周。したがってPWM周波数は15.6kHz。

TCCR1A: COM1A1 COM1A0 COM1B1 COM1B0 ------ ------ WGM11 WGM10 1010 00 01 1010=一致でHigh(AB)
TCCR1B: ICNC1 ICES1 ----- WGM13 WGM12 CS12 CS11 CS10 000 00 000 000=1/1分周
TCCR1C: FOC1A FOC1B - - - - - - 0000 0000
(WGM13 WGM12 WGM11 WGM10 = 0001 ・・位相基準16ビットPWM)

TCCR0A: COM0A1 COM0A0 COM0B1 COM0B0 - - WGM01 WGM00 1010 00 01 1010=一致でHigh(AB)
TCCR0B: FOC0A FOC0B - - WGM02 CS02 CS01 CS00 00 00 0 000 000=1/1分周
(WGM=011 位相基準8ビットPWM)
   2008/2/12 (Tue) 04:07:45
[名前] :   すん
[URL] :   
[コメント] :   ノンノさんへ
かなり詳しく研究されているようですが、ここはPWMに一番詳しいノンノさんが、実験してみなさんに教えてくれたほうがいいような気がします。すでに実験して確認しないとわからない質問レベルになっていると思います。
   2008/2/12 (Tue) 13:29:57
[名前] :   ノンノ
[URL] :   
[コメント] :   PWMの動作機能などは研究してますが、
AVRでやってみようとしていますが、
アセンブラコードが入ってきません(頭に)
そこで、BASICやCでやってみたいのですが、
コードを入力する段で何を書いたらいいのかで止まってしまっています。
コードのサンプル集が有れば、目的のを選んで編集することは出来ると思うのですが、どこかにありませんでしょうか?
(昔のZ80とかですと総てのコード一覧ソースなどがあったりして、それを見ながら作ったり出来ました。
今の方は、何もなくても書いて行けるようで、ここが理解を超えています)

もうHDDが一杯になってきていまして、
少しファイルを整理しました。

BASCOMというBASICを見つけました。
これの評価版を動かしてみましたが、最初の設定とかは出来るのですが、コードの書き込みで矢張り止まってしまいます。

CかBASICかどちらを選んだらいいのか悩んでいます、
昔のBASICとは少し違うみたい・・これでワープロも組んだことはあるのですが・・何かの1線が越えられない状態です。
   2008/2/12 (Tue) 21:22:44
[名前] :   すん
[URL] :   
[コメント] :   ノンノさん
Cの方が参考例がたくさんあるのでいいと思います。マイコンで複雑なPWMをやられるみたいですが、マイコンに慣れるまではLEDピカピカのような簡単なプログラムから初めてみてはどうでしょうか。それの積み重ねで最終的にPWMもできるようになるのだと思います。

1から聞きたくなりますが、1から始めた方が身につきます。趣味なので、1年後、2年後完成を夢見てがんばってください。

もし私がハードを得意ならハードで組みます。その方が後日の手直しも楽ですし変更も楽です。不慣れなものは、1年後もっと不慣れです。
想像ですが、FPGAでもカウンターとコンパレーターをたくさん並べていけばいいような気がしてなりません。カウンターなんかは、質問に答えていくだけで自動作成されるので簡単かなと思いました。あとは、ORとかANDやXORを駆使してつなげばいいかと。信号レベルやセルの見積もりの話はわかりません。トライあるのみです。
   2008/2/13 (Wed) 12:58:43
[名前] :   ノンノ
[URL] :   
[コメント] :   諸先輩方のは何通りかやってみて確認していますが、
少しの違い(チップの種類など)で
動作するもの動作しないものがあり。
移植の方法、言葉(C)の書き方、
例題にない部分の動作をさせる(おまじない)
等、参考になるところが見つかりません。

目下の目標は、TMR0を使いAにPWM1データをBにPWM2データを使用
Aを割り込みにして他のポート叩きに使い、
Bはそのまま出力です。

avrstudio4でビルドしますと何か出ました。
HDDが狭くなってプログラムの再編成をしたとき
Winavrの関連が切れたようです。
もう1個のWinavrを削除して(2個入っていたので1個削除しました)再インストールをしてみます。
   2008/2/10 (Sun) 21:00:26
[名前] :   すん
[URL] :   
[コメント] :   ACアダプターにフェライトコアをつけようと思っているのですが、市販品のTDK等の何でもいいのですか。
ネットで調べると、インピーダンスが書いてあるようですが、ノイズ除去レベル??にどう関係するのかわかりません。
   2008/2/10 (Sun) 22:33:34
[名前] :   ノンノ
[URL] :   
[コメント] :   中ですか外ですか?
もし外ならパソコン関係のアダプタに附いている
パッチンとはめるのはどうでしょうか?
   2008/2/5 (Tue) 08:55:55
[名前] :   kawana
[URL] :   
[コメント] :   ICソケットやコネクターが出てくると
何か、作ってみたくなる病気にかかっているみたいです。
AVR Writerや、OPAMPの実験回路が手ごろかなと思っていましたので、miniProgrammerが4台、OPAMP回路
8回路(Sin,Cos,三角、Pulse,CeramicOSC(2.5MHz
640KHz、)X-TALOSC(8M、10M、16M))
の実験をしました。
AVRのサンプルプログラムを研究し、何か、面白い
テーマをと模索中です。
   2008/2/5 (Tue) 11:16:15
[名前] :   ノンノ
[URL] :   
[コメント] :   ステアリングPWMの実験をしてみて下さい。
(まだ理論が完成していませんが、もう少しです)
チップは16F648A-秋月200円です。
1ポート足りなくなったのでやりくりしているところです。
   2008/2/5 (Tue) 12:05:30
[名前] :   すん
[URL] :   
[コメント] :   ステアリングPWMとは何ですか。PWMの専門家のノンノさん教えてください。
   2008/2/5 (Tue) 19:45:24
[名前] :   ノンノ
[URL] :   
[コメント] :   http://www.style-21.jp/bbs/ekousaku/image/ekousaku_836586285624.jpg
に有ります、STR−A,B,C,D と言う信号で
CCP1とPORT−DATAを切り替える事です。
   2008/2/6 (Wed) 00:04:01
[名前] :   ノンノ
[URL] :   
[コメント] :   PWMの専門家ではありません。
ただモータードライブの試行錯誤をしているだけのモノです。
AC型モーター、インダクション、シンクロナス、ステッピング
等で、これらは特にPWMが必須というわけではありません。
モーター駆動の角度細分化にベクトル合成を使いますが
それにPWMが向いていると言うだけで、
2相ユニポーラステッピングの場合は2chDAコンバーターと
2chコンパレーター、ディレクション出力を必要とするだけです。
2chの帰還信号を合算合計することでDAコンバーターを無くし
(定値基準信号)1chのコンパレーターで済ませることが出来、
アマチュア向けにはこれでお茶を濁したら、と言う発想です。
   2008/2/6 (Wed) 09:14:05
[名前] :   kawana
[URL] :   
[コメント] :   回路がよく読めません
EX_OR -- 台形(AND ?) -- 
三角(トライステ−ト) ???
   2008/2/6 (Wed) 11:25:57
[名前] :   ノンノ
[URL] :   
[コメント] :   ここのPDF、FIGURE 11-18:に有ります。
http://ww1.microchip.com/downloads/cn/DeviceDoc/cn027084.pdf
PDFファイルは読んだり探したりするのが大変です。
   2008/2/4 (Mon) 22:36:30
[名前] :   kawana
[URL] :   
[コメント] :   AVRminiProgrammer #4
を作ってしまった。はんだ付けの技能維持のためか?
4台も作ると、PinNo.も覚えていた。
1箇所はんだ忘れで動作せずだったが、直ぐに気がっいた。
タ−ゲットAVRはATtiny2313だが、DeviceがAT90USB1287を選択しても、Readは出来た。(時間は長いけど)
chanさんのWriterでは、AVRのFLASH SIZEなど、自動
Setされているような気がする。
Writeの時は、Deviceの選択など確認後、Writeするべき
と思った。
   2008/2/4 (Mon) 23:11:18
[名前] :   kuman
[URL] :   
[コメント] :   kawanaさんこんばんは。

4台も作られたのですか。
私は1台だけですが、それも常用がavrsp(x)ですからほとんど使っていません。

USB1287指定でt2313が読めるのですか?
ChaNさんのオリジナルは多くのmcuをサポートしていますが、どのようにされているのでしょうね。実物をすべてテストしているとは思えないのです。

>Deviceの選択など確認後、Writeするべき...
ライタのケーブルを繋いだときは、まず、おまじないのように -r を確認しています。

このところ、諸般の事情で半ば冬眠状態です。そのうちに目を覚ましましょう。
   2008/2/3 (Sun) 00:17:08
[名前] :   ノンノ
[URL] :   
[コメント] :   続きです。

FIGURE 11-18: SIMPLIFIED STEERING
BLOCK DIAGRAM

P1A-SG ΜΜΜΜΜΜΜΜΜΜΜ

INT-OP _____□□□□□□

A _Μ__Μ______
STR □ □□ □□□□□□
CCP1M1 ___________

B _WW________
STR □  □□□□□□□□
CCP1M0 □□□□□□□□□□□

C __ΜΜ_______
STR □□  □□□□□□□
CCP1M1 ___________

D ___WW______
STR □□□  □□□□□□
CCP1M0 □□□□□□□□□□□
   2008/2/1 (Fri) 21:20:02
[名前] :   宮前
[URL] :   
[コメント] :   「LCDモジュール3.3V改造」
こんばんは
部品箱にLCDモジュールがありますが、3.3Vでは改造なしで動きませんね。
ネットで検索したらこんなの見つけました。
パーツ数が少ないです。

http://www.ne.jp/asahi/air/variable/electronics/lcd3v/index.htm
   2008/2/2 (Sat) 06:32:19
[名前] :   kawana
[URL] :   
[コメント] :   貴重な情報ありがとうございます。
今度、使用するときは、この方法を採用して見ようと
考えています。
間違えて、5Vを加えた時、Voが規格Overになり
LCD破壊になるかも知れないので、LCDの何処かに
3.3V改造品などのラベルが貼って有ると安全と
思います。?
   2008/1/31 (Thu) 20:56:08
[名前] :   kuman
[URL] :   
[コメント] :   PWMについて ノンノさんへ

通常PWMはハードウエアで構成されているようです。
このハードウエアが働く回路のスイッチを入れる(SFRをセットする)と、特定のピンはこのハードウエアの出力につながります。

分周されたクロックでカウンタが動きますが、カウンタは8ビットならば0〜255を繰り返します。

カウンタの数値(アナログ値ではありません)が特定のFSRの値と一致するとPWM出力ピンがHになり、カウントが0になればピン出力がLになる、といった機能があります。

このとき数値を比較するレジスタに64を設定しますと、0から63の間はLで、64〜255はHになります。
1周期の3/4がHの矩形波が出力されることがわかります。
もし、128をセットすればデューティ比1/2の矩形波となるでしょう。
ソフトウエアでHLを変更しているのではなくハードで切り換えています。
   2008/1/31 (Thu) 20:57:31
[名前] :   kuman
[URL] :   
[コメント] :   つづき

ハードの動作ですからソフトの実行順を変更する割り込みは関係しません。

PWMにはいろいろなスタイルがあるようで、ここに書いたのは一例です。

ハードを使わずソフトウエアだけでももちろんPWM制御できます。

UART通信をハードで処理するか、ソフトで作るかと似ているかもしれません。
   2008/1/31 (Thu) 21:20:52
[名前] :   ノンノ
[URL] :   
[コメント] :   おつきあいいただいて有り難うございます。
PICの場合(AVRはよく似ているも少し違っています)
例えば秋月で安い目の16F886ですと、
その上の18FやdsPIC30F、33Fなどと同じ
ECCPのようです(互換性?全く同じ?か不明)
これですとハーフブリッジやフルブリッジの機能
が付いていて使いやすそうなのですが
小生の希望するプッシュプル型
(片方をドライブしているときもう片方は休んでいる)
にはどの様にすれば対応できるのか調べています。
   2008/1/31 (Thu) 21:29:30
[名前] :   kuman
[URL] :   
[コメント] :   ピントはずれだったでしょうか。
   2008/2/1 (Fri) 11:50:30
[名前] :   すん
[URL] :   
[コメント] :   ノンノさんの構想はモーターコントロールの知識が無い私には理解できないのですが、マイコンでやるよりFPGAで作成されたほうがいいのではないでしょうか。それか、どうしてもマイコンでやるなら、高速のマイコンを見つけてソフトウエアでIOポートを使って、PWMを発生させるとかでしょうか。特殊な使い方は、やはり、特殊な仕掛けが必要だと思います。

あとは、専用ICをDigiKey等から購入するとか検討されてはどうでしょうか。たぶん専用ICでは簡単にできることなのかもしれません。 汎用マイコンはあくまで、汎用ですから。
   2008/2/1 (Fri) 15:51:34
[名前] :   kkk
[URL] :   
[コメント] :   PICのECCPに似た機能持つAVRとしては
ATTiny25/45/85,26/261/461/861等のTinyシリーズやAT90PWMシリーズがありますね。
でもMegaシリーズにはないようですね。
   2008/2/1 (Fri) 21:49:50
[名前] :   ノンノ
[URL] :   
[コメント] :   お返事有り難うございます。
どう答えようか悩んでいました。
もちろん専用ICは使っていますが、
いろんな問題もありまして・・

FPGAやCPLDですと万人の敷居が高すぎて
PICやAVRで組むところに意味があると思っています。

特に悩んでいるのは出し続けている波形を一時的に
休ませる方法です。

何せ英語がからっきしですから、一寸でも自分に都合の良さそうな
文章を見つけてはひっくり返して、裏を覗いてみるのですが
何にも書いてありません。

あれだけ便利そうな機能なので、何で一時停止がないんだろう
何か方法が有るのではなんてかかづっています。
(実際には1chの信号を2つのポートに交互、目的に合わせて
ハードPWMで出したいと言うところです)
   2008/2/1 (Fri) 21:55:24
[名前] :   ノンノ
[URL] :   
[コメント] :   PICのECCPによく似ていますね。
(そっくり)
しかし、PICのモーターシリーズにはFLTAがあって一発で
PWM全停止に出来ます。
この様な機能を1ch2ポートでやりたいのです。
   2008/2/2 (Sat) 12:46:05
[名前] :   すん
[URL] :   
[コメント] :   ノンノさん
>FPGAやCPLDですと万人の敷居が高すぎて

いい方法があります、VHDLやVerilog?は言語を覚えるのが大変ですが、私は回路図入力でやっています。アルテラでは昔のTTL回路でも入力できます。

ソフトはわからないとおっしゃってたので、ハードウエアの専門家のノンノさんなら簡単かなと思いました。

初めの1歩はどれも難しいですね
   2008/2/2 (Sat) 18:10:44
[名前] :   ノンノ
[URL] :   
[コメント] :   PICやAVRで駄目ならPSoCと言う手もあるのですが
あれは内部にアナログとCPLDを持っているようですばらしいのですが、
入手製やツールがどうかと思っています。
それで入手はしたのですが、まだとっか掛かってはいません。

CPLDの初歩的な質問です。
電圧は5Vも使えるようですが、直接FETドライブ(5Vくらい要ります)
はできますか?(出来ない場合はシンク出力でPNPデジトラ)
クロックは要りますか?

大体次のような構成ですが、マイクロセルの見積もりなんかはどの様にするのでしょうか?
アナログがないのでコンパレータを外付けして入力1ビット(または2ビット)フォールト機能、
DIPSW入力(4ビット)16種類のモード選択、
方向入力、パルスカウント入力、内部ポジション指示出力(3ビット)、
内部7ビットUP/DOWNカウンタ、
7ビット→10ビットデータ変換テーブル、
内部10ビットフリーランニングタイマーカウンタ、(クロックが要る?)
10ビットコンペア機能出力(4ビット)、

これだけでワンセットですが、部分ごとに分けて作るのですね。
   2008/2/3 (Sun) 00:16:38
[名前] :   ノンノ
[URL] :   
[コメント] :   16F886のデータシートを見ていますと
CCP1のシングルモードで何とか出来るのではないかと
期待を持って仕舞いますが、
文章の解釈に自信がありません。
18Fのシリーズもこの部分(ECCP)を見れば
おんなじ様な気がしました。

画像もあるのですが、こちらでは出ませんので文章と
動作図だけ載せますが、こんな解釈であっていそうか
一寸見ていただけませんか?

11.6.7 PULSE STEERING MODE
In Single Output mode, pulse steering allows any of the
PWM pins to be the modulated signal. Additionally, the
same PWM signal can be simultaneously available on
multiple pins.
   2008/1/29 (Tue) 17:07:37
[名前] :   kawana
[URL] :   
[コメント] :   AVRSPでAT90USB162,AT90USB1287をsupportするには?
AVRminiProgramMK2で認識出来るので間に合っているが
AVRSPで認識させるには、DeviceIDを調べる、
DeviceSpec.を調べて、DeviceListに追加すれば良い
のでしょうか?。プログラム変更するつもりは、無いの
ですが。
   2008/1/29 (Tue) 17:38:29
[名前] :   senshu
[URL] :   
[コメント] :   kawanaさん、こんばんは。

私も同じように考え、これらをAVRSP(X)でサポートしたいと
考え、ChaNさんに質問してみましたが、回答は今のところ
得られていません。AVRのスペックを登録すれば可能にな
ると思いますが、どう書いたらよいのかが不明です。
ChaNさんの手元に無いAVRはテスト出来ないのかもしれません。

AVRminiProg mkII でOKなら、私のところでも問題ありませんが、
ちょっとだけ残念ですね。
   2008/1/28 (Mon) 11:16:06
[名前] :   senshu
[URL] :   
[コメント] :   「リンク作成シェル拡張for Windows 2000/XP」の解説

添付の説明書には、機能が詳細に書いてあるのですが、
使い方が良く分からず、かなり試行錯誤しました。

そこで、私の掲示板に解説ページを書きました。

kumanさんも使われていらっしゃるようですから、ぜひ
ご覧いただきたいと思います。
   2008/1/29 (Tue) 12:37:30
[名前] :   senshu
[URL] :   
[コメント] :   「徒然なるままに」のデスクトップの件を読んで

これも、特にシステムの変更せずとも、JUNCTIONを作れば
自分流のフォルダ名で利用できます。

こうしたものを、(不具合を解決した上で)早い時期に
普及させてもらえたら、もっと快適に使えたろうと思います。

海外のソフトが漢字名を含んだフォルダで、意味不明な
エラーを頻発したことを思い出しました。
   2008/1/29 (Tue) 18:22:18
[名前] :   kuman
[URL] :   
[コメント] :   senshuさんへ、空白文字入りフォルダ名

記憶が定かでありませんが、空白を含むフォルダ名のためエラーストップしたアプリがあったように思います。
ご経験はないでしょうか。
コマンドラインではダブルクオートで包まねばならないしハイフンやアンダースコアでを使えば不自由はありません。「空白があっても使えるぞ」とこどもの気分で使って、広い検討はおろそかになっていると思います。
   2008/1/29 (Tue) 19:11:05
[名前] :   senshu
[URL] :   
[コメント] :   空白もトラブルの元ですが、これは英語版でも同じです。

「ドキュメント」のように日本語を含んだフォルダ名が
最大の問題点だったと思います。

「デスクトップ」も同じ意味でNGで、時々、泣かされています。
   2008/1/27 (Sun) 21:36:23
[名前] :   kuman
[URL] :   
[コメント] :   ノンノさんへ

PWMのことを聞かれていましたが、なんとか使ってみたくなってマニュアルを読み返しながらあの状態に辿りつくのがやっとでした。
いくつかやってみましたが、同じ様なもので、まだまだマスターにはほど遠いところです。
ご質問に十分答えられなくてごめんなさい。
   2008/1/30 (Wed) 21:59:53
[名前] :   ノンノ
[URL] :   
[コメント] :   基本的なことが判っていないのです。
PWMにも何種類か
チップの違いやCCPとECCP(ソ連?)

そのうちでも、データーをセットしたままプログラムが関与しないで
動作を続けることが出来る?と言うことが判りません。

読んでみると、ピリオド(PR2)に成ったら割り込みをして
(割り込みは十分早い?)
処理をするのでしょうか?

それなら目的の動作はアナログコンパレータからの割り込みで
「禁止」にしたり、
ピリオドで出力ポートを「起動
TMR2 と CCPR1と比較し」て交差で「停止」
にすると言う考えであって要るのか悩んでいます。
   2008/1/27 (Sun) 18:34:04
[名前] :   ノンノ
[URL] :   
[コメント] :   Kumanさん こんばんは UBRRの計算の事でこっそり質問があります。
どうすればよいですか?
   2008/1/27 (Sun) 19:27:21
[名前] :   ノンノ
[URL] :   
[コメント] :   UBRRの計算、自己解決しました。
表を見間違えていて、見直したら判りました。
ところで
USB-SPIは14.7456の場合どういう結果になりそうですか?
   2008/1/27 (Sun) 20:12:28
[名前] :   kuman
[URL] :   
[コメント] :   ボーレートで考える限りでは。

115.2k、230.4k、460.8k、921.6k など誤差無しで使えることになりますが、senshuさんがいわれるようにUSBコンバータの性能、ケーブルの影響、PCの条件など他の要因が関係してくるのではないかと思います。

ただ、速くなるとともに安定度も悪くなりそうで、私の古いPCでは115.2kが一番安全なようです。
   2008/1/27 (Sun) 20:33:06
[名前] :   ノンノ
[URL] :   
[コメント] :   特に早いほうと言うよりも
MPUのクロックとして有効かなと思いました。

手持ちのクロックは次です。
3.68640 4.00000 7.37280 8.00000
9.21600 10.00000 11.05920 14.74560
16.00000 20.00000

対応表は次でした。
ボーレート UBBR  誤差%
1200 767 0
115200 7 0
230400 3 0
460800 1 0
921600 0 0
   2008/1/27 (Sun) 23:51:03
[名前] :   senshu
[URL] :   
[コメント] :   10MHzを超えるクロックは、3.3Vでtiny2313を使う場合には、
保証されていない(動作はすると思います)点に注意が
必要だと思います。

私は、OSC用に丸ピンタイプのICソケットを取り付け、交換
可能にして各種の実験を行っています。

たくさんの種類のクリスタルをお持ちのようですから、
ぜひ試してみて、その結果を教えてください。

悩むよりも実験して、その結果から考えたほうが実践的だと
思います。私は悩むなら作って見る、これを繰り返しています。
  
▲このページのトップ 戻る  

Yahoo!ジオシティーズ


inserted by FC2 system 1