Difference between revisions of "Microduino-Module RTC"

From Microduino Wiki
Jump to: navigation, search
(Development)
 
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
{{Language|Microduino-RTC}}
 
{| style="width: 800px;"
 
{| style="width: 800px;"
 
|-
 
|-
 
|
 
|
 
[[file:Microduino-RTC-T.jpg|400px|thumb|right|Microduino-RTC]]
 
[[file:Microduino-RTC-T.jpg|400px|thumb|right|Microduino-RTC]]
Microduino-RTC Module is a Real Time Clock module based on NXP CMOS PCF8563. RTC module uses TWI/I2C interface for communication. Data can be backed up with the addtional AT24c32 EEPROM. With an onboard capacitor, RTC module keeps time for serveral minutes after power disconnected. PCF8563 uses external crystal, and can provide timer intterupt tigger.
+
Microduino-RTC Module is a real time clock module based on NXP CMOS PCF8563. RTC module uses TWI/I2C interface for communication. Data can be backed up with the additional AT24c32 EEPROM. With an onboard capacitor, the module can keep timing for minutes after power-off since the PCF8563 adopts an external crystal and a capacitor as well as an interrupt input which can trigger the interruption periodically.
  
* Microduino RTC Real Time Clock Module
 
* PCF8563 CMOS Real-Time Clock (RTC)
 
* Two Wire Interface (I2C)
 
* Backup by additional EEPROM AT24C32
 
  
 
|-
 
|-
 
|
 
|
 
==Feature==
 
==Feature==
*Based on PCF8563 clock chip with century mark, seconds, minutes, hours, day, week, month, year;
+
*Based on PCF8563 clock chip with century mark, second, minute, hour, day, week, month and year.
*Use the I2C interface to communicate with the Core/Core+ module;
+
*Use the IIC interface to communicate with the Core/Core+ module.
*Use EEPROM AT24C32 with I2C interface;
+
*Use EEPROM AT24C32 with I2C interface.
*Low-power clock chip, the typical current value 0.25μA, plus a super capacitor, the clock is still running after a power diconnect;
+
*With a low-power clock chip and the typical current value is 0.25μA.
*Open source hardware circuit design, compatible with the Arduino IDE development environment for programming;
+
*With a super capacitor, the clock will keep running after power-off.
*Define unified interface Microduino specification and contain rich peripheral modules. Set up the quick connection with other Microduino modules and sensors easily and flexibly.  
+
*Open hardware circuit design and Arduino compatible programming development environment.
*2.54 pitch row female connector for easy integration into breadboard.
+
*With a uniform Microduino interface standard and rich peripheral modules, it can easily connect with other Microduino modules and sensors.
 +
*2.54mm(0.1 inch) pin pitch, compatible with bread boards and pegboards.  
 
|-
 
|-
 
|
 
|
Line 26: Line 24:
 
*Clock chip: PCF8563;
 
*Clock chip: PCF8563;
 
**Low-power CMOS real-time clock/calendar chip;
 
**Low-power CMOS real-time clock/calendar chip;
**Provides a programmable clock output, an interrupt output and a brown-out detector, transfers all address and data via the I2C serial bus interface;
+
**Provide a programmable clock output, an interrupt output and a brown-out detector. All the addresses and data will have a serial transmission through the I2C bus interface;
**The maximum bus speed is 400Kbits/s, after read and write data, the embedded word address register is automatically generated increment.
+
**With the maximum bus speed of 400Kbits/s, the embedded word address register will generate increment automatically after reading and writing data every time.
  
*EEPROM chip:AT24C32
+
*EEPROM chip: AT24C32
**Provide 32,768 serial electrically EPROM, organized as 4096 words × 8-bit length;
+
**Provide 32,768 EPROM serial power, which can  be organized with a length of 4096 words × 8-bit;
**Cascade feature allows AT24C32 articulated eight devices on the same I2C bug, the replication cycle of millions lives and saved the data to 100 years  with a write-protect function.
+
**Cascade feature allows AT24C32 to articulate eight devices on the same I2C bug, to have the replication cycle of millions lives and saved the data to 100 years  with a write-protect function.
*Super capacitor:XH414
+
*Super capacitor: XH414
**Provide a power-down timing function in a time slot。
+
**Provide a power-down timing function in a time slot.
  
 
[[File:RTC-Pinout-1.jpg|800px|thumb|center|Microduino-RTC-Pinout]]
 
[[File:RTC-Pinout-1.jpg|800px|thumb|center|Microduino-RTC-Pinout]]
Line 41: Line 39:
  
 
===Main components===
 
===Main components===
*Clock chip:PCF8563 '''[[File:PCF8563 cn.pdf]]''','''[[File:PCF8563 en.pdf]]'''
+
*Clock chip: PCF8563 '''[[File:PCF8563 cn.pdf]]''','''[[File:PCF8563 en.pdf]]'''
*EEPROM:AT24c32 '''[[File:Atmel24c32.pdf]]'''
+
*EEPROM: AT24c32 '''[[File:Atmel24c32.pdf]]'''
 
*Clock crystal:MS2V-T1S '''[[File:MS2V-T1S.pdf]]'''
 
*Clock crystal:MS2V-T1S '''[[File:MS2V-T1S.pdf]]'''
* Pcf8563:'''[[media:Pcf8563.pdf|Pcf8563]]'''
+
* Crystal: '''[[media:MS2V-T1S.pdf|MS2V-T1S]]'''
* AT24c32:'''[[media:AT24c32.pdf|AT24c32]]'''
 
* Crystal:'''[[media:MS2V-T1S.pdf|MS2V-T1S]]'''
 
  
 
[[File:RTC-Pinout-1.jpg|800px|thumb|center|Microduino-RTC-Pinout1]]
 
[[File:RTC-Pinout-1.jpg|800px|thumb|center|Microduino-RTC-Pinout1]]
Line 52: Line 48:
 
==Development==
 
==Development==
  
===Arduino library and supported package===
+
===Arduino library and support package===
*【Rtc_Pcf8563 library'''[http://playground.arduino.cc/Main/RTC-PCF8563 download ]''' 】
+
*Rtc_Pcf8563: https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Libraries/_06_Microduino_RTC_PCF8563
*【I2Cdev library'''[https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/I2Cdev github download ]''' 】
+
*I2Cdev:https: //github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Libraries/_10_Microduino_System_I2Cdev
*【U8glib library'''[http://code.google.com/p/u8glib/ google download ]''' 】
+
*U8glib:https: //github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Libraries/_01_Microduino_OLED_U8glib
*【Pcf8563 Arduino Library'''[http://playground.arduino.cc/Main/RTC-PCF8563 ArduinoPlayground]''' 】【'''[[media:Rtc_Pcf8563.zip | Download]]'''】
+
*【Pcf8563 Arduino Library'''[http://playground.arduino.cc/Main/RTC-PCF8563 ArduinoPlayground]''' 】
  
==应用==
+
==Application==
  
===程序下载===
+
===Software Download===
*测试程序::'''[[File:Program Test RTC.zip]]'''
+
*Test program: '''[[File:Program Test RTC.zip]]'''
  
 +
*Prepared hardware: Microduino FT232R, Microduino Core, Microduino RTC andMicroduino OLED;
 +
*Prepared software: Microduino provides test program(Arduino terminal), Arduino IDE(version 1.0 and higher)and Rtc_Pcf8563 library;
 +
*Put the downloaded library to the library subfolder of Arduino IDE installation folder;
 +
*Start Arduino IED, open the Microduino test program, choose the "Microduino Core (Atmega328P@16M,5V)" , then download directly.
  
*所需要准备的硬件有:Microduino FT232R、Microduino Core、Microduino RTC、Microduino OLED;
 
*所需要准备的软件有:Microduino提供的测试程序(Arduino端)、Arduino IDE(1.0版本以上)、Rtc_Pcf8563库;
 
*将下载好的库文件夹放入Arduino IDE安装文件夹内的libraries中;
 
*启动Arduino IED,打开Microduino提供的测试程序,板卡选择Microduino Core (Atmega328P@16M,5V),直接下载即可;
 
  
 +
===Test the continued time after power down:[RTC_Time]===
 +
*The loading process is displayed after power on, including:Welcome!Load Time and "Microduino". It takes about one second to load a project. After the loading, it will enter into the main program page.
 +
**Date is displayed on the first line. The format is xx/xx/xx(year/month/day);
 +
**Time including week is displayed on the second line. The time format: xx:xx:xx(Hour:minute:second), followed the week(English format,excluding abbreviations);
 +
**The third line fixedly shows:"Microduino-RTC v1.0  201310". Please choose small font due to lots of characters;
 +
*After program running, just disconnect the power and wait for a while. You can see the Time on the second line that is the continued time instead of the default time;
 +
**(Note: Microduino-RTC is a programmable clock output module,using function vosettime() to set time. By setting time through vosettime() function, you need to comment out vosettime() so that you can take blackout timing next time. Otherwise, you have to reset the value after power-on and restart.)
  
===测试掉电续时:[RTC_Time]===
+
===Test EEPROM read/write:[RTC_EEPROM]===
*开机显示载入过程,包括:Welcome!Load Time...,Microduino图标。每隔1s左右载入一个项目,载入完毕进入主程序界面;
+
*The loading process is displayed as soon as the system powers on, including Welcome!, Load EEPROM and "Microduino". In every minute, will the system load a project. It will enter the main program page after the download;
**第一行显示的日期,日期格式:xx/xx/xx(年/月/日)
+
**The first line displays the random function values, the first value is a random number from 10 to 99, the second value is the read value power recovered after last power down;
**第二行显示的时间,包括星期。时间格式:xx:xx:xx(时:分:秒),接着后面显示星期(英文,不含缩写);
+
**The second line fixed displays that: "Microduino-RTC v1.0  201310". Please choose small font due to lots of characters;
**第三行固定显示:Microduino-RTC v1.0  201310,因为字符较多,采用小字体;
+
*You can shut off the power supply and then restart during the test. And you'll see that the last value before the blackout has updated to the place where the EEPROM displays values.
*程序运行后,切断电源,等一段时间后上电观察到第二行显示的时间是掉电后继续运行的时间,而不是初始化设置得时间,也是掉电前1s显示的时间;
 
**(注意:RTC是可编程时钟输出,通过vosettime()函数来设置时间,下载完毕后注释掉vosettime()函数再下一次才能掉电继续计时,不然上电重启之后又恢复设置得值)
 
  
===测试EEPROM读写:[RTC_EEPROM]===
 
*开机显示载入过程,包括:Welcome!,Load EEPROM,Microduino图标。每隔1s左右载入一个项目,载入完毕进入主程序界面;
 
**第一行显示随机函数值,第一个数据是10到99的随机数(Random);第二个数据是EEPROM掉电后上电读取的数值;
 
**第二行固定显示:Microduino-RTC v1.0  201310,因为字符较多,采用小字体;
 
*在测试过程中可拔掉电源后插上电源,就可以看到掉电前随机数变换的最后一个值更新到了读取EEPROM显示值处。
 
  
===测试定时中断:[RTC_Alarm]===
+
===Test regular interruption: [RTC_Alarm]===
*开机显示载入过程,包括:Welcome!,Load Time...,Load Alarm..,Microduino图标。每隔1s左右载入一个项目,载入完毕进入主程序界面;
+
*The loading process is displayed as soon as the system powers on, including Welcome!, Load EEPROM and "Microduino". In every minute, will the system load a project. It will enter the main program page after the download;
**第一行显示的时间。时间格式:xx:xx:xx(时:分:秒)
+
**The first line shows the time. Time format: xx:xx:xx(Hour:minute:second);
**第二行固定显示:Microduino-RTC v1.0  201310,因为字符较多,采用小字体。
+
**The second line shows: "Microduino-RTC v1.0  201310". Please choose small font due to lots of characters;
*定时中断,当时间到达设定时间时,led每秒闪烁一次,持续1分钟,并且在OLED屏幕上看到倒计时时间。
+
*When it reaches the set time, the LED light flashes one time per second and lasts for one minute. You can see the countdown time on the OLED screen
  
 
|-
 
|-
 
|
 
|
==Buy==
+
 
 +
==Purchase==
 
* '''[http://www.microduino.cc/Modules/Microdoino%20Extension%20Modules/RTC Buy Microduino-RTC ]'''
 
* '''[http://www.microduino.cc/Modules/Microdoino%20Extension%20Modules/RTC Buy Microduino-RTC ]'''
  

Latest revision as of 23:30, 1 August 2017

Language: English  • 中文
Microduino-RTC

Microduino-RTC Module is a real time clock module based on NXP CMOS PCF8563. RTC module uses TWI/I2C interface for communication. Data can be backed up with the additional AT24c32 EEPROM. With an onboard capacitor, the module can keep timing for minutes after power-off since the PCF8563 adopts an external crystal and a capacitor as well as an interrupt input which can trigger the interruption periodically.


Feature

  • Based on PCF8563 clock chip with century mark, second, minute, hour, day, week, month and year.
  • Use the IIC interface to communicate with the Core/Core+ module.
  • Use EEPROM AT24C32 with I2C interface.
  • With a low-power clock chip and the typical current value is 0.25μA.
  • With a super capacitor, the clock will keep running after power-off.
  • Open hardware circuit design and Arduino compatible programming development environment.
  • With a uniform Microduino interface standard and rich peripheral modules, it can easily connect with other Microduino modules and sensors.
  • 2.54mm(0.1 inch) pin pitch, compatible with bread boards and pegboards.

Specification

  • Clock chip: PCF8563;
    • Low-power CMOS real-time clock/calendar chip;
    • Provide a programmable clock output, an interrupt output and a brown-out detector. All the addresses and data will have a serial transmission through the I2C bus interface;
    • With the maximum bus speed of 400Kbits/s, the embedded word address register will generate increment automatically after reading and writing data every time.
  • EEPROM chip: AT24C32
    • Provide 32,768 EPROM serial power, which can be organized with a length of 4096 words × 8-bit;
    • Cascade feature allows AT24C32 to articulate eight devices on the same I2C bug, to have the replication cycle of millions lives and saved the data to 100 years with a write-protect function.
  • Super capacitor: XH414
    • Provide a power-down timing function in a time slot.
Microduino-RTC-Pinout

Document

Eagle PCB Download

Main components

Microduino-RTC-Pinout1

Development

Arduino library and support package

Application

Software Download

  • Prepared hardware: Microduino FT232R, Microduino Core, Microduino RTC andMicroduino OLED;
  • Prepared software: Microduino provides test program(Arduino terminal), Arduino IDE(version 1.0 and higher)and Rtc_Pcf8563 library;
  • Put the downloaded library to the library subfolder of Arduino IDE installation folder;
  • Start Arduino IED, open the Microduino test program, choose the "Microduino Core (Atmega328P@16M,5V)" , then download directly.


Test the continued time after power down:[RTC_Time]

  • The loading process is displayed after power on, including:Welcome!Load Time and "Microduino". It takes about one second to load a project. After the loading, it will enter into the main program page.
    • Date is displayed on the first line. The format is xx/xx/xx(year/month/day);
    • Time including week is displayed on the second line. The time format: xx:xx:xx(Hour:minute:second), followed the week(English format,excluding abbreviations);
    • The third line fixedly shows:"Microduino-RTC v1.0 201310". Please choose small font due to lots of characters;
  • After program running, just disconnect the power and wait for a while. You can see the Time on the second line that is the continued time instead of the default time;
    • (Note: Microduino-RTC is a programmable clock output module,using function vosettime() to set time. By setting time through vosettime() function, you need to comment out vosettime() so that you can take blackout timing next time. Otherwise, you have to reset the value after power-on and restart.)

Test EEPROM read/write:[RTC_EEPROM]

  • The loading process is displayed as soon as the system powers on, including Welcome!, Load EEPROM and "Microduino". In every minute, will the system load a project. It will enter the main program page after the download;
    • The first line displays the random function values, the first value is a random number from 10 to 99, the second value is the read value power recovered after last power down;
    • The second line fixed displays that: "Microduino-RTC v1.0 201310". Please choose small font due to lots of characters;
  • You can shut off the power supply and then restart during the test. And you'll see that the last value before the blackout has updated to the place where the EEPROM displays values.


Test regular interruption: [RTC_Alarm]

  • The loading process is displayed as soon as the system powers on, including Welcome!, Load EEPROM and "Microduino". In every minute, will the system load a project. It will enter the main program page after the download;
    • The first line shows the time. Time format: xx:xx:xx(Hour:minute:second);
    • The second line shows: "Microduino-RTC v1.0 201310". Please choose small font due to lots of characters;
  • When it reaches the set time, the LED light flashes one time per second and lasts for one minute. You can see the countdown time on the OLED screen

Purchase

History

  • first version: 2013/July/06 passed internal testing


Pictures

Front
Back