Подключение датчика давления, помогите разобраться.
- Войдите на сайт для отправки комментариев
Всем здравствуйте!
Подключил датчик давления MPXV7002DP к Arduino UNO, на выходе ШИМ измерительная панель, RM-428, 0-2 в., то-есть вольтметр с делителем 1:20. Датчик выдает в состоянии покоя 2.5 в., на панели 000, при подаче полного давления на выходе датчика 5 в., на панели 120, что соответствует 120 км./ч. Для контроля в паралель датчику включен авиационный указатель скорости. Вроде все работает, НО, нелинейно. Например на авиационном 80 км./ч. а на панельке 75, и т.д. Повидимому нужно привязать толи напряжение, от2.5-5в., толи уровни от 512 до 1023 на входе, к выходу ШИМ 0-127, или 0-2.4 в. Подскажите что надо сделать, с чего начать. Градации напряжений к скорости все промерял, например 3.13 в.=60 км./ч. и т.д
Скетч слепил такой.
// Датчик давления подключен к А0.
Тут сначало нужно разобраться с физикой и математикой процесса. Тоесть узнать зависимость показаний датчика от скорости в виде формулы.
Тут сначало нужно разобраться с физикой и математикой процесса. Тоесть узнать зависимость показаний датчика от скорости в виде формулы.
Ну, эта зависимость как бы уже известна, на всем диаппазоне. Например, 2.67 в. на выходе датчика, соответствует 35 км./ч. 2.75-40 и т.д. Вот, нашел похожую ситуацию, а как привязать это к выходу ШИМ, не пойму. http://rezoh.ru/?p=4997
Значит вам нужно 2 таблицы совместить в одну. где будут показания датчика и нужный шим на выходе
Значит вам нужно 2 таблицы совместить в одну. где будут показания датчика и нужный шим на выходе
Да это то понятно, а вот какими средстрами это сделать, не совсем. Может есть у кого какие-то примеры скетча, на эту тему. Или какими данными оперировать?
а зачем каждый раз новую тему начинать для нового вопроса?
Ну с железом же разобрались, теперь программирование, думаю сдесь больше програмистов, кто бы подсказал. Наверно для этого разделы и созданы. Пытаюсь разобраться с плавающими переменными fload, пока не понимаю как привязать их к ШИМ.
ты наверно хочешь получить точность (разрядность) как у ацп, но с шима? 127 тебе мало, так как полдиапазона всего используешь
1. если да то обломайся. или меняй схемотехнику (после шима делитель на 2 поставить и будешь использовать весь диапазон шима)
2. или не занимайся фигней. купи дисплей графический или с большими цифрами и сделай тоже самое но без извращений
3. купи цап и извращайся, но на высокой точности
Да ведь в принципе всего хватает 127 это 2.5 в. я их делю на 20, и получаю 125 мв. это максимальное значение. Сейчас работает все отлично, циферки меняются плавно, но не линейно. Вот пока не пойму, что к чему привязывать, толи напряжение к напряжению, толи уровни к уровням.
Подскажите, как правильно разбить уровни на участки.
Написал так:
почитай про if
Спасибо! Да, прочитал все управляющие операторы, чувствую где-то рядом. Но не могу сообразить как это в код вставить. Примеры не понятны. Пока с написанием проблема. Может по теме пример написания есть?
хотя можно объявить массив с граничными условиями, а условие загнать в цикл. поинтереснее будет выглядеть
да и настраивать будет проще
а есть еще лучше способ. в экселе строишь график сглаженный по твоим измеренным данным. а зачем преобразуешь график в формулу до второй степени, ну можно и третьей, но и второй хватит скорее всего. и получишь точнее значения, гладкую а не ломаную кривую зависимости, да и вообще будет выглядеть солиднее
jeka_tm Большое спасибо!
Все заработало! Прописал все данные через 5 км., все стало работать как надо, плавно и правильно, через 1 км. Весной испытаю на мотодельтаплане. Сейчас еще все осмыслю, и подкорректирую код. Еще есть задумка сделать здесь же сигнализатор критической скорости. Например если скорость падает меньше 60-ти, в наушники подается звуковой сигнал, и при уменьшении скорости частота сигнала увеличивается. И высотомер тоже можно попробовать, есть датчик давления MPX4115AP/ А вобще Ардуино зацепило, очень интересно, много чего можно самому реализовать, если программирование знать конечно. Спасибо!
да пожалуйста. ну вот еще одного зацепило)))
Что-то совсем мало нашел примеров со звуком. Вот, слепил генератор сигналов, а привязать его управление с аналогового входа не могу. Чтоб включался по уровню на входе, например от 200 до 500. Подскажите кто в теме.
снала разберись что такое уровень звука и что такое звук в виде сигнала
При заливке этого скетча, на выходе получаю постоянный, прерывистый звуковой сигнал. А вот как отключать и включать его по команде аналогового уровня, который от 0 до 1023 не пойму. Например чтоб генератор включился на уровне 200, а выключился на 300. Например потенциометром, или датчиком.
точнее вопрос. я не экстрасенс. без лишних слов, только суть, что имеем, что должны получить, и почему мы должны это получить
Ну, например на входе аналоговом, А0 потенциометр, вращаем ручку, и на определенном участке запикал генератор звука, а чуть дальше выключился.
тау условия нет от звукового сигнала а от потенциометра, где сигнал постоянный
просто условия if
Ну вот, что то вроде получилось, правда сигнал непрерывный, меняется тон, а лучше бы частота. Вот теперь слить два скетча не получается. Какие то есть правила?
Подскажите, кто в курсе. Почему на границах включения и выключения звука, наблюдается грязный шум? Нет четкого включения и выключения звука при достижении уровней на входе. Возможно ли это устранить?
Makkov, здравствуйте решил тоже реализовать проек один в один с Вашим. Указатель воздушной скорости для дельталёта. Помогите пожалуйста с описанием.