使用 Nodemcu V2 製作 RPM 訊號產生器
以 Nodemcu V2 來說只需接:
Vin: 12V or 5V (建議 5V)
Gnd: 接地
A0: 可變電阻 ( 可變電阻傳入 A0 ,左腳接地,右腳接 5V VCC,中間接腳接 A0 )
D1: PWM 方波,直接供給轉速表訊號腳使用
可變電阻用 B10K
可變電阻材料行通常會有 A 型 (對數尺度式) 跟 B 型 (線性尺度式)
建議買 B 型,A 型通常是音響在用
詳見:https://zh.wikipedia.org/wiki/%E9%9B%BB%E4%BD%8D%E5%99%A8
通常簡單的接法大概就這樣
綠線接到 A0,接收可變電阻數值 0~1023,轉換成 0 ~ 14000rpm
再轉成
轉速 60 轉 = 每分鐘 60 轉,每秒 1 轉,1轉 = 1 秒 = 1000.000 ms = 1000000us
轉速 100 轉 = 每分鐘 100 轉,每秒 1.67 轉,1轉 = 0.598802 秒 = 598.802 ms = 598802us
轉速 200 轉 = 每分鐘 200 轉,每秒 3.3 轉,1轉 = 0.300003 秒 = 300.003 ms = 300003us
轉速 600 轉 = 每分鐘 600 轉,每秒 10 轉,1轉 = 0.1 秒 = 100.000 ms = 100000us
轉速 1500 轉 = 每分鐘 1500 轉,每秒 25 轉,1轉 = 0.04 秒 = 40.000 ms = 40000us
轉速 6000 轉 = 每分鐘 6000 轉,每秒 60 轉,1轉 = 0.01666... 秒 = 16.667 ms = 16667us
轉速 14000 轉 = 每分鐘 14000 轉,每秒 233.3 轉,1轉 = 0.0042863. 秒 = 4.286 ms = 4286us
轉速 14060 轉 = 每分鐘 14060 轉,每秒 240 轉,1轉 = 0.0041667. 秒 = 4.167 ms = 4167us
轉速 16000 轉 = 每分鐘 16000 轉,每秒 266.6 轉,1轉 = 0.0037500. 秒 = 3.750 ms = 3750us
假如 1500rpm,一個rpm的週期是 40000us
產生給 D1 的訊號,就是 正 50% duty , 負 50% duty ( 即 20000us / 20000us )
digitalWrite(D1,HIGH);
delayMicroseconds( 20000 );
digitalWrite(D1,LOW);
delayMicroseconds( 20000 );
結果就如影片所示,可以順利驅動轉速表
但不是所有轉速表都可以用這個訊號驅的動,如 FZR 的轉速表
屬負緣觸發,最簡單就是將 DC 轉成交流輸出,或是其他改變電位差的方法
之前作的 8051、555 將訊號轉成交流的方法,是利用 TIP41C、TIP42C
再透過變壓器放大
經過電路模擬器看是比較接近脈沖訊號的凸台(改變code duty後就會更像)
目前的duty為 50% / 50%
也可以調整為 10% / 90% 再看波型^^
如果直接產太完美的方波,有時壞的轉速表也看不出是壞的~
直流版本電路圖
交流版本電路圖
程式碼下載:https://github.com/shadowjohn/RPM_GENERATOR