Forum Index

Rules  | Points  | Add...  | Recent posts  | Search  | Register  | Log in

This site uses cookies. Learn more about cookies and changing the settings in your browser.

Arduino - kwestia zasilenia oraz klawiatura


Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> 51 Microcontrollers -> Arduino - kwestia zasilenia oraz klawiatura
Author
Message
bombardier89
Poziom 14
Poziom 14


Joined: 08 Feb 2009
Posts: 157

Post#1 Post from the author of the topic 21 Jan 2013 19:10   

Arduino - kwestia zasilenia oraz klawiatura


Witam,
od jakiegoś czasu tworzę pewien projekt, który obecnie wykorzystuje klawiaturę z drabinki rezystorowej (taką) oraz LCD zgodny z HD44780. Projekt obecnie jest na płytce stykowej, zasilany jest stabilnym napięciem +5V z USB.
Sprawa zaczyna wyglądać mniej kolorowo, gdy projekt był na tyle gotowy programistycznie, abym mógł go umieścić w obudowie. Zasilanie musi być bateryjne, a obudowa jest dość kompaktowa - mam więc pierwszy problem. Stąd moje pierwsze dwa pytania: jakim minimalnym napięciem musi być zasilane Arduino oraz czym je zasilić? Aktualnie moim jedynym pomysłem są dwa akumulatorki od telefonów 3,6V połączone szeregowo, rozumiem że stabilizatora nie trzeba bo Arduino posiada już własny. Obawiam się tylko, że przez kompaktowość obudowy mogę wszystkiego nie zmieścić wewnątrz - może są jakieś inne akumulatory zajmujące stosunkowo mało miejsca oraz dające wystarczające napięcie na zasilenie Arduino wraz z LCD (bez podświetlenia)?
Drugim problemem jest klawiatura, klawiatura z drabinki rezystorowej jest dobra przy stabilnym, stałym napięciu, jednakże jeśli użyję zasilania bateryjnego to boję się o stabilność odczytu rezystancji przez piny analogowe (wszak napięcie będzie ulegało znacznym wahaniom z biegiem czasu pracy, a programistycznie rzecz jest rozwiązana przez okreslenie przedziału wartości z przetwornika ADC dla każdego utworzonego przycisku w drabince). Wygooglałem patent, który zwie się klawiatura matrycowa i tu właśnie pojawia się kolejny problem - docelowo muszę mieć 24 przyciski, czyli taka klawiatura zużyje mi 10 pinów cyfrowych (5x5). 7 (lub 8, nie pamiętam) pinów cyfrowych będzie zajęte przez LCD. Czy da się jakoś stworzyć taką klawiaturę korzystając również z pinów analogowych w Arduino? Czy macie jakiś inny pomysł na rozwiązanie problemu klawiszy?
Proszę o pomoc,
Pozdrawiam!

Helpful message? + -

Back to top
   
Google


Google Adsense


Post# 21 Jan 2013 19:10   





Back to top
   
BlueDraco
Specjalista - Mikrokontrolery
Specjalista - Mikrokontrolery


Joined: 12 Dec 2012
Posts: 3535

Post#2 21 Jan 2013 19:26helpful post - solution   

Re: Arduino - kwestia zasilenia oraz klawiatura


Wystarczy zasilać drabinkę klawiatury z tego samego źródła, z którego pochodzi napięcie odniesienia ADC (być może wręcz z wyjścia VREF, jeśli rezystory nie są za małe) - wtedy napięcie może być dowolne. Z tym "stabilnym zasilaniem z USB" to niezły dowcip...)

Helpful message? + -

Back to top
   
bombardier89
Poziom 14
Poziom 14


Joined: 08 Feb 2009
Posts: 157

Post#3 Post from the author of the topic 21 Jan 2013 19:32   

Re: Arduino - kwestia zasilenia oraz klawiatura


Czyli w przypadku Arduino wystarczy, jeśli zamiast do +5V podepnę klawiaturę do pinu REF tutaj?
Arduino - kwestia zasilenia oraz klawiatura

Helpful message? + -

Back to top
   
BlueDraco
Specjalista - Mikrokontrolery
Specjalista - Mikrokontrolery


Joined: 12 Dec 2012
Posts: 3535

Post#4 21 Jan 2013 19:40helpful post - solution   

Re: Arduino - kwestia zasilenia oraz klawiatura


Pewnie tak, ale zmierz napięcie na VREF przed i po przypięciu. Jeśli się (prawie) nie zmieni - to ok.

Helpful message? + -

Back to top
   
bombardier89
Poziom 14
Poziom 14


Joined: 08 Feb 2009
Posts: 157

Post#5 Post from the author of the topic 21 Jan 2013 19:42   

Re: Arduino - kwestia zasilenia oraz klawiatura


Ok, przetestuję to - dzięki wielkie.
W przypadku niepowodzenia chciałbym jednak wiedzieć, czy piny analogowe mogą mi zastąpić cyfrowe jeśli chodzi o tę klawiaturę matrycową Wink Jakieś mądre pomysły na zasilenie całości też by mi bardzo pomogły.

