Goto page Previous 1, 2, 3
Michal M. Lechanski
Guest
Sat Jul 08, 2017 9:07 pm
W dniu 08/07/2017 o 20:59, Janusz pisze:
Quote:
autor jeszcze nie wie co to są
przerwania i po co.
O to, to! ważne spostrzeżenie.
Ale się uczy i, miejmy nadzieję, wkrótce już będzie wiedział. :-)
Bardzo dziękuję za wszystkie odpowiedzi - nie zdawałem sobie sprawy, że
banalny licznik obrotów może w istocie być wcale nie taki banalny...
Pozdrawiam
--
Michał
Zenek Kapelinder
Guest
Sat Jul 08, 2017 10:50 pm
Teraz dolozyles do pieca sa takie co maja 200 milionow zadzian. I to nie jest jakas super produkcja dla NASA.
slawek
Guest
Sun Jul 09, 2017 6:05 am
On Sat, 8 Jul 2017 21:59:56 +0200, Janusz <janusz_kk@o2.pl> wrote:
Quote:
Co do czasochłonności
W sensie np. przesyłania 32 bajtów przy 9600 bodów - nie zależy od
taktowania CPU i nie da się przyspieszyć. A jak jeszcze będzie
czekanie na gotowość do transmisji... to czas może być dowolnie
długi.
slawek
Guest
Sun Jul 09, 2017 12:03 pm
On Sat, 8 Jul 2017 13:50:09 -0700 (PDT), Zenek Kapelinder
<4kogutek44@gmail.com> wrote:
Quote:
Teraz dolozyles do pieca sa takie co maja 200 milionow zadzian. I
to nie jest jakas super produkcja dla NASA.
Policzmy. 1000 razy na sekundę w czasie jednej godziny to 3600 000.
Te 200 milionów zadziałań podzielone przez 3.6 miliona daje około 60
godzin, czyli nawet nie trzy dni.
Czyli przy 1000 impulsach na sekundę po trzech dniach jest spora
szansa na awarię (50%?). Przy 10 impulsach na sekundę układ może
wytrzyma rok zanim padnie. Pomijam kwestię jaka jest moc mechaniczna
pobierana z koła - te styki pracują, skąś biorą na to energię ;)
Moim zdaniem są niezłe przy pracy raz na parę minut, zwłaszcza jeżeli
służą jako przekaźniki. Ale jako czujniki (pole magnetyczne) to
hallotrony chyba są lepsze.
Zenek Kapelinder
Guest
Sun Jul 09, 2017 4:06 pm
Szybko by musial pomykac na rowerze. Tak 3600 km/h, troche wiecej niz polowa pierwszej predkosci kosmicznej dla Ksiezyca.
Guest
Sun Jul 09, 2017 5:42 pm
W dniu niedziela, 9 lipca 2017 14:03:33 UTC+2 użytkownik slawek napisał:
Quote:
On Sat, 8 Jul 2017 13:50:09 -0700 (PDT), Zenek Kapelinder
4kogutek44@gmail.com> wrote:
Teraz dolozyles do pieca sa takie co maja 200 milionow zadzian. I
to nie jest jakas super produkcja dla NASA.
Policzmy. 1000 razy na sekundę w czasie jednej godziny to 3600 000.
Te 200 milionów zadziałań podzielone przez 3.6 miliona daje około 60
godzin, czyli nawet nie trzy dni.
Czyli przy 1000 impulsach na sekundę po trzech dniach jest spora
szansa na awarię (50%?). Przy 10 impulsach na sekundę układ może
wytrzyma rok zanim padnie. Pomijam kwestię jaka jest moc mechaniczna
pobierana z koła - te styki pracują, skąś biorą na to energię ;)
Moim zdaniem są niezłe przy pracy raz na parę minut, zwłaszcza jeżeli
służą jako przekaźniki. Ale jako czujniki (pole magnetyczne) to
hallotrony chyba są lepsze.
Namęczyłes sie niepotrzebnie.
Jedno zadziałanie jest na około 2m pokonanego dystansu.
Nawet jak wytrzyma nędzne 1 000 000 razy to jest 20 mln metrów czyli 20 000km.
I wtedy się może okazać że trzeba wylutować i załozyc nowy.
Jak na prosty układ do nauki - imho starczy.
Oczywiscie czujnik halla sporo lepszy ale troche utrudnia zadanie...
Michal M. Lechanski
Guest
Sun Jul 09, 2017 6:45 pm
W dniu 07/07/2017 o 12:04, Nifhelm pisze:
Quote:
A najlepiej zastosuj przerwania.
Przy pomocy googla takie coś wyskrobałem i zdaje się to działać poprawnie:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 7, 6);
int licznik;
void setup()
{
lcd.begin(16, 2);
pinMode(2, INPUT_PULLUP);
attachInterrupt(0, zliczanie, FALLING);
licznik=0;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("licznik = ");
}
void loop()
{
lcd.setCursor(8, 0);
lcd.print(licznik);
}
zliczanie(){
static unsigned long lastTime;
unsigned long timeNow = millis();
if (timeNow - lastTime < 50)
return;
licznik++;
lastTime = timeNow;
}
I teraz mam dwa kolejne pytania,
1. a gdybym chciał zliczyć impulsy z innego koła, to co powinienem
zrobić? Chodzi mi o to że może wystąpić sytuacja że przerwania będą
wywołane w tym samym czasie?
2. Powyższy kod działa mi z kontaktronem. Ani czujnik Halla ani
podczerwieni nie dają odpowiednich poziomów napięcia na wyjściu. Czy
trzeba zastosować jakiś zewnętrzny układ dopasowujący czy da się to
zrealizować na samym Arduino?
Jeszcze raz bardzo dziękuję za wszystkie odpowiedzi.
--
Michał
Cezar
Guest
Mon Jul 10, 2017 8:52 am
On 09/07/2017 19:45, Michal M. Lechanski wrote:
Quote:
I teraz mam dwa kolejne pytania,
1. a gdybym chciał zliczyć impulsy z innego koła, to co powinienem
zrobić? Chodzi mi o to że może wystąpić sytuacja że przerwania będą
wywołane w tym samym czasie?
Atmega 328 ma dwa przerwania INT0 i INT1 (piny 2 i 3)
Quote:
2. Powyższy kod działa mi z kontaktronem. Ani czujnik Halla ani
podczerwieni nie dają odpowiednich poziomów napięcia na wyjściu. Czy
trzeba zastosować jakiś zewnętrzny układ dopasowujący czy da się to
zrealizować na samym Arduino?
Jeszcze raz bardzo dziękuję za wszystkie odpowiedzi.
Przytocze jeszcze raz... wyguglaj "Arduino Analog Comparator Interrupt"
c.
Nifhelm
Guest
Mon Jul 10, 2017 2:14 pm
W dniu 09.07.2017 o 20:45, Michal M. Lechanski pisze:
Quote:
W dniu 07/07/2017 o 12:04, Nifhelm pisze:
A najlepiej zastosuj przerwania.
Przy pomocy googla takie coś wyskrobałem i zdaje się to działać poprawnie:
#include <LiquidCrystal.h
LiquidCrystal lcd(12, 11, 5, 4, 7, 6);
int licznik;
Bezpieczniej użyć:
volatile int licznik;
W arduino zmienne modyfikowane w trakcie przerwań powinny być tak
definiowane.
[...]
Quote:
I teraz mam dwa kolejne pytania,
1. a gdybym chciał zliczyć impulsy z innego koła, to co powinienem
zrobić? Chodzi mi o to że może wystąpić sytuacja że przerwania będą
wywołane w tym samym czasie?
Wystarczy użyć drugiego przerwania.
Quote:
2. Powyższy kod działa mi z kontaktronem. Ani czujnik Halla ani
podczerwieni nie dają odpowiednich poziomów napięcia na wyjściu. Czy
trzeba zastosować jakiś zewnętrzny układ dopasowujący czy da się to
zrealizować na samym Arduino?
Jeszcze raz bardzo dziękuję za wszystkie odpowiedzi.
Arduino na wejściach cyfrowych ma określone poziomy odpowiadające
stanowi wysokiemu i niskiemu. Sygnały wejściowe muszą być więc
dopasowane do tych poziomów, albo wejście nie będzie reagować/zacznie
szaleć.
Najprościej wstawić komparator. Można też kupić gotowe moduły z
czujnikiem odbiciowym i komparatorem. Widywałem takie nawet po 2.50zł.
Mają one od razu wyjście cyfrowe i potencjometr do regulacji czułości.
Pozdrawiam.
Goto page Previous 1, 2, 3