Dmitry__ писал(а):2 кгц., 2 датчика, ну, например 2 теста, получаем 2/2/2= 0.5кгц = 2 миллисекунды. "Z" координата при скорости 3*60 (mm/min) пролетает 3 микрона в миллисекунду. Итог: слепота в 6 микрон...
Абсолютная частота опроса датчика (до принятия решения, включая все фильтрации) должна быть не менее 10кгц. Это и к ацп относится (для аналоговых датчиков)
там судя по коду 2кгц это между замерами одного и того же датчика
цикл из 4 состояний (со сдвигом по фазе на засветку/анализ):
0 дальний включен, его выключаем, ничего не анализируем
1 оба выключены, анализируем результаты по дальнему, включаем ближний
2 ближний включен, анализируем фон (когда оба выключены были), выключаем ближний
3 оба выключены, анализируем результаты по ближнему, включаем дальний
- Код: Выделить всё
// IR parameters. These also allow us to receive a signal through the command input.
const uint16_t interruptFreq = 8000; // interrupt frequency. We run the IR sensor at one quarter of this, i.e. 2kHz
// highest usable value is about 9.25kHz because the ADC needs 13.5 clock cycles per conversion.
но это не суть, я ленивый и разводить плату не хочу.
есть мысль воткнуть в stm8s борду два стандартных датчика QRD114 (задействовав один из двух сенсоров и оба излучателя)
без дополнительного обвеса вовсе
там с частотой повыше будет 16Mhz и аналоговый компаратор можно соорудить прямо на прерываниях