Jump to content

a_sergeevich

Members
  • Posts

    328
  • Joined

  • Last visited

Posts posted by a_sergeevich

  1. Odissey010, а можно ссылочку и на каких динах она делается ? Я бы поискал с удовольствием, но сейчас на чужбине и с инетом ограничен немного :)

    Всё,всё, нашёл очень быстро, и прогу которой считать и описание к ней и уже готовую конструкцию.

    Кому надо http://tqwp.narod.ru/index00.htm сайт посвящённый этой теме TQWP там и прога и всё остальное.

    И ещё, готовая конструкция правда на 75ГДШ-33-16: http://www.gajdar.nm.ru/

  2. Собираюсь сделать самодельные АС. Соответственно подбираю сейчас динамики, подбираю из отечественных производства НОЭМА. Другие не рассматриваю т.к цена и надо заказывать, а я сейчас в Новосибирске и есть возможность купить ноэмовские прямо на заводе. Так вот думаю какие взять два 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 .

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

    Да колоночки для озвучки гаража во время разных мероприятий в нём :)

    За ранее благодарю за советы.

  3. В микроСи вообще доступ к битам осуществляется просто и наглядно:

    char D;

    bit0 = D.F0;

    bit1 = D.F1 ну и т.д.

    Честно асм вообще не знаю не лежит у меня к нему душа, как то на Си для себя мне проще и быстрее да и замарок меньше, хотя если Вы знаете асм накой Вам вообще этот барсик сдался ? :)

  4. Для Си кратко:

    Битовые поля

    Внутри структурных типов могут быть организованы, так называемые, битовые поля. Такое поле начинается с младшего бита того слова, в котором оно будет размещаться. Битовые поля размещаются внутри 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

    Надеюсь объяснил понятно, уж аналог Си-шных побитных операций в барсике найдёте сами :)

    Удачи и все же совет переходите на Си.

  5. А с чего это оно будет работать ? У вас В это что массив какой-то ? :)

    Не знаю как в барсике, но в СИ если нужно работать с числом на уровне битов можно использовать битовое поле.

  6. В авто пойдет только если его полностью загнать в режим B, а так на радиаторах И-110 без кулеров разогреваются очень даже хорошо, а с нагревом прёт ток покоя ну и нафиг оно нужно, если можно собрать ту же оплеуху,которая лишена этих проблем, а ещё лучше Лайкова, но опять же это ИМХО кто хочет пусть собирает этот усил, просто я его собрал два канала и он пока у меня ещё работает, но пойдёт под разборку однозначно.Для себя я уже решил 2-ва канала Лайкова и на саб Уськов.

  7. Для начала надо наладить произ-во таких ламп у нас в России, чтобы цена была адекватная.А то у нас вечно сначала запрещают, а потом министры начинают отчитываться, что мол так и так ламп не хватает надо закупать за рубежом, начнутся разные тендоры конкурсы, а за тем и взятки и откаты и т.д и т.п., не забывайте где мы живём.У нас ниодна реформа с момента прихода демократов, не заканчивалась как положено.

  8. То,что звук у него нормальный я согласен, а про термостабилизацию я упомянул по причине того, что именно она меня остановила от использования данного уся в авто, а вот для стационарника вполне пойдет.Ну это ИМХО.

  9. На работе на всех компах кроме моего стоит каспер 7 дыра дырой все к нам бегают флешки лечить и вообще каспер разрекламированный отстой, ловит только то, что разрабатывают в собственной лаборатории :), авастом пользовался года 2, но его не способность лечить, а также повышеная дырявость отвадили меня от него навсегда, был ломаный нод 4, хороший антивирь, но ломалка сдохла , а лицуху покупать не охота было, следующий был др.веб 5, классная вещь, но не работает под вин 7, а так хорош. теперь стоит уже 8 месяцев авира премиум 9 из всех перечисленных самый лучший по всем показателям к тому же на его сайте постоянно раздают халявные ключи на 3 месяца.

    Вот такое мое мнение, но оно только моё. :)

  10. Я тоже считаю, что Ланзар (или как его там, Блаупункт, Мистери, Инфинити? Не знаю, кто из них первый применил у себя эту схему) нет смысла изготавливать самому для использования его в авто. По цене железок (детали, теплоотвод и т.д.) его 2 канала с ПНом выдут примерно так-же, как стоит 4-х канальный бюджетный усилитель, в котором оконечник сделан на основе этой схемы. Да, только нужно ещё учесть то, что там есть уже и темброблок и всё это оформлено эстетично в нормальном корпусе.

    Согласен на все 100%. Лучше потратить время и комплектуху на более достойные схемы.

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

  11. У данного усилителя проблема с термостабилизацией ( мне его удалось стабилизировать только повесив кулеры на каждый канал ) поэтому я бы посоветовал обратить внимание на усилитель А.Лайкова в теме "есть усилитель собственной разработки", сам усилитель не намного сложнее, ну транзисторов чуть больше, есть печатки, хорошее описание. Я вот его собираюсь собрать, две вытравленные платы уже лежат, правда сам сейчас в Питере, кстати Питерские ау.., читаем мой пост в курилке, поэтому пока собрать не могу, но судя по форуму вещь, либо обратите внимание на оплеуху, тоже по отзывам оч хороший усил.

    Хотя и данный усил заслуживает внимание.

  12. Да в трансе у него проблема тем более если собирал по трем разным схемам. трансформатор наверное один и тот же везде совал. И вообще в ПН трансформатор самое главное, от правильности его изготовления зависит 95% успеха.

    1.Проверь все сопли на печатке.

    2.Замени полевики.

    2.Убери трансформатор.

    3.Проверь схему без транса т.е сигналы на затворах, лучше осцилографом.

    4.Размотай свой трансформатор, полностью. Намотай первичку двумя проводочками 4+4 витка так же и вторичку только 12+12 витков, провод возьми небольшого сечения,например, 0.5 мм в диаметре.

    5.Подключи трансформатор в схему, но только первичку и проверь форму сигналов на первичке, а также напругу на вторичке (она будет большая ). Если всё хорошо.

    6.Подключи к вторичке диодный мостик, любой, включи ПН и померяй напругу на нем, вернее у него на выходе. Если всё хорошо, ничего не греется, не искрит :)., то...

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

    А то взяли моду сразу стабилизации лепить и всякое такое, а что бы схему проверять в процессе сборки по блочно так лень. Все проблемы, которые сейчас тут поднимаются есть в начале ветки.

    Ну и ещё про рабочие схемы, я тут выкладывал схему и печать на SG от Акнодика + добавил туда стабилизацию на схеме она не показана, есть на печатии указал, что надо изменить в номиналах р/э для стабилизации.

    Мной собрано по данной схеме 3-ри ПН-а и четвертый лежит, вернее трансформатор для него.

  13. И так пережевав все советы, вот, что у меня получилось, сразу оговорюсь, на задержку в цикле не обращайте внимание, такая нужна для протеуса, что бы не мелькало :), да и индикатор 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;
    }

    Всё работает, единственное не хочет отображать последнюю цифру, никак не пойму почему.

  14. Есть девять индикаторов. Есть допустим 16 чисел в массиве(1,2,3,4,5,6,7,8,9,0,9,8,7,6,5,4)

    Сначала выводятся первые девять цифр,затем остальные семь и далее все заново.

    Например, ситуация надо вывести число 1234567890987654 на индикатор АЛС318, сначала мы его разобъём на отдельные числа, а потом надо его вывести вот тут-то и пригодиться такой вывод по частям.

    Вот у меня и проблема возникла с этим проблема, т.к вывести первые 9-ть чисел не проблема, а вот как доходит до остальных 7-ми тут затык и начинается.Сейчас почитал тут в инете статейку про дин.индикацию, кое-какие мысли появились, но пробовать сегодня уже не буду,завтра вечерком наверное займусь.

    Но все же от помощи не откажусь :)

  15. Про динамическую индикацию в принципе всё ясно, есть такой код:

    #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

  16. Мой тебе совет не парься с PIC Simulator, он работает нормально только если прога написана на его дибильном бейсике, скачай Proteus поставь и эмулируй в нем любые схемы с любыми МК.МикроСи отличный компилятор, особенно хелп на него, кроме этого хелпа в принципе ничего больше не надо, там описан и Си и все библиотеки и куча примеров, причем рабочих примеров.Если же хочешь все писать своими ручками т.е вникнуть в структуру всего, что скрыто за библиотеками от разработчиков тогда тебе нужен HITECH-PICC, но лучше не заморачивайся, а пользуй микроСи и не мечись в стороны.

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

    Удачи.

  17. -100 до 100 это уже не датчик давления, а моновакуумметр т.е который меряет и давление и разряжение есть как электронные так и механические. А так вот датчик давления нижний предел 0 верхний от 100 кПа и выше, выходной сигнал 4-20 мА : http://www.owen.ru/device/10365553

  18. Жирнов, ты всё сделал неправильно, как ты подключал лампочку только в одно плечо, а второе у тебя висело пустое ? Так нельзя.Нагрузку надо включать в оба плеча, т.е лампочка + общ. , лампочка общ. -. и TDA тоже имеет двухполярное питание, а ты я так понял врубал её также в одно плечо ? Да пофиг как у тебя включена стабилизация хоть +-, хоть +,общ., хоть -,общ. , работать будет одинаково.

  19. Я в своё время пользовался всякими минидрелями, одна у меня прослужила лет 6 наверное, но вот приснился её кирдык, начал искать замену и купил вот такую VTHD02 Точная минидрель с 62 насадками Velleman, отличная вещь, я прям не нарадуюсь и кейс удобный для хранения и куча насадок и самое главное стоит всего 740 руб.Но т.к я заказывал наложкой в чип-дипе мне обошлась в 820 руб. Короче советую.

×
×
  • Create New...