Helpful message? + -

Back to top
   
BlueDraco
Specjalista - Mikrokontrolery
Specjalista - Mikrokontrolery


Joined: 12 Dec 2012
Posts: 3535

Post#6 21 Jan 2013 21:15   

Re: Arduino - kwestia zasilenia oraz klawiatura


To zależy, które analogowe. Linie portów - tak, ale specjalizowane - tylko analogowe - nie. ATmega8 w LQFP (poprawka) ma dwie linie tylko analogowe.

Helpful message? + -

Back to top
   
Google


Google Adsense


Post# 21 Jan 2013 21:15   





Back to top
   
piotrva
Moderator Mikrokontrolery
Moderator Mikrokontrolery


Joined: 22 Apr 2008
Posts: 5279
Location: Kraków

Post#7 21 Jan 2013 23:14helpful post - solution   

Re: Arduino - kwestia zasilenia oraz klawiatura


BlueDarco, no fajnie, każesz gościowi pobierać prąd ze źródła napięciowego zaznaczając tylko
BlueDraco wrote:
jeśli rezystory nie są za małe


Skoro to ma być klawiatura rezystancyjna to robisz tak:
1. Konfigurujesz źródło napięcia odniesienia na napięcie zasilania procesora.
2. Górny koniec drabinki podpinasz pod to samo napięcie, którym zasilany jest procesor. Masz wtedy efekt, którego oczekiwałeś i dodatkowo pomiar "drabinki" jest zupełnie niezależny od napięcia zasilania. Jeśli np. wciśnięcie przycisku daje Ci wynik 649 to nieważne czy zasilisz całość z 5V, czy z 3V - wynik pozostanie niezmienny (pomijam normalne szumy i wahania), bo wraz ze zmianą zasilania zmieni się także napięcie odniesienia dla przetwornika, a jako że wynik pomiaru zależy od stosunku rezystancji nad i pod przyciskiem (a stosunek się nie zmienia) to wynik się też nie zmieni.

Jeśli wykonujesz pomiary analogowe i musisz korzystać z wewnętrznego źródła napięcia odniesienia to możesz skorzystać z napięcia na nodze VREF, ale musisz w drabince dać na tyle duże rezystory, żeby w skrajnym przypadku nie obniżyć na niej napięcia i przez to nie uszkodzić źródła napięcia - na dobrą sprawę powinno się w takiej sytuacji zbudować wtórnik.

Atmega8/168 ma 6 kanałów ADC dzielonych ze zwykłymi liniami I/O PORTC, a dodatkowo wersja SMD (nie wiem czy są one wyprowadzone w Arduino) posiada 2 dodatkowe kanały tylko ADC. Ale tak czy siak jeśli na każdym kanale ADC podpiąłbyś po 5 przycisków to masz już 30 przycisków na 6 pinach. A do klawiatury matrycowej możesz też zastosować jakieś układy rozszerzające ilości portów. Np. PCF8574 po I2C (na 2 kościach masz nawet 64 przyciski a w procesorze zajęte tylko 2 piny lub ewentualnie trzeci, jeśli chcesz mieć wykrywanie naciśnięcia na przerwaniu), albo komplet układów wejścia/wyjścia na magistrali SPI - wtedy na 4 przewodach masz też 64 przyciski.

Helpful message? + -

Back to top
   
Google


Google Adsense


Post# 21 Jan 2013 23:14helpful post - solution   





Back to top
   
BlueDraco
Specjalista - Mikrokontrolery
Specjalista - Mikrokontrolery


Joined: 12 Dec 2012
Posts: 3535

Post#8 21 Jan 2013 23:35   

Re: Arduino - kwestia zasilenia oraz klawiatura


Można też wziąć mikrokontroler, który ma tyle linii portów, ile jest potrzebnych, zamiast wygłupiać się z ekspanderami I2C, których cena jest porównywalna z ceną mikrokontrolera.

Tak to jest, kiedy projekt zaczyna się od określenia na sztywno typu mikrokontrolera, zamiast od spisania wymagań i wyboru układów na podstawie tych wymagań. Co za problem wziąć uC z 64 wyprowadzeniami, jeśli tyle trzeba?

Gdybym tak postępował, do dzisiaj robiłbym wszystko na 80C51... Wink

Helpful message? + -

Back to top
   
dondu
Moderator Mikrokontrolery Projektowanie
Moderator Mikrokontrolery Projektowanie


Joined: 18 Nov 2008
Posts: 8170

Post#9 22 Jan 2013 00:38helpful post - solution   

Re: Arduino - kwestia zasilenia oraz klawiatura


bombardier89 wrote:
... czy piny analogowe mogą mi zastąpić cyfrowe jeśli chodzi o tę klawiaturę matrycową Wink

A czemu nie zrobić klawiatury na ADC?: http://mikrokontrolery.blogspot.com/2011/03/epp-klawiatura-adc-by-dondu.html

