roboforum.ru

Технический форум по робототехнике.

Про меандр

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Про меандр

Сообщение Lockdog » 18 мар 2010, 17:32

Прошу вашей помощи.
На вход МК должен подаваться сигнал - либо это будет постоянное напряжение, либо меандр. Если сигнал есть, то МК должен выполнять команду. Но как это сделать в случае, если на вход подаётся меандр? Можно ли его как-то выпрямить?
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Про меандр

Сообщение =DeaD= » 18 мар 2010, 17:45

Частота какая меандра?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Про меандр

Сообщение =DeaD= » 18 мар 2010, 17:45

Вообще RC-фильтры вроде еще не запрещены законом... :wink:
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Про меандр

Сообщение vadinator » 18 мар 2010, 17:47

"Выпрямить", можно в самом МК, введя допустимую задержку на анализ перехода выхода из 1 в 0 - входной сигнал считать присутствующим на входе, пока после перехода не прошло время равное длительности периода например...вариантов много... ну и естественно можно ввести аппаратный фильтр по входу...
Роботы, уже среди нас...
Прошу прощения за аватар, никак схему динамической индикации не могу настроить :)
Аватара пользователя
vadinator
 
Сообщения: 979
Зарегистрирован: 19 янв 2010, 14:51
Откуда: Петрозаводск
прог. языки: C, FBD, Wiring-Processimg,,,LD, SFC, ST...
ФИО: Вадим

Re: Про меандр

Сообщение avr123.nm.ru » 18 мар 2010, 18:49

Lockdog писал(а): меандр. Можно ли его как-то выпрямить?


Надо вход Цп зашунтировать конденсатором на землю, а меандр подавать на этот вход АЦП через резистор. Произведение R на C должно быть раз в 10 и более больше максимального периода меандра.

Только меандр это когда "1" и "0" равное время присутствуют. Т.е.

меандр это частный случай прямоугольного сигнала.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Про меандр

Сообщение Lockdog » 25 мар 2010, 02:11

В общем, нашёл решение, как "выпрямить" меандр с помощью логических вентилей.
Нужно один и тот же сигнал подать на два входа "ИЛИ", но один из них ещё и пропустить через инвертор.
Вложения
1.jpg
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Про меандр

Сообщение avr123.nm.ru » 25 мар 2010, 08:40

Студентам надо показать - чтобы запомнили как ...
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Про меандр

Сообщение Michael_K » 25 мар 2010, 13:00

два входа "ИЛИ", но один из них ещё и пропустить через инвертор.

Эмм. А почему просто выход на единицу не коротнуть :)
(0 или 1) точно так же как и (1 или 0) ВСЕГДА дадут единицу...
Меандр там, не меандр, оторванный вход или заземленный - всегда.
Смысл-то в этой схеме какой?
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Про меандр

Сообщение Michael_K » 25 мар 2010, 13:01

avr123.nm.ru писал(а):Студентам надо показать - чтобы запомнили как ...

Тоже весело.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Про меандр

Сообщение Lockdog » 25 мар 2010, 13:22

Michael_K писал(а):
два входа "ИЛИ", но один из них ещё и пропустить через инвертор.

Эмм. А почему просто выход на единицу не коротнуть :)
(0 или 1) точно так же как и (1 или 0) ВСЕГДА дадут единицу...
Меандр там, не меандр, оторванный вход или заземленный - всегда.
Смысл-то в этой схеме какой?

Я всегда иду окольными путями)))
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Про меандр

Сообщение Ворон » 25 мар 2010, 14:38

вообще-то в схемке смысл есть- так как это формирователь коротких импульсов из длинных по фронту))чем больше последовательных инверторов) тем выше задержка до появления импульса и/или его длительность, время срабатывания одного инвертора умноженое на количество их,и плюс время задержки выходного элементе= ширина импульса, это вроде основы схемотехники... хотя мог и приврать где-то ,но вряд ли :wink:
Ворон
 
Сообщения: 1054
Зарегистрирован: 24 ноя 2008, 19:43
Откуда: Казань

Re: Про меандр

Сообщение Lockdog » 10 май 2010, 00:01

Вот написал такой код для обработки меандра с периодом 0,5 с.
Код: Выделить всёРазвернуть
#include <mega8.h>

// Timer 1 output compare A interrupt service routine
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
   PORTD.0 = 1;
 
  if (PINC.0 == 0)
  {
   PORTD.0 = 0;
  }
}

// Declare your global variables here

void main(void)
{
DDRC=0x00;
DDRD=0xFF;
PORTC=0x00;
PORTD.0=0;

TCCR1A=0x00;
TCCR1B=0x0D;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x0F;
OCR1AL=0x92;
OCR1BH=0x00;
OCR1BL=0x00;

TIMSK=0x10;

#asm("sei")
while (1)
      {
      };
}


Предделитель 1024 с
Режим СТС, прерывание при совпадение с OCR1A

Но почему-то не работает, ни в протеусе, ни на реальном железе.
Помогите плиз
Последний раз редактировалось Vooon 10 май 2010, 16:34, всего редактировалось 1 раз.
Причина: [code=cpp]!!!
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Про меандр

Сообщение Lockdog » 11 май 2010, 14:17

Никто не сможет помочь? :sorry:
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Про меандр

Сообщение rig » 11 май 2010, 17:18

cv.PNG

кодевижен помоги!

а чем стандартные помощники не устравают?? Аппаратный шим к примеру в меге есть :P
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Re: Про меандр

Сообщение Lockdog » 11 май 2010, 17:28

Дык я в кодвижне и писал, зачем мне шим? Я хочу чтобы таймер через каждые 0,5 сек вызывал прерывание и в нём проверял состояние ножки и если оно = 1, то выполнять какю-либо команду
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

След.

Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7