Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 20.11.2020, 14:03   #1
alexem
Senior Member
 
Аватар для alexem
 
Регистрация: 08.03.2008
Адрес: Самара
Возраст: 47
Сообщений: 516
Вес репутации: 443/56
alexem is just really nicealexem is just really nicealexem is just really nicealexem is just really nicealexem is just really nice
По умолчанию Программный костыль C30 & dsPIC33E

Нужда заставила попробовать программный костыль, но что-то не работает он совсем. Задача: запретить прерывания по INT1 на 30-40 микросекунд после его выполнения, так как есть подозрения что из-за пологого нарастающего фронта импульса происходят лишние вызовы INT1. Сделал так:
Код:
void __attribute__((interrupt, no_auto_psv)) _INT1Interrupt ( void)
    {   
    // отсюда 
    //    
    // до сюда всё удалено, это неинтересно

    // Внимание! Программный костыль для медленного оптрона.
    T6CONbits.TON = 0;      // Stop 16-bit Timer6
    TMR6 = 0x0000; 
    _T6IF = 0;   
    T6CONbits.TCS = 0;      // Internal clock (FOSC/2)              
    T6CONbits.T32 = 0;      // Timer6 and Timer7 act as two 16-bit timers            
    T6CONbits.TCKPS = 2;    // Prescaller 1:64   
    T6CONbits.TGATE = 0;    // Gated time accumulation disabled            
    T6CONbits.TON = 1;      // Starts 16-bit Timer6
    PR6 = 40;               // На 40 микросекунд запрещены прерыания по INT1
    _T6IP = 4;              // Interrupt priority level = 4 
    _T6IE = 1;              // interrupt Enable
//    IEC1bits.INT1IE = 0;    // запрет прерываний на 40 микросекунд
    // конец программного костыля

PCB_LED1_PIN = 1;

    _INT1IF = 0;
    IEC1bits.INT1IE = 0;    // запрет прерываний на 40 микросекунд
    }

// Доп таймер для костыля
void __attribute__((interrupt, auto_psv)) _T6Interrupt (void)
    {
    TMR6 = 0;
    T6CONbits.TON = 0; 
    INTCON2bits.INT1EP = 1; // прерывание по спаду     
    IPC5bits.INT1IP = 4;    
    IFS1bits.INT1IF = 0;    
    IEC1bits.INT1IE = 1;
PCB_LED1_PIN = 0;   
    _T6IF = 0;
    }
// Конец таймера для костыля
Вообще в прерывание по INT1 не входит.
Стоит закомментить IEC1bits.INT1IE = 0; - входит, но костыль не работает.
Чё я делаю не так?
dsPIC33EP.
alexem вне форума   Ответить с цитированием
Старый 20.11.2020, 14:18   #2
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,166
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Программный костыль C30 & dsPIC33E

а типа

прерывание

вошли проверили флаг программный
не взведён -взводим , переменную тиков на это прерывание в ноль ,вываливаемся...
взведён -вываливаемся...

в основной программе

флаг программный взведён ?
да- дотикали 40мксек - да... сбрасываем флаг программный, сбрасываем флаг прерывания

только тикалка нужна
SergP01 вне форума   Ответить с цитированием
Старый 20.11.2020, 14:32   #3
alexem
Senior Member
 
Аватар для alexem
 
Регистрация: 08.03.2008
Адрес: Самара
Возраст: 47
Сообщений: 516
Вес репутации: 443/56
alexem is just really nicealexem is just really nicealexem is just really nicealexem is just really nicealexem is just really nice
По умолчанию Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от SergP01 Посмотреть сообщение
а типа

прерывание

вошли проверили флаг программный
не взведён -взводим , переменную тиков на это прерывание в ноль ,вываливаемся...
взведён -вываливаемся...

в основной программе

флаг программный взведён ?
да- дотикали 40мксек - да... сбрасываем флаг программный, сбрасываем флаг прерывания

