047412
ワンチップマイコンでGO!
[トップに戻る] [アルバム] [留意事項] [ワード検索] [過去ログ] [管理用]
おなまえ
Eメール
タイトル
コメント
参照URL
添付File
暗証キー (英数字で8文字以内)
投稿キー (投稿時 投稿キー を入力してください)
文字色

教えて下さい。 投稿者:グレープ 投稿日:2008/07/04(Fri) 19:59 No.587   
PIC初心者です。MPLABとCCS(会社の指示)を使って、PICとプログラムの勉強を始めました。いろいろ分からなくて、苦労しています・・・参考になる本やサイトがありましたら、是非紹介して下さい!!

Re: 教えて下さい。 - ロックヒル 2008/07/04(Fri) 23:50 No.588
グレープさん はじめまして

>MPLABとCCS(会社の指示)を使って、PICとプログラムの勉強を始めました。

PICは全く初めてですか? 大変ですね。(お仕事なら仕方ないですね (^_^))
CCS社のCコンパイラは後閑哲也さんがプッシュしているので後閑さんの著書なんか良いかと思います。

後閑さんのHPです
http://www.picfun.com/

CCS社のCコンパイラはバージョンUP料がべらぼうと聞いてますので購入まで至っておりません (^^;


一応ワンチップマイコンです。 投稿者:puw2 投稿日:2008/06/09(Mon) 14:15 No.583   
インターフェース2008年5月号 付録基板でパルスモーターを廻す。
http://www.geocities.jp/puw2/fr60_plsmotor.html
其の内USB-CNCになるかも?

Re: 一応ワンチップマイコンです... - ロックヒル 2008/06/09(Mon) 20:48 No.585
>インターフェース2008年5月号 付録基板でパルスモーターを廻す。

puw2さんインターフェース誌の付録情報ありがとうございます。
HP見させてもらいました。大変よく分かる詳しい説明ですね。

>其の内USB-CNCになるかも?

ですよね〜

ioioさんも自作CNCソフトで ”USBCNC ”稼働中です (^_^)


Re: 一応ワンチップマイコンです... - ioio 2008/06/25(Wed) 10:58 No.586 ホームページ
>”USBCNC ”稼働中です

ご紹介、ありがとうございます。
ミツトヨのDROのデバッグで手間取ってしまって
返信が遅くなってしまいました。

>自作CNCソフト

USB I/FはEZ-USB(AN2131SC)で、Windows AppはVisual C#を使いました。
三角関数、三平方の定理など何十年かぶりのため脳みそが沸騰気味でした。
対応するNCコードは少ないですが、
先日はDRO用プラグのハウジングをCNCで切削。
基板のパターンを切削している様子はいとおしく思えます。

>其の内USB-CNCになるかも?

がんばってください。 完成を楽しみにしています。


プログラマー用昇圧器 投稿者:ノンノ 投稿日:2008/06/07(Sat) 13:45 No.582   
点線の部分に「レゾナンスブースト」(造語)と検出制御を入れてみました。(約100KHz^の信号です)
うまく動作するかまだ試していません。


Re: プログラマー用昇圧器 - ロックヒル 2008/06/09(Mon) 20:41 No.584
ノンノさん プログラマー用昇圧器回路図 ありがとうございます。

私にはよく分かりません・・・詳しくはノンノさんのブログへ・・
http://nonnno.hobby-web.net/blog/



続Re: RCサーボ 投稿者:ノンノ 投稿日:2008/04/27(Sun) 12:26 No.562   
回路図がなかったので想像で考えていましたが、
画像は完全な電圧帰還ではなく、少し省略した帰還です。
モーターに大きなコンデンサがあるのはパワーSWにとっては少しきつく、
モーター逆並列のダイオードは保険程度の動作でSW式PWM動作としては、
不完全な回路です。
PWMに関しては設定と帰還を成り行き判断してヒステリシスで動作するので問題はないです。
(PICや三角は発生などを使わなくとも十分達成できます、
トラ技2008/3 D級アンプp122、p126など)

その原因はSWoffの時高圧が出るのを平均化して、越える分をダイオードで切っているからです。

改造はケミコンを取る、モーターダイオードを大きくする、電圧帰還を差動にする(モーター両端)等ですが、
多すぎて無理があるようです。


Re: 続Re: RCサーボ - ながれ星 2008/04/27(Sun) 16:07 No.563
ノンノさん、こんにちは。解説、改善案をありがとうございます。

かなりすっきりしますね。ノンノさんのは自分には難しすぎるので半分も判っていないと思います。
オリジナルのは何のためのダイオードか判らなかったのですが、無くても余り変わらないようですね。
そう言えば電源にコンデンサが無かったです。電池BOXのケーブル長なら不要としたのでしょうか。
でも外部電源端子パターンもありますね。ケミコンはモーター並列の小さな2.2μFだけでした。
元々それなりな物みたいなので、あまり改善意欲が出ません。もしやってみたら、ご報告します。
4.5V直接続の回転数は30rpm程度だったのにコントローラ電源を9Vにしたら67rpm程に上がったので
トルクも上がったようです。モーター間の電圧測定はするべきでした。アナログテスターの出番。

ハンダコテの先が細いのしか見当たらず、GNDパターンは注意したのですが最初は動作しませんで、
再チェック時に部品ををゆするとポロッと剥がれたところが3箇所もありました。はんだがパターン
と溶け合っていませんでした。芋、とか天ぷら状態かな。こて先の少し大きいコテが見つかって
フラックスを塗って、今度は正常でした。GNDはベタでなくて半月とかだとはんだ付けが容易です。
基板の足の穴も2箇所しかないので机の上に線くずなどある場合は直接置くとショートして壊す事が
あり、何度か経験しました。電源端子の左はGNDパターンなので孔を追加して足を追加します。
接着式のプラ足でも良いですが自分はエヤーチューブを短く切って使うことが多いです。



Re: 続Re: RCサーボ - ノンノ 2008/04/27(Sun) 20:50 No.564
秋月の「HPH12002M」は制御点が5Vになるように動作します。
HPH12002Mは内部に出力から制御点に46kΩ、
制御点からGNDに33kΩ位が接続されているので
出力0Vの合成抵抗は約19.2kです
例えば10Vを10kΩのVRで分割出力とし
13kΩで制御点につなぎますと10V側にしたとき
出力0Vで5.8Vですから十分低出力側になります。

VRをOV側にすると(VR側0の合成抵抗9.3k)約15Vの出力になります。
28.3*5/9.3=15
ほかには安定用コンデンサー220PF〜470PFが要ります。

画像はキットの2回路パラです、この場合は6.8kです。



Re: 続Re: RCサーボ - ながれ星 2008/05/13(Tue) 22:33 No.573
ノンノさん、こんばんは。

折角解説をいただいても、自分には難しくてついていけません。ごめんなさい。
どうもスイッチングレギュレターICで説明していただいているようですがスイッチングレギュレターも
制御方法はPWMだと思うので同じことなんでしょうね。何となく判ったつもりです。


秋月のDC Motor Controller キットに付属のDCモーターと市販のギヤーセットで軽量赤道儀の電動化も
検討しています。ギヤーセットのピニオンギヤーの10Tがモーター軸にぴったりで全てのギヤーを使えば
1/15000くらいになり、DCモーターの回転数は恒星時1300rpm程度になりPWM制御の範囲になりそうです。

負荷変動、電圧変動、温度変化などあると思いますが軽量赤道儀のフレキシブルシャフトのハンドルを
手で回すのと、PWMで電力制御だけの電動化のメリットがあるかで悩んでいます。まあ、悩むほどのこと
は無く、やってみればよい訳ですが、ステッピングモーターやシンクロナスモーター以外のDCモーターで
やってみた方がいらしたらアドバイスいただけるとうれしいわけです。モーターとコントローラ\400、
ギヤーセット\210、最終ギヤー\241、あとはギヤーBOXと多少のパーツやケーブルですみそうだけれど。


Re: 続Re: RCサーボ - ノンノ 2008/05/14(Wed) 12:22 No.574
お考えの用途ですと、ギヤード・ステッピングモーターを使われますと
一定速度でしかも目的の制御が出来そうです。
(お勧め)
ステッピンッグモーターの駆動はフルステップ、ハーフステップですと
PICなんかから簡単にドライブできますが、
一種の起動停止を繰り返す事になるので信号的に成りやすいですが、
マイクロステッピングを使用できるICがありますので
これを使うと中間の状態も使って
駆動するので滑らかになり、振動を防ぎやすいです。


Re: 続Re: RCサーボ - ながれ星 2008/05/15(Thu) 20:18 No.575
ノンノさん、こんばんは。

やはり、どうせ作るなら安くて中途半端な物よりも、出来る限り安定度や精度が良いものの方が無駄に
ならないと言うことですね。確かに手回しの代わりといっても調整が頻繁だと使わないかも知れません。
ステッピングモーターの市販がもう少し一般的だと良いのですが減速機付きはカタログにはあるよう
ですがネット販売は見つけられません。小型のは7.5度で48ステップ/回転で300〜400PPS止まりが多い
ようです。今回の用途なら特に変速範囲を要求はしないので問題はありません。秋月に48ステップの
減速機無しで\500があるようです。ハーフステップだと電力増になるようですが、出来るだけ高レート
で回した方が振動も少ないしモーター電流も減少する方向だった記憶です。


Re: 続Re: RCサーボ - ノンノ 2008/05/15(Thu) 21:30 No.576
おそらく一番安いのはタイミングベルトでギアBOXとつなぐ方法です。
現品.COMさんが、ギヤードモーターの種類が多いので
メールで問い合わせてからですと良いのが見つかるかもしれません。
(直流モーターは使わずステッピングで回す、
しかしこの方法はギアのバックラッシュは無くせない)
http://genpin.com/ サイト内検索
TG-05J-180〜ZGA60FE 
ZGAであってもZGBであっても、出力軸径は6mm
何々に何個使うので分けて下さいとか。
 ttp://www.orientalmotor.co.jp/products/st/main_2csk.html
ここの分はweb注文できます。
SHギヤード 60がいちばん?安くても26kエン
 ttp://www.orientalmotor.co.jp/products/st/main_2pk.html
モーターだけだと約半額
ttp://www.orientalmotor.co.jp/products/st/gear.html
ギヤー説明


Re: 続Re: RCサーボ - ながれ星 2008/05/16(Fri) 19:47 No.577
ノンノさん、こんばんは。

モーターの情報をありがとうございます。ネット販売もありますね。オリエンタルモーターの200ステップで
42mm角の1/100HS減速機付きで\15.8kがありました。これだとメーカー純正より性能は上と思いますが高価に
なりそうです。減速機はノンバックラッシュタイプではなさそうなので、いくら高精度モーターにしても
バックラッシュ対策をしない限りトラッキングエラーは出そうです。もっとも軽量赤道儀なので全体剛性も
無いので論じる次元が違いますね。日本サーボの48ステップ7.5度のKP4P15G12Vなら1/600までは\2.52kと
お安いのですがウエブ販売はなさそうです。やはり、ただ回すだけなのでヤワなギヤヘッドで自作予定です。
秋月の48ステップの\500でも減速比を変えれば使えるので、これもやってみるつもりです。速度はPICで変更
すればよいはずで、ぼちぼちPICのソフトを始めなければ。


Re: 続Re: RCサーボ - ロックヒル 2008/05/16(Fri) 23:29 No.578
ながれ星さん こんばんは

>バックラッシュ対策をしない限りトラッキングエラーは出そうです。

赤道儀は一方向しか回さないのでバックラッシュは気にしなくてもOKです。(星の追尾は一方向の意味です)
赤道儀本体精度やギヤ精度の影響が主と思います

ビクセンのモーターを分解したことがありますがモーターは安っぽい貧弱な物が使ってありましたが減速ギヤはシッカリ作ってありました。


Re: 続Re: RCサーボ - ながれ星 2008/05/17(Sat) 16:03 No.579
ロックヒルさん、こんにちは。

追尾だけなので減速機のバックラッシュは考えなくて良いですね。最終ウオームが1/144とかなので、ここだけ
バックラッシュを無くせばウオーム軸を通してギヤーのバックラッシュ分が逆に回されることはないはずですね。


Re: 続Re: RCサーボ - ロックヒル 2008/05/18(Sun) 00:51 No.580
ながれ星さん こんばんは

バックラッシュは逆転するときに悪さをするので一方向しか精度要求されない赤道儀はOKです。少ないほうが良いのは当たり前ですが・・

既製品の赤道儀も逆転するとバックラッシュ分空回りします。(最新の製品は分かりませんが・・・)


Re: 続Re: RCサーボ - ながれ星 2008/05/18(Sun) 17:02 No.581
ロックヒルさん、こんにちは。

バランスが取れていれば最終ウオームもバックラッシュも問題ない訳ですね。自分の軽量赤道儀は回したとき
に硬いところが出来てしまうのでバックラッシュを0には出来ませんで、それなりなバックラッシュです。
南中を超えるあたりで負荷が逆方向にならない程度にバランスさせれば良いわけですね。

>> 既製品の赤道儀も逆転するとバックラッシュ分空回りします。(最新の製品は分かりませんが・・・)

自動導入機ではパラメータにバックラッシュ値を入れられるようです。

ピリオディックモーションでしたっけ、波のような動作になってしまうのは、あまりに回転が遅くギヤーや
ベアリングなどの駆動部分の微細な総合負荷変動や、駆動系や架台も含めた総合剛性不足で地震の発生メカ
ニズムと同じで、たわんだり縮んだりして回れずにいて、力が溜まってから回りだすからでしょうか。
机の上のコップをゴムひもでゆっくりひきずってもコップはゆっくりは来てくれないのと同じですかね。
電気にも似たような現象はあったような気がします。


9桁7SEG-LED表示 投稿者:ノンノ 投稿日:2008/03/31(Mon) 19:34 No.494   
PIC−9ビットで9桁表示できるらしい。

Re: 9桁7SEG-LED表示 - いもたす 2008/04/01(Tue) 13:13 No.497
ノンノさん初めまして。

PICのポートのみ9Bitでは無理なのでは?
ポートの先にデコーダがあれば4Bitを7Segの
出力に充てて、残り5Bitをこれまたデコーダを
通せば、32CH(実際には16CHで)のスキャンが
可能になりますが、PIC単独では2桁しか表示できないのでは?
しばらく考えてみましたが、、、??
タネをお教えください


Re: 9桁7SEG-LED表示 - ノンノ 2008/04/01(Tue) 15:10 No.498
初めまして。
まず原典は国外のサイトにありました、
そこでは9桁はできるが工夫が必要と有りましたので考えてみました。


Loop
POS → PORTB ;SEGはL、DIGはHレベル
((POS=0)Z) → PORTA,0 ;DIG-dataがZなら9桁目をH
((SEG or POS) not) → TRISB ;SEG+DIGをLoutに
((SEG and DIG) or (POS=0)Z) not) → TRISA,0 ;FL=H+9桁目HはLoutに

