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



Teraz jest 10 mar 2025, o 22:29


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 22 ] 
Autor Wiadomość
PostNapisane: 26 lip 2016, o 15:22 
Offline
Nowy

Dołączył(a): 26 lip 2016
Posty: 8
Pomógł: 0

Witam,

Naszła mnie taka myśl ażeby zrobić moduł komfortowego otwierania dachu w moim 307CC. W tej chwili muszę trzymać przycisk dachu do całkowitego otwarcia około 20 sekund. Chciałbym wykonać układ który po przyciśnięciu przycisku na np 2 sekundy podtrzyma niejako przyciśniecie przycisku do pełnego otwarcia dachu.
Nie chce kombinować z czujnikami w aucie wiec założenie jest takie ze oryginalny przycisk (dwu-pozycyjny) będzie podłączony do układu a przerzutniki na wyjściu będą obsługiwały resztę.
Ze schematem sobie poradziłem niestety moja wiedza programistyczna jest znikoma.
Zatem prośba do Was Panie i Panowie abyście mnie poprowadzili za "rękę".
Schemat wygląda tak:

Obrazek

Pierwsze pytanie zanim zacznę dalej kombinować czy zacząłem dobrze.
Założenie jest takie: przycisk wciśnięty przez 2 sekundy (IN1) włącza się przekaźnik SW1 na 20sekund, układ monituje nadal czy nie wciśnięto przypadkiem IN2 na 2 sekundy. Jeżeli tak wyłączą przekaźnik SW1 i załącza SW2 na 20 sekund i na odwrót. Po tych 20 sekundach przechodzi w stan czuwania i monituje czy nie wciśnięto któregoś przycisku.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Nie ukrywam ze nie mam za bardzo pojęcia co się z czym je i już się tyle naczytałem ze mi głowa pęka, wiec rady typu weź zrób watchdoga itd nie działają na mnie bo nie wiem o co chodzi :) Mam już 40 na karku i nie potrzebuje się uczyć całego C.

Wiec zapytam wprost czy jest tu ktoś kto mnie poprowadzi za rękę przez gąszcz poleceń C?? Oczywiście chciałbym się czegoś przy okazji nauczyć ale sam sobie nie poradzę. W zamian odwdzięczę się moim doświadczeniem elektronicznym na forum :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lip 2016, o 10:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Widzę, że od wczoraj cisza w temacie to masz tu ode mnie proste rozwiązanie :)
Program tak skomentowałem żebyś się mógł czegoś nauczyć. To oczywiście jedno z wielu rozwiązań.
Użycie delay do spowolnienia pętli jest w pełni świadome i w tym przypadku bardzo upraszcza cały program. Działa niezawodnie jeśli dobrze zrozumiałem czyli wciśnięcie któregoś przycisku dłużej niż 2s załącza przekaźnik i nawet jeśli jest on załączony wciśnięcie drugiego przycisku na 2s wyłącza go natychmiast, a załącza drugi przekaźnik i rozpoczyna się kolejne odliczanie 20s.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Pozwoliłem sobie zmienić nieco nazwy "IN" na "p" i przeportowałem pod moją płytkę bo tak mi było wygodniej. Dla swoich potrzeb po prostu pozamieniaj porty w definicjach tak aby Ci pasowały.


Autor postu otrzymał pochwałę

_________________
http://www.sylwekkuna.com



Ostatnio edytowano 27 lip 2016, o 11:14 przez SylwekK, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lip 2016, o 11:06 
Offline
Nowy

Dołączył(a): 26 lip 2016
Posty: 8
Pomógł: 0

Bardzo Ci dziękuje, czysto przejrzyście i w miarę prosto :) o to mi chodziło bo po co utrudniać sobie życie jakimiś watchdogami ;)
Potestuje i jak nie będzie errorów urządzenie wyląduje w moim aucie.
Thx.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lip 2016, o 11:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Ach, wkradł się malutki błąd - w badaniu czasu licznika p1 było złe wyzerowanie zmiennej - pozostałości po kopiowaniu :) nie wpływało to znacząco na działanie, ale teraz już jest poprawione. W sumie to nawet bez tych linii zerujących by działało, bo zmienne są zerowane po puszczeniu przycisków.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lip 2016, o 21:47 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

