Jump to content

    

Zeal0t

Участник
  • Posts

    80
  • Joined

  • Last visited

Everything posted by 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 отсчете. спасибо.
  2. я делал тупо в лоб ) не знаю насколько это верно - но это работает. на плате кидаете его в CopperPour, подключенный к той же цепи
  3. быть может режим/обмен 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
  4. попробуйте ему послать несколько команд перед чтением данных с него. в частности записать нужные значения в регистры 0x6B, 0x1A,0x19,0x1B,0x1C
  5. может на основании этого госта и ГОСТ 2.721 отображать как громкоговоритель с пьезоэлектрическим воздействием? Ведь есть же в госте 2.741-68 "Громкоговоритель магнитострикционный". Символ воздействия у него как раз из ГОСТ 2.721 Например вот так:
  6. Добрый день. Дали плату на ремонт/реверс, но никак не могу определить на ней 2 элемента из установленных. Нечто в корпусе SOT23-6 с маркировкой BB7L. Стоит после антенны до операционного усилителя. Нечто в корпусе SOT23-5 с маркировкой VC3. Насколько я понял используется как задающая сигнал CLK для фильтров MAX7490. Перерыл весь интернет - не ищутся даже похожие. В аналоговых м/с не гуру - прошу помощи. Спасибо.
  7. файлы манифестов пикада удалены? на 64-бит системах и при других случаях они сильно портят работу. p.s. данный скриншот это на win7-64bit но и на соседней машине с win10-64bit все точно так же работает
  8. скорее всего от того, что настраивается как SYSCFG->EXTICR[3] значит и прерывание тоже 3-е )) p.s. угадал )
  9. вместо EXTI3_IRQHandler нужно использовать EXTI15_10_IRQHandler и там внутри разбирать от 13 линии это запрос или нет
  10. 3 фазы там скорее всего пробрасываются через его коммутацию на двигатель, а сам контроллер питается от одной из фаз и нуля. можно попробовать подать ему на заземление 0 розетки и на одну из фаз фазу розетки. внутренняя логика должна взлететь
  11. если это PCAD то может вот это поможет? там есть и jump на нужную ноду p.s. ну или в net файле искать вот такие секции и вытаскивать нужные (net "SPI1_SCK" (node "U81" "39") (node "MU2" "6") (node "MU1" "6") )
  12. 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 команду АЦП
  13. есть #pragma pack но это больше относится к данным
  14. поставить кнопку параллельно конденсатору подключенному к цепи сброса МК нельзя схематично? просто разряжать конденсатор в цепи сброса на землю и все.
  15. основная функция PB4 - RST для JTAG. если пробуете под отладчиком то его нужно или отключать если не используется и еще, возможно, перемаппировать с отладочной ноги на GP/AF ногу
  16. основное время тратится скорее всего вот тут display_put_pixel можно посмотреть как это реализовано и как то оптимизировать. например выводить не по 1 точке а сразу 8
  17. Ну если можно измерить VREF, то значит его можно с чем то сравнить и использовать далее. Не могу точно утверждать про 103 серию, но в STM32L15x есть такие коэффициенты и для VREF и для датчика температуры. Для температуры похоже действительно нет. Есть только данные из даташита про параметры температуры.
  18. при измерении температуры учитываются коэффициенты прошитые в камне? если делать измерение канала АЦП для температуры и далее эти данные преобразовывать на основании этих коэффициентов помогает? VREF используется при вычислениях? измеряется и сравнивается с калиброванным из камня? как физически организован?
  19. возможно что бы не грелся. на 2 больше мощности можно рассеять.
  20. посмотри вот это http://we.easyelectronics.ru/STM32/stm32-i-dzen-kompilyaciya-i-zapusk-otdelnyh-programm.html
  21. А если ничего не исправлять, а собрать в том виде что есть в оригинале? Измерения сбиваются?
  22. 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 и если подпрограмма вывода очередного такого то блока не проверяет какие то параметры, длины и прочее - то и могут возникнуть глюки.
  23. E+ - питание моста E- - данные для корректировки по температуре A+,A- - данные по весу
  24. сигнал E- подключить через точный резистор. сигнал до резистора брать как данные по весу, после резистора как корректировку по температуре. что бы это потом использовать - придется делать калибровку датчика на стабильной положительной и отрицательной температуре в нескольких точках. на основании этих 4-х графиков делать вычисления веса.
  25. нет. это USB и U1 card reader controller. его в Вашем случае можно совсем исключить. оставить только U2 и U3. линии D1-D4 подключить к eeprom а S1-4A, S1-4B к разъему или схеме. изменение к чему сейчас подключена eeprom выбором ноги IN на U2,U3. Выше в теме MegaVolt предложил мультиплексоры. вот их нужно и использовать опираясь на эту схему как пример