Страница 2 из 5

Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 11:04}
Dev1
brig62 писал(а):Вот и я с этим столкнулся. Пробовал разные блоки энкодера. Ровно 4 единицы прибавляет каждый щелчок. Как с этим бороться? Деление на 4 не помогает))
Стоит обычный блок Encoder. Мой энкодер то же выдает по 4. Делю так:

Код: Выделить всё

newPosition = myEnc.read()/4;

Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 11:30}
AVGN
brig62 писал(а):Вот и я с этим столкнулся. Пробовал разные блоки энкодера. Ровно 4 единицы прибавляет каждый щелчок. Как с этим бороться? Деление на 4 не помогает))
Вот попробуйте блок.
От Автора:
Энкодер Детектор
Блок служит для детектирования переключения Энкодера.
Параметры
Set -Импульсов на щелчок
Так как у некоторых энкодеров есть еще тактильные щелчки при вращении, и при одном щелчке бывает выдает не 1 импульс а 2 или 4 ( может и больше)
Вел делитель для получения соответствия щелчок-изменение числа.
DT , CLK  - номера пинов подключенных одноименные выхода энкодера (можно использовать любые пины)
period - Период опроса состояния энкодера, в микросекундах, завесить от энкодора
На механических энкодерах достаточно 1000мкс

!!!!Возможны конфликты с блоками где используется Timer1 (из известных мне Rremote, Servo)
!!!!Нельзя использовать совместно с ШИМ на
Arduino Uno 9, 10
Arduino Leonardo 9, 10, 11
Arduino Mega 11, 12, 13


Добавлено (16.03.2017, 11:30)
---------------------------------------------
Dev1 писал(а):Стоит обычный блок Encoder. Мой энкодер то же выдает по 4. Делю так:Код
newPosition = myEnc.read()/4;
Что значит "Стоит обычный блок Encoder" ?
В встроенных есть блок Encoder?

И куда Вы приведенный Вами код вставляете?

Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 11:45}
Dev1
AVGN писал(а):Что значит "Стоит обычный блок Encoder" ?В встроенных есть блок Encoder?

И куда Вы приведенный Вами код вставляете?
Скаченный из Блоки пользователей этот вроде. Это код из секции loop.

Можно вместо 4 написать setEnc и добавить вход или параметр пользователя(предпочтительно) setEnc тип Byte и будет вам счастье.

Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 15:06}
AVGN
Dev1, для чего у блока вход "Zero" ?


Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 15:33}
Dev1
AVGN писал(а):Dev1, для чего у блока вход "Zero" ?
Ща бы описание почитать, ну да ладно.
При подаче высокого уровня на вход Zero - Encoder принимает значение - 0 (нуль).

Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 15:50}
AVGN
Dev1 писал(а):Ща бы описание почитать, ну да ладно.
ЦитатаПри подаче высокого уровня на вход Zero - Encoder принимает значение - 0 (нуль).
Да прочитал я эту фразу из описания автора.
Но я же не программист. Мне не понятно для чего экодеру принимать значение НУЛЬ.
Могу только предположить.Если на вход "Zero" подать высокий уровень True то блок перестанет воспринимать импульсы с энкодера?

Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 16:33}
Dev1
AVGN писал(а):Да прочитал я эту фразу из описания автора.Но я же не программист.
Я то же не программист. И вы явно не читали или читали между строк.
Блок:

Encoder - подсчитывает импульсы от датчиков положения вала, датчиков двигателя и других датчиков угла поворота.
 
Значения на выходе блока EncData могут быть положительными и отрицательными.
и для этого:

При подаче высокого уровня на вход Zero - Encoder принимает значение - 0 (нуль).

Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 17:40}
AVGN
Dev1, назначение экодера выдавать импульсы при вращении его вала. 
Вот мне и не понятно для чего экодеру принимать значение НУЛЬ.

Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 17:47}
Dev1

С энкодером разобрались.... Но речь то идеть о БЛОКЕ!!!, который получает ИМПУЛЬСЫ от энкодера. Блок считывает импульсы и выдает их значение на выходе, если крутить в одну сторону, то они увеличиваются(напримерн от 0 до 10000), в другую, уменьшаются(например от 0 до -10000). И вот в некоторых "схемах" нужно сбросить счетчик, для этого и есть Zero.

Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 17:48}
Nikan
.

Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 18:06}
AVGN
Цитата Dev1 () 200?'200px':''+(this.scrollHeight+5)+'px');">С энкодером разобрались.... Но речь то идеть о БЛОКЕ!!!, который получает ИМПУЛЬСЫ от энкодера. Блок считывает импульсы и выдает их значение на выходе, если крутить в одну сторону, то они увеличиваются(напримерн от 0 до 10000), в другую, уменьшаются(например от 0 до -10000). И вот в некоторых "схемах" нужно сбросить счетчик, для этого и есть Zero. Так бы сразу и сказали чтоблок это счетчик, который может переполняться и его надо сбрасывать.
Я-то вообще полагал, что блок это просто программа,
которая определяет, в какую сторону крутится вал энкодера, а количество
импульсов не считает. Просто говорит крутится вал влево и импульсы выдает. И наоборот.
На других то блоках энкодеранайденных здесь я не видел такого обнуления.


Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 18:09}
Nikan
.

Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 18:46}
AVGN
Nikan писал(а):прочитать описание блока религия не позволят?
Религия - Я даже не знаю что это такое.
В описании автора нет ни слова, что счетчик
переполняется и его надо сбросить.
Ну, теперь благодаря Dev1внесли ясность в этот блок. Спасибо.

