• Announcements

    • admin

      Размещайте материалы своей компании БЕСПЛАТНО!   04/18/18

      Редакционная политика портала позволяет размещать на бесплатной основе различные типы материалов: интересную информацию, наработки, технические решения, аналитические статьи и т.д. Пример такого блога. Взамен мы рекламируем ваш блог в наших группах в соц. сетях, ну и плюс естественная самореклама от пользователей форума и блогов, которые будут читать ваш блог. К примеру охват одного поста только в нашей группе VK составляет более 10 тыс. человек. Т.е. мы предлагаем бартер - вы ведете у нас блог и публикуете какую-то полезную и интересную информацию связанную с вашим производством, а мы рекламируем ваш блог в наших соц. сетях. Блоги можно полностью кастомизировать: поставить изображение шапки, сделать меню или оглавление, также в своем блоге вы будете модератором - сможете удалять комментарии и т.д. Ведение своего блога требует времени и навыков, но рекламный эффект колоссальный, т.к. это живое общение и отклик. Посты не должны быть рекламой, а также должны соответствовать правилам форума. Для тех компаний, которые будут публиковать интересный контент, права в дальнейшем будут расширяться - сможете публиковать больше ссылок, пресс-релизы, новости компании, анонсы и т.д. Ну а если вы хотите размещать платную рекламу: условия и прайс размещения на сайте и форуме, коммерческая тема на форуме, реклама в группе VK.

Blogs

Featured Entries

  • Falconist

    Сайт DIY проектов Рода Эллиотта "The Audio Pages"

    By Falconist

    В свое время надыбал на просторах Интернета на сайт Рода Эллиотта, позиционирующийся, как сборник любительских (DIY) проектов, посвященных аудио. В их числе - широкий диапазон усилителей мощности, предусилителей, гитарных/басовых усилителей, студийного оборудования, эффектов и других проектов для повторения, включая громкоговорители, сабвуферы и многое другое.  Единственный недостаток - весь сайт на английском языке. А с тем знанием английского, который наблюдается у современной молодежи (да и не только у нее, к сожалению), вся эта информация практически не поддается осмыслению. Поэтому взял на себя труд перевести хотя бы отдельные проекты на русский.  Переводы, по согласованию с админом, а также с разрешения автора, будут выкладываться в виде отдельных статей на сайте и дублироваться здесь, в этой записи вордовскими *.doc - файлами. В комментариях просьба указывать, какие из проектов (ссылка на сайт - вверху) было бы желательно перевести как можно скорее, а также замеченные терминологические ошибки в переводах.  Итак, начали: 1) Осветительная система LX-800  ( Осветительная система LX-800 (Проект 62).doc) 2) Простой высококачественный Hi-Fi предусилитель ( Простой высококачественный Hi-Fi предусилитель.docx ) - перевод vimay 3) Усовершенствованные регуляторы громкости и баланса  ( Усовершенствованные регуляторы громкости и баланса (Проект 01).doc ) 4) Высококачественный предусилитель (вариант 2) ( Высококачественный предусилитель (вариант 2).docx ) - перевод vimay 5) Полный Hi-Fi предусилитель ( Полный Hi-Fi предусилитель (Проект 97).docx ) - перевод vimay 6) Фонокорректор RIAA ( Фонокорректор RIAA (Проект 06).docx ) - перевод vimay 7) Балансные линейные передатчик и приемник аудиосигнала (Проекты 51 и 87)  ( Балансные линейные передатчик и приемник аудиосигнала (Проекты 51-87).doc ) 8) Руководство по устранению неисправностей и ремонту. (Руководство по устранению неисправностей и ремонту.doc) 9) Руководство по проектированию усилителей мощности  ( Руководство по проектированию усилителей мощности.doc ) 10) Конструкция линейного источника питания ( Конструкция линейного источника питания.doc )
    • 19 comments
    • 4174 views
  • aitras

    ΔΣ ЦАП "Mercury" на PCM1794

    By aitras

    Предыстория О-о-очень давно я начинал собирать ЦАП со входом S/PDIF на микросхеме серии PCM179х. Если мне не изменяет память, то можно найти мои посты в теме "Делаем ЦАП" на форуме где-то в районе 30-50 страниц. В итоге все вылилось в неудачную конструкцию - были ошибки в трассировке платы.   Несколько лет назад я решил все-таки их исправить и заказал новую ревизию той платы. Она успешно запустилась и работала.   Но в данной плате все равно есть некоторые недочеты. Во-первых, жутко греются стабилизаторы питания ОУ, во-вторых, не оптимальный вариант преобразователя ток-напряжения - из-за большого выходного тока ЦАПа ОУ работают с некоторыми искажениями, ну и в-третьих - не нужен мне вход S/PDIF. Третья проблема решилась достаточно просто - был собран источник I2S на основе PCM2707 и я подключил его в обход приемника S/PDIF сигнала. Получился такой макет: Решением второй проблемы я занялся позже и переделал аналоговую часть - взял схему от ЦАПа Black Kitty. Там ОУ преобразователя ток-напряжения разгружены при помощи эмиттерных повторителей. Оформил это в виде отдельной платки.   В таком виде это и просуществовало до этого лета. Появилось некоторое количество свободного времени и во время очередного прослушивания музыки возникло непреодолимое желание собрать это все в одну кучу на одной плате, чтобы поставить некую точку в этом ЦАПе.  Новая плата Схема претерпела некоторые изменения, по большей части в питании. Также важной особенностью стало внедрение гальванической развязки шины I2S на ADuM1400C. На макете на выходе в одном канале присутствует неприятная "постоянка" около 20 мВ, а, стоящие в ФНЧ ОУ LME49990, не поддерживают корректировку нуля. Поэтому в новой схеме ввел для этих целей подстроечник и хотел поставить LT1122, но не смог достать их по адекватной цене и поставил OP42. Все управляющие цепи PCM-ки вывел на отдельный разъем - можно конфигурировать как джамперами, так и какой-то логикой. Аналоговый выход пустил через реле, чтобы была возможность приглушать выход. В питании применял те стабилизаторы, что имелись в наличии. Чтобы конструкция стала законченной, на плату поставил и трансформаторы. За выходные развел плату, размер которой получился 160 на 90 мм. ОУ в преобразователе ток-напряжения на макете грелись до 70 градусов (судя по расчетам, это для них норма), поэтому на новой плате сделал под ними заливку с переходными отверстиями на верхний слой и убрал маску. Хоть какое-то охлаждение будет. Точно так же сделано под стабилизаторами ADP3303, но у них хитрая запатентованная внутренняя конструкция, распределяющая равномерно тепло по всему корпусу, как я понял из документации. Кроме этого, коллекторам транзисторов добавил небольшие полигончики для лучшего отвода и рассеивания тепла. Да, и куда ж ЦАП без названия Решил окрестить его Меркурием - такой же жаркий. Впервые попробовал сделать заказ в Seeedstudio. При производстве китайцы плоховато пропечатали маркировку, но в целом качество отличное. Сборка и запуск Далее последовала сборка. Не очень понравилось паять плату с черной маской - все детали черные, теряются на черном фоне, как-то некомфортно. Сама маска очень классная, достаточно прочная, не отваливается кусками при пайке.     Как всегда не обошлось без некоторых ошибок - оказалось, что забыл добавить на плату керамику на выходы стабилизаторов, допаял навесом, и ох уж эти реле... похоже, что миниатюрные они все идут со встроенным диодом. Также спалил одну ADuM-ку, случайно сделав шлейф зеркально, в результате чего у развязки на приемной стороне возникла переполюсовка питания, ADuM-ка перегрелась и больше так и не запустилась... Но, пережив все это, плата завелась и порадовала музыкой на своих выходах. Также нужно сказать пару слов о тепловых режимах. Кроме ОУ преобразователей ток-напряжение, достаточно сильно греются стабилизаторы веток питания +/-12V_A и +9V_А и трансформатор питания ОУ. Но все в пределах нормы - не более 60 градусов. Заключение В целом я очень доволен получившейся конструкцией. Звучание ЦАПа ровное, приятное, на оркестровых записях масштабное, т.е. в целом очень качественное. Когда разберусь с методикой измерения при помощи звуковой карты, попробую сделать замеры.  Mercury 3D.PDF Mercury BOM.xls Доработка плат и результаты измерений:  
    • 23 comments
    • 6630 views

