Перейти к содержанию

xopkep

Members
  • Постов

    108
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные xopkep

  1. Прыгает. Прыгал.

    Пытался срисовать схему, но не пошло. Зато в процессе тыкнул мультиметром два транзистора и оба оказались странными - вроде работают, но циферки 2000 вместо 500. Заменил и о чудо - заработало. В целях эксперимента вернул старые тпа3116 на место и опять все защелкало и транзисторы испортились.

    В итоге новые тпа и два транзистора и все работает.

    Всем спасибо.

    И кстати у меня телефон без ик порта и не встречал таких ну очень давно. 

  2. Ну был бы по профессиональному, я бы и не спросил. Но аудио не мое. В силу имеющихся поверхностных общих знаний пытаюсь оживить устройство. 

    Личный оффлайн консультант-просветитель на изоляции, пришлось спрашивать здесь :)

    На второй мс только саб и он включается пультом, поэтому проверить нет возможности. По умолчанию он в режиме выключено и сигнал туда не идёт.

  3. Да, каналов там как бы три. Одна мс это стерео самой полки, вторая это выход на саб - там полная тишина (он вроде как не в комплекте  - может включается с пульта которого нет).

    Первым щупал другой чел. Либо соврал либо я его, девайс, уже добил... На входе TPA сигнал прыгает. На выходе с цпу AP8064 сигнал не прыгает. На операционниках 4558 все тоже стабильно. Мультиметром мерил,  осциллографа под рукой нет.

  4. Здравия.

    Появился пациент китайский JY A9 полка звуковая. Без звука не щелкает. При звуке с любого источника на любой громкости [и без динамиков тоже] как будто срабатывает защита. По гуглу диагноз был поставлен неисправность микросхем усилителей, коих там две TP3116D2. Пока они летели, были проверены конденсаторы-резисторы-стабилизаторы и проблем вроде как не обнаружено. 

    Однако замена микросхем картины нисколько не поменяла - щелкает.

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

    IMG_20200603_214817.thumb.jpg.d1af58c1f1a8a5dd69d2de6fc84182e1.jpg

    IMG_20200603_214724.thumb.jpg.5d92aed80b1ebd92df8ec48733c0748f.jpg

    IMG_20200603_214739.thumb.jpg.9fc176753f749e038e0ca1fb419cfd47.jpg

  5. Спасибо всем ответившим. Проформы ради сообщаю результаты: можно сказать их нет. Либо руки кривые, либо аура плохая. (Но наверное все же руки + изначальное незнание проблемы)

    Reset посадил через 100Ом, добавил кондерчик на землю там же, поставил шотки по питанию, поставил емкость 0.5 на базу-эмиттер. Синфазный фильтр нашел в старом мониторе (в виде железной коробочки такой, куда сразу шнур питания втыкается) и даже заземлил его, как у него задумано...

    Результатом стало зависание контроллера на 1/3 меньше. Т.е. всего 2 из 3 :)

    Немного неожиданным решением стала установка внешнего шнайдеровского реле (типа такого http://sigma.octopart.com/13415643/image/Square-D-RPM22BD.jpg ). Теперь зависание происходит только при стресс-тесте, т.е. переключению 2-4 раза в секунду да и то после 20 и более переключения.

  6. v1ct0r

    а какого типа\размера емкость должна быть?

    Guest_Гость

    эта искра по идее гасится диодом

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

    fagotto

    Нет, Испытания проводятся в полевых условиях, нет возможности осциллограф запользовать. В лабораторных условиях все идеально работает.

  7. Здравствуйте, прошу совета сильно.

    Имеется уже готовая плата ethernet (enc28j60 от olimex) с attiny2313. Задача - щелкать релюшечкой. Задачу выполняет на ура, пока к релюшечке не подключается то, ради чего это задумывалось - Звонок громкого боя МЗМ-1. Тут начинаются этакие чудеса как срабатывание через раз, зависание тиньки, самопроизвольное переключение состояния сразу после ручного переключения (чаще всего когда выключаешь - а он сам включается). Таких плат n-ное количество и делать заново не вариант. Транзисторы управления реле MMBT2222ALT1 с резистором 8к в базе.

    Что пробовал:

    Диоды к релюшке поставил FR105, FR107.

    Конденсаторы по питанию тантал 100мкф+керамика на входе (хороший БП 5В) и после стабилизатора на 3.3В.

    Ферритовые колечки на линии 220В от звонка - 2-3 витка. Кольца от материнок и от БП компьютерных.

    Изначально планировать в бокс рядом с автоматом 220В звонка ставить, потому пробовал отнести на максимальное расстояние (сантиметров 30) - как-то не помогло.

    Какие ещё припарки и народные рецепты попробовать без переделки плат?

    post-104975-0-79620500-1459851546_thumb.jpg

  8. tilarids

    Это только для примера. Я пользуюсь как правило наидешевейшими клавами и\или вообще восстановленными из утиля. На беспроводную мне жалко средств - их же можно потратить на более разумные вещи. Те же атмеги для самоделок ;)

    И совместить понятия "доход", "полезная работа", "приятная работа" в наше время вообще малореально :)

  9. 135р за две nrf + 150р за две атмеги. и затем хоть самая дешевая клавиатура за 300р. Итого 600р.

    Не знаю как там в нормальных городах, но у нас меньше чем за 1200р клавиатур я не видел.

    К тому же это устройство позволит использовать свою любимую (да хоть механические с АТ-разъемами) клавиатуру.

  10. Здравия желаю,

    Китайцы как известно народ смекалистый. У них есть практически все, что приходит в голову. Однако я не смог найти девайсов для "переделки" проводных мышей и клавиатур в беспроводные. Как-то сходу в голову лезет что-то типа NRF24L01 с атмегой, но китайцы могли сделать и спец-микрухи вместо меги. Видел аналогичную систему в ММ клавиатуре delux. Но не нашел же отдельных девайсов.

    Возникает вопрос: в чем ограничение? Чего я не знаю? Получится ли организовать беспроводной передатчик PS/2 - 2.4GHz - USB? Или не стоит загоняться даже?

    С Уважением,

  11. Потому что не выполнили. Форматирования как не было так и нет, программа как не могла скомпилироваться, так и не может.

    Раз форматирование сбилось, стоило его поправить. Орфографическая ошибка - заглавная буква В в функции сравнения, вместо строчной b - язык Си чувствителен к регистру.

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

    Спасибо огромное!

    if( status >= a ) PORTB &=~ (1<<0);

    вместо

    if( status == a ) PORTB &=~ (1<<0);

    действительно решает проблему вспышек!

  12. Но самое главное - форматирование и орфографические ошибки.

    #include <avr/io.h>
    #include <avr/interrupt.h>
    #define F_CPU 9600000UL
    #include <util/delay.h>
    #include <stdlib.h>
    
    void abc(unsigned char a,unsigned char b,unsigned char c,unsigned char status);
    
    unsigned char tonight=0;
    volatile unsigned char pwm[3]={0,0,0};//здесь храним значения яркости светодиодов
    unsigned char to[3]={0,255,0};//здесь храним цвет, к которому будем стремиться.
    
    int main(void)
    {
    //порты PB0-2 как выходы, выключены
    DDRB |= (1<<0|1<<1|1<<2);
    PORTB&= ~(1<<0|1<<1|1<<2);
    //Инициализация таймера
    TCCR0A = 0x00;
    TCCR0B = 0x01;//No Prescaling
    TIMSK0 = 1<<TOIE0;//Прерывание по переполнению
    sei();//Глобальное разрешение прерываний
    
    while(1){
    if (pwm[0]<to[0]) pwm[0]++;
    if (pwm[0]>to[0]) pwm[0]--;
    if (pwm[1]<to[1]) pwm[1]++;
    if (pwm[1]>to[1]) pwm[1]--;
    if (pwm[2]<to[2]) pwm[2]++;
    if (pwm[2]>to[2]) pwm[2]--;
    if(pwm[0]<=0&&pwm[1]<=0&&pwm[2]<=0) {//to red from black
    to[0]=0; //blue
    to[1]=255; //red
    to[2]=0; //green
    };
    if(pwm[0]<=0&&pwm[1]>=255&&pwm[2]<=0) {//to green+blue
    to[0]=255; //blue
    to[1]=255; //red
    to[2]=255; //green
    };
    
    if(pwm[0]>=255&&pwm[1]>=255&&pwm[2]>=255) {tonight=1;}
    
    if(pwm[0]>=255&&pwm[1]>=255&&pwm[2]>=255&&tonight==1) {//from green+blue
    to[0]=0; //blue
    to[1]=255; //red
    to[2]=0; //green
    };
    if(pwm[0]<=0&&pwm[1]>=255&&pwm[2]<=0&&tonight==1) {//from red to black
    to[0]=0; //blue
    to[1]=0; //red
    to[2]=0; //green
    };
    
    if(pwm[0]<=0&&pwm[1]<=0&&pwm[2]<=0) {tonight=0;}
    
    _delay_ms(50);
    }
    }
    
    ISR(TIM0_OVF_vect)
    {
    static unsigned char e = 0;
    if( e == 255)
    {
    e=0;
    PORTB |= (1<<0)|(1<<1)|(1<<2);
    }
    abc(pwm[0],pwm[1],pwm[2],e);
    ++e;
    }
    
    void abc(unsigned char a,unsigned char b,unsigned char c,unsigned char status) {
    if((status==a)) PORTB&= ~(1<<0);
    if((status==) PORTB&= ~(1<<1);
    if((status==c)) PORTB&= ~(1<<2);
    }
    

    Рекомендации выполнил: e локальная статическая, pwm[3] объявлена volatile, ну и == заменены на <= и >=.

    Форматирование сбилось на форуме (можно смотреть здесь). Орфографическая ошибка - досадное недоразумение.

    Вспышки все равно в наличии :(

  13. Здравия желаю. Есть вот такой код (честно не помню откуда брал):

    #include <avr/io.h>
    #include <avr/interrupt.h>
    #define F_CPU 9600000UL
    #include <util/delay.h>
    #include <stdlib.h>
    
    void abc(unsigned char a,unsigned char b,unsigned char c,unsigned char status);
    
    unsigned char e, tonight=0;
    unsigned char pwm[3]={0,0,0};//здесь храним значения яркости светодиодов
    unsigned char to[3]={0,255,0};//здесь храним цвет, к которому будем стремиться.
    
    int main(void)
    {
    DDRB |= (1<<0|1<<1|1<<2);
    PORTB&= ~(1<<0|1<<1|1<<2);
    TCCR0A = 0x00;
    TCCR0B = 0x01;//No Prescaling
    TIMSK0 = 1<<TOIE0;//Прерывание по переполнению
    sei();
    while(1){
    //идём к цвету
    if (pwm[0]<to[0]) pwm[0]++;
    if (pwm[0]>to[0]) pwm[0]--;
    if (pwm[1]<to[1]) pwm[1]++;
    if (pwm[1]>to[1]) pwm[1]--;
    if (pwm[2]<to[2]) pwm[2]++;
    if (pwm[2]>to[2]) pwm[2]--;
    if(pwm[0]==0&&pwm[1]==0&&pwm[2]==0) {//to red from black
    to[0]=0; //blue
    to[1]=255; //red
    to[2]=0; //green
    };
    if(pwm[0]==0&&pwm[1]==255&&pwm[2]==0) {//to green+blue
    to[0]=255; //blue
    to[1]=255; //red
    to[2]=255; //green
    };
    
    if(pwm[0]==255&&pwm[1]==255&&pwm[2]==255) {tonight=1;}
    
    if(pwm[0]==255&&pwm[1]==255&&pwm[2]==255&&tonight==1) {//from green+blue
    to[0]=0; //blue
    to[1]=255; //red
    to[2]=0; //green
    };
    if(pwm[0]==0&&pwm[1]==255&&pwm[2]==0&&tonight==1) {//from red to black
    to[0]=0; //blue
    to[1]=0; //red
    to[2]=0; //green
    };
    
    if(pwm[0]==0&&pwm[1]==0&&pwm[2]==0) {tonight=0;}
    
    _delay_ms(50);
    }
    }
    
    ISR(TIM0_OVF_vect)
    {
    if(e==255)
    {
    e=0;//обнуляем счётчик
    PORTB |= (1<<0)|(1<<1)|(1<<2);
    }
    
    abc(pwm[0],pwm[1],pwm[2],e);
    e++;
    }
    
    void abc(unsigned char a,unsigned char b,unsigned char c,unsigned char status) {
    if((status==a)) PORTB&= ~(1<<0);
    if((status==) PORTB&= ~(1<<1);
    if((status==c)) PORTB&= ~(1<<2);
    }
    

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

×
×
  • Создать...