痞酷網_PIGOO

 找回密碼
 立即註冊
!!! [系統偵測到廣告阻擋軟體] !!!

如果您覺得痞酷網對您有些許幫助,或者您認同痞酷網的理想,

那麼希望您將痞酷網設定為白名單.

並請在上論壇的時候,動動您的手指,用行動支持我們.

謝謝!
樓主: all666

試作基於Arduino的頻率計

[複製鏈接]
 樓主| 發表於 2018-2-2 08:41:56 | 顯示全部樓層
jojoling 發表於 2018-2-1 10:57 PM
如真的要玩精度,需要:
(1)先使用外部且比較有高精度的振盪源,確保內部參考主頻的所有地方都正確。
需要 ...

精密儀器?---> 難喔.....
軟體修正 --> 需要老師教學!!
 樓主| 發表於 2018-2-2 08:52:57 | 顯示全部樓層
本文章最後由 all666 於 2018-2-2 09:06 AM 編輯
jojoling 發表於 2018-2-1 11:02 PM
另外, UNO上次那顆,應該為 16Mhz 的 XTAL~非 12Mhz


那我買到的是山賽版了!  也難怪  (Arduino Uno R3 開發板 )一件才95元

能否自行換成16M?
UNO.jpg
 樓主| 發表於 2018-2-2 10:02:42 | 顯示全部樓層
wish 發表於 2018-2-1 11:30 PM
要學一樣新東西如果有人帶著玩是最快的,當然若再加上自己埋頭苦練,那假以時日定是有所小成,也期待有一天 ...

非常期待!!  還望WISH大能夠出面邀請前輩開課!!

評分

1

查看全部評分

發表於 2018-2-2 10:37:03 | 顯示全部樓層
all666 發表於 2018-2-2 08:52 AM
那我買到的是山賽版了!  也難怪  (Arduino Uno R3 開發板 )一件才95元

能否自行換成16M? ...

那顆12M是USB介面的,在主MCU附近應該還有一顆16M,如果真的頻率偏差這麼多,ARDUINO系統應該無法正常運作。

評分

3

查看全部評分

發表於 2018-2-2 11:35:29 | 顯示全部樓層
all666 發表於 2018-2-2 08:52 AM
那我買到的是山賽版了!  也難怪  (Arduino Uno R3 開發板 )一件才95元

能否自行換成16M? ...

Arduino改裝版是使用USB芯片CH340,搭配的是12MHz震盪子.而原廠是使用ATMEGA16U2(Rev3)或更早期的ATMEGA8U2芯片,搭配的是16MHz震盪子.

評分

2

查看全部評分

發表於 2018-2-2 11:38:13 | 顯示全部樓層
本文章最後由 xiaolaba 於 2018-2-2 11:52 AM 編輯
all666 發表於 2018-1-31 11:20 PM
功力不夠,只能玩這個!!  想以去除彈跳方式來改改看


它的軟體設計的問題, 跟ARDUINO 無關
不是彈跳造成的
你試試看其他的源碼
https://www.pjrc.com/teensy/td_libs_FreqCount.html

評分

4

查看全部評分

發表於 2018-2-2 11:49:11 | 顯示全部樓層
jojoling 發表於 2018-2-1 08:42 PM
看來一般人還是誤解 Arduino ~
Arduino 提供了一個簡化的東西,不代表 Arduino 就被它所限制~

舅:
   這就是一般人學 ARDUINO 會遇到的問題,也算是 障璧!! 我就是其中之一!! 沒有深厚的基礎,使用一般的資料庫程式,深入要自己寫的時候,發現許多設定 架構 ... 就卡住了!!
 樓主| 發表於 2018-2-2 12:07:31 | 顯示全部樓層
單晶片微電腦 發表於 2018-2-1 09:51 PM
你把period再乘上1.0037試看看,乘完的值再送進去計算。

經程式修正 得到數據如下
frq.JPG
發表於 2018-2-2 12:35:00 | 顯示全部樓層
早期在 95/XP 年代,不少人喜觀挖MS的藏在kernel裡面的寶,直接call秘密函式來用。
好用嗎?好用的很呢!什麼奇奇怪怪的功能都得搞出來。不過一但改朝換代,此類的
程式就隨之報銷,除非它能不停改板。

