工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino NanoでDS3231 RTCをGPSと同期 ─ 高精度タイムキーピング

概要

DS3231 RTCモジュールの時刻を、GPS(NEO-6M)から取得したUTC時刻で自動補正するシステムを構築。コンパイル時刻依存の不正確さを解消し、ボタン一つで高精度同期を実現します。I2C LCDで現在時刻を常時表示。

必要な部品

配線

モジュール接続先
LCD I2CSDA→A4, SCL→A5, VCC→5V, GND→GND
DS3231SDA→A4, SCL→A5, VCC→5V, GND→GND
レベルシフターHV→5V, LV→3.3V, GND共通, HV1↔D3, HV2↔D4
NEO-6MVCC→3.3V(LV側), GND→GND, TXD→LV1, RXD→LV2
タクトスイッチD9とGND間

使用ライブラリ

動作手順

  1. 電源投入 → LCDにDS3231の現在時刻表示
  2. GPSが衛星捕捉まで待機(屋内では10分以上かかる場合あり)
  3. GPSモジュールの赤LED点滅開始後、タクトスイッチ押下
  4. DS3231がGPS時刻に更新、LCDに新時刻表示

重要な注意点

コード抜粋(核心部分)

#include 
#include 
#include 
#include 
#include 

RTC_DS3231 rtc;
LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
SoftwareSerial gpsSerial(3, 2); // RX, TX (レベルシフター経由)
Adafruit_GPS GPS(&gpsSerial);

const int syncBtn = 9;

void setup() {
  Serial.begin(115200);
  GPS.begin(9600);
  GPS.sendCommand(PMTK_SET_NMEA_OUTPUT_RMCGGA);
  GPS.sendCommand(PMTK_SET_NMEA_UPDATE_1HZ);
  useInterrupt(true); // 1ms割り込みでGPSデータ取得
  
  lcd.begin(16, 2); lcd.backlight();
  pinMode(syncBtn, INPUT_PULLUP);
}

SIGNAL(TIMER0_COMPA_vect) { // 1ms割り込み
  char c = GPS.read();
  #ifdef GPSECHO
  if (c) UDR0 = c;
  #endif
}

void loop() {
  if (GPS.newNMEAreceived()) {
    if (!GPS.parse(GPS.lastNMEA())) return;
  }
  
  // 現在時刻表示
  DateTime now = rtc.now();
  lcd.setCursor(4, 0);
  lcd.print(now.year()); lcd.print('/'); 
  lcd.print(now.month()); lcd.print('/'); lcd.print(now.day());
  lcd.setCursor(4, 1);
  lcd.print(now.hour()); lcd.print(':'); 
  lcd.print(now.minute()); lcd.print(':'); lcd.print(now.second());
  
  // 同期ボタン押下でGPS時刻をRTCへ書き込み
  if (!digitalRead(syncBtn)) {
    rtc.adjust(DateTime(GPS.year, GPS.month, GPS.day,
                        GPS.hour, GPS.minute, GPS.seconds));
    lcd.clear(); lcd.print("Pressed set");
    delay(5000); lcd.clear();
  }
}

GPSの癖と対策

まとめ

GPS同期により、ネットワーク不要で世界標準時(UTC)にトレーサブルな高精度時計が実現できます。フィールドワーク、データロガー、天文観測等のタイムスタンプ用途に最適です。

製造プロセス

  1. 永続する遺産を残す:より良い未来のための本物のリーダーシップ
  2. SMRP、メンテナンス・信頼性プロフェッショナル向け標準化KPIセットを発表
  3. 平面研削:精密加工のための伝統的技術
  4. ボックスウェイCNC旋盤が精度と性能で最適な選択である理由
  5. パンチセット完全ガイド:種類・用途・選び方を徹底解説
  6. リニアガイド搭載CNC旋盤:高速・高精度・軽切削生産の最適解
  7. メカニックツールセット選びの完全ガイド:用途別おすすめと選び方のポイント
  8. ベン図の理解:集合関係の可視化
  9. セットスクリュー(頭なしネジ)完全ガイド:設計、違い、用途
  10. 三角定規(セットスクエア)の種類、使い方、製図での役割
  11. Java 10開発環境構築ガイド:ビルド、コンパイル、実行