RTV forum PL | NewsGroups PL

Jak skonstruować czujnik pojemnościowy na ATmega8 do schodów podświetlanych?

Atmega i problem z czujnikiem pojemnościowym

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak skonstruować czujnik pojemnościowy na ATmega8 do schodów podświetlanych?

Goto page Previous  1, 2, 3, 4  Next

Zenek Kapelinder
Guest

Mon Dec 28, 2015 3:51 am   



Jak to komu? Tobie. Napisales ze chcesz zrobic. Odpisalem ze na chceniu sie skonczy. Nie dlatego zeby sie nie dalo. Ty nie zrobisz.

Jacek
Guest

Mon Dec 28, 2015 7:55 am   



Użytkownik "AlexY" <alexy@irc.pl> napisał w wiadomości
news:n5lrp3$fp2$1@dont-email.me...
Quote:
Jacek pisze:
Witam,
polecam kamerę IP z deekcją ruchu.
Ustawiasz sobie obszar jaki ma powodować alarm i można wykorzystać
wyjście
alarmowe
które zwykle jedno jest dostępne a poźniej analiza obrazu na wisience lub
PC
i sterowanie stopniami.

Pójdzie na Atmega8? Schody u mnie zakręcają, musiałbym dać 2 kamery. Na
razie szykuję się na wersję z nadajnikiem częstotliwości z drutu
rozciągniętego wzdłuż schodów i odbiornikami w stopniach.

Pójdzie na każdym procku, kamera ma tę zaletę iż pierwszy stopień można

zapalić gdy ktoś zbliży się na 50cm czy metr do 1 stopnia i zawsze wykryje
zmianę, nie zależnie od prędkości czy wielkości stopy.
Osobiście uważam iż podświetlenie powinno wyprzedzać o 2-3 stopnie idącego
a nie dopiero gdy stanie na stopniu się zapalać ale o gustach się ne
dyskutuje...
--
jacek

ACMM-033
Guest

Mon Dec 28, 2015 11:47 am   



Użytkownik "Jacek" <detektyw.rutkowski@gmail.com> napisał w wiadomości
news:n5qmcr$gt5$1@news.icm.edu.pl...
Quote:
Osobiście uważam iż podświetlenie powinno wyprzedzać o 2-3 stopnie idącego
a nie dopiero gdy stanie na stopniu się zapalać ale o gustach się ne
dyskutuje...

A może połączyć jedno z drugim i...
Z wyprzedzeniem zapalać oświetlenie, które zapobiega wypierniczeniu się w
ciemności na schodach, a w momencie nastąpienia, coś ozdobnego, jako
dodatek?

--
Telespamerzy:
814605413 222768000 616285002 845383900 224093185 896510439 896126048
222478125 222478457 814605444 717857100 222478205 616279900 222478190
616285031 222478041

AlexY
Guest

Mon Dec 28, 2015 4:03 pm   



Zenek Kapelinder pisze:
Quote:
Jak to komu? Tobie. Napisales ze chcesz zrobic. Odpisalem ze na chceniu sie skonczy. Nie dlatego zeby sie nie dalo. Ty nie zrobisz.

aha. Ciekawe na jakiej podstawie to stwierdziłeś.


--
AlexY
http://faq.enter.net.pl/simple-polish.html
http://www.pg.gda.pl/~agatek/netq.html

AlexY
Guest

Mon Dec 28, 2015 4:06 pm   



Jacek pisze:
Quote:
Użytkownik "AlexY" <alexy@irc.pl> napisał w wiadomości
news:n5lrp3$fp2$1@dont-email.me...
Jacek pisze:
Witam,
polecam kamerę IP z deekcją ruchu.
Ustawiasz sobie obszar jaki ma powodować alarm i można wykorzystać
wyjście
alarmowe
które zwykle jedno jest dostępne a poźniej analiza obrazu na wisience lub
PC
i sterowanie stopniami.

Pójdzie na Atmega8? Schody u mnie zakręcają, musiałbym dać 2 kamery. Na
razie szykuję się na wersję z nadajnikiem częstotliwości z drutu
rozciągniętego wzdłuż schodów i odbiornikami w stopniach.

Pójdzie na każdym procku, kamera ma tę zaletę iż pierwszy stopień można

Jeszcze nie wiedziałem żeby ktoś podpinał kamerę do atmegi8 co nie
znaczy że się nie da, idę o zakład że prędzej opanuję obsługę ADC
aniżeli kupie/dostanę/podłączę/obsłużę kamerę.

