Analog Read pada Netduino
Dalam mentejermahkan sinyal analog pada pin A0 di netduino kita bisa merujuk pada forum berikut :
Analog Input Read C#.Net
Download disini untuk class yang saya gunakan.
pada forum tersebut, output yang dihasilkan pada jendela debug adalah sebagai berikut
Raw Value: 940 ; Volts: 3.02929688
Averaged Value: 912 ; Averaged Volts: 2.93906236
Raw Value: 913 ; Volts: 2.94228506
Averaged Value: 920 ; Averaged Volts: 2.96484375
Raw Value: 884 ; Volts: 2.84882808
Averaged Value: 902 ; Averaged Volts: 2.90683579
Hasil di atas merupakan output yang tidak diharapkan, karena input yang diberikan pada Pin A0 adalah ==0, sementara pada jendela debug tertulis seperti diatas. Solusi untuk problem ini adalah dengan menambahkan Pull Down sebesar 100ohm - 1kohm untuk mendapatkan hasil yang sesuai (input 0v, output 0v).
Notes:
1. Analog Input pada Netduino+ memiliki limitasi 10 bit dengan max input voltage 3.3V. artinya bahwa pada chip ADC 10 bit memiliki nilai byte 2^10 = 1024 segmen dangan kapasitas reference 3300mv. dengan begitu kita dapat mengetahui bahwa resolusi pengukuran voltage pada netduino adalah 3300/1024 = 3.223mV ( volts per counts).
2. Analog input pada netduino tidak dapat menerima voltage lebih dari ~3.5V, berpotensi merusak ADC chip pada netduino ketika kita memaksakan arus lebih dari batas maximum nya. untuk itu perlu menambahkan R seri (pada kasus ini saya menggunakan 1 Kohm)pada input nya untuk membatasi jumlah arus yang masuk. untuk menghindari loncatan voltage (incase user tidak sengaja memberikan input analog lebih dari batas nya) yang berpotensi merusak sebaiknya menambahkan Dioda Zener antara Input analog dan Gnd.
3. Analog Read pada netduino memiliki noise sebesar 0.3mv - 0.6 mv. Belum ada solusi untuk menyelesaikan masalah ini. Patut untuk di coba, beberapa literatur mengenai reduksi noise signal analog mengatakan ada 3 kunci utama untuk dapat mereduksi noise pada suatu sinyal yaitu : Power Supply, Grounding dan Pengkabelan yang benar.
4. Saya mendeteksi ada nya cross talk pada netduino A4/A5 ketika digunakan sebagai SDA/SCL I2C device (dalam hal ini saya menggunakan RTC). CrossTalk terjadi antara pin tersebut dengan pin Analog lainnya (A0 - A3). dan menurut saya ini termasuk kedalam dynamic cross talk. ada beberapa literatur yang dapat menjelaskan bagaimana mengatasi hal ini.
Cheers,
semoga bermanfaat.
No comments:
Post a Comment