Skocz do zawartości

Zasłony automatyczne DIY


Pomocna odpowiedź

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

@TPReal dzięki za opis kolejnego, ciekawego projektu - wygląda i działa świetnie 🙂 Opis został właśnie zatwierdzony, więc jest już widoczny publicznie.

10 godzin temu, TPReal napisał:

Tak, wiem że godzinę zachodu słońca można obliczyć zamiast pobrać, ale jak zobaczyłem ten wzór to stwierdziłem, że pobrać będzie sporo łatwiej

I w ten sposób bez dostępu do sieci będziesz w nocy podziwiać Księżyc zamiast spać.

Nie wiem jak w Rubym, ale w Pythonie nie jest to takie strasznie skomplikowane:

import ephem
city=ephem.Observer()
city.lat='53.2'
city.lon='20.0'
sun=ephem.Sun()
sun.compute(city)
sunset=sun.set_time.datetime()
  

(fragment mojego kodu sterującego m.in. zasłonami)

Ten cały Ruby musi być coś strasznie upośledzony...

10 godzin temu, TPReal napisał:

Pozycja zasłony nie jest mierzona, tylko po prostu obliczana na podstawie zliczania kroków.

Jak dla mnie to eliminuje projekt z gatunku "użytecznych", szczególnie w połączeniu ze stwierdzeniem:

10 godzin temu, TPReal napisał:

wszystko w miarę działa, ale silnik nie ma zapasu momentu obrotowego

22 minuty temu, ethanak napisał:
10 godzin temu, TPReal napisał:

Pozycja zasłony nie jest mierzona, tylko po prostu obliczana na podstawie zliczania kroków.

Jak dla mnie to eliminuje projekt z gatunku "użytecznych", szczególnie w połączeniu ze stwierdzeniem:

@ethanak trochę nie rozumiem tego "zarzutu". Co przeszkadza fakt, że pozycja jest obliczana na podstawie kroków silnika? W drukarkach 3D liczenie korków wystarcza do precyzyjnego drukowania elementów, a tutaj nie wystarczy do zasłonięcia zaslony? 😉

31 minut temu, Treker napisał:

trochę nie rozumiem tego "zarzutu". Co przeszkadza fakt, że pozycja jest obliczana na podstawie kroków silnika?

@Treker może jak cytujesz to cytuj całość, a nie wyrwane z kontekstu zdanie. A przeszkadza właśnie zdanie następne.

32 minuty temu, Treker napisał:

W drukarkach 3D liczenie korków wystarcza do precyzyjnego drukowania elementów

Tak, tylko że drukarka na początku cyklu ustawia sobie zera na podstawie krańcówek[1], których tu nie ma. Poza tym napędy w drukarkach mają dość duży zapas momentu, a i tak zdarzają się przeskoki. Tutaj zapasu nie ma (a z doświadczenia z używania DIY automatu do zasłon wiem, że czasem zdarzają się jakieś zacięcia, co może spowodować zgubienie kroku), a brak homingu powoduje, że błąd może się kumulować. Gdyby tak była krańcówka - nie ma problemu; zgubienie paru kroków spowoduje co najwyżej, że zasłony nie rozsuną/zasuną się do końca (przy czym będzie to różnica jakiegoś głupiego milimetra) a przy powrocie i tak ustawią się na zerze. Bez krańcówki - nie ma szans.

A co z sytuacją, jeśli zasilanie padnie w czasie ruchu zasłon? Ręczna korekta? A jeśli użytkownika nie ma w domu to kto taką korektę zrobi?

---

[1]Tu pod pojęciem "krańcówka" rozumiem jakikolwiek element informujący kontroler, że element wykonawczy znalazł się w określonym położeniu.

(edytowany)

@ethanak

Akurat Python jest na mojej liście nie tykać tego nawet kijem (chyba że nie ma innego wyjścia), ale widzę że do Rubiego też ktoś napisał bibliotekę do obliczania zachodów słońca. Akurat najpierw przyszło mi do głowy pobranie tego, bo i tak miałem z innego projektu gotową logikę pobierania danych. I oczywiście przewidziałem że może nie działać sieć, i rozwiązałem ten problem. Wymyślenie rozwiązania pozostawiam jako ćwiczenie dla czytelnika.

Jak piszę że od dwóch miesięcy działa, to chyba jednak jest użyteczny, nie? Tyle że pewnego dnia może się okazać że z losowych przyczyn przestanie dociągać, i wtedy trzeba będzie coś przebudować. Ale to nie samolot pasażerski, niczyje życie nie zależy od tego, żeby działało idealnie.

No i radzę sobie dobrze bez krańcówki. Jeśli dajmy na to przy rozsuwaniu na końcu zgubi parę kroków, to przy zasuwaniu, gdy zasłona będzie całkiem zasunięta, zgubi tyle samo kroków i się wyrówna. To samo jeśli padnie zasilanie (zresztą aktualną pozycję zrzucam do pliku co dwie sekundy w czasie ruchu, właśnie po to żeby błąd nie był duży nawet w tej sytuacji). Właśnie dzięki temu, że silnik nie ma dużego zapasu momentu, wiem że zgubi kroki, a nie na przykład zerwie listwę z sufitu. To dość wygodne. A jakbym zastosował silnik z przekładnią to być może musiałbym mieć krańcówkę.

Edytowano przez TPReal
1 minutę temu, TPReal napisał:

Właśnie dzięki temu, że silnik nie ma dużego zapasu momentu, wiem że zgubi kroki, a nie na przykład zerwie listwę z sufitu.

No, czyli masz coś w rodzaju krańcówki 🙂

2 minuty temu, TPReal napisał:

A jakbym zastosował silnik z przekładnią to być może musiałbym mieć krańcówkę.

Ja mam silnik z przekładnią i mierzę pobierany prąd. Co nie oznacza oczywiście, że moje rozwiązanie jest lepsze.

 

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...