Quote:
zapalić gdy ktoś zbliży się na 50cm czy metr do 1 stopnia i zawsze wykryje
zmianę, nie zależnie od prędkości czy wielkości stopy.

Tak, da się, można też użyć czujki IR, mikrofalowej itd, tylko to
przerost formy nad treścią.

Quote:
Osobiście uważam iż podświetlenie powinno wyprzedzać o 2-3 stopnie idącego
a nie dopiero gdy stanie na stopniu się zapalać ale o gustach się ne
dyskutuje...

Chyba nie czytałeś wątku od początku.


--
AlexY
http://faq.enter.net.pl/simple-polish.html
http://www.pg.gda.pl/~agatek/netq.html

Zenek Kapelinder
Guest

Mon Dec 28, 2015 8:05 pm   



Bylem u wrozki. Jak masz kaprys to moge za pol roku spytac jak Ci idzie.

Marek Wodzinski
Guest

Tue Dec 29, 2015 1:40 am   



On Mon, 28 Dec 2015, AlexY wrote:

Quote:
Jeszcze nie wiedziałem żeby ktoś podpinał kamerę do atmegi8 co nie znaczy że
się nie da,

Kamery cctv mają wyjścia 'alamrmów' i jak sobie zaprogramujesz w kamerze,
że w danym sektorze coś się poruszy, to ona zmieni sama stan na tym
wyjściu. Banał. Tylko cena kamery pewnie Cię zniechęci :-)

Quote:
idę o zakład że prędzej opanuję obsługę ADC aniżeli

Weź nie demonizuj tego ADC. W Arduino:
- inicjalizacja (opcjonalna); analogReference(DEFAULT);
- odczyt dowolnego kanału (zwraca int): analogRead(nr_pinu_z_adc);
Koniec.

Jak chcesz rzeźbić w asemblerze czy C, to rzeczywiście trzeba spojrzeć do
datasheeta i wpisać odpowiednie wartości do odpowiednich rejestrów, żeby
coś odczytać. Arduino dodaje warstwę abstrakcji. Czasem jest to
upierdliwe, ale czasem całkiem dobre, bo program możesz przenieść na inny
procek praktycznie bez zmian i zastanawiania się co się tam po rejestrach
pozmieninało.

Jak się przyzwyczaisz do Arduino, to okaże się, że przy okazji liznąłeś C
zamiast bezużytecznego Basica w Bascomie.


Pozdrawiam

Marek
--
"If you want something done...do yourself!"
Jean-Baptiste Emmanuel Zorg

Uzytkownik
Guest

Tue Dec 29, 2015 12:28 pm   



W dniu 2015-12-29 o 01:40, Marek Wodzinski pisze:

Quote:
Jak chcesz rzeźbić w asemblerze czy C, to rzeczywiście trzeba spojrzeć
do datasheeta i wpisać odpowiednie wartości do odpowiednich rejestrów,
żeby coś odczytać. Arduino dodaje warstwę abstrakcji.

To jest ukłon w kierunku Bascoma :)

Quote:
Czasem jest to upierdliwe, ale czasem całkiem dobre, bo program możesz
przenieść na inny procek praktycznie bez zmian i zastanawiania się co
się tam po rejestrach pozmieninało.

Jak się przyzwyczaisz do Arduino, to okaże się, że przy okazji
liznąłeś C zamiast bezużytecznego Basica w Bascomie.

Powielasz bzdurne mity głoszone przez ludzi, którzy nigdy nie mieli
styczności z Bascomem i którzy utożsamiają go Basiciem.
Wiele rzeczy w Bascomie robi się o wiele prościej i szybciej niż w C
właśnie dlatego, że "warstwa abstrakcji" w nim istnieje od samego początku.
Język ten cały czas się rozwija i rośnie liczba bibliotek obsługujących
peryferia, włącznie z obsługą dyków czy ethernet, a przy tym pisanie
programów jest łatwiejsze i szybsze niż w jakimkolwiek innym języku.
Poza tym Bascom to nie Basic. On tylko był tworzony na bazie czy też
podobieństwo Basica i obecnie niewiele ma z nim wspólnego. Zatem
utożsamianie go z Basiciem świadczy o kompletnej ignorancji osoby tak
twierdzącej.
Fakt, że C jest bardziej elastyczny i ma większe możliwości, ale tylko
dlatego, że operuje na niższym poziomie programowania i przez to kody
wynikowe są krótsze, ale samo programowanie wymaga większej wiedzy i
grzebania w dokumentacji.
Czy lepsze i bardziej elastyczny od Bascoma?
Niekoniecznie, ponieważ Bascom umożliwia robienia wstawek
assemblerowych. Czyli tego co nie zrobisz bezpośrednio w Bascom, możesz
zrobić w assemblerze.
Za to sam program w C jest dłuższy niż w Bascomie i trzeba się przy nim
trochę nagłowić.
Dużym plusem C jest to, że są kompilatory na różne procesory, a Bascom
obsługuje tylko i wyłacznie Atmela serię MISC 51 oraz RISC AVR.
Przewagą Bascoma jest natomiast to, że o wiele szybciej można go poznać
i o wiele łatwiej się pisze programy.

