AMS

AMS production

AMS_AS5600(Position sensor)

前言 A position sensor is a sensor that facilitates measurement of mechanical position. The AS5600 is an easy to program magnetic rotary position sensor with a high-resolution 12-bit analog or PWM output. The AS5600 is also equipped with a smart low power mode feature to automatically reduce the power consumption. Design Note AS5600有部分硬體設置重點,第一點是磁鐵選用,磁體尺寸盡可能是圓形因為他是感受磁場垂直變化(尺寸規範如下)且這邊注意磁鐵是使用對稱 第二點在裝置上也不能偏移太多,下圖是偏移對磁場變化影響圖與實際規範範圍圖,可以看到雖然是有容許裝置範圍但不可無限制偏移 Coding Sample 這邊選用I2C來做為範例可以先參考下圖Register map I2C傳輸 這邊只需要注意它的部分傳輸是分2筆,每筆DATA 8Bit因此在讀完整Data時與一般SPI不同是分2個register讀取 […]

AMS_AS5600(Position sensor) Read More »

AMS Position Sensor AS5047P introduction

簡介Position Sensor A position sensor is a sensor that facilitates measurement of mechanical position. A position sensor may indicate absolute position (location) or relative position (displacement), in terms of linear travel, rotational angle, or three-dimensional space. Postition sensor的樣式很多元下表展示 比較表 可以看到目前量測位置的Sensor有以上這6種為主流,目前市面上常使用的的分別為Indutive、Hall_Effect、Magnetic Encoder這3類,其中Indutive的門檻較高主要是需要參考PCB的線圈繞現有一定規範可以看下圖,可以看到不同的線圈繞線方式對於波形會有不同且一般廠商不會PCB繞線Suporrt設計與驗證,因此Hall_Effect、Magnetic Encoder為大宗其中因為價格因素又以Hall_Effect更為廣泛 AMS Magnetic Encoder工作原理圖 這邊介紹Magnetic Encoder是以AMS的為主軸介紹,可以看到下方比較表AMS比Allegro有更短的響應時間,雖然在解析度上輸,但響應時間在馬達控制上會更為重要。再來是AMS產品使用的是垂直磁場變化與一邊水平磁場不同有更好的抗周邊磁場能力 SPI Setting on STM32 and Coding Sample 這邊選比較需要解釋的SPI,看Datasheet裡可以看到每筆16bit的前2Bit是有額外定義,主要Data是由後面的14Bit來資料傳輸,但使用SPI傳輸完整還是16bit傳輸 這邊可以看到Datasheet裡分別有Read和Write傳輸這邊可以看到在讀取發送訊息後是下一筆Data的時間差才會收到DATA下面放上讀取範例 SPI讀取資料 SPI應用Position sensor 參考

AMS Position Sensor AS5047P introduction Read More »

AMS TCS3430 coding on STM32(Arduino)

    前言 該設備具有先進的環境傳感(ALS)和C IE 1931三刺激顏色控制(和C光傳感)。每個設備通道過濾器來使其能夠準確地測量環境環境,並根據光學特性來測量環境。顏色。這些用於計算色度、照度和色溫,所有這些都支持各種潛在的應用程序。 DFRobot_TCS3430 Nucleo-F401RE 連線 傳感器板子與上圖Nucleo-F401RE腳位對接部分硬件即完成   注意此板是3.3V非5V,與I2C的腳為傳感器板是含電阻的,如果是焊路電路板記得要外加電阻正常 編碼流程   首先在開始感應前先把TCS3430內的記憶體reset才不會造成I2C編寫指令錯誤   The Sensor Initialization         首先在開始Sensing前要先把TCS3430內的ADC等等全部重新設定,避免I2C寫入或讀取Fail     初始化表         初始化完成後即可抓取Data         其中getXData()等等涵式庫如下以此類推         額外設定     setWaitTimer/setALSGain/setHighGAIN     以上等等不同Gain設定最主要是影響感光程度可把其調整得更加敏感,Wait time主要是看檢測時間間隔用於節電     校正與Lux / CCT Calculations

AMS TCS3430 coding on STM32(Arduino) Read More »

AMS Time-of-Flight sensor ( TMF8801 )on STM32 -2

前言 上篇主要針對AMS TOF TMF8801初始化與FactoryCalib做初步介紹完了這邊介紹他如何獲取量測資訊與流程下圖表流程圖為主要我去彙整TMF8801上篇的流程圖上篇,不清楚的看官可以針對這表格再比對一下  Get sensor distancePeak data and Confidence 在抓取資訊後發現奇怪TMF8801怎只能抓取到最遠660mm!!! 後續花很長時間比對與AMS官網上放的Firmware 發現有些地方不同且網路資訊很多都沒寫到,重點官網上竟然Application Note也沒寫到 是需要做Firmware upload TMF8801才能達到官網規格最遠2.5M 解讀Firmware upload 首先先到官網下載Firmware開啟下圖的文件(用記事本即可) 程式代碼 主要加入這3個步驟把Data一個一個寫入因為STM32的MCU架構與MPU Linux系統不同,無法讀取外部檔案所以這邊是把data解析出來後存到陣列裡 第一步download_INT_RAM()主要先讓TMF8801 RAM全部初始化方便後續把data陸續寫入 第二步寫入Data 第3步相對簡單只是Datasheet要求的你把RAM寫入Data後要做一次復歸動作

AMS Time-of-Flight sensor ( TMF8801 )on STM32 -2 Read More »

AMS Time-of-Flight sensor ( TMF8801 ) -1

前言 A time-of-flight camera (ToF camera) is a range imaging camera system employing time-of-flight techniques to resolve distance between the camera and the subject for each point of the image, by measuring the round trip time of an artificial light signal provided by a laser or an LED.這邊選用SparkFun Qwiic Time-of-Flight Sensor TMF8801模組來當驅動模板搭配STM32F401RE的Nucleo-F401RE板子 這邊使用TMF8801與Nucleo-F401RE作為開發工具以下開始程式範例與接線說明 TMF8801介紹 TMF8801是2019年AMS推出的用于测量(dToF)距離的集成式模塊,號稱當時體積最小。這個Sensor可以精準測量0.02m至2.5m範圍,實際量測在100KLux陽光底下大約剩下60cm可以外加一些裝置最大只能Gan到1M,暗室下能夠測量到2.5m,2m以内基本都能量測到。相比VL53L0X測距模組,测量距離與準度是相對好些。 Features Direct ToF technology with high sensitivity

AMS Time-of-Flight sensor ( TMF8801 ) -1 Read More »

Shopping Cart