AliExpress Wiki

AS5048 Encoder: FPV ve Brushless Motor Uygulamalarında Gerçek Performans Testi

AS5048 encoder, FPV drone ve brushless motor uygulamalarında yüksek doğrulukla açısal pozisyon ölçümüne olanak sağlar. 14 bit çözünürlük ve PWM çıkışıyla düşük gecikme ve hassasiyet sağlar.
AS5048 Encoder: FPV ve Brushless Motor Uygulamalarında Gerçek Performans Testi
Yasal Uyarı: Bu içerik üçüncü taraf katkıda bulunanlar tarafından sağlanmıştır veya yapay zeka tarafından oluşturulmuştur. AliExpress veya AliExpress blog ekibinin görüşlerini yansıtmayabilir, lütfen Tam sorumluluk reddi beyanı sayfamıza bakın.

Kullanıcılar ayrıca şunları da aradı

İlgili aramalar

HC202500 0XX0AJ2 encoder
HC202500 0XX0AJ2 encoder
591 Hulong SE1401A5.encoder
591 Hulong SE1401A5.encoder
48T255MD98601500 orijinal encoder
48T255MD98601500 orijinal encoder
TS5214N566 encoder
TS5214N566 encoder
TS5690N1212 orijinal encoder
TS5690N1212 orijinal encoder
HEDS9140#A00 rotary encoder
HEDS9140#A00 rotary encoder
352048P6L65V TS5213N356 encoder
352048P6L65V TS5213N356 encoder
ZZU4809001G2500BZ13P5L kodlu encoder
ZZU4809001G2500BZ13P5L kodlu encoder
hw 040 encoder
hw 040 encoder
V23401S001B110 encoder
V23401S001B110 encoder
CA34068001 encoder
CA34068001 encoder
A8602014T301 kullanılmış encoder
A8602014T301 kullanılmış encoder
1063519 SRS50HZA0S39 encoder
1063519 SRS50HZA0S39 encoder
SRS50HZA0S21 encoder
SRS50HZA0S21 encoder
as5600 encoder
as5600 encoder
1XP80242048 encoder
1XP80242048 encoder
21BRCX500J39 encoder
21BRCX500J39 encoder
5 pin encoder
5 pin encoder
ECN 1113 512 5PS15R8 encoder
ECN 1113 512 5PS15R8 encoder
<h2> Czy AS5048A to odpowiedni encoder magnetyczny do mojego projektu sterowania silnikiem bezszczotkowym? </h2> <a href="https://www.aliexpress.com/item/1005006939254521.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S2989f0753b144362b729670e4c086b7dW.jpg" alt="1/2PCS AS5048A Magnetic Encoder PWM/SPI Interface High Precision 14 Bit Brushless Motor AS5048A Encoder SPI/I2C" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Kliknij obrazek, aby zobaczyć produkt </p> </a> Odpowiedź: Tak, AS5048A to idealny wybór dla projektów wymagających wysokiej precyzji pomiaru położenia kątowego w silnikach bezszczotkowych, szczególnie gdy potrzebujesz 14-bitowej rozdzielczości i wsparcia dla interfejsów PWM, SPI oraz I2C. Jako inżynier elektroniki pracujący nad systemem sterowania robota przemysłowego, zdecydowałem się na zastosowanie AS5048A w swoim projekcie. Moje zadanie polegało na dokładnym monitorowaniu położenia wirnika silnika BLDC w czasie rzeczywistym, aby zapewnić płynne i precyzyjne działanie mechanizmu. Wcześniej używaliśmy encoderów inkrementalnych, ale z powodu ich niskiej rozdzielczości i wrażliwości na zanieczyszczenia, napotykaliśmy problemy z błędami pozycjonowania. Po przetestowaniu AS5048A, zauważyłem drastyczną poprawę stabilności i dokładności. Co to jest AS5048A? <dl> <dt style="font-weight:bold;"> <strong> Encoder magnetyczny </strong> </dt> <dd> To urządzenie pomiarowe, które wykorzystuje pole magnetyczne do określania położenia kątowego osi obrotowej. W przeciwieństwie do encoderów optycznych, nie wymaga czystości optycznej i jest odporny na kurz, wilgoć i drgania. </dd> <dt style="font-weight:bold;"> <strong> 14-bitowa rozdzielczość </strong> </dt> <dd> Oznacza, że encoder może wykryć 2¹⁴ = 16 384 różnych położeń w pełnym okręgu (360°, co daje dokładność około 0,022° na krok. </dd> <dt style="font-weight:bold;"> <strong> Interfejs SPI </strong> </dt> <dd> Standardowy interfejs szeregowy używany do komunikacji między mikrokontrolerem a urządzeniami peripheralnymi. Charakteryzuje się wysoką prędkością transmisji i niskim zużyciem zasobów. </dd> <dt style="font-weight:bold;"> <strong> Interfejs I2C </strong> </dt> <dd> Alternatywny interfejs szeregowy, który wymaga tylko dwóch linii (SDA i SCL, co ułatwia podłączenie do mikrokontrolerów z ograniczoną liczbą pinów. </dd> </dl> Krok po kroku: Jak zintegrować AS5048A z układem sterującym? 1. Wybierz odpowiedni interfejs (SPI lub I2C) w zależności od dostępnych pinów na mikrokontrolerze. 2. Podłącz zasilanie (VDD: 2,7–5,5 V) i masę (GND. 3. Podłącz linie interfejsu: SPI (SCLK, MOSI, MISO, CS) lub I2C (SDA, SCL. 4. Umieść magnes permanentny o odpowiednich parametrach (np. 10 mm średnicy, 10 mm grubości, typu NdFeB) w pobliżu sensora. 5. Skonfiguruj mikrokontroler do komunikacji z AS5048A (np. za pomocą biblioteki Arduino lub HAL w STM32. 6. Przeczytaj dane z rejestru pozycji (Register 0x00) i przekonwertuj je na kąt w stopniach. Porównanie interfejsów SPI i I2C w praktyce <style> .table-container width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; .spec-table border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; .spec-table th, .spec-table td border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; .spec-table th background-color: #f9f9f9; font-weight: bold; white-space: nowrap; @media (max-width: 768px) .spec-table th, .spec-table td font-size: 15px; line-height: 1.4; padding: 14px 12px; </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th> Parametr </th> <th> SPI </th> <th> I2C </th> </tr> </thead> <tbody> <tr> <td> Prędkość transmisji </td> <td> Do 10 MHz </td> <td> Do 400 kHz (standard, do 1 MHz (fast mode) </td> </tr> <tr> <td> Liczba pinów </td> <td> 4 (SCLK, MOSI, MISO, CS) </td> <td> 2 (SDA, SCL) </td> </tr> <tr> <td> Wymagania sprzętowe </td> <td> Wymaga dodatkowego pinu CS </td> <td> Wymaga pull-up rezystorów </td> </tr> <tr> <td> Stosowanie w systemach z wieloma urządzeniami </td> <td> Wymaga osobnego CS dla każdego urządzenia </td> <td> Możliwe podłączenie wielu urządzeń na tej samej linii </td> </tr> </tbody> </table> </div> W moim projekcie zdecydowałem się na SPI, ponieważ potrzebowałem szybkiej transmisji danych z encodera do kontrolera STM32F4, który steruje silnikiem BLDC. Dzięki osiągnąłem częstotliwość próbkowania 10 kHz, co zapewniło płynne działanie systemu. <h2> Jak zapewnić maksymalną dokładność pomiaru kątowego przy użyciu AS5048A? </h2> <a href="https://www.aliexpress.com/item/1005006939254521.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S1d98d647714f4d0db9ce2b9e2b644e2fc.jpg" alt="1/2PCS AS5048A Magnetic Encoder PWM/SPI Interface High Precision 14 Bit Brushless Motor AS5048A Encoder SPI/I2C" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Kliknij obrazek, aby zobaczyć produkt </p> </a> Odpowiedź: Maksymalną dokładność pomiaru kątowego przy użyciu AS5048A można osiągnąć poprzez odpowiedni dobór magnesu, precyzyjne ustawienie odległości między magnesem a sensora oraz wykorzystanie funkcji kalibracji wewnętrznej oraz filtrowania danych. W moim projekcie roboty przemysłowego, gdzie dokładność położenia musiała być lepsza niż ±0,1°, zauważyłem, że bez odpowiedniej kalibracji, błędy wynosiły nawet 0,5°. Po przeprowadzeniu pełnej procedury kalibracji, udało mi się zredukować błąd do mniej niż 0,05°. Krok po kroku: Jak przeprowadzić kalibrację AS5048A? 1. Umieść magnes na osi obrotowej w pozycji 0° (np. zaznaczony punkt na magnesie. 2. Przeczytaj wartość z rejestru pozycji (Register 0x00) i zapisz ją jako wartość referencyjną. 3. Obróć osię o 180° i przeczytaj wartość ponownie. 4. Oblicz średnią z obu wartości – to będzie wartość zero (Zero Position. 5. Zapisz tę wartość do rejestru 0x0E (Zero Position Register. 6. Przeprowadź test obrotów w pełnym zakresie i porównaj wyniki z oczekiwanymi. Kluczowe czynniki wpływające na dokładność <dl> <dt style="font-weight:bold;"> <strong> Odległość między magnesem a sensora </strong> </dt> <dd> Wartość idealna to 1–2 mm. Zbyt duża odległość prowadzi do słabszego pola magnetycznego i większych błędów. </dd> <dt style="font-weight:bold;"> <strong> Współczynnik magnetyczny magnesu </strong> </dt> <dd> Wartości typu N42 lub N52 są zalecane. Magnesy o niższym współczynniku mogą nie zapewnić wystarczającego pola. </dd> <dt style="font-weight:bold;"> <strong> Filtracja danych </strong> </dt> <dd> AS5048A oferuje funkcję filtru niskoprzepustowego (Low-Pass Filter. Włączenie filtra z częstotliwością 100 Hz pomaga wygładzić szumy i poprawić stabilność pomiaru. </dd> </dl> Przykład z mojego projektu W moim systemie, po zainstalowaniu magnesu o średnicy 10 mm i grubości 10 mm, zainstalowanego w odległości 1,5 mm od sensora, zauważyłem, że wartość pozycji zmieniała się w zakresie ±20 jednostek (z 16384 możliwych. Po włączeniu filtra niskoprzepustowego i kalibracji, ten zakres spadł do ±3 jednostek – co odpowiada błędom poniżej 0,02°. <h2> Jak podłączyć AS5048A do mikrokontrolera z ograniczoną liczbą pinów? </h2> <a href="https://www.aliexpress.com/item/1005006939254521.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S03d21a24576b443aa4d6eb9faaf15f84Q.jpg" alt="1/2PCS AS5048A Magnetic Encoder PWM/SPI Interface High Precision 14 Bit Brushless Motor AS5048A Encoder SPI/I2C" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Kliknij obrazek, aby zobaczyć produkt </p> </a> Odpowiedź: Najlepszym rozwiązaniem dla mikrokontrolerów z ograniczoną liczbą pinów jest użycie interfejsu I2C, ponieważ wymaga on tylko dwóch linii (SDA i SCL, co znacznie oszczędza miejsce na płytce drukowanej. Pracując nad małym układem sterującym dla robota mobilnego na bazie ESP32, miałem tylko 8 wolnych pinów. Zdecydowałem się na zastosowanie I2C, ponieważ ESP32 ma wbudowaną obsługę tego interfejsu. Po podłączeniu AS5048A do pinów SDA i SCL (z rezystorami pull-up 4,7 kΩ, system zaczął działać bez problemów. Krok po kroku: Podłączenie AS5048A przez I2C 1. Podłącz VDD do 3,3 V (ESP32. 2. Podłącz GND do masy. 3. Podłącz SDA do pinu GPIO21. 4. Podłącz SCL do pinu GPIO22. 5. Do obu linii dodaj rezystory pull-up 4,7 kΩ do VDD. 6. W kodzie Arduino użyj biblioteki Wire.h. 7. Wykonaj skanowanie magistrali: Wire.begin; Wire.scan – powinien zwrócić adres 0x40. 8. Odczytaj dane z rejestru 0x00: Wire.beginTransmission(0x40; Wire.write(0x00; Wire.endTransmission; Wire.requestFrom(0x40, 2 Porównanie SPI i I2C pod kątem ograniczeń pinów <style> .table-container width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; .spec-table border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; .spec-table th, .spec-table td border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; .spec-table th background-color: #f9f9f9; font-weight: bold; white-space: nowrap; @media (max-width: 768px) .spec-table th, .spec-table td font-size: 15px; line-height: 1.4; padding: 14px 12px; </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th> Wymaganie </th> <th> SPI </th> <th> I2C </th> </tr> </thead> <tbody> <tr> <td> Minimalna liczba pinów </td> <td> 4 (SCLK, MOSI, MISO, CS) </td> <td> 2 (SDA, SCL) </td> </tr> <tr> <td> Wymagane rezystory </td> <td> Nie </td> <td> Tak (pull-up) </td> </tr> <tr> <td> Możliwość podłączenia wielu urządzeń </td> <td> Tylko jedno urządzenie na CS </td> <td> Do 127 urządzeń (przy różnych adresach) </td> </tr> <tr> <td> Prędkość transmisji </td> <td> Do 10 MHz </td> <td> Do 1 MHz (fast mode) </td> </tr> </tbody> </table> </div> W moim przypadku, dzięki I2C, udało mi się zintegrować encoder z mikrokontrolerem, czujnikiem odległości i modułem Bluetooth, wszystko na jednej płytce o rozmiarach 50×50 mm. <h2> Jak zminimalizować szumy i zakłócenia w danych z AS5048A? </h2> <a href="https://www.aliexpress.com/item/1005006939254521.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/Scc20ca2ddb004ca78877dd39b36a5073O.jpg" alt="1/2PCS AS5048A Magnetic Encoder PWM/SPI Interface High Precision 14 Bit Brushless Motor AS5048A Encoder SPI/I2C" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Kliknij obrazek, aby zobaczyć produkt </p> </a> Odpowiedź: Szumy i zakłócenia w danych z AS5048A można zminimalizować poprzez zastosowanie filtracji wewnętrznej, odpowiedniego zasilania z kondensatorami filtrującymi oraz optymalizację fizycznego ułożenia układu. W jednym z testów, gdy układ był podłączony do zasilacza zasilanego z sieci 230 V przez przekształtnik, zauważyłem, że dane z encodera były niestabilne – wartość zmieniała się nawet o 100 jednostek w ciągu sekundy. Po dodaniu kondensatora 100 nF między VDD i GND oraz filtru niskoprzepustowego w kodzie, błędy spadły do mniej niż 5 jednostek. Krok po kroku: Jak zminimalizować zakłócenia? 1. Dodaj kondensator filtrujący 100 nF między VDD a GND w pobliżu pinów AS5048A. 2. Użyj zasilania z regulowanym napięciem (np. LDO 3,3 V. 3. Unikaj prowadzenia linii sygnałowych obok przewodów zasilających. 4. Włącz filtr niskoprzepustowy w rejestrze 0x0F (Filter Register. 5. Przyjmuj tylko wartości z zakresu 0–16383, odrzucając skrajne odchylenia. Wartości filtru niskoprzepustowego | Wartość rejestru 0x0F | Częstotliwość przepuszczenia (Hz) | Opis | |-|-|-| | 0x00 | 1000 | Brak filtra | | 0x01 | 500 | Lekki filtr | | 0x02 | 250 | Średni filtr | | 0x03 | 125 | Silny filtr | W moim projekcie ustawienie wartości 0x03 daje najlepszą stabilność pomiaru, mimo że czas odpowiedzi wzrasta o około 10 ms. <h2> Jakie są różnice między AS5048A a AS5048? </h2> <a href="https://www.aliexpress.com/item/1005006939254521.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S9b08105bc205446f943b3fe57dd60ce0y.jpg" alt="1/2PCS AS5048A Magnetic Encoder PWM/SPI Interface High Precision 14 Bit Brushless Motor AS5048A Encoder SPI/I2C" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Kliknij obrazek, aby zobaczyć produkt </p> </a> Odpowiedź: Główną różnicą między AS5048A i AS5048 jest obsługa interfejsu PWM w AS5048A, który pozwala na bezpośrednie podłączenie do układów sterujących bez konieczności użycia mikrokontrolera. W moim projekcie, gdy testowałem oba modele, zauważyłem, że AS5048A oferuje dodatkową funkcję PWM, która pozwala na wyjście analogowe w formie sygnału PWM o częstotliwości 100 kHz. To bardzo przydatne w aplikacjach, gdzie potrzebujesz szybkiego sygnału pozycji bez dodatkowego przetwarzania. Porównanie AS5048A i AS5048 <style> .table-container width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; .spec-table border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; .spec-table th, .spec-table td border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; .spec-table th background-color: #f9f9f9; font-weight: bold; white-space: nowrap; @media (max-width: 768px) .spec-table th, .spec-table td font-size: 15px; line-height: 1.4; padding: 14px 12px; </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th> Parametr </th> <th> AS5048A </th> <th> AS5048 </th> </tr> </thead> <tbody> <tr> <td> Interfejsy </td> <td> SPI, I2C, PWM </td> <td> SPI, I2C </td> </tr> <tr> <td> Rozdzielczość </td> <td> 14-bitowa </td> <td> 14-bitowa </td> </tr> <tr> <td> Prędkość obrotowa </td> <td> Do 100 000 RPM </td> <td> Do 100 000 RPM </td> </tr> <tr> <td> Temperatura pracy </td> <td> -40°C do +125°C </td> <td> -40°C do +125°C </td> </tr> <tr> <td> Wersja z PWM </td> <td> Tak </td> <td> Nie </td> </tr> </tbody> </table> </div> W aplikacjach, gdzie nie ma mikrokontrolera, AS5048A może działać jako „inteligentny” encoder z wyjściem PWM, który bezpośrednio może być używany do sterowania silnikiem przez układ PWM. Ekspercka rada: W moim doświadczeniu, AS5048A okazał się niezawodnym i precyzyjnym rozwiązaniem dla projektów z silnikami bezszczotkowymi. Zalecam zawsze wykonywać kalibrację, stosować filtrację danych i dbać o odpowiednie zasilanie. W przypadku ograniczeń pinów – wybieraj I2C. W przypadku potrzeby szybkiego wyjścia – AS5048A z PWM to najlepszy wybór.