Управление реле, датчик давления - токовая петля
- Войдите на сайт для отправки комментариев
Приветствую всех читающих данную тему!
Полистав форум решил все таки создать тему т.к. оветы на все вопросы не нашел, а тут будет лечге все обьеденить.
И так стоит здача управлять двумя реле, которые по очереди будут включать шаговый двигатель для работы в разном направлении.
Время на которое срабатывает реле зависит от показаний датчика давления (4-20 ма). Если показания меняются быстро - реле срабатывает с большей задержкой, если медленно - задержка увеличивается.
В идеале прикрутить экран с управлением от кнопок, но пока это в планах.
Набросал алогритм:
Этой мой второй проект в Ардуино, с программированием на Вы, поэтому прошу помощи.
Первый вопрос, как хранить в переменной показания которые были на датчике секунду назад?
а сколько таких показаний надо хранить?
Датчик один, одно показание за последнию секунду, и текущее показания что бы потом их сравнивать на сколько быстро меняется давление
Датчик один, одно показание за последнию секунду, и текущее показания что бы потом их сравнивать на сколько быстро меняется давление
а как считываете? может тогда одной переменной и хватит, или тогда зарезервируйте две переменных
int d1, d1s
читаем в d1, сравниваем, сохраняем в d1s
Да, я не настоящий сталевар ежели что )))
Датчик один, одно показание за последнию секунду, и текущее показания что бы потом их сравнивать на сколько быстро меняется давление
а как считываете? может тогда одной переменной и хватит, или тогда зарезервируйте две переменных
int d1, d1s
читаем в d1, сравниваем, сохраняем в d1s
Да, я не настоящий сталевар ежели что )))
Первый вопрос, как хранить в переменной показания которые были на датчике секунду назад?
А как хранить вообще что-либо в переменной ты знаешь?
В общем, как на парковке, зарезервировать место, оплатить хранение. Если срок превышен, доплатить.
Датчик один, одно показание за последнию секунду, и текущее показания что бы потом их сравнивать на сколько быстро меняется давление
а как считываете? может тогда одной переменной и хватит, или тогда зарезервируйте две переменных
int d1, d1s
читаем в d1, сравниваем, сохраняем в d1s
Да, я не настоящий сталевар ежели что )))
тут одна переменная явно лишняя
Датчик один, одно показание за последнию секунду, и текущее показания что бы потом их сравнивать на сколько быстро меняется давление
а как считываете? может тогда одной переменной и хватит, или тогда зарезервируйте две переменных
int d1, d1s
читаем в d1, сравниваем, сохраняем в d1s
Да, я не настоящий сталевар ежели что )))
тут одна переменная явно лишняя
Ну да! Спасибо, всем кто решил откликнутся
Первый вопрос, как хранить в переменной показания которые были на датчике секунду назад?
А как хранить вообще что-либо в переменной ты знаешь?
В общем, как на парковке, зарезервировать место, оплатить хранение. Если срок превышен, доплатить.
Как хранить знаю, а как хранить то что было секунду назад непойму((
Первый вопрос, как хранить в переменной показания которые были на датчике секунду назад?
А как хранить вообще что-либо в переменной ты знаешь?
В общем, как на парковке, зарезервировать место, оплатить хранение. Если срок превышен, доплатить.
Как хранить знаю, а как хранить то что было секунду назад непойму((
добавьте переменную int oldPressure
Первый вопрос, как хранить в переменной показания которые были на датчике секунду назад?
А как хранить вообще что-либо в переменной ты знаешь?
В общем, как на парковке, зарезервировать место, оплатить хранение. Если срок превышен, доплатить.
Как хранить знаю, а как хранить то что было секунду назад непойму((
добавьте переменную int oldPressure
Добавил переменную int previousPressure, но как хранить в ней то что было секунду назад?
Предыдущие показания не хранит:
Как хранить знаю, а как хранить то что было секунду назад непойму((
А Вы начните хранить сейчас, а через секунду оно и будет "то, что было секунду назад". Коньяк ведь тоже наливают в бочку сейчас, а пятилетней выдержки он через пять лет только становится.
таки и читать надо раз в секунду естественно, тогда всё стыкуется, в переменной будет значение, что было секунду назад
странно почему только значения с порта так плавают в состоянии покоя?(( может кондера на входе не хватает?
Теперь непонятно как вынести значении переменной previousPressure за пределы цикла что бы сравнить его с текущим значением
Теперь непонятно как вынести значении переменной previousPressure за пределы цикла что бы сравнить его с текущим значением
Область видимости переменных
Этюды для начинающих: Память 3. Динамические и автоматические переменные
Этюды для начинающих: Память 2. Статические переменные.
Квалификатор static
Квалификатор volatile
Квалификатор const
ИМХО это не поможет, т.к. мне видится, что это кусок большого кода, где похоже есть еще и delay иначе получить такой разбег по времени просто не реально. А суперточность (в разумных МКшных пределах) достигается при испоьзовании таймеров и прерываний.