St microelectronics 3 axis digital accelerometer solution что это за программа

Подключаем акселерометр LIS3DSH

Тема нашего сегодняшнего занятия – подключение более нового акселерометра по сравнению с тем, который мы использовали для изучения в уроке 39. Данный акселерометр – это также акселерометр, выполненный с использованием технологии MEMS – LIS3DSH .

Во-первых, данный акселерометр наряду с интерфейсом I2C может подключиться и с использованием интерфейса SPI, что делает более надёжной передачу данных и их использование. Во-вторых, данный акселерометр установлен на плате STM32F4 Discovery, с которой мы уже очень продолжительное время работаем, и она уже стала как родная. И это я считаю немаловажной мотивацией. Ну а в-третьих, имеет более совершенные технические характеристики:

Диапазон показаний ±2g/±4g/±6g/±8g/±16g;

Чувствительность 0.06-0.73 mg/digit;

Отклонение от нуля ±60 mg.

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

Проект для Cube MX мы создадим из одного из прошлых проектов USB_OTG_CDC, так как вместо USART для передачи показаний акселерометра на ПК мы попробуем воспользоваться USB CDC Device, так как с ним работать более удобно ввиду необязательности использования каких-то промежуточных переходников. Назовем проект ACCEL407.

Запустим проект в Cube MX, отключим I2C, включим SPI1 в режим Full-Duplex Master

image01

Ножки SPI оставим по умолчанию и никуда не перенаправляем

image03

Включим еще 3 ножки. Одну для выбора чипа (CS), другие две для обнаружения прерываний. Возможно последние нам не понадобятся, но для порядка включим, чтобы по ошибки их не задействовать впоследствии на что-то еще.

image02

Также включим на выход лапки портов для управления разноцветными светодиодами на плате

image05

В настройках SPI изменим только скорость передачи

image04

Также изменим настройки в GPIO у лапки порта PE3, выставив ему скорость Medium.

image07

Зайдем в Project -> Settings и изменим там значения стека и кучи, чтобы USB-устройство после установки драйвера нам не давало ошибку (Код 10).

image06

Сгенерируем проект и откроем его в Keil 5. Также по традиции настроим программатор на авторезет. Соберем проект.

Уберем всё, что касается символьного дисплея, так как он нам, скорее всего не потребуется. Уберем подключение библиотеки из main.h:

Здесь оставим только передачу в USB, чтобы проверить, работает ли она.

/* USER CODE BEGIN 2 */

Читайте также:
Inshot что это за программа на Андроид как

/* USER CODE END 2 */

В бесконечном цикле также оставим только то, что касается передачи в USB

/* USER CODE END WHILE */

Прошьем контроллер, чтобы убедиться в работоспособности порта USB и удалим теперь всю передачу, массив строки и подготовку строки:

/* USER CODE END PV */

/* USER CODE BEGIN 2 */

/* USER CODE END 2 */

/* USER CODE END WHILE */

/* USER CODE END 1 */

Также из файла usbd_cdc_if.c удалим следующие строки, а одну строку раскомментируем обратно:

/* USER CODE BEGIN PRIVATE_VARIABLES */

extern char str_rx[21];

/* USER CODE END PRIVATE_VARIABLES */

static int8_t CDC_Receive_FS (uint8_t* Buf, uint32_t *Len)

/* USER CODE BEGIN 6 */

/* USER CODE END 6 */

Пересоберём на всякий случай проект, чтобы убедиться, что ошибок у нас нет.

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

Названия, соответственно, изменятся на lis3dsh.h и lis3dsh.c. Заодно удалим из Inc и Src файлы lcd.h и lcd.c. Подключим данные файлы, добавив lis3dsh.c в проекте в группу Application/User, а lis3dsh.h подключив в main.h. Также внесем макроподстановки, наподобие тех, которые мы вносили в проекте под 3 discovery для удобного управления светодиодами.

#define LD_PORT GPIOD

#define LD3 GPIO_PIN_13 //ORANGE

#define LD4 GPIO_PIN_12 //GREEN

#define LD5 GPIO_PIN_14 //RED

#define LD6 GPIO_PIN_15 //BLUE

#define LD3_ON HAL_GPIO_WritePin(LD_PORT, LD3, GPIO_PIN_SET) //ORANGE