POS=0 なら POS=1、ポインタリセット に、
違えば POS=POS+1、ポインタ+1
次の行程や点灯時間タイマーに
Loop へ
と言う具合です。


9桁7SEG-LED表示基板 - ノンノ 2008/04/01(Tue) 15:13 No.499
作ってみたものです。


Re: 9桁7SEG-LED表示 - SEC 2008/04/02(Wed) 11:24 No.501
> タネをお教えください

> まず原典は国外のサイトにありました、
そこでは9桁はできるが工夫が必要と有りましたので考えてみました。



何か意味不明ですね


Re: 9桁7SEG-LED表示 - ノンノ 2008/04/02(Wed) 18:42 No.502
しょーもないネタで済みません。

Re: 9桁7SEG-LED表示 - ロックヒル 2008/04/02(Wed) 21:55 No.504
>しょーもないネタで済みません。

どのようなネタでもかまわないのですが、私みたいな凡人にも”なるほど ”と理解できるような簡単明瞭な文章にして下さい。


Re: 9桁7SEG-LED表示 - sec 2008/04/02(Wed) 22:19 No.506
ノンノ さんの探求心には敬服しています

ただ、いもたす さんと同様に
元ネタのリンクが知りたいだけです

ノンノ さんのテストが共有した情報の上に居ないので空振りになって
自己満足の記事を読んでいる感じが空しいです

