自己紹介

ソフト屋が、電子工作、DIYに興味を持ち、不勉強のまま手を出したために、ドはまってもがき苦しんでいる様を公開するブログ。 当面は「生活向上、便利、コスト削減」をテーマに、習うより慣れろ精神でいろいろ作っていく。

2016年5月24日火曜日

Atmel StudioのDelayについて

こちらのサイト等を参考におさらいしてみた。
easylabo
_delay_us
書式:_delay_us(double);
遅延時間:引数usの遅延時間を生成
最大遅延時間:768us÷F_CPU(MHz)※1.2Mの場合 768 / 1.2 = 640
遅延時間超過時:自動で、_delay_msにスイッチする

_delay_ms
書式:_delay_ms( double );
遅延時間:引数msの遅延時間を生成
最大遅延時間:
(A)262.14ms÷F_CPU(MHz)※1.2Mの場合 262.14 / 1.2 = 218.45
(B)6.5535s(分解能0.1ms時)
遅延時間超過時:
(A)を過ぎると分解能0.1msになるが、最大遅延時間が6.5535秒に伸びる。

最大時間は頻繁に仕様変更されているようなので、実際には自分のAtmel Studioの
util/delay.h
の記述を参照すること。



  • 0.1や0.01のように小数点以下を指定することも可能
  • 原則として定数を渡すこと


2016年5月19日木曜日

矩形波、方形波、とパルス波の考え方

wikipediaによると短形波とは、



とのこと。


つまり(大まかに言うと)、

↑これは短形波、


↑これはパルス。

ということになる。

ちなみにデューティー比は(大まかに言うと)1周期におけるHighの割合。

2016年5月18日水曜日

Attiny13aでCTCの実験




○ポート設定
DDRB = 0b00000001; // PB0を出力に。

○タイマ設定(CTC動作、8分周)
TCCR0A =
(0 << COM0A1) |
(1 << COM0A0) |
(0 << COM0B1) |
(0 << COM0B0) |
(1 << WGM01)  |
(0 << WGM00); 
TCCR0B = 
(0 << WGM02) |
(0 << CS02) |
(1 << CS01) |
(0 << CS00);
fclk_I/oを1.2Mとすると、
fOCnx = 1200000 / 2 * 8 * (1 + 200)
=373Hzぐらいになるはず。

○回路図



○結果
ほぼそうなったけど、合ってるのだろうか。。
今度もう一度やってみる。

2016年5月7日土曜日

AVR タイマ0 PWM停止の方法

二日二晩調べて、答えがみつかったのでメモ。

Attiny13aのデータシートだが、

上記のようにTCCR0Bのクロック選択ビットをすべて0に設定すれば停止となるよう。


2016年5月2日月曜日

壁掛け電波時計の修理

壁掛け時計「GREENWICH MJU268」の修理メモ

MARUMAN MJU268 の取扱説明ダウンロード

デジタル表示が乱れる現象が起こり、翌日まったく表示されなくなった。
充電池が怪しいので交換してみる。

  • カバーの取り外し。

後部のネジを外し、前部のクリアパネル(両面テープで貼られている)をはがす。
パネルを外すとさらにカバーネジがあるのでそれも外す。


  • 電池交換

リチウムイオン充電池がハンダ付けされている。


型番 MAXELL ML2016
種別 二次電池(充電池)
タイプ コイン形二酸化マンガンリチウム二次電池
公称電圧 3V
公称容量 ※1 25mAh
サイズ 直径20.0mm×高さ1.6mm

電子部品屋で「ML 2016-HJI(3V 30mA、\1,007)」を購入して交換したら復活しました。