Từ câu hỏi trước đó của tôi, tôi đã có thể kết nối 2 cảm biến trọng lượng SEN-10245 (mỗi cảm biến tạo thành một nửa cây cầu đá lúa mì ) với điện trở AD620 InAmp & 47 Ohm (để đặt mức tăng lên ~ 1000). Sau đó, tôi đã chạy tín hiệu thông qua Bộ chuyển đổi tương tự sang kỹ thuật số MCP3008 và cuối cùng đến Raspberry Pi của tôi.
Bây giờ tôi có mọi thứ lên dây, tôi đang thấy một số hành vi kỳ lạ khi gây áp lực lên các cảm biến trọng lượng.
Khi áp dụng một lượng nhỏ áp suất (ví dụ một lon soda), số đọc cảm biến tăng ~ 15%. Tuy nhiên, nếu tôi thực sự ấn vào cảm biến, nó sẽ giảm từ 30-60%. Tại sao lại thế này?
Mục tiêu cuối cùng là phát hiện các lon soda riêng lẻ trên kệ; Có điều gì tôi có thể làm với mạch của mình để sửa đổi độ nhạy hoặc tăng độ chính xác không?
Xin lưu ý rằng Vref trên InAmp hiện không có nguồn điện áp
Các hình ảnh dưới đây minh họa thiết lập hiện tại của tôi:
Tập lệnh Python để đọc các giá trị từ ADC:
import spidev
import time
spi = spidev.SpiDev()
spi.open(0,0)
# read SPI data from MCP3008 chip, 8 possible adc's (0 - 7)
def readadc(adcnum):
if ((adcnum > 7) or (adcnum < 0)):
return -1
r = spi.xfer2([1,(8+adcnum)<<4,0])
adcout = ((r[1]&3) << 8) + r[2]
return adcout
# weight sensor connected to adc#0
weight_adc = 0
while True:
weight = readadc(weight_adc)
print "weight:", weight
time.sleep(1)