roboforum.ru

Технический форум по робототехнике.
Текущее время: 22 май 2025, 09:29

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 80 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Re: AVR-MT-128
СообщениеДобавлено: 18 май 2010, 21:24 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
по-видимому да...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR-MT-128
СообщениеДобавлено: 19 май 2010, 09:52 
Не в сети
Аватара пользователя

Зарегистрирован: 04 окт 2007, 16:11
Сообщения: 1027
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел
И как это сделать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR-MT-128
СообщениеДобавлено: 19 май 2010, 14:31 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
ну вариантов несколько.. например такт с МК с XTAL2 .. или один из таймеров на ШИМ с TOP-ом = 2 или 3 и сравнением на 1 .. без предделителя ... будет что-то типа такт/4 ... вроде мона так )

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR-MT-128
СообщениеДобавлено: 19 май 2010, 17:18 
Не в сети
Аватара пользователя

Зарегистрирован: 04 окт 2007, 16:11
Сообщения: 1027
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел
А какая частота тактирования нужна? И можно ли подключить отдельный кварц?
Ну а проще наверное будет микруху соединить с XTAL2 МК.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR-MT-128
СообщениеДобавлено: 19 май 2010, 17:20 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
кварц поставить не выйдет, нужен генератор.. мона на логике сделать ...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR-MT-128
СообщениеДобавлено: 19 май 2010, 18:26 
Не в сети
Аватара пользователя

Зарегистрирован: 04 окт 2007, 16:11
Сообщения: 1027
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел
А частоты кварца мк хватит?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR-MT-128
СообщениеДобавлено: 19 май 2010, 18:46 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
там судя по ДШ ета частота используется для цифровой фильтрации.. т.е. для избавления от дребезга всякого и тд ..

она нужна в 3-4 раза большая чем частота импульсов с энкодера будет ...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR-MT-128_ счетчик внешних событий
СообщениеДобавлено: 10 авг 2010, 12:54 
Не в сети
Аватара пользователя

Зарегистрирован: 04 окт 2007, 16:11
Сообщения: 1027
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел
Сделал счетчик от прерывания, оказалось что такого вполне должно хватить.
Энкодер подключен напрямую к мк без логики т.к. сначало хочется хотябы просто считать импульсы в одном направлении.
Считать то вроде считает но неправильно. после включения питания на дисплее показано 0 импульсов, как и должно быть, а при последующем прикосновении к валу (некрутя его) энкодера, значение с нуля сразу добегает до пары тысяч. И каждый раз значение разное. При вращении вала все время в одном направлении може быть даже отрицательное значение на дисплее.
Вопрос: что за глюк?

Добавлено спустя 1 минуту 31 секунду:
Код:
#include<mega128.h>
#include <delay.h>
#include <stdlib.h> 
#include <stdio.h> 
#include <lcd.h>

#asm
.equ __lcd_port=0x15 ;PORTC
#endasm

unsigned long q;       
interrupt [EXT_INT0] void ext_int0_isr(void)   // процедура обработки прерывания
{
 
          q++;             //с каждым прерыванием значение переменной увеличивается на 1
           
}
               
int main()
{
         char w[32];    //для преобразования числа в строку/символы
DDRA=0x00;
PORTA=0x00;
DDRB=0xF0;
PORTB=0x00;
DDRE = 0b00110000;
PORTE = 0b00100000;
lcd_init(16);


  lcd_gotoxy(5,0);
      lcd_putsf("Hello!");
   Privet();     
     delay_ms(3000);
     
       while(1) {
       q=0;
      lcd_clear();
     
      Go();
      lcd_putsf(" ");
      Stop();
       lcd_putsf(" ");
      Reset();
      delay_ms(10);
           
    if  (!(PINA & 0b00000001))  {                //Пуск
   lcd_clear();
      Go();
      delay_ms(1000);
          SREG.7 = 1;
        EIMSK = 0x01;
        EICRA = 0x0C;
        EICRB = 0x0C; 
         
       while(PINA & 0b00000100){                 //Сброс
         lcd_clear();
        sprintf(w,"adc= %d\n",q);
        lcd_puts(w);
         delay_ms(50);
        }
       lcd_clear();         
         Reset();
         delay_ms(2000);
         }
           
      }         
  return 0;

}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR-MT-128_ счетчик внешних событий
СообщениеДобавлено: 10 авг 2010, 13:01 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Код невозможно прочесть. Навскидку скажу, что это может быть от помех, посмотри осциллографом твои импульсы с энкодера. У меня было такое однажды.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR-MT-128_ счетчик внешних событий
СообщениеДобавлено: 11 авг 2010, 10:45 
Не в сети
Аватара пользователя

Зарегистрирован: 04 окт 2007, 16:11
Сообщения: 1027
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел
Изменил изменил условия внешних прерываний на на "условие 1/0" и внутреннюю подтяжку включил - все заработало НО! Теперь надо органировать реверс, а как это сделать? Наверное придется использовать сдвиг фаз двух каналов. А как это можно сделать програмно?
Пробовал собирать предложенную схему blindman-ом Изображение
, но устройство работало неправильно, значение все время прыгало.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR-MT-128_ реверс на энкодере
СообщениеДобавлено: 19 авг 2010, 15:43 
Не в сети
Аватара пользователя

Зарегистрирован: 04 окт 2007, 16:11
Сообщения: 1027
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел
Подключал даже подтяжку к SR, но безрезультатно :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR-MT-128_ реверс на энкодере
СообщениеДобавлено: 20 авг 2010, 13:57 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
можно описать доступно - для масс (ну или для меня) что подразумевается под "Теперь надо органировать реверс"?
желательно полно, с того места откуда проистекает задача...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR-MT-128_ реверс на энкодере
СообщениеДобавлено: 20 авг 2010, 19:44 
Не в сети
Аватара пользователя

Зарегистрирован: 04 окт 2007, 16:11
Сообщения: 1027
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел
Требовалось не только прибавлять импульсы при вращении в одну сторону, а еще их и убавлять при вращении вала энкодера в другую сторону.
К счастью проблемму сегодня решит, исключительно программно. вроде работает!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR-MT-128_ реверс на энкодере
СообщениеДобавлено: 20 авг 2010, 19:55 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
дык естественно тут все решается исключительно программно.. либо аппаратно - если поддержка "квадратурного интерфейса" есть..

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR-MT-128_ реверс на энкодере
СообщениеДобавлено: 10 сен 2010, 18:02 
Не в сети
Аватара пользователя

Зарегистрирован: 04 окт 2007, 16:11
Сообщения: 1027
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел
Возникла очередная проблемка, да бы не создавать новую тему и не захламлять форум, задам вопрос тут: Данные с датчика требуется отправлять на комп - с этой задачей с горем на пополам справился. Так же требуется кое какие данные отправлять на внешнее устройство, обмен данными ведется через интерфейс 232 по USART, но вот эту задачу почему то не удается реализовать.При использовании процедуры getchar() программа виснет. помогите плиз.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 80 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO