Тахометр на pic

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Doretus
Родился
Сообщения: 16
Зарегистрирован: Пт окт 15, 2010 13:56:51
Откуда: Москва

Тахометр на pic

Сообщение Doretus »

Здравствуйте, в программировании я еще только зародыш. В арсенале имею язык PicBasic Pro. Итак, сам вопрос - Я хочу сделать тахометр на Pic контроллере, смысл его такой он подсчитывает кол-во импульсов приходящих с зажигания за 1 секунду, конвертирует их в об/мин и выдает импульс определенной ширины на шаговый двигатель.
Так вот импульс на шаговый двигатель нужно посылать каждые 20мс, а кол-во оборотов МК подсчитывает за 1000мс(При этом как я понимаю программа останавливается на 1с), можно ли сделать так чтобы МК посылал импульс пока МК подсчитывает кол-во оборотов?
Всему можно научиться, но самому что-то научить не всегда представляется возможным...
Реклама
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Тахометр на pic

Сообщение GP1 »

Doretus писал(а):Здравствуйте, в программировании я еще только зародыш. В арсенале имею язык PicBasic Pro. Итак, сам вопрос - Я хочу сделать тахометр на Pic контроллере, смысл его такой он подсчитывает кол-во импульсов приходящих с зажигания за 1 секунду, конвертирует их в об/мин и выдает импульс определенной ширины на шаговый двигатель.
Так вот импульс на шаговый двигатель нужно посылать каждые 20мс, а кол-во оборотов МК подсчитывает за 1000мс(При этом как я понимаю программа останавливается на 1с), можно ли сделать так чтобы МК посылал импульс пока МК подсчитывает кол-во оборотов?
на пиках не работаю, но суть для ВСЕХ мк одна - есть прервания вот их и юзай.
и еще интевал в 1 сек для тахометра не очень удобен, возьми лучше 0,33с
Чем дальше, тем больше становлюсь занудой...
Изображение
Реклама
Doretus
Родился
Сообщения: 16
Зарегистрирован: Пт окт 15, 2010 13:56:51
Откуда: Москва

Re: Тахометр на pic

Сообщение Doretus »

GP1 писал(а):на пиках не работаю, но суть для ВСЕХ мк одна - есть прервания вот их и юзай.
и еще интевал в 1 сек для тахометра не очень удобен, возьми лучше 0,33с
Всмысле зациклить конструкцию подсчета и в конце каждого цикла ставить МК на паузу?
Всему можно научиться, но самому что-то научить не всегда представляется возможным...
Аватара пользователя
Dmitry Dubrovenko
Поставщик валерьянки для Кота
Сообщения: 2360
Зарегистрирован: Вс янв 09, 2011 16:51:39
Откуда: Санкт-Ленинград
Контактная информация:

Re: Тахометр на pic

Сообщение Dmitry Dubrovenko »

Тахометр, это - тот же частотомер.
Есть два способа:
1. Подсчитывать количество импульсов за единицу времени (не обязательно за 1с, можно хоть за 0,00001с, а потом пересчитать),
2. Измерять временной интервал между соседними импульсами.
ИМХО, второй - более оптимален.
ICQ нет, и, в ближайшее время, не будет.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Тахометр на pic

Сообщение GP1 »

Doretus писал(а): Всмысле зациклить конструкцию подсчета и в конце каждого цикла ставить МК на паузу?
ничего ставить на паузу не надо.
- в основном цикле вычисляете значение для ШИМа (в пиках наверняка есть аппаратный ШИМ как в любом мк)
- если значение поменялось - перезаписываем
- в прерывании получаем значения для расчета частоты (хоть период повторения, хоть число импульсов за период времени, не суть важно)
Чем дальше, тем больше становлюсь занудой...
Изображение
Реклама
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Тахометр на pic

Сообщение Аlex »

GP1 писал(а):возьми лучше 0,33с
И чем же полезна сия циферка ? Скажите, если не секрет...
Только увеличит погрешность в 3 раза и больше ничего. Плюсов не вижу никаких.
Реклама
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Тахометр на pic

Сообщение GP1 »

если исходить из того, что мы говорим о тахометре для 4х тактного, 4х цилиндрового авто, то формула пересчета частоты в обороты двигателя будет выглядеть так:

N(об/мин)=30*Fп

и получается, если измерительный интервал равен 0.3(3) то разрешающая способность тахометра будет 100 об/мин, вполне достаточно.
а вот чтобы получить разрешающую способность 10 об/мин - то лучше измерять интервал между импульсами.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Тахометр на pic

Сообщение Аlex »

Такс, стоп. Опять непонятки :roll:
Формула для интервала в 1 сек.

Код: Выделить всё

F(об/мин)=60*N
Где N- кол-во импульсов, прошедших за период.

Соответственно, для интервала в 3 раза меньше, формула будет

Код: Выделить всё

F(об/мин)=180*N
Т.е. число 60 нужно умножить на 3.

Ваша формула - это для периода в 2 сек. Разрешение для неё будет 30 об/мин.
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Тахометр на pic

Сообщение GP1 »

Аlex писал(а):

Код: Выделить всё

F(об/мин)=60*N
Где N- кол-во импульсов, прошедших за период.
непонятки у кого? :shock:
за период чего?
когда это частота измерялась в об/мин?

а теперь давай рассуждать
N(об/мин) - число полных оборотов коленчатого вала в минуту
частота измеряется в Гц - число импульс/секунду, значит чтобы узнать сколько будет импульсов в минуту надо:
частоту*60 -> вроде бы получаем тою формулу
N=60*F, НО (моё любимое НО), вся проблема в том, что при условиях как я сказал выше (4х тактный 4х цилиндровый), рабочий такт и соответственно искрообразование (а частоту его мы и собираемся измерять) происходит 2раза за один оборот.
т.е. число N будет в 2раза больше истинного числа оборотов,
поэтому формула примет вид:
N=(60*F)/2
или, как раз моя формула
N=30*F

ps если не веришь мне, возьми частотомер и посмотри частоты на реальном авто.
думаю у тебя получится такое: :wink:
1500 об/мин = 50 Гц
3000 об/мин = 100 Гц
6000 об/мин = 200 Гц
:tea:

pss совсем забыл :) , про волшебную цифирьку 0.33 сек, не буду грузить высшей математикой...
а для наглядности возьмем 3000 об/мин
если у нас будет интервал в 1 сек то на вход мк успеет просочиться 100 импульсов, а вот если взять 0.33 то при той же частоте в мк успеет пролезть только 30 импульсов, и теперь выводя это число на индикатор (поставив между 3 и 0 десятичную точку) мы и получаем индикатор тахометра с разрешением в 100 об/мин.

или я не прав? тогда поправьте кто-нибудь.
Последний раз редактировалось GP1 Пт сен 16, 2011 18:38:50, всего редактировалось 1 раз.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Тахометр на pic

Сообщение Аlex »

1500 об/мин = 50 Гц
3000 об/мин = 100 Гц
6000 об/мин = 200 Гц
Вот теперь всё понятно. :tea: Получается 30 об/1 герц.
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Тахометр на pic

Сообщение GP1 »

Аlex писал(а):... Получается 30 об/1 герц.
я бы сказал 1Гц = 30 об/мин :write:
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
Pavel_1978
Опытный кот
Сообщения: 830
Зарегистрирован: Пт ноя 16, 2007 11:21:37

Re: Тахометр на pic

Сообщение Pavel_1978 »

GP1 писал(а):
Аlex писал(а):
поэтому формула примет вид:
N=(60*F)/2
или, как раз моя формула
N=30*F
учи математеку из твоей формулы получится N=30*F/2
Последний раз редактировалось Pavel_1978 Сб сен 17, 2011 10:43:13, всего редактировалось 1 раз.
zenek
Встал на лапы
Сообщения: 116
Зарегистрирован: Ср апр 28, 2010 17:49:14

Re: Тахометр на pic

Сообщение zenek »

учи математику из твоей формулы получится N=30*F/2
:shock: :shock: :lol: :lol: :lol: :)) :))
Да ну?
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Тахометр на pic

Сообщение Аlex »

Pavel_1978 писал(а):
Аlex писал(а):
поэтому формула примет вид:
N=(60*F)/2
или, как раз моя формула
N=30*F
учи математику из твоей формулы получится N=30*F/2
Я не писал такого :shock:

60F/2 = 30F :)
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Тахометр на pic

Сообщение GP1 »

Pavel_1978 писал(а): учи математику из твоей формулы получится N=30*F/2
Паша, вот с математикой-то у меня все в порядке, не то что с русским :oops:
Чем дальше, тем больше становлюсь занудой...
Изображение
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»