Tak na marginesie. Zwykła czasówka na 2x NE555 w układzie generatora monostabilnego by nie dała rady? Popełniłem swego czasu taki układ który miał dwa kanały. Ubocznym skutkiem połączeń elektrycznych którego nie przewidziałem na etapie projektowania (brak ugruntowanej wiedzy w tym zakresie) było działanie, którego oczekuje Autor. Czyli załączenie pierwszego kanału gdy drugi właśnie odlicza czas do wyłączenia było natychmiastowe wyłączenie drugiego kanału i rozpoczęcie odliczania na kanale pierwszym. Zaleta - zero programowania.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lip 2016, o 22:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
perlon napisał(a):
było natychmiastowe wyłączenie drugiego kanału

surow napisał(a):
przycisk wciśnięty przez 2 sekundy (IN1) włącza się przekaźnik SW1 na 20sekund, układ monituje nadal czy nie wciśnięto przypadkiem IN2 na 2 sekundy.

Na samych 555 troszkę byłoby trudno sprostać założeniom; potrzebne byłyby dodatkowe tranzystory rozładowujące Cx'y.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2016, o 07:29 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

kicajek napisał(a):
Na samych 555 troszkę byłoby trudno sprostać założeniom; potrzebne byłyby dodatkowe tranzystory rozładowujące Cx'y.

Pozdr.

To chyba nie było by trudne. Ja widzę taki problem, że przełączenie natychmiastowe może generować duże prądy w samym napędzie dachu. Powinna być krótka zwłoka między wyłączeniem jednego kierunku a załączeniem drugiego, chyba że takie zabezpieczenie jest w oryginalnym układzie samochodu.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2016, o 07:32 
Offline
Nowy

Dołączył(a): 26 lip 2016
Posty: 8
Pomógł: 0

Sam się nad tym zastanawiałem ale dowolność konfiguracji czasu przez jeden klik jednak wygrała :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2016, o 16:12 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 29 cze 2016
Posty: 8
Pomógł: 0

Witam
A lubię jak wszystko można ustawić podczas pracy urządzenia a nie z góry narzucać czas pracy. Np jeżeli w czasie 5 sekund od podania napięcia wciśnięcie zostaną oba przyciski to urządzenie przejdzie w tryb programowania czasu i zapamięta jak długo był przyciśnięty przycisk a potem drugi. I można zrobić tak że ponowne naciśnięcie tego samego przycisku zatrzymuje silnik i zapamiętuje czas a kolejne kończy daną funkcje (np. Zamykanie)

Pozdrawiam Rafał



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2016, o 16:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

@Rafcio321, oczywiście tak jest najlepiej i sam tak robię w wielu urządzeniach, jednak autor miał sprecyzowane wymagania i przedstawiłem mu to w chyba w najprostszym rozwiązaniu bez przerwań, a w 100% działającym zgodnie z założeniami.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2016, o 16:45 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 29 cze 2016
Posty: 8
Pomógł: 0

@SylwekK Daleki jestem od ocenienia twojego programu, chciałem tylko pokazać @surow że programowanie daje dużo większe możliwości i w ten sposób zachęcić do rozwoju programu. :)
Pozdrawiam Rafał

P.S. Mógłby jeszcze domykać dach po zamknięciu centralnego zamka :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2016, o 17:26 
Offline
Nowy

Dołączył(a): 26 lip 2016
Posty: 8
Pomógł: 0

Nie mógłby bo układ jak i system dachu działa po zapłonie.
Oczywiście można to zrobić tak samo jak otwieranie dachu z kluczyka ale to juz trzeba nieźle rzeźbić w aucie.
Cel jak najbardziej został osiągnięty i pisanie aplikacji nie wiadomo jakich w tym przypadku nie miało sensu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2016, o 17:38 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 29 cze 2016
Posty: 8
Pomógł: 0

surow napisał(a):
Nie mógłby bo układ jak i system dachu działa po zapłonie.
Oczywiście można to zrobić tak samo jak otwieranie dachu z kluczyka ale to juz trzeba nieźle rzeźbić w aucie.
Cel jak najbardziej został osiągnięty i pisanie aplikacji nie wiadomo jakich w tym przypadku nie miało sensu.

A to faktycznie. Wiadomo że się da ale nie jestem zwolennikiem modyfikowania instalacji. Natomiast zatrzymywanie, uchylenie dachu uważam że byłoby fajne.
Pozdrawiam Rafał