только тикалка нужна
не проканает. В цикле куча других задач крутится, TCP, UDP и прочее. Надо именно запретить INT1. Ну или как то увеличить время нахождения в INT1, типа delay(xx), но это уж совсем дилетантский подход.
P.S. Или на 100 платах оптроны менять на более быстрые.
alexem вне форума   Ответить с цитированием
Старый 20.11.2020, 14:43   #4
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,166
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от alexem Посмотреть сообщение
не проканает. В цикле куча других задач крутится, TCP, UDP и прочее. Надо именно запретить INT1. Ну или как то увеличить время нахождения в INT1, типа delay(xx), но это уж совсем дилетантский подход.
P.S. Или на 100 платах оптроны менять на более быстрые.
если тикалка есть...

то в прерывании

программный флаг входа взведён- нет - обнуляем переменную тиков для флага, взводим программный флаг, .... чего то делаем...выходим

программный флаг входа взведён- да... дотикали 40 мксек - нет- выходим

программный флаг входа взведён- да... дотикали 40 мксек - да- сбрасываем программный флаг, сбрасываем прерывание,выходим

я везде юзаю в таких ситуациях GetTick()

и пускай оно всё время в прерывание вваливается.... выполняться будет только одно- не чаще 1 раз в 40мксек

Последний раз редактировалось SergP01; 20.11.2020 в 14:51.
SergP01 вне форума   Ответить с цитированием
Старый 20.11.2020, 15:08   #5
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,166
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Программный костыль C30 & dsPIC33E

вот доптаймер для костыля настройте, чтобы у него прерывание.... ну... скажем раз в 100ns было...
в прерывании делайте типа Tick++;

и потом тупо сравнивайте

int1_tick= Tick;
......
.... if(Tick-int1_tick>=400...) тут абсолютное значение нужно вычислять....

а доп таймер всё время щёлкает...
SergP01 вне форума   Ответить с цитированием
Старый 20.11.2020, 15:34   #6
alexem
Senior Member
 
Аватар для alexem
 
Регистрация: 08.03.2008
Адрес: Самара
Возраст: 47
Сообщений: 516
Вес репутации: 443/56
alexem is just really nicealexem is just really nicealexem is just really nicealexem is just really nicealexem is just really nice
По умолчанию Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от SergP01 Посмотреть сообщение
вот доптаймер для костыля настройте, чтобы у него прерывание.... ну... скажем раз в 100ns было...
в прерывании делайте типа Tick++;

и потом тупо сравнивайте

int1_tick= Tick;
......
.... if(Tick-int1_tick>=400...) тут абсолютное значение нужно вычислять....

а доп таймер всё время щёлкает...
Да это понятно, но в моей голове кажись созрело более элегантное решение. Проверю в железе - отпишусь. Но уже после выходных.
alexem вне форума   Ответить с цитированием
Старый 20.11.2020, 15:51   #7
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,166
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от alexem Посмотреть сообщение
Да это понятно, но в моей голове кажись созрело более элегантное решение. Проверю в железе - отпишусь. Но уже после выходных.
интересно будет посмотреть

я бы так сделал..

Код:
DWORD Tick,int1_tick;
bool int1_flag=false;
#define PAUSE_INT1 400

int6....  //100ns если позволяет :)
         {
          Tick++;
.....
          }

int1...
        {
         if(!int1_flag)
                          {
                           .... чёта делаем...
                           int1_flag=true;
                           int1_tick=Tick;
                           }
           if(int1_flag && Tick-int1_tick>PAUSE_INT1)
                           {
                            int1_flag=false;
                           ... тут сбрасываем флаг прерывания int1

                           }
         }

Последний раз редактировалось SergP01; 20.11.2020 в 15:57.
SergP01 вне форума   Ответить с цитированием
Старый 20.11.2020, 17:46   #8
ATAMAN
Senior Member
 
Аватар для ATAMAN
 
Регистрация: 09.01.2012
Возраст: 37
Сообщений: 506
Вес репутации: 373/41
ATAMAN is just really niceATAMAN is just really niceATAMAN is just really niceATAMAN is just really nice
По умолчанию Re: Программный костыль C30 & dsPIC33E

