-
Постов
328 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Сообщения, опубликованные a_sergeevich
-
-
Собираюсь сделать самодельные АС. Соответственно подбираю сейчас динамики, подбираю из отечественных производства НОЭМА. Другие не рассматриваю т.к цена и надо заказывать, а я сейчас в Новосибирске и есть возможность купить ноэмовские прямо на заводе. Так вот думаю какие взять два 10ГДВ92-16 http://noema.ru/catalog/65 и два 35ГДН62-4 http://noema.ru/catalog/64 и сделать двухполосники полочники или мозг не парить и взять два широкополосника 100ГДШ47-8 http://noema.ru/catalog/55/98 .
Усилитель будет по схеме А.Лайкова, пред на К157УД2, рег.громкости и тембра на МК http://www.ekits.ru/index.php?ukey=product&productID=707 .
Помогите сделать выбор пожалуйста т.к скоро уезжаю,а в моем заполярном поселке купить динамики нет никакой возможности ( за то в свободной продаже шкуры оленей медведей и т.д и т.п ) поэтому помогите выбрать.
Да колоночки для озвучки гаража во время разных мероприятий в нём
За ранее благодарю за советы.
0 -
В микроСи вообще доступ к битам осуществляется просто и наглядно:
char D;
bit0 = D.F0;
bit1 = D.F1 ну и т.д.
Честно асм вообще не знаю не лежит у меня к нему душа, как то на Си для себя мне проще и быстрее да и замарок меньше, хотя если Вы знаете асм накой Вам вообще этот барсик сдался ?
0 -
Для Си кратко:
Битовые поля
Внутри структурных типов могут быть организованы, так называемые, битовые поля. Такое поле начинается с младшего бита того слова, в котором оно будет размещаться. Битовые поля размещаются внутри 8-ми битных слов. Если поле не удается разместить в текущем байте структуры, то размещение продолжается в следующем байте. Битовые поля никогда не пересекают границу между 8-ми битовыми областями, выделенными для данной структуры. Например:
struct {
unsigned hi : 1;
unsigned dummy : 6;
unsigned lo : 1;
} foo @ 0x10;
В данном случае структура будет занимать один байт по адресу 0х10. При этом поле hi будет соответствовать нулевому биту, а lo – 7-му биту регистра по адресу 0х10. Младший бит поля dummy будет располагаться в первом, а старший – в 6-м битах регистра 0х10. Если структура описана, как показано выше, то она будет размещена по абсолютному адресу, и память под ее размещение выделяться не будет.
Если необходимо определить битовое поле, которое содержит неиспользуемые области, то можно указать безымянные поля:
struct {
unsigned hi : 1;
unsigned : 6;
unsigned lo : 1;
} foo @ 0x10;
Как это сделать на РВР я не знаю. Я честно сразу, когда заинтересовался пиками, тоже ломанул на РВР, но потом понял его ущербность и перешёл на Си и компиль-среда разработки микроСи, но сейчас учусь на HI-TEC там библиотек готовых меньше, что сподвигает более углубленному изучению и об этом решении ни грамма не жалею. Иногда то, что на первый взгляд выглядит просто потом выходит боком, да и консультацию по Си дадут 100% на форуме быстрее чем на барсике, а по нему могут вообще не дать, но это ИМХО.
Ещё Вам тут правильно подсказали, что чтение отдельных битов можно осуществлять с помощью побитовых операций в Си это & (И), |(ИЛИ) не путать с логическими операциями !!!.
Т.е смысл в том, что с помощью операции & и маски мы ненужные биты выключаем, а нужный считываем, например:
n = 00110101;
допустим нам надо узнать значение нулевого бита, тогда применяя маску 00000001
с = n & 00000001; мы передадим в "с" значение нулевого бита т.е 1, затем уже делаем с ним что нам надо.
00110101
&&&&&&&
00000001
---------
00000001
Чтобы включить биты (т.е, которые установлены в ноль) используем побитовую операцию ИЛИ (|)
n = 00110101;
c = 00000001;
c = c | n;
в результате "с" равно 00110101 т.е с == n
00000001
|
00110101
---------
00110101
Надеюсь объяснил понятно, уж аналог Си-шных побитных операций в барсике найдёте сами
Удачи и все же совет переходите на Си.
0 -
А с чего это оно будет работать ? У вас В это что массив какой-то ?
Не знаю как в барсике, но в СИ если нужно работать с числом на уровне битов можно использовать битовое поле.
0 -
Да зайди же вот сюда http://forum.cxem.net/index.php?showtopic=22538 там и почитай про настройку там всё есть, там и спрашивай,зачем миллион одинаковых тем, а ?
0 -
По этому усилку есть отдельная тема, называется 350 ватт есть сомнения...
0 -
В авто пойдет только если его полностью загнать в режим B, а так на радиаторах И-110 без кулеров разогреваются очень даже хорошо, а с нагревом прёт ток покоя ну и нафиг оно нужно, если можно собрать ту же оплеуху,которая лишена этих проблем, а ещё лучше Лайкова, но опять же это ИМХО кто хочет пусть собирает этот усил, просто я его собрал два канала и он пока у меня ещё работает, но пойдёт под разборку однозначно.Для себя я уже решил 2-ва канала Лайкова и на саб Уськов.
0 -
Для начала надо наладить произ-во таких ламп у нас в России, чтобы цена была адекватная.А то у нас вечно сначала запрещают, а потом министры начинают отчитываться, что мол так и так ламп не хватает надо закупать за рубежом, начнутся разные тендоры конкурсы, а за тем и взятки и откаты и т.д и т.п., не забывайте где мы живём.У нас ниодна реформа с момента прихода демократов, не заканчивалась как положено.
0 -
То,что звук у него нормальный я согласен, а про термостабилизацию я упомянул по причине того, что именно она меня остановила от использования данного уся в авто, а вот для стационарника вполне пойдет.Ну это ИМХО.
0 -
На работе на всех компах кроме моего стоит каспер 7 дыра дырой все к нам бегают флешки лечить и вообще каспер разрекламированный отстой, ловит только то, что разрабатывают в собственной лаборатории , авастом пользовался года 2, но его не способность лечить, а также повышеная дырявость отвадили меня от него навсегда, был ломаный нод 4, хороший антивирь, но ломалка сдохла , а лицуху покупать не охота было, следующий был др.веб 5, классная вещь, но не работает под вин 7, а так хорош. теперь стоит уже 8 месяцев авира премиум 9 из всех перечисленных самый лучший по всем показателям к тому же на его сайте постоянно раздают халявные ключи на 3 месяца.
Вот такое мое мнение, но оно только моё.
0 -
Я тоже считаю, что Ланзар (или как его там, Блаупункт, Мистери, Инфинити? Не знаю, кто из них первый применил у себя эту схему) нет смысла изготавливать самому для использования его в авто. По цене железок (детали, теплоотвод и т.д.) его 2 канала с ПНом выдут примерно так-же, как стоит 4-х канальный бюджетный усилитель, в котором оконечник сделан на основе этой схемы. Да, только нужно ещё учесть то, что там есть уже и темброблок и всё это оформлено эстетично в нормальном корпусе.
Согласен на все 100%. Лучше потратить время и комплектуху на более достойные схемы.
И вообще зачем для саба ланзар, не проще ли собрать уськова и не морочить себе голову, этот усь ведь именно для саба и заточен.
0 -
У данного усилителя проблема с термостабилизацией ( мне его удалось стабилизировать только повесив кулеры на каждый канал ) поэтому я бы посоветовал обратить внимание на усилитель А.Лайкова в теме "есть усилитель собственной разработки", сам усилитель не намного сложнее, ну транзисторов чуть больше, есть печатки, хорошее описание. Я вот его собираюсь собрать, две вытравленные платы уже лежат, правда сам сейчас в Питере, кстати Питерские ау.., читаем мой пост в курилке, поэтому пока собрать не могу, но судя по форуму вещь, либо обратите внимание на оплеуху, тоже по отзывам оч хороший усил.
Хотя и данный усил заслуживает внимание.
0 -
Да в трансе у него проблема тем более если собирал по трем разным схемам. трансформатор наверное один и тот же везде совал. И вообще в ПН трансформатор самое главное, от правильности его изготовления зависит 95% успеха.
1.Проверь все сопли на печатке.
2.Замени полевики.
2.Убери трансформатор.
3.Проверь схему без транса т.е сигналы на затворах, лучше осцилографом.
4.Размотай свой трансформатор, полностью. Намотай первичку двумя проводочками 4+4 витка так же и вторичку только 12+12 витков, провод возьми небольшого сечения,например, 0.5 мм в диаметре.
5.Подключи трансформатор в схему, но только первичку и проверь форму сигналов на первичке, а также напругу на вторичке (она будет большая ). Если всё хорошо.
6.Подключи к вторичке диодный мостик, любой, включи ПН и померяй напругу на нем, вернее у него на выходе. Если всё хорошо, ничего не греется, не искрит ., то...
7.Разбираем всё это дело и мотаем нормальный трансформатор, причем провод лучше взять новый, затем уже с нормально намотаным трансом все повтаряем.
А то взяли моду сразу стабилизации лепить и всякое такое, а что бы схему проверять в процессе сборки по блочно так лень. Все проблемы, которые сейчас тут поднимаются есть в начале ветки.
Ну и ещё про рабочие схемы, я тут выкладывал схему и печать на SG от Акнодика + добавил туда стабилизацию на схеме она не показана, есть на печатии указал, что надо изменить в номиналах р/э для стабилизации.
Мной собрано по данной схеме 3-ри ПН-а и четвертый лежит, вернее трансформатор для него.
0 -
Может на выходе ? Если так то с помощью переменника убирай, цепляй к оперу и убирай или если оперов много можешь просто подобрать ОУ по минимуму постоянки на выходе.
0 -
И так пережевав все советы, вот, что у меня получилось, сразу оговорюсь, на задержку в цикле не обращайте внимание, такая нужна для протеуса, что бы не мелькало , да и индикатор 8-ми разрядный т.к 9-ти в протеусе нету.
#define _pic16f877 #define buf_size 20 #include <pic.h> __CONFIG (LVPDIS & UNPROTECT & PWRTDIS & WDTDIS & XT); const unsigned char CODE_TABLE[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f }; unsigned char buffer[buf_size]; unsigned char buffer2[buf_size]={1,2,3,4,5,6,7,8,9,4,5,3,6,2,1,0,3,4,5,7 }; unsigned char PTR; unsigned int i = 0, j=0, z; int s=0; void main (void) { TRISB = 0b11110000; TRISD = 0b00000000; PORTD = 0; PTR = 0; PORTB = 0b00001111; OPTION = 0b10000010; INTCON = 0; TMR0 = 0; T0IE = 1; GIE = 1; while (1) { for(i=0;i<=9;i++) { buffer[i] = buffer2[j]; j++; if (j==buf_size+1) { s= -1; break; } } s=s+1; j=s; for(z=0; z<=30000; z++); } } void interrupt all (void) { PORTD = 0; PORTB++; PORTD = CODE_TABLE[buffer[PTR]]; PTR++; if(PTR==9) {PTR = 0; PORTB = 0b00001111; } T0IF = 0; }
Всё работает, единственное не хочет отображать последнюю цифру, никак не пойму почему.
0 -
my504
Спасибо за ответ, теперь я понял свою ошибку, впринципе на радиокоте тоже самое посоветовали.
0 -
Есть девять индикаторов. Есть допустим 16 чисел в массиве(1,2,3,4,5,6,7,8,9,0,9,8,7,6,5,4)
Сначала выводятся первые девять цифр,затем остальные семь и далее все заново.
Например, ситуация надо вывести число 1234567890987654 на индикатор АЛС318, сначала мы его разобъём на отдельные числа, а потом надо его вывести вот тут-то и пригодиться такой вывод по частям.
Вот у меня и проблема возникла с этим проблема, т.к вывести первые 9-ть чисел не проблема, а вот как доходит до остальных 7-ми тут затык и начинается.Сейчас почитал тут в инете статейку про дин.индикацию, кое-какие мысли появились, но пробовать сегодня уже не буду,завтра вечерком наверное займусь.
Но все же от помощи не откажусь
0 -
Про динамическую индикацию в принципе всё ясно, есть такой код:
#define _pic16f877 // зададим тип процессора #include <pic.h> // подключим файл описаний __CONFIG(LVPDIS & UNPROTECT & PWRTDIS & WDTDIS & XT); // таблица знакогенератора const unsigned char CODE_TABLE[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char buffer[9]={1,2,3,4,5,6,7,8,9}; // буфер индикатора unsigned char PTR; // указатель буфера void main(void) { // настроим порты на выход TRISB = 0b11110000; // для дешифратора знакомест (4 младших разряда) TRISD = 0b00000000; // для символа PORTD = 0; // очистим индикатор PTR = 0; // начало буфера PORTB = 0b00001111; // установим последний разряд индикатора OPTION = 0b10000010; // запишем байт настройки в регистр OPTION INTCON = 0; // Выключить все прерывания и сбросить T0IF TMR0 = 0; // Сброс TMR0 T0IE = 1; // Разрешить прерывания от TMR0 GIE = 1; // Разрешить все прерывания // зациклим программу cycle:; goto cycle; } // обработка прерываний void interrupt all(void) { PORTD = 0; // очистим индикатор PORTB++; // установим следующее знакоместо для отображения PORTD = CODE_TABLE[buffer[PTR]]; // выведем на индикатор PTR++; // установим указатель на следующий символ if(PTR == 10) { PTR = 0; PORTB = 0b00001111; } //проверим, не кончился ли массив для вывода на индикатор T0IF = 0; // сбросим флаг прерывания }
Проблема в следующем,как мне вывести на 9-ти разрядный (АЛС318) не 9-ть цифр,допустим 16-ть?
Я пытался сделать это так:
unsigned char buffer[16]={1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2}; расширяю буфер
В обработчике прерывания делаю так:
if(PTR==10) {PORTB = 0b00001111;}
if(PTR==16) {PTR=0;PORTB = 0b00001111;}
И у меня одни значения накладываются на другие и получается полная ерунда.
Понимаю, что надо как-то организовать небольшую паузу между показами первой части и второй,но не могу догнать как.
Прошу помощи.
Пока буду до вечера ещё думать, может, что и придёт в голову.
На выводимые данные не обращайте внимания т.к сам пример никакой смысловой нагрузки не несёт, просто задумался, что вдруг вот надо будет вывести число на ССИ, а их будет меньше чем надо и потребуется организовать тогда вывод типа в режиме скроллинга.
Компилятор используемый мной для этого примера HITECH-PICC.
Дешифратор 74145
МК PIC16F877A
0 -
Мой тебе совет не парься с PIC Simulator, он работает нормально только если прога написана на его дибильном бейсике, скачай Proteus поставь и эмулируй в нем любые схемы с любыми МК.МикроСи отличный компилятор, особенно хелп на него, кроме этого хелпа в принципе ничего больше не надо, там описан и Си и все библиотеки и куча примеров, причем рабочих примеров.Если же хочешь все писать своими ручками т.е вникнуть в структуру всего, что скрыто за библиотеками от разработчиков тогда тебе нужен HITECH-PICC, но лучше не заморачивайся, а пользуй микроСи и не мечись в стороны.
Хелп на русском от 6-й версии подходит и для других более новых версий, хотя я лично пользуюсь версией 6 и не заморачиваюсь.
Удачи.
1 -
Mahno прав, в основном все промышленные ТС подключаются по 3-х проводной схеме.
0 -
-100 до 100 это уже не датчик давления, а моновакуумметр т.е который меряет и давление и разряжение есть как электронные так и механические. А так вот датчик давления нижний предел 0 верхний от 100 кПа и выше, выходной сигнал 4-20 мА : http://www.owen.ru/device/10365553
0 -
Жирнов, ты всё сделал неправильно, как ты подключал лампочку только в одно плечо, а второе у тебя висело пустое ? Так нельзя.Нагрузку надо включать в оба плеча, т.е лампочка + общ. , лампочка общ. -. и TDA тоже имеет двухполярное питание, а ты я так понял врубал её также в одно плечо ? Да пофиг как у тебя включена стабилизация хоть +-, хоть +,общ., хоть -,общ. , работать будет одинаково.
0 -
Я в своё время пользовался всякими минидрелями, одна у меня прослужила лет 6 наверное, но вот приснился её кирдык, начал искать замену и купил вот такую VTHD02 Точная минидрель с 62 насадками Velleman, отличная вещь, я прям не нарадуюсь и кейс удобный для хранения и куча насадок и самое главное стоит всего 740 руб.Но т.к я заказывал наложкой в чип-дипе мне обошлась в 820 руб. Короче советую.
0 -
Вот тебе ссылка на скачивание протеуса: http://habar.ifolder.ru/12039274
Вот ссылка на микроСи, там внутри русский мануал: http://habar.ifolder.ru/5672305
А вот тебе код частотомера, который у тебя будет основным, я пока не выкидывал оттуда индикацию, чтобы ты почитав мануал на микроСИ разобрался, что к чему, кстати код я прокоментировал весь, также внутри архива инструкция по установке протеуса: kod_C.zip
Как разберёшься в принципе работы блока измерения частоты, тогда уже начнём дописывать нужные функции, сначала напишем одну для одного эффекта, а потом дальше.
Если, что непонятно по коду спрашивай, отвечу, объясню, главное изучи мануал, а то так мы не сможем ничего сделать.
Да, кстати код заточен под pic16f628a
И ещё нарисуй как и где крепятся светодиоды, а то вот тут предлагают такой способ: http://modding.ru/view.php?cat=articles&item=rus-strob
Удачи !
0
Срочно Нужен Совет Профи
в Акустические системы
Опубликовано
Большое всем спасибо за ответы, буду брать 100ГДШ33-8.