Zeal0t
-
Постов
80 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Zeal0t
-
-
-
быть может режим/обмен 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
-
попробуйте ему послать несколько команд перед чтением данных с него.
в частности записать нужные значения в регистры 0x6B, 0x1A,0x19,0x1B,0x1C
-
Опубликовано · Изменено пользователем Zeal0t · Пожаловаться
-
Добрый день.
Дали плату на ремонт/реверс, но никак не могу определить на ней 2 элемента из установленных.
Нечто в корпусе SOT23-6 с маркировкой BB7L. Стоит после антенны до операционного усилителя.
Нечто в корпусе SOT23-5 с маркировкой VC3. Насколько я понял используется как задающая сигнал CLK для фильтров MAX7490.
Перерыл весь интернет - не ищутся даже похожие. В аналоговых м/с не гуру - прошу помощи.
Спасибо.
-
Опубликовано · Изменено пользователем Zeal0t · Пожаловаться
-
Опубликовано · Изменено пользователем Zeal0t · Пожаловаться
3 minutes ago, Сергей Борщ said:Чисто спортивный интерес: какие рассуждения привели вас к этому выводу?
скорее всего от того, что настраивается как SYSCFG->EXTICR[3] значит и прерывание тоже 3-е ))
p.s. угадал )
-
вместо EXTI3_IRQHandler нужно использовать EXTI15_10_IRQHandler и там внутри разбирать от 13 линии это запрос или нет
-
2 hours ago, DpInRock said:
ЕСть нонэйм контроллер BDLC с интеллектуальным модулем (Мицубиши на 35 ампер) и IR..341 (процессор) в качестве управления.
Питается от трехфаз без заземления. 6 диодов в выпрямителе.
Чисто теоретически, подав 220 вольт на пару фаз не вижу причин ему умирать.
Но поскольку у меня задача не спалить нафик этот девайс, хотел бы перестраховаться советом поевшим пыль на этой дороге.
3 фазы там скорее всего пробрасываются через его коммутацию на двигатель, а сам контроллер питается от одной из фаз и нуля. можно попробовать подать ему на заземление 0 розетки и на одну из фаз фазу розетки. внутренняя логика должна взлететь
-
Опубликовано · Изменено пользователем Zeal0t · Пожаловаться
-
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 команду АЦП -
есть #pragma pack
но это больше относится к данным
-
Опубликовано · Изменено пользователем Zeal0t · Пожаловаться
9 minutes ago, Mysteo said:Кнопка к сожалению двух контактная , обычная тактовая кнопка
поставить кнопку параллельно конденсатору подключенному к цепи сброса МК нельзя схематично? просто разряжать конденсатор в цепи сброса на землю и все.
-
основная функция PB4 - RST для JTAG. если пробуете под отладчиком то его нужно или отключать если не используется и еще, возможно, перемаппировать с отладочной ноги на GP/AF ногу
-
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
-
Опубликовано · Изменено пользователем Zeal0t · Пожаловаться
8 hours ago, Сергей Борщ said:А они там есть?
Ну если можно измерить VREF, то значит его можно с чем то сравнить и использовать далее. Не могу точно утверждать про 103 серию, но в STM32L15x есть такие коэффициенты и для VREF и для датчика температуры.
Для температуры похоже действительно нет. Есть только данные из даташита про параметры температуры.
-
Опубликовано · Изменено пользователем Zeal0t · Пожаловаться
при измерении температуры учитываются коэффициенты прошитые в камне?
если делать измерение канала АЦП для температуры и далее эти данные преобразовывать на основании этих коэффициентов помогает?
VREF используется при вычислениях? измеряется и сравнивается с калиброванным из камня? как физически организован?
-
1 hour ago, ZeratulSC007 said:
И непонятно, зачем ставить два резистора на 820 кОм (почему не один на 1.6 МОм, вижу это уже не впервой).
возможно что бы не грелся. на 2 больше мощности можно рассеять.
-
-
21 hours ago, smk said:
Начинаем править - измерение дает неправильный результат.
А если ничего не исправлять, а собрать в том виде что есть в оригинале? Измерения сбиваются?
-
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 и если подпрограмма вывода очередного такого то блока не проверяет какие то параметры, длины и прочее - то и могут возникнуть глюки.
-
-
Опубликовано · Изменено пользователем Zeal0t · Пожаловаться
сигнал E- подключить через точный резистор. сигнал до резистора брать как данные по весу, после резистора как корректировку по температуре. что бы это потом использовать - придется делать калибровку датчика на стабильной положительной и отрицательной температуре в нескольких точках. на основании этих 4-х графиков делать вычисления веса.
-
Опубликовано · Изменено пользователем Zeal0t · Пожаловаться
9 minutes ago, Arnold said:нет. это USB и U1 card reader controller. его в Вашем случае можно совсем исключить. оставить только U2 и U3. линии D1-D4 подключить к eeprom а S1-4A, S1-4B к разъему или схеме. изменение к чему сейчас подключена eeprom выбором ноги IN на U2,U3.
Выше в теме MegaVolt предложил мультиплексоры. вот их нужно и использовать опираясь на эту схему как пример
обработать данные с амплитудной манипуляцией
в Алгоритмы ЦОС (DSP)
Опубликовано · Пожаловаться
добрый день
имеется передатчик, который отправляет на частоте 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 отсчете.
спасибо.