Страница 1 из 1
Тахометр на pic
Добавлено: Чт сен 15, 2011 15:41:06
Doretus
Здравствуйте, в программировании я еще только зародыш. В арсенале имею язык PicBasic Pro. Итак, сам вопрос - Я хочу сделать тахометр на Pic контроллере, смысл его такой он подсчитывает кол-во импульсов приходящих с зажигания за 1 секунду, конвертирует их в об/мин и выдает импульс определенной ширины на шаговый двигатель.
Так вот импульс на шаговый двигатель нужно посылать каждые 20мс, а кол-во оборотов МК подсчитывает за 1000мс(При этом как я понимаю программа останавливается на 1с), можно ли сделать так чтобы МК посылал импульс пока МК подсчитывает кол-во оборотов?
Re: Тахометр на pic
Добавлено: Чт сен 15, 2011 15:51:17
GP1
Doretus писал(а):Здравствуйте, в программировании я еще только зародыш. В арсенале имею язык PicBasic Pro. Итак, сам вопрос - Я хочу сделать тахометр на Pic контроллере, смысл его такой он подсчитывает кол-во импульсов приходящих с зажигания за 1 секунду, конвертирует их в об/мин и выдает импульс определенной ширины на шаговый двигатель.
Так вот импульс на шаговый двигатель нужно посылать каждые 20мс, а кол-во оборотов МК подсчитывает за 1000мс(При этом как я понимаю программа останавливается на 1с), можно ли сделать так чтобы МК посылал импульс пока МК подсчитывает кол-во оборотов?
на пиках не работаю, но суть для ВСЕХ мк одна - есть прервания вот их и юзай.
и еще интевал в 1 сек для тахометра не очень удобен, возьми лучше 0,33с
Re: Тахометр на pic
Добавлено: Чт сен 15, 2011 15:54:46
Doretus
GP1 писал(а):на пиках не работаю, но суть для ВСЕХ мк одна - есть прервания вот их и юзай.
и еще интевал в 1 сек для тахометра не очень удобен, возьми лучше 0,33с
Всмысле зациклить конструкцию подсчета и в конце каждого цикла ставить МК на паузу?
Re: Тахометр на pic
Добавлено: Чт сен 15, 2011 18:46:16
Dmitry Dubrovenko
Тахометр, это - тот же частотомер.
Есть два способа:
1. Подсчитывать количество импульсов за единицу времени (не обязательно за 1с, можно хоть за 0,00001с, а потом пересчитать),
2. Измерять временной интервал между соседними импульсами.
ИМХО, второй - более оптимален.
Re: Тахометр на pic
Добавлено: Чт сен 15, 2011 18:57:02
GP1
Doretus писал(а):
Всмысле зациклить конструкцию подсчета и в конце каждого цикла ставить МК на паузу?
ничего ставить на паузу не надо.
- в основном цикле вычисляете значение для ШИМа (в пиках наверняка есть аппаратный ШИМ как в любом мк)
- если значение поменялось - перезаписываем
- в прерывании получаем значения для расчета частоты (хоть период повторения, хоть число импульсов за период времени, не суть важно)
Re: Тахометр на pic
Добавлено: Пт сен 16, 2011 13:36:20
Аlex
GP1 писал(а):возьми лучше 0,33с
И чем же полезна сия циферка ? Скажите, если не секрет...
Только увеличит погрешность в 3 раза и больше ничего. Плюсов не вижу никаких.
Re: Тахометр на pic
Добавлено: Пт сен 16, 2011 16:23:48
GP1
если исходить из того, что мы говорим о тахометре для 4х тактного, 4х цилиндрового авто, то формула пересчета частоты в обороты двигателя будет выглядеть так:
N(об/мин)=30*Fп
и получается, если измерительный интервал равен 0.3(3) то разрешающая способность тахометра будет 100 об/мин, вполне достаточно.
а вот чтобы получить разрешающую способность 10 об/мин - то лучше измерять интервал между импульсами.
Re: Тахометр на pic
Добавлено: Пт сен 16, 2011 17:34:45
Аlex
Такс, стоп. Опять непонятки

Формула для интервала в 1 сек.
Где N- кол-во импульсов, прошедших за период.
Соответственно, для интервала в 3 раза меньше, формула будет
Т.е. число 60 нужно умножить на 3.
Ваша формула - это для периода в 2 сек. Разрешение для неё будет 30 об/мин.
Re: Тахометр на pic
Добавлено: Пт сен 16, 2011 18:05:48
GP1
Аlex писал(а):
Где N- кол-во импульсов,
прошедших за период.
непонятки у кого?
за период чего?
когда это частота измерялась в об/мин?
а теперь давай рассуждать
N(об/мин) - число
полных оборотов коленчатого вала в
минуту
частота измеряется в Гц - число импульс/
секунду, значит чтобы узнать сколько будет импульсов в минуту надо:
частоту*60 -> вроде бы получаем тою формулу
N=60*F, НО (моё любимое
НО), вся проблема в том, что при условиях как я сказал выше (4х тактный 4х цилиндровый), рабочий такт и соответственно искрообразование (а частоту его мы и собираемся измерять) происходит
2раза за один оборот.
т.е. число
N будет в
2раза больше истинного числа оборотов,
поэтому формула примет вид:
N=(60*F)/2
или, как раз моя формула
N=30*F
ps если не веришь мне, возьми частотомер и посмотри частоты на реальном авто.
думаю у тебя получится такое:
1500 об/мин = 50 Гц
3000 об/мин = 100 Гц
6000 об/мин = 200 Гц
pss совсем забыл

, про волшебную цифирьку
0.33 сек, не буду грузить высшей математикой...
а для наглядности возьмем 3000 об/мин
если у нас будет интервал в 1 сек то на вход мк успеет просочиться 100 импульсов, а вот если взять 0.33 то при той же частоте в мк успеет пролезть только 30 импульсов, и теперь выводя это число на индикатор (поставив между 3 и 0 десятичную точку) мы и получаем индикатор тахометра с разрешением в 100 об/мин.
или я не прав? тогда поправьте кто-нибудь.
Re: Тахометр на pic
Добавлено: Пт сен 16, 2011 18:25:29
Аlex
1500 об/мин = 50 Гц
3000 об/мин = 100 Гц
6000 об/мин = 200 Гц
Вот теперь всё понятно.

Получается 30 об/1 герц.
Re: Тахометр на pic
Добавлено: Пт сен 16, 2011 18:52:09
GP1
Аlex писал(а):... Получается 30 об/1 герц.
я бы сказал 1Гц = 30 об/мин

Re: Тахометр на pic
Добавлено: Пт сен 16, 2011 19:14:08
Pavel_1978
GP1 писал(а):Аlex писал(а):
поэтому формула примет вид:
N=(60*F)/2
или, как раз моя формула
N=30*F
учи математеку из твоей формулы получится N=30*F/2
Re: Тахометр на pic
Добавлено: Пт сен 16, 2011 19:27:44
zenek
Re: Тахометр на pic
Добавлено: Пт сен 16, 2011 20:18:25
Аlex
Pavel_1978 писал(а):Аlex писал(а):
поэтому формула примет вид:
N=(60*F)/2
или, как раз моя формула
N=30*F
учи математику из твоей формулы получится N=30*F/2
Я не писал такого
60F/2 = 30F

Re: Тахометр на pic
Добавлено: Пт сен 16, 2011 20:56:02
GP1
Pavel_1978 писал(а):
учи математику из твоей формулы получится N=30*F/2
Паша, вот с математикой-то у меня все в порядке, не то что с русским