AlexY
Guest

Tue Dec 29, 2015 12:37 pm   



Uzytkownik pisze:
[ciach flamewar]

Pany, dyskusje o wyższości jednego czy drugiego prowadźcie na advocacy.
Ja już pisałem, próbowałem podejść do C i go odrzuciłem, to nie ja będę
się naginał do języka tylko wybiorę to co mi pasi, nie jestem
lemmingiem. A pasi mi assembler bo kod robi dokładnie to co ja chcę i
basic bo jest intuicyjny.
Kamera IP z ilomaś tam strefami detekcji odpada, nie te koszta i szpeci.
Przerwa świąteczna zakończona, wracam do dłubania.

--
AlexY
http://faq.enter.net.pl/simple-polish.html
http://www.pg.gda.pl/~agatek/netq.html

janusz_k
Guest

Tue Dec 29, 2015 7:04 pm   



W dniu 2015-12-28 o 02:42, AlexY pisze:
Quote:
janusz_k pisze:
W dniu 2015-12-22 o 00:41, AlexY pisze:
A to widziałeś?
http://www.elektroda.pl/rtvforum/topic3088760.html

Dziwne rozwiązanie, po co tam tranzystor? Sprawdzałem podobny układ,
Przecież pisze że podłączony do rozładowania kondesatora przez 220om.


Quote:
ogólnie wzorowałem się na http://www.elektronik-labor.de/AVR/Touch.html
aczkolwiek nie znam szwabskiego, tak że mogłem coś pomieszać.
Ale tam masz wszystko opisane i nawet na programie się można wzorować.


--
Pozdr

Janusz_K

AlexY
Guest

Tue Dec 29, 2015 8:34 pm   



janusz_k pisze:
Quote:
W dniu 2015-12-28 o 02:42, AlexY pisze:
janusz_k pisze:
W dniu 2015-12-22 o 00:41, AlexY pisze:
A to widziałeś?
http://www.elektroda.pl/rtvforum/topic3088760.html

Dziwne rozwiązanie, po co tam tranzystor? Sprawdzałem podobny układ,
Przecież pisze że podłączony do rozładowania kondesatora przez 220om.

Widzę co on robi, tylko nadal nie widzę sensu żeby robić to przez
tranzystor, to nie jest 2200uF, nic nie upali, to samo robi się każdą
inną metodą, i to bez opornika.

Quote:
ogólnie wzorowałem się na http://www.elektronik-labor.de/AVR/Touch.html
aczkolwiek nie znam szwabskiego, tak że mogłem coś pomieszać.
Ale tam masz wszystko opisane i nawet na programie się można wzorować.

Program programem a opisy, zastosowania i sztuczki/kruczki w części
opisowej.

--
AlexY
http://faq.enter.net.pl/simple-polish.html
http://www.pg.gda.pl/~agatek/netq.html

Marek
Guest

Tue Dec 29, 2015 10:30 pm   



On Tue, 29 Dec 2015 12:28:14 +0100, Uzytkownik <adres@serwer.pl>
wrote:
Quote:
Powielasz bzdurne mity głoszone przez ludzi, którzy nigdy nie mieli
styczności z Bascomem i którzy utożsamiają go Basiciem.

Mity??. Bascom to jest kpina a nie język programowania. Pisałem o tym
wielorokrotnie i zawsze będę to powtarzał.
Ograniczenie dwóch operandow i jednego operatora, nie da się zapisać
wyrażenia x=2*z+y. Nie ma żadnej optymalizacji kodu bo to nie jest
nawet kompilator tylko konsolidator asemblerowych biliotek i makr
tworzonych bez zachowania żadnych konwencji w podawaniu argumentow
procedur/funkcjj. Już powyższe dwa zarzuty zdradzają, że twórcy
owego pseudojezyka nie mieli żadnej styczności i doświadczenia z
profesjanalnymi narzędziami do analizy leksykalnej i składniowej
(flex, bison). Przez co wymyślając od nowa koło stworzyli takiego
potworka.
Ale to nie wszystko: brak możliwości pisania bibliotek (nie
asemblerowych) co w programiście wpaja ograniczenie "jednego
programu" przez co taki później ma problem z ogarnięciem bardziej
skomplikowanych rzeczy np. wielizadaniowości.
Bascom niestety produkuje kaleki programistyczne, których rozwój
zatrzymuje się na jednej rodzinie mcu z jednym pseudojęzykiem.

