А почему не сразу по SPI читал? Зачем АЦП у которого 10 бит да и из тех 2 младших допустимая погрешность... при том что сам датчик имеет 13 бит и использует SPI. У тинек и мег SPI аппаратный...
Впрочем 4 кгц у датчика, наверное можно считать показания раз в 50 чаще и высчитывать среднее... Но ИМХО SPI надёжней...
А фильтр наверное стоило поставить... Рассчитать исходя из частоты PWM... Её максимальную сделать, и ёмкость небольшая будет...
А кривую сам снимал с потенциометра?
Чесно говоря было влом разбираться с цифровым выходом, у меня опыта работы с микроконтролерами небольшой... кривую срисовал с оригинального датчика и сравнил с таблицой в интернете, совпали, под них и подгонял. Я ставил фильтр, он еще и для согласования входа-выхода тоже нужен.
Частоты pwm в любом случае хватает для аналогово-цифрового эбу мерседеса)
Вообще такая штука что даже если сделать простой линейный график машина будет ездить и холостые не будут проваливаться, но с "горкой" в нужном месте едет всеже чуть-получше, мягче, но это прям очень постараться нужно чтобы заметить) Так что если непольшая погрешность в результатах датчика будет вы ее даже не заметите, тут важнее чтобы сигнал был ровный и не пропадал как в случае с протертыми потенцами.
Сообщение отредактировал shtair1: 08 February 2014 - 09:16