Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
06.05.2006, 12:28
|
|
Прохожий
Регистрация: 06.05.2006
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Я ламер, помогите ПОЖАЛУЙСТА!!!
Совсем не секу в электроннике, однако стоит задача хотябы понять как должна работать проектируемая система. Помогите пожалуйста. Итак, имеется датчик выдающий импульсы с частотой до 100кГЦ, частота может меняться. Моя задача получить информацию о времени импульса(время начала, продолжительность), а также обработать ее(программа) и выдать результат либо через светодиод, но еще лучше через RS-232. Как, какими контроллерами, какие параметры этих контроллеров, как преобразовавать сигнал??? Помогите!!! Мне бы понять только общие принципы, выбрать конкретный конроллер и знать как реализовать при желании.
|
|
|
|
06.05.2006, 15:12
|
|
Частый гость
Регистрация: 02.05.2006
Сообщений: 17
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Я ламер, помогите ПОЖАЛУЙСТА!!!
Практически любой микроконтроллер справится.
ATtiny2313, например. Сигнал завести на внешнее прерывание или вход Input Capture, последовательный порт подключить через формирователь уровней (MAX232) на выводы UART микроконтроллера. Плюс кварц и питание.
Дл-ть импульса засекать внутренним таймером по прерываниям или Input Capture.
|
|
|
|
06.05.2006, 15:57
|
|
Прохожий
Регистрация: 06.05.2006
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Как работает Input Capture? Если импульс длительный, то прерывание будет срабатывать несколько раз(как это регулируется)? Какие параметры микроконтроллера определяют справится ли он с задачей?
|
|
|
|
06.05.2006, 16:29
|
|
Прохожий
Регистрация: 04.04.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Я ламер, помогите ПОЖАЛУЙСТА!!!
Сообщение от NeoPhenix
|
Итак, имеется датчик выдающий импульсы с частотой до 100кГЦ, частота может меняться. Моя задача получить информацию о времени импульса(время начала, продолжительность), а также обработать ее(программа) и выдать результат либо через светодиод, но еще лучше через RS-232.
|
Парень, задачу надо для начала хотя бы правильно сформулировать, ты не находишь?
Во-первых, датчики выдавать что-либо не могут, их задача прямо противоположная - принимать что-либо извне и передавать для дальнейшей обработки в какую-либо схему. Если же ты имеешь ввиду интегральный датчик/преобразователь (скажем давление/частота), то лучше говорить о ЗАдатчике. Ну это так, вопросы терминологии . Дальше - хуже. Из твоего описания задачи мало что понятно: и если с таким парамером импульса как "продолжительность" еще что-то можно сделать, то "время начала" - валит с ног напрочь. Не обижайся, я говорю об этом, чтобы ты в дальнейшем не делал подобных ошибок, но задумайся: время мы всегда меряем ОТНОСИТЕЛЬНО какой-нибудь опорной точки. Так что уточни - что ты имел ввиду, говоря о времени начала импульса.
К слову: к временным параметрам импульса относятся : продолжительность (ширина), скважность (отношение длительностей еденичного состояния к нулевому - для положительной логики), период/частота следования, ну и, конечно, времена фронта и спада импульса.
Теперь по сути. Если у тебя стоит задача промерить и выдать на какой-либо индикатор только продолжительность импульса, то это задача элементарная, не требующая применения микроконтроллера и возни с его программированием. Суть идеи очень проста и обыденна:
1. выбираем масштаб измерения. Для этой цели хорошо подходит любой генератор (если нужна стабильность и точность, то кварцевый). Назовем его задающим генератором.
2. измеряем с помощью счетчика, сколько периодов колебания задающего генератора укладывается в течении положительного полупериода нашего импульса. (Чтобы добиться того, чтобы твой счетчик производил счет только во время положительного полупериода импульса, ты перед подачей тактовой частоты на вход С счетчика объединяешь тактовую частоту с измеряемым импульсом по схеме "И". Таким образом твой измеряемый сигнал своим положительным полупериодом "разрешает" прохождение тактовой частоты на вход счетчика.)
3. По отрицательному фронту измеряемого сигнала, т.е. когда сигнал переходит из 1 в 0, вырабатываем с помощью любого одновибратора одиночный импульс, назначение которого - переписать "накопленное" значение счетчика в "буферный регистр" для дальнейшего отображения на индикаторе и для приведения счетчика в исходное состояние (сброс счетчика) и, тем самым, подготовки его к следущему циклу измерения.
4. Если для счета ты выберешь десятичные счетчики типа К555ИЕ6 (конечно, если ты имеешь дело с TTL уровнями сигнала)или подобные, то выходной результат сохраненный в "буферном регистре" практически сразу готов для отображения 7-сегментном индикаторе. Осталось только преобразовать его в код "понятный" самому 7-сегментному индикатору.
Если ты решаешь в пользу стрелочного индикатора, то лучше использовать 16-ричный счетчики типа К555ИЕ7 и буферный регистр с инверсией (позже ты поймешь для чего нужна инверсия) или подобные, потому что в этом случае тебе придется накопленное "цифровое" значение, сохраненное в "буферном регистре" предварительно преобразовать в аналоговое, которое только и понимают стрелочные индикаторы. Пугаться не надо. Самый простой цифро-аналоговый преобразователь можно соорудить на обычных резисторах - даже микросхем не нужно. Если интересно, могу описать.
Здесь можно подвести черту.
С дружеским приветом [/b]
|
|
|
|
06.05.2006, 16:33
|
|
Прохожий
Регистрация: 06.05.2006
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Чем отличается PLC От микроконтроллера? Может мне нужен он?
|
|
|
|
06.05.2006, 16:41
|
|
Прохожий
Регистрация: 04.04.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
PLC - контроллер с программируемой логикой.
|
|
|
|
06.05.2006, 16:55
|
|
Прохожий
Регистрация: 06.05.2006
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Я ламер, помогите ПОЖАЛУЙСТА!!!
Сообщение от igor356
|
Сообщение от NeoPhenix
|
Итак, имеется датчик выдающий импульсы с частотой до 100кГЦ, частота может меняться. Моя задача получить информацию о времени импульса(время начала, продолжительность), а также обработать ее(программа) и выдать результат либо через светодиод, но еще лучше через RS-232.
|
Парень, задачу надо для начала хотя бы правильно сформулировать, ты не находишь?
Во-первых, датчики выдавать что-либо не могут, их задача прямо противоположная - принимать что-либо извне и передавать для дальнейшей обработки в какую-либо схему. Если же ты имеешь ввиду интегральный датчик/преобразователь (скажем давление/частота), то лучше говорить о ЗАдатчике. Ну это так, вопросы терминологии . Дальше - хуже. Из твоего описания задачи мало что понятно: и если с таким парамером импульса как "продолжительность" еще что-то можно сделать, то "время начала" - валит с ног напрочь. Не обижайся, я говорю об этом, чтобы ты в дальнейшем не делал подобных ошибок, но задумайся: время мы всегда меряем ОТНОСИТЕЛЬНО какой-нибудь опорной точки. Так что уточни - что ты имел ввиду, говоря о времени начала импульса.
К слову: к временным параметрам импульса относятся : продолжительность (ширина), скважность (отношение длительностей еденичного состояния к нулевому - для положительной логики), период/частота следования, ну и, конечно, времена фронта и спада импульса.
Теперь по сути. Если у тебя стоит задача промерить и выдать на какой-либо индикатор только продолжительность импульса, то это задача элементарная, не требующая применения микроконтроллера и возни с его программированием. Суть идеи очень проста и обыденна:
1. выбираем масштаб измерения. Для этой цели хорошо подходит любой генератор (если нужна стабильность и точность, то кварцевый). Назовем его задающим генератором.
2. измеряем с помощью счетчика, сколько периодов колебания задающего генератора укладывается в течении положительного полупериода нашего импульса. (Чтобы добиться того, чтобы твой счетчик производил счет только во время положительного полупериода импульса, ты перед подачей тактовой частоты на вход С счетчика объединяешь тактовую частоту с измеряемым импульсом по схеме "И". Таким образом твой измеряемый сигнал своим положительным полупериодом "разрешает" прохождение тактовой частоты на вход счетчика.)
3. По отрицательному фронту измеряемого сигнала, т.е. когда сигнал переходит из 1 в 0, вырабатываем с помощью любого одновибратора одиночный импульс, назначение которого - переписать "накопленное" значение счетчика в "буферный регистр" для дальнейшего отображения на индикаторе и для приведения счетчика в исходное состояние (сброс счетчика) и, тем самым, подготовки его к следущему циклу измерения.
4. Если для счета ты выберешь десятичные счетчики типа К555ИЕ6 (конечно, если ты имеешь дело с TTL уровнями сигнала)или подобные, то выходной результат сохраненный в "буферном регистре" практически сразу готов для отображения 7-сегментном индикаторе. Осталось только преобразовать его в код "понятный" самому 7-сегментному индикатору.
Если ты решаешь в пользу стрелочного индикатора, то лучше использовать 16-ричный счетчики типа К555ИЕ7 и буферный регистр с инверсией (позже ты поймешь для чего нужна инверсия) или подобные, потому что в этом случае тебе придется накопленное "цифровое" значение, сохраненное в "буферном регистре" предварительно преобразовать в аналоговое, которое только и понимают стрелочные индикаторы. Пугаться не надо. Самый простой цифро-аналоговый преобразователь можно соорудить на обычных резисторах - даже микросхем не нужно. Если интересно, могу описать.
Здесь можно подвести черту.
С дружеским приветом [/b]
|
|
|
|
|
06.05.2006, 16:57
|
|
Прохожий
Регистрация: 06.05.2006
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Я ламер, помогите ПОЖАЛУЙСТА!!!
Сообщение от igor356
|
Сообщение от NeoPhenix
|
Итак, имеется датчик выдающий импульсы с частотой до 100кГЦ, частота может меняться. Моя задача получить информацию о времени импульса(время начала, продолжительность), а также обработать ее(программа) и выдать результат либо через светодиод, но еще лучше через RS-232.
|
Парень, задачу надо для начала хотя бы правильно сформулировать, ты не находишь?
Во-первых, датчики выдавать что-либо не могут, их задача прямо противоположная - принимать что-либо извне и передавать для дальнейшей обработки в какую-либо схему. Если же ты имеешь ввиду интегральный датчик/преобразователь (скажем давление/частота), то лучше говорить о ЗАдатчике. Ну это так, вопросы терминологии . Дальше - хуже. Из твоего описания задачи мало что понятно: и если с таким парамером импульса как "продолжительность" еще что-то можно сделать, то "время начала" - валит с ног напрочь. Не обижайся, я говорю об этом, чтобы ты в дальнейшем не делал подобных ошибок, но задумайся: время мы всегда меряем ОТНОСИТЕЛЬНО какой-нибудь опорной точки. Так что уточни - что ты имел ввиду, говоря о времени начала импульса.
К слову: к временным параметрам импульса относятся : продолжительность (ширина), скважность (отношение длительностей еденичного состояния к нулевому - для положительной логики), период/частота следования, ну и, конечно, времена фронта и спада импульса.
Теперь по сути. Если у тебя стоит задача промерить и выдать на какой-либо индикатор только продолжительность импульса, то это задача элементарная, не требующая применения микроконтроллера и возни с его программированием. Суть идеи очень проста и обыденна:
1. выбираем масштаб измерения. Для этой цели хорошо подходит любой генератор (если нужна стабильность и точность, то кварцевый). Назовем его задающим генератором.
2. измеряем с помощью счетчика, сколько периодов колебания задающего генератора укладывается в течении положительного полупериода нашего импульса. (Чтобы добиться того, чтобы твой счетчик производил счет только во время положительного полупериода импульса, ты перед подачей тактовой частоты на вход С счетчика объединяешь тактовую частоту с измеряемым импульсом по схеме "И". Таким образом твой измеряемый сигнал своим положительным полупериодом "разрешает" прохождение тактовой частоты на вход счетчика.)
3. По отрицательному фронту измеряемого сигнала, т.е. когда сигнал переходит из 1 в 0, вырабатываем с помощью любого одновибратора одиночный импульс, назначение которого - переписать "накопленное" значение счетчика в "буферный регистр" для дальнейшего отображения на индикаторе и для приведения счетчика в исходное состояние (сброс счетчика) и, тем самым, подготовки его к следущему циклу измерения.
4. Если для счета ты выберешь десятичные счетчики типа К555ИЕ6 (конечно, если ты имеешь дело с TTL уровнями сигнала)или подобные, то выходной результат сохраненный в "буферном регистре" практически сразу готов для отображения 7-сегментном индикаторе. Осталось только преобразовать его в код "понятный" самому 7-сегментному индикатору.
Если ты решаешь в пользу стрелочного индикатора, то лучше использовать 16-ричный счетчики типа К555ИЕ7 и буферный регистр с инверсией (позже ты поймешь для чего нужна инверсия) или подобные, потому что в этом случае тебе придется накопленное "цифровое" значение, сохраненное в "буферном регистре" предварительно преобразовать в аналоговое, которое только и понимают стрелочные индикаторы. Пугаться не надо. Самый простой цифро-аналоговый преобразователь можно соорудить на обычных резисторах - даже микросхем не нужно. Если интересно, могу описать.
Здесь можно подвести черту.
С дружеским приветом [/b]
|
Спасибо за такой развернутый ответ. Я в этом деле вообще не разбираюсь, а задачу на меня взвалили, так что не отвертеться.
Задача у меня такая - понять как с помощью аппаратно программных средств определить пропуски рабочего хода двигателя внутреннего сгорания. И суть его в том, что на коленвал цепляется шестеренка(венец вроде), которая вращается на его валу, торцом к ее торцу стоит электромагнитный датчик, в котром то появляется напряжение(если зубец стоит напротив датчика, замыкая маг. поле), то исчезает. Мне нужны временные нтервалы между этими импульсами для расчета пропусков хода, поэтому должна быть программа расчитывающая данный показатель. Мне не надо реализовывать все эти вещи(прям трясет если представить реализацию). Мне надо провести обзор микроконтроллеров и выдать модель реализации данной задачи.
Также там есть еще один датчик на распределенном валу с котрого импульсы имеют разную длинну(ее надо как-то определять), а также момент поступления этих импульсов должн сопоставлятся с импульсами от датчика коленчатого вала. В один такой импульс попадает несколько импульсов от коленвала.
За помощь и коментарии к выше изложенному буду примногоблагодарен 8O
|
|
|
|
06.05.2006, 17:45
|
|
Прохожий
Регистрация: 04.04.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Я начал подозревать, что в твоем случае речь одет уже не о измерительной системе, а, скорее, об оборудовании для диагностики неисправностей. Это так?
Чтобы можно было тебе дальше помочь требуется доп. информация:
1. Что такое "пропуски рабочего хода двигателя внутреннего сгорания"? Я неплохо представляю рабочий цикл двигателя внутреннего сгорания, но такой термин слышу впервые.
2. Какого типа датчик на распредвалу? Что он измеряет и как?
|
|
|
|
06.05.2006, 17:51
|
|
Прохожий
Регистрация: 04.04.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Да, кстати, ответить смогу только через пару часов
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:26.
|
|