--
Marek

janusz_k
Guest

Tue Dec 29, 2015 10:36 pm   



W dniu 2015-12-29 o 20:34, AlexY pisze:
Quote:
janusz_k pisze:
W dniu 2015-12-28 o 02:42, AlexY pisze:
janusz_k pisze:
W dniu 2015-12-22 o 00:41, AlexY pisze:
A to widziałeś?
http://www.elektroda.pl/rtvforum/topic3088760.html

Dziwne rozwiązanie, po co tam tranzystor? Sprawdzałem podobny układ,
Przecież pisze że podłączony do rozładowania kondesatora przez 220om.

Widzę co on robi, tylko nadal nie widzę sensu żeby robić to przez
tranzystor, to nie jest 2200uF, nic nie upali, to samo robi się każdą
inną metodą, i to bez opornika.
No nie, jak zrobisz to portem, to zanim go przełączysz na wejście to

rezystory wewnętrzne rozładują ci kondesator, widocznie nie dało
się tego ominąć i dlatego dołożyli tranzystor.

Quote:

ogólnie wzorowałem się na http://www.elektronik-labor.de/AVR/Touch.html
aczkolwiek nie znam szwabskiego, tak że mogłem coś pomieszać.
Ale tam masz wszystko opisane i nawet na programie się można wzorować.

Program programem a opisy, zastosowania i sztuczki/kruczki w części
opisowej.
Ale dość prosto opisane, da się po swojemu napisać program.



--
Pozdr

Janusz_K

AlexY
Guest

Wed Dec 30, 2015 1:39 pm   



janusz_k pisze:
Quote:
W dniu 2015-12-29 o 20:34, AlexY pisze:
janusz_k pisze:
W dniu 2015-12-28 o 02:42, AlexY pisze:
janusz_k pisze:
W dniu 2015-12-22 o 00:41, AlexY pisze:
A to widziałeś?
http://www.elektroda.pl/rtvforum/topic3088760.html

Dziwne rozwiązanie, po co tam tranzystor? Sprawdzałem podobny układ,
Przecież pisze że podłączony do rozładowania kondesatora przez 220om.

Widzę co on robi, tylko nadal nie widzę sensu żeby robić to przez
tranzystor, to nie jest 2200uF, nic nie upali, to samo robi się każdą
inną metodą, i to bez opornika.
No nie, jak zrobisz to portem, to zanim go przełączysz na wejście to
rezystory wewnętrzne rozładują ci kondesator, widocznie nie dało
się tego ominąć i dlatego dołożyli tranzystor.

Jakie rez wew? Port jest przełączany w stan wysokiej impedancji
(rezystory podciągające odłączone) i tyle, mam wrażenie że ten układ
robił ktoś nie do końca świadomy tematu, nie znam C a chyba na tym
bazuje arduino ale widzę tam 2 rzeczy świadczące o tym że autor projektu
stawia pierwsze kroki w mikrokontrolerach:
1. ładowanie wyłącza dopiero na koniec cyklu, po otrzymaniu stanu
wysokiego na wejściu (w tym momencie powinien przerwać), po 100mS
debouncingu i po ustawieniu switchstate.
2. rozładowanie potrwa prawdopodobnie 1/4 uS bo zaraz po włączeniu
tranzystora bez żadnego opóźnienia jest on wyłączany. IMHO wpisanie zera
w port pomiarowy (zaraz sprawdzę czy trzeba przełączać pin na wyjście)
będzie skuteczniejsze a zaoszczędzi się jeden port.


Quote:
ogólnie wzorowałem się na http://www.elektronik-labor.de/AVR/Touch.html
aczkolwiek nie znam szwabskiego, tak że mogłem coś pomieszać.
Ale tam masz wszystko opisane i nawet na programie się można wzorować.

Program programem a opisy, zastosowania i sztuczki/kruczki w części
opisowej.
Ale dość prosto opisane, da się po swojemu napisać program.

