Skocz do zawarto艣ci

Serwo - brak AnalogWrite na pinach 9 i 10


Pomocna odpowied藕

Witajcie! 馃檪

Pisz臋 prac臋 magistersk膮. Czasu coraz mniej.. Za艂o偶enia - omijanie przeszk贸d z czujnik贸w umieszczonych na serwie.Platforma Arexx AAR-04. Nap臋d silnik贸w na piny 9 i 10 (lewy silnik) oraz 3 i 5 (prawy silnik). Tego niestety zmieni膰 nie mog臋. Po uruchomieniu biblioteki serwo, lewy silnik przestaje dzia艂a膰. Dowiedzia艂em si臋 z grupy na Fejsiku 偶e biblioteka Servo wy艂膮cza AnalogWrite na pinach 9 oraz 10 i w tym jest problem (https://www.arduino.cc/en/Reference/Servo) Macie jaki艣 pomys艂 jak to omin膮膰? My艣la艂em o pr贸bie napisania nowej biblioteki ale nat艂ok obowi膮zk贸w i goni膮cy czas troch臋 mnie do tego zniech臋ca..

Link to post
Share on other sites

Zajmowa艂em si臋 tym kiedy艣, sporo w dokumentacji siedzia艂em, Timery, biblioteki itp ale teraz praca na etacie i po prostu brak czasu, sporo rzeczy zapomnia艂em. Nie mog臋 tego zmieni膰 bo tak sobie producent wymy艣li艂, a ten robot jest na platformie Arexx AAR-04. Musia艂bym zepsu膰 p艂ytk臋 kt贸ra nale偶y do uczelni 馃檪 Zrobi艂em inaczej, drugie Arduino, 3 bitowa komunikacja r贸wnoleg艂a i zmiana k膮ta serwa przez drugie Arduino, w艂a艣nie dopieszczam ostatnie poprawki 馃檪 Najszybszy i najprostszy chyba spos贸b 馃檪

Link to post
Share on other sites

@Criss92, niestety w Arduino jest sporo wyj膮tk贸w tego typu. 艁atwo si臋 wp臋dzi膰 w sytuacj臋, w kt贸rej jedne peryferia blokuj膮 wykorzystanie innych. Naj艂atwiej oczywi艣cie by艂oby zamieni膰 piny. Mo偶e w Twoim przypadku da si臋 jednak uratowa膰 sytuacj臋 wykorzystuj膮c biblioteki do programowego generowania PWM? Nie korzysta艂em z tego robota Arexx AAR-04, wi臋c nie wiem co dok艂adnie musisz tam wygenerowa膰, aby uruchomi膰 konstrukcj臋. Jest jednak szansa, 偶e uda Ci si臋 wygenerowa膰 programowo PWM na pinach steruj膮cych silnikiem lub programowo wygenerowa膰 sygna艂 dla serwa (bez u偶ywania biblioteki Servo). Sprawd藕 ten trop 馃檪

1 godzin臋 temu, Criss92 napisa艂:

Zrobi艂em inaczej, drugie Arduino, 3 bitowa komunikacja r贸wnoleg艂a i zmiana k膮ta serwa przez drugie Arduino, w艂a艣nie dopieszczam ostatnie poprawki 馃檪 Najszybszy i najprostszy chyba spos贸b 馃檪

Fajnie, 偶e dzia艂a, ale mam nadziej臋, 偶e sam rozumiesz, 偶e to przerost formy nad tre艣ci膮? 馃槈

1 godzin臋 temu, ethanak napisa艂:

a je艣li nie rozumiesz dlaczego to w膮tpi臋 aby艣 potrafi艂 napisa膰 jak膮kolwiek bibliotek臋

@ethanak, kolejny raz bardzo prosz臋 o darowanie sobie takich prywatnych zaczepek. Takie teksty to zmora wszystkich for dyskusyjnych. Jest to 艣wietny spos贸b, aby zniech臋ci膰 do aktywno艣ci innych聽czytelnik贸w, a chyba nie o to聽chodzi. Mo偶na napisa膰 to samo 艂agodniej, bez atakowania pytaj膮cego. Przecie偶 Twoja wypowied藕 bez tego fragmentu mia艂aby zupe艂nie inny, pomocny wyd藕wi臋k, a tak wprowadza tylko nerwow膮 atmosfer臋. Po co generowa膰 takie sytuacje?

  • Lubi臋! 1
Link to post
Share on other sites
40 minut temu, Treker napisa艂:

Mo偶e w Twoim przypadku da si臋 jednak uratowa膰 sytuacj臋 wykorzystuj膮c biblioteki do programowego generowania PWM?

To odpada, ten procesor ma i tak bardzo du偶o pracy (korekcja toru ruchu, wcze艣niej odczyt danych z czujnik贸w na z臋batkach i ich analiza, do tego bardzo szybkie pomiary odleg艂o艣ci czujnikiem laserowym oraz na podstawie wskaza艅 czujnika albo pod膮偶anie do mety albo omijanie przeszkody). Wi臋c raczej soft PWM odpada.

40 minut temu, Treker napisa艂:

Fajnie, 偶e dzia艂a, ale mam nadziej臋, 偶e sam rozumiesz, 偶e to przerost formy nad tre艣ci膮? 馃槈

Wiem o tym doskonale, ale to najprostszy i skuteczny spos贸b 馃槃 musz臋 tylko popracowa膰 nad kabelkami bo czasami oczywi艣cie co艣 musi nie 艂膮czy膰... Jak znajd臋 czas to wyl膮duje to wszystko na PCB. Zrobi艂 si臋 z tego niez艂y paj膮k...

40 minut temu, Treker napisa艂:

kolejny raz bardzo prosz臋 o darowanie sobie takich prywatnych zaczepek. Takie teksty to zmora wszystkich for dyskusyjnych. Jest to 艣wietny spos贸b, aby zniech臋ci膰 do aktywno艣ci innych聽czytelnik贸w, a chyba nie o to聽chodzi. Mo偶na napisa膰 to samo 艂agodniej, bez atakowania pytaj膮cego. Przecie偶 Twoja wypowied藕 bez tego fragmentu mia艂aby zupe艂nie inny, pomocny wyd藕wi臋k, a tak wprowadza tylko nerwow膮 atmosfer臋. Po co generowa膰 takie sytuacje?

Pi臋knie powiedziane 馃檪

Link to post
Share on other sites

@Criss92: Wybacz je艣li Ci臋 urazi艂em, ale je艣li twierdzisz (w kolejnym po艣cie) 偶e siedzia艂e艣 sporo w dokumentacji, a o jednej z podstawowych rzeczy dowiedzia艂e艣 si臋 z mordoksi膮偶ki to nie wiem, kt贸rej wersji wierzy膰. Niestety - uwierzy艂em w t臋 z pierwszego posta, a sam chyba przyznasz, 偶e pisanie bibliotek tego typu to nie jest zadanie dla ludzi kt贸rzy czytuj膮 fejsbuka zamiast dokumentacji. St膮d nie "prywatna zaczepka" (jak to kolega administrator raczy艂 b艂臋dnie okre艣li膰) a po prostu ostrze偶enie - nie bierz si臋 do tego bo to wymaga troch臋 wi臋kszej wiedzy.

Wracaj膮c do meritum: je艣li ju偶 u偶ywasz drugiego kontrolera - ja bym to zrobi艂 po prostu serialem w jedn膮 stron臋 (przecie偶 nie musisz odbiera膰 danych z drugiego Arduino, ma s艂u偶y膰 jedynie jako kontroler serwa), a w takim przypadku wystarczy jaki艣 ma艂y ATtiny, kt贸rego jak si臋 uprzesz to zmie艣cisz we wtyczce do serwa 馃檪 Wykorzystujesz pojedynczy pin atmegi...

Poza tym wydaje mi si臋 (no, ale nie znam wszystkiego co tam 艂膮czysz, szczeg贸lnie tego szybkiego lasera) 偶e mo偶na wykorzysta膰 czas oczekiwania na dane z jakiego艣 tam czujnika do generowania impulsu dla serwa. Zauwa偶, 偶e nie podajesz ca艂y czas pozycji dla serwa... mo偶e jednak spr贸bowa膰 czego艣 takiego? W takiej sytuacji pozosta艂by艣 z narzuconym robotem bez dodatkowych urz膮dze艅.

  • Lubi臋! 1
Link to post
Share on other sites

Kiedy艣 siedzia艂em i sporo fajnych projekt贸w zrobi艂em, ale jednak ponad 2 lata przerwy swoje robi. Niekt贸re rzeczy si臋 zapomina i ju偶 艣rednio mam ochot臋 sobie na nowo to przyswaja膰. Po prostu nie mam czasu. Tym bardziej 偶e 偶ycie mnie pokierowa艂o w ca艂kiem inn膮 ga艂膮藕 informatyki. Ale niewa偶ne
Z tym Serialem to mo偶e faktycznie dobry pomys艂 馃檪 Chocia偶 ju偶 wykorzystuj臋 Serial i SowftwareSerial. Zobacz臋 potestuj臋

Attiny nie dam bo nie mam, kupowa膰 nie chc臋 a mam kilka sztuk Pro Mini 馃檪

Co do lasera to mo偶e 藕le powiedziane, jest to po prostu uk艂ad VL53L0X. Nie chc臋 ju偶 tego zbytnio komplikowa膰 bo zliczaj膮c klas臋 do obs艂ugi robota, czujnik贸w oraz g艂贸wne funkcje programu to wysz艂o ju偶 ponad 1000 linii kodu, a dojdzie do tego jeszcze troch臋 dlatego chyba jednak zostan臋 przy drugim uk艂adzie.

Link to post
Share on other sites
Go艣膰 es2

Praktycznie ka偶dy uk艂ad peryferyjny da si臋 zrobi膰 programowo ale ma on szereg wad. Najcz臋艣ciej (poza zapotrzebowaniem na FLASH/RAM) to:

- mniejsze pr臋dko艣ci,rozdzielczo艣ci

- funkcje blokuj膮ce

Zale偶nie od聽 r贸偶nych czynnik贸w, powy偶sze mog膮 wyst膮pi膰 razem lub jeden z nich.

Napisz jakie parametry ma mie膰 PWM (skoro sterowanie serwem, to niby powinno by膰 500us..1,50ms a mo偶e 2ms? Z jak膮艣 rozdzielczo艣ci膮 - jak膮?). Napisz tez czy u偶ywasz funkcji, kt贸re czasowo zawieszaj膮 przerwania (np atomic_block), je艣li tak, to na jak d艂ugo. Jak d艂ugo wykonuj膮 si臋 funkcje przerwa艅? Czy mo偶na zawiesza膰 przerwania? Maj膮c te informacje, b臋d臋 w stanie napisa膰 czy i jakie rozwi膮zanie programowego PWM wybra膰.

Link to post
Share on other sites
Go艣膰 es2
8 minut temu, Elvis napisa艂:

A mo偶e pro艣ciej da膰 sterownik serw np. po i2c - chocia偶by PCA9685? Proste, 艂atwe i sprz臋towe rozwi膮zanie.

Pro艣cie na pewno ale czy optymalnie? Po co dodawa膰 sprz臋t, zmniejszaj膮c niezawodno艣膰, zwi臋kszaj膮c koszty jak prawdopodobnie da si臋 to zrobi膰 programowo.

Naturalnie, to, 偶e trzeba kombinowa膰 programowo, 艣wiadczy tylko o tym, ze projekt nie zosta艂 przemy艣lany, wystarczy艂o wybra膰 inny sprz臋t.

Link to post
Share on other sites
2 godziny temu, es2 napisa艂:

Pro艣cie na pewno ale czy optymalnie? Po co dodawa膰 sprz臋t, zmniejszaj膮c niezawodno艣膰, zwi臋kszaj膮c koszty jak prawdopodobnie da si臋 to zrobi膰 programowo.

Obecnie autor wykorzystuje osobne Arduino, wi臋c zamiana go na dedykowany uk艂ad typu PCA9698 by艂oby聽i tak du偶ym skokiem w prz贸d 馃槈聽Szczeg贸lnie, 偶e @Criss92聽pisa艂 ju偶, 偶e aktualny program jest do艣膰 rozbudowany i ci臋偶ko b臋dzie mu tam co艣 "wcisn膮膰". Obs艂uga i2c b臋dzie na pewno 艂atwiejsza od programowego generowania PWM, kt贸re b臋dzie wsp贸艂gra艂o z innymi komponentami. Z opisu wynika, 偶e platforma sprz臋towa by艂a dostarczona przez uczelni臋, wi臋c jej wymiana nie wchodzi pewnie w gr臋.

Link to post
Share on other sites
Go艣膰 es2
33 minuty temu, Treker napisa艂:

Z opisu wynika, 偶e platforma sprz臋towa by艂a dostarczona przez uczelni臋, wi臋c jej wymiana nie wchodzi pewnie w gr臋.

Wiem o tym i albo uczelnia pope艂ni艂a b艂膮d w doborze sprz臋tu albo o czym艣 autor nie napisa艂.

Link to post
Share on other sites
Zarejestruj si臋 lub zaloguj, aby ukry膰 t臋 reklam臋.
Zarejestruj si臋 lub zaloguj, aby ukry膰 t臋 reklam臋.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i monta偶 PCB - wybierz sprawdzone PCBWay!
聽聽 鈥 Darmowe p艂ytki dla student贸w i projekt贸w non-profit
聽聽 鈥 Tylko 5$ za 10 prototyp贸w PCB w 24 godziny
聽聽 鈥 Us艂uga projektowania PCB na zlecenie
聽聽 鈥 Monta偶 PCB od 30$ + bezp艂atna dostawa i szablony
聽聽 鈥 Darmowe narz臋dzie do podgl膮du plik贸w Gerber
Zobacz r贸wnie偶 禄 Film z fabryki PCBWay

Do艂膮cz do dyskusji, napisz odpowied藕!

Je艣li masz ju偶 konto to zaloguj si臋 teraz, aby opublikowa膰 wiadomo艣膰 jako Ty. Mo偶esz te偶 napisa膰 teraz i zarejestrowa膰 si臋 p贸藕niej.
Uwaga: wgrywanie zdj臋膰 i za艂膮cznik贸w dost臋pne jest po zalogowaniu!

Anonim
Do艂膮cz do dyskusji! Kliknij i zacznij pisa膰...

×   Wklejony jako tekst z formatowaniem.   Przywr贸膰 formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Tw贸j link b臋dzie automatycznie osadzony.   Wy艣wietla膰 jako link

×   Twoja poprzednia zawarto艣膰 zosta艂a przywr贸cona.   Wyczy艣膰 edytor

×   Nie mo偶esz wklei膰 zdj臋膰 bezpo艣rednio. Prze艣lij lub wstaw obrazy z adresu URL.

×
×
  • Utw贸rz nowe...

Wa偶ne informacje

Ta strona u偶ywa ciasteczek (cookies), dzi臋ki kt贸rym mo偶e dzia艂a膰 lepiej. Wi臋cej na ten temat znajdziesz w Polityce Prywatno艣ci.