色々知りたいのは皆同じかと
是非基のリンクが解ればと思います

じっと傍観していても良いのですが
とても興味がある内容なので書き込みしています


Re: 9桁7SEG-LED表示 - ノンノ 2008/04/03(Thu) 11:03 No.508
とっても説明がややこしいのですが、
7segはドットを入れて8本、
中身はダイオードですからマトリックスに組んで
1本のポートピンをカソードドライブ(セグメント)、
アノードドライブ(デジット桁)としますと、

カソードセグメント同士を並列に接続して、抵抗を通して桁アノードに接続するのですが、
例えば有るポートの機能を1桁目とAセグメントと共通にするには

A〜Dpを抵抗を通して桁アノードに繋ぐべきべき処を
1桁目のAセグメントをセグメント渡り線から離し
同じように2B,3C,3D,5E,6F,7G,8Dpを
浮かせて、それらだけをわたる線に繋ぎ、
更に抵抗を通した点を9桁目のアノードに接続します。

Aセグメント共通線を抵抗を通して1桁目アノードに繋ぎます。
同じように2B,3C,3D,5E,6F,7G,8Dpを
セグメント、桁と共用すると、
8SEG+フロートビットの9ビットで9桁7(8)SEG表示器のドライブが出来ます。

PICポートは A,0 B76543210 を使うとすると、
アノードコモンに次のポートを繋ぎます。
9DIG−A0
8DIG−B7
7DIG−B6
6DIG−B5
5DIG−B4
4DIG−B3
3DIG−B2
2DIG−B1
1DIG−B0


Re: 9桁7SEG-LED表示 - ohno 2008/04/04(Fri) 08:55 No.511
私のような素人には、配線図にして頂けると解り易いと思います。
よろしくお願いします。


Re: 9桁7SEG-LED表示 - ノンノ 2008/04/04(Fri) 12:58 No.512
文字であらわす方が解りやすいのですが、スペースに入りきらないので何か工夫してみます。

いもたすさん ohnoさん こんなんで解りますか?
ロックヒルさんはもうお解りでしょう。



Re: 9桁7SEG-LED表示 - NK 2008/04/08(Tue) 00:11 No.533 ホームページ
皆さん今晩は、NKです。

まことに恥ずかしながら、ノンノさんの説明はまったく理解できませんでした。また、原典も見つからなかったので、自分で考えることにしました。

なんとか糸口が見えたので、私のホームページに解説を書いてみました。トップページの更新履歴にある「9ピンで、9桁の7セグLEDを点灯する」のリンクから、参照できます。

自分で考えてみた方法なので、ノンノさんの方法とはちがうかもしれません。また、実際の回路やプログラムを書いていないので、不具合があるかもしれません。もし、何かありましたらお教えください。


Re: 9桁7SEG-LED表示 - ノンノ 2008/04/08(Tue) 00:33 No.534
原典を書きたがらないのは、載せちゃったので恥ずかしいからです。
「Mike McLaren's [k8lh@arrl.net] 9-pin 8-digit display design (29-Nov-04)」
http://www.piclist.com/techref/io/led/8x7s8pin.htm
「LEDMPX」に有ります。

NKさんの書かれたように「Hi、Low、無接続」と抵抗で分離がミソです。


Re: 9桁7SEG-LED表示 - NK 2008/04/08(Tue) 01:40 No.535 ホームページ
皆さん、今晩はNKです。
原典を見ました。やっと、
>((POS=0)Z) → PORTA,0 ;DIG-dataがZなら9桁目をH
の意味がわかりました(笑)。

理論的には正解だったようですが、実体配線をどうすればよいかわかっていませんでした。原典ではもう一ひねりあるみたいです。暇ができたら、解説を追加しようと思います。


Re: 9桁7SEG-LED表示 - いもたす 2008/04/29(Tue) 15:11 No.565
ノンノさん、原典出して頂きありがとうございます。
今頃原典の回路図、ソースを見てやっと
理解できた、、、かな? の、いもたすです。
FloatBit(PB0)の使い方が絶妙ですね。

でも自分で書いたソースが半年後に理解不可能に
なりそうなので使うことはないかと、、、。

消化不良だった好奇心が満たされた気分です。



M - RIKI 2008/04/29(Tue) 19:57 No.566
ノンノさんは叩かれる書き方を心得ていますね。
チョット面白かったです。

これも一種の多値化ですかね?
そもそもスリーステートって言う位だから3値はいけるでしょう。
今時のメモリは4値くらい当たり前みたいで
そのうち128値/bitなんてなったらどうしましょ!!


- ロックヒル 2008/04/30(Wed) 20:54 No.567
ず〜と気になっていたのですが、9桁7SEG-LED表示基板も完成しているようですし実験は成功したのでしょうか?

ioioさんはATtiny2313ですがとっくに8桁(実験は4桁)まで成功しましたが・・・