Toteż napisałem i działa jak działa czyli ma za małą czułość, dzisiaj
robię wersję na ADC, chyba że znowu zmarnuję dzień na czołgi...


--
AlexY
http://faq.enter.net.pl/simple-polish.html
http://www.pg.gda.pl/~agatek/netq.html

AlexY
Guest

Fri Jan 08, 2016 10:26 pm   



Mam jako-tako działającą wersję na ADC, ponieważ jest to jako/tako to
mam do Ciebie parę pytań bo zrobiłeś i Ci działa.

Marek Wodzinski pisze:
Quote:
On Sat, 26 Dec 2015, AlexY wrote:
[..]
QtouchADC to całkiem inna metoda. Masz jeden kondensator wewnątrz procka
na wejściu ADC, drugim jest elektroda. Ładujesz jeden, rozładowujesz
drugi, potem je łączysz razem i jak ładunek już przepłynie z jednego do

Jak konkretnie je łączysz? Wyzwolenie pomiaru łączy kondensator
przetwornika na 13.5 cyklu przetwornika przy pierwszym pomiarze od
włączenia ADC lub 1.5 cyklu później, w tej chwili mam pierwszą metodę
przy największym dzielniku preskalera ADC, ale czy ten czas wystarczy?
Oscyloskop mi padł więc nie mogę chwilowo skalibrować zgodnie z
zaleceniami Atmela. Jest jeszcze info, iż jeśli kanał pomiarowy nie
zostanie zmieniony to po konwersji ponownie włącza Cs/h aż do startu
kolejnego pomiaru.


[..]
Quote:
zakłóceniami). Jeżeli zrobisz 2 pomiary: raz ładując wewnętrzny C i
rozładowując elektrodę, drugi raz odwrotnie, to jak odejmiesz pomiary,
to zakłócenia się odejmą, a rzeczywista zmiana pojemności się doda. Samo
ADC da o wiele większą rozdzielczość pomiaru niż pomiar czasu w
'tradycyjnym' układzie, a to przekłada się na większą czułość przy
mniejszych zakłóceniach (bo te się odejmują).

Zrobiłem 2 wersje ładowania Cs/h
1. z osobnego wejścia (jak poniżej) podciągniętego wewnętrznie do Vcc,
wynik odejmowania jest wyraźniejszy, tylko jest ryzyko wystąpienia liczb
ujemnych.
2. z wejścia 14 "bandgap reference" jest na nim 1.3V w tym wypadku wynik
dodawania daje lepsze rezultaty a odejmowania jest niemal stały.

[..]
Quote:
Atmelowa biblioteka jest binarna, pliki nagłówkowe plus skompilowane
obj-ty.
Jest tak duża, że wolałem napisać samemu. Sam odczyt to tylko kilka
instrukcji. Więcej jest zabawy z uśrednianiem długoterminowym,
ustawieniem sobie progów wykrycia dotyku itp.

Możesz pokazać fragment odpowiedzialny za pomiar?
U mnie w bascomie idzie tak:

Samples = 16 'how many samples will be used for averaging
Ddrc.5 = 0 : Portc.5 = 0 'C5 sensor input uses ADC
Ddrc.2 = 0 : Portc.2 = 1 'C2 used for charging sample/hold capacitor

'ADC INIT
Config Adc = Single , Prescaler = 128 , Reference = Avcc

Do
For Cycle = 0 To Samples -1
'discharge sensor
Ddrc.5 = 1 : Portc.5 = 0
'discharge ADC capacitor
Start Adc
Volt3 = Getadc(15)
Stop Adc
'charge sensor, assume during ADC conversion it was discharged
Portc.5 = 1
'switch to tristate and measure to share the charge with ADC capacitor
Ddrc.5 = 0 : Portc.5 = 0
Start Adc
Volt1 = Getadc(5) + Volt1
Stop Adc
'discharge sensor and charge ADC capacitor
Ddrc.5 = 1
Start Adc
Volt3 = Getadc(2)
Stop Adc
'again switch to tristate to share the charge and measure
Ddrc.5 = 0
Start Adc
Volt2 = Getadc(5) + Volt2
Stop Adc
Next Cycle
Volt1 = Volt1 / Samples
Volt2 = Volt2 / Samples
Ressum = Volt1 + Volt2
Resdif = Volt1 - Volt2

[..]


--
AlexY
http://faq.enter.net.pl/simple-polish.html
http://www.pg.gda.pl/~agatek/netq.html

Goto page Previous  1, 2, 3, 4  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Jak skonstruować czujnik pojemnościowy na ATmega8 do schodów podświetlanych?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map