MagicianT

Members
  • Публикации

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

  • Посещение

Все публикации пользователя MagicianT

  1. Наполеоновские планы. Контроллер странный выбрали, понятно что цена +вай-фай, но я бы дважды подумал, прежде чем его брать. Большинство периферии (датчиков) работает с ардуино посредством подключаемых библиотек, понятно что можно и самому на С/С++, но это отнимает много времени и сил. По сути библа - это драйвер, который скрывает протокольные дела в красивый АПаЙ, датчиков миллионы и на каждый драйвер писать пол жизни уйдёт. Так я к тому, что контроллер надо брать самый распостраннёный для которого создано макс. драйверов и примеров халявных. А это ардуино Уно. Вай-фай она тож сможет, шилд есть для этого, и есть шилды для проводного эзернета и блютуза. Вот, а решайте сами. С андроидом а как-то конектил, через блютуз, но пока вы освоитесь - месяца два -три поиграетесь, вам не до него будет. Си изучить нада будет, и Джаву
  2. Действительно, цифры почти не видно. Не так давно сам обдумывал как показывать время и температуру на 8х8х8 кубе, пришёл к выводу раз места мало, то нужна прокрутка, ну типа той как бегущая строка. Или вглубину, благо куб обьёмный. Недостаток один, ждать пока 4-ре или больше цифр проплывёт. Как пример https://www.youtube.com/watch?v=0dyLX7UZLso&feature=youtu.be
  3. Ток отнимается для NPN: if(transistor == 1) { h21 = (milliAmps - base_current) /base_current; } if(transistor == 2) { h21 = milliAmps /base_current; } Самому не очень нравится ассиметрия для разных типов, но пока так, чтобы не переходить на дифференциальную схему измерения тока с двух отдельных резисторов для PNP & NPN. Как я и писал, там возникли сложности с измерением токов <100 мА, поэтому на дифференциал я всё таки перейду как дождусь ардуино Мегу2560. Пока росчитывал альтернативные по стоимости варианты, как например поставить инструментальный (2 штуки и/ или мультиплексор), или PGA (пришли, класные MCP6S91), но с мегой всё равно преимуществ больше, поэтому подожду ещё от другого интернет магазина, али - забанен.
  4. Всплыла тут давича интересная тема на форуме: http://forum.cxem.net/index.php?/topic/173977-проверка-2sc5200-и-2sa1943/ И хотя обсуждение касалось только двух определённых типов транзисторов, я подумал что вопрос затронут вобщем достаточно шире, касательно проверки на оригинальность всех аудио транзисторов, а их я думаю подделывают чаще всего. Что самое неприятное, если в других применених замена типов усилительных устройств не критична, то как раз для аудио подмена линейных транзисторов приводит к глубокому разочарованию для дизайнеров звуковых усилителей мощности. Кратко суть проэкта: Измерить бэта мощного транзистора в широком диапазоне тока (3 порядка) и построить график. Точность не хуже 1 - 3 процента, минимальная стоимость. Сложность: Заявленые требования к точности автоматически требуют проведение измерений в импульсном режиме, т.к. температура кристалла не должна менять измеряемую величину (бэта) сколь нибудь заметно. Широкий динамический диапазон измеряемых токов. К примеру, 3 порядка по току коллектора (10 мА - 10 А) это 60 дБ, плюс точность 1 % на краю диапазона ещё 40 дБ -> получается 100 дБ. В цифре требуется АЦП 17 бит и выше, и хотя 24-битных дешёвых АЦП полно на рынке, и многие из них потянут 16-18 бит с низким уровнем шума в реальных условиях, НО все они сигма-дельта и не подходят по пункту 1 - для импульсных измерений. Решение, выбраное мной. Упрощённая схема: Как видим, два генератора тока по базам, и измеритель тока коллектора/эммитера. Для автоматизации я выбрал ардуино Уно, самую распостранённую, простую в программировании и низкой стоимостью платформу. Кроме того для неё легко найти цветной ЖКИ с тач скрином. Минусы: не имеет ЦАПа, АЦП всего 10 бит. Что получилось : ЦАП 12-бит, достаточно быстрый, но на больших токах это и не требуется, коммутация импульсов осуществляется TB6612. 12-бит, как я уже пытался обьяснить выше очень мало, для задания тока базы требуется 17 и ещё хотя бы 5-бит для перекрытия разброса по бэта (10 - 320 или около того), поэтому в схеме использован коммутатор диапазонов, ещё примерно 10-бит - итого до 22-х. Для АЦП при таком исполнении разброс по бэта не надо учитывать, и хотя ардуино УНО не имеет програмируемого усилителя перед АЦП (как Мега) я применил софтовый подход, избыточное сэмплирование. Решение не идеальное, но стоимость и отсутсвие пинов на ардуино не оставили другого выбора. К счастью, для малых токов, увеличение длительности измерения не проблема, низкая рассеиваемая мощность на коллекторе позволяет легко масштабировать эти величину, кол-во измерений меняется от 2048 при 10мА, до 1-го на токах > 3А. Как это выглядит в "железе" и первые результаты: Выводы: присланные мне с алиэкспресс 2SB772 и 2SD882 никакие не комплементарные. Завал бэта у первых однозначно показывает подделку.
  5. Чтоб ступеньки по выходу глаза не мозолили, фильтр ставят. Та же АД9850 с частотой 125 МГц, по выходу гарантировано 40 МГц , 1/3. Т.е. для МСР4921 примерно 0.6 МГц, хотя без ДМА АтМега больше 150 кГц в прерывание нырять не сможет, так что ЦАП по быстродействию х4 с запасом
  6. Программа примитивная, пиши на ардуино.
  7. Для светодиодов - стабилизатор тока, но их часто называют драйвер для светодиодов. Есть светодиодные ленты на 12В, для тех вообще ничего не надо, там резисторы прям на ленте распаяны.
  8. Так, давайте по порядку. Здесь топик спектроаналайзера, в нём частота выборки определяется здесь #define SMP_RATE 20480 // Sampling Rate, in Hz #define SMP_TMR1 ((16000000UL/SMP_RATE) -1) // Sampling Period of Timer1 и здесь void adc_init() { ADMUX = 0xC5; // PIN 5 Analog. REF Internal. Bias = 0.55V ADCSRA = ((1<< ADEN)| // 1 = ADC Enable (0<< ADSC)| // ADC Start Conversion (1<<ADATE)| // 1 = ADC Auto Trigger Enable (0<< ADIF)| // ADC Interrupt Flag (0<< ADIE)| // ADC Interrupt Enable (1<<ADPS2)| (0<<ADPS1)| // ADC Prescaler : 1 MHz. (0<<ADPS0)); ADCSRB = ((1<<ADTS2)| // Sets Auto Trigger source - Timer/Counter1 Compare Match B (0<<ADTS1)| (1<<ADTS0)); /* Set up TIMER 1 - ADC sampler */ TIMSK0 = 0x00; TIMSK1 = 0x00; TIMSK2 = 0x00; TCCR1A = 0; TCCR1B = 0; TCCR1C = 0; TCCR1A = ((1<<WGM11) | (1<<WGM10)); // Mode 15, Fast PWM TCCR1B = ((1<<WGM13) | (1<<WGM12)); // Mode 15, Fast PWM TCCR1B |= (1<<CS10); // clk/1 prescaling. OCR1A = SMP_TMR1; OCR1B = SMP_TMR1; TCNT1 = 0; TIFR1 |= (1<<OCF1B); TIMSK1 |= (1<<OCIE1B); } Для низких частот преселектор таймера изменить надо, это вы сами делайте или открывайте другой топик по конфигурации таймеров на АтМеге. Регистр TCCR1C, CS10-CS11-CS12. В примере (скетче) библиотеки всё проще void sampling() { ADCSRA = 0x85; // turn on adc, freq = 1/32, 500 kHz/ 13.5 =~ 36 kHz sampling rate ADMUX = 0x40; //Bit 5 – ADLAR: NO ADC Left Adjust Result ADCSRA |= (1<<ADSC); while(!(ADCSRA & 0x10)); int sum2b; for(int i = 0; i < FFT_SIZE; i++ ) { while(!(ADCSRA & 0x10)); ADCSRA |= (1<<ADSC); sum2b = ADCL; sum2b += (ADCH << 8); f_r[i] = sum2b - sdvig; } ADCSRA = 0x00; } Вопрос в том, надо в реальном времени выборки - сэмплирование делать, или можно периодически, второй вариант намного проще
  9. Один из прошлогодних проэктов, может кому будет интересно. Видео тут: https://www.youtube.com/watch?v=r7Mm5jKa0qc БПФ-512, плата ардуино Уно, ЖКИ-ТФТ с алиэкспресс.
  10. Библиотека тестировалась на ардуино Уно, 16 МГц, для других тактовых частот там формулу подправить маленько надо будет. Дискретизация любая, какую таймер потянет, кажется до 488 Гц можно уменьшать. На ЖКИ вы чего хотите можете выводить, максимумы или минимумы, после вычисления амплитуд запускайте цикл фор for ( int i = 0; i < FFT_SIZE/dlina; i++) { if ( (data[i]) > peak ){ peak = data[i]; nbr = i; } Там же в библиотеке есть код скетча
  11. Похоже я и мои посты здесь невидимы.
  12. http://forum.cxem.net/index.php?/topic/176078-делаем-спектроаналайзер-из-ардуино/
  13. И не удивительно что не получилось. Я предлагал метод кросс-кореляции, математика предельно проста for(i=0; i < len; i++) { sum = 0; for(k=0; k < len-i; k++) sum += (rawData[k]-128)*(rawData[k+i]-128)/256; } Тут называется авто-корреляция, наверно правильнее, но разницы особой нету как называть. http://www.akellyirl.com/reliable-frequency-detection-using-dsp-techniques/
  14. Альтернативный вариант для БПФ - кросскореляция. Обеспечивает максимальную точность (кстати требования надо сразу указывать), но он ресурсоёмкий.
  15. Делай одним, контролеру не составит труда проинвертировать в софте.
  16. Про ту SAMD21 ничего сказать не могу, в руках не держал. А вот та stm32f103c8t6 у меня есть, даже две, прекрасно сэмплирует на обоих ацп, у неё ДМА и всё работает как часы. Для неё под ардуино (ИДЕ) есть плагин, там я её и компилирую, очень просто и удобно. Не знаю какие данные вам из тензо нужны, но если вибрация, я бы запустил БПФ прям на плате, чтоб шелуху не гонять на комп, т.е. избыточные данные. Я не совсем понимаю почему так всем важно иметь подключение к внешнему опорному, я бы подключил референс-напряжение к любому свободному порту на ацп, и сравнивал в коде. Если подключить больше одного референса, то ещё и нелинейность самого ацп можно "реал-тайм" отслеживать. Или всякие оффсэты, это как иметь возможность перекалибровки на лету.
  17. У STM32 есть АЦП, 12-бит, два штуки, частота сэмплирования 1МГц. По ЮСБ с настройками сериала под тот-же МГц и 2-я байтами на сэмпл скорость можно разогнать на 50-60 к. сэмплов. Тут и вопроса то нет, сразу переходить на ЭсТиЭм, или ардуино ДУЕ
  18. Слышали, конечно. А вы про склероз слышали? Рассеяный? На ардуино НЕ осталось ни одного свободного цифрового выхода, 5-й раз повторю. Альтернативы я уже описал выше, порт экстендер, тогда будет возможность коммутировать ЦАП по диапазонам (2 порта), переключать мультиплексеры (2 порта) и возможно программируемый инструментальный усилитель ( 2- 4 порта). Цена вопроса - 2/ 3 бакса, вроде не так много, но тратить на борьбу с привидениями которые мне ну никак не мешают жить, никак не хочется. А ваша настойчивость в данном вопросе напомнила мне давнее комунячее прошлое, когда вот такой же упрётся рогом, и под растрелом требует исправить какую нибудь мелочь. Ох и подурачил я их в своё время, царство им небесное, много кого второй раз не встречал. Простите за рилику. Про диоды шотки скажу спасибо за совет, но он не требуется. Тему вы сами и затронули, почему низковольтнуе ОУ, так нормальные люди ставят именно низковольтные, не потому что им диодов шотки жалко, а чтобы ерундой не заниматься. Мне известно и то и другое, поэтому у меня есть выбор. Некоторые вещи я не делаю в аналоге не потому что плохо её знаю, схемотехнику, а потому что в софте в 100 раз проще и дешевле. И точнее. Ардуино, а теперь держитесь за стул а то упадёте, так вот маленький 8-битник у меня прокачивает фильтры 511-порядка. В аналоге это не то что дорого, или трудоёмко, это ВООБЩЕ невозможно. Даже теоретически.
  19. Да ну её, схему. Делайте в софте, или в программировании тоже не очень?
  20. Тут ваще то по франце, ну мне без разницы на какой мове. Не тупи, тут я уже пояснял: Вариант с включением коммутатора а потом ЦАПа имеет один недостаток, о котором подумает любой мало-мальски знакомый с цифрой (к вам это не относится) - это быстродействие шины, I2C. Вики полистайте, 16 микросекунд и 4 байта сложить сможете? Все атмеловские микроконтролеры защищены шотки диодами, посмотри вики ещё раз что такое микроконтролер. На входе АЦП величина допустимого резистора ограничена, обьяснять не буду почему. Прочитав это, я так сразу и понял. Взаимно. Ничего путного я все равно не услышал, пообщайтесь с андроидами, или идиотами, с ними приятней - они не спорят
  21. Правильно, по возможности и необходимости. Заявляю, в данной схеме такой необходимости нет. Более того, выбросы являются индикаторами конструктивного запаса по частотным свойствам, и в случае необходимости перехода на другие комплектующие,с более низкой чем у MCP6022 (10МГц) полосой пропускания, схема обеспечит заявленые требования по фронтам и времени установления. Я устал повторять, покажите схему где дифф каскад работает с импульсным генератором тока. Они там все в линейном. Выше я уже писал, что в и-нэте по такому запросу я ничего не нашел и подбирать параметры схемы пришлось экспериментально. Никто и не спорит о необходимости предусилителя, вопрос только в стоимости, пока вариант с АтМегой2560 лучший по соотношению затрат/ качества. Шли бы вы готовиться к экзамену на другом форуме, такие ляпы говорят о полной некомпетентности, что сессия и могут выгнать из электро-технаря ? Напишите Тошибе в тех-супорт, обьясните тем идиотам что они не правильно меряют. А пока они вам не ответили, я орентируюсь на даташит 2SC5200, там указано 5В.
  22. Не согласен. К вашему сведению, нет схем которые не звенят, импульсные переходные процессы всегда, есть. Это отличительный признак импульсной схемотехники. Если транзит заканчивается в приемлимое время и не приводит к перегрузке комплектующих его можно игнорировать, а не тратить много сил и денег на борьбу с привидениями. Звенят все и Родже-Шварцы и Агиленты по много тысяч баксов за девайс, и никто их быдло схемотехникой не называет. Тем более если проэкт любительский, хоби. И плату я не разводил. Вовсе не пофиг, генератор, (ещё раз для одарённых повторю) ИМПУЛЬСНЫЙ, и изменение сопротивления нагрузки в момент формирования импульса ой как не пофиг. Мы же о выбросах говорим, или как? Не совсем, подтяжка там стоит только для устранения разности потенциалов земли у ардуино и другой платы, 25-60 мВ, а вообще сигнал относительно земли. Можно сместить и выше но ОП07 в любом случае не подходит он не от 0 по входу, там могла бы лучше подойти LM358. Но пинов комутировать что её что реле всё одно свободных не осталось, там ТФТ ЖКИ всё оккупировал. Низкое питание диктуется входным напряжением АЦП, 0-5В, если я применю +-5В, а тем более +-15В операционники, мне придётся разрабатывать защиту входа АЦП от перенапряжения, Верно, гарантии ни какой. Я пока решил бэтту посравнивать, в топике на который я ссылался вначале речь идёт об аудио транзисторах, в аудио усилителях мощности, поскольку имено она -бэтта в значительной мере определяет уровень скажений, Т.е. мой прибор должен распознать скажем 2SC5200 и TIP42C, а вот если умные китаёзы впарят мне вместо 2SC5200 другой, тоже аудио транзистор - с линейной характеристикой по бэтта, (я полагаю у других не -аудио транзисторов она больше на параболу похожа) ну тогда не распознает. Ну и ничего, если характеристики теже, искажения тоже, ну и факт с ним кто его делал.
  23. 1. OP07? Даташит откройте, посмотрите минимальное напряжение питания. Я подумывал поставить INA128, но она тоже отстала от технологий, и не рэил-ту-раил, а ставить ради неё -5В в схему а потом согласовывать с контролером у которого -5В по входу ни-ни, не целесообразно. Я полагал что у вас есть идейка PGA с управлением по I2C, а как собрать усилитель мне и самому известно, вопрос только в стоимости < 3-4 $. С прецезионными резисторами это вряд ли, поэтому намного проще взять другой микроконтроллер (АтМега2560) у которого PGA уже внутри есть, и не изобретать велисипед. Это схема "классического" генератора тока, т.е. конвертер (преобразователь) напряжение - > ток. Откройте учебник. Что для меня самого было нового, так это работа этой схемы в импульсном режиме. Интернэт завален её описаниями, но я нигде не нашёл именно импульсного применения. Увеличение длительности фронтов не решает проблему, ЦАП плавно повышает напряжение на выходе и я тестировал вариант когда коммутатор первым задаёт диапазон, а ЦАП потом поднимает напряжение / ток за 4-6 микросекунд, но картина примерно таже. Задача создать импульсный генератор тока в широком диапазоне токов, длительности импульсов и вдобавок переменной нагрузки (тут не 50 Ом, входное сопротивление выходного (измеряемого) транзистора величина переменная) , задача интересная, но выходит за пределы проэкта. Поэтому, срезав выбросы до х2 по амплитуде и 8 микросекунд я и успокоился. Первая х2 взята из даташита типового транзистора, подавляющее большинство из них легко выдерживают 2-3. А время в микросекундах по порядку величины равно S/H у АЦП. Они не висят напрямую, там резистор на 20 Ом и электролит. Вы не поняли, наверное мне надо было в названии темы включить, ладно обьясню здесь а потом выделю каким-нить шрифтом. Цели у этого проэкта шире чем просто померить бэта, её точно померить надо и сравнить с даташитом изготовителя данного транзистора. Сравнить имено форму кривой, как отпечаток пальца. Т.е. не критично если кривая сдвинута верх (температура в помещении другая, разброс у самого транзистора или ещё чего) , до фонаря если она сдвинута влево вправо, и вместо 10мА -10А мерялось на 12мА -12 А. Главное, она не должна быть "деформирована" между измерительными интервалами. Для графика я выбрал 12 точек ( можно и 300, экран позволяет, но времени больше требуется, а вообще я ещё не решил может и 300 сделаю). Так вот, температура НЕ ДОЛЖНА отличаться при измерении одной точки (скажем 10мА) от другой (10А). Мы же не можем мерять весь день, и давать транзистору достаточно времени на установление теплового эквилибриума (тоже опция), отсюда и вытекают такие жёсткие требования по рассеиваемой мощности, а не из тех 5% на 10 градусов что показывает график выше. Да хоть 20%, только ошибка должна быть одинакова на всех участках кривой.
  24. Зависит от размера детали и расстояния до датчика. Для больших поверхностей, MLX90614 погуглите, даже пионеры подключают к ардуино, всё вместе не дороже 10 баксов, точность 1 градус или около того. С маленькими детальками всё намного сложнее-дороже, оптика в том диапазоне на вес золота