今天把這個電路圖補完了
照接著,把轉速的訊號也餵入
剛好拿之前作的555轉速來測,這個轉速剛好供給 「12V、接地、轉速訊號」
轉速訊號從 74LS14 餵入,然後直接給 Arduino 讀取,發現還真的吃的督督好
很輕易的就把訊號轉成 int RPM... 看來以後要自己作轉速表,有機會變得非常容易呢!!
如影片所示,轉速大概5000轉RC開始打開,到7、8千時可到達全開,5~7、8千之間
可以維持線性的開度。
我之後會在 github 維護 Arduino 的程式碼,有興趣自己DIY的車友可以參考看看:
https://github.com/shadowjohn/NSR150_RC_Computer
2020-05-15 補充:
編譯程式所使用的 ESP8266 driver 請指定 2.5.0,太新版的驅動會有
「Error ISR not in IRAM!」的錯誤,降到 2.5.0 即可正常編譯。
感謝王同學實作才發現這個問題。
參考:https://community.blynk.cc/t/error-isr-not-in-iram/37426
2021-09-09 補充:
新版 ESP8266 在使用 ISR function 需加上 ICACHE_RAM_ATTR
如:
void ICACHE_RAM_ATTR fireIsr(){
...
}
才能正常編譯成功
說明:
利用 Arduino ESP8266 + DC 壓降控制器 Buck + 馬達控制器 L298N + TTL IC 74LS14 製作的 NSR150 RC 電腦。 從NSR150維修手冊,可以得知 RC 馬達的測量方法,從 「白/白黑」線餵入「正向、反向」的12V電壓,可讓馬達旋轉。 然後 RC 伺服馬達可以量測「綠線、紅白」來取得目前RC伺服馬達的電阻,將馬達轉至 Lo ,測量約 1000Ω,轉至 Hi, 可以量到約 4000Ω。
利用此特性,與 Arduino 腳位 A0 可以拿來作 Ohm Meter (電阻測量器)。
然後使用 D0,D1,D2 來當作馬達驅動器腳位,連接 L298N:
D0 -> enA
D1 -> In1
D2 -> In2
L298N 輸出的 Out1 -> RC 馬達的「白/黑」
L298N 輸出的 Out2 -> RC 馬達的「白」
RC 需要 12V 的電壓,將機車的 12V 餵入 L298N 後使用即可。
Arduino 所需要的 5V 電源,將機車 12V 電源輸入,從 DC 壓降供應BUCK 穩定取得 5V 電源。
D3 接腳用來抓取引擎訊號,引擎訊號透過 74LS14 過濾雜訊。
參考資料:
一、Arduino ohm meter: http://www.circuitbasics.com/arduino-ohm-meter/
二、L298N 使用方法: https://howtomechatronics.com/tutorials/arduino/arduino-dc-motor-control-tutorial-l298n-pwm-h-bridge/
三、抓取引擎訊號的二種解法: https://kokoraskostas.blogspot.com/2013/12/arduino-inductive-spark-plug-sensor.html
四、74LS14 參考資料: http://www.onsemi.com/pub/Collateral/SN74LS14-D.PDF
下一步可以裝上車子試看看了^_^
離上次弄RC伺服馬達沒想到又過了快二年...
2020-05-13 有個彰師的王同學看到我分享的這個自製 NSR-RC 控制器的電路
我用遠端連到他的電腦幫他編譯程式,沒多久他們就把電路裝到車上拉轉 XD
看來還滿有模有樣的XD~覺得相當欣慰