Замучил я конечно расспросами. Но мой лектор говорил: "Токма педантичный подход заставляет работать приемопередатчик в терагерцовом диапазоне"...

Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 19:02}
Nikan
,

Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 20:19}
brig62
AVGN,  Я сегодня доделал проект, в котором при помощи энкодера задаю несколько переменных. Хорошо, что они близкие по значению (температура). А если бы не это дело, то проще было бы сбрасывать значение перед вводом следующей. Для этого видимо автор Зеро и сделал. 
Кстати 4 импульса на щелчок так побороть и не удалось. Пришлось умножение применять. Что не есть хорошо.

Помощь новичку. Меню и энкодер.

Добавлено: 16.03.2017{, 20:54}
Dev1
AVGN, За время, проведенное на распросы я бы уже давно сделал с десяток проектов и покрутил их. Это я про блок и про энкодер. Кстати, я так начинал с программой знакомиться. Дело 5 минут подцепить энкодер к ардуине и вывести на любой дисплей, хотя можно просто в порт сливать переменные. В программе выставили блоки какие вам нужно, залили и смотрите. Все понятно, никуда писать не нужно. Чем больше вы будете это проделывать, тем быстрей поймете что тут для чего.

Фу, блин, устал писать. Болею ленью

Помощь новичку. Меню и энкодер.

Добавлено: 17.03.2017{, 10:35}
AVGN
brig62 писал(а):AVGN,  Я сегодня доделал проект, в котором при помощи энкодера задаю несколько переменных. Хорошо, что они близкие по значению (температура). А если бы не это дело, то проще было бы сбрасывать значение перед вводом следующей. Для этого видимо автор Зеро и сделал. Кстати 4 импульса на щелчок так побороть и не удалось. Пришлось умножение применять. Что не есть хорошо.
Энкодер механический? Что на выходе Вашего энкодера смотрели осциллографом?
Механический энкодер имеет дребезг. Смотрите осциллографом. 
Подлечить можно если шунтировать выходы энкодера конденсатором 1-10пф.
Я ставил подстроечный до 10пф и смотрел осциллографом.

Добавлено (17.03.2017, 10:35)
---------------------------------------------
Dev1 писал(а):AVGN, За время, проведенное на распросы я бы уже давно сделал с десяток проектов и покрутил их. Это я про блок и про энкодер. Кстати, я так начинал с программой знакомиться. Дело 5 минут подцепить энкодер к ардуине и вывести на любой дисплей, хотя можно просто в порт сливать переменные. В программе выставили блоки какие вам нужно, залили и смотрите. Все понятно, никуда писать не нужно. Чем больше вы будете это проделывать, тем быстрей поймете что тут для чего.Фу, блин, устал писать. Болею ленью
Я сейчас в "космосе" как у нас говорят. С собой только ноутбук и доступ в интернет. Ардуины и экодера нет - покрутить нечего. Только в субботу или воскресенье время на хобби 

Помощь новичку. Меню и энкодер.

Добавлено: 17.03.2017{, 10:59}
Dev1
Цитата AVGN () 200?'200px':''+(this.scrollHeight+5)+'px');">Я сейчас в "космосе" как у нас говорят. С собой только ноутбук и доступ в интернет. Ардуины и экодера нет - покрутить нечего. Только в субботу или воскресенье время на хобби Так для "космоса" есть Proteus  

Помощь новичку. Меню и энкодер.

Добавлено: 17.03.2017{, 11:12}
AVGN
Dev1 писал(а):Так для "космоса" есть Proteus
 Как то дороговато $6,592.00 для хобби.
И меня больше увлекает с реальными приборами и паяльником с железом поработать 

Помощь новичку. Меню и энкодер.

Добавлено: 17.03.2017{, 11:15}
Dev1
AVGN писал(а):Как то дороговато $6,592.00 для хобби.
Эх, ща бы в 2к17 грограммы покупать