Our community blogs

  1. Вопрос, давно "циркулирующий" по разным форумам: каким же должен быть БП для ремонта и предварительной настройки транзисторных УМЗЧ. Если с ремонтом более-менее понятно, то насчет "настройки", да еще и "предварительной" - поясню более подробно. Новоизготовленный УМЗЧ нередко обладает "косяками" (непропаи, пермычки дорожек припоем, перепутаны компоненты и т.п.), из-за чего включать его нужно осторожно и с ограничением тока, дабы не дожечь окончательно. Для ограничения тока рекомендуется использовать либо лампы накаливания на нужное напряжение, либо просто резисторы на несколько десятков Ом.

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

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

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

    Что же касается собственно БП, то не устаю удивляться многообразию схем "лабораторных БП", изготавливаемых для этих целей. Если подумать, то регулируемый по напряжению и току ограничения "лабораторник" для данной задачи - "масло масляное маслянистое"! Реально не нужны ни плавная регулировка напряжения, ни тока. Нормальная схема УМЗЧ (подчеркиваю: НОРМАЛЬНАЯ, а не извращенная!) обязана работать при колебаниях питающего напряжения +100 / -50% от номинального значения. Естественно, либо на холостом ходу (Х.Х.), либо на нагрузку , составляющую порядка 10% номинальной. Окончательная настройка режимов (ток покоя, ноль на выходе при отсутствии сигнала и т.п.) должны производиться на ШТАТНОМ БП, с которым этот УМЗЧ будет работать в дальнейшем.

    Исходя из этих положений, необходимый и достаточный БП для ремонта/настройки УМЗЧ состоит всего-навсего из трансформатора, вторичная обмотка которого может быть вообще без отводов, либо иметь один-два отвода на напряжение порядка 18...24...30 В, выпрямительного мостика, конденсаторного фильтра и ограничителей тока по плюсовой и минусовой шинам. ВСЁ ОСТАЛЬНОЕ - НЕНУЖНОЕ ИЗВРАЩЕНИЕ!!!

    Ограничение выходного тока (по опыту) достаточно на уровне 0,5 А, чтобы не пожечь сохранившиеся транзисторы средней мощности драйверных каскадов. Транзисторы малой мощности (дифференциальный каскад, усилитель напряжения) обычно "обвязаны" резисторами, не пропускающими избыточные токи.

    При изготовлении такого БП я оттолкнулся от Двухполярного БП на трансформаторе без среднего отвода:

    LPS Cold.jpg

    Его схема: 

    Линейный БП.GIF

    Поясняю еще раз и ме-е-е-дленно: Два трансформатора стоят исключительно потому, что в свое время я их получил по гуманитарке из Канады и они просто валялись в загашниках. И не более того! Мощность каждого составляет 36 Вт (итого - 72 Вт, чего хватает "выше крыши"). На выходе получается двуполярное питание напряжением ±24 В.

    Вначале была мысль снабдить этот БП транзисторными ограничителями тока:

    5ce4476d88ffa_.GIF.01e5b10c1223050ec98e8ee1a2148d77.GIF 

    с индикацией стрелочными гальванометрами от мафонов по падению напряжения на эмиттерном резисторе. Сдвоенный переключатель SA3 переключает выход либо через ограничители тока, либо почти напрямую (через резисторы R4 R7, всё-таки хоть чуть-чуть, но защищающие от полного К.З.). А когда уже подобрал детали - задумался. зачем же я ограничиваю сам себя применением дополнительного БП помимо штатного? По правде говоря, нередко такой дополнительный БП нужен. Скажем, ремонтируется эстрадный УМЗЧ массой под два пуда - сильно такой не покрутишь туда-сюда, даже на каком-то поворотном приспособлении. Приходится снимать плату и ставить ее на "стапель" отдельно от корпуса собственно УМЗЧ с его БП.

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

    Сказано - сделано. Нашел в загашниках пару корпусов от разобранный свичей, радиаторы, снятые с компьютерных БП, два комплекта гальванометров М6250-1. Схема 

    5ce4476e4bcf8_-.GIF.6053f7bd5368279b6a89df98fced6406.GIF

    содержит два идентичных канала, никак не связанных один с другим, благодаря чему их можно включать как совместно в разные плечи, так и порознь (скажем, при ремонте усилителя с однополярным питанием). Развел платы (одну - себе, вторую - хорошему приятелю, тоже занимающемуся ремонтом УМЗЧ). Вид сверху (в процессе изготовления):

    5ce4476c05cba_.jpg.71c416218200ec204b2dc75656eabb43.jpg

    Вид снизу:

    5ce4476cbe4b5_.jpg.7e6af1f1e767c7dde4fe280ad0763c76.jpg

    Из-за простоты и нетиражности не стал ЛУТить, а применил старый добрый способ - рисованием лаком для ногтей через обрезок инъекционной иглы. Хочу еще раз подчеркнуть: ПЛАТА ИЗГОТАВЛИВАЕТСЯ ПОД КОРПУС!!! 

    Ну, и вот что в итоге получилось (один из блочков):

    5ce4476eb79aa_().jpg.95e36aed85db2c77d6a359b4fd99ede2.jpg

    На фото показан режим К.З. в левом канале при питании от 12-вольтового аккумулятора. В таком режиме радиатор нагревается до температуры порядка 55...60° (рука еще терпит) примерно за 5 минут. Надо быть совершенно "тёмным" в ремонта, чтобы при наличии "металлического" К.З. в канале продолжать подавать на него питание. Если стрелка ушла вправо до упора - питание НЕМЕДЛЕННО отключается и ищется пробитый компонент. Так и только так!

    Оба канала настроены на максимальный ток 0,5 А, чему соответствует максимальное отклонение стрелки гальванометров. Они приклеены к корпусу снаружи двухсторонним скотчем. Шкалу не перекалибровывал, поскольку разборка этих гальванометров - квест из геморройных, причем, мало полезных - проще наклеить сверху переводную шкалу, по которой можно ориентироваться в токе потребления по имеющейся оцифровке.

    В режиме отсутствия ограничения тока падение на каждом из токоограничителей составляет 2,4 В. Светодиоды зеленого свечения (на 2,1 В + последовательно кремниевый диод) индицируют наличие полного К.З, когда это значение повышается более, чем на 2,7 В. 

    Данную приставку можно подключать к любому БП, включая штатный для данного УМЗЧ, либо к показанному выше. Если с каналом усилителя всё в порядке и ток потребления соответствует току покоя, тогда и только тогда приставка отключается и питание подается на УМЗЧ непосредственно от БП. Настраиваются нужные параметры (ноль на выходе, коррекция и т.п.).

  2. Решил немного вспомнить былое и продолжить работать над старым проектом композитного усилителя на основе TPA6120. На этот раз для обкатки кое-каких идей, которые будут использоваться в другом проекте решил попробовать сделать вариант с регулятором громкости на основе перемножающего ЦАП. На данный момент планируется использовать 12 битный ЦАП AD5449, что даст максимальное ослабление в 72 db, чего для этого применения более чем достаточно.

    Попутно осваиваю новую САПР KiCad. 

    5cde85ec298d8_6120sch.thumb.JPG.fab6c591955d76b3bdaf5f40e9a8ea31.JPG

    5cde85eb04a6b_tpa6120pcb.thumb.JPG.c9144081df19556f548bf7056f523ce6.JPG

  3. Всем привет!
    В этом топике я покажу, как с помощью новейшей Attiny от Atmel/Microchip управлять светодиодами WS2812. Для начала давайте вспомним, а лучше подсмотрим в даташите на временные интервалы нуля и единицы.

    5cd3326befe3b_2812(1).png.9a34f85450f563e559d75c5b3742375a.png

    Где видим, что для передачи нуля нам необходим импульс длительностью от 200 и до 500 наносекунд, для передачи единицы - от 550 и до 850 наносекунд. Период же так и вообще может изменяться в широких пределах.
    Управлять светодиодами мы будем с помощью SPI. Но не напрямую, а через CCL. Почему? Всё просто - SPI содержит 8-ми битный регистр и как его не крути, целочисленная передача не получится - исходный бит надо будет "разбавлять" нулями либо единицами. А что если поступить наоборот - длительность исходного бита будет задавать период сигнала, а разбивать бит будем тактовой частотой SCK того же интерфейса SPI. Так мы сформируем "1", которую поймет драйвер светодиода. Да, T1H и T1L по длительности будут равны, но в параметры даташита мы укладываемся. Как же быть с нулем? Для этого мы воспользуемся помощью зрительного зала таймера TCA0. Пусть он нам разобьет тактовую частоту SCK ещё раз напополам и мы получим длительность T0H в четыре раза меньшую, чем период. Но всё равно укладываемся в даташит)) В результате манипуляций мы получим такую картину:

    2812.thumb.png.061b0e369ecb16e01472f2c54a57934f.png

    Звиняюсь, но диаграммы отображают (не то, что там подписано....)

    желтая диаграмма - это RGB код для светодиодов, зеленая диаграмма - тактовая частота SCK, синий - меандр с таймера TCA0, фиолетовый - подготовленные импульсы для подачи на WS2812.
    Работать мы будем на тактовой частоте в 20 МГц, поэтому первое, что сделаем, отключим прескалер:

    CCP = CCP_IOREG_gc;
    CLKCTRL.MCLKCTRLB = 0;

    Затем подготовим блок SPI:

    
        //... Инициализация SPI
    inline void SPI_Init(void)
    {
        SPI_PORT.DIR |= (1<<MOSI_PIN) | (1<<SCK_PIN) | (0<<MISO_PIN) | (1<< PIN4_bp);        // Все выводы, кроме MISO, выходы
    
        SPI0.CTRLA    = (0<<SPI_DORD_bp)                    // Старший бит вперёд
                | (1<<SPI_MASTER_bp)                // SPI мастер
                | (1<<SPI_CLK2X_bp)                    // Удвоенная скорость тактирования
                | SPI_PRESC_DIV64_gc                 // Делитель = 64
                | (1<<SPI_ENABLE_bp);                // Разрешаем работу SPI
       
        SPI0.CTRLB    = (0<<SPI_BUFEN_bp)
                | (0<<SPI_BUFWR_bp)
                | (1<<SPI_SSD_bp)
                | SPI_MODE_0_gc;
    
        SPI0.DATA = 0;
    }
    
         //... Передать байт данных
    inline void SPI_WriteByte(uint8_t data)
    {
        SPI0.DATA = data;    
       
        while(!(SPI0.INTFLAGS & SPI_IF_bm));
    
    }

    Выставляем прескалер на 64 такта и взводим бит SPI_CLK2X, что в итоге нам даст частоту тактирования 625 кГц. Период тактирования при такой частоте будет равен 1.6 мкс - в даташит укладываемся.

    Далее настроим таймер:

    void TCA_Init(void)
    {
        TCA0.SINGLE.CTRLB =    1<<TCA_SINGLE_ALUPD_bp |        // Установим бит автоматической блокировки обновления регистров компаратора
                (0 << TCA_SINGLE_CMP0EN_bp) | (0 << TCA_SINGLE_CMP1EN_bp) | (0 << TCA_SINGLE_CMP2EN_bp) |    // пины выводов компараторов не включаем
                TCA_SINGLE_WGMODE_SINGLESLOPE_gc;    // Режим работы таймера - односкатный ШИМ с прерыванием OVF в вершине счета
    }
     

    Режим работы таймера следующий - счетчик таймера считает от нуля и до значения в регистре PER, после чего самостоятельно обнуляется и цикл повторяется.
    Значение прескалера таймера и его режим работы я определю в отдельной функции:

     inline void TCA0_Mode(uint8_t mode)
    {
        TCA0.SINGLE.CTRLA = TCA_SINGLE_CLKSEL_DIV1_gc |        // Определяем значение прескалера - 1
                mode << TCA_SINGLE_ENABLE_bp;        // mode = 1 - таймер включен, mode = 0 - таймер выключен   
    }

    Уже в основной функции настрою регистры:

     TCA_Init();
        TCA0.SINGLE.PER = TCA_period;
        TCA0.SINGLE.CMP2 = TCA_cmp2;

    Компаратор использую CMP2 - далее будет понятно почему. Выход компаратора устанавливается в "1" при сбросе счетчика, а сбрасывается при равенстве значений в счетном регистре и регистре компаратора. Для того, чтобы получить частоту 625 * 2 = 1250 кГц, я определю следующие значений регистров:

    #define    TCA_period    15
    #define    TCA_cmp2        8

    Давайте подключать таблицу LUT CCL. Для этого открываем даташит и внимательно читаем, на какой вход что можно подключить. Напомню, что нам надо завести сигналы от:
    -MOSI SPI
    -SCK SPI
    -WO2
    Смотрим - на нулевой канал LUT мы можем подключить от SPI только сигнал SCK (скопирую из файла определений iotn817.h):

    /* LUT Input 0 Source Selection select */
    typedef enum CCL_INSEL0_enum
    {
        CCL_INSEL0_MASK_gc = (0x00<<0),  /* Masked input */
        CCL_INSEL0_FEEDBACK_gc = (0x01<<0),  /* Feedback input source */
        CCL_INSEL0_LINK_gc = (0x02<<0),  /* Linked LUT input source */
        CCL_INSEL0_EVENT0_gc = (0x03<<0),  /* Event input source 0 */
        CCL_INSEL0_EVENT1_gc = (0x04<<0),  /* Event input source 1 */
        CCL_INSEL0_IO_gc = (0x05<<0),  /* IO pin LUTn-IN0 input source */
        CCL_INSEL0_AC0_gc = (0x06<<0),  /* AC0 OUT input source */
        CCL_INSEL0_TCB0_gc = (0x07<<0),  /* TCB0 WO input source */
        CCL_INSEL0_TCA0_gc = (0x08<<0),  /* TCA0 WO0 input source */
        CCL_INSEL0_TCD0_gc = (0x09<<0),  /* TCD0 WOA input source */
        CCL_INSEL0_USART0_gc = (0x0A<<0),  /* USART0 XCK input source */
        CCL_INSEL0_SPI0_gc = (0x0B<<0),  /* SPI0 SCK source */
    } CCL_INSEL0_t;

    На первый канал подключается только MOSI:

    /* LUT Input 1 Source Selection select */
    typedef enum CCL_INSEL1_enum
    {
        CCL_INSEL1_MASK_gc = (0x00<<4),  /* Masked input */
        CCL_INSEL1_FEEDBACK_gc = (0x01<<4),  /* Feedback input source */
        CCL_INSEL1_LINK_gc = (0x02<<4),  /* Linked LUT input source */
        CCL_INSEL1_EVENT0_gc = (0x03<<4),  /* Event input source 0 */
        CCL_INSEL1_EVENT1_gc = (0x04<<4),  /* Event input source 1 */
        CCL_INSEL1_IO_gc = (0x05<<4),  /* IO pin LUTn-N1 input source */
        CCL_INSEL1_AC0_gc = (0x06<<4),  /* AC0 OUT input source */
        CCL_INSEL1_TCB0_gc = (0x07<<4),  /* TCB0 WO input source */
        CCL_INSEL1_TCA0_gc = (0x08<<4),  /* TCA0 WO1 input source */
        CCL_INSEL1_TCD0_gc = (0x09<<4),  /* TCD0 WOB input source */
        CCL_INSEL1_USART0_gc = (0x0A<<4),  /* USART0 TXD input source */
        CCL_INSEL1_SPI0_gc = (0x0B<<4),  /* SPI0 MOSI input source */
    } CCL_INSEL1_t;

    И на третьем канале от таймера TCA0 возможно подключить только WO2:

    /* LUT Input 2 Source Selection select */
    typedef enum CCL_INSEL2_enum
    {
        CCL_INSEL2_MASK_gc = (0x00<<0),  /* Masked input */
        CCL_INSEL2_FEEDBACK_gc = (0x01<<0),  /* Feedback input source */
        CCL_INSEL2_LINK_gc = (0x02<<0),  /* Linked LUT input source */
        CCL_INSEL2_EVENT0_gc = (0x03<<0),  /* Event input source 0 */
        CCL_INSEL2_EVENT1_gc = (0x04<<0),  /* Event input source 1 */
        CCL_INSEL2_IO_gc = (0x05<<0),  /* IO pin LUTn-IN2 input source */
        CCL_INSEL2_AC0_gc = (0x06<<0),  /* AC0 OUT input source */
        CCL_INSEL2_TCB0_gc = (0x07<<0),  /* TCB0 WO input source */
        CCL_INSEL2_TCA0_gc = (0x08<<0),  /* TCA0 WO2 input source */
        CCL_INSEL2_TCD0_gc = (0x09<<0),  /* TCD0 WOA input source */
        CCL_INSEL2_SPI0_gc = (0x0B<<0),  /* SPI0 MISO source */
    } CCL_INSEL2_t;

    Пишем:

     CCL.LUT0CTRLB    = CCL_INSEL0_SPI0_gc    // Выбор канала SPI SCK
                | CCL_INSEL1_SPI0_gc;    // Выбор канала SPI MOSI
    
        CCL.LUT0CTRLC    = CCL_INSEL2_TCA0_gc;    // Выбор канала W02 таймера TCA

    Ну и общие настройки, про которые уже писал:

    CCL.LUT0CTRLA    = 0 << CCL_CLKSRC_bp    // Блок CCL не тактируем
                | 1 << CCL_ENABLE_bp    // Разрешение работы LUT0
                | 1 << CCL_OUTEN_bp;    // Разрешение выхода LUT0
    
        CCL.CTRLA        = 1 << CCL_ENABLE_bp    // Разрешение работы CCL
                | 0 << CCL_RUNSTDBY_bp;    // В стендбае не работаем

    Теперь необходимо запрограммировать таблицу истинности. Для этого смотрим на диаграмму выше и отмечаем входные состояния, при которых на выходе "1". В остальных случаях "0". У меня получилось следующее:

     CCL.TRUTH0 = 0xA8;                // Таблица истинности

    Теперь запишем функцию трансляции байта на выход MOSI модуля SPI. Также не забываем, что нам необходимо останавливать таймер TCA0 по окончании пересылки байта и запускать его (со сбросом) в начале посылки, иначе он нам тут натикает совсем не то)))

    void SPI_out8bit(uint8_t data)
    {
         TCA0.SINGLE.CNT = 0;
    
         TCA0_Mode(start);
         SPI_WriteByte(data);
         TCA0_Mode(stop);
    }

    Всё, что нам осталось - это заслать байты в порядке очереди:

     SPI_out8bit(green[0]);
            SPI_out8bit(red[0]);
            SPI_out8bit(blue[0]);

    Где:

     uint8_t blue[1];
        uint8_t red[1];
        uint8_t green[1];

    Как видите - никакого ассемблера, куча времени для расчета эффектов. Если подключить буферы в SPI (а мы это обязательно сделаем), ну или высший пилотаж - работать на прерываниях, то формировать узоры можно параллельно с пересылкой байтов в линию Также ещё можно поработать и с внешними интерфейсами. Но это уже совсем другая история.

    ENJOY!

  4. Приветствую постояльцев форума паяльник.

    Проект акустических систем создаётся в кад-системе Компас 3Д.

    В самом начале я делал 3Д модели акустических систем и корпусов РЭА. Это оказалось неоправданно затратным по времени.

    Поскольку колонкостроение, само по себе, - довольно консервативная отрасль. То внешний вид достаточно показать на фотографии. А я уже накидаю его 2Д проекции и заказчик, соответственно, - имеет представление о внешнем виде будущих систем.

    TB_W8_1772_box.thumb.gif.41bc9832cd58e2ef6b5d162474b9a4a9.gif

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

    TBW8.thumb.jpg.b200e0e785796a905b96bdb04e44fd04.jpg

    В таком виде файл экспортируется в dxf формат и поступает на написание программы для чпу станка.

    Создаются траектории для разнообразного инструмента. Выборка четвертей, сверловка, фрезеровка уса 45 градусов. некоторые детали требуют обработки с двух сторон. Но в основном, все операции делаются на одной стороне деталей.

    2019-05-08_21-26-47.thumb.png.1b4a78c5f1b65c603800acc45273104c.png

     

    Видео по раскрою корпуса АС С. Бать.

    Обращайтесь в группу ВК

     

    Далее фото другого раскроя, отличного от заявленного выше.DSCF6142.thumb.JPG.6dfab4f76f3e782a91ac5bd6ad49c37d.JPG

  5. Добрый день.
    Путешествую по всемирной паутине, наткнулся на Реверс-Инженеринг Блока контроля факела ЛУЧ-1АМ, одного из первых вариантов, от пользователя @mvkarp, где он любезно поделился поделился схемой на данный девайс.
    Данное устройства меня заинтересовало тем, что оно универсальное, судя по документации, может работать как с помощью Электрода (Ионизация), так и с помощью Фотодатчика.
    Так-же построена схема на ОУ, что давала больше шансов на успех. Так-же на просторах сети нашел документацию от производителя на возможность проверки данного устройства  и его калибровка, что внушало еще больше надежды. За это производителю отдельный респект и уважение. В документации от производителя мне понравился вариант проверки прибора *на столе*, а именно, схемный вариант имитации Ионизации.

    Поэтому было принято решение разработать печатную плату под данную схему. Плату старался сделать не более 100*100 мм, чтобы можно было ее заказать в Китае, так-же я как раз у себя смог найти корпус под данные размеры платы. Плату рисовал под свои детали. По подключаемой колодке она практически не отличается от оригинала, у меня только 10 pin, а от завода 13 pin. Пришлось сократить, так как у меня только такой есть разъем, да и корпус рассчитан только на 10 pin. 

    К сожалению данный девайс, (ЛУЧ-1АМ) мне не попадался в руки и я его в живую не видел, сужу только по картинкам из сети. Картинок как все расположенно внутри блока я так и не смог найти в сети, могу только предполагать.
    Так-же, данное устройство я пока не собирал и не тестировал, так как не все детали есть, да и нужно собирать заказ плат в Китае. Нужно еще парочку нарисовать плат и можно делать заказ.

    Плата в 3D 
     

    Скрытый текст

    5cd130fd2d343_3D-1.thumb.gif.1e5ce00b890d90b7ec376d2cabaf3008.gif5cd130fed3689_-1(1).thumb.png.c5657dc50d456e6129047645693df7cb.png5cd13100050b8_-1(2).thumb.png.df046f6261317b761c002f3c8b25c4db.png5cd13100c9530_-1(3).thumb.png.440a1b3af2219b2bbfe5a7842a625811.png5cd1310187187_-1(4).thumb.png.10b216e0919bf441b5a01f97b1e9d8d7.png5cd1310231e68_-1(5).thumb.png.dc6bd0ae937b338359040fa69f8f00d8.png5cd13102dc486_-1(6).thumb.png.39b7452b4824cc84e118ada6e3b555b5.png

    Приложил все файлы, что я смог найти по просторам сети, оригинальная схема в PDF.  Документация в PDF. 
    Мои варианты схемы в *jpg 1000 dpi, DipTrace (печатная плата и схема), Gerber платы, Lay6.

    Печатная плата ЛУЧ-1АМ 2.JPG

    Печатная плата ЛУЧ-1АМ.jpg

    Схема ЛУЧ-1АМ Mars.jpg

    Gerber печатной платы ЛУЧ-1АМ.rar

    Руководство пользователя в PDF ЛУЧ-1АМ.rar

    Схема и Плата в DipTrace ЛУЧ-1АМ.rar

    Файлы от mvkarp ЛУЧ-1АМ.rar

    ЛУЧ-1АМ.lay6

  6. Позвонил мне как-то старый друг и попросил совета - чем ему запитать старую детскую железную дорогу PIKO.
    Посоветовать ему просто купить древний блок питания FZ-1 показалось мне скучным, и я решил набросать что-то функционально похожее с помощью модуля Arduino и подручных деталей.

    Задача свелась к  реверсивному ШИМ регулированию маленького электродвигателя от переменного резистора - для этой цели он представляется мне удобнее, чем энкодер.
    По резистору легко визуально и тактильно определить центральное положение “выключено”, и его положение очень просто считывать через АЦП.
    Я быстро набросал скетч со стандартным переводом аналогового сигнала в ШИМ для моста, собрал макет и начал испытания. Мне сразу не понравилось, как регулируется нагрузка - особенно в самом начале из-за моего аналогового датчика положения. Тогда я подумал - а сделаю я дискретное регулирование, даром что датчик аналоговый. Мне наверняка хватит десяти ступеней регулирования “вперёд” и столько же “назад”, а для чёткого перехода между ступенями я введу небольшой гистерезис. Написать лаконичный скетч получилось только после того, как я “разменял” логику на данные, забив нужные мне границы переходов между состояниями в массивы. Полезные функции вроде выставления резистора в центральное положение для начала работы и защита от короткого замыкания в нагрузке вписались в скетч также органично. Переходы между ступенями регулирования получились отличные, в нужный диапазон легко попасть движком переменного резистора.

    Схема очевидная - мост для двигателя, индикация и управляющий переменный резистор с линейной характеристикой. ШИМ подаётся только на нижние ключи моста Т5, Т6. Верхние ключи Т3, Т4 открываются в зависимости от нужного направления вращения. Светодиоды LED1, LED2 можно использовать для индикации направления вращения. Светодиод индикатора - комбинированный (красный + зелёный), он показывает режим работы схемы:

    зелёный моргает - инициализация, ожидание среднего положения регулятора.

    зелёный горит постоянно - нормальная работа

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

    При указанной величине R3 0.33 Ом порог срабатывания защиты около 0.6 А. Его можно уменьшить - транзисторы моста выдержат нагрузку до 2А, но тогда им понадобится теплоотвод.

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

    Arduino_PWM.GIF

    Рабочий скетч: PIKO_discrete.ino (можно смотреть обычным текстовым редактором)

    Видео работающего макета: 

    https://disk.yandex.ru/client/disk/Видео?idApp=client&display=normal&groupBy=none&order=1&sort=name&view=list&typeClustering=geo&action=null&idAlbum=undefined&dialog=slider&idDialog=%2Fdisk%2FВидео%2F00138.mp4

  7. TO-3P(L).thumb.JPG.26cbaa9b779ee9ee04d2228a7f265c04.JPG

    3D-модели корпуса TO-3P(L) / 2-21F1A фирмы Toshiba. Выполнены в двух вариантах - с прямыми и гнутыми выводами для монтажа под платой. 

    2.png.5cd40eeb6a594fd5e10c3a2821188a6f.png   1.png.6916d0430d83a6eff418f7e8526dfaf1.png

    Именование моделей:

    • TO-3P(L)_F1100B2600 - расстояние F от платы до фланца транзистора 11 мм (т.е. рассчитано под стойку 11 мм), расстояние B от отверстия крепления до места сгиба выводов 26 мм.
    • TO-3P(L)_H2800 - расстояние H от отверстия крепления до платы 28 мм.

    Для гнутых моделей размер F варьируется от 8 до 14 мм с шагом 1 мм, размер B - от 26 до 32 мм с шагом 0,5 мм (насколько хватает по длине выводов). Для прямых моделей размер H варьируется от 25 до 37 мм с шагом 1 мм.

    Всего 62 модели

    Скачать

  8. Трансивер nRF24l01+
    Что нужно для энергоэффективно работы с данным трансивером? Прочитать даташит. Если с первого раза не всё понятно, то можно поискать в интернете его перевод. Для уточнения нюансов опять смотрим даташит и только его. Далее. Необходимо скачать заголовочный файлик с адресами регистров. Подобный легко ищется на том же гитхабе.
    Вопросы, которые возникают естественным образом при первом знакомстве с данным транисивером:
    1. Как с ним общаться? У трансивера только один интерфейс - SPI. Максимальная частота тактирования - 10 МГц. Прежде, чем начать общение, необходимо ногу CSN трансивера прижать к земле. Здесь надо четко для себя уяснить один момент - по SPI трансивер общается всегда, когда подано на него питание. Первым же байтом трансивер всегда отдаёт значение регистра статуса.
    2. На какую частоту программировать? Т.к. антенны для этого трансивера используются вай-файные, то и спектр их настройки также вайфайный с не выроженным максимумом примерно посередине (где-то 45 канал). Но т.к. каналы вай-фай в любой точке пространства может быть абсолютно любым, то я для себя принял решение, что буду использовать 83 канал. Этот же канал как раз находится на границе разрешенных для бесплатного (гражданского) использования.
    3. Какие адреса труб задавать? Здесь обращаемся к даташиту. Он нам говорит, что адрес для pipe необходимо задавать так, чтобы трансивер не спутал его с преамбулой (преамбула в данном трансивере в виде меандра), но также не спутал с шумами. По умолчанию, в одном из регистров трансивера записан адрес С2С2С2С2xx. Его я и буду использовать.

    Весь даташит я пересказывать не буду - нет такой задачи. Покажу самые сливки.
    Открываем даташит и видим картинку с режимами работы трансивера:

    nrf.thumb.png.694758a5226aeb60411ced5c80c70860.png

    Нас интересует исключительно передача. Смотрим на картинку и видим - подаем на трансивер напряжение питания и ждем 100 мс. В этот период времени с трансивером все так же можно общаться по SPI, но общение будет не продуктивным - трансивер ничего записывать не будет. Готов ли трансивер к работе или нет, проверяется просто - записываем в любой регистр любое не дефолтное значение и затем этот же регистр читаем - если считали то, что записали, значит трансивер вышел на режим. Если нет - ждем ещё. Если всё хорошо, то трансивер переходит в режим Power Down - режим, в котором выключено абсолютно всё, кроме SPI. Для перевода трансивера в один из режимов (в нашем случае это передатчик), его необходимо включить. После того, как мы его включили и до, собственно, начала передачи (для этого пин CE необходимо поднять как минимум на 10 vrc)? необходимо выдержать паузу 1.5 мс для запуска осциллятора. В этот период времени трансивер также можно конфигурировать, в том числе и радиочасть, загружать данные, читать из него.

    Итак, пишем код.
    Мы для себя четко уясним наше ТЗ - с трансивером общаемся как можно реже, пакет пересылаем без запроса подтверждения. Для градусника это не актуально. Не приняли пакет сейчас, примем в следующий раз. Температура окружающего воздуха всё равно так быстро не меняется. А если и меняются, то ничто не мешает это заложить в алгоритм и уменьшить интервал общения - все ж в наших руках!
    Сейчас вы удивитесь, как необходимо мало кода для конфигурирования этого трансивера в качестве передатчика:

      uint8_t Buf[5];
    
        //.. CONFIG
        Buf[0] =    (1<<nRF_MASK_RX_DR) | (0<<nRF_MASK_TX_DS) | (1<<nRF_MASK_MAX_RT) |    // маски прерываний от событий
            (0<<nRF_PRIM_RX) |                                              // Режим передатчика
            (1<<nRF_EN_CRC) | (0<<nRF_CRCO) |                // Проверка CRC разрешена, 1 байт CRC
            (1<<nRF_PWR_UP);                                               // Запускаем трансивер
        SPI_WriteArray(nRF_WR_REG(nRF_CONFIG), 1, Buf);                // Отправляем команду. Пин CSN удерживается внутри функции
    
        Buf[0] = channel;                                                                        // Установка частоты канала передачи
        SPI_WriteArray(nRF_WR_REG(nRF_RF_CH), 1, Buf);            // см. Settings.h
    
        //.. RF_SETUP  Настройки радиоканала
        Buf[0] = (0<<nRF_RF_DR) | ((0x03)<<nRF_RF_PWR0);            // Скорость передачи 1 Mbps, мощность: 0dbm
        SPI_WriteArray(nRF_WR_REG(nRF_RF_SETUP), 1, Buf);
    
        //.. FEATURE  Опции
        Buf[0] = (1<<nRF_EN_DYN_ACK);                                                // Разрешаем отправку пакетов
        SPI_WriteArray(nRF_WR_REG(nRF_FEATURE), 1, Buf);            // не требующих подтверждения
    
        //.. TX_ADDR  Адрес канала удаленного приемника
        Buf[0] = 0xC2;                              
        Buf[1] = 0xC2;
        Buf[2] = 0xC2;
        Buf[3] = 0xC2;
        Buf[4] = 0xC2;
        SPI_WriteArray(nRF_WR_REG(nRF_TX_ADDR), 5, Buf);    // Адрес канала для передачи

    Первым делом включаем трансивер. Затем пишем канал передачи, скорость и мощность. Далее обязательная опция - разрешить отправку пакетов с данными, но без запроса автоподтверждения (флаг ACK в пакете). Далее формируем адрес удаленного pipe, на который будут отправляться наши данные. Всё! Наша ракета проверена, заправлена и объявлена подготовка к старту, чтобы из космоса транслировать байты в космос ( ээээ 0_o )! Значения всех остальных регистров на режим передачи не влияют никак и их значения нам фиолетово. А раз так, то и не будем тратить драгоценные такты на их запись!

    Формат сообщения
    Перед каждым, кто хочет собрать себе систему глупой хаты (дачи, усадьбы, гаража и проч.), непременно встает вопрос - как все устройства, входящие в такую систему, будут между собой общаться? В случае каких-то решений-полуфабрикатов вопрос стоит не так остро - разработчик предоставляет шаблон или вовсе готовый формат. В моем случае два решения - все сообщения свести к единому стандарту без оглядки на датчик и исполнительное устройство, либо же у каждого датчика будет своя посылка. В первом случае пакет сообщения будет выглядеть примерно так: {Адрес, команда/параметр, значение параметра}. Для выключателей, диммеров, термостатов, датчиков с одним каналом такое сообщение в самый раз. У нас же несколько каналов, которые содержат также дополнительную информацию. Для беспроводного общения чем короче пакет, тем больше вероятность его доставки. Но в таком случае общий объем передаваемой информации возрастает в связи с необходимостью каждый раз передавать адрес получателя, а также идентификатор передаваемого значения. Я же остановился на втором варианте - передавать всю информацию в одном пакете. Пакет выглядит так:

    Структура пакета:
        0 - адрес, старший байт
        1 - адрес, младший байт
        2 - тип
        3 - температура, старший байт
        4 - температура, младший байт
        5 - влажность
        6 - напряжение питания
        7 - доп. сообщение (ошибка)   
        |__
            0 бит    бит PORF - загрузка по сбросу питания
            1 бит    бит EXTRF - перезагрузка по ресету
            2 бит    бит BORF - перезагрузка по детектору питания
            3 бит    бит WDRF - перезагрузка по вачдогу
            4 бит
            5 бит    ошибка измерения Т
            6 бит    ошибка измерения RH
            7 бит    ошибка записи в регистр статуса   

    Итого всего 8 байт. Под адрес отведено 2 байта (ну а вдруг?), под тип датчика всего 1 байт. На приемной стороне необходимо применить тот алгоритм парсинга сообщения, тип которого указан в пакете.

  9.    В статье описание возможностей режима работы УМЗЧ AB-plus опиралось на результаты имитационного моделирования.   Для экспериментального подтверждения эффективности усилителя MOSFET класса АВ-plus, проведен сравнительный тест работы усилителя при обычном AB включении и в режиме работы AB-plus. Для теста использованы WiFi версия модуля, эквивалент нагрузки в режиме 8Ohm, осциллограф Rigol DS1054Z и термометр Fluke 59MAX. Точность измерения определена параметрами приборов.

    MosfetHoltonTestAB-plus.jpgLoadEquivalent4-8-16Ohm.jpgA350v3_2DG_tower960.jpg

       Тестовый сигнал: тональная посылка 30Hz длительностью 200ms и периодом 500ms (Tone Burst), близок к типичной работе сабвуфера. Сигнал подан на LFE вход модуля, фазовращатель незначительно влияет на форму сигнала.
    В процессе измерений контролировались, напряжение цепей (+65V), (+56V), (-56V), (Out),  температура модуля и эквивалента нагрузки. К одному из цепи резисторов в эквиваленте нагрузки через конденсатор 2.2uF подключена широкополосная АС для контроля входа усилителя в режим ограничения амплитуды.

    Тест эффективности усилителя MOSFET класса АВ, дополнительное питание не подключено

    abStdFree.png

       Входного сигнала нет, подключено только силовое питание и нагрузка.
    Напряжения цепей:  
    (+65V) = 51.3V (54.3V-51,3V=3.0V соответствует модели R20(2,35V) + D2(0,74V))
    (+56V) = 54.3V
    (-56V) = -55.1V ( Vpp=800mV пульсации напряжения питания)
    (Out) =  0V (измеренное мультиметром смещение на выходе усилителя +10mV, Vpp=800mV?)

    abStdNominal.png

       Входной сигнал соответствует номинальной мощности, ограничения нет.
    Напряжения цепей:  
    (+65V) = 49.0V
    (+56V) = 52.2V
    (-56V) = -53.3V ( Vpp=6,4V просадка напряжения питания)
    (Out, Vpp) =  81.6V (от пика до пика)
    Ppeak=(81.6/2)^2/8=208W

    abStdClipping.png

       Входной сигнал соответствует максимальной мощности, признаки ограничения есть.
    Напряжения цепей:  
    (+65V) = 48.6V
    (+56V) = 52.1V
    (-56V) = -52.9V ( Vpp=7,2V просадка напряжения питания)
    (Out, Vpp) =  89.6V (от пика до пика)
    Ppeak=(89.6/2)^2/8=251W

    abStdClippingEnlarged.png

       Входной сигнал соответствует максимальной мощности, признаки ограничения есть.
    Укрупнённый фрагмент четвёртой волны пачки.
    Напряжения цепей:  
    (+56V AY) = 49.5V
    (Out, BY) =  41.6V (выходное напряжение ниже питания на 7.9V)
    Ppeak=(41.6)^2/8=216W (амплитуды 4 и 5 волн пачки уже практически равны)

    Тест эффективности усилителя MOSFET класса АВ-plus, подключено дополнительное питание +-65V

      abPlusFree.png

    Входного сигнала нет, подключено силовое и дополнительное питание. Усилитель работает в режиме AB-plus.
    Напряжения цепей:  
    (+65V) = 61.7V
    (+56V) = 54.1V
    (-56V) = -55.7V ( Vpp=800mV пульсации напряжения питания)
    (Out) =  0V (измеренное мультиметром смещение на выходе усилителя +10mV, Vpp=1.6V?)

    abPlusNominal.png

       Входной сигнал соответствует номинальной мощности, ограничения нет.
    AB-plus. Напряжения цепей:  
    (+65V) = 58.9V
    (+56V) = 51.6V
    (-56V) = -52.8V ( Vpp=6,4V просадка напряжения питания)
    (Out, Vpp) =  92.8V (от пика до пика)
    Ppeak=(92.8/2)^2/8=269W (+29.4% к режиму AB)

    abPlusClipping.png

       Входной сигнал соответствует максимальной мощности, признаки ограничения есть.
    AB-plus. Напряжения цепей:  
    (+65V) = 58.2V
    (+56V) = 50.9V
    (-56V) = -52.4V ( Vpp=7,2V просадка напряжения питания)
    (Out, Vpp) =  102.0V (от пика до пика)
    Ppeak=(102/2)^2/8=325W (+29.5% к режиму AB)

    abPlusClippingEnlarged.png

       Входной сигнал соответствует максимальной мощности, признаки ограничения есть.
    AB-plus. Укрупнённый фрагмент четвёртой волны пачки.
    Напряжения цепей:  
    (+56V AY) = 49.3V
    (Out, BY) =  48.6V (выходное напряжение ниже питания на 0.7V)
    Ppeak=(48.6)^2/8=295W (+36,7%, но на осциллограмме амплитуды 1 и 2 волн сравнивать с режимом AB некорректно)

       Проведённый тест показывает возможности УМЗЧ MOSFET в режиме AB-plus. В этом режиме полностью реализуется низкое падение напряжение сток-исток открытого MOSFET транзистора. Температура усилителя не превышала 54 градуса, эквивалент нагрузки нагревался до 71 градуса.  Источник питания модуля тороидальный трансформатор 200W, две силовые обмотки ~40.5V(2.5A), обмотка 8V(800ma) для питания модуля ESP32, для реализации режима AB-plus понадобились две обмотки трансформатора по ~6.5V(100ma), два маломощных моста и два конденсатора 1000uF*10V. Основные конденсаторы фильтра по два на плечо 10000uF*63V, всего 4 штуки. Напряжение силовых обмоток можно поднять до ~42V.
       Рост эффективности практически на 30% при равной энергетике блока питания - это отличный результат.

    Появились вопросы, заметили ошибки, пишите,  постараюсь ответить и исправить.

  10. Есть ли жизнь на Марсе, нет ли её там - науке это не известно. Наука пока не в курсе дела.

    Есть ли жизнь в экосистеме AVR? Или эти мамонты уже вымерли, уступив более теплокровным ARM? 

    По-моему, для неленивого энтузиаста экосистема AVR предоставляет еще множество возможностей. Не смотря на 8 бит и достаточно скромные характеристики, жизнь там не только существует, но и довольно эффектно развивается.

    На видео - небольшая (как кредитка) игрушечка, реализованная на attiny85... Напомню: всего 6 ног, 8К flash и 512 байт RAM. Вот так-то...

  11. Наткнулся на схемку в сети AVR JTAG ICE и решил её повторить. Дабы не тратить время на изготовление печатной платы решил предварительно собрать сей девайс "на соплях", вернее на беспаечной плате.

    IMG_20190215_160510.thumb.jpg.d5d0c92ee5d94dee935a56b814cfd90a.jpg

    Вот так у меня это всё получилось. Залил прошивку из статьи собрал схему с процом который будет целевым, соединил всё с COM портом и начал пытаться запустить всё из под CVAVR. Не заработало. Тогда попробовал из под Atmel Studio 4 и у меня всё получилось.

    Следующим этапом решил попробовать будет ли это всё работать через USB. И оказалось, что да, работает вполне хорошо.

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

    Можно резюмировать, что схема по ссылке вполне пригодная, но использование её ограничено софтом. Для не слишком требовательных юзеров вполне годится.

    Буду рад любым комментариям, если что-то непонятно, спрашивайте, отвечу на ваши вопросы.

    Все материалы из вышеуказанной статьи выкладываю здесь, если кто захочет повторить, пожалуйста.   mc85_AVR-JTAG-ICE.zip

     

  12. Ну вот, наконец-то осуществил давнюю мечту - переделал свой первый компьютерный БП ATX (Codegen 300W P4) в регулируемый по общеизвестной схеме "итальянца". А поскольку эта тема, причем с точно таким же БП, на форуме поднималась не раз, решил поделиться своим вариантом переделки с прилагающейся схемой. Авось кому пригодится.

    000.jpg.04c00268d413ca3f9ab81626a30e7274.jpg

     

    5c375fc165d74_.thumb.png.4fc65b0afbe7c897525550ee141c771e.png

     

    В сети полно информации по переделке БП по данной схеме, поэтому в подробности вдаваться не буду. После переделки, то есть выпаивания всего лишнего и добавления элементов, отмеченных на схеме красным цветом, блок заработал сразу. Минимальное выходное напряжение вышло 1В, максимальное ограничил на уровне 21В. Минимальный ток ограничения - 0,1А, максимальный - 11А. Сторонние шумы при регулировании по максимуму убрал подбором конденсаторов, отмеченных на схеме * "звездочкой". Стабилизация по току работает тихо, по напряжению все равно остался небольшой писк, зависящий от нагрузки. Силовые диоды выбирал именно такие по личным соображениям. Можна ставить ультрафасты или Шоттки. В случае Шоттки минимальное выходное напряжение будет на порядок выше. Можна собрать полный мост, тогда выходное напряжение увеличится в 2 раза. Шунт собрал из двух запараллеленных керамических резисторов 0,1 Ом, 5Вт. В разрыв цепи "масса - корпус" установил защитный резистор 510 Ом, 2Вт, чтоб с одной стороны сохранить экран и в то же время предотвратить возможные случайные КЗ на оголенный корпус.

    Учитывая конструктивную особенность китайского ампервольтметра - спаренные выводы "I-" и "GND", что исключает возможность подключения последнего к общей массе, пришлось для цепи питания делать гальваническую развязку с помощью трансформатора Т4, подключенного к выводу 5В трансформатора дежурки Т3. Трансформатор сделал из дросселя нерабочей "экономки", намотав первичную обмотку L1 - 25 вит. проводом ПЭВ-2, 0,45 мм, вторичную L2 - 85 вит. проводом ПЭВ-2, 0,25 мм. Ампервольтметр потребляет мизер, поэтому марки и диаметры обмоточных проводов не критичны. Напряжение питания вышло 16В. Вместо предоставленной схемы питания ампервольтметра можно установить отдельный БП. Кулер запитал от вывода питания ШИМ дежурки через ограничительный резистор, который нужно подобрать.

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

     

    001.thumb.JPG.eb833b010d4aebc43c384349d9fdb0dc.JPG

     

    002.thumb.JPG.42f0dd05c310ddb612e0880a1699cc87.JPG

     

    003.thumb.JPG.9cf2c28f0b75c4a2bd413fa0838e91ac.JPG

     

    004.thumb.JPG.3b37c5b58e3698b77dfd36d704e75fca.JPG

     

    005.thumb.JPG.c5fa848f3eb291424d1e3f139bcfa484.JPG

     

    006.thumb.JPG.142f556256d92f9ff780b95f323ddc5d.JPG

     

    007.thumb.JPG.8407a5fb1a9c310b411fc02a030c7617.JPG

     

    008.thumb.JPG.1a85873f77ccccf3213a63a6ce802e3b.JPG

     

    Дебютный БП собирал на скорую руку, в большей степени как учебное пособие, поэтому на приз зрительских симпатий не претендую, а эстетов, педантов и перфекционистов прошу вести себя скромно и сдержанно )))))

    Успехов всем в жизни и творчестве.

     

  13. На днях на форуме возникла дискуссия об автомобильных стоп-сигналах,

    а на следующий  день мне в руки попали подзеркальные поворотники от Mersedes 220s.

    5b09d48a5e144_.thumb.JPG.a1dba720c84dce43aebcf248121515a7.JPG
     

    Поворотники идут как дополнительные, поэтому минимальная сила света у них вряд ли нормируется.

    Если взглянуть на правильные пираньи, которые устанавливаются в автомобилях,

    5b09d5427aafb_2.thumb.JPG.7f327cc7935e6c4e3a6cbd151aafbb77.JPG

    то можно увидеть, что они имеет мощные выводы, почти по два миллиметра шириной каждый, приваренные (приклёпанные) к довольно неплохому радиатору,

     

    5b09d536595f4_2.thumb.JPG.cd842743e2e1f108c09a900490f14589.JPG

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

    В светодиодах пиранья устанавливается трёхкристальный светодиод, охлаждение идёт через выводы, поэтому максимально допустимый  ток у них от 60 мА. и до …., в зависимости от того, какого размера кристаллы установил в него производитель, какое исполнение и какая система охлаждения выбрана.

    Как только я взял в руки эти поворотники, меня удивило, что количество светодиодов  у них нечётное. Соединение у них следующее,  три параллельных пары идут последовательно  и к ним ещё последовательно один светодиод всё это включено через диод и два резистора по 47 Ом, включённых параллельно. При 12 Вольтах, конструкция потребляет 90 мА, а при 14,2 В. все 150 мА. Благо отдельно стоящие светодиоды оказались живыми, потому как купленный мною фуфелочек на 150 мА. проработал бы очень не долго. Радиатор на отдельно стоящих, кстати, греется довольно ощутимо.  Чтобы по максиму использовать существующую систему охлаждения, мне пришлось раздробить сгоревшие светодиоды, оставив широкие выводы от них. У купленных светодиодов плоскость выводов оказалась не в ту сторону, а выступы на ножках мешали, поэтому пришлось всё подпиливать, подрезать и подтачивать.  При установке с родными выводами совпали только две ноги, третью пришлось подпаивать шинкой, а четвёртую напрямую к радиатору.

    5b09d53c82d63_.thumb.jpg.da82af9f74edba78f31e528ada8492bd.jpg

    В итоге процесс замены пяти светодиодов  занял на много больше времени, чем я рассчитывал первоначально. На глаз разницы в свечении практически не заметно. Учитывая, что поворотники работают в кратковременном режиме, думаю, ещё послужат. Разъеденные дорожки где залудил, где соединил проводами, покрыв всё это электроизоляционным лаком КО-916 в два слоя.

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

  14. Немного предыстории.

    Многие любят красивые «светилки». И мы не исключение :rolleyes: 

    В основном мы занимаемся аудиоустройствами. Но уже давно нас не оставляет идея создания какой-нибудь визуализации звукового сигнала. И первое с чего мы решили начать – это индикаторы уровня
    Сначала мы планировали делать систему на обычных RGB светодиодах. Даже было несколько прототипов. Очень мешало то, что каждым RGB светодиодом приходилось управлять отдельно. Это требовало большого количества сигнальных линий, со всеми вытекающими последствиями. В целом такое решение получалось не гибким и не универсальным. Нам это очень не нравилось и сильно тормозило продвижение проекта. 

    Но некоторое время назад мы обратили внимание на ленту с «умными» светодиодами WS2812B. Основная ее прелесть как раз и состоит в том, что управлять всей лентой можно одним цифровым сигналом. При этом каждый светодиод может светиться разным цветом. 

    Это дало новый толчок нашему проекту. И, забегая вперед, хочу показать один из рабочих прототипов: 

     

    onM.gif
     

    Про корпус.

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

    А еще очень важно красиво оформить это изделие. Ведь в первую очередь индикаторы уровня - это декоративный элемент. Как раз о разработке и изготовлении корпуса мы и хотим рассказать сегодня. 

    Варианты корпусов индикаторов уровня.

    Первоначально мы планировали сделать очень простой корпус из какого-нибудь прозрачного материала. Но, по мере проектирования, количество деталей увеличивалось, а конструкция становилась все сложнее. 
    Вот варианты корпусов для светодиодных индикаторов, с которых все начиналось:  

    5ae40165a13e9_--1.thumb.png.30e4cdd978306424c0bcb31a42fa0661.png5ae401666abe8_--2.thumb.png.7401f60dd29b45647e03d3f2b5d45043.png5ae40167163b5_--3.thumb.png.8aca6d38df85a271fcc4f111530a2f35.png

    *- для лучшей наглядности на картинках детали «подкрашены» желтым цветом. По задумке они должны быть прозрачные.

    Выбор материала.

    В качестве прозрачного материала мы рассматривали монолитный поликарбонат или акрил. Об особенностях этих материалов мы уже как-то рассказывали в записи: «Что полезно знать при работе с оргстеклом и поликарбонатом…».

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

    Изготовление прототипов. 

    Казалось все очень просто: сделать чертеж, заказать резку лазером деталей из акрила и собрать корпус. Но жизнь штука интересная и без приключений нас не оставила B)

    Первые два прототипа мы заказали у нашего знакомого Александра. Детали корпуса были изготовлены из литого акрила просто потому, что он был в наличии. 

    В целом конструкция собралась. Но очень настораживала информация о том, что литой акрил может сильно меняться по толщине даже в пределах одного листа. Для нас это было важно, т.к. конструкция предполагает установку деталей одна в другую:  

     

    5ae404fac1717_.png.7aa0df756f15b890aed3a4b5afb22ce4.png

     

    При сильном «гулянии» толщины акрила есть большой риск, что детали нормально совместить не получится. На первых двух прототипах все собралось только потому, что Александр вручную подбирал толщину акрила для некоторых деталей. Но если делать даже небольшую партию подобных корпусов, то могут возникнуть серьезные проблемы.

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

     

    5ae4055355ec7_-.thumb.jpg.f91785b098ace061295068ed1862989c.jpg

     

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

    Вдобавок, резчики не совсем корректно задали режимы для лазера. Некоторые детали повело и они получились кривыми B)

     

    5ae40554440ed_.thumb.jpg.bb4df014515093e35608a1458869ea02.jpg 


    Но кривизна - это не так страшно. Режимы резки всегда можно подкорректировать. А вот с хрупкостью материала трудно что-то сделать.

    Был еще один момент. Изначально фиксация нижних стоек к основанию планировалась за счет стягивания винтом, как на картинке ниже:

     

    5ae4016871807_-.thumb.gif.020fb1d1682b9183de036411014cedd8.gif

     

    С экструзионным акрилом на этом решении можно было смело ставить крест. Даже при небольшой нагрузке детали трескались. 

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

    Итог

    В результате мы оказались на распутье:

    •    литой акрил нам понравился за его прочность, но разнотолщинность в пределах листа очень портит всю технологию изготовления корпуса
    •    у экструзионного акрила точно выдерживается толщина листа, но хрупкость ставит под  сомнение его применение

    Как поступить? Пока мы полностью не определились с решением. Но несколько задумок есть. 

    Сейчас заказан четвертый прототип корпуса для индикаторов уровня. Надеемся, что картина станет яснее после его получения. Ну или появятся новые вопросы ;).

     

     

    В заключении кратко приведем сравнительную информацию о литом и экструзионном акриле. Будем рады, если она окажется полезной.

    Отклонения от номинальной толщины листа:
    - литой акрил до 30% 
    - экструзионный акрил до 5%

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

    Химическая стойкость
    Литой акрил обладает большей устойчивостью к кислотам и щелочам по сравнению с экструзионным. Поэтому в водной среде или на открытом воздухе чаще рекомендуют использовать именно литой акрил. 

    Образование механических напряжений после резки лазером
    После резки лазером рекомендуется проводить отжиг акрила: нагрев деталей до определенной температуры, выдержка при этой температуре несколько часов и медленное остывание. 
    Если не проводить эту процедуру, то детали становятся более хрупкими, а использование клеев на основе растворителей может привести к образованию трещин. Для экструзионного акрила это особенно актуально.

    Стоимость и распространенность
    Сейчас наиболее распространен экструзионный акрил. Его цена обычно несколько ниже, чем у литого.

    Распространенные марки акрила:
    Экструзионный: ACRYMA, Novattro,  Plexiglas XT
    Литой: ТОСП, Plexiglas GS

     

    Хорошего Вам дня  .
    С уважением, Денис В.
    АЛ "Философия Звука"
     

    P.S. К статье прикреплены файлы с рекомендациями по работе с акрилом (Plexiglass и Novattro) от производителей. 

    novattro_rekomendatsii-po-ekspluatatsii-.pdf

    Plexiglass.pdf

  15. зарядное устройство для гаража по принципу понижающего импульсного преобразователя  с током до 15 А, но пришлось ограничить, так как, показометр расчитан на 10А.

    сегодня только руки дошли сочленить всё воедино. также стоИт защита от переполюсовки, при подключении акб "кверху задницей" на передней панели загорается ядовито-синий светодиод, также выведена принудительная кнопка включения реле, для "в усмерть"  усаженых акб. Корпус с трансформатором от какой-то пром автоматики финского производства                         p.s. также в сверлилке добавлены фотоIMG_20180318_201614.thumb.jpg.799f344196ac9e3a5075674d29c3c63b.jpg

    IMG_20180318_201600.jpg

    IMG_20180318_193716.jpg

    IMG_20180318_174152.jpg

    IMG_20180318_174140.jpg

    IMG_20180318_160516.jpg

    IMG_20180318_193748.jpg

    IMG_20180318_160510.jpg

    Рег ОС1.lay.lay6

    плата 3.0.lay6

  16. Чето вчера зашел в тему про фоторезист, почитал там, пописал и подумал - а почему у меня до сих пор эта тема никак не оформлена? Что мешает сотворить нормальную камеру для засветки, чтобы постоянно не носиться с лампочкой на проводке?

    Делов то...

    Нарыл в закромах реле времени ВЛ-59. Оно правда на 110 вольт и всего на 99 секунд, что явно маловато. Проблему 110 вольт легко устранить, включив последовательно пленочный конденсатор на 0,47 мкФ, а вот с секундами все сложнее. Надо разобрать релюшку и заменить конденсатор в задающей RC цепи. Понятно что он должен быть в 10 раз больше чем штатный. Ну и там чуть покалибровать это дело, благо на плате есть переменный резистор, для этого заточенный. Если все правильно сделать, должно получиться 999 секунд. Удобно

    Ну и все, дело почти сделано. Берем фанерку, пару мебельных петель и собираем гробик.

    IMG_20180224_192706.thumb.jpg.430fafa80a3104d1177645e72690e3aa.jpg

    IMG_20180224_192725.thumb.jpg.92f82c7ad2b37b7e0e5d2af9d9b4fc8e.jpg

    столик выдвижной. Удобно его вытащить, на нем весь бутерброд выставить, стеклышком прижать и уже под лампу задвинуть. Внутри я это дело маханул черной матовой краской, чтобы по максимуму убрать всю отраженку и сделать засветку более предсказуемой. Лампу поднял повыше. Ну в разумных пределах. Так лучи от нее будут падать под углом ближе к прямому и можно будет избежать искажений от угла падения и преломления. Да, время засветки будет чуть побольше. Но в сущности какая разница? Будет это 3 минуты или 5? Мне все равно, у меня ж не завод.

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

  17. Думаю подойдет к моей рубрике и эта заметка: да, народный блок питания это Чифтек, если кто знает почему "народный" то подскажите.  А вот позорный блок питания  Повер Люкс 350Вт, собственно за 6 лет службы(когда сломался) на него не жаловался и менять не собирался но скажи о нем  на форуме и засмеют " выбрось от греха по дальше, в нем даже нет чего взять на запчасти"  И я выбросил в столик, купил как посоветовали Чифтек 400Вт, жил 4 года, а вот и сломался о нем и тема .  И вот вернулся со стола этот самый не родимый  Повер Люкс,  был подремонтированный но знакомы с законами электродинамики: если устройство долго валялось после долгой работы то вряд ли запустится, так и есть, пришлось прогреть, но через сутки опять винчестер заедает, почему-то именно винчестеру он не нравится.  Если подумать то  за это время у меня прибавилось две планки памяти,  из одного на два ядра процессор(2.3 Ггц), два кулера, и другая видеокарта до 20 Вт.  Берем калькулятор оказывается мне  нужно 270Вт(так понимаю полноценной мощности), а в запасе ведь 80 Вт.  То есть и сегодня его должно  быть достаточно.  Критика на него, что китайская дешевка и как бы мощность  не отвечает КПД.  Так что  я  обезумел, взявшись ремонтировать вместо признать, что он исчерпан для данного системника.  И так первый ремонт обнаружил вздутый конденсатор, его замена  стабилизировала работу винчестера.  Но беда, впервые остановился один кулер(выдувной), купил новый но с подсветкою, смотрю у него чууууть  выше ток потребления за волновался и правда винчестер снова начал тормозить. Есть ли смысл открывать для ремонта?  Дело в том, что данный БП так сделан, что его качественные характеристики сокрыты в индуктивно/емкостных параметрах, думаю заявленная мощность скрыта именно в этом.  И так меняем выходные фильтры компенсации, поменял только на 12В и 5В.  Блин законы электродинамики  сработали, подскочили выходные напряжения, а винчестер снова стабилизировался .  Секрет в том, что  ресурс этих элементов может быть как 1000 часов так и 3000 не факт, что 5000 или 10 000, вот и теряет плавно свой КПД.  Кстати, что дал осмотр: у Повер Люкс, пайка качественная, у Чифтек не только скудная пайка, а много микротрещин, что означает на долго его не делали.  Хочется таки полностью обновить емкостные характеристики этого Повер Люкс но пока нету хороших электролитов, пускай будет резервный БП, а Чифтек вот  лежит  на изучении, изучаю не только электродинамику а как устроен компьютерный блок питания, как  ремонтировать или диагностировать.... 

     

  18. Итак, у вас есть паяльник, ваш стол завален электронными компонентами, вы всегда в поисках самого лучшего в мире усилителя, вы умеете рассчитывать каскады с общей базой и даже моргать светодиодом при помощи МК PIC. Внезапно или не очень, вы решаете работать в ОС Debian. Я хотел бы рассказать, чем можно заменить любимый софт для Windows, как его установить и решить возникающие в процессе установки проблемы. Будем считать, что ваш дистрибутив - это Debian 9 «Stretch» 64 (скорее всего все описанное подойдет и для *buntu, Kali)

    Перед установкой программ из репозиториев (командой apt-get install) обновите списки репозиториев командой sudo apt-get update!

    Подобрал следующий список:

    • 1. Черчение принципиальных схем и проектирование печатных плат — KiCad
    • 2. Эмулирование схем — Qucs
    • 3. Генератор сигналов с звуковой карты — Audacity
    • 5. Среда для разработки под PIC — MPLAB X (IDE)
    • продолжение следует

     

    1. KiCad — в представлении давно не нуждается.

    Описание:

    http://cxem.net/software/kicad.php

    Установка:

    Для установки этой штуки, нам необходимо просто ввести в терминале:

    sudo apt-get install kicad и подтвердить установку. Проблем с зависимостями быть не должно.

    Начало  установки:

    Скрытый текст

    cxemnet@debian:~$ sudo apt-get install kicad

    Чтение списков пакетов… Готово

    Построение дерева зависимостей

    Чтение информации о состоянии… Готово

    Будут установлены следующие дополнительные пакеты:

    kicad-common libboost-atomic1.62.0 libboost-chrono1.62.0

    libboost-context1.62.0 libboost-locale1.62.0 libboost-program-options1.62.0

    libboost-regex1.62.0 libwxbase3.0-0v5 libwxgtk3.0-0v5 python-wxgtk3.0

    python-wxversion xsltproc

    Предлагаемые пакеты:

    extra-xdg-menus kicad-doc-ca | kicad-doc-de | kicad-doc-en | kicad-doc-es

    | kicad-doc-fr | kicad-doc-it | kicad-doc-ja | kicad-doc-nl | kicad-doc-pl

    | kicad-doc-ru wx3.0-doc

    НОВЫЕ пакеты, которые будут установлены:

    kicad kicad-common libboost-atomic1.62.0 libboost-chrono1.62.0

    libboost-context1.62.0 libboost-locale1.62.0 libboost-program-options1.62.0

    libboost-regex1.62.0 libwxbase3.0-0v5 libwxgtk3.0-0v5 python-wxgtk3.0

    python-wxversion xsltproc

    обновлено 0, установлено 13 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.

    Необходимо скачать 72,6 MБ архивов.

    После данной операции, объём занятого дискового пространства возрастёт на 690 MB.

    Хотите продолжить? [Д/н]

     

    2. Qucs — Quite Universal Circuit Simulator - достаточно известный аналог Proteus.

    Описание:

    http://cxem.net/software/qucs.php

    Установка:

    Скачиваем .deb пакет с официальной странички проекта на ланчпэде:

    wget https://launchpad.net/~qucs/+archive/ubuntu/qucs/+build/6316232/+files/qucs_0.0.18-2_amd64.deb

    Установим пакет стандартными средствами:

    cxemnet@debian:~$ sudo dpkg --install qucs_0.0.18-2_amd64.deb

    Начало  установки:
     

    Скрытый текст

    Выбор ранее не выбранного пакета qucs.

    (Чтение базы данных … на данный момент установлено 178176 файлов и каталогов.)

    Подготовка к распаковке qucs_0.0.18-2_amd64.deb …

    Распаковывается qucs (0.0.18-2) …

    dpkg: зависимости пакетов не позволяют настроить пакет qucs:

    qucs зависит от libqt4-qt3support (>= 4:4.5.3), однако:

    Пакет libqt4-qt3support не установлен.

    qucs зависит от libqt4-script (>= 4:4.5.3), однако:

    Пакет libqt4-script не установлен.

    qucs зависит от libqt4-svg (>= 4:4.5.3), однако:

    Пакет libqt4-svg не установлен.

    qucs зависит от libqtcore4 (>= 4:4.7.0~beta1), однако:

    Пакет libqtcore4 не установлен.

    qucs зависит от libqtgui4 (>= 4:4.6.1), однако:

    Пакет libqtgui4 не установлен.

    dpkg: ошибка при обработке пакета qucs (--install):

    проблемы зависимостей — оставляем не настроенным

    Обрабатываются триггеры для gnome-menus (3.13.3-9) …

    Обрабатываются триггеры для desktop-file-utils (0.23-1) …

    Обрабатываются триггеры для mime-support (3.60) …

    Обрабатываются триггеры для hicolor-icon-theme (0.15-1) …

    Обрабатываются триггеры для man-db (2.7.6.1-2) …

    При обработке следующих пакетов произошли ошибки:

    qucs

    Как видим — ошибка. Пробуем запустить и видим еще одну ошибку:

    cxemnet@debian:~$ qucs

    qucs: error while loading shared libraries: libQtCore.so.4: cannot open shared object file: No such file or directory

    Необходим qt4. Пробуем установить:

    cxemnet@debian:~$ sudo apt-get install qt4-default


    Неудача:

    Скрытый текст

    cxemnet@debian:~$ sudo apt-get install qt4-default
    Чтение списков пакетов… Готово
    Построение дерева зависимостей       
    Чтение информации о состоянии… Готово
    Возможно, для исправления этих ошибок вы захотите воспользоваться «apt-get -f install».
    Пакеты, имеющие неудовлетворённые зависимости:
     qt4-default : Зависит: libqt4-dev но он не будет установлен
                   Зависит: qtchooser (>= 55-gc9562a1-1~) но он не будет установлен
     qucs : Зависит: libqt4-qt3support (>= 4:4.5.3) но он не будет установлен
            Зависит: libqt4-script (>= 4:4.5.3) но он не будет установлен
            Зависит: libqt4-svg (>= 4:4.5.3) но он не будет установлен
            Зависит: libqtcore4 (>= 4:4.7.0~beta1) но он не будет установлен
            Зависит: libqtgui4 (>= 4:4.6.1) но он не будет установлен
            Рекомендует: freehdl но он не будет установлен
            Рекомендует: verilog но он не будет установлен
            Рекомендует: octave но он не будет установлен
    E: Неудовлетворённые зависимости. Попытайтесь выполнить «apt --fix-broken install», не указывая имени пакета, (или найдите другое решение).

    Пользуемся советом и набираем:

    cxemnet@debian:~$ sudo apt --fix-broken install

    Видим следующее:

    Скрытый текст

    Чтение списков пакетов… Готово

    Построение дерева зависимостей

    Чтение информации о состоянии… Готово

    Исправление зависимостей… Готово

    Будут установлены следующие дополнительные пакеты:

    libmariadbclient18 libqt4-dbus libqt4-designer libqt4-network libqt4-qt3support libqt4-script libqt4-sql libqt4-sql-mysql libqt4-svg libqt4-xml

    libqtcore4 libqtdbus4 libqtgui4 mysql-common qdbus qt-at-spi qtchooser qtcore4-l10n

    Предлагаемые пакеты:

    libqt4-dev qt4-qtconfig

    НОВЫЕ пакеты, которые будут установлены:

    libmariadbclient18 libqt4-dbus libqt4-designer libqt4-network libqt4-qt3support libqt4-script libqt4-sql libqt4-sql-mysql libqt4-svg libqt4-xml

    libqtcore4 libqtdbus4 libqtgui4 mysql-common qdbus qt-at-spi qtchooser qtcore4-l10n

    обновлено 0, установлено 18 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.

    не установлено до конца или удалено 1 пакетов.

    Необходимо скачать 14,4 MБ архивов.

    После данной операции, объём занятого дискового пространства возрастёт на 48,0 MB.

    Хотите продолжить? [Д/н]

    Все получилось, снова попробуем запустить qucs и видим, что все хорошо, можно работать.

    Бонусом можно добавить модели русских (советских) компонентов, сделанных добрыми дядями.

    Скачиваем архив в текущую папку:

    wget https://github.com/ra3xdh/qucs-rus-complib/archive/master.zip

    Разархивируем его в текущую папку:

    unzip master.zip

    перенесем в папку с библиотеками:

    cd qucs-rus-complib-master

    sudo mv * /usr/share/qucs/library/

    Заходим в программу и видим наши библиотеки.

     

    3. Audacity - аудиоредактор. Нам интересен тем, что с его помощью можно генерировать сигналы на выход звуковой карты.

    Описание:

    Будет.

    Установка:

    К счастью, установка вполне стандартна и доступна из репозиториев.

    sudo apt-get install audacity

    Процесс  установки:

    Скрытый текст

    Чтение списков пакетов… Готово
    Построение дерева зависимостей       
    Чтение информации о состоянии… Готово
    Будут установлены следующие дополнительные пакеты:
      audacity-data libdouble-conversion1 libflac++6v5 libid3tag0 libpcre16-3 libportaudio2 libportsmf0 libqt5core5a libqt5dbus5 libqt5gui5
      libqt5network5 libqt5svg5 libqt5widgets5 libsbsms10 libsuil-0-0 libvamp-hostsdk3v5 libxcb-xinerama0 mesa-utils qt5-gtk-platformtheme
      qttranslations5-l10n
    Предлагаемые пакеты:
      ladspa-plugin qt5-image-formats-plugins qtwayland5
    НОВЫЕ пакеты, которые будут установлены:
      audacity audacity-data libdouble-conversion1 libflac++6v5 libid3tag0 libpcre16-3 libportaudio2 libportsmf0 libqt5core5a libqt5dbus5 libqt5gui5
      libqt5network5 libqt5svg5 libqt5widgets5 libsbsms10 libsuil-0-0 libvamp-hostsdk3v5 libxcb-xinerama0 mesa-utils qt5-gtk-platformtheme
      qttranslations5-l10n
    обновлено 0, установлено 21 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
    Необходимо скачать 14,2 MБ архивов.
    После данной операции, объём занятого дискового пространства возрастёт на 60,4 MB.
    Хотите продолжить? [Д/н]
    Пол:1 http://mirror.yandex.ru/debian stretch/main amd64 libdouble-conversion1 amd64 2.0.1-4 [33,7 kB]
    Пол:2 http://mirror.yandex.ru/debian stretch/main amd64 libpcre16-3 amd64 2:8.39-3 [258 kB]
    Пол:3 http://mirror.yandex.ru/debian stretch/main amd64 libqt5core5a amd64 5.7.1+dfsg-3+b1 [1 836 kB]
    Пол:4 http://mirror.yandex.ru/debian stretch/main amd64 libqt5dbus5 amd64 5.7.1+dfsg-3+b1 [217 kB]
    Пол:5 http://mirror.yandex.ru/debian stretch/main amd64 libqt5network5 amd64 5.7.1+dfsg-3+b1 [594 kB]
    Пол:6 http://mirror.yandex.ru/debian stretch/main amd64 libxcb-xinerama0 amd64 1.12-1 [95,5 kB]
    Пол:7 http://mirror.yandex.ru/debian stretch/main amd64 libqt5gui5 amd64 5.7.1+dfsg-3+b1 [2 450 kB]
    Пол:8 http://mirror.yandex.ru/debian stretch/main amd64 libqt5widgets5 amd64 5.7.1+dfsg-3+b1 [2 244 kB]                                            
    Пол:9 http://mirror.yandex.ru/debian stretch/main amd64 libqt5svg5 amd64 5.7.1~20161021-2+b2 [130 kB]                                              
    Пол:10 http://mirror.yandex.ru/debian stretch/main amd64 audacity-data all 2.1.2-2 [1 554 kB]                                                      
    Пол:11 http://mirror.yandex.ru/debian stretch/main amd64 libflac++6v5 amd64 1.3.2-1 [37,2 kB]                                                      
    Пол:12 http://mirror.yandex.ru/debian stretch/main amd64 libid3tag0 amd64 0.15.1b-12 [35,4 kB]                                                     
    Пол:13 http://mirror.yandex.ru/debian stretch/main amd64 libportaudio2 amd64 19.6.0-1 [66,6 kB]                                                    
    Пол:14 http://mirror.yandex.ru/debian stretch/main amd64 libportsmf0 amd64 0.1~svn20101010-5 [54,7 kB]                                             
    Пол:15 http://mirror.yandex.ru/debian stretch/main amd64 libsbsms10 amd64 2.0.2-2 [106 kB]                                                         
    Пол:16 http://mirror.yandex.ru/debian stretch/main amd64 libsuil-0-0 amd64 0.8.4~dfsg0-2 [23,0 kB]                                                 
    Пол:17 http://mirror.yandex.ru/debian stretch/main amd64 libvamp-hostsdk3v5 amd64 2.6~repack0-3 [78,8 kB]                                          
    Пол:18 http://mirror.yandex.ru/debian stretch/main amd64 audacity amd64 2.1.2-2 [3 040 kB]                                                         
    Пол:19 http://mirror.yandex.ru/debian stretch/main amd64 mesa-utils amd64 8.3.0-3 [32,7 kB]                                                        
    Пол:20 http://mirror.yandex.ru/debian stretch/main amd64 qt5-gtk-platformtheme amd64 5.7.1+dfsg-3+b1 [131 kB]                                      
    Пол:21 http://mirror.yandex.ru/debian stretch/main amd64 qttranslations5-l10n all 5.7.1~20161021-1 [1 219 kB]                                      
    Получено 14,2 MБ за 11с (1 194 kБ/c)                                                                                                               
    Выбор ранее не выбранного пакета libdouble-conversion1:amd64.
    (Чтение базы данных … на данный момент установлено 178907 файлов и каталогов.)
    Подготовка к распаковке …/00-libdouble-conversion1_2.0.1-4_amd64.deb …
    Распаковывается libdouble-conversion1:amd64 (2.0.1-4) …
    Выбор ранее не выбранного пакета libpcre16-3:amd64.
    Подготовка к распаковке …/01-libpcre16-3_2%3a8.39-3_amd64.deb …
    Распаковывается libpcre16-3:amd64 (2:8.39-3) …
    Выбор ранее не выбранного пакета libqt5core5a:amd64.
    Подготовка к распаковке …/02-libqt5core5a_5.7.1+dfsg-3+b1_amd64.deb …
    Распаковывается libqt5core5a:amd64 (5.7.1+dfsg-3+b1) …
    Выбор ранее не выбранного пакета libqt5dbus5:amd64.
    Подготовка к распаковке …/03-libqt5dbus5_5.7.1+dfsg-3+b1_amd64.deb …
    Распаковывается libqt5dbus5:amd64 (5.7.1+dfsg-3+b1) …
    Выбор ранее не выбранного пакета libqt5network5:amd64.
    Подготовка к распаковке …/04-libqt5network5_5.7.1+dfsg-3+b1_amd64.deb …
    Распаковывается libqt5network5:amd64 (5.7.1+dfsg-3+b1) …
    Выбор ранее не выбранного пакета libxcb-xinerama0:amd64.
    Подготовка к распаковке …/05-libxcb-xinerama0_1.12-1_amd64.deb …
    Распаковывается libxcb-xinerama0:amd64 (1.12-1) …
    Выбор ранее не выбранного пакета libqt5gui5:amd64.
    Подготовка к распаковке …/06-libqt5gui5_5.7.1+dfsg-3+b1_amd64.deb …
    Распаковывается libqt5gui5:amd64 (5.7.1+dfsg-3+b1) …
    Выбор ранее не выбранного пакета libqt5widgets5:amd64.
    Подготовка к распаковке …/07-libqt5widgets5_5.7.1+dfsg-3+b1_amd64.deb …
    Распаковывается libqt5widgets5:amd64 (5.7.1+dfsg-3+b1) …
    Выбор ранее не выбранного пакета libqt5svg5:amd64.
    Подготовка к распаковке …/08-libqt5svg5_5.7.1~20161021-2+b2_amd64.deb …
    Распаковывается libqt5svg5:amd64 (5.7.1~20161021-2+b2) …
    Выбор ранее не выбранного пакета audacity-data.
    Подготовка к распаковке …/09-audacity-data_2.1.2-2_all.deb …
    Распаковывается audacity-data (2.1.2-2) …
    Выбор ранее не выбранного пакета libflac++6v5:amd64.
    Подготовка к распаковке …/10-libflac++6v5_1.3.2-1_amd64.deb …
    Распаковывается libflac++6v5:amd64 (1.3.2-1) …
    Выбор ранее не выбранного пакета libid3tag0:amd64.
    Подготовка к распаковке …/11-libid3tag0_0.15.1b-12_amd64.deb …
    Распаковывается libid3tag0:amd64 (0.15.1b-12) …
    Выбор ранее не выбранного пакета libportaudio2:amd64.
    Подготовка к распаковке …/12-libportaudio2_19.6.0-1_amd64.deb …
    Распаковывается libportaudio2:amd64 (19.6.0-1) …
    Выбор ранее не выбранного пакета libportsmf0:amd64.
    Подготовка к распаковке …/13-libportsmf0_0.1~svn20101010-5_amd64.deb …
    Распаковывается libportsmf0:amd64 (0.1~svn20101010-5) …
    Выбор ранее не выбранного пакета libsbsms10:amd64.
    Подготовка к распаковке …/14-libsbsms10_2.0.2-2_amd64.deb …
    Распаковывается libsbsms10:amd64 (2.0.2-2) …
    Выбор ранее не выбранного пакета libsuil-0-0:amd64.
    Подготовка к распаковке …/15-libsuil-0-0_0.8.4~dfsg0-2_amd64.deb …
    Распаковывается libsuil-0-0:amd64 (0.8.4~dfsg0-2) …
    Выбор ранее не выбранного пакета libvamp-hostsdk3v5:amd64.
    Подготовка к распаковке …/16-libvamp-hostsdk3v5_2.6~repack0-3_amd64.deb …
    Распаковывается libvamp-hostsdk3v5:amd64 (2.6~repack0-3) …
    Выбор ранее не выбранного пакета audacity.
    Подготовка к распаковке …/17-audacity_2.1.2-2_amd64.deb …
    Распаковывается audacity (2.1.2-2) …
    Выбор ранее не выбранного пакета mesa-utils.
    Подготовка к распаковке …/18-mesa-utils_8.3.0-3_amd64.deb …
    Распаковывается mesa-utils (8.3.0-3) …
    Выбор ранее не выбранного пакета qt5-gtk-platformtheme:amd64.
    Подготовка к распаковке …/19-qt5-gtk-platformtheme_5.7.1+dfsg-3+b1_amd64.deb …
    Распаковывается qt5-gtk-platformtheme:amd64 (5.7.1+dfsg-3+b1) …
    Выбор ранее не выбранного пакета qttranslations5-l10n.
    Подготовка к распаковке …/20-qttranslations5-l10n_5.7.1~20161021-1_all.deb …
    Распаковывается qttranslations5-l10n (5.7.1~20161021-1) …
    Настраивается пакет libxcb-xinerama0:amd64 (1.12-1) …
    Настраивается пакет libportsmf0:amd64 (0.1~svn20101010-5) …
    Настраивается пакет libflac++6v5:amd64 (1.3.2-1) …
    Настраивается пакет libid3tag0:amd64 (0.15.1b-12) …
    Настраивается пакет libportaudio2:amd64 (19.6.0-1) …
    Настраивается пакет libdouble-conversion1:amd64 (2.0.1-4) …
    Обрабатываются триггеры для mime-support (3.60) …
    Обрабатываются триггеры для desktop-file-utils (0.23-1) …
    Обрабатываются триггеры для libc-bin (2.24-11+deb9u1) …
    Настраивается пакет qttranslations5-l10n (5.7.1~20161021-1) …
    Обрабатываются триггеры для man-db (2.7.6.1-2) …
    Обрабатываются триггеры для shared-mime-info (1.8-1) …
    Обрабатываются триггеры для gnome-menus (3.13.3-9) …
    Настраивается пакет libpcre16-3:amd64 (2:8.39-3) …
    Настраивается пакет libsbsms10:amd64 (2.0.2-2) …
    Обрабатываются триггеры для hicolor-icon-theme (0.15-1) …
    Настраивается пакет audacity-data (2.1.2-2) …
    Настраивается пакет libvamp-hostsdk3v5:amd64 (2.6~repack0-3) …
    Настраивается пакет mesa-utils (8.3.0-3) …
    Настраивается пакет libqt5core5a:amd64 (5.7.1+dfsg-3+b1) …
    Настраивается пакет libqt5dbus5:amd64 (5.7.1+dfsg-3+b1) …
    Настраивается пакет libqt5network5:amd64 (5.7.1+dfsg-3+b1) …
    Настраивается пакет libqt5gui5:amd64 (5.7.1+dfsg-3+b1) …
    Настраивается пакет qt5-gtk-platformtheme:amd64 (5.7.1+dfsg-3+b1) …
    Настраивается пакет libqt5widgets5:amd64 (5.7.1+dfsg-3+b1) …
    Настраивается пакет libsuil-0-0:amd64 (0.8.4~dfsg0-2) …
    Настраивается пакет libqt5svg5:amd64 (5.7.1~20161021-2+b2) …
    Настраивается пакет audacity (2.1.2-2) …
    Обрабатываются триггеры для libc-bin (2.24-11+deb9u1) …

     

    4. MPLAB - среда разработки для PIC.

    Описание:

    http://cxem.net/software/mplab.php

    Установка:

    скачиваем файл установки в текущую папку с официального сайта:

    wget http://ww1.microchip.com/downloads/en/DeviceDoc/MPLABX-v4.10-linux-installer.tar

    распакуем в текущую папку:

    tar -xvf MPLABX-v4.10-linux-installer.tar

    дадим права на исполнение

    sudo chmod +x MPLABX-v4.10-linux-installer.sh

    выполним установку

    sudo ./MPLABX-v4.10-linux-installer.sh

    Получаем ошибку о желании 32битных библиотек:

    Скрытый текст

    64 Bit, check libraries
    Check for 32 Bit libraries
    These 32 bit libraries were not found and are needed for MPLAB X to run:
    libc.so
    libdl.so
    libgcc_s.so
    libm.so
    libpthread.so
    librt.so
    libstdc++.so
    libexpat.so
    libX11.so
    libXext.so

    For more information visit http://microchip.wikidot.com/install:mplabx-lin64

    Добавим поддержку:

    sudo dpkg --add-architecture i386

    обновим список репозиториев

    sudo apt-get update

    установим нужные пакеты, но уже с указанием требуемой архитектуры:

    sudo apt-get install libc6:i386 libdlib-data:i386 libstdc++6:i386 libexpat1:i386 libx11-6:i386 libxext6:i386

    пробуем еще раз:

    sudo ./MPLABX-v4.10-linux-installer.sh

    Скрытый текст

    64 Bit, check libraries
    Check for 32 Bit libraries
    Verifying archive integrity... All good.
    Uncompressing MPLAB X v4.10 Installer....

    видим, что процесс прошел без ошибок и перед нами появилось окно установщика, далее просто следуем подсказкам инсталяционного меню (можно путь установки поменять)

    Все, среда разработки установлена! Осталось добавить компилятор, но это уже другая история...

  19. Решил сделать инжектор на555 фазированный впрыск .Есть куча вопросов 

     

    • 1
      entry
    • 3
      comments
    • 967
      views

    Recent Entries

    Генератор на XR2206 был собран в конце прошлого года для моего товарища .И успешно эксплуатируется по сей день .Сам генератор собран на одой микросхеме XR2206 схема и разводка были найдены на просторах интернета на каком-то буржуйском сайте 

    Скрытый текст

    Схема рабочая проверял !

    Схема

    Плата была сделана по технологии ЛУТ правда не с первой попытки и к сожеленю прибор находится далеко и я не могу сделать фотку платы.Главными сложностями при сборке были настройка и подбор 1-мегоомного переменного резистора .

    Огромное спасибо тем кто помогал мне на форуме @Falconist@KRAB @856856

  20. Есть такой проект - домашняя метеостанция без лишних  проводов.

    Пока что представляет из себя нечто такое (много проводов :huh:):

    IMG_20171027_220957.thumb.jpg.3a621703d35c178ae31a352f6dbcfbed.jpg.e4d7157e362293d82d2cb0f8ad0068f0.jpg

     

    На экране (Nokia5110) показания влажности с двух датчиков - DHT21 и DHT22,  оба брешут как собаки. Хотя изменения влажности они фиксируют довольно чётко, но уровни сильно смещены. Температуру показывают нормально, заявленная точность 0,5 градуса, но разница в их показаниях может быть и градус :D Заказывал один как уличный, другой как комнатный.

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

    Подсветка дисплея отключена чтобы не сажать старые Ni-Cd аккумуляторы, и замеры производятся достаточно редко, раз в 1.5 минуты, по той же причине.

    Камень ATmega1284 c 16Кб оперативки, поэтому есть где разгуляться на FreeRTOS :P

    FreeRTOS не удалось завести в Atmel Studio 7, поэтому делаю в WinAvr.

    Связь с уличным датчиком будет на радиомодулях NRF24L01+, пишу для них библиотеку. 

    Приложены проект FreeRToS для WinAvr и сишник с тестовой программой для радиомодулей, передача и приём байта по радиоканалу, вывод информации по UART на комп в терминал.

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

    FreeRTOSv9.0.0____2_HUMYDIFIERS.rar

    nrf24test.rar

  21. eHouse

    • 0
      entries
    • 0
      comments
    • 1002
      views

    No blog entries yet

  22. Не так давно я начал собирать не большой тестовый генератор водорода, на электродах с нержавейки 3 мм., на блоке питания с пк 300 Вт., водородно кислородная смесь выдиляеться но слабо посоветуйте как улучшить производительность

    VIDEO0010.mp4

    IMAG0088.jpg

    IMAG0083.jpg

    IMAG0084.jpg

    IMAG0086.jpg

    IMAG0087.jpg