2014/05/31

RTC-4543 & Arduino Act.3

Arduino Pro  (3.3V, CR8MHz)/ ATmega328互換のマイコンなのですが
LCDの都合で5.0Vで可動させてみました。
ふつうに動きました。

2014/05/30

RTC-4543 & Arduino Act.2

RTC-4543SA RTCモジュール
ACM1602NI-FLW-FBW-M01 I2C_LCD
ATMEGA168P-20PU
3.3V 8MHz(内蔵CR)

スケッチ書き込みは、ATMEGAなしボードをつないで
行いました。

PC6(1Pin)=RESET
PD0(2Pin)=D0
PD1(3Pin)=D1
PB5(13Pin)=D13

GND(8or22Pin)=GND

5本の接続が必要となります。

PD0,PD1は、それぞれRXD,TXDでスケッチの書き込み時
通信に使用するので、データがぶつからない様配慮する。
今回は、
int c0Pin = 3;  //D3
int cePin = 14;  //A0
int wrPin = 15;  //A1
int clkPin = 16;  //A2
int dataPin = 17;  //A3
を使用しました。
(写真撮影時は、c0Pin = 3;  //D3を使用せず、
未使用のPD2(4Pin)=D2がつながっています。
RESET した時、「あらかじめ設定した日時を書き込む」
でリスタートするスケッチを
後に
int c0Pin = 3;  //D3のdigitalRead(pin3)HIGH/LOW見て
hot とcold の2つのスタート処理に
(hot の場合は、「あらかじめ設定した日時を書き込まない」)
に変更したためです。)

追記 5/31

TR5822での周期測定比較の結果のおさらい。
GPS 1PPS : RTC 1PPS
1.0000000S : 1.0000053S


5/31 追記

5/31 追記

2014/05/29

RTC-4543 & Arduino

秋月電子通商でRTC-4543を購入しました。

RTC-4543SA使用32kHz出力シリアルRTC基板モジュール
http://akizukidenshi.com/catalog/g/gI-04593/

参考にさせていただいた両氏のウエブログ

↓Hayatoさんのウエブログ
http://d.hatena.ne.jp/rinie/20120224/1330021332

↓kyuuzyuu9yenさんのウエブログ
http://d.hatena.ne.jp/kyuuzyuu9yen/20100803/1280828753
http://d.hatena.ne.jp/kyuuzyuu9yen/20100912/1284283555

なんとか表示するところまでたどり着くことができました。

TR5822 で 1Hzを計測。

999.995mHz = 0.999995Hz でした。
200000秒経過すると1秒進む。
ということですかね?
2日で1秒かな?

Breakout基板の①番 FOE をプルアップすること。
(NCだと手を近づけただけでFOUTが変化する。)

2014/05/27

GPS redio clock

GPS & Arduino Act.5
試行錯誤の結果やっと形になりました。

GPS redio clock 1.41

GPS時計(日本時間表示&補足衛星数)と
1PPS(ユニバーサルカウンター校正用)

ソルダーレスブレッドボードMB-102と
電源ユニットですっきりさせました。

PA6H GPSモジュール
ACM1602NI-FLW-FBW-M01 I2C_LCD
ATMEGA168P-20PU
3.3V 8MHz(内蔵CR)
74HC14AP
AE-FT231X USBモジュール

2014/05/25

GPS & Arduino Act.4

サインスマート製の16×2_LCD

Uncompatino 3.3V版 (8MHz水晶発振子)

の組み合わせでも動作を確認しました。

UCT → JST の変換ルーチンを追加しました。

C++ は難しい。

まとめ「Arduinoを学習する。」Act.2

まとめ「Arduinoを学習する。」Act.2

ボードの説明(左から)
[1]-------------
サインスマート製のArduino Uno R3 互換機
同上16×2_LCD
   >>> Unoの基本を学ぶ。
[2]-------------
秋月電子通商の「AE-ATmega」Arduino Duemilanove 互換機
妙楽堂電子パーツショップで購入。Elecrow社 AVR ISPシールド 801-ECP-SISP
   >>> ArduinoをAVRライタとして使うことができるようにするシールド。
      ArduinoISPでは、ATmega168Pに書き込みできないらしい。
http://daikunomokichi.blogspot.jp/2014/05/blog-post_4322.html
[3]-------------
Uncompatino 3.3V版 (8MHz水晶発振子)
(Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328 コンパチにしました。)
   >>> ソルダーレスブレットボードとの組み合わせて
      ATmegaスケッチのデバックで活躍。