Helpful message? + -

Back to top
   
piotrva
Moderator Mikrokontrolery
Moderator Mikrokontrolery


Joined: 22 Apr 2008
Posts: 5279
Location: Kraków

Post#10 22 Jan 2013 00:51   

Re: Arduino - kwestia zasilenia oraz klawiatura


Przecież właśnie o takim pomyśle dyskutujemy od początku tematu...

Helpful message? + -

Back to top
   
dondu
Moderator Mikrokontrolery Projektowanie
Moderator Mikrokontrolery Projektowanie


Joined: 18 Nov 2008
Posts: 8170

Post#11 22 Jan 2013 01:03   

Re: Arduino - kwestia zasilenia oraz klawiatura


... więc wskazałem konkretny przykład wraz z kalkulatorem rezystorów Smile

Helpful message? + -

Back to top
   
piotrva
Moderator Mikrokontrolery
Moderator Mikrokontrolery


Joined: 22 Apr 2008
Posts: 5279
Location: Kraków

Post#12 22 Jan 2013 01:07   

Re: Arduino - kwestia zasilenia oraz klawiatura


I chwała Ci za tego bloga, bo jest w nim kompendium wiedzy o avr;-)

Helpful message? + -

Back to top
   
dondu
Moderator Mikrokontrolery Projektowanie
Moderator Mikrokontrolery Projektowanie


Joined: 18 Nov 2008
Posts: 8170

Post#13 22 Jan 2013 01:10   

Re: Arduino - kwestia zasilenia oraz klawiatura


Oj nie ... to tylko uzupełnienie książek Tomka, Mirka, czy też innych Smile
Zawsze będę uważał, że książka choćby wypożyczona z biblioteki, daje kopa w postaci skrócenia czasu nauki + fora dyskusyjne ...

Ale nie róbmy off-top'u Smile

Helpful message? + -

Back to top
   
Google


Google Adsense


Post# 22 Jan 2013 01:10   





Back to top
   
bombardier89
Poziom 14
Poziom 14


Joined: 08 Feb 2009
Posts: 157

Post#14 Post from the author of the topic 22 Jan 2013 02:02   

Re: Arduino - kwestia zasilenia oraz klawiatura


piotrva wrote:
Skoro to ma być klawiatura rezystancyjna to robisz tak:
1. Konfigurujesz źródło napięcia odniesienia na napięcie zasilania procesora.
2. Górny koniec drabinki podpinasz pod to samo napięcie, którym zasilany jest procesor. Masz wtedy efekt, którego oczekiwałeś i dodatkowo pomiar "drabinki" jest zupełnie niezależny od napięcia zasilania. Jeśli np. wciśnięcie przycisku daje Ci wynik 649 to nieważne czy zasilisz całość z 5V, czy z 3V - wynik pozostanie niezmienny (pomijam normalne szumy i wahania), bo wraz ze zmianą zasilania zmieni się także napięcie odniesienia dla przetwornika, a jako że wynik pomiaru zależy od stosunku rezystancji nad i pod przyciskiem (a stosunek się nie zmienia) to wynik się też nie zmieni.


Ale bomba, właśnie takiej odpowiedzi oczekiwałem - super, bardzo mi pomogłeś Smile
Rozumiem więc, że zgodnie z TYM mam ustawić analogReference(EXTERNAL); w funkcji void setup()?

Helpful message? + -

Back to top
   
piotrva
Moderator Mikrokontrolery
Moderator Mikrokontrolery


Joined: 22 Apr 2008
Posts: 5279
Location: Kraków

Post#15 22 Jan 2013 09:27helpful post - solution   

Re: Arduino - kwestia zasilenia oraz klawiatura


Nie, DEFAULT żeby pobierał odniesienie z zasilania

Helpful message? + -

Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> 51 Microcontrollers -> Arduino - kwestia zasilenia oraz klawiatura
Page 1 of 1
Similar topics
Arduino oraz dodatki, gdzie kupić ? (6)
Arduino Atmega328P - Projekt na arduino bez arduino + rs232 (10)
Arduino Uno r3 - Brak reakcji oraz błąd przy ładowaniu programu (6)
[Arduino] [ATmega328P] - Arduino bez Arduino (6)
Arduino uno r3, martwe usb - brak komunikacji przez usb oraz icsp (10)
Arduino L293D sterowanie 2.4GH - Regulacja prędkości silnika DC Arduino 2.4GHz (6)
ATmega328p - Arduino bez arduino i grające stacje dyskietek-nie działa (5)
Arduino UNO i Atmega168 - Lampka RGB, przenoszenie projektu z Arduino na Atmege (9)
[arduino][bascom]Czy da się napisać program dla Arduino w B (7)
arduino - Arduino Uno Mikrokontroler i zapisanie pliku z PC poprzez USB (20)


Administrator || Moderators || Forum Rules || General Rules || Cookies information || Contact

Page generation time: 0.072 seconds

elektroda.pl topic RSS feed