Сбой счёта импульсов с оптического щелевого датчика

Вопросы от новичков
vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Сбой счёта импульсов с оптического щелевого датчика

#41

Сообщение vfv » 04.03.2019{, 08:59}

Вчера опять тщательно тестировал свои проекты на сбои шагов:
1. Станок для намотки шпагата-v02.flp - на быстром счётчике
2.Станок для намотки шпагата-v01.flp - на быстрых входах
Дисплеи в проектах убирал - все. Скорость выставлял максимальную рабочую нужную мне.
Результат тестирования такой:
При всех убранных дисплеях - оба проекта работают без сбоев, а проект "Станок для намотки шпагата-v01.flp" на быстрых входах даже лучше ( точнее на концах).
Есть конечно ещё один путь - использовать дисплеи просто для выставления уставок, а при работе отключать совсем и если у вас не получится с дисплеями то прийдётся так и сделать.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сбой счёта импульсов с оптического щелевого датчика

#42

Сообщение Sancho » 04.03.2019{, 10:02}

vfv, Валерий, пробуйте:
Станок для намотки шпагата-v03.flp
(585.3 КБ) 62 скачивания
Описание - над блоком.
Жду комментариев.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Сбой счёта импульсов с оптического щелевого датчика

#43

Сообщение vfv » 04.03.2019{, 11:53}

Полный хаус. Сейчас сидел правил концевые стойки (концевые аварийные датчики ещё не успел поставить).Трапециевидный вал это ведь редуктор. Сейчас пропаду на 15мин купить сигареты, а потом попробую этот хаус описать. Пины поменял - как указано.

Отправлено спустя 1 час 33 минуты 26 секунд:
Если каретка находится до нажатия на кнопку пуск между серединой и правым концом, то при нажатии на пуск , начинает двигатся на малой скорости (реле выключено, тем создана цепь для движения на лево ) к середине. Дойдя до середины включает повышенную скорость и продолжает движение на лево. Так же от середины начинается отсчёт заданных шагов. Делает заданное количество шагов, реверс и начинается полный хаус.То сделает несколько шагов на право и не дойдя до середины опять на лево то убежит в любую сторону до упора.
Хочу на всякий случай напомнить - мне считать шаги нужно только от середины на лево и от середины на право. А на оборот с права до середины и слева до середины считать с исполнением нет. Середина всё равно всё обнулит.
Может это происходит без того моего счётчика с середины, который вы заменили RS триггером?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сбой счёта импульсов с оптического щелевого датчика

#44

Сообщение Sancho » 04.03.2019{, 13:52}

Сделано на прерываниях. Работает по фронтам. Очень чувствительна к помехам. Любой по продолжительности фронт вызывает сработку входа и выполнение подпрограммы.
Соответственно, при Вашем реверсе чего-то весёлое творится с сигналами.
Осциллографа нет - печалька, не узнать, чего там ...
По поводу счётчика - вот сами подумайте, чем отличается Ваше включение от RS триггера с доп. R-триггером по S ? Ничем. При первом же импульсе получим 1, при R всегда 0.
Я прекрасно понимаю, как работает Ваш алгоритм - на будущее, на всякий случай.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Сбой счёта импульсов с оптического щелевого датчика

#45

Сообщение vfv » 04.03.2019{, 14:17}

Sancho писал(а):
04.03.2019{, 13:52}
Сделано на прерываниях.
Но ведь в версия "Станок для намотки шпагата-v02.flp", - на быстром счётчике то же на прерываниях и помехи его не берут и работает отлично , но без дисплеев. С ними наблюдаюся сбои шагов.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сбой счёта импульсов с оптического щелевого датчика

#46

Сообщение Sancho » 04.03.2019{, 14:18}

Листинг блока, внутренности:
Чего там у него за кишки?Показать

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

volatile byte kolich_step, _ustkolich_step; // объявляем переменные
volatile bool _centr_, _trig_interr_01 ; // объявляем переменные

setup(){
	DDRD &=0xF3; // настраиваем пины 2 и 3 как входы
	PORTD |=0x0C;// включаем на 2 и 3 подтяжку
	attachInterrupt(0, calc_center, RISING);// прерывание на пине 2 по фронту
	attachInterrupt(1, calc_horizont, RISING); // прерывание на пине 3 по фронту
	DDRB |=0x20; // пин 13 как выход
	PORTB &=0xDF; // пин 13 low
}
 loop(){
_ustkolich_step = Step_ust;	// вход в блок не может быть volatile, поэтому промежуточное присвоение
speed_step =_centr_; // выход из блока не может быть volatile, поэтому промежуточное присвоение
if(! in_work){ // если вход 0, то
	speed_step =0; // переключение скорости =0
 }
 void calc_horizont() // обрабатываем датчик горизонтального перемещения по фронту импульса на пине 3
 {
	kolich_step++; // увеличиваем внутренний счётчик, ВС, на 1
	if (kolich_step > _ustkolich_step && _trig_interr_01)  { // если ВС больше, чем уставка и разрешена сработка, то:
		_trig_interr_01 =0;  // запрещаем сработку
		PORTB^=0x20; // инвертируем пин 13
	}
 }
 
  void calc_center() // обработчик центральной метки, по фронту на пин 2
 {
	_centr_ =1; // говорим, что дошли до центра, скорость можно увеличить
	kolich_step=0;	// сбрасываем ВС в 0
	_trig_interr_01 =1; // разрешаем сработку в горизонтальном блоке
 }
	
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Сбой счёта импульсов с оптического щелевого датчика

#47

Сообщение vfv » 04.03.2019{, 14:22}

О! Нет! Я в кодах не разбираюсь. А учиться - уже поздно (62г).Научится бы просто на уровне блоков хорошо разбираться, вот и вся моя задача.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сбой счёта импульсов с оптического щелевого датчика

#48

Сообщение Sancho » 04.03.2019{, 14:23}

Разбирайтесь с центральной меткой...
Дерзайте!
Удачи!
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

vfv
Сержант
Сообщения: 283
Зарегистрирован: 22.03.2018{, 12:35}
Репутация: 0
Откуда: Самара
Имя: Валерий

Сбой счёта импульсов с оптического щелевого датчика

#49

Сообщение vfv » 04.03.2019{, 14:32}

Спасибо за проделанную работу. Буду запускать всё таки проект "Станок для намотки шпагата-v02.flp" и надо будет мне подумать как сделать уставки перед началом работы, а потом их все отключать на время намотки.

Ответить

Вернуться в «Начинающим»