Pocukávání servomotoru

Dotazy na technické problémy, vlastní řešení technických problémů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 00:00
Bydliště: Praha

#16 Příspěvek od FHonza »

Předně zjisti co zdržuje. Myslím že to bude čtení údajů z Dallasů: ve funkci ctiServo ozávorkuj volání getTempC a vyzkoušej, jestli se servo dál seká.

Dále bych změřil dobu, jakou dobu skutečně trvá v synchronním režimu volání funkce requestTemperatures A tu hodnotu pak zadej do funkce tasker.setTimeout(ctiSensor, 750); místo těch 750.

Pak zvaž jestli skutečně potřebuješ 12 bitovou přesnost měření teploty. Trvá výrazně déle než 10 bitová přesnost.

Zvaž jestli servo opravdu potřebuješ nastavovat 20x za sekundu.

ve funkci ctiTeplotu je volání Serial.println(Tout1) chybné, hodnota Tout1 není v tu chvíli aktuální.
Uživatelský avatar
misocko
Příspěvky: 1528
Registrován: 26 čer 2009, 00:00
Bydliště: Hlohovec (Sk)

#17 Příspěvek od misocko »

tak som skusil jednoduchy kod , bez zbytocnosti
akonahle pridam citanie z dalasu tiez mi cuka servo. Doknca som skusal dat pin senzora a pin serva na rozdielne porty. Cuka stale. Bude zrejme nejaka zaludnost v kniznici (ci uz jednej alebo druhej, ale jasne je ze sa biju)
Uživatelský avatar
doga
Příspěvky: 269
Registrován: 26 bře 2018, 00:00
Bydliště: okr. Bruntál

#18 Příspěvek od doga »

jj bijou se tam ty dvě knihovny, něco s přerušením .... jdu na to, dám vědět ;)
termit256
Příspěvky: 10029
Registrován: 06 pro 2007, 00:00

#19 Příspěvek od termit256 »

Njn, to je tak kdyz lepis program z postahovanych veci z internetu, jak je u arduinistu zcela bezne. Ted budes tyden hledat kdes to ty nebo autor tech knihoven doprasil a nakonec zjistis, ze by bylo rychlejsi a spolehlivejsi, kdyby sis program napsal sam a jeste by ses u toho neco naucil.
Odpovědět

Zpět na „Poradna“