Обсуждаем цифровые устройства...
Сб июл 31, 2010 16:25:07
Привет всем. Предыстория. Поставил себе на авто круиз контроль, все замечательно, но есть одна досадная мелочь, у моего авто 4имп\об., а надо 8-12имп\об, соответственно происходит перерегулировка небольшая, скорость немного "качает". Есть АБС, может с датчика взять, но там 20-30 имп\об. в нужный мне вид привести и поделить? Вот и думаю как получить нужные мне импульсы, умножать или делить? Форма их прямоугольник, размах 12V, скважность 50%. Голова уже кругом, запутался совсем. На машине, с которой снял включение происходило с 40км\ч, а у меня с 65км\ч. Делать думаю на AVR. Схем и прошивок не прошу, просто ваши мысли по решению этого вопроса.
Сб июл 31, 2010 17:04:17
Думаю легче поделить, для этого совсем не обязательно использовать МК. В данном случае может оказаться достаточно одного триггера, включенного в счетном режиме - получится делитель на два, скважность имульсов будет 50%. Умножать сложнее, да и получить скважность 50% (если это критично) будет затруднительно.
Сб июл 31, 2010 17:14:47
diman27 писал(а):Делать думаю на AVR. Схем и прошивок не прошу, просто ваши мысли по решению этого вопроса.
А я уже решал аналогичную задачку
viewtopic.php?p=516632#p516632 Ну раз Вы прошивку не просите, то не дам.
Могу дать исходник. Сами скомпилируете, что Вам надо
Сб июл 31, 2010 17:16:55
Делить на 2 - не влезает в диапазон.
Делить на 3 - Левый край не влезает (из 20 получается примерно 6,7), но правый влезает
Делить на 4 - опять не влезает.
Надо делить на 2.5 . Ммм, как?
Как вариант, как-то запоминать период сигнала, а затем умножать/делить период и выводить уже второй сигнал нужной частоты. На МК ничего сложного, но на дискретке интереснее, но я не знаю как.
Сб июл 31, 2010 17:21:25
IfoR писал(а):Надо делить на 2.5 . Ммм, как?
Умножить на два - это для меандра сделать совсем несложно, а потом разделить на пять, что тоже несложно.
Сб июл 31, 2010 17:23:42
Барсик, если не трудно, то приму в хорошие руки
ваш дар.
Сб июл 31, 2010 17:28:50
Ну тогда может сразу умножить на 2 те 4 импульс/оборот?
Сб июл 31, 2010 17:31:49
Я вот тоже думаю, что делить-умножать надо на не целое число. У меня уже есть небольшое устройство для круиза на mega8. Вот в него и хочу добавить эту функцию.
- Вложения
-
- cruise_control.rar
- (65.12 KiB) Скачиваний: 362
Сб июл 31, 2010 17:37:34
Мне стыдно выкладывать свои исходники. Профессиональные программисты засмеют
Но для хороших котов ...
Только прошу внимательно прочитать текст. Там несколько выходов микроконтроллера - отладочные. Их никуда подключать не надо. Главный выход - нога номер 7. Главный вход - нога номер 6. Вход - 5 нога - тестовый. Если посадить на землю, то импульсы на входе будут в точности подаваться на выход.
Да, забыл предупредить. Если Вам надо 4 -> 12, то следует подобрать более простое соотношение 1 -> 3. Не помню, как это называется в арифметике. В школе, по арифметике, у меня была тройка...
- Вложения
-
- speed.c
- (7.21 KiB) Скачиваний: 577
Сб июл 31, 2010 19:00:00
Собрал в протеусе. есть вопрос: как то можно сделать, чтобы частота на выходе не плавала так сильно?
- Вложения
-
- увеличитель tiny13.rar
- (16.14 KiB) Скачиваний: 455
Сб июл 31, 2010 20:01:08
Во-первых, я же сказал Вам, что надо не 6 -> 8, а 3 -> 4. Сокращайте дроби. Во-вторых, я Протеусом не пользовался, а макетировал в реальном железе, и никакая частота у меня не "плавала" в диапазоне от 0,3 Гц до 1 кГц. В третьих, тактовая частота была 9,6 МГц. В тексте программы тактовая частота указана неправильно - для себя писал...
Сб июл 31, 2010 20:29:56
Да я просто с делителями экспериментировал
. Соберу в железе, проверю. Спасибо огромное за помощь.
Вс авг 01, 2010 08:44:24
Небольшие дополнения. Нашел инфу, что у меня на 1км приходит 2500 имп, а надо 6000 имп. Умножать на 2.4 надо, а это наверное много. Длина окружности моего колеса 1934мм, значит на 1км будет 526 оборотов. у датчика ABS 48имп\об итого получим 25248, а надо примерно 6000. Прийдется поделить на 4. Как это лучше сделать?
Вс авг 01, 2010 12:52:32
diman27 писал(а):меня на 1км приходит 2500 имп, а надо 6000 имп.
Сокращаем дробь 2500/6000, получаем 5/12.
В тексте программы пишем:
#define INPUT_PULSE_NUMBER 5 // число вх. имп.
#define OUTPUT_PULSE_NUMBER 12 // число вых. имп.
Компилируем, прошиваем.
Вс авг 01, 2010 14:19:25
Да я так делал, просто надо все варианты рассмотреть что бы быть готовым
Пт ноя 17, 2023 08:21:43
Здравствуйте! В какой среде писалась программа - не могу откомпилить. Спасибо!
Пн ноя 20, 2023 07:45:49
тема делителей-умножителей уже много раз обсосана...
viewtopic.php?p=3818204#p3818204это делитель-умножитель в одном флаконе с настраиваемыми коэффициентами (можно например 5/8 задать), собран на тини2313, умеет работать с малыми входными напряжениями, имеет встроенный фильтр от дребезга.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.