[4]-------------
Uncompatino 5.0V版 (16MHz水晶発振子)
   >>> 「すz」及び「ゆき」さんに感謝し
      <FT245R/FT232R で avrdude>+<avrdude-GUI>の書き込みソフトで、
      <通常版のUncompatino>+<ゼロプレッシャーICソケット (28P)>で、
      ブートローダの書き込みを行う。
      ATmega168Pは、ATmega168で書込OK。

前日製作した、「GPS & Arduino Act.3」は、
http://daikunomokichi.blogspot.jp/2014/05/blog-post_2117.html
AVRマイコン
ATMEGA328P-PU
ATMEGA168P-20PU
のどちらも同じスケッチで可動しました。

2014/05/24

GPS & Arduino Act.3

PA6H GPSモジュール
ACM1602NI-FLW-FBW-M01 I2C_LCD
ATMEGA328P-PU
3.3V 8MHz(内蔵CR)
  リセットスイッチ+R10K
  動作表示LED+R1K
  電源LED+R1K
  C104コンデンサ2ヶ
最小構成で動作しました。
1PPS 用に74HC14APを1個使用しました。



2014/05/23

GPS & Arduino Act.2

GPS & Arduino Act.2

PA6H GPSモジュール
AE-FT231X USBモジュール
ACM1602NI-FLW-FBW-M01 I2C_LCD
Uncompatino 3.3V 8MHz
74HC14AP
2SC1815GR

の組み合わせで、
1PPS
GPS radio clock
を組んでみました。

$GPGGAの行からデータを抽出しています。

参考にさせていただいたスケッチは
↓ 弦木考忘さんのサイト
http://baticadila.dip.jp/arduino_105.html

char のポインタを++して

lcd.print(*(gpsTime++));

1文字ずつ表示しています。

Software SerialからSerialに仕様変更しました。
できるだけシンプルになる様・・・。

このあと、Uncompatinoボードから
ATMEGA328P-PUマイコン単体にし、
周辺パーツも最小構成に改良していく予定です。

窓ガラス越しですが、10個の衛星を補足しています。
TR5822の表示も1.0000000Hzで安定しています。


2014/05/22

GPS & Arduino

GPS & Arduino

PA6H GPSモジュール
AE-FT231X USBモジュール
ACM1602NI-FLW-FBW-M01 I2C_LCD
Uncompatino 3.3V 8MHz
74HC14AP
2SC1815GR

の組み合わせで、
1PPS
GPS radio clock
を組んでみました。

$GPGGAの行からデータを抽出しています。

参考にさせていただいたスケッチは
↓ 弦木考忘さんのサイト
http://baticadila.dip.jp/arduino_105.html

char のポインタの概念が理解しきれていなく
「ズル」をして時間表示しています。

使用中の衛星数が表示出来るので
出力している1PPSが正しいのか判断することが出来ます。

GPSのNMEAフォーマットデータは、Uncompatinoと
WINDOWS PCの両方に同時出力させています。

I2C_LCDの表示内容と
GPS NMEA monter (4river氏のGPS-NMEAモニタ)での
GPS電波受信の内容とを見比べています。

室温20℃前後で、TR5822(通電72時間以上)を
1PPSで校生し、その後の周波数の表示は
1.0000000Hz(+-3デジット)で安定しています。


2014/05/17

PA6H GPSモジュール Act.2

PA6H GPS をソルダーレスブレッドボードに組みました。

GPS NMEA monter でGPS電波受信の状況を確認しました。
↓ 4river氏のGPS-NMEAモニタ
http://homepage2.nifty.com/k8/gps/indexj.htm

 「PA6H」の設定があります。
窓ガラスに側に置き、6~10個の衛星を補足します。

最小構成で動作を確認したあと、 74HC14AP を追加し、
「1PPS」出力を作りました。
TR5822 で計測、ほぼ1Hz表示しています。

 なお、3.3Vで駆動しています。

2014/05/15

PA6H GPSモジュール

PA6H
ランニングエレクトロニクスで取り扱っている
GlobalTop社製GPSモジュールFGPMMOPA6H用Breakout基板
http://runningele.cart.fc2.com/ca2/20/p-r-s/
同上アンテナケーブル
http://runningele.cart.fc2.com/ca3/22/p-r-s/


2014/05/14

まとめ「Arduinoを学習する。」