Re: 9桁7SEG-LED表示 - 初心者 2008/05/06(Tue) 19:54 No.568 ホームページ
CNCプリント基板作成機の自作に挑戦でお世話になっている「初心者」です。
中々完成しないようなので私なりに実験して見ました。
とりあえずUPしましたので参考になりませんが見てください。

http://www.geocities.jp/fu1520/7SEG/index.html



Re: 9桁7SEG-LED表示 - ノンノ 2008/05/06(Tue) 20:59 No.569
初心者さん(上級者さん)完成おめでとう。
>IOピンがまだ7本も余っています。
16F68Aなんかが相当安くCCPをレシプロカル入力に出来ないかなんて考えています。
RA2-10桁目、RA3-ゲート追い出し、RA4-カウンタ入力
RA5-/MCR、RB3-CCP周期入力、RA6-SW入力(マルチプレックスで8点くらい)ICSPが使えるか不明。
74HC4046がプリアンプに向いているようです。

1枚目は2.54ユニバーサルですがUEWがでたらめに走っています。
ICSPは使わずソケットです。
始めは470Ωでしたが不安で102に変更しました。
そのままでも良かったみたいですね。
(102Ωでも明るさ十分な気もします)

2枚目は1.27ユニバーサルで7セグを少しひねってイタリック風にすると線の通りが良くなります。
(一度メッキ線配線したら相当難しいので、要らないところのランドを1φドリルで削り、UEWで配線し直し中です)
UPはしばらく予定無しです。
原典の処にCCP対応(表示のみです)を載せました。

http://picprojects.org.uk/projects/pictips.htm
にμチップのアプリケーションがあります。
http://www5b.biglobe.ne.jp/~YASUSI/gallery/electronics/061104/061104.htm
カウンタ



Re: 9桁7SEG-LED表示 - ロックヒル 2008/05/06(Tue) 23:35 No.570
9桁点灯してます! ”初心者 ”さんヤッターですね。
HPも見させていただきました。たいへん分かりやすい回路図ありがとうございます。
アセンブラーリストUPしてくれるそうなので私にも点灯させることできるかな?

>秋月の10個100円のアノードコモンLEDを使いました。

店頭では売ってないのかな?いつも買おうと探すのですが見あたりません。通販で購入します。

ノンノさんの「9桁7SEG-LED表示」情報、大変皆さんの興味をひいたようですね。(^_^)


Re: 9桁7SEG-LED表示 - ノンノ 2008/05/07(Wed) 11:03 No.571
No.569 なんだか良くわからない内容になったのでもう一度考え直しますと。
ポート単位(8ビット)で使い切れればよいのですが、
ミッドレンジなどではピンに特別な機能があってそこしか使えないものがあります。
上記の例では
RB3/CCP(キャプチャー)、
RA4/T0CKI(カウンタープリスケーラー)、
RA5/MCLR、(リセット)、RA7/OSC1(CLOCKIN)
等で特にRB3は表示ポートに重なってしまいますから
どうしても振り替えを行わねば成りませんが、これが結構ややこしい。
一度出来てしまえばほかでも応用できそうなのでやってみました。
ほかには、PICの場合I/O回路の関連からRMWと言われる問題があり、
1ビットの書き換えをするとポート単位で読み込んで目的のビットだけ書き替えて
ほかは読み込んだデータを書き出す様になっているため、
出力ラッチの内容が書き変わってしまうことがあります。
(入力モードになっている、負荷が重くて電圧がスレッショルドを外れる)

PICの電流について誤解が良くあるのですが、
マニュアルには次のようになっています。
PIC16F627A/628A/648A
Absolute Maximum Ratings(†)
Output clamp current, IOK (Vo < 0 or Vo >VDD) ± 20 mA
Maximum output current sunk by any I/O pin 25 mA
Maximum output current sourced by any I/O pin 25 mA
Maximum current sunk by PORTA and PORTB (Combined) 200 mA
Maximum current sourced by PORTA and PORTB (Combined) 200 mA

AN529の例によりますと7segLEDのセグメントは7mA
コモンはカソード(シンクドライブ)に成っていて、
7x8=56mAを2個のポートビットで受けているので、
1ビット当たり28mAで規格を少し上回っていますが
平均すると少しは下がるからでしょうか?

外部抵抗が無くても壊れないらしいのですが(確かではありません)
内部損が増えるので外部の抵抗に喰わせた方が有利です。


Re: 9桁7SEG-LED表示 - ジェームズ 2008/05/09(Fri) 03:16 No.572
スタティック表示方式ではなくて、ダイナミック方式ですね?

ダイナミックは切り替え速度によってちらつきがあって、
輝度も、多めに流さないと暗かったりしますね。

私は、それがいやで、外付け回路を付加してスタティックにしてみたんですが・・・
PIC増やしてやった方が楽ちんという結論でした。


RCサーボ 投稿者:ながれ星 投稿日:2008/04/05(Sat) 01:41 No.521   
GWS社RCサーボのS03N 2BBGMというトルク3.4kgCmで0.25sec/60度を分解してコントローラをバイパスしてストッパーを取り外してギヤードモーターにしてみました。最終ギヤーには豪華にもボールベアリングが付いています。4.5Vで回してみると少々音が大きいですが約19秒で10回転なので約30rpmです。まだ回転数が速いので赤道儀や電動フォーカサーに使うには無理かも知れませんが入手は容易で小型なので約1/100の減速機付きモーターデバイスとして検討できそうです。\1500をどう考えるかですが。出力軸が短いギザギザ軸のセレーションになっているので使うには工夫が必要ですし、連続で回したら温度上昇や寿命がどうかは自己責任です。

DCモーターをPWM制御すると、ある程度(トルクが半分程度まで)安定して変速できる範囲はどのくらいかやってみたくて、秋月のDCモーターコントローラ・キットを入手予定でした。店頭で見つけられず店員さんに聞けばよかったのですがその日は入手しませんでした。今度寄れたら聞いてみます。

RCサーボは45Hz(22.2msec)のパルスのデューティー0〜3msecで指定角度、例えば0〜60度に変化してくれるようです。RCサーボを分解したときに原点センサーやVRなどは見当たりませんでしたが自分自身の現在角度はどうやって認識するのでしょう?。デューティー0も有りだとすると断線などで無信号時は0度になってしまうことになります。信号より前に電源が入っても0度になるのかな。ロボットで起動時に0度になったら具合が悪いこともあると思うのですが。。壊す前にやってみるべきでした。


Re: RCサーボ - ohno 2008/04/05(Sat) 08:02 No.522
こんにちは、ながれ星様
スケルトンタイプのサーボが有ったので写真をUPします。
サーボホーンギャーの下に黒い四角(ボリューム)が付いており、ここでサーボの現在値を取り込んでいます。
信号とボリューム読込値が一致する様にモーターを制御しているようです。



Re: RCサーボ - ながれ星 2008/04/05(Sat) 09:15 No.523
ohno さん、こんにちは。

> サーボホーンギャーの下に黒い四角(ボリューム)が付いており、ここでサーボの現在値を取り込んでいます。

分解した時に気づかなかったようです。ギヤーはすべて上に抜けますが、確かに出力軸の下に基板があり、接着されていて外せませんのでケーブルを切断してDCモーターに直結しました。出力ギヤーの下側にピンが打ってあり60度程度しか回転しないようになっていました。単純にピンを抜けばエンドレスに回ると思い抜いたわけです。ここにVRが連結されていたようです。今は出先なので確認が出来ませんがこれで納得できました。

