Skocz do zawartości

Pierwszy projekt - napełniacz butelek


Pomocna odpowiedź

15 minut temu, SOYER napisał:

Jaka jest wartość zmiennej poprzedniCzasPrzycisku w momencie wywołania pierwszego if?

(millis() - poprzedniCzasPrzycisku > interwalDebouncingu)
Przy pierwszej petli programu czyli

aktualny czas np 2000 - 0 musi byc większe niz 50ms. W kolejnych pętlach np.
5000 - 2000> 50ms.

static unsigned long poprzedniCzasPrzycisku = 0; 

Jest ustawione na static czyli nie resetuje sie z kazda petla loop.

 

Nie widze gdzie jest błąd 😕

Link do komentarza
Share on other sites

1 godzinę temu, PanMajster napisał:

 

@SOYER Wydaje mi sie ze za kazdym razem gdy nacisnę przycisk ale nie częściej niz 50 ms? Takie było założenie. Chyba ze mam spojrzeć "szerzej" na kod? Powinienem przenieść funkcje po za zmienna loop?

@_LM_

Źle to robisz...trzeba czytać guzik (z uwzględnieniem drgań styków) i jeśli guzik wciśnięty to najlepiej ustawić flagę od warunku w którym będziesz nalewał, lub użyć maszyny stanów 

Link do komentarza
Share on other sites

Po co eliminacja drgań jak tylko odczytujesz stan gpio aby wytarować wagę? Jeśli ten układ zostanie zrealizowany to i tak będziesz musiał prowadzić sprzętową filtrację zakłóceń, możliwe że nawet izolację galwaniczną a wtedy w tym układzie będzie już odpowiednie filtrowanie.

Link do komentarza
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

8 minut temu, _LM_ napisał:

Po co eliminacja drgań jak tylko odczytujesz stan gpio aby wytarować wagę? Jeśli ten układ zostanie zrealizowany to i tak będziesz musiał prowadzić sprzętową filtrację zakłóceń, możliwe że nawet izolację galwaniczną a wtedy w tym układzie będzie już odpowiednie filtrowanie.

Niby fakt . To tylko tarowanie ale uznałem ze lepiej zrobić dokładniej niż po łebkach.

Tak sprzętowa filtracja na pewno będzie. Jak dotrą serwa to będę nad tym myśleć. np jakiej wielkosci kondensatory

Link do komentarza
Share on other sites

Znaczy do Ciebie o to pretensji nie mam bo zaczynasz dopiero, ale dwaj koledzy wyżej zafiksowali się nieźle 😄 Ok ja i tak pozostaję przy sugestii aby zrobić to na PLC - kach. Przynajmniej strona sprzętowa jest już gotowa i przetestowana, co do ich programowania - ja z  tym mam małą styczność więc nie pomogę, jednakże nie jest to taż tak trudne, na pewno nie tak jak "C"

  • Lubię! 1
Link do komentarza
Share on other sites

(edytowany)

@rafiix Możesz do tego polecić jakiś konkretny PCL ? 

44 minuty temu, rafiix napisał:

I na koniec - Jaki jest cel stosowania serwomechanizmów modelarskich? Nie zauważyłem w opisie, żeby konieczne było regulowanie stopnia otwarcia zaworu, więc jeśli interesuje nas tylko sterowanie na zasadzie pełne otwarcie/pełne zamknięcie, to może prościej będzie wymienić ten zawór kulowy?

Tak pełne otwarcie pełne zamkniecie. kat otwarcia / zamkniecia to 90 stopni. 

Wymienić zawór tzn co masz na myśli? Zwykłe elektro zawory tez są kulowe tyle że za dodanie silniczka liczą sobie 2k zł podczas gdy sam zawór kosztuje 50 zł. Stąd pomysł żeby silnik dać swój. 

 

Program pisze póki co bardziej hobbistycznie zobaczyc jak to bedzie działać na sucho. Jeżeli bedzie ok to biore pod uwagę przeniesienie tego na bardziej profesjonalny komputer/sterownik wraz z osprzętem.  
Być moze właśnie PCL-a, a z gotowym kodem z arduino na pewno ktos kto sie na tym zna bedzie mial od razu lepsze zobrazowanie jak ma działac cały program. A fajnie było by mieć swój wklad w to wszystko 

Edytowano przez PanMajster
Link do komentarza
Share on other sites

Wymienić na elektrozawór. Ciężko mi doradzić coś konkretnego, bo to już trzeba dobierać według konkretnego zastosowania - typ/rozmiar gwintu, maksymalne ciśnienie itp.
Wpisując w znany portal akcyjny "Elektrozawór 150bar" można podejrzeć o co mniej więcej chodzi.
Trzeba mieć tylko świadomość, że niestety nie są to tanie rzeczy.

Najważniejsza (dla mnie) różnica między takimi elektrozaworami, a zaworem kulowym z prowizorycznym napędem z serwa jest taka, że jeśli coś się stanie, to przy braku zasilania elektrozawór się zamknie (jeśli zakupisz wersję NC).
W przypadku serwomechanizmu, gdy zniknie zasilanie lub Arduino się zawiesi, to zawór może zostać w pozycji otwartej i niekontrolowanie przepełnić nam napełniany zbiornik.

Co do polecania konkretnych sterowników, to tu mogę nie być odpowiednią do tego osobą, bo pracuję praktycznie tylko na Siemens'ie, który najtańszy nie jest.
Wiem, że kiedyś była tu dyskusja o chińskich PLC - może ktoś coś poleci.

Z Siemens'a mogę zaproponować sterownik LOGO, który nie jest do końca sterownikiem PLC, a bardziej przekaźnikiem programowalnym, ale w tym wypadku da sobie spokojnie radę. Jego plusem jest tu mały ekranik na którym można sobie wyświetlić wagę + jakieś nastawy.

Trochę większym sterownikiem, który jest już pełnoprawnym PLC jest S7-1200. Trochę droższy ale ma już na pokładzie sprzętowy PWM, który można ewentualnie wykorzystać do tych serwomechanizmów.

Link do komentarza
Share on other sites

(edytowany)
57 minut temu, rafiix napisał:

W przypadku serwomechanizmu, gdy zniknie zasilanie lub Arduino się zawiesi, to zawór może zostać w pozycji otwartej i niekontrolowanie przepełnić nam napełniany zbiornik.

Na szczęście nie ma takiej możliwości. W układzie są zabezpieczenia które automatycznie odcinają dopływ jeżeli zbiornik się przepełnia. Zarówno elektryczne jak i po prostu ciśnieniowe.

A wyłączenie pradu można łatwo rozwiązać za pomocą dodania drugiego  zaworu ręcznego przed zaworem elektrycznym który jest cały czas otwarty. Jak zabraknie prądu do zamknięcia recznego tzn tak jak to działa teraz 

57 minut temu, rafiix napisał:

Wiem, że kiedyś była tu dyskusja o chińskich PLC - może ktoś coś poleci.

Postaram się odnaleźć temat i poczytać 

 

57 minut temu, rafiix napisał:

Trochę większym sterownikiem, który jest już pełnoprawnym PLC jest S7-1200

Dzięki za rady. Staram się zebrać jak najwięcej informacji. W późniejszym etapie to się na pewno przyda.

Chciałem zrobić to na Arduino i dać do oceny uprawnionym osoba czy można to wdrożyć w życie ale skoro wszyscy zgodnie twierdzą że to na pewno nie przejdzie to narazie zdecydowałem że zrobię tylko makietę. Później zobaczymy co dalej.

Edytowano przez PanMajster
Link do komentarza
Share on other sites

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...

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.