Skocz do zawartości

[Bascom] Jeden impuls przy każdej zmianie stanu.


Gunslinger

Pomocna odpowiedź

Co prawda to forum o robotyce, a urządzenie chce zainstalować w samochodzie, ale znacie się na mikrokontrolerach. Więc do rzeczy. Układ ma być spięty z krańcówką. Przy każdej zmianie jej stanu ma podać 0.5s impuls na siłownik. Uc to Mega8. Tylko przy jednym stanie o jednej, a przy drugim o odwróconej polaryzacji (0 +- , 1 -+). Najlepiej chyba użyć dwóch przekaźników. Jednak nie wiem jak w bascomie rozwiązać to programowo?

Link do komentarza
Share on other sites

Napisz jaśniej bo to co napisałeś jasne nie jest.

Jeśli wygenerujesz 0.5s impuls to jak zaraz chcesz zrobić o odwróconej polaryzacji?

Po co tam przekaźniki? to ma silnikiem w dwie strony sterować czy co?

Narysuj jakiś schemat to program pomożemy napisać.

Link do komentarza
Share on other sites

No więc w drzwiach przycisk/krańcówka przy zamku. I jak zamykam drzwi, to zamykam obwód. Wtedy układ ma zasilić siłownik elektromagnetyczny +-. Gdy otworzę drzwi, to otwieram obwód, i znowu ma zasilić impulsem, ale odwrócona polaryzacja -+, bo teraz siłownik ma otwierać.

Chyba dość jasno opisałem, więc nie będzie trzeba schematu. Praktycznie też to mają być 2 siłowniki, więc będzie sporo A, dlatego przekaźniki.

Link do komentarza
Share on other sites

No to muszą być 2 przekaźniki podłączone do 2 wyjść aby zrealizować 2-kierunkowe załączanie (albo mostek h).

Nie napisałeś ani nie narysowałeś do jakiego wejścia podłączasz sygnał wiec ciężko powiedzieć czy można użyć przerwań zewnętrznych czy nie.

Zakładając że wejście podłączone zostanie do zwykłej nóżki to najważniejsza część programu może wyglądać np tak

wejscie alias pin....
wyjscie1 alias port....
wyjście2 alias port...
reset wyjscie1
reset wyjscie2

dim stan_poprzedni as bit

do
if wejscie<>stan poprzedni then
stan_poprzedni = wejscie

if wejscie=1 then
set wyjscie1
waitms 500
reset wyjscie1
end if

if wejscie=0 then
set wyjscie2
waitms 500
reset wyjscie2
end if

end if

loop
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

Rzeczywiście. Nie spostrzegawczy ja. Dziękuje za szybką pomoc. Wrzucam na procka i robię test na już gotowej stykówce.

[ Dodano: 04-06-2015, 17:47 ]

$regfile = "m8def.dat"                                      '
$crystal = 1000000


Config Portb = Output
Config Portd = Input
Config Portc = Output



   Wejscie Alias Pind.7
   Wyjscie1 Alias Portb.0
   Wyjscie2 Alias Portb.1
   Reset Wyjscie1
   Reset Wyjscie2

   Dim Stan_poprzedni As Bit

   Do
   If Wejscie <> Stan_poprzedni Then
   Stan_poprzedni = Wejscie
   End If

   If Wejscie = 1 Then
   Set Wyjscie1
   Waitms 500
   Reset Wyjscie1
   End If

   If Wejscie = 0 Then
   Set Wyjscie2
   Waitms 500
   Reset Wyjscie2
   End If


   Loop

Na tym kodzie gdy nózka PD7 wisi w powietrzu, to przekaźnik 1 załącza się na ok. 4 s, po czym wyłącza się, załącza się 2 na 0.5s. I tak w koło. Ale jak podepnę tą nóżkę do zasilania lub masy nie dzieje się nic.

If Wejscie <> Stan_poprzedni Then
   Stan_poprzedni = Wejscie

Nie rozumiem jak działa ten zapis.

Link do komentarza
Share on other sites

Zastanawiam się jaki sens ma stosowanie tam mikrokontrolera, Można rozwiązać takie zagadnienie przy użyciu układu czasowego '121, lub '123 i kondensatora, który wytworzy nam impuls. A później takim układem sterować mostek-h. Moim zdaniem takie rozwiązanie będzie nawet pewniejsze, bo jest to wykonywane sprzętowo, a z mikrokontrolerem mogą się pojawić problemy. Im prostsze rozwiązanie tym leprze.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

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