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

sgrig

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

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

  • Посещение

Репутация

0 Обычный

Информация о sgrig

  • Звание
    Участник
    Участник
  • День рождения 04.09.1962

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. А сколько сегментов на индикаторе? Для меня сомнительно использование float-арифметики на таком дохлом проце. Попробуйте удвоить стек, если компиллятор IAR.
  2. Burnout выключите. Какой проц используете? JTAG или что-то подобное на борту есть?
  3. Самое интересное вот здесь: В исходниках мне не по глазам физическая инициализация АЦП. А почему не использовали AD7793? И опора встроенная, и делитель внутри...
  4. Как говорил незабвенный Жванецкий, тщательнЕе надо... Рекомендованный термометр имеет имеет абсолютную погрешность 0.05 С в диапазоне от -50 до +200 и 0.2 в диапазоне от +200 до +300, что как раз и видно из спецификаций. А посоветован он был потому, что в первом же посте автора топика было написано: Комментировать Вашу идею измерения нет никакого желания, это просто несерьезно.
  5. Разумное решение - купить у нас: http://termexlab.ru/products/metrologyequi.../meters/?id=187 и подключить к своему устройству (если нужно) через RS232. Правда, обойдется не в 50, а в 280USD, но дешевле вряд ли получится.
  6. Я здесь не причем, я ни слова не говорил про герметичность... А вообще-то хотелось бы перевести разговор в плоскость практически значимых результатов типа "делал -> получал", потому что давно живу и из собственного опыта знаю, что теоретики с радостью объснят любой результат, полученный практиками. А через неделю - противоположный...
  7. Окисление-восстановление поверхности платины предполагает наличие кислорода, контактируещего с платиной. При нашей упаковке это исключено. Никогда ничего не слышал про окисление керамики газами при таких температурах, был уверен что это невозможно, но я не химик. Где можно про это почитать? Из термостата (+300) переставляли в криостат (-50), так как заявляли диапазон измерения от -50 до +250. Выдерживали по часу при каждой температуре. Не факт, поплавки все производители ставят. А что за организация?
  8. Stanislav, у меня, к сожалению, нет ни опыта, ни аппаратуры для работы на таких точностях. Пока мой предел - 10мК, сейчас бы хотелось опуститься до 3..5 мК. Дело в том, что мы уже 5 лет выпускаем электронные термометры с погрешностью 0,05К: http://termexlab.ru/products/metrologyequi.../meters/?id=187, но калибруем и поверяем их не в реперах, а в термостатах по эталонам 1-го разряда. За эти годы набрали приличную статистику и поняли, что 10мК (неопределенность нашей аппаратуры) для этих датчиков - не предел, при условии их правильной упаковки (это наше knowhow). Поэтому некоторое время тому назад мы изготовили партию термометров с прицелом на эталоны 3-го разряда и передали их во ВНИИМС для исследования, так как там есть необходимая аппаратура. Поскольку они скептически отнеслись к возможности изготовления таких эталонов на основе пленочных датчиков, нами была изготовлена, по нашей же технологии, и передана им контрольная партия термометров на основе проволочных чувствительных элементов, хороших и дорогих. В результате испытаний они пришли к выводу, что все термометры удовлетворяют требованиям для эталонов 3-го разряда, а различий в стабильности и воспроизводимости между термометрами на основе пленочных и проволочных ЧЭ выявлено не было. Мы же, в свою очередь, несколько месяцев перед отправкой все термометры термоциклировали и проверяли их уход в репере галлия, правда вторичка была самодельная, неаттестованная, но с разрешением и долговременной стабильностью 1мК. По нашим данным получилось, что у пленочных уход был несколько меньше. Поэтому-то меня очень заинтересовало столь категоричное заявление Tanya, я рассчитывал получить результаты ее исследований с выводами, противоположными нашим и ВНИИМС.
  9. Дело в том, что подложка изготовлена из очень приличной керамики, а даже плохая керамика имеет очень малый коэффициент линейного расширения, существенно меньший, чем платина. Поэтому, как мне кажется, все с точностью до наоборот. С результатами ВЗЛЕТа я знаком, у меня есть данные по другому производителю, и они отличаются. Да, НСХ для пленочных ПТС должна быть другая, но воспроизводится она значительно лучше. Стабильность также похвальная. У меня создается впечатление, что производители сами до конца не понимают, что же они делают.
  10. Прошу прощения, но на чем основано столь категоричное утверждение? Проводились ли исследования? Где, кем, на каких типах датчиков и какого производителя, в каком диапазоне температур и какова выборка? Вопрос не праздный, сам почти 5 лет мучаю такие изделия одного очень уважаемого производителя, и пока прихожу к противоположному выводу.
  11. При internal full-scale калибровке, когда включена внутренняя опора и GAIN=1, FULL-SCALE REGISTER всегда получает значение по умолчанию (прописанное на заводе). При других GAIN-х все нормально. Zero-scale калибровка тоже работает правильно. Самое забавноое, что и системная full-scale калибровка работает корректно. И если снаружи подцепить опору 2.5В, то тоже все нормально. Изменение скорости и пр. параметров ситуацию не меняет. Саму м/с заменил - те же о|о, вид сбоку. Я в тотальных непонятках. Может, кто сталкивался с подобными чудесами? На плату не грешу - шумы даже меньше обещанных...
  12. Вот, по-моему, идеальный вариант: http://termexlab.ru/products/metrologyequi.../meters/?id=187 Дешевле вряд ли получится. А сюда можно подключить термопару: http://termexlab.ru/products/metrologyequi.../meters/?id=103
  13. Победил так: цикл обращения к SPI вынес в отдельную функцию, в которой первым делом чищу приемный буфер: u8 send_spi(u8 byte) { /* Flush away any rogue data in rx buffer */ if (SPI_I2S_GetFlagStatus(AD7793_SPI, SPI_I2S_FLAG_RXNE) == SET) SPI_I2S_ReceiveData(AD7793_SPI); /* Loop while DR register in not empty */ while(SPI_I2S_GetFlagStatus(AD7793_SPI, SPI_I2S_FLAG_TXE) == RESET); /* Send byte through the AD7793_SPI peripheral */ SPI_I2S_SendData(AD7793_SPI, byte); /* Wait to receive a byte */ while(SPI_I2S_GetFlagStatus(AD7793_SPI, SPI_I2S_FLAG_RXNE) == RESET); /* Return the byte read from the SPI bus */ return SPI_I2S_ReceiveData(AD7793_SPI); } Все заработало как часы. Самое смешное, что вернул MISO в состояние GPIO_Mode_AF_PP, что противоречит документации. А все работает!
  14. Вы абсолютно правы, этот момент я упустил. Но беда в том, что все осталось на месте, хотя в процедуру инициализации GPIO внес изменения: /* Configure SPI1 pins: NSS, SCK and MOSI as alternate functions -----------*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_7; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); /* Configure SPI1 pin: MISO as pull-up input -------------------------------*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_UPD; GPIO_Init(GPIOA, &GPIO_InitStructure);
  15. Почему? С чего вы взяли? Здесь все ноги настроены на альтернативные функции, насколько я понимаю.
×
×
  • Создать...