перед проверкой флага ITN1 выполнить вставку ASM NOP количество NOP и расчёта нужной задержки.
ATAMAN вне форума   Ответить с цитированием
Старый 20.11.2020, 17:49   #9
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,166
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Программный костыль C30 & dsPIC33E

можно и без тиков

первый раз вошли.... сделали что нужно... взвели программный флаг...

потом входим и опрашиваем оптрон... если выключился- сбрасываем флаг и флаг прерывания...

тогда уж стопудово- можно любые оптроны ставить...

правда не очень надёжно.... можно на дребезг нарваться...
SergP01 вне форума   Ответить с цитированием
Старый 20.11.2020, 17:49   #10
ATAMAN
Senior Member
 
Аватар для ATAMAN
 
Регистрация: 09.01.2012
Возраст: 37
Сообщений: 506
Вес репутации: 373/41
ATAMAN is just really niceATAMAN is just really niceATAMAN is just really niceATAMAN is just really nice
По умолчанию Re: Программный костыль C30 & dsPIC33E

Есть другой варик задействовать TMR я так устраняю дребезги.
ATAMAN вне форума   Ответить с цитированием
Старый 20.11.2020, 18:00   #11
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,166
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от ATAMAN Посмотреть сообщение
перед проверкой флага ITN1 выполнить вставку ASM NOP количество NOP и расчёта нужной задержки.
зачем ?
SergP01 вне форума   Ответить с цитированием
Старый 20.11.2020, 18:02   #12
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,166
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от ATAMAN Посмотреть сообщение
Есть другой варик задействовать TMR я так устраняю дребезги.
покажи....
я тиками пользуюсь...
удобственно.... тем паче их моно ещё где нибудь заюзать в программе
SergP01 вне форума   Ответить с цитированием
Старый 20.11.2020, 19:06   #13
ATAMAN
Senior Member
 
Аватар для ATAMAN
 
Регистрация: 09.01.2012
Возраст: 37
Сообщений: 506
Вес репутации: 373/41
ATAMAN is just really niceATAMAN is just really niceATAMAN is just really niceATAMAN is just really nice
По умолчанию Re: Программный костыль C30 & dsPIC33E

Завтра покажу не жалко. Сейчас не могу водку пью.
ATAMAN вне форума   Ответить с цитированием
Старый 20.11.2020, 19:32   #14
ATAMAN
Senior Member
 
Аватар для ATAMAN
 
Регистрация: 09.01.2012
Возраст: 37
Сообщений: 506
Вес репутации: 373/41
ATAMAN is just really niceATAMAN is just really niceATAMAN is just really niceATAMAN is just really nice
По умолчанию Re: Программный костыль C30 & dsPIC33E

В двух словах. У автора дребезг ну и ладно. Два варианта сделать приблизительную задержку когда дребезги закончиться от начала самого первого прерывания по INT1 или дать полностью пока фронт не поднялся пройти дребезгом как они есть а потом спокойно выполнить то что задумано.
В первом случаи ждём прерывания по INT, как прерывание прошло отключаем прерывание по INT сбрасываем флаг INT включаем TMR и сбрасываем его регистры в 0 ждем когда переполниться по расчёту нужной задержки по времени и уже в прерывании от TMR выполняем что задумано и включаем прерывание по INT.
Во втором варианте пусть прерывание по INT возникает при дребезге столько сколько длиться подъём по фронту но при каждом дребезге обнулять TMR и когда дребезги по уровню не будут влиять на прерывания в INT то по завершению переполнения TMR выполнить прерывания от TMR и в нём выполнить то что надо.
ATAMAN вне форума   Ответить с цитированием
Старый 20.11.2020, 19:40   #15
ATAMAN
Senior Member
 
Аватар для ATAMAN
 