#define LD4_ON HAL_GPIO_WritePin(LD_PORT, LD4, GPIO_PIN_SET) //GREEN

#define LD5_ON HAL_GPIO_WritePin(LD_PORT, LD5, GPIO_PIN_SET) //RED

#define LD6_ON HAL_GPIO_WritePin(LD_PORT, LD6, GPIO_PIN_SET) //BLUE

#define LD3_OFF HAL_GPIO_WritePin(LD_PORT, LD3, GPIO_PIN_RESET) //ORANGE

#define LD4_OFF HAL_GPIO_WritePin(LD_PORT, LD4, GPIO_PIN_RESET) //GREEN

#define LD5_OFF HAL_GPIO_WritePin(LD_PORT, LD5, GPIO_PIN_RESET) //RED

#define LD6_OFF HAL_GPIO_WritePin(LD_PORT, LD6, GPIO_PIN_RESET) //BLUE

Состав данных файлов после внесения изменений.

Содержимое файла lis3dsh.h:

#define LD_PORT GPIOD

#define LD3 GPIO_PIN_13 //ORANGE

#define LD4 GPIO_PIN_12 //GREEN

#define LD5 GPIO_PIN_14 //RED

#define LD6 GPIO_PIN_15 //BLUE

#define LD3_ON HAL_GPIO_WritePin(LD_PORT, LD3, GPIO_PIN_SET) //ORANGE

#define LD4_ON HAL_GPIO_WritePin(LD_PORT, LD4, GPIO_PIN_SET) //GREEN

#define LD5_ON HAL_GPIO_WritePin(LD_PORT, LD5, GPIO_PIN_SET) //RED

#define LD6_ON HAL_GPIO_WritePin(LD_PORT, LD6, GPIO_PIN_SET) //BLUE

#define LD3_OFF HAL_GPIO_WritePin(LD_PORT, LD3, GPIO_PIN_RESET) //ORANGE

#define LD4_OFF HAL_GPIO_WritePin(LD_PORT, LD4, GPIO_PIN_RESET) //GREEN

#define LD5_OFF HAL_GPIO_WritePin(LD_PORT, LD5, GPIO_PIN_RESET) //RED

#define LD6_OFF HAL_GPIO_WritePin(LD_PORT, LD6, GPIO_PIN_RESET) //BLUE

Содержимое файла lis3dsh.c:

static void Error (void)

uint8_t Accel_IO_Read(uint16_t DeviceAddr, uint8_t RegisterAddr)

Читайте также:
Что за программа мастер тур

void Accel_IO_Write(uint16_t DeviceAddr, uint8_t RegisterAddr, uint8_t Value)

uint8_t ctrl = 0x00;

void Accel_AccFilterConfig(uint8_t FilterStruct)

void AccInit(uint16_t InitStruct)

void Accel_GetXYZ(int16_t* pData)

Вызовем инициализацию датчика в main();

/* USER CODE BEGIN 2 */

/* USER CODE END 2 */

В функции-обработчике ошибки включим красный светодиод

static void Error (void)

Добавим хэндл нашего SPI:

extern SPI_HandleTypeDef hspi1;

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

Источник: narodstream.ru

St microelectronics 3 axis digital accelerometer solution что это за программа

LSM303AGRTR STMicroelectronics, 3-Axis Accelerometer, 12-Pin LGA

* УТОЧНЯЙТЕ ВОЗМОЖНОСТЬ, ЦЕНУ И СРОК ПОСТАВКИ, В СВЯЗИ С ОГРАНИЧЕНИЕМ ЭКСПОРТА ТОВАРОВ ИЗ СТРАН ЕС И ВЕЛИКОБРИТАНИИ

  • Описание и тех. спецификация
  • Характеристики
  • Способы доставки

ST’s e-Compasses include combo solutions built around a 3-axis digital accelerometer with a 3-axis digital magnetic sensor in a single LGA package, as well as standalone 3-axis digital magnetic sensors for designing solutions where the magnetic sensor must be located in a specific position on a printed circuit board. Designed to accurately detect the direction and magnitude of external magnetic fields, ST’s e-Compasses use accelerometer measurements for tilt compensation, thus ensuring very accurate compass headings even when handheld or mobile devices are inclined.