Arduino 也是一樣的意思。直接調用 MCU 的 peripherals?當然沒問題,也又不能阻止這種行為。
但,假設今天改成 PIC 或 ARM 甚至 x86 based 等機板,這個程式就不能再跑了。

所以,Arduino 的原意是什麼呢?可以思考看看。

評分

2

查看全部評分

發表於 2018-2-2 12:41:46 | 顯示全部樓層
all666 發表於 2018-2-2 12:07 PM
經程式修正 得到數據如下

以arduino來說這樣的數據已經很漂亮了,取得週期數據之後建議以不同頻率值取不同位數小數點,之後的四捨五入,如以uS為單位,khz取小數點2位,10khz取小數點3位,100khz取小數點4位,mhz取小數點5位,這樣算出的數據會更好看,太多的尾數沒意義,徒增不穩定的感覺。

評分

2

查看全部評分

 樓主| 發表於 2018-2-2 21:03:32 | 顯示全部樓層
ysc 發表於 2018-2-2 10:37 AM
那顆12M是USB介面的,在主MCU附近應該還有一顆16M,如果真的頻率偏差這麼多,ARDUINO系統應該無法正常運 ...

找到了 好小  只有一個符號 看不出是多少MHZ
UNO.jpg
發表於 2018-2-2 21:51:29 | 顯示全部樓層
all666 發表於 2018-2-2 09:03 PM
找到了 好小  只有一個符號 看不出是多少MHZ

只要能下載程式,這顆晶震頻率是沒問題的,若是16MHZ跟12MHZ的差異,BAUD RATE誤差太大根本無法下載成功。

評分

1

查看全部評分

發表於 2018-2-3 01:02:34 | 顯示全部樓層
gsm7 發表於 2018-2-2 12:35 PM
早期在 95/XP 年代,不少人喜觀挖MS的藏在kernel裡面的寶,直接call秘密函式來用。
好用嗎?好用的很呢!什 ...

我個人的看法是 ARDUINO是一個商機,一個 產品對於許多想玩軟硬體又懶得動手作板子的人是一大福音!! 平常喜歡動手LAY 板子 或是用洞洞板和接的人當然無差,但是對於烙鐵都不太會用的人要他們焊SMD那可困難多了!! 還有他出了許多應用,雖然價格貴了些,但是還是生意興隆!!

評分

3

查看全部評分

 樓主| 發表於 2018-2-3 10:49:32 | 顯示全部樓層
antlu 發表於 2018-2-3 01:02 AM
我個人的看法是 ARDUINO是一個商機,一個 產品對於許多想玩軟硬體又懶得動手作板子的人是一大福音!! 平常 ...

的確 比起8051 容易多了,網路上範例很多可以好好利用!!
發表於 2018-2-3 14:02:48 | 顯示全部樓層
all666 發表於 2018-2-2 12:07 PM
經程式修正 得到數據如下

萬分之一的擾動
表現不錯了
再整理一下發布一下源碼
說不定又一精華貼

評分

1

查看全部評分

 樓主| 發表於 2018-2-3 22:41:10 | 顯示全部樓層
找到一個範例  https://www.hackster.io/moty/frequency-counter-92ec57  有興趣的人可以參考

因為沒有LCD 我將它稍微改了一下,去掉LCD顯示, 將結果傳到電腦顯示,結果如下

再來就是要DIY增加頻率上下限的設定, 及警報輸出了!
COUNTER1.jpg
COUNTER.jpg
 樓主| 發表於 2018-2-3 22:47:51 | 顯示全部樓層
本文章最後由 all666 於 2018-2-3 10:57 PM 編輯

有一點感覺奇怪的是程式中並未定義第5腳的用途(剛開始未發覺)
由線路圖才知道要由第5腳輸入測量頻率
再仔細看看 發覺定義在此
     //  counter input T1 pin D5
    OCR1A = 32767;   //32768 counts
    TCCR1A = _BV(WGM10) | _BV(WGM11) | _BV(COM1A0); //   
    TCCR1B =_BV(WGM12) | _BV(WGM13) | _BV(CS12) | _BV(CS11); //input pin D5

這就看不懂了,有前輩可解釋一下嗎?


發表於 2018-2-3 23:17:18 | 顯示全部樓層
all666 發表於 2018-2-3 10:47 PM
有一點感覺奇怪的是程式中並未定義第5腳的用途(剛開始未發覺)
由線路圖才知道要由第5腳輸入測量頻率
再仔細 ...

外行路過的路人甲


這篇您參考看看
Timer interrupts

How to set the PWM-frequency for the Attiny84

評分

1

查看全部評分

發表於 2018-2-3 23:44:32 | 顯示全部樓層
這裡看到對岸有篇討Arduino PWM 頻率控制的一篇實驗文
不知樓主若用對岸的程式碼來驗證的話,頻率精準度成果不知如何 ?

程式碼下載網頁      arduino-pwm-frequency-library

該篇實驗文的連結
  用arduino作為方波發生器,非常精準,頻率任意可調

評分

1

查看全部評分

發表於 2018-2-4 00:13:30 | 顯示全部樓層
發表於 2018-2-4 03:37:49 | 顯示全部樓層
all666 發表於 2018-2-3 10:47 PM
有一點感覺奇怪的是程式中並未定義第5腳的用途(剛開始未發覺)
由線路圖才知道要由第5腳輸入測量頻率
再仔細 ...


http://ww1.microchip.com/downloa ... -328P_Datasheet.pdf
page 13 , TC1 ,PD5

https://www.arduino.cc/en/upload ... _Rev3-schematic.pdf
pin 5 , PD5

評分

2

查看全部評分

 樓主| 發表於 2018-2-4 15:05:18 | 顯示全部樓層
本文章最後由 all666 於 2018-2-4 03:15 PM 編輯

完成增加頻率上下限的設定, 及警報輸出
COUNTER.jpg
發表於 2018-2-4 16:52:47 | 顯示全部樓層
如果是用1秒計數次數的話,應該把1秒調準一點。

評分

1

查看全部評分

 樓主| 發表於 2018-2-4 17:36:45 | 顯示全部樓層
感謝多位酷友 前輩 老師 提供意見 與討論,此篇報告到此告一段落,
以後有機會再來試試 基於Arduino 的示波器製作
 樓主| 發表於 2018-2-5 19:01:55 | 顯示全部樓層
本文章最後由 all666 於 2018-2-5 07:10 PM 編輯
ericchou 發表於 2018-2-3 11:44 PM
這裡看到對岸有篇討Arduino PWM 頻率控制的一篇實驗文
不知樓主若用對岸的程式碼來驗證的話,頻率精準度成 ...


開發版可能不一樣,無法執行


發表於 2018-2-5 19:10:39 | 顯示全部樓層
all666 發表於 2018-2-5 07:01 PM
開發版可能不一樣,無法執行

來日方長
樓主有實踐的動力與目標
或許可以借鏡

祝 找到自己解方
順心

評分

1

查看全部評分

 樓主| 發表於 2018-2-5 19:11:21 | 顯示全部樓層
ericchou 發表於 2018-2-4 12:13 AM
另一篇對岸的 "Arduino定時器" 解說網頁
內容有整理分類,或許算完整吧!
看看該文內容就好,圖片連結不要點 ...

感謝提供資料學習!!
 樓主| 發表於 2018-2-5 19:12:30 | 顯示全部樓層
jojoling 發表於 2018-2-4 03:37 AM
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-3 ...

老師   這個資料沒有老師講解 是有看沒有懂!!
 樓主| 發表於 2018-2-5 19:16:08 | 顯示全部樓層
ericchou 發表於 2018-2-5 07:10 PM
來日方長
樓主有實踐的動力與目標
或許可以借鏡

謝謝!!   努力學習中!!
 樓主| 發表於 2018-2-5 19:20:01 | 顯示全部樓層
單晶片微電腦 發表於 2018-2-4 04:52 PM
如果是用1秒計數次數的話,應該把1秒調準一點。

沒有精密儀器 就這樣使用囉!!
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關閉

站長小叮嚀上一條 /1 下一條

禁閉室|手機版|連繫我們|痞酷網電子技術論壇

GMT+8, 2024-3-29 05:31 PM , Processed in 0.090483 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.