情報をありがとうございました。RCサーボは色々バリエーションもあり、使い方にもよりますがモーターよりずっと便利なデバイスになります。


Re: RCサーボ - ロックヒル 2008/04/05(Sat) 22:49 No.524
>GWS社RCサーボのS03N 2BBGMというトルク3.4kgCmで0.25sec/60度を分解してコントローラをバイパスしてストッパーを取り外してギヤードモーターにしてみました。

私も秋月で見つけ購入してあります。専用コントローラがないと動かないものと思っていましたがDC直結で
動くものなのですね。いろいろと使えそうです (^_^)

>DCモーターをPWM制御すると、ある程度(トルクが半分程度まで)安定して変速できる範囲はどのくらいかやってみたくて

楽しみにしてます。

ioioさんのサイトにちょこっと記述があります。
http://ioio.at.infoseek.co.jp/
http://ioio.at.infoseek.co.jp/AVR/BLMOTOR.html


Re: RCサーボ - ロックヒル 2008/04/05(Sat) 23:10 No.525
先日テストしたPWM制御はこのサイトを参考にさせていただきました。

http://www.cqpub.co.jp/hanbai/books/34/34441/34441_4SYO.pdf

PWM信号はMACHからです。



Re: RCサーボ - リン 2008/04/05(Sat) 23:42 No.526
ながれ星 さん こんばんは
★観測の話題ですね。このHPって経緯はよく知らないんですが天体観測の題名で、内容は機械加工方面ばかりなので、話題が本筋かもですね^^;
回路や工作を調べているとよく星観測の方に行き着きます

さてサーボですが
>入手は容易で小型なので約1/100の減速機付きモーターデバイスとして検討できそうです。\1500をどう考えるかですが。

RCサーボはこれだけのDCモータ制御機能を手軽に使用でき、とても安価といえます。ただ耐久性は低いようで長く使用すると壊れやすいです。

>自分自身の現在角度はどうやって認識するのでしょう?。デューティー0も有りだとすると断線などで無信号時は0度になってしまうことになります。信号より前に電源が入っても0度になるのかな。ロボットで起動時に0度になったら具合が悪いこともあると思うのですが。。壊す前にやってみるべきでした。

入力パルスで範囲外のは内部ICではじく設定になっていると思います。また原点のセンサは普通のものは無いので徐々にずれてくるとがあります。

>秋月のDCモーターコントローラ・キットを入手予定でした。
店頭だとキットあるんですか?
HPだと唯一台湾製のキットがあるんですが、オペアンプでパルス作る仕組みなんでマイコンでやった方がいいかと。。
(でも昔買ってまだ組み立ててません^^;)

>DCモーターをPWM制御すると、ある程度(トルクが半分程度まで)安定して変速できる範囲はどのくらいかやってみたくて、

DCモータはとても奥の深い制御対象なので一時調べたことがあります。
PWMでの設定は回転数やトルクはそのモータ自体と負荷に非常に深く関わっていて、モータのデータが手に入ればにらめっこしながら条件変えて試しても、負荷条件で様々になり変動負荷だとなかなか最適なものは難しいです。

ところで、
掲示板が増えすぎてなかなか全部みれません^^;
楽しい有用な情報がいろいろカキコされてるんですが、いろんなとこに散らばってるので。。

私は 入門!旋盤・フライス・CNC 掲示板
に主に見て書き込むんですが、これもCNC掲示板と内容が似てるしどちらに書き込むか迷ったりします。

ロックヒルさん、とてもがんばってくれてるんですが
掲示板増えすぎのような気もします^^;


Re: RCサーボ - ロックヒル 2008/04/06(Sun) 00:57 No.527
>天体観測の題名で、内容は機械加工方面ばかりなので、話題が本筋かもですね^^;

