Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 12:41


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 13 kwi 2020, o 18:52 
Offline
Nowy

Dołączył(a): 13 kwi 2020
Posty: 2
Pomógł: 0

Cześć, na wstępie najlepsze świąteczne życzenia;)



Robię pewną maszynę, moje doświadczenie z bascomem nie jest zbyt duże, ale kilka działających rzeczy udało mi się stworzyć;)

Mianowicie - robię teraz maszynę...do wódki;p
Coś mi nie chce to działać tak, jak trzeba, jutro pewnie wstawię listing tego, co mam. Ogólnie algorytm wygląda następująco:

Algorytm:


Naciskamy przycisk -> ramię idzie do góry -> obracamy talerz do momentu napotkania przeszkody -> po wykryciu przeszkody zatrzymujemy talerz -> włączamy przekaźnik pompki na chwilę -> kręcimy talerzem -> powtarzamy 12 razy -> ramię idzie w dół -> odtwarzamy muzyczkę ->koniec sekwencji


Ramię jest sterowane serwo, jego poruszanie mam opanowane. Talerz kręci silnik z przekładnią, sterowany przez pwm, bo prędkość musi być dość niska. Czujnik, który wykrywa kieliszek pod ramieniem, to zwykły podczerwony zbliżeniowy, wyjście cyfrowe. W teorii wszystko jest proste, praktyka niestety inna. Opuszczanie ramienia na serwo mm w pętli for, to akurat działa. Nie wiem natomiast, jak skutecznie obsłużyć ten warunek, żeby 12x sprawdzał algorytm, czy jest kieliszek pod spodem (na talerzu będzie 12 kieliszków max, więc program musi sprawdzić , ile ich jest aktualnie). Wstawię później listing, jest to zrobione na atmega 8. Dziękuję z góry za pomoc, mam nadzieję, że mogę na nią liczyć;) Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 kwi 2020, o 19:13 
Offline
Użytkownik

Dołączył(a): 11 sty 2015
Posty: 166
Pomógł: 24

A czy do działania tego algorytmu jest to niezbędna informacja (ile jest kieliszków).
Ja bym to zrobił tak. Jak jest przeszkoda (kieliszek) to stop i nalewam. I tak do skutku nawet nie licząc tych kieliszków. Natomiast skupiłbym się na tym czy mam pełny obrót.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 kwi 2020, o 21:21 
Offline
Nowy

Dołączył(a): 13 kwi 2020
Posty: 2
Pomógł: 0

to już nie stanowi problemu, bo można w pętli for ująć cały główny kod. Nie mam krańcówki na talerzu, raczej nie chcę jej robić ze względów estetycznych - wolę, żeby program liczył kieliszki, niż dorzucać krańcówkę - owszem, kontaktron mógłby również być, jednak wolę rozwiązanie programowe.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 kwi 2020, o 11:08 
Offline
Użytkownik

Dołączył(a): 19 lip 2013
Posty: 759
Pomógł: 37

Nie bardzo rozumie co tu jest problemem? Nie możesz dać zmiennej która będzie odliczać kieliszki? Skoro masz jakaś krańcówkę czy czujnik który zatrzymuje tackę to niech to zrobi max 12 razy i juz. Ja bym to zrobił tackę na silniku krokowym bo wiedziałbym dokładnie ,ze juz zrobiony jest pełny obrot ( Mozna wtedy zrobic pelny obrót zaznaczyć czujnikiem gdzie i ile jest kieliszkow i później zacząć nalewać. Wtedy nawet możesz nalewać co drugi). Mozna dać na osi potencjometr wielotorowy i z niego odczytywać pozycje talerza. Lub talerz który będzie miał jakiś sensor pod kieliszkiem co pozwoli na dokładne określenie gdzie i ile jest kieliszków. Mysle ,ze pomysłów na rozwiązanie jest sporo,ale to trzeba dokładnie widzieć co ty tam kombinujesz. Tak czy inaczej zrobilbym to na silniku krokowym ktory jest najlatwiejszy do obslugi w tym przypadku



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO