Forum Index

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



Arduino - kwestia zasilenia oraz klawiatura


  Main Page -> Forum Index -> Microcontrollers Generally -> 51 Microcontrollers ->Arduino - kwestia zasilenia oraz klawiatura Post new topic  Reply to topic 
Author
Hide the left column
Show left column Message
bombardier89
Level 14
Joined: 08 Feb 2009
Posts: 171
Helped: 2
Post rating: 5
bombardier89
Level 14
Post#1 21 Jan 2013 19:10  Topic author   

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 post? + 0
Back to top

Google Adsense
Google


Back to top
BlueDraco
Specjalista - Mikrokontrolery
Joined: 12 Dec 2012
Posts: 4714
Helped: 698
Post rating: 167
BlueDraco
Specjalista - Mikrokontrolery
Post#2 21 Jan 2013 19:26Helpful post    

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 post? + 0
Back to top
bombardier89
Level 14
Joined: 08 Feb 2009
Posts: 171
Helped: 2
Post rating: 5
bombardier89
Level 14
Post#3 21 Jan 2013 19:32  Topic author   

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 post? + 0
Back to top

Google Adsense
Google


Back to top
BlueDraco
Specjalista - Mikrokontrolery
Joined: 12 Dec 2012
Posts: 4714
Helped: 698
Post rating: 167
BlueDraco
Specjalista - Mikrokontrolery
Post#4 21 Jan 2013 19:40Helpful post    

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 post? + 0
Back to top
bombardier89
Level 14
Joined: 08 Feb 2009
Posts: 171
Helped: 2
Post rating: 5
bombardier89
Level 14
Post#5 21 Jan 2013 19:42  Topic author   

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ą ;) Jakieś mądre pomysły na zasilenie całości też by mi bardzo pomogły.

Helpful post? + 0
Back to top
BlueDraco
Specjalista - Mikrokontrolery
Joined: 12 Dec 2012
Posts: 4714
Helped: 698
Post rating: 167
BlueDraco
Specjalista - Mikrokontrolery
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 post? + 0
Back to top

Google Adsense
Google


Back to top
piotrva
Moderator Mikrokontrolery
Location: Kraków
Joined: 22 Apr 2008
Posts: 5818
Helped: 588
Post rating: 398
piotrva
Moderator Mikrokontrolery
Post#7 21 Jan 2013 23:14Helpful post    

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 post? + 0
Back to top
BlueDraco
Specjalista - Mikrokontrolery
Joined: 12 Dec 2012
Posts: 4714
Helped: 698
Post rating: 167
BlueDraco
Specjalista - Mikrokontrolery
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... ;)

Helpful post? + 0
Back to top
dondu
Moderator Mikrokontrolery Projektowanie
Joined: 18 Nov 2008
Posts: 10481
Helped: 1124
Post rating: 411
dondu
Moderator Mikrokontrolery Projektowanie
Post#9 22 Jan 2013 00:38Helpful post    

Re: Arduino - kwestia zasilenia oraz klawiatura


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

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

Helpful post? + 0
Back to top

Google Adsense
Google


Back to top
piotrva
Moderator Mikrokontrolery
Location: Kraków
Joined: 22 Apr 2008
Posts: 5818
Helped: 588
Post rating: 398
piotrva
Moderator Mikrokontrolery
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 post? + 0
Back to top

Google Adsense
Google


Back to top
dondu
Moderator Mikrokontrolery Projektowanie
Joined: 18 Nov 2008
Posts: 10481
Helped: 1124
Post rating: 411
dondu
Moderator Mikrokontrolery Projektowanie
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 :)

Helpful post? + 0
Back to top
piotrva
Moderator Mikrokontrolery
Location: Kraków
Joined: 22 Apr 2008
Posts: 5818
Helped: 588
Post rating: 398
piotrva
Moderator Mikrokontrolery
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 post? + 0
Back to top
dondu
Moderator Mikrokontrolery Projektowanie
Joined: 18 Nov 2008
Posts: 10481
Helped: 1124
Post rating: 411
dondu
Moderator Mikrokontrolery Projektowanie
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 :)
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 :)

Helpful post? + 0
Back to top
bombardier89
Level 14
Joined: 08 Feb 2009
Posts: 171
Helped: 2
Post rating: 5
bombardier89
Level 14
Post#14 22 Jan 2013 02:02  Topic author   

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ś :)
Rozumiem więc, że zgodnie z TYM mam ustawić analogReference(EXTERNAL); w funkcji void setup()?

Helpful post? + 0
Back to top

Google Adsense
Google


Back to top
piotrva
Moderator Mikrokontrolery
Location: Kraków
Joined: 22 Apr 2008
Posts: 5818
Helped: 588
Post rating: 398
piotrva
Moderator Mikrokontrolery
Post#15 22 Jan 2013 09:27Helpful post    

Re: Arduino - kwestia zasilenia oraz klawiatura


Nie, DEFAULT żeby pobierał odniesienie z zasilania

Helpful post? + 0
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 to arduino - kwestia zasilenia oraz klawiatura

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)


Switch to mobile version Switch to version for desktops

Administrator || Moderators || Forum Rules || General Rules || Cookies information || Editors || Contact for companies || Contact

Page generation time: 0.074 seconds