реклама на сайте
подробности

 
 
> Программа с фотопрерывателем для отсчета времени
Infinite_Soul
сообщение Nov 21 2015, 11:44
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 21-11-15
Пользователь №: 89 403



Добрый день!
Имеется фотопрерыватель (щелевой оптрон), который подключается к MSP430, схему приложил ниже:


Дело в том, что с помощью данного прерывателя нужно измерить время нахождения предмета между светодиодом и фототранзистором. Прекрасно понимаю, что если фотопрерыватель открыт, то это состояние "1", а если закрыт, то состояние "0", происходит отслеживание сигнала и обрабатывание прерывания. Сначала фотопрерыватель открыт, он находится в открытом состоянии, потом кладется в него предмет и так как поток света со светодиода на фототранзистор прерывается, то фотопрерыватель закрывается. Благодаря отслеживанию сигнала MSP430 понимает, что состояние изменилось и запускает таймер, время идет на консоли, но как только предмет убирается, поток света снова идет на фототранзистор, и фотопрерыватель снова открывается, поэтому таймер останавливается и на консоли показывается сколько времени держался предмет. На всякий случай модель фотопрерывателя - KTIR0411S

Как это можно реализовать посредством кода? Заранее благодарен за помощь!

Пишется программа для MPS430FG4618/F2013 на всякий случай

Сообщение отредактировал Infinite_Soul - Nov 21 2015, 11:17
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Infinite_Soul
сообщение Nov 23 2015, 16:45
Сообщение #2





Группа: Новичок
Сообщений: 3
Регистрация: 21-11-15
Пользователь №: 89 403



Благодарю всех за ответы! Погрешность равна 50 мкс. Это сильно повлияет на код программы?

Цитата(k155la3 @ Nov 22 2015, 13:15) *
не указали, с какой точностью должно измерятся время.
Если это мс, заставляете процесссор генерировать апп. прерывания от одного из таймеров с этой (1000 Hz) частотой.
В этом векторе "обрабатываете" "фронт" и "спад" - удаление дребезга.
Когда есть "фронт", и это не помеха-дребезг, начинаете считать время до момента спада, опятьже с проверкой что это не помеха-дребезг.
Т.е. задание временного интервала - аппаратное, от таймера-кварца. Счет времени - программный.
Это решение позволит на основе примеров программирования для семейства Ti быстро написать софт, не вникая в настройку таймеров.
slac010.zip
slac011l.zip
slac013i.zip
slac015p.zip
slac019.zip
slac019l.zip
slac080k.zip
slac118g.zip
slac123f.zip
slac151f.zip
slac163e.zip
slac166m.zip
slac300f.zip
slac375e.zip
slac375f.zip
slac417f.zip
slac417h.zip
slac452d.zip
slac463c.zip
slac469e.zip
slac487.zip
slac491d.zip
slac511c.zip
Если требуется считать очень точно - используем апп. прерывания от порта P1 (если оно есть в F2013) или использовать таймер в виде апп. узла.


А что это за zip файлы? Можно ли прикинуть хотя бы код программы?

Сообщение отредактировал Infinite_Soul - Nov 23 2015, 16:46
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 12:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016