Перейти к содержанию
    

Zeal0t

Участник
  • Постов

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

  • Посещение

Сообщения, опубликованные Zeal0t


  1. добрый день

    имеется передатчик, который отправляет на частоте 29 кГц или 12 кГц некоторые данные. передача идет через антенну. передача формируется как старт-бит, 8 бит данных, стоп бит. скорость передачи 75bps. биты 0/1 формируются как амплитудная модуляция (если я правильно выражаюсь): есть генерация частоты на передатчике - передача логической 1, нет генерации частоты - передача логической 0. пауза между байтами не менее 1.5 байта.  
    на приемнике я вижу эту генерацию, вижу паузы в генерации.
    выборка выполняется с ацп на частоте 62.5 кГц. при окне 128 байт удалось получить определять через БПФ или алгоритм герцеля текущую рабочую частоту передатчика. так, при работе на 29кГц, на 120 отсчете БПФ видно максимальную амплитуду, что соответствует частоте 29541. близко к оригиналу, но такое получилось  дробление  в БПФ.
    далее необходимо демодулировать сигнал в цифровой вид. я предполагаю делать по 84 выборки из исходного сигнала, усреднять эти 84 выборки, собирать усреднения в массив из 10 элементов. таким образом при скорости передачи 75bps и соответственно времени передачи 1 бита ~13.33ms имеем на приемнике усреднение по 84 выборкам и сбор 10 значений усреднения за 13.44ms при частоте выборок 62.5kHz. затем как то на основании min/max значение полученных с ацп "прикручивать" к этим выборкам алгоритм разбора 0/1 и упаковку это в байт. в приблизительном варианте это даже как то работает.
    но закрались сомнения что это хоть и работает, но возможно есть более правильные методы разбора такого сигнала? посоветуйте что почитать, посмотреть?
    и еще один вопрос. как то точно или косвенно можно ли на основании данных полученных после БПФ вычислить уровень сигнала? т.е. если передатчик находится на расстоянии 1м от приемника и на расстояние 3м от приемника это значение можно было как то получить/вычислить?

    если что то сумбурно или не досказал - отвечу, замеряю, отрисую )

    приложил 2 изображения: внешний вид сигнала как я его вижу при чтении с АЦП и результат БПФ с пиком в 120 отсчете.

    спасибо.

     

    drill-fft.png

    drill-sygnal.png

  2. быть может режим/обмен I2C не соблюдается до конца? быть может адрес не тот используется? хотя по дампу видно что он отдал данные..

    вот с таким DEFAULT ADDRESS он у меня в свое время отвечал и корректно работал

      // MPU6050 7-bit adress = 0x68, 8-bit adress = 0xD0;

      #define MPU6050_ADDRESS_AD0_LOW                   0x68
      #define MPU6050_ADDRESS_AD0_HIGH                  0x69
      #define MPU6050_ADDRESS_DEFAULT                   (MPU6050_ADDRESS_AD0_LOW << 1)

    могу кинуть свои исходники. в свое время пока не перешел на другой датчик - успешно работали. там С но только под STM32. процессоро зависимый кусок там получается при работе с I2C

  3. может на основании этого госта и ГОСТ 2.721 отображать как громкоговоритель с  пьезоэлектрическим воздействием?

    Ведь есть же в госте 2.741-68 "Громкоговоритель магнитострикционный".

    Символ воздействия у него как раз из ГОСТ 2.721


    Например вот так:

    p030-buzzer-symbol_cr.png

  4. Добрый день.

    Дали плату на ремонт/реверс, но никак не могу определить на ней 2 элемента из установленных.

    Нечто в корпусе SOT23-6 с маркировкой BB7L. Стоит после антенны до операционного усилителя.

    Нечто в корпусе SOT23-5 с маркировкой VC3. Насколько я понял используется как задающая сигнал CLK для фильтров MAX7490.

    Перерыл весь интернет - не ищутся даже похожие. В аналоговых м/с не гуру - прошу помощи.

    Спасибо.

     

  5. файлы манифестов пикада удалены?

    на 64-бит системах и при других случаях они сильно портят работу.

     

    p.s. данный скриншот это на win7-64bit

    но и на соседней машине с win10-64bit все точно так же работает

     

    1210054368_.thumb.png.cd8e0b03016328163a57d922cbdf2798.png

  6. 3 minutes ago, Сергей Борщ said:

    Чисто спортивный интерес: какие рассуждения привели вас к этому выводу?

    скорее всего от того, что настраивается как SYSCFG->EXTICR[3] значит и прерывание тоже 3-е ))

    p.s. угадал )

  7. 2 hours ago, DpInRock said:

    ЕСть нонэйм контроллер BDLC с интеллектуальным модулем (Мицубиши на 35 ампер) и IR..341 (процессор) в качестве управления.

    Питается от трехфаз без заземления. 6 диодов в выпрямителе.

    Чисто теоретически, подав 220 вольт на пару фаз не вижу причин ему умирать.

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

     

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

  8. если это PCAD то может вот это поможет? там есть и jump на нужную ноду

     

    p.s. ну или в net файле искать вот такие секции и вытаскивать нужные

     

      (net "SPI1_SCK"
        (node "U81" "39")
        (node "MU2" "6")
        (node "MU1" "6")
      )

     

    image.thumb.png.0f474dc61291ac9c93745b085c17fb5f.png

  9.   TPIN_ADC_CS   ::off();
      TPIN_ADC_START::off();
      TPIN_ADC_POWER::on ();
      
      // на основании DS АЦП нужно 16 ms на запуск после подачи питания
      msDelay(16);
      
      TPIN_ADC_CS::on();
    
      TPIN_ADC_START::on();
      {
        CMD(ADS1248_CMD_RESET);
        CMD(ADS1248_CMD_SDATAC);
        CMD_RegRead(); // читаем все регистры
      }
      TPIN_ADC_START::off();
      
      ...........
      
      TPIN_ADC_START::on();
      {
        CMD_RegWrite(); // пишем измененные регистры
      }
      TPIN_ADC_START::off();
    
      
      

      из рабочего проекта
      правда у меня есть управление пином START
      CMD( x ) - посылает по SPI команду АЦП

     

  10. 9 minutes ago, Mysteo said:

    Кнопка к сожалению двух контактная , обычная тактовая кнопка

    поставить кнопку параллельно конденсатору подключенному к цепи сброса МК нельзя схематично? просто разряжать конденсатор в цепи сброса на землю и все.

  11. 30 minutes ago, inventor said:

    это я уже убрал и сделал так:

    
        for (int y = 0; y < height; y++) {
        for (int x = 0; x < width; x += 8, k++) {
            pix = *(bmp + k);
    
                p0 = pix & 1;
                p1 = pix & 2;            
                p2 = pix & 4;
                p3 = pix & 8;            
    
                p4 = pix & 16;
                p5 = pix & 32;            
                p6 = pix & 64;
                p7 = pix & 128;            
                
            display_put_pixel(x, DISPLAY_HEIGTH - y, p0 == 0? 0xFFFF: 0);            
            display_put_pixel(x + 1, DISPLAY_HEIGTH - y, p1 == 0? 0xFFFF: 0);            
            display_put_pixel(x + 2, DISPLAY_HEIGTH - y, p2 == 0? 0xFFFF: 0);            
            display_put_pixel(x + 3, DISPLAY_HEIGTH - y, p3 == 0? 0xFFFF: 0);            
    
            display_put_pixel(x + 4, DISPLAY_HEIGTH - y, p4 == 0? 0xFFFF: 0);            
            display_put_pixel(x + 5, DISPLAY_HEIGTH - y, p5 == 0? 0xFFFF: 0);            
            display_put_pixel(x + 6, DISPLAY_HEIGTH - y, p6 == 0? 0xFFFF: 0);            
            display_put_pixel(x + 7, DISPLAY_HEIGTH - y, p7 == 0? 0xFFFF: 0);            
        }
        }

    но все равно скорость не достаточная

    основное время тратится скорее всего вот тут

    display_put_pixel

    можно посмотреть как это реализовано и как то оптимизировать. например выводить не по 1 точке а сразу 8

     

  12. 8 hours ago, Сергей Борщ said:

    А они там есть?

    Ну если можно измерить VREF, то значит его можно с чем то сравнить и использовать далее. Не могу точно утверждать про 103 серию, но в STM32L15x есть такие коэффициенты и для VREF и для датчика температуры.

     

    Для температуры похоже действительно нет. Есть только данные из даташита про параметры температуры.

  13. при измерении температуры учитываются коэффициенты прошитые в камне?

    если делать измерение канала АЦП для температуры и далее эти данные преобразовывать на основании этих коэффициентов помогает?

    VREF используется при вычислениях? измеряется и сравнивается с калиброванным из камня? как физически организован?

     

  14. 1 hour ago, ZeratulSC007 said:

    И непонятно, зачем ставить два резистора на 820 кОм (почему не один на 1.6 МОм, вижу это уже не впервой).

    возможно что бы не грелся. на 2 больше мощности можно рассеять.

  15. CP866 там кодировка. которая раньше была под практически всеми DOS.

    ZAS:
            DB      "================"
            DB      "   ФОТОМЕТР     "
            DB      "   КОЛИР 3M     "
            DB      "================"


            DB      " ПЕРЕУЛОК НЕЧИС-"
            DB      " ТОЙ СИЛЫ n 13  "
            DB      " 'ДОМ БАБЫ ЯГИ' "
            DB      "  ТЕЛ.000-00-00 "?
            DB      000H
     

    не знаю как правит/сохраняет notepad и что он делает с некоторыми русскими буквами такими как я,ё,Ё и другими, но я бы правил такое во внутреннем редакторе FARa например. он умеет работать в той кодировке, в которой создан файл. и надо стараться что бы каждая строка каждого блока из 4-х строк не вылезала за 16 символов. судя по всему в приборе LCD экран 16x4 и если подпрограмма вывода очередного такого то блока не проверяет какие то параметры, длины и прочее - то и могут возникнуть глюки.

  16. 18 hours ago, Метценгерштейн said:

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

     

    E+ - питание моста

    E- - данные для корректировки по температуре

    A+,A- - данные по весу

    Безымянный.png

  17. сигнал E- подключить через точный резистор. сигнал до резистора брать как данные по весу, после резистора как корректировку по температуре. что бы это потом использовать - придется делать калибровку датчика на стабильной положительной и отрицательной температуре в нескольких точках. на основании этих 4-х графиков делать вычисления веса.

  18. 9 minutes ago, Arnold said:

    Отличная статья , только остался один вопрос.

    На схеме разъем эта uart ? Если да то вопросов больше нет.

    GL823.jpg

    нет. это USB и U1 card reader controller. его в Вашем случае можно совсем исключить. оставить только U2 и U3. линии D1-D4 подключить к eeprom а S1-4A, S1-4B к разъему или схеме. изменение к чему сейчас подключена eeprom выбором ноги IN на U2,U3.

    Выше в теме MegaVolt предложил мультиплексоры. вот их нужно и использовать опираясь на эту схему как пример

×
×
  • Создать...