AVRマイコン総合スレ Part41
■ このスレッドは過去ログ倉庫に格納されています
>>776 3216が出る前に1616をまとめ買いしてめっちゃ使ってるw ICE使っても1ピン喰われるだけだし、デバッグは安定してるし、いい子だよ。 mega3208もお気に入り。 tiniy0/1シリーズなら内部20MHz有るんだから水晶要らないっしょ。 クロックの出荷時誤差書き込んでくれてるし、オートボーレート機能有るし。 てかそもそも水晶付けらんないし・・・ 代表特性だと全動作温度範囲で0.5%くらいに収まってるから大丈夫なんじゃない? クロックをオシロで見ながらドライヤー当てて見たけど全然動かん。 最近のは水晶付けられないんで音程狂って使えないんだよなー。 外付け発振器だと高くつくし >>776 おすすめのライター教えて ATtiny416-xnanoの半分使っても書けそうだけど… >>782 「デバッガ」だよ。Atmel ICE↓ http://akizukidenshi.com/catalog/g/gM-08285/ 使ってみないと良さは伝わらんと思うけど、 一度使うとこれ無しにデバッグする気になれないと思うよ。 あ、最近のデバイスならPICKit4でもデバッグできるんだっけ↓ http://akizukidenshi.com/catalog/g/gM-13337/ 電源も供給できるし、誰か人柱になってくれw >>781 最初の頃UARTが全然届かなくて水晶にしたら解決して以来、 基本内蔵は使ってないんだけど、 そこら辺どう? >>787 屋内使用限定で通信エラーが重要じゃない売り物でそこそこの数出てるけど、文字化けの報告は一度もない。 一応20台くらい-20〜50度の環境試験かけたけど、文字化けは1台も無かった。 社内用のちょっとした治具でもUARTは当たり前のように使うけど、xmegaや今のtinyに水晶を積んだことは無いな。 もちろんトラブル無し。 tiny2313やmega328はダメダメだったなあ。 経年劣化は知らんよ。 言い訳のできない産業用途なら俺でも水晶発振器積む。 用途とコスト次第ってことよね。 Atmel STARTじゃtiny3216なんかのボーレート補正コード吐いてくれないんだよな。 水晶付けられなくしたんならその辺ちゃんとしろよって思う。 プログラムで補正したボーレートレジスタ設定値を計算させたらコード量が膨大になったよ。 inline関数にして可能な限りプリプロセッサ任せにしたら激減したけど。 ここ何日か、tiny2313+内蔵OSC8MHz+19.2Kボーで UARTをデバッグ用に使っているけど、文字化けは経験していない。 ただし仕事(金を貰う)の仕様として使うUARTなら水晶を使う。 室内じゃたいした温度変化ないからそんなもんよ。 ドライヤー当ててみな。 19200じゃどうでもええやろ 250000とか115200のハナシ クロック精度の話してんだからボーレート関係ないな。 精度が悪けりゃ300bpsであろうとも化けるさ。 >>788 使い始めてダメだったの丁度その二つだ。 xmega系使うときあったら内蔵試そうかな。 むしろどんな仕事なのかが気になった。 XMEGA32って安いのね 同じQFP32ピンならmega3208はもっと安いよ。 こいつも内部クロックが最近のタイプの隠れxmega系列。 厳密にはコアや命令セット上の分類だよ。 DFLLなんて周辺機能の一部でしかないし。 xmegaより後に出たtiny0,tiny1,mega0シリーズはgccでの分類上もxmega。 まあ製品名にちゃんと「x」がついてるものより機能低下してるのは確かだけどね。 DMA無くなったのは痛いしタイマーの機能もしょぼい。 しかし安い! そこじゃなくて、>>800 の、mega3208の内部クロックがxmega系、って所。 正直なところ、mega0シリーズはクロックだめだめで、 音系のもの作る私に取ってはちーとも使いモノにならない。 外部クロック使えばいいのに 今時MEMS発振器使えば安上がり >>803 UARTが使えるかどうかの流れからいきなり音系基準に変えられてもw mega0系はクロックの調整幅が荒いからね。 シグネチャのOSC20ERR5Vとか使ってタイマー側で校正してる? 音関係なら0.5%のズレでもきついのかな? DFLLも内蔵32Kでの補償なら精度は似たようなものだと感じたけど。 音楽系なら0.5%の誤差はたぶん許されないでしょうね。「440Hzが438Hzに聞こえる場合があります」と言われてOKって言う人少なそう。 事務用のカセットレコーダーだとパーセントオーダーの誤差は許容されていたはずだけど。 UARTなら、相手も同じように誤差があるとしても2%ぐらいは大丈夫では。 >>806 音楽系では、精度が高くても、ジッタで周波数が特徴的にずれるのはNGですね。 水晶にしても、ノウハウがないかぎり 精度の保証された、外部発信器かなーー と思ってるけど、どうなんでしょ。 水晶発振器を外部トリガに渡して内蔵RCでカウントさせると周期的にうねってるのが判る >>807 精度、正確度あたりの言葉を狭義、広義で使う人とで混乱しそう。 あと、機器の物語やココロで音楽を聴く人と、まあこれで普通は十分だなという立場で聴く人とでも違ってきそう。 私は後者。水晶だったら、普通にそれで組んであったら、もうそれで十分すぎるほど十分だと思う方です。 >>809 普段は、効果音、程度なので、レゾネータで十分です。 楽器と、云ったとたん難しくなるでしょうね。 水晶は、RTC作ろうと思って、32768の水晶使ってみたら、 結構時間精度が出せなくて、キャパシタの選択等、簡単な話ではないな〜と思った次第です。 RTCはぶら下げるコンデンサでめちゃ変わりますね。 特別32.768kHzの水晶だから変化するのではなくて、RTCが要求する精度が高いわけですけど。 高精度なRTCが欲しかったらTCXO入りRTCに逃げています。機会があれば、SiTIMEのMEMS TCXOも試してみたい。 マイコン内蔵のRTCに精度求めたらつらかった経験あるわ。 専用ICのPCF2129に落ち着いてから変える気無いなあ。 誰もが頭が良くなる、プログラムが書けるようになる方法が発見される 50545 https://you-can-program.hatenablog.jp うちじゅうどこでもWi-Fiが拾えてESP8266から時刻サーバへアクセスできるから、 RTCモジュールなんかみんなお蔵入りしてるわ。 フィールドに出るとネットにつなぐだけで一苦労だからなぁ。。。 xmegaのが酷かったのは見た。 tiny1616が有るから今からオシロつないでみるわ。 オシロが500Ms/sっていう中華激安品なので参考程度に。 分解能低くて分周しないと計測できません・・・・ tiny1616のクロック出力(20MHzの48分周)をPersistモードで観察したところ、 1クロックの振れ幅が10nSくらいでした。中心値から0.2%強ってところ。 xmega32E5も有ったのでついでに確認。 内部32kとのDFLL有効、32MHzの64分周で似たような波形でした。 ちなみにtiny1616のクロック周波数は19.79MHzで約-1.05% SIGROW.OSC20ERR5Vで補正したボーレートは-0.3%でした。 >>811 >>812 市販品の1000円くらいの液晶時計が、お馴染みの水晶でそこそこの精度なんで、 簡単だろうと思ったら大間違いでしたね。 大量生産品(手間かけて精度を追い込む)か、目安程度(精度悪くてもいい)のRTCで無いかぎり、 マイコン内蔵のRTC使う理由が無いなぁ という判断してます。 専用ICが楽チンでいいですよね。 >>820 AVRスレですが、AVRの内蔵RTCは使ったことがありません。すみません。 >>811 でも書きましたが、、精度の高い水晶を選んだところで、コンデンサを適切に調整しなければ、水晶の精度を殺してしまいます。 計算で目途をつけておいて、発振周波数を確認しながら1〜2pF単位でコンデンサを交換して調整をして、詰め切れないぶんはRTCの補正機能で調整します。 ここまでは、割と手間じゃありません。厄介なのは、温度変化に対してどこまで対応するの?ってことじゃないですかね。 最近のマイコンだと、温度補正付きRTC内蔵のものってあるのかな? 専用ICがあるものは、専用ICに任せた方が上手くいくのは寂しい限りだ・・・ 実務的には楽なので、大変結構なんだが >>821 お仕事的には、専用IC使うとか、最新のMCU使えとか、別のMCUなり、合理的な 選択すればいいんですけど、お仕事を解決するためのスレではないので、 一応 AVR しばりで、いろいろ思いを馳せたり、 手と頭を動かすのは楽しいです。 ところで、RTCのテストって、やはり高精度の測定器が必要なのかしら? 1日に数秒ずれるとか、そういう検証は、つらいです。 >>824 仕事といっても、量産品だとコストがやかましく言われる場合もありますし、CPU内蔵のもので実装することがあるような。 測定ですが、以前の勤務先には基準クロックがあって数秒ぐらいで誤差がわかりました。 自宅でやるぶんには、RTCに1Hzなり10Hzを出させて、それでゲーティングして高精度TCXOのクロックをカウントしてます。 そのカウンタでGPSの1Hzを見ておいたらTCXOの誤差もわかるし。それを使えば、数秒ぐらいで数ppmぐらい(月差10秒ぐらい)までわかります。 RTCが温度補正機能を持たないなら、これ以上追い込んでもあまり意味がないので。 >>825 数ppm で月差10秒って冷静に計算すると、当たり前ですけど、大変ですね。 感覚的に50ppm以上の精度だと温度係数が効いてくるし、 MCUの発振回路のバラつきもあるので、どの程度の精度を見込めるかって 重要ですね。市販の時計って優秀だな〜 炊飯器の時刻タイマーや、お風呂の時計は精度悪いけど、まぁそういう仕様なんですね。 俺がやってるAVRでのRTC校正方法は、 GPSの1PPSを基準にRTCクロックの32768Hzを61秒分カウントする。 カウンターを15ビット以下でフィルタして符号付きとみなせば 約0.5ppm単位の誤差がそのまま見れるよ。 元々誤差が多くないRTCなら8ビットカウンタでも十分。 コンセントから電源とる時計は精度最強なんですけどねw。 61秒で 0x1E8000 カウントで、ほぼ200万カウントだから0.5ppm単位か…。 なるほど。すごい。 >>828 >コンセントから電源とる時計は精度最強 時刻情報が必要な、AC100V電源のある装置で AC100V → 使わなくなったトランス式ACアダプタから取り外したトランス → CRとツェナーダイオードとフォトカプラ → CRとシュミットトリガ入力インバータ → CPUのカウンタ で50Hzパルスを取り出して時計を駆動していますが、 半年後でも1、2秒程度の累積誤差です。 もっと減らすにはどうしたら良いか思案中です。 >もっと減らすにはどうしたら良いか思案中です。 ノイズを拾うなどして誤カウントしているのでもなければ、電力会社依存なんでしょうね。 電力会社はどれぐらいの精度を保証しているのでしたっけ。ちょっと探しただけだと見つかりませんでした。 それって10年でも20年でもその程度の範囲じゃないの? 短期的変動でそのくらいは揺れる。 1日あたり4,320,000回になるようになっていて、細かい周波数は+-0.3くらいだっけか 調べるとこうあった 日本の電力会社が目標としている周波数偏差 北海道 50±0.3Hz以内、時差 3秒以内 中西地域 60±0.2Hz以内、(中部電力 時差±10秒以内、滞在率95%以上 60±0.1Hz) 東地域 50±0.2Hz以内、(東京電力 時差±15秒以内) 島嶼部 沖縄電力 60±0.3Hz以内、時差±8秒以内 時計の調整を手動でやっていたころはオシロで位相を見ていたな プローブ付けられないから電源端子から発振周波数拾ってた クオーツの発振音なんてマイクで拾えるもんなんだろうか いつのまにかtiny10が再び安くなってる 割と便利なんだよな >>837 32.768kHzの水晶振動子をマイク代わりに時計に接触させると拾えるよ PICkit4で遊んでたらこんな商品があるのを今知った。 http://akizukidenshi.com/catalog/g/gM-13854/ デバッガが1740円かよ・・・・ハヤクユッテヨ これPICKITとどう違うの? PICKITは3でAVRISPmkUも手元にあるけど、あると便利? >>842 AVRのインサーキットデバッグができる。 ISPmkIIはただのライターだし、PICkit3はAVRに対応していない。 PICkit4のサブセットらしいがAtmel Studioで使えるって情報が無いな。 PICkit4は使えるんだから対応待ちだろうか。 >>843 だってPICkit4は5700円もしやがったんだぜ。 買ったばかりなのに壁に投げつけたくなった・・・ >>844 なるほどそーゆーことか 確かにAtmel Studioでしかデバッグしてなかったわ 今度秋月よったら買って、俺も使ってみるよ 情報さんきゅー >>847 不安になるほど熱くなるんでヒートシンク貼って使ってる >>848 PICKIT4もUSBつないでいるだけで結構熱い。中の基板はもっと熱いはず。 PICkit4を昨日からUSB繋ぎっぱなしにしてるけど暖かくもなんとも無い。 電源供給設定の関係か? >>850 確かに、書き込み時に、電源供給設定はしてます。 mega4809にDIP40ピンを追加だってさ。 DIP好きの人よかったね。 st-link v2とstm32をつなげて STM32 ST-LINK Utility立ち上げて接続したら if you're trying to connect to an stm32w1xx device please select normal or hotplug mode frome target settimgs menu if you're trying to connect to a low freqency application please select lower swd freqency mode from target settings menu エラーが出て接続が出来ません。 //www.youtube.com/watch?v=KgR3uM21y7o&t=43s この動画にある物と同じ物使ってます。 とりあえずメッセージを理解してその通りにやってみたら? >>854 さっぱりわからない。 一応翻訳した通りにはやったけど モードもアンダーリセットに切り替えると今度はホットにしろとメッセージが出て ホットにしたらアンダーにしろと何が何だかわからない。 >>857 落ち着け!顔を真っ赤にして手を震わせながら投稿しているよね。 薬飲んだほうがいいよー。 ID:REF49+Aaさん。なぜ AVRのスレで、STM32のことを相談なさっているのですか? マイコンの総合スレがあったら 親切丁寧にレスして引きずりこめるのになぁ…w adciがしたい場合ってbrcsで分岐してやるしかない? sbciじゃ無理だよね 他のレジスタは使わない前提 ごめんbrccだったまぁ分岐作るってこと 16bitの即値加算が一手間いるんやね C言語みたいにr1をゼロレジスタとして固定するとかどう? アセンブラなら別にr1である必要もないけど。 >>869 ありがとう 実はもともとCで書いてるんだけど、割り込みをISR_NAKEDつけてアセンブラで書いてるんだ 割り込み書いてるからレジスタ使うと漏れなく4クロックが追加されてしまうんで 素直にbrccで分岐させるよ UARTとRS485を使いたくて、 UART2チャンネルの5v avrを探してるんですが、 お手頃なのはやはりAtmega64でしょうか? ピン全然使わないので、atmega328サイズで無いかなと思いまして。 tiny441/841なら14ピンでUARTが2個あるよ。 新しくtiny2シリーズが出るみたいね。これもtinyなのに2UART有る。 AVRやめる気は全然無いんだねえ。 PICへお移りくださいと言ってサポートしたり世話焼くより そのままAVR食わしとく方が稼げる それくらいのことは馬鹿でも判断できる ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる