Делитель/умножитель ШИМ
Re: Делитель/умножитель ШИМ
Можно всеми 3мя способами. Почему бы и нет. Но как мне кажется проще 2м. Ну не зря же захват придумали на 1ом таймере - всё просто и точно получается с захватом.
А выводить другим таймером. У таймера 2 есть тоже ШИМ. Хоть и 8-битный. Но кто мешает пересчитать, снизить разрядность? Вы знаете сколько у вас длительность тика Timer1. И знаете какой диапазон нужен в длительности на выходе (уже с учетом коэф.). Ну так и считаете в коде и настраиваете Таймер2 на генерацию ШИМ с нужными параметрами.
Или ногодрыгом и хоть Таймер0, хоть Таймер2 - "эмулируем" 16-битный счет. Как я писал в своём примере.
А выводить другим таймером. У таймера 2 есть тоже ШИМ. Хоть и 8-битный. Но кто мешает пересчитать, снизить разрядность? Вы знаете сколько у вас длительность тика Timer1. И знаете какой диапазон нужен в длительности на выходе (уже с учетом коэф.). Ну так и считаете в коде и настраиваете Таймер2 на генерацию ШИМ с нужными параметрами.
Или ногодрыгом и хоть Таймер0, хоть Таймер2 - "эмулируем" 16-битный счет. Как я писал в своём примере.
- Реклама
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: Делитель/умножитель ШИМ
я бы так сделал:
1)запустил Т1 так чтобы он переполнялся не чаще 4 Гц
2)настроил прерывание на захват по фронту
в прерывании находил разницу текущего и прошлого захватов, эту разницу помещал бы в видимую отовсюду переменную.
3) на этом же таймере настроил прерывание и выход тоггле по совпадению
в прерывании увеличивал бы регистр сравнения на четверть переменной.
этот код, используя всего один таймер на лету (каждый входной импульс) пересчитывает частоты, не обязательно в 2 раза - можно подставить и другой множитель...
это код для меандра (на выходе меандр), если этот код немножко усложнить, то можно транспонировать не только частоту, но и скважность.
1)запустил Т1 так чтобы он переполнялся не чаще 4 Гц
2)настроил прерывание на захват по фронту
в прерывании находил разницу текущего и прошлого захватов, эту разницу помещал бы в видимую отовсюду переменную.
3) на этом же таймере настроил прерывание и выход тоггле по совпадению
в прерывании увеличивал бы регистр сравнения на четверть переменной.
этот код, используя всего один таймер на лету (каждый входной импульс) пересчитывает частоты, не обязательно в 2 раза - можно подставить и другой множитель...
это код для меандра (на выходе меандр), если этот код немножко усложнить, то можно транспонировать не только частоту, но и скважность.
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Делитель/умножитель ШИМ
Кстати, в теме ШИМ. Но ведь ШИМ не нужен, все верно же?
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: Делитель/умножитель ШИМ
Лабене! ©"Врунгель"
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Re: Делитель/умножитель ШИМ
Так вот всё-таки надо понимать, ШИМ там или ЧИМ. В моём примере на тахометре сигнал был ЧИМ, меандр. Я не думаю, что там и частота и скважность меняются. Что-то одно должно )
- Реклама
- Starichok51
- Модератор
- Сообщения: 19049
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Делитель/умножитель ШИМ
предлагаю такой вариант:
ставим преобразователь частота-напряжение.
с помощью АЦП измеряем напряжение - это можно сделать очень быстро, практически без видимой задержки.
потом от величины напряжения таймером генерируем нужную частоту.
остается только найти калибровочный коэффициент (измеренное напряжение) - (выходная частота).
ставим преобразователь частота-напряжение.
с помощью АЦП измеряем напряжение - это можно сделать очень быстро, практически без видимой задержки.
потом от величины напряжения таймером генерируем нужную частоту.
остается только найти калибровочный коэффициент (измеренное напряжение) - (выходная частота).
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Делитель/умножитель ШИМ
Вариант он конечно рабочий, но мне кажется не к чему тут аналоговые решения. Сложнее и менее точно наверняка, да еще появляются всякие доп требования, например к питанию.
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: Делитель/умножитель ШИМ
пока из частоты в напряжение преобразится... пока это напряжение устаканится... (дальше быстрей
)
я проще предложил - не частоту увеличивать, а уменьшать длительность
измерил длительность, пересчитал, вывел - задержка не больше чем 1 входной плюс 0,5 выходного импульса.
Добавлено after 6 minutes 7 seconds:
если бы ТС поставил ныне популярное (даже слишком
) условие "без МК" вариант с преобразоввтелями в напряжение наверное был бы в лидерах...
я проще предложил - не частоту увеличивать, а уменьшать длительность
измерил длительность, пересчитал, вывел - задержка не больше чем 1 входной плюс 0,5 выходного импульса.
Добавлено after 6 minutes 7 seconds:
если бы ТС поставил ныне популярное (даже слишком
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Делитель/умножитель ШИМ
))) Мне хочу универсальное устройство, которое может и делить и умножать.... В зависимости от выбранного режима. На Т1 у меня не доходит голова, как реализовать. Ведь, если я буду использовать его ШИМ, то мне придется менять ЗАГРУЖАТЬ новые значения не только в регистр сравнения, но и в сам счетчик таймера. А тогда новое измерение по захвату невозможно будет правильно сделать...
Станислав
Re: Делитель/умножитель ШИМ
Запустите Т1 навсегда на максимальный цикл счета. Далее оперируете только захватом и сравнением(ями).
Re: Делитель/умножитель ШИМ
СКАЗОЧНИК, и всё-таки еще раз - ШИМ или ЧИМ?
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Делитель/умножитель ШИМ
Да вот не знаю я... . И меня это озадачивает самого. На разных машинах по разному...
Видел графики импульсов от некоторых машин. Есть где с проца идет ровный меандр. А есть где все время положительный +12 В и проваливается иголками в 3 мс. Потому и думал копировать как ШИМ. Однако, задумался о том, если я частоту увеличу, то и иголки эти будут уже не 3 мс, а гораздо короче, значит может тахометр их и не увидит.
Может реально надо оставлять длительность иголок такую же , а паузы между ними уменьшать.
Пока что запросил осциллограммы на холостых оборотах и почти в режиме отсечки, чтобы сравнить. Но их походу сделать не могут... Придется идти в сервис со своим осциллографом.
Добавлено after 3 minutes 47 seconds:
Если тупо брать сигнал от датчика оборотов коленвала, а там стоит либо холл либо индуктивный какой-нибудь с зубчиков считывает, то теоретически с увеличением числа оборотов и импульс станет короче.
Добавлено after 2 minutes 11 seconds:
Аналогично и с ABS, если оттуда брать и выводить на спидометр.
Вот про зажигание не знаю и форсунки, там может остается такой же импульс, но с меньшими паузами.
Добавлено after 6 minutes 23 seconds:
А есть где одного зуба нету на коленвале. Тогда осциллограмма вообще с выбросом идет.
Вот что нашел: там внизу есть тахометр на разных оборотах.
https://www.chipmaster.ru/diagnostika-d ... rammi/tok/
Это по скорости
https://www.chipmaster.ru/diagnostika-d ... -skorosti/
Это ДПКВ
https://www.chipmaster.ru/diagnostika-d ... togo-vala/
И вот такой Холл
https://www.chipmaster.ru/diagnostika-d ... hik-holla/
Видел графики импульсов от некоторых машин. Есть где с проца идет ровный меандр. А есть где все время положительный +12 В и проваливается иголками в 3 мс. Потому и думал копировать как ШИМ. Однако, задумался о том, если я частоту увеличу, то и иголки эти будут уже не 3 мс, а гораздо короче, значит может тахометр их и не увидит.
Может реально надо оставлять длительность иголок такую же , а паузы между ними уменьшать.
Пока что запросил осциллограммы на холостых оборотах и почти в режиме отсечки, чтобы сравнить. Но их походу сделать не могут... Придется идти в сервис со своим осциллографом.
Добавлено after 3 minutes 47 seconds:
Если тупо брать сигнал от датчика оборотов коленвала, а там стоит либо холл либо индуктивный какой-нибудь с зубчиков считывает, то теоретически с увеличением числа оборотов и импульс станет короче.
Добавлено after 2 minutes 11 seconds:
Аналогично и с ABS, если оттуда брать и выводить на спидометр.
Вот про зажигание не знаю и форсунки, там может остается такой же импульс, но с меньшими паузами.
Добавлено after 6 minutes 23 seconds:
А есть где одного зуба нету на коленвале. Тогда осциллограмма вообще с выбросом идет.
Вот что нашел: там внизу есть тахометр на разных оборотах.
https://www.chipmaster.ru/diagnostika-d ... rammi/tok/
Это по скорости
https://www.chipmaster.ru/diagnostika-d ... -skorosti/
Это ДПКВ
https://www.chipmaster.ru/diagnostika-d ... togo-vala/
И вот такой Холл
https://www.chipmaster.ru/diagnostika-d ... hik-holla/
Станислав
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Делитель/умножитель ШИМ
СКАЗОЧНИК, да возьмите МК с двумя 16-битными таймерами и не парьтесь. устройство ведь делаете явно коммерческое, не скупитесь - все окупится.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Делитель/умножитель ШИМ
СКАЗОЧНИК, ну так это всё ЧИМ. Скважность всегда фиксирована, меняется только частота. Это отметает советы выше на счет именно ШИМа, где фиксирована частота.
Вам нужно раз вычислить частоту и скважность, а потом считать только частоту. Вот этого и "пляшите" - нет нужды ненужные телодвижения совершать каждый раз измеряя то, что одинаковое.
Вам нужно раз вычислить частоту и скважность, а потом считать только частоту. Вот этого и "пляшите" - нет нужды ненужные телодвижения совершать каждый раз измеряя то, что одинаковое.
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Делитель/умножитель ШИМ
Сделал я тупым ногодрыгом в прерывании...
Но работает. ) И умножает и делит в диапазоне */8 . На частотах от 4 Гц. Но так таймер настроен на захват, меньше 4 Гц не ловит. )))
Станислав
Re: Делитель/умножитель ШИМ
Как вариант. Использовать захват Т1 -> расчёт и занесение в буфер ОЗУ -> содержимое ОЗУ сдвигать с дискретом, определяемым точностью выходной последовательности.
- Starichok51
- Модератор
- Сообщения: 19049
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Делитель/умножитель ШИМ
а как таймер настроен?СКАЗОЧНИК писал(а):Но так таймер настроен на захват, меньше 4 Гц не ловит
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
-
Frogfot
- Мучитель микросхем
- Сообщения: 443
- Зарегистрирован: Ср окт 19, 2011 08:48:27
- Откуда: Мать городов русских
Re: Делитель/умножитель ШИМ
Чего париться с AVR - есть STM32, в F103-м - 4 16-битных таймера, на каждом по 4 канала захвата/сравнения - можно захват делать по фронту и по спаду - 1 таймер 2-мя каналами захвата ловит входной ШИМ, 2-й таймер ШИМит.
Последний раз редактировалось Frogfot Пт мар 06, 2020 14:22:58, всего редактировалось 1 раз.
Хорошему коту и в декабре - март 
Re: Делитель/умножитель ШИМ
Frogfot, там не ШИМ.
Да ну и из пушки по воробьям это. Т.к. МК больше ничего делать и не надо, а частоты очень низкие (по сравнению с частотой даже 8-битных МК), то ногодрыг тут вполне уместен.
Да ну и из пушки по воробьям это. Т.к. МК больше ничего делать и не надо, а частоты очень низкие (по сравнению с частотой даже 8-битных МК), то ногодрыг тут вполне уместен.
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Делитель/умножитель ШИМ
До дома доберусь через пару часов, напишу подробнее. Может и исходник выложу. Там всего 500 байт кода. )
атмегу8 поменяю на тини2313 или13.
Никаких резисторов с АЦП не буду делать для онлайн руления коэффициентом. Тупо дип-переключатели. Выставил, нажал сброс, мк при инициализации пересчитал значение и все.
Добавлено after 2 minutes 2 seconds:
А может и на ассемблере все перепишу, т.к. Си плохо знаю и код не оптимален. Хотя, ассемблер тоже мало знаю. ))))
атмегу8 поменяю на тини2313 или13.
Никаких резисторов с АЦП не буду делать для онлайн руления коэффициентом. Тупо дип-переключатели. Выставил, нажал сброс, мк при инициализации пересчитал значение и все.
Добавлено after 2 minutes 2 seconds:
А может и на ассемблере все перепишу, т.к. Си плохо знаю и код не оптимален. Хотя, ассемблер тоже мало знаю. ))))
Последний раз редактировалось СКАЗОЧНИК Пт мар 06, 2020 19:34:28, всего редактировалось 1 раз.
Станислав