Pozdrawiam Rafał



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2016, o 20:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Rafcio321 napisał(a):
@SylwekK Daleki jestem od ocenienia twojego programu, chciałem tylko pokazać @surow że programowanie daje dużo większe możliwości i w ten sposób zachęcić do rozwoju programu.

Myślę, że jeśli @surow wkręci się w programowanie to ma już gotową bazę do rozbudowy o nową funkcjonalność. Sam programik ma około 150 bajtów więc jeszcze sporo tam można upchnąć :)
Osobiście lubię wykorzystywać pamięć procków prawie pod "korek", tyle, że jak się rozpędzam to przychodzą do głowy coraz to nowe pomysły i zaczyna się wylewać - wtedy zaczynają się dopiero schody i nierówna walka o każdy bajt :)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2016, o 20:46 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 29 cze 2016
Posty: 8
Pomógł: 0

SylwekK napisał(a):
Rafcio321 napisał(a):
@SylwekK Daleki jestem od ocenienia twojego programu, chciałem tylko pokazać @surow że programowanie daje dużo większe możliwości i w ten sposób zachęcić do rozwoju programu.

Myślę, że jeśli @surow wkręci się w programowanie to ma już gotową bazę do rozbudowy o nową funkcjonalność. Sam programik ma około 150 bajtów więc jeszcze sporo tam można upchnąć :)
Osobiście lubię wykorzystywać pamięć procków prawie pod "korek", tyle, że jak się rozpędzam to przychodzą do głowy coraz to nowe pomysły i zaczyna się wylewać - wtedy zaczynają się dopiero schody i nierówna walka o każdy bajt :)

Nie za wiele mam projektów za sobą ale zawsze staram się wykorzystać procesor jak najmniejszy. Dziwi mnie jak widzę atmegę do sterowania diodą :) Na początku nawet kupiłem kilka dużych procków ale większych niż 2313 nie używałem :) zazwyczaj brakuje mi portów.
Pozdrawiam i dziękuję za spędzony czas.

Pozdrawiam Rafał



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2016, o 20:56 
Offline
Nowy

Dołączył(a): 26 lip 2016
Posty: 8
Pomógł: 0

Dzięki Panowie, to kolejny atut dla użycia mikrokontrolera ;)
Jak mi się zachce coś wymodzić lub dodać funkcję ogranicza mnie tylko wyobraźnia i pojemność układu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 lip 2016, o 08:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 mar 2016
Posty: 85
Pomógł: 5

surow napisał(a):
...ogranicza mnie tylko .... pojemność układu

atmega 2560 + ext ram :)

_________________
I'M



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sie 2016, o 13:52 
Offline
Nowy

Dołączył(a): 26 lip 2016
Posty: 8
Pomógł: 0

Panowie trochę mnie nie było i tak pomyślałem aby trochę zmienić program tak ażeby można było zatrzymać procedure otwierania/zamykania w nagłych wypadkach.
Mozna dodać do tego instrukcje żeby podczas zamykania/otwierania jakiekolwiek dotkniecie dowolnego przycisku rozłączało natychmiast przekaźnik i przechodziło w stan czuwania?

Będę wdzięczny za pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 08:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Pewnie, że można. Chciałbym jednak żebyś sam pokombinował. Najprościej dodać jakąś zmienną, która sygnalizuje, że dach jest w ruchu i jeśli teraz będzie wciśnięty przycisk to ruch zostanie przerwany. Zapewne pojawi się problem "na zmianę" czyli przy wciśniętym przycisku będzie się włączało i wyłączało bardzo szybko więc to również można zabezpieczyć flagą, która informuje o puszczeniu klawisza i daje pozwolenie dla wykonania jakiejś opcji po jego ponownym wcisku. Brzmi to groźnie, ale uwierz nie jest to jakieś megaskomplikowane :)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 08:58 
Offline
Nowy

Dołączył(a): 26 lip 2016
Posty: 8
Pomógł: 0

Hmm myślałem ze mona dodać coś takiego po "odlicz":

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Ale rozumiem ze program sprawdzi to dopiero po 20 sekundach. Dobrze mi się wydaje?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 09:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Sprawdź ;-)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 10:02 
Offline
Nowy

Dołączył(a): 26 lip 2016
Posty: 8
Pomógł: 0

okey sprawdzę ale dopiero za dwa tygodnie. Na szczęście dziś ostatni dzień w robocie i upragnione wakacje ;)



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: 22 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO