Re: Тестовый запуск PT2322 PT2323
Столкнулся ещё с одной проблемой, при длинных проводах руинится ардуино, на коротких работает
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
forum.rcl-radio.ru → Проблемы с загрузками скетча → Тестовый запуск PT2322 PT2323
Столкнулся ещё с одной проблемой, при длинных проводах руинится ардуино, на коротких работает
Провода питания от источника питания к ардуино попробуйте намотать на небольшой ферритовое кольцо (два провода одновременно), буквально 7-10 витков.
Провода питания от источника питания к ардуино попробуйте намотать на небольшой ферритовое кольцо (два провода одновременно), буквально 7-10 витков.
Хорошо, вырву колечко из какой нибудь старой материнской платы))
И все таки о странности произошедшего, выходит что помогла кренка. Замерил напряжения на процессорах, на i2c шине- 4 Вольта, а на ардуино 5
В этом могло быть дело? Может до сих пор дело в этом, просто теперь на тоненьком, но работает
В общем пока что с проблемой земель столкнулся, начал упаковывать уже все, длинная i2c не работает, и так, провода менял, и этак, и по витухе пробовал (проложена уже в корпусе), но что то не работает, блин, я везунчик просто))))
А может и не земель проблема
В общем при включении ардуино- она разово передаёт сигнал на процессоры, музыка появляется, и виснет)
В общем при сокращении проводов между ардуино и процессорами ( земля и i2c) все работает, может теперь подтяжка поможет??
Подтяжка от ардуинки помогла! Ура, все работает на длинных проводах
В итоге помогло 3 действия-
1) усилить питание процессоров
2) подтянуть от ардуино плюс на i2c
3) бп ардуино не менее 0.5а( вообще проверял только на 1.2 и 2 финальную работоспособность)
Не зависает?
Не зависает?
Минут 10 уже наблюдаю, ещё 5 минут погоняю чтобы удостоверится
Дело предполагаю в чем- у процессоров нет подтяжки с плюса, и поэтому шина просаживалась вплоть до зависания ардуино, пришлось усилить питание и там и там
Причём без усиления питания процессоров, вообще ничего не помогало
Опыт конечно я колоссальный получил, жаль только нехватает фундаментальных знаний, чтобы понять всю суть произошедшего
Фух! Сейчас наконец-то займусь упаковкой в корпус, и наконец-то попробую уже управление с обычного скетча
Добрый день! Почти закончил сборку, и заметил интересный момент, в последнем варианте скетча, где есть кнопка включения реле, ардуино виснет пока процессоры выключены.
Тоесть единожды запустив процессоры- ардуино просыпается, данная манипуляция для ежедневного использования акустики вносит некоторые сложности...
Пока что пришла такая мысль, при каждом первом включении добавить кратковременное включение процессоров в код ардуино, ну или как то сделать что-бы при первом включении в сеть ардуино автоматом ставила реле в выкл и не обращалась к процессорам
У меня сейчас такая схема включения по проводам: ардуино всегда включена если вилка акустики в розетке, и по кнопке ардуино включает процессоры. Хочу сохранить такую схему т.к. жду Блютус аудио декодер с али, хочу попробовать сделать включение акустики при появлении сигнала на модуле (кстати наверное так можно и сделать при подключении рца (сигнал > лоу = включи реле))
Не совсем все понял. При активации реле ардуино виснет?
Не совсем все понял. При активации реле ардуино виснет?
При включении первый раз акустики в розетку ардуино виснет, до тех пор пока не будет разорвана связь с аудиопроцессорами по i2c
После передёргивания i2c все работает идеально, регулируется громкость, акустика включатся и выключается, до тех пор пока включено в розетку, если выключить из розетки и заново включить- изначально ардуино висит
Думаю она в начале работы пытается обратиться к процессорам, на которые не приходит питание, т.к она же и не подаёт на них питание через реле
Подключено так
Ардуино не должна виснуть ни при каких обстаятельствах, проблема с помехами в питании не решена. Ардуино и аудиопроцессоры надо запитать через индуктивный фильтр.
Вы ставили индуктивный фильтр для питания УНЧ? Если да то уберите, они эффективны только при постоянной нагрузке. При переменной наоборот являются источником помех. Если оставите, то тогда поставьте емкости после дросселя.
Такой фильтр не эффективен
Думаю она в начале работы пытается обратиться к процессорам, на которые не приходит питание, т.к она же и не подаёт на них питание через реле
Аудиопроцессоры работают только на прием команд, ардуино в принципе все рано подключены шина i2c или нет, на работу ардуино это ни как не должно влиять
Да, есть индуктивные фильтры встроенные в оба блока питания, в бп усилителя после дросселя целая батарея из емкостей, как на плате усилителя так и на плате блока питания
Кстати проблем не наблюдается если процессоры (на плате усилителя) включаются вместе с ардуино, Тоесть если вместо реле установлена условно говоря перемычка, все включается и работает
Мне все таки кажется что при наличии реле ардуино при включении пытается сконнектиться с процессорами, на которые не поступает питание, и до тех пор пока питание не появится ардуино висит. После того как питание единожды пришло на процессоры и ардуино завершила какой то начальный цикл, питание с процессоров можно убрать, все будет работать
Если питание не поступает на аудиопроцессоры, то ардуино отсылает команды в пустоту, зависание при этом арудино не должно быть.
Само реле может быть источником помех.
Почему не используете функцию STANDBY для активации усилителей? БП при этом будет конечно работать но потребление будет не большим.
Кстати проблем не наблюдается если процессоры (на плате усилителя) включаются вместе с ардуино
Запитайте ардуино и аудиопроцессоры от одного БП
Если питание не поступает на аудиопроцессоры, то ардуино отсылает команды в пустоту, зависание при этом арудино не должно быть.
Само реле может быть источником помех.
Почему не используете функцию STANDBY для активации усилителей? БП при этом будет конечно работать но потребление будет не большим.
Standby хочу подключить для тихого запуска усилителя, но пока не придумал как
Кстати зависание ардуино было и на тестовом скетче, если убрать питание с процессоров, при любом раскладе, хоть при запитке от пк, при трансформаторном бп, так с самого начала было, думал это нормально если честно
Может что с ардуиной, делал много проектов с питанием от импульсных зарядок сотовых телефонов, зависаний ни когда небыло.
Может какая то особенность аудипроцессоров, что они без питания подсаживают шину i2c, как вариант может быть.
Может что с ардуиной, делал много проектов с питанием от импульсных зарядок сотовых телефонов, зависаний ни когда небыло.
Может какая то особенность аудипроцессоров, что они без питания подсаживают шину i2c, как вариант может быть.
Вот я именно к этому варианту и склоняюсь, я уже вокруг этой сборки много манипуляций провёл, не знаю как технически обосновать, но интуиция подсказывает что процессоры не дают ардуинке жить, возможно при другой системе включения все бы работало, но оставлять на ночь усилитель(с процессорами) и бп усилителя на холостом ходу в деревянном корпусе я боюсь, зарядник хуавей и ардуинку можно, им я доверяю,
Поэтому и использую схему с таким включением, и поэтому и хочу позже допилить активацию усилителя по аудио сигналу, и деактивацию при отсутствии
У нас просто на работе пачки 5.1 акустики, стоит на пару дней забыть выключить, мрут как мухи, так и появился у меня дома эленберг этот, ещё Сони s master Dav есть, но там совсем вынос мозга дефект
Можно конечно поменять скетч, сначала активировать реле, для подачи питания на аудиопроцессоры, а только потом активировать шину i2c (Wire.begin();)
Скомпилировал вот так, перенес из wire begin в кнопку включения реле, правда проверить на деле не могу в ближайшие пол часа, супруга уже вовсю эксплуатирует мою самоделку)))
#include <Wire.h>
#include <EEPROM.h>
#include <PT2323.h>
#include <PT2322.h>
PT2323 pt0;
PT2322 pt1;
int vol,in,power,mute,w;
unsigned long times;
void setup(){
Wire.begin();
if(EEPROM.read(100)!=0){for(int i=0;i<101;i++){EEPROM.update(i,0);}}// очистка памяти при первом включении
pinMode(2,INPUT); // VOLUME + // D2
pinMode(3,INPUT); // VOLUME - // D3
pinMode(4,INPUT); // INPUT // D4
pinMode(5,INPUT); // POWER // D5
pinMode(6,OUTPUT); // выход управления питания усилителя (STANDBY)
pinMode(13,OUTPUT);//красный диод
power=1;
delay(500);
}
void loop(){
//// регуировка громкости
if(digitalRead(2)==HIGH&&power==0){digitalWrite(13,LOW);vol++;;if(vol>79){vol=79;}audio2();w=1;times=millis();}// 79 максимальная громкость
if(digitalRead(3)==HIGH&&power==0){digitalWrite(13,LOW);vol--;if(vol<0){vol=0;}audio2();w=1;times=millis();}// 0 минимум громкости
//// выбор входа
if(digitalRead(4)==HIGH&&power==0){digitalWrite(13,LOW);in++;if(in>3){in=0;}audio1();w=1;times=millis();}// если in = 5 то включен шести канальный вход
//// POWER
if(digitalRead(5)==HIGH&&power==0){power=1;mute=1;audio1();digitalWrite(6,LOW);;delay(500);} // OFF
if(digitalRead(5)==HIGH&&power==1){digitalWrite(6,HIGH);delay(1000);power=0;mute=0;vol=EEPROM.read(0);in=EEPROM.read(1);audio1();delay(500);audio2();delay(500);} // ON
//LED
if(digitalRead(2)==LOW&&digitalRead(3)==LOW&&digitalRead(4)==LOW&&power==0){digitalWrite(13,HIGH);} //ON+blink
if(power==1){digitalWrite(13,LOW);} //off
/// EEPROM
if(millis()-times>5000&&mute==0&&w==1){EEPROM.update(0,vol);EEPROM.update(1,in);w=0;}
delay(200);
}
void audio1(){
pt0.setInput(in);
pt0.setMute(0,0,0,0,0,0,mute);
pt0.setFeature(1,1);
}
void audio2(){
pt1.setFront_lk_att(0);// att front L
pt1.setFront_rk_att(0);// att front R
pt1.setCenter_att(1); // att center
pt1.setRear_lk_att(0); // att rear L
pt1.setRear_rk_att(0); // att rear R
pt1.setSub_att(0); // att sub
pt1.setFunc(0,1,1); // mute,3d,тембр on/off
pt1.setBass(1); // BASS -14...0...14 dB (int -7...0...7)
pt1.setMiddle(1); // MIDDLE -14...0...14 dB (int -7...0...7)
pt1.setTreble(1); // TREBLE -14...0...14 dB (int -7...0...7)
pt1.setVol(vol); // 0...79
}
Немного поменял скетч, снизил частоту шины
#include <Wire.h>
#include <EEPROM.h>
#include <PT2323.h>
#include <PT2322.h>
PT2323 pt0;
PT2322 pt1;
int vol,in,power,mute,w;
unsigned long times;
void setup(){
Wire.begin();
Wire.setClock(31000L);// понижаем частоту шины i2c
if(EEPROM.read(100)!=0){for(int i=0;i<101;i++){EEPROM.update(i,0);}}// очистка памяти при первом включении
pinMode(2,INPUT); // VOLUME + // D2
pinMode(3,INPUT); // VOLUME - // D3
pinMode(4,INPUT); // INPUT // D4
pinMode(5,INPUT); // POWER // D5
pinMode(6,OUTPUT); // выход управления питания усилителя (STANDBY)
pinMode(13,OUTPUT);//красный диод
power=1;
digitalWrite(6,LOW);// усилитель выключен
delay(500);
mute=1;// звук выкл.
vol=EEPROM.read(0);in=EEPROM.read(1);// запрос параметров из памяти
audio1(); audio1(); // активация аудипроцессоров
}
void loop(){
//// регуировка громкости
if(digitalRead(2)==HIGH&&power==0){digitalWrite(13,LOW);vol++;;if(vol>79){vol=79;}audio2();w=1;times=millis();}// 79 максимальная громкость
if(digitalRead(3)==HIGH&&power==0){digitalWrite(13,LOW);vol--;if(vol<0){vol=0;}audio2();w=1;times=millis();}// 0 минимум громкости
//// выбор входа
if(digitalRead(4)==HIGH&&power==0){digitalWrite(13,LOW);in++;if(in>3){in=5;}if(in>5){in=0;}audio1();w=1;times=millis();}// если in = 5 то включен шести канальный вход
//// POWER
if(digitalRead(5)==HIGH&&power==0){power=1;mute=1;audio1();delay(500);digitalWrite(6,LOW);} // OFF
if(digitalRead(5)==HIGH&&power==1){digitalWrite(6,HIGH);delay(500);power=0;mute=0;audio1();audio2();} // ON
//LED
// if(digitalRead(2)==LOW&&digitalRead(3)==LOW&&digitalRead(4)==LOW&&power==0){digitalWrite(13,HIGH);} //ON+blink
// if(power==1){digitalWrite(13,LOW);} //off
/// EEPROM
if(millis()-times>5000&&mute==0&&w==1){EEPROM.update(0,vol);EEPROM.update(1,in);w=0;}
delay(200);
}
void audio1(){
pt0.setInput(in);
pt0.setMute(0,0,0,0,0,0,mute);
pt0.setFeature(1,1);
}
void audio2(){
pt1.setFront_lk_att(0);// att front L
pt1.setFront_rk_att(0);// att front R
pt1.setCenter_att(1); // att center
pt1.setRear_lk_att(0); // att rear L
pt1.setRear_rk_att(0); // att rear R
pt1.setSub_att(0); // att sub
pt1.setFunc(0,1,1); // mute,3d,тембр on/off
pt1.setBass(1); // BASS -14...0...14 dB (int -7...0...7)
pt1.setMiddle(1); // MIDDLE -14...0...14 dB (int -7...0...7)
pt1.setTreble(1); // TREBLE -14...0...14 dB (int -7...0...7)
pt1.setVol(vol); // 0...79
}
Хм, залил вашу версию, не заработало...
Залил свою, работает, чтоб ее, теперь я совсем запутался
Ничего дополнительно не менял ни там ни там
Мне кажется дело в активации аудиопроцессоров
Впринципе с текущим функционалом все работает, стоит снижать частоту шины?
forum.rcl-radio.ru → Проблемы с загрузками скетча → Тестовый запуск PT2322 PT2323
Форум работает на PunBB, при поддержке Informer Technologies, Inc
|