Подружить Pic и HC-SR04

PIC версия программы(разные темы)

Подружить Pic и HC-SR04

Сообщение He4aeB_C (Сергей) » 16 сен 2014, 23:03

Доброго времени суток. Есть такой датчик, как HC-SR04. Хочу попробовать бесконтактно мерять им уровень воды в баке с питьевой водой. По логике работы все просто: на вход trig с контроллера на датчик подаем импульс в 10 us. Выход Echo подключаем на вход int контроллера. По переднему фронту с Echo запускаем генератор микросекундных импульсов и считаем их, по заднему фронту Echo останавливаем подсчет и записываем результат в регистр. C дальнейшей матаматикой, думаю, разберусь. Подскажите, правильно ли составлен алгоритм и как правильно настроить в FC int.
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: He4aeB_C
Имя: Сергей
(Одесса)
Заинтересованный
Заинтересованный
Информация о пользователе

Re: Подружить Pic и HC-SR04

Сообщение mim (mim) » 17 сен 2014, 13:32

По переднему фронту с Echo запускаем генератор микросекундных импульсов и считаем их, по заднему фронту Echo останавливаем подсчет и записываем результат в регистр.
Правильно. Запусти в поиске по форуму "измерение импульса,измерение длительности, измерение PPM" - и почитай. В Инете есть моделька HC-SR04 для Протеуса. Делов-то на полчаса, а вот как с влажностью для такого датчика???
HC-SR04.jpg
У вас нет доступа для просмотра вложений в этом сообщении.
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе

Re: Подружить Pic и HC-SR04

Сообщение He4aeB_C (Сергей) » 17 сен 2014, 15:45

спасибо за наводку. вот по поводу влажности тоже смущает, но практика покажет. все же лучше, чем водой электроды замыкать.
Ник: He4aeB_C
Имя: Сергей
(Одесса)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Подружить Pic и HC-SR04

Сообщение He4aeB_C (Сергей) » 18 сен 2014, 07:09

здравствуйте. накидал такой пример. не могу понять, почему прерывание по int на передний фронт реагирует и запускает макрос счета, а на задний фронт нет. плюс пообъявлял переменные, а при симуляции выдает, что они не объявлены. пробовал и локальные и глобальные.
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: He4aeB_C
Имя: Сергей
(Одесса)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Подружить Pic и HC-SR04

Сообщение mim (mim) » 18 сен 2014, 07:34

He4aeB_C писал(а):1. не могу понять, почему прерывание по int на передний фронт реагирует и запускает макрос счета, а на задний фронт нет
2. плюс пообъявлял переменные, а при симуляции выдает, что они не объявлены. пробовал и локальные и глобальные.

1. Так дело не пойдет. Если я дал "наводку" (или на пиво) - ее нужно изучить. Не хочешь искать примеры и изучать - я помогать не буду, я никому ничего не должен.
2. Я этого не вижу.

ЗЫ Если бы ты читал форум, то знал бы - FC для пиков не должен содержать русских букв. Ни где!
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Подружить Pic и HC-SR04

Сообщение He4aeB_C (Сергей) » 18 сен 2014, 09:10

уважаемый mim, я на этом форумене для того, чтобы оценить ваше остороумие или посостязаться в нем. я нигде не упоминал, что мне кто-то что-то должен. я только разбираюсь в этой программе, поэтому и задаю, на ваш взгляд, тупые вопросы. теперь по существу. русских букв в коде нет проблема с объявлением решилась, когда в main добавил обнуление этих переменных. при поступлении сигнала с тумблера прерывание перебрасывает на счетчик, который через каждую микросекунду увеличивает свое состояние на 1. но при пропадании сигнала с тумблера (спадающий фронт) ничего не происходит и счетчик продолжает считать. форум я естесственно курил, но хочется не обезьянничать, а сделать что-то свое. если я не прав, так и скажите, буду делать другой алгоритм.
Ник: He4aeB_C
Имя: Сергей
(Одесса)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Подружить Pic и HC-SR04

Сообщение Taska (Максим) » 18 сен 2014, 09:45

Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Подружить Pic и HC-SR04

Сообщение He4aeB_C (Сергей) » 18 сен 2014, 11:04

хорошо. это понятно, поясните только одно, почему не отрабатывает прерывание по заднему фронту импульса?
Ник: He4aeB_C
Имя: Сергей
(Одесса)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Подружить Pic и HC-SR04

Сообщение Taska (Максим) » 18 сен 2014, 11:25

Потому, что ты зашел в макрос по прерыванию и ты пытаешься вызвать из этого макроса другое прерывание, так ты можешь прождать его целую вечность. Для того чтобы оно сработало ты должен выйти из прерывания.
Тебе зачем давали ссылки, чтоб ты посмотрел как делать правильно, а ты стоишь на своем.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Подружить Pic и HC-SR04

Сообщение He4aeB_C (Сергей) » 20 сен 2014, 23:22

доброго времени суток. спасибо за представленные примеры, но в такие дебри мне лезть пока рановато. но дивайс все-таки хочется сделать. поэтоу накрапал еще один алгоритм на ваш суд. в нем смысл заключается в том, что мы четко знаем, что измеряемый импульс будет не более 50 мс. от прерываний пока решил отказаться в виду недостаточности опыта и считать количество тиков в цикле. полученное число не обязательно должно быть пропорционально расстоянию, главное знать относительное расстояние до воды при максимальном и минимальном уровне в баке.
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: He4aeB_C
Имя: Сергей
(Одесса)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

След.

Вернуться в Flowcode PIC

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей

cron