Регистрация: 09.01.2012
Возраст: 37
Сообщений: 506
Вес репутации: 373/41
ATAMAN is just really niceATAMAN is just really niceATAMAN is just really niceATAMAN is just really nice
По умолчанию Re: Программный костыль C30 & dsPIC33E

Можно попробовать отследить каждый дребезг переключая прерывания INT по фронту и по спаду и применить таймер.
ATAMAN вне форума   Ответить с цитированием
Старый 20.11.2020, 19:56   #16
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,166
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от ATAMAN Посмотреть сообщение
В двух словах. У автора дребезг ну и ладно. Два варианта сделать приблизительную задержку когда дребезги закончиться от начала самого первого прерывания по INT1 или дать полностью пока фронт не поднялся пройти дребезгом как они есть а потом спокойно выполнить то что задумано.
В первом случаи ждём прерывания по INT, как прерывание прошло отключаем прерывание по INT сбрасываем флаг INT включаем TMR и сбрасываем его регистры в 0 ждем когда переполниться по расчёту нужной задержки по времени и уже в прерывании от TMR выполняем что задумано и включаем прерывание по INT.
Во втором варианте пусть прерывание по INT возникает при дребезге столько сколько длиться подъём по фронту но при каждом дребезге обнулять TMR и когда дребезги по уровню не будут влиять на прерывания в INT то по завершению переполнения TMR выполнить прерывания от TMR и в нём выполнить то что надо.

слишком муторно..... ещё и с таймером телодвижения делать...

тикает.... и пущай себе тикает.... от него надо только- сколько натикал...
SergP01 вне форума   Ответить с цитированием
Старый 20.11.2020, 22:34   #17
ATAMAN
Senior Member
 
Аватар для ATAMAN
 
Регистрация: 09.01.2012
Возраст: 37
Сообщений: 506
Вес репутации: 373/41
ATAMAN is just really niceATAMAN is just really niceATAMAN is just really niceATAMAN is just really nice
Talking Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от SergP01 Посмотреть сообщение
слишком муторно..... ещё и с таймером телодвижения делать...

тикает.... и пущай себе тикает.... от него надо только- сколько натикал...
Зато эффективно, интересно, ну и филонтропно
ATAMAN вне форума   Ответить с цитированием
Старый 21.11.2020, 08:54   #18
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 61
Сообщений: 3,465
Вес репутации: 4234/125
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от alexem Посмотреть сообщение
Нужда заставила ... но костыль не работает.
Чё я делаю не так?
dsPIC33EP.
Не так подан сигнал в МК. Подать его нужно через компаратор с виртуальным (внутренним) ремапом выхода компаратора на INT1, а у компаратора включить гистерезис и правильно выбрать опору от референса.
Заниматься перректальной фильтрацией на таких скоростях - ужосн#х.
Марк на форуме   Ответить с цитированием
Старый 21.11.2020, 10:43   #19
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,166
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от Марк Посмотреть сообщение
Не так подан сигнал в МК. Подать его нужно через компаратор с виртуальным (внутренним) ремапом выхода компаратора на INT1, а у компаратора включить гистерезис и правильно выбрать опору от референса.
Заниматься перректальной фильтрацией на таких скоростях - ужосн#х.
иногда бывает, что нет возможности переделывать железо... и приходится дорабатывать программу...
я с таким сталкивался... сроки горят, а поставка комплектующих от 3 месяцев... и аналоги - низя...ВПК...
SergP01 вне форума   Ответить с цитированием
Старый 21.11.2020, 11:08   #20
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 7,066
Вес репутации: 6158/182
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от Марк Посмотреть сообщение
Не так подан сигнал в МК. Подать его нужно через компаратор с виртуальным (внутренним) ремапом выхода компаратора на INT1, а у компаратора включить гистерезис и правильно выбрать опору от референса.
Заниматься перректальной фильтрацией на таких скоростях - ужосн#х.
он говорит, уже 100 плат готовых, и не самых простых (сейчас модно всё делать в одном конструктиве). паять всяко хлопотно, проще "костыль".
Но это ведь как подойти (обозвать), для какого-нибудь идеалиста-теоретика (совершенно не имею в виду alexem) это именно "костыль", а кому-то просто часть рабочего процесса.



по мне так всяко проще таймер для таймаута. после чего разрешать обработку прерывания.


не в теме, слышал там сейчас все ноги мапируются, а что, можно и входы компаратора назначить куда угодно? тогда да, красиво предложил...
Greg вне форума   Ответить с цитированием
Старый 21.11.2020, 11:41   #21
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,166
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от Greg Посмотреть сообщение
это именно "костыль", а кому-то просто часть рабочего процесса.
это точно...

кнопки с ВП.... срок поставки 6 месяцев...
сдавать надо через месяц...
прислали с одинаковой маркировкой, но одни НЗ, а другие НР...

их запаяли....

и начался "рабочий" процесс.... типа при старте шупать кнопку- какая она ... ставить признак и добавлять обработчик...
ну и добавить пункт в ИЭ - при включении не держать кнопки нажатыми..

правда... потом.... я это дело в еепром пихнул... поэтому прямо у нас они свой признак получали
SergP01 вне форума   Ответить с цитированием
Старый 21.11.2020, 12:25   #22
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 61
Сообщений: 3,465
Вес репутации: 4234/125
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от Greg Посмотреть сообщение
все ноги мапируются, а что, можно и входы компаратора назначить куда угодно? тогда да, красиво предложил...
Аналоговые не все и на все выводы. Компараторных ног достаточно много.
Еще один метод. Я вроде бы понял так, что сигнал приходит из оптрона. Тогда нужно увеличить резистор в коллекторе фототранзистора. И вообще, посмотреть что там твориться на входе МК. Вообще то почти все пины имеют триггеры Шмитта по входу, то есть большой гистерезис. Странно иметь скоростной дребезг из-за медленных фронтов.
Марк на форуме   Ответить с цитированием
Старый 21.11.2020, 13:00   #23
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,166
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от Марк Посмотреть сообщение
Аналоговые не все и на все выводы. Компараторных ног достаточно много.
Еще один метод. Я вроде бы понял так, что сигнал приходит из оптрона. Тогда нужно увеличить резистор в коллекторе фототранзистора. И вообще, посмотреть что там твориться на входе МК. Вообще то почти все пины имеют триггеры Шмитта по входу, то есть большой гистерезис. Странно иметь скоростной дребезг из-за медленных фронтов.
может там кнопка(концевик) по входу оптрона стоит...

я много чудес видел.... и подставку из полезного сигнала убирали и из 50гц наводки его вырезали...

лезь в чужое оборудование нельзя.... вот и извращались "настраивали" на каждом обьекте индивидуально...
SergP01 вне форума   Ответить с цитированием
Старый 21.11.2020, 13:12   #24
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 61
Сообщений: 3,465
Вес репутации: 4234/125
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от SergP01 Посмотреть сообщение
может там кнопка(концевик) по входу оптрона стоит......
Кнопка не создает медленный фронт. Кнопка создает дребезг. Поэтому я и попросил автора темы изображение сигнала. От этого зависит решение.
Марк на форуме   Ответить с цитированием
Старый 21.11.2020, 13:20   #25
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,166
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Программный костыль C30 & dsPIC33E

Цитата:
Сообщение от Марк Посмотреть сообщение
Кнопка не создает медленный фронт. Кнопка создает дребезг. Поэтому я и попросил автора темы изображение сигнала. От этого зависит решение.
40мксек -это не медленный фронт.... у оптопар до нескольких мсек фронты бывают...
а дребезг будет - как нелинейность этого фронта...
SergP01 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MIcrochip Solutions. Проблема с компиляцией примеров. Леонид Продукция MICROCHIP 10 12.11.2017 01:30
MPLAB C30 программный сброс!? alexbeatle Продукция MICROCHIP 4 12.04.2010 22:33


Часовой пояс GMT +3, время: 20:16.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot