太兴奋了 超频成功!用来运算一些公式快很多

比如PID控制 等⋯

改天再来详细分享 (于2017/2/22更新实作方式,请点入阅读更多)

难易度

★★☆☆☆

本来是为了提升PID演算的反应,一直想找一个比较快的控制方式。

后来把脑筋动到晶片的频率,我先是去查了晶片的规格,发现原厂规格其实可以达到20Mhz的。

 

 

测试过程依照网路论坛试了一些方法,大部分是教学如何改IDE让修改过的Arduino可以上传成功,但发现都不能搞定。

(而且就算搞定了对一般生手来说也太复杂了!)

后来读到Marcelo Rodrigues's Blog某一篇文章(出处在这请点我)这位老兄他也是改了30Mhz,后来发现文章附注内有提到

一些状况。

大致上是叙述他在把Sketch上传到板子时使用16Mhz没问题,若用30Mhz则会失败。

这让我回想到在论坛大家为什么会一直讨论改IDE的内部一些档案。因此脑筋就动到硬体上

(我是机械出身的,改改硬体对我来说比较简单)

怎么做

首先你必须选择一块Arduino UNO R3或是 pro mini之类,只要这块Arduino是采用Atmega328晶片就可以。

第二点要注意的是,石英震荡器最好是选择插件式比较好改装,若是选贴片式的因为脚位太小很容易失败。

 

再来就是解焊掉板子上搭载的16Mhz振荡器,搭配吸锡器操作因该是不会太困难。

(要注意温度且烙铁不要在上面接触太久!容易把板子上的其他零件烧坏)

 

再来就是制作转接版,让你在编写好Sketch上传更新的时候,可以使用16Mhz。

上传完毕后就可以改插30Mhz,然后再开启电源。

(更换晶体时记得关掉电源)

以上大概就完成了,另外需要注意的是Serial的速度,

当你的Arduino改用30Mhz要使用Serial(9600)速度通讯时必须先调整正确的速率才能通讯!

逻辑如下:

使用16Mhz 时 通讯速度为9600,所以使用30Mhz就必先算出两个相对的倍率。

30是16的几倍  (16/30=0.533333倍)

得到了倍率后再将9600去除你刚刚算出的倍率。

 (9600/0.53 =5088)

因此你的草稿码内要写 Serial.begin(5088); 这样开启通讯时才不会乱码。

 

当然对于Delay时间也是会有影响,依照上面的逻辑设定即可

delay 1000ms / 0.53 = 1886

 

材料

  • Arduino pro mini 相容版 约50~70元
  • 石英震荡器 30MHz 约5~10元
  • 洞洞板 3cm*1cm 约2元
  • jump 两颗 约5元
  • 针脚 8只 约5元
相关文章