茂吉の推奨する「Arduino」を学ぶためのロードマップ
(限定「電子工作は、得意です。」と自負している人向けです。)

1] 「作って遊べるArduino互換機」 鈴木 哲哉 (著)を購入し、熟読する。
2] 秋月電子電子通商でArduino互換機を購入する。
① DFRduino UNO R3
http://akizukidenshi.com/catalog/g/gM-07044/
② LCD Keypad Shield For Arduino
http://akizukidenshi.com/catalog/g/gM-07029/
3] Arduino IDE をインストール。
 スケッチの書き方や、書き込みに慣れる。
4] 秋月電子電子通商で以下のパーツを購入する。
-----
基本セット
-----
①AVRマイコン ATMEGA328P-PU
http://akizukidenshi.com/catalog/g/gI-03142/
②UncomPatino基板 (基板単品販売)
http://akizukidenshi.com/catalog/g/gP-07487/
③『作って遊べるArduino互換機』パーツセット
http://akizukidenshi.com/catalog/g/gK-06906/
-----
3.3V拡張セット
-----
④低損失三端子レギュレーター
3.3V800mA NJM2845DL1-33 4個入
http://akizukidenshi.com/catalog/g/gI-02247/
⑤絶縁型ラジアルリード型積層セラミックコンデンサー
0.33μF50V2.54mm 10個入
http://akizukidenshi.com/catalog/g/gP-04227/
⑥電解コンデンサー(ルビコンPK)
100μF25V85℃
http://akizukidenshi.com/catalog/g/gP-03122/
-----
セラミック発振子から水晶発振子に変更
-----
⑦8MHz水晶発振子
http://akizukidenshi.com/catalog/g/gP-00541/
⑧16MHz水晶発振子
http://akizukidenshi.com/catalog/g/gP-00545/
⑨同上 22pFコンデンサ
http://akizukidenshi.com/catalog/g/gP-04060/
-----
ゼロプレッシャーICソケット (28P)
http://akizukidenshi.com/catalog/g/gP-00025/
(素早くマイコンを抜き差しするため。)
600mil -> 300mil  改造レポート
↓ doggie's Home さんの解説
http://www.geocities.jp/doggie_ele/psoc/socket/socket.htm
-----
5] Uncompatinoを制作する。
P150 3.3V版を通常のUncompatinoに戻す方法。
までを最終形する。
(3.3Vのパーツは、取り付けるが、パターンの切断はしない。
また、セラミック発振子は、水晶発振子+22pFに置き換える。)
6] FT232RL ドライバーをインストールする。
7] ブートローダー書き込みに使うソフトウエアをインストールする。
すzのAVR研究
http://suz-avr.sblo.jp/category/780472-1.html
① http://nmj.sumomo.ne.jp/suz-avr/serjtag/avrdude-serjtag04e.zip
ゆきの研究室
http://yuki-lab.jp/hw/avrdude-GUI/
② http://yuki-lab.jp/hw/avrdude-GUI/avrdude-GUI-1.0.5.zip
libusb-win32
http://sourceforge.jp/projects/sfnet_libusb-win32/
③ http://sourceforge.jp/projects/sfnet_libusb-win32/downloads/libusb-win32-releases/1.2.6.0/libusb-win32-bin-1.2.6.0.zip/
8] 通常版のUncompatino+ゼロプレッシャーICソケット (28P)でブートローダの書き込みを行う。
9] ショートピンの4本を抜き取って、Arduino UNO 互換機として機能するか確認する。
10] 3.3V版のUncompatinoを製作する。(8MHz水晶発振子
(Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328 コンパチにしました。)
11] 秋月電子通商でキャラクタLCDを購入。(要ソルダーレスブレッドボード)
I2C接続キャラクタLCDモジュール 16x2行 白色バックライト付
ACM1602NI-FLW-FBW-M01
http://akizukidenshi.com/catalog/g/gP-05693/
↓ CQ出版社「エレキジャック」サイト
互換ドライバ wI2cLcdACM1602をインクルード。
http://www.eleki-jack.com/mycom2/2012/05/arduinoi2clcd_acm16022liquidcr.html
12] Arduino Pro  (3.3V, 8 MHz)互換を使い倒す。
http://daikunomokichi.blogspot.jp/2014/05/blog-post.html