3 magnetic field channels and 3 acceleration channels
16-bit data output
SPI / I2 C serial interfaces
Analog supply voltage 1.71 V to 3.6 V
Selectable power mode/resolution for accelerometer and magnetometer
Single measurement mode for magnetometer
Programmable interrupt generators for free-fall, motion detection and magnetic field detection
Embedded self-test
Embedded temperature sensor
Embedded FIFO

Техническая спецификация
1637327_DataSheet 1

Источник: rs-catalog.ru

Accelerometer Calibration

Accelerometer Calibration — это простое, но очень полезное приложение, которое самостоятельно откалибрует ваш акселерометр на мобильном устройстве. Бывает что со временем данный датчик теряет свои свойства, от чего плавность и точность управления движениями при помощи акселерометра снижается. Данный эффект особенно сказывается во время игры в гонки при помощи наклонов смартфона!

Accelerometer Calibration фото

Следовательно время от времени стоит настраивать акселерометр, чтобы каждое ваше движение было интуитивным. Для этого всего лишь нужно запустить приложение, и наклоняя устройство установить красный кружок в центр черного квадрата. После этого нажмите на кнопку «Откалибровать», и программа самостоятельно проведёт все настройки.

Accelerometer Calibration фото 2

Приложение также можете автоматически проверять правильность работы акселерометра, и уведомлять вас о необходимости проведения настройки. Интерфейс программы очень простой, практически каждый сможет разобраться в функционале. Скачайте и проверьте ваш смартфон, нужно ли вам откалибровать датчик наклона!

  • Простой и понятный интерфейс;
  • Быстрая настройка акселерометра;
  • Автоматическая проверка необходимости настройки;
  • Не требуется много ресурсов для работы.
Читайте также:
Что за программа обслуживание устройства на телефоне

Источник: androidvip.net

Digital Microscope

Digital Microscope – это программа, которая состоит из утилит и драйверов для обеспечения работы с микроскопом «CoolingTech», который подключается по USB-интерфейсу 500X. В состав установочного пакета входят вспомогательные компоненты, которые обеспечивают работу этого устройства.

Этот софт инсталлирует драйверы и инструменты, активирующие работу цифрового микроскопа. Digital Microscope распространяется на официальной основе. Закачав архив с этой программой, вы не обнаружите библиотеки .NET Framework для обладателей старых сборок OS Windows. В состав программы входит подробная справка, но драйверы созданы без русского языка.

Об устройстве

Digital Microscope, не относится к разряду профессионального оборудования, но в этом микроскопе есть множество функций. Он оснащен CMOS сенсором высокого уровня, который работает на фокусном расстоянии от 0 до 40 мм.

Кроме того, аппарат оснащён LED-подсветкой, уровень «света» которой, вы настраиваете самостоятельно. В аппарате есть такие плюсы, как увеличение цифрового масштаба в пять раз и функция «захвата» картинки в разрешении до 640 на 480.

Питание к микроскопу поставляется от USB-порта. Создатели программы и оборудования заявили о поддержке интерфейса USB версии 1.1 и 2.0. Если на вашем компьютере есть 3.0 версия, то вы можете столкнуться с проблемами. Установив соответствующий драйвер, вы подключите микроскоп к компьютеру, который обнаружится в автоматическом режиме.

Установка драйверов

Распаковав закачанный архив, запустите файл autorun.exe. В практичном меню вы можете выбрать необходимый драйвер, саму программу и вспомогательные утилиты. Не забывайте о том, что эта программа работает с неполадками на новых OS Windows. Запускайте инсталлятор, используя режим совместимости или под «Администратором».

Ключевые особенности

  • инсталлирует нужный софт для микроскопа U500X;
  • в драйверах удобное меню автозагрузки;
  • программное обеспечение состоит из справки и вспомогательных инструментов;
  • драйверы доступны бесплатно;
  • на новых OS Windows программа работает с неполадками;
  • графический интерфейс программы создан в простом оформлении и не содержит сложных функций;
  • драйверы работают через интерфейс USB 1.1 и 2.0 версии, а на 3.0 микроскоп работает только после установки специального драйвера в операционную систему.

Источник: softdroids.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru