Можно ли подружить две библиотеки PWM.h и FreqMeasure.h?

MaksVV
Offline
Зарегистрирован: 06.08.2015

нужно измерять поступающую на ардуино частоту и выдавать шим, частота которого должна зависеть от поступающей частоты. Эти библиотеки один таймер используют? Если да, от посоветуйте как измерить частоту по другому или сделать шим подругому.  

PS входящая частота 1-400Гц, множетель частоты для ШИМ 4.33. Т.е. максимальная частота ШИМ 1,7кГц

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

ШИМ и частота - понятия ортогональные.

Вероятнее всего, Вы путаетесь в терминологии.

Постарайтесь описать, что Вам нужно, не используя слов, значения которых Вы не понимаете.

MaksVV
Offline
Зарегистрирован: 06.08.2015

мне нужно на одной ардуине использовать эти две библиотеки. Считывать входящую частоту (на 8 Pin). И создавать ШИМ на вывод pin 9 со своей частотой (должна зависеть от входящей частоты на pin8).

И что именно, по вашему, я не понимаю в значениях этих слов? 

T.Rook
Offline
Зарегистрирован: 05.03.2016

Уважаемый andriano, впрочем и я тоже, хотели убедиться в том, что Вам необходимо именно "создавать ШИМ на вывод pin 9 со своей частотой".  Вы уверенны что хотите  изменять частоту ШИМ, а не скважность? 

MaksVV
Offline
Зарегистрирован: 06.08.2015

да менять нужно именно частоту

 

T.Rook
Offline
Зарегистрирован: 05.03.2016

MaksVV пишет:

да менять нужно именно частоту

Ой как интересно! А можете рассказать  задачу? Почему именно частоту?

MaksVV
Offline
Зарегистрирован: 06.08.2015
MaksVV
Offline
Зарегистрирован: 06.08.2015

я уже решил измерять входящую частоту другой ардуиной и по сериал соединению передавать один integer. С этим тоже беда. не учили меня в школе программировать.

T.Rook
Offline
Зарегистрирован: 05.03.2016

тю. Зачем темы множить то?

FreqMeasure была на первом таймере - хотя правильнее читать там где взяли. На какие  выводы PWM первый таймер влияет разберетесь?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

MaksVV пишет:

мне нужно на одной ардуине использовать эти две библиотеки. Считывать входящую частоту (на 8 Pin). И создавать ШИМ на вывод pin 9 со своей частотой (должна зависеть от входящей частоты на pin8).

И что именно, по вашему, я не понимаю в значениях этих слов? 

Судя по всему, Вы не понимаете значение аббревиатуры ШИМ.

ШИМ - это Широтно-Импульсная Модуляция, при которой входной сигнал модулируется шириной (скважностью) импульса. Частота при этом остается неизменной.

Можно сделать ШИМ на различных частотах, но в процессе работы (управления) частота меняться не будет. 

MaksVV
Offline
Зарегистрирован: 06.08.2015

Умный вы наш, судя по всему, это вы не как не поймете, почемуто, что мне нужно. Представьте диск с одной прорезью. Дак вот полные 360 градусов этого диска это весь период (один оборот), а угол прорези это ширина импульса. И прорезь всегда остается неизменной и её угол соответственно тоже. И зависимость угла прорези и всей окружности диска и есть скважность, которая неизменна, поэтому мне её менять не нужно. 

А если крутить этот диск быстрее то будет меняться ЧАСТОТА при одинаковой скважности. Вот частоту мне и надо менять. А для удобства хотел использовать библиотеку PWM где есть настройки и скважности и частоты ШИМ. ШИМ просто использую не по назначению если хотите, используя эту библиотеку в качестве генератора сигнала. 

MaksVV
Offline
Зарегистрирован: 06.08.2015

andriano пишет:

 

Можно сделать ШИМ на различных частотах, но в процессе работы (управления) частота меняться не будет. 

У меня всё меняется, если две библы вместе не использовать. 

MaksVV
Offline
Зарегистрирован: 06.08.2015

MaksVV пишет:

я уже решил измерять входящую частоту другой ардуиной и по сериал соединению передавать один integer. С этим тоже беда. не учили меня в школе программировать.

с этим вроде как получилось  

http://arduino.ru/forum/programmirovanie/peredat-i-prinyat-integer-po-serial

 пойду таким путём пожалуй. так быстрее. 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

MaksVV пишет:

Умный вы наш, судя по всему, это вы не как не поймете, почемуто, что мне нужно.

Не "почемуто", а потому, что Вы неправильно используете термсинологию.

Цитата:

Представьте диск с одной прорезью. Дак вот полные 360 градусов этого диска это весь период (один оборот), а угол прорези это ширина импульса. И прорезь всегда остается неизменной и её угол соответственно тоже. И зависимость угла прорези и всей окружности диска и есть скважность, которая неизменна, поэтому мне её менять не нужно. 

А если крутить этот диск быстрее то будет меняться ЧАСТОТА при одинаковой скважности. Вот частоту мне и надо менять. А для удобства хотел использовать библиотеку PWM где есть настройки и скважности и частоты ШИМ.

ШИМ - это изменение только скважности. Частота здесь ни при чем. Если скважность не меняется, нет и ШИМ.

Цитата:

ШИМ просто использую не по назначению если хотите, используя эту библиотеку в качестве генератора сигнала. 

Зачем использовать библиотеку не по назначению? Берете и программируете нужный вам таймер. Заодно, если хотите подружить этот свой код с другой библиотекой, выясните, который из таймеров использует библиотека и программируйте другой. Собственно, в UNO три таймера: один используется для системных нужд, а два другие можно использовать по своему усмотрению. Кстати, вероятнее всего, конфликт возникает как раз из-за попыток использования одного и того же таймера двумя разными библиотеками.