茂吉の推奨するAVRにブートローダー書き込み機の組み合わせ。
「作って遊べるArduino互換機」 のP28 に詳細あり。
(是非読んで欲しい。)
↓ KOSAKALAB さんの解説
http://make.kosakalab.com/arduino/avr-writer/
-----------------
「すz」及び「ゆき」さんに感謝し
<FT245R/FT232R で avrdude>+<avrdude-GUI>の書き込みソフトで、
<通常版のUncompatino>+<ゼロプレッシャーICソケット (28P)>で、
ブートローダの書き込みを行う。
-----------------

2014/05/06

AE-ATmega Act.1

秋月電子通商のATmega168/328マイコンボードキット
「AE-ATmega」を製作しました。

http://akizukidenshi.com/catalog/g/gK-04590/
同梱されている FT232RL USBシリアル変換モジュール
http://akizukidenshi.com/catalog/g/gK-01977/

組立時の注意すべき点。
1] FT232RLモジュールの[J1]、[J2]各ピンヘッダを取り、ジャンパー線に交換。
2]同上[J2]は、[1-2]ショート(USB5.0V=VCC)とする。
2]同上[J1]は、[2-3]ショート(VCCIO=VCC=5.0V)とする。

[SEL]を[2-3]ショート(VCC=EXIT)とする。
スケッチ書き込み時以外は、USBを切り離し、
外部電源駆動とする。
同時使用は、危険。
-----------
FT232RLモジュールを上記の設定の場合の注意点
[SEL]の[1-2]をショートした場合、(USB5.0V=VCC)
  FT232RLモジュール上のFB1が短絡する。
[SEL]の[1-2]をオープンした場合、(USB5.0V=VCC)
  FT232RLモジュール上のFB1経由でVCC供給。
-----------
[X4]を3箇所ショートピンを入れる。

Atmega328P マイコンの場合

①ブートローダーoptiboot_atmega328.hexを使用。
  スケッチ書き込み時、マイコンボードは、「Arduino Uno」にする。
②ブートローダーATmegaBOOT_168_atmega328.hexを使用。
  スケッチ書き込み時、マイコンボードは、「Arduino Duemilanove」にする。
のいずれかを選択。
----------
uno.name=Arduino Uno
uno.bootloader.file=optiboot_atmega328.hex
----------
atmega328.name=Arduino Duemilanove w/ ATmega328
atmega328.bootloader.file=ATmegaBOOT_168_atmega328.hex
----------
今回は、Arduino Duemilanoveを選択。

Elecrow社 AVR ISPシールド 801-ECP-SISP
ArduinoをAVRライタとして使うことができるようにするシールドで、
妙楽堂電子パーツショップで購入。
http://parts.myourakudo.com/avr-isp%E3%82%B7%E3%83%BC%E3%83%AB%E3%83%89/

↓解説は、しなぷすさんのサイト。
http://www3.big.or.jp/~schaft/hardware/bootloader_writer/page001.html

Arduino IDEでの使い方を簡単説明
①Arduino Duemilanove互換(「AE-ATmegaa」)にArduinoISPのスケッチを書き込む。
②USBを抜き、マイコン「ATmega328P」をセット。USBを再接続。
③ツール→マイコンボードメニューで「Arduino Uno」を選択し直す。
④ツール→書込装置で「Arduino as ISP」を選択する。
⑤ブートローダーを書き込み、「Arduino Uno」用の「ATmega328P」が完成。

---------------
ArduinoISPでは、ATmega168Pに書き込みできないらしい。
↓①解説は、「LaclefYoshi」さんのウエブログ
http://d.hatena.ne.jp/LaclefYoshi/20110108/1294475337
↓②解説は、「770mber by jtakao 電子工作部屋」
http://jtakao.web.fc2.com/elec/atmega168p/atmega168p.html
---------------


2014/05/04

Uncompatino Act.7

アナログタイプの温度計
高精度IC温度センサ LM60BIZ
http://akizukidenshi.com/catalog/g/gI-02490/
を追加してみました。


2014/05/03

Uncompatino Act.6

Uncompatino を 3.3V駆動 Crystal8MHz外付けにして
Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328
 コンパチにしました。 

秋月電子通商
I2C接続キャラクタLCDモジュール 16x2行 白色バックライト付
ACM1602NI-FLW-FBW-M01
http://akizukidenshi.com/catalog/g/gP-05693/

互換ドライバ wI2cLcdACM1602をインクルードしました。
http://www.eleki-jack.com/mycom2/2012/05/arduinoi2clcd_acm16022liquidcr.html

600分で約2秒の誤差です。(うまく合わせきれずに1秒進んでスタートしています。)