0

Distribuirani ARM

Distribuirani ARM dizajn počiva na distribuiranom procesiranju, dodatnom mikrokontroleru u svakom perirefnom uređaju. Više ML-R senzora počiva na ovoj tehnologiji, npr.: ML-R IMU, 3 analog outputs (mrm-imu-an3), ML-R LIDAR 2m VL53L0X, analog output (mrm-lid-an), ML-R LIDAR 4m VL53L1X, analog output (mrm-lid-an2) i MRMS IR ball finder 2, direction + distance (mrm-ir-finder2).

Prednosti dizajna su:

  • Manje procesiranja u glavnom mikroprocesoru ili mikrokontroleru - manji i jednostavniji program. Sve biblioteke za senzore, kojih može biti podosta, su nevidljive korisniku.
  • Senzori često čekaju na rezultat. Programiranje čekanja je komplicirano. Npr. ultrazvučni senzor pošalje zvučni signal i čeka jeku. Program u glavnom mikrokontroleru obično ne može čekati tako dugo i potrebne su komplikacije da bi se čekanje smanjilo ili otklonilo. Distribuirani ARM dizajn daje uvijek trenutnu vrijednost, bez čekanja, do koje je moguće doći jednostavnim sučeljem, npr. analognim. Na vrlo jednostavan se način dolazi do maksimalne frekvencije rada glavnog mikroprocesora ili mikrokontrolera.
  • Slično kao i prethodna točka, procesiranje na perifernom uređaju je isto brže i moguće je uhvatiti mjerenja koja se inače ne bi mogla.
  • Dizajn ne ograničava napredno korištenje senzora. Npr., karakteristično je za početnike glavni mikrokontroler Arduino. Žele li napredni lidar, mogu koristiti ML-R LIDAR 2m VL53L0X, analog output (mrm-lid-an) i funkciju analogRead(). Jednostavno je i radi odmah. U lidaru su uobičajene postavke. Međutim, moguće je postaviti i napredne postavke, dapače i one koje na Arduinu nije moguće, ako se programatorom spoji na sam lidar i promijeni program u njemu.
  • Sučelje mikrokontroler - periferni uređaj je hardverski optimalno. Vodovi su svi na štampanoj ploči, često dugi samo do 1 cm, rade na optimalnom naponu i frekvenciji. Znači, mala mogućnost smetnji ili prekida rada. Ovo je puno bolje od dugih, zračnih vodova, podložnih koroziji i pomicanju.
  • Mnogi senzori zahtijevaju kalibraciju i spremanje iste u trajnu memoriju. Distribuirani ARM već u sebi ima program za kalibraciju, ako je potreban, sprema rezultate u EEPROM, čita ih prilikom podizanja senzora. Bez njega korisnik sam treba na internetu naći kako se kalibrira, kako spremati u EEPROM glavnom mikrokontrolera, kako podijeliti EEPROM između različitih uređaja... Gnjavaža i moguće greške.
  • Moguće je, ili je moguće jednostavnije, korištenje senzora koji koriste istu adresu, obično I2C.
  • Promjena sučelja u jednostavnije omogućava korištenje senzora na sistema na kojima bi to inače teško bilo moguće. Npr., I2C uređaj je teško spojiti na Fischertechnik, ali analogni nije.
  • Ako se koristi CAN Bus (nešto teže s I2C-om), čak je moguće koristiti ARM nekog senzora ili kontrolera kao centralni mikrokontroler za upravljanje robotom, što ukida potrebu za nabavkom posebne pločice, kao što su ML-R Teen, board for Teensy 3.1/3.2 (mrm-tee) ili MRMS STM32F446, IMU, CAN, eFuse, Arduino, WiFi, BT (mrm-stm4c).
    Ima i nedostataka:
  • Uređaji su veći i skuplji.