Akımı low side ölçmek, uygun olmayan taş dirençler, uygun olmayan pcb. Büyük sorunlar bunlar.
Opamp'ın referans kabul edeceği GND noktası ile şönt dirençlerin GND noktası arasında hiçbir akım akmamalı. Bu iki nokta arasından geçecek akımların sebep olacağı gerilim düşümü ve gürültü opamp çıkışına yansıyacak. Bu yüzden pcb çizimi çok önemli. Önerdiğim pcb modifikasyonu bu yüzdendi, çünkü bütün yük akımı bu noktalardan akıyordu.
MCP6001 rail to rail olsa bile tam sıfıra ancak 25mV yaklaşabiliyor. Üstüne bir de offset koyunca min. çıkış geriliminin 30mV civarı olmasını bekleyebiliriz. Yani 0-30mV arasına karşılık gelen akım değerine kadar ölçüm sonucu çöp. Bu noktaya kadar doğru bir değer okuyamayacağımız için akımı sıfır kabul edebiliriz.
MCP6001 in kazancını belirleyen dirençlerin toleranslarının önemi yok. Kazancı kabaca hesaplasak yeter. Mühim olan önceden mesela 0-15A gibi. ölçüm aralığımızı belirlemek. Maks. değer olan 15A in sönt dirençler üzerinde ne kadar gerilim düşümüne sebep olacağını hesaplamak. Bu gerilimi ADC nin 0-5V olan skalasına oturtacak opamp kazancını belirlemek. Bu kazancı kabaca sağlayabilecek R8-R9 değerlerini bulmak.
Sonra yükten akım akıtıp opamp çıkışının akıma göre doğrusal çıkış verip vermediğine bakabiliriz. Mesela 500mA için 120mV ise 1A için iki katı (240mV) olmalı. Buraya kadar sorun yoksa artık top ADC de.
Sonra opamp çıkışındaki gerilimin mA başına kaç mV değiştiğini bulup, bunu ham ADC okuması ile oranlayıp akımı hesaplarız.
Hata ve eksik olabilir. Varsa düzeltelim.