あったた、痛いところを突かれました (^^; 題と内容が大分かけ離れてしまったのですが今更題を変えるのもと・・・
ここで赤道儀を自作すれば「題と内容が違う」なんてクレーム?も少しは減るかな (^_^)

>これもCNC掲示板と内容が似てるしどちらに書き込むか迷ったりします。

後で読み返すとき同じ話題がまとまっていたほうが良いだろうと思い沢山の掲示板を設置したのですが
なかなか上手く行きません・・(話題がちらばってしまった原因、張本人は自分だったりします)




Re: RCサーボ - ながれ星 2008/04/06(Sun) 01:07 No.528
リン さん、こんばんは。

> ★観測の話題ですね。このHPって経緯はよく知らないんですが天体観測の題名で、内容は機械加工方面ばかりなので、話題が本筋かもですね^^;
> 回路や工作を調べているとよく星観測の方に行き着きます

ロックヒルさんと私が話すとつい、星観測の方に行ってしまいますが、自分はこのホームページは星観測ではなくマイコンにかかわるソフトやハードと意識しています。目的を話すと観測にいってしまう場合もありますが主は観測ではないと思っています。

> RCサーボはこれだけのDCモータ制御機能を手軽に使用でき、とても安価といえます。ただ耐久性は低いようで長く使用すると壊れやすいです。

自分もそう思います。こちらでつまみを回したとおりに向こうが動くものを作れと言われても、とても無理です。しかもこんなに小さく安く。寿命は自分の感覚ではACモーターは摩滅部分が無いので何万時間ですが、マブチモーターなどはブラシや軸受けや回転数を考えると使われ方にもよりますが数百時間ではないかと。毎日1時間使って1年の365時間は持たない気がします。髭剃りは毎日5分程です。最近はずぼらで数日で5分ですが。

> 入力パルスで範囲外のは内部ICではじく設定になっていると思います。また原点のセンサは普通のものは無いので徐々にずれてくるとがあります。

パルスの最小デューティは0ではなく0.4msecとか1.12msecのようです。0〜3msecとかの記述を見たので変だなと思ったわけです。0は理屈の説明だったのかも知れません。0でなければ無信号も分かるし最小値以下は動作しなければ良いので納得です。

> HPだと唯一台湾製のキットがあるんですが、オペアンプでパルス作る仕組みなんでマイコンでやった方がいいかと。。

DCモーターを変速するのはPWMに違いないと、自分が勝手に思い込みました。ネット販売だけなのかも知れません。確認していませんでした。PICを使ったRCサーボの評価キットも有ったはずです。オペアンプはアナログみたいなので、PICので勉強した方が値が正確だしPICの勉強にもなりますね。

> PWMでの設定は回転数やトルクはそのモータ自体と負荷に非常に深く関わっていて、モータのデータが手に入れば
> にらめっこしながら条件変えて試しても、負荷条件で様々になり変動負荷だとなかなか最適なものは難しいです。

DCモーターのトルク制御は出来てもモーター特性や負荷変動も考えると速度制御は難しいみたいですね。やはり速度検知器かエンコーダ付きのDCモーターを安く作ってほしいですが、元々ブラシ付きのDCモーターの寿命はわずかですからエンコーダーを付けても意味は無いのかも知れません。


Re: RCサーボ - リン 2008/04/06(Sun) 17:27 No.529
あれ、もしかしてPWMってパルス幅でサーボ制御する方法のことですか?
それだとレスのほとんどは的ハズレです
秋月のPICのDCモータキットはそれで角度制御するヤツのことだと思います。

ロックヒルさんが回路図上げてくれたので
せっかくなのでコメントを
そのPWM回路は実験用で、ベースにプルダウン抵抗入れとく方ような習慣がいいです。
DCモータが制御がうまくいかず、制御から離れると機械をすぐバキバキってよく壊し、暴れますから
モータでは横着して保護回路すっとばしてるとそのウチみにしみて感じることがあります^^;


Re: RCサーボ - ロックヒル 2008/04/06(Sun) 19:47 No.530
>秋月のPICのDCモータキットはそれで角度制御するヤツのことだと思います。

DCモータキットが気になったので昨夜秋月サイトで調べましたがRWM制御って書いてないし回路の説明も無し・・・
だた説明書は英語と中国語、と成っていたので大陸製かTAIWAN製のようです。
GWSサーボモーターはTAIWAN製なのでこのGWS用DCモーターコントローラ・キットなのでしょうか?

>そのPWM回路は実験用で、ベースにプルダウン抵抗入れとく方ような習慣がいいです。

了解しました。アドバイスありがとうございます。


Re: RCサーボ - ながれ星 2008/04/06(Sun) 20:25 No.531
リン さん、こんばんは。

PWMはパルス・ワイズ・モジュレーションだったと思います。RCサーボもパルス幅によって角度が決まるのでPWMですが、DCモーターの電力制御方法のひとつもPWMだと思っています。DCモーターの電力制御は電圧を変えてもできますが、電圧を下げるとトルクが減ってしまいます。電圧を下げずに電源を高速でスイッチングするのですがONの時間を短くしてOFFの時間を長くすることで電力を下げます。モーターはちょこっ、ちょこっ、ちょこっと動くので遅くなったのと同じに見えます。って、自分はやってみたわけではありません。トラ技などの受け売りで、ずっとそう思っていました。ごっちゃにPWMとしているので分かりにくかったです。すみません。

> 秋月のPICのDCモータキットはそれで角度制御するヤツのことだと思います。

秋月のPICのキットの説明にもRCサーボ評価用とあったと思います。DCモーター・コントローラキットとは別物です。

> そのPWM回路は実験用で、ベースにプルダウン抵抗入れとく方ような習慣がいいです。

なるほど、安心感はありますね。ベース抵抗470オームは2SD288のベースに約10mA流せることになります。hefが100だとコレクター電流は1Aになります。負荷がモーターなのでリニアの必要はないので飽和させても大丈夫、というか意識的に飽和させます。私の勝手な自論です。


Re: RCサーボ - リン 2008/04/06(Sun) 21:25 No.532
>DCモータキットが気になったので
確かDCモータ用の制御キットは秋月に2つしかなかったんじゃなかと思います。
台湾製のキットの方はPWM回転コントロールの方です。秋月製以外のキットは回路図事前にないものが多いようですね。
 台湾製キットは内容から格安です。その分使用部品がんばってる様子。遊びには良いかといろいろ購入しましたが、未だ作ってないものばかり・・
みなさんもキットをとりあえず買っとく、、はよく考えましょう^^;


Re: RCサーボ - ながれ星 2008/04/09(Wed) 19:10 No.537
出力軸の下のボールベアリングの軸芯からVRのシャフトと思われるプラスチックの平板状の軸が出ていて、200度ほど回ります。外せないのですがVRに間違い無いようです。出力ギヤーの下側には2本のダボがあります。どうやらここにダボとVRの平板軸の接続板があったようで、ピンだけでなくこれも外してエンドレスに回るようにしたようです。ストッパーピンはギヤーの上側でした。上ケースで回転制限をしているようです。VR接続板は見当たらないので紛失しました。このVRで出力軸の現在角度を認識しているようです。

0.25sec/60度となっているので最高速度で60度動かせば0.25秒でもゆっくり動かせばいくらでもゆっくり移動出来ますが、デューティ値を8ビットで演算処理するとゆっくりでも1/256づつ動きますね。普通には十分な分解能と思います。



Re: RCサーボ - 天の川 2008/04/23(Wed) 19:07 No.553
ながれ星さん続きをお願いします。
見るのを楽しみにしてるんです。


Re: RCサーボ - ノンノ 2008/04/24(Thu) 20:51 No.556
No.537の画像から判断しますと
平角シャフトに出力ギアを結合する2穴付きプレート
(遊びがなければプラスチックでOKか?)
には応力は掛からないので、その下にあるベアリング
とギアがしっかり組み付けられて有ればスムースに回ると思われます。
サーボモーター側にはパルス信号とポテンショメーターを比較して
追従する回路がありパルス間隔の分解能にて追従すると思われます。

さて今回のPWM信号にて駆動ですとポテンショメータ
帰還が掛からない状態ですから、モーターの電流電圧特性と
PWM駆動回路のインダクタンス逆クランプダイオードによる
特性で決まりそうです。

駆動回路が1方向で有ればモーターを逆短絡するようにつなぐので
駆動電流は on時電流 が off時クランプによって流れ続ける
方向に働きます。
両極性の場合は電源に逆流させるような形で働くので、更に短い時間で減衰します。

回転数や負荷などによって同じ時間でも電流が同じではないので、
全域にわたって比例させるには電流検出をして
遮断導通を制御する回路が要ります。

モーターの回転数は電圧に
トルクは電流に、概略比例します。


Re: RCサーボ - ながれ星 2008/04/24(Thu) 20:56 No.557
天の川 さん、こんにちは。

先日秋葉原に寄れて秋月でDC Motor Controller キットが店内右の吊棚にありましたので入手してきました。
基板も電池ケースもVRもSWもモーターも付いていて、これで\400は安いです。他にPICプログラマのVre4キット
と8PのPICも入手しました。8PのPICは良く調べもせずに\150のPIC12F683 I/Pを入手して、戻って調べたら
A/Dコンバータは不要なので無駄でした。PIC12F629で間に合うはずで、これなら¥100でした。
まあ使えると思うし何時かはA/Dが出来ると思って良い事にします。

キットの回路図を見ましたがモーター部分からデューティを作るオペアンプにフィードバックしている
ような気がします。もしかするとモーターが回れない事が検知できてパワーアップしてくれるのかな?

変速できる範囲と、その時の起動トルクはアマチュアレベルで測定してみます。クロック次第ですが
ポケコンの鈍足ロジアナでPWM波形も見たいのですが、レベル不足ならアンプが必要かも知れません。


Re: RCサーボ - ながれ星 2008/04/25(Fri) 18:25 No.558
ノンノさん、こんにちは。

>> 回転数や負荷などによって同じ時間でも電流が同じではないので、
>> 全域にわたって比例させるには電流検出をして
>> 遮断導通を制御する回路が要ります。

DCモーターは電源線をショートするとブレーキになりますね。
速度不足時は回転方向の電力を増大供給して速度が速すぎたら電力を減らし、まだ早かったら
その方向のショート回路を構成するとなるとこれはもう大変です。
負荷変動のある場合の応答性をあげるのは大変ですね。ステッピングモーターでもプルインと
プルアウトのトルクは異なるようで、DCモーターも減速側の制御は難しいみたいです。

なんか、凄く難しそうです。ある程度までの負荷と限定して、ある程度の変速範囲があればOKと
して速度制御ではなく、ただの電力制御で、ある程度変速が出来れば構わないことにします。

とりあえず例のギヤードモーターがどのくらいの実用範囲かやってみます。減速比は大きいので
出力トルク3.4kgCmで、30rpmは無負荷だったので20rpmとして3.4kgの重さを1分間で60Cmは吊り
上げられ、10kgなら1分間で30Cmは持ち上げるパワーです。色々考えられそうです。

大口径ドブが安くなっているので、もし入手したらフリクションドライブの微動電動化をして
みたい。DCモーターでは変速範囲で無理か。。。おっと、また星にいってしまう。


Re: RCサーボ - ノンノ 2008/04/25(Fri) 21:24 No.559
ながれ星さんこんにちは定電流の場合は回転に関係なく一定のトルクで回そうとする。
定電圧の場合はKで決まる電圧により回転が低いと電流が流入して
加速し、
回転が低いと流出して減速します(ただし外部に電流を吸収できるブレーキ回路がある場合)
ですから定電圧型制御(キットはそうなっている)で(ブレーキが付いていません)で有るので正負荷側の制御はそこそこ出来るはずです。
(逆クランプダイオードが小さいのでもっと大きな超高速ダイオードに換えると電流容量が増えそうです)


Re: RCサーボ - ながれ星 2008/04/27(Sun) 09:58 No.560
やってみましたが、電源が6Vでは例のギヤーモーターは回ってくれません。付いていたマブチ
モーターなら回りました。仕方が無いので電源を9Vにしてまわしてみました。超低速にすると
速度が安定しません。何とか安定して回る速度は一回転6秒くらいです。高速では一回転0.9秒
くらいなので変速範囲は1:7程度です。低速時のトルクも1/7くらいになっていました。高速時
のトルクは測定していませんが3.4kgCm以上ある感じです。負荷変動時の回転数変化も調べて
みたかったのですが、負荷装置を作る必要があるので諦めます。まあ電力制御ならシリーズ型
の電流制御では損失も大きくなりそうなのでPWMが正解と感じます。もう少し変速範囲が取れ
るかと思いましたが仕方がないのでしょう。10kオームのVRの変速範囲はわずかなので、もし
実際に使うなら固定抵抗を変えた方が良いと思いました。



Re: RCサーボ - ながれ星 2008/04/27(Sun) 09:59 No.561
電源を6Vにして、付いていたモーターの方が変速範囲は広いようです。その時のコンパレータ
出力をポケコンの鈍足路地穴でモニター出来ましたが元々サンプリング時間もいい加減なので
パルスを測定は出来ませんが、なんかデューティ変化というよりパルス間隔も変わっている
ようです。これでもPWMなのかな。コンパレータ出力にポケコン入力をパラっているし実際に
モーター端子を測定していないので正確なことは分かりません。最高速時はパルスの切れ目が
見えずONのままでした。ポケコンのサンプリング時間は70マイクロ秒位ですがLCDアドレスが
変わる4個所は100マイクロ秒位だったと思います。

暫く回していてもドライブのFETの温度は全然上昇しません。モーターケースは少し温かく
なりますが連続で使っても大丈夫な感じです。



4桁で実験 投稿者:ioio 投稿日:2008/04/24(Thu) 11:51 No.554 ホームページ   
原典はこちら
http://www.piclist.com/techref/io/led/8x7s8pin.htm
投稿No.534で紹介された海外のサイトです。有益な情報に感謝です。

LEDのアノードコモン端子をポートに直結しました。
セグメント電流制限抵抗は680Ωです。
ソースコードのDIG_SIZEで最大8桁まで対応します。
コピーで利用する場合は、インデントの全角スペースを半角または水平タブに変更してください。

//****************************************************************************
// Project : 7SEG LED 8桁表示(フロートビットダイナミック点灯方式)
// C_Compiler : WinAVR
// Chip type : ATtiny2313
// Clock frequency : 内蔵RC1MHz(8MHz*1/8)
//****************************************************************************
// インクルード
#include "io.h"
//-----------------------------------------------------------------------------
// ポートマップ
// PB0  seg_a,  1桁目の走査    a
// PB1  seg_b,  2桁目の走査    ━
// PB2  seg_c,  3桁目の走査   f┃ ┃b
// PB3  seg_d,  4桁目の走査    ━g
// PB4  seg_e,  5桁目の走査   e┃ ┃c
// PB5  seg_f,  6桁目の走査    ━  ●
// PB6  seg_g,  7桁目の走査    d  dot
// PB7  seg_dot, 8桁目の走査
// PD6  float bit
//-----------------------------------------------------------------------------
// 定数
#define T1MSEC 125 // タイマー0設定値=1msec
#define DIG_SIZE 4 // 表示桁数指定(最大8桁まで)
//-----------------------------------------------------------------------------
// ROM領域定義
const unsigned char seg_code[] = { // アノードコモン用
  0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xD8, // 0,1,2,3,4,5,6,7
  0x80, 0x98, 0x88, 0x83, 0x86, 0xA1, 0x86, 0x8E, // 8,9,A,B,C.D.E.F
  0xBF}; // -
//-----------------------------------------------------------------------------
// メイン関数
// 機能 : PORTBに接続した8桁の7SEG LEDをfloat bit方式でダイナミック点灯
// 処理 : 1) ポート、タイマー0、WDTなどの初期化
// : 2) 表示データ取得、7SEG LED点灯
// : 3) ダイナミック表示桁更新
// : 4) 1msec遅延
// : 5) 2へループ
//-----------------------------------------------------------------------------
int main(void)
{
  // 入出力ポート初期化
  // Port B 初期化
  // b0-b7=Out
  PORTB=0x00;
  DDRB=0xFF;

  // Port D 初期化
  // b0-b6=Out
  PORTD=0xFF;
  DDRD=0xFF;

  // タイマ0スタート
  TCCR0B = 0x02; // プリスケール1/8。クロック8usec。

  // アナログ比較器初期化
  ACSR=(1<<ACD); // アナログ比較器電源オフ

  // ウォッチドッグ(WD)禁止
  __asm__ ("WDR" ::); // WD タイマリセット
  MCUSR &= ~(1<<WDRF); // WD リセットフラグ(WDRF)解除
  WDTCSR |= (1<<WDCE)|(1<<WDE); // WDCEとWDEに論理1書き込み
  WDTCSR = 0x00; // WD禁止

  unsigned char dsp_no; // 表示値格納
  unsigned char seg_data; // セグメントデータ格納
  unsigned char dig_no = 1; // 表示桁初期値設定
  unsigned char dig_data = 1; // 桁走査データ初期値設定
  unsigned char dot_pos = 3; // ドット位置指定
  unsigned char dsp_buf[8] = // 表示データバッファー
    {1, 2, 3, 4, 5, 6, 7, 8}; // 配列要素先頭が1桁目

  while (1){
    PORTB = 0x00; // 全桁OFF
    dsp_no = dsp_buf[dig_no-1]; // 表示データ取得
    seg_data = seg_code[dsp_no]; // セグメント点灯データ取得
    if((seg_data & dig_data) == 0x00){
      PORTD &= ~(1<<PD6); // フロートビットオン
    }else{
      PORTD |= (1<<PD6); // フロートビットオフ
    }
    if( dot_pos == dig_no){ // ドット点灯桁チェック
      seg_data &= 0x7F; // ドット点灯ビットを合成
    }
    DDRB = ~seg_data | dig_data; // オンセグメントのみ出力ポートに設定
    seg_data |= dig_data; // 桁走査データと合成
    PORTB = seg_data; // セグメントと桁走査を出力

    dig_data <<= 1; // 桁走査データ更新
    if(++dig_no > DIG_SIZE){ // 表示桁を更新
      dig_no = 1; // 表示桁初期値設定
      dig_data = 1; // 桁走査データ初期値設定
    }

    // 1msec遅延
    TCNT0 = 0x00;
    while( TCNT0 < T1MSEC ); // 8μsec*125=1msec待ち
  }
}
//-----------------------------------------------------------------------------
// END
//-----------------------------------------------------------------------------


Re: 4桁で実験 - ノンノ 2008/04/24(Thu) 20:02 No.555
PICよりAVRは素直で良いですね。
しかしPICで作ると単体で(16F648Aなど非同期プリスケーラ)
50MHZのカウンタが出来てしまいます。
(カウントレベル0-5Vとして、場合によってはプリアンプのみ必要)

470ΩをRA3,4につないでタイムピリオドカウント、1/8プリスケーラ押し出しで50MHZカウントが出来ます。T1キャプチャーを使えば
周期測定方式併用で1秒で9桁表示できます。
(計算が大変ですが・・)
PIC「AN592」が原典



9桁7SEG-LED表示は 投稿者:ノンノ 投稿日:2008/04/08(Tue) 12:00 No.536   
アマチュア諸子の垂涎の的(ではないか?)の周波数カウンタを
考えてみたとき、多桁の表示器が要って探しているとき見つけ
こちらの方が面白かったので、追求して見ました。
(原典はマイクロチップのアプリケーションノート AN592)
です。

元の周波数カウンタはPICで約90MHZを直接
(ディジタルレベルが足りない場合のプリアンプが必要)
一番安い16F648Aに送り込むタイプです。

プリアンプは74HC4046のPLLフェーズコンパレーターを使うと
良いのですが、メーカーによって性能に差があるようです。
(内部に直列インバーターの自己増幅回路が有って信号をフルスイングします)
http://focus.tij.co.jp/jp/docs/prod/folders/print/cd74hc4046a.html

プリスケーラ(プリアンプ付き3GHz分は90MHZ以上でないと動作しない)を含めると
9桁で999.999999MHZまで計れるので、最適のようですし、
9ピンしか使わないと残りのピンがほかの用途に使え何かと便利そうです。

この回路でICSPが使えるか疑問です。

Re: 9桁7SEG-LED表示は - ながれ星 2008/04/09(Wed) 19:12 No.538
桁ビットに1ビットづつ割り当てて、各桁は自分の桁ビット以外の8ビットでパターン表示する。なるほど面白いです。普通は同じ数字は同じパターンで表示するでしょうが、各桁ごとにパターンを替えるのを許してソフトで処理すればいけますね。桁ビットの論理と表示ビットの論理が同じだとパターン表示時に違う桁を指示してしまいそうなので、出力が5Vと∞と0Vの3位置になるなどの必要があると思いますが、PIC出力はそんな器用な出力なんですね。そのつど出力のタイプ変更設定をするのかな。桁ビット出力ポートは最大で8倍の電流容量が必要になりそうですがPICはそんなに出力電流が取れるのでしょうか。


Re: 9桁7SEG-LED表示は - ノンノ 2008/04/09(Wed) 19:20 No.539
PICは25mAを許容しているのですが、
1kΩなら3mA*8=24mAです。
流すと電圧が落ちるので実際はもう少し低めです(510Ωとか)
(直接ポートデータを読まないのでレベルの影響を受けない)
フローは次です。(文字間隔が変わるので図が出にくいのですが・)

次と表示が連結できれば良いんですが・
http://www.piclist.com/techref/piclist/weedfreq.htm
wct5.asm
wct6.asm

;LEDMPX1
list p=16f648a ; list directive to define processor
#include <p16f648a.inc> ; processor specific variable definitions

; __CONFIG _EC_OSC & _WRT_OFF

; '__CONFIG' directive is used to embed configuration data within .asm file.
; The labels following the directive are located in the respective .inc file.
; See respective data sheet for additional information on configuration word.



Re: 9桁7SEG-LED表示は - ながれ星 2008/04/10(Thu) 18:50 No.540
ノンノ さん、こんにちは。

> PICは25mAを許容しているのですが、
> 1kΩなら3mA*8=24mAです。

そこそこ流せますね。セグメント電流3mAは明るいところでなければ十分と思いますがダイナミックドライブで1/9の表示時間だとどうでしょうか。防眩フィルタを付けなければ大丈夫かな。最近の7seg表示機は防眩フィルタなんて不要かも。自作では自分なりに一応安全率は考えますが使い方も限界も分かったつもりなので、いつも省けるものは省きます。省いて駄目だった事も多いですが。

> フローは次です。(文字間隔が変わるので図が出にくいのですが・)

自分にはソフトはとても難しい。。。時間がかかります。
あ、コメントを付けてもらえたので助かります。ありがとうございます。


Re: 9桁7SEG-LED表示は - ノンノ 2008/04/10(Thu) 22:54 No.541
眼が感じるのは光化学電気変化、なので明るいときは直ぐ反応して
暗くなる時の反応は遅いので平均より明るく見えるそうです。

バグがありました、
上記のソフトはPORTA,0を2回目以降、決定していません。
また、TRISAはポートレベルの反映をしていないので
保存する必要はありません、
PORTAはポートレベルの反映をするので保存、直接書き込みが必要です。
(PORTAのbcfやbsfは 適正な反映をしません)

図のCCPを低周波入力に使えるように振り替えました。
これで相当ソフトがややこしくなります。

フローのバグの分はは入れ替えました。
コメントはMPLABが通らないので抜きました、
CCPは使えるようになっていません。


Re: 9桁7SEG-LED表示は - ながれ星 2008/04/16(Wed) 19:38 No.549
ノンノ さん、こんばんは。

> コメントはMPLABが通らないので抜きました、

何かでセミコロンからリターンまでの間は漢字を書いても大丈夫と読んだような気がしますが、MPLABでは通らないのですね。
他のアセンブラと勘違いしていたようです。コメントは英文やアルファベットだけだと自分には辛いです。


Re: 9桁7SEG-LED表示は - ノンノ 2008/04/20(Sun) 11:49 No.552
エラーがでまくったので抜いたのですが別だったみたい。
書きながら全角半角の切り替えが面倒で半角のままにしています。


[1] [2] [3] [4] [5] [6] [7]

処理 記事No 暗証キー

- Joyful Note -