Бортовой компьютер на 16F876A
|
|
Letams | Дата: Четверг, 05.05.2016, 17:58 | Сообщение # 281 |
Группа: Пользователи
Сообщений: 4
Статус: Offline
| Добрый день Admin. Подскажите, что может быть. На низких оборотах тахометр периодически добавляет к правильным показаниям 60 оборотов, а на высоких убавляет.
|
|
| |
Admin | Дата: Пятница, 06.05.2016, 11:46 | Сообщение # 282 |
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
| Там шаг показаний - 60 оборотов. Поэтому текущие показания и отображаются следующим образом: 750/810/870/930...........
|
|
| |
Letams | Дата: Пятница, 06.05.2016, 14:41 | Сообщение # 283 |
Группа: Пользователи
Сообщений: 4
Статус: Offline
| Вы не поняли. При стабильном сигнале с генератора показания скачут туда сюда.
|
|
| |
Admin | Дата: Пятница, 06.05.2016, 15:52 | Сообщение # 284 |
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
| Да все я понял. Алгоритм реализован так - считывается количество импульсов в единицу времени и умножаются на константу 58. Допустим, считали 13 импульсов и получили значение около 750 об/минуту. А в следующий момент во "временные ворота" проскочило уже 14 импульсов. Вроде бы все в пределах погрешности, двигатель работает стабильно, а показания изменились уже на значение 810 об/минуту
Алгоритм не самый оптимальный, но для повышения точности измерений нужно делать "временные ворота" значительно более широкими. Тогда уменьшится константа и, соответственно, шаг измерений станет более "коротким". Если есть желание позаниматься этим вопросом самостоятельно - исходник могу предоставить.
|
|
| |