stm32 ติดต่อกับ DS1307

Started by tha, March 12, 2014, 10:39:00 AM

Previous topic - Next topic

tha

stm32f103rbt6 ต่อกับโมดูลเวลา DS1307 ตั้งเวลาได้ด้วย matrix switch จอ LCD 16x4  ใช้ CoIDE ในการเขียนโปรแกรม สามารถทำงานได้ แต่ก็ยังไม่ดี ลองเอาไปโมต่อดูนะครับ
http://www.mediafire.com/download/kwhanmnkzu555xb/DS1307_1.rar

tha


gui

ขอบคุณครับท่าน
แต่สงสัยนิดนึงว่า ใน STM32 มันมี RTC แล้วนะครับ ไม่ต้องใช้ DS1307 ให้เปลืองตังค์นะครับ


wlasoi

RTC แบบ External ประหยัดพลังงานใน mode sleep มากกว่า MCU ครับ ... เพราะ ถึง MCU จะ Sleep มันต้องเลี้ยงระบบ ALU ไว้อยูดี ถ้าไม่ต่อ RTC ก็มีวิธีแก้ ก็คือ ทำ TimeSyncronization + SkewClock ซึ่งทำได้ทั้งแบบสาย และไร้สาย ... แม่นยำระดับ uSec ครับ ... ผมทำอยู่

DS1307 นี่ก็เป็น RTC ในตำนานด้านราคา และ การใช้พลังงาน ครับหาตัวมาล้มมันยาก ..

tha

แบบ RTC ผมก็เคยทำครับ แต่มันก็มีปัญหาตอนปิดไฟไว้ตอนกลางคืน(ข้ามเที่ยงคืน)เช้ามาแล้วเปิดจะเพี้ยนไป ไม่รู้ผมแก้ไปแล้วหรือยัง(จำไม่ค่อยจะได้นานแล้ว) ผมเล่นจน rtc module เริ่มจะมีปัญหา (เดินบ้างไม่ทำงานบ้าง หรือจับตัว mcu แล้วถึงจะทำงานบ้าง) ผมว่าถ้าทำเป็น calendar หรือการตั้งเวลาใช้ ds1307 จะสะดวกกว่า ถ้าใช้ RTC จะต้องมีไฟล์อื่นๆมาประกอบทำให้ยุ่งยากและดูลำบากเพราะ rtc นับค่าได้อย่างเดียว rtc น่าจะเหมาะไปทางทำ sleep mode หรืออื่นๆมากก่วา ผมแนบไฟล์แบบ RTC calendar มาด้วยลองทำเปรียบแทบกันดูก็ได้ครับ
http://www.mediafire.com/download/b0axw06r2w1bp02/ETT_EXAMPLES.rar
ไม่ใช่ตัวอย่างของ ETT นะพอดีทำใน folder เขานะ rar มาเลยชื่อนี้ อุตส่าเปลี่ยนชื่อก็ไม่หาย  ;) :D ;D

khenk

ถ้าจะใช้ RTC ในตัว MCU จะต้องใช้ในรูปของนาฬิกาที่แสดงเป็น 7 segment เช่น รีโมทแอร์ ครับ ไม่ต้องการความแม่นยำสูง แค่ตั้งเวลาปิดเปิดได้ ก็ OK แล้วครับ