• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Komunikacja pomiędzy dwoma Arduino.
#19
Jeśli 40us dla jednego int (nie polecenia - cała paczka komunikacji może trwać nawet 10x tyle z jednym modułem) to za długo użyj SPI. I2C jest OK bo 2 kabelkami obsługuje wiele SLAVE, ale to trwa i jak jest więcej modułów to SLAVE najpierw musi wiedzieć, że do niego gadasz (dlatego 1 interfejs I2C wystarcza dla 6 slave), potem gadasz, potem kończysz, to więcej niż wysłanie 16bitów. SPI może być 10x szybsze przy przesyłaniu i SLAVE od razu wie, że z nim gadasz, ale to kosztuje 1 dodatkową IO + 1 na każdy SLAVE. Arduino ma zegar 16MHz, niektórych rzeczy nie przeskoczysz, jak ma zebrać dane z czujników, przeliczyć, wysłać nastawy to trochę to zajmie, jeden cykl zegara to 0.06us, byle jaka funkcja Arduino to już czas liczony w us.  Raczej nie sterowałbym tego 7 Arduino, jak już to zbierałbym tylko dane tymi 6 NANO, MEGA przeliczał i sterował bezpośrednio silnikami (w sensie sterownikami śliników) i to tylko wtedy jeśli pomiar prędkości silników jest czasochłonny lub jest za mało sprzętu w MEGA by mierzyć kilka silników. Wysłanie danych do sterowania może być dłuższe niż wysterowanie z MEGA przez PWM - slave najpierw musi dane odebrać, a potem wykonać, czas 6x. SPI nawet na 8MHz samo wysłanie 12 int do 6 slave to z 20us, wysterowanie 6PWM to z 2us. Koncepcja wg mnie bez sensu. Algorytm sterowania jest do bani to podzielenie obliczeń na 7 rdzeni może tylko pogorszyć sytuację i dodać plątaninę kabli, przecież jak SLAVE coś liczy to jeszcze musi dać znać, że skończył, Master musi to zsynchronizować dla 6 sztuk. Jak MEGA nie daje rady z obliczeniami to na pewno prościej jest użyć 1 procka 10x szybszego  (np. ESP32 240MHz, 32bity i  czasami nawet 1000x szybszy) niż 10 procków w zamian, szczególnie jak to ma latać i masa ma znaczenie. Jak praca ma być tylko teoretyczna to raczej użyj SPI.
Arduino jest dla hobbystów i jego główną zaleta jest to, że nie wymaga zrozumienia jak działa procesor. Przynajmniej przy kopiowaniu projektów. Samą płytkę można wykorzystać jak się chce i w czym się chce co jest związane z AVR - korzyć to cena dzięki produkcji w milionach. Jak ktoś woli to może sobie kupić płytki prototypowe po 300zł z Atmegą 32.
Mój kuzyn właśnie rozpoczął pracę w Anglii, tam też studiował, pracę dyplomową robił na Arduino. W pracy za wspomnienie o Arduino może dostać wpierdziel - oczywiście żart, praca na zachodzie to inna bajka,  ale temat Arduino jest faktycznie tabu.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Komunikacja pomiędzy dwoma Arduino. - przez es2 - 28-12-2018, 14:44
RE: Komunikacja pomiędzy dwoma Arduino. - przez bullseye - 29-12-2018, 10:45
RE: Komunikacja pomiędzy dwoma Arduino. - przez es2 - 29-12-2018, 13:50
RE: Komunikacja pomiędzy dwoma Arduino. - przez es2 - 30-12-2018, 02:31
RE: Komunikacja pomiędzy dwoma Arduino. - przez ANT - 30-12-2018, 13:01
RE: Komunikacja pomiędzy dwoma Arduino. - przez es2 - 30-12-2018, 13:05
RE: Komunikacja pomiędzy dwoma Arduino. - przez es2 - 30-12-2018, 20:46
RE: Komunikacja pomiędzy dwoma Arduino. - przez es2 - 30-12-2018, 21:37
RE: Komunikacja pomiędzy dwoma Arduino. - przez kaczakat - 02-01-2019, 14:32
RE: Komunikacja pomiędzy dwoma Arduino. - przez es2 - 02-01-2019, 15:36

Skocz do:


Przeglądający: 2 gości