Forum elektroda.pl

Regulamin  | Punkty  | Dodaj...  | Ostatnie  | Szukaj  | Rejestracja  | Zaloguj

Ta strona używa cookie. Dowiedz się więcej o celu ich używania i zmianie ustawień cookie w przeglądarce.
Korzystając ze strony wyrażasz zgodę na używanie cookie, zgodnie z aktualnymi ustawieniami przeglądarki.

Arduino - kwestia zasilenia oraz klawiatura


Napisz nowy temat  Odpowiedz do tematu      Strona Główna -> Forum elektroda.pl -> Mikrokontrolery Ogólne -> Arduino -> Arduino - kwestia zasilenia oraz klawiatura
Autor
Wiadomość
bombardier89
Poziom 13
Poziom 13


Dołączył: 08 Lut 2009
Posty: 149

Post#1 Post autora tematu 21 Sty 2013 20: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!
Powrót do góry
   
Google


Google Adsense


Post# 21 Sty 2013 20:10   





Powrót do góry
   
BlueDraco
Poziom 23
Poziom 23


Dołączył: 12 Gru 2012
Posty: 2901

Post#2 21 Sty 2013 20:26pomocny post - solucja   

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...)
Powrót do góry
   
bombardier89
Poziom 13
Poziom 13


Dołączył: 08 Lut 2009
Posty: 149

Post#3 Post autora tematu 21 Sty 2013 20: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
Powrót do góry
   
BlueDraco
Poziom 23
Poziom 23


Dołączył: 12 Gru 2012
Posty: 2901

Post#4 21 Sty 2013 20:40pomocny post - solucja   

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.
Powrót do góry
   
bombardier89
Poziom 13
Poziom 13


Dołączył: 08 Lut 2009
Posty: 149

Post#5 Post autora tematu 21 Sty 2013 20: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ą ;) Jakieś mądre pomysły na zasilenie całości też by mi bardzo pomogły.
Powrót do góry
   
BlueDraco
Poziom 23
Poziom 23


Dołączył: 12 Gru 2012
Posty: 2901

Post#6 21 Sty 2013 22: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.
Powrót do góry
   
Google


Google Adsense


Post# 21 Sty 2013 22:15   





Powrót do góry
   
piotrva
Poziom 24
Poziom 24


Dołączył: 22 Kwi 2008
Posty: 4951
Miasto: Kraków

Post#7 22 Sty 2013 00:14pomocny post - solucja   

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 napisał:
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.

Moje artykuły: (Dodaj)
02 Sierpień 2014 Zegarek binarny - nic nowego, nic odkrywczego :)
Powrót do góry
   
Google


Google Adsense


Post# 22 Sty 2013 00:14pomocny post - solucja   





Powrót do góry
   
BlueDraco
Poziom 23
Poziom 23


Dołączył: 12 Gru 2012
Posty: 2901

Post#8 22 Sty 2013 00: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... ;)
Powrót do góry
   
dondu
Poziom 25
Poziom 25


Dołączył: 18 Lis 2008
Posty: 7064

Post#9 22 Sty 2013 01:38pomocny post - solucja   

Re: Arduino - kwestia zasilenia oraz klawiatura


bombardier89 napisał:
... 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
Powrót do góry
   
piotrva
Poziom 24
Poziom 24


Dołączył: 22 Kwi 2008
Posty: 4951
Miasto: Kraków

Post#10 22 Sty 2013 01:51   

Re: Arduino - kwestia zasilenia oraz klawiatura


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

Moje artykuły: (Dodaj)
02 Sierpień 2014 Zegarek binarny - nic nowego, nic odkrywczego :)
Powrót do góry
   
dondu
Poziom 25
Poziom 25


Dołączył: 18 Lis 2008
Posty: 7064

Post#11 22 Sty 2013 02:03   

Re: Arduino - kwestia zasilenia oraz klawiatura


... więc wskazałem konkretny przykład wraz z kalkulatorem rezystorów :)
Powrót do góry
   
piotrva
Poziom 24
Poziom 24


Dołączył: 22 Kwi 2008
Posty: 4951
Miasto: Kraków

Post#12 22 Sty 2013 02:07   

Re: Arduino - kwestia zasilenia oraz klawiatura


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

Moje artykuły: (Dodaj)
02 Sierpień 2014 Zegarek binarny - nic nowego, nic odkrywczego :)
Powrót do góry
   
Google


Google Adsense


Post# 22 Sty 2013 02:07   





Powrót do góry
   
dondu
Poziom 25
Poziom 25


Dołączył: 18 Lis 2008
Posty: 7064

Post#13 22 Sty 2013 02: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 :)
Powrót do góry
   
bombardier89
Poziom 13
Poziom 13


Dołączył: 08 Lut 2009
Posty: 149

Post#14 Post autora tematu 22 Sty 2013 03:02   

Re: Arduino - kwestia zasilenia oraz klawiatura


piotrva napisał:
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()?
Powrót do góry
   
piotrva
Poziom 24
Poziom 24


Dołączył: 22 Kwi 2008
Posty: 4951
Miasto: Kraków

Post#15 22 Sty 2013 10:27pomocny post - solucja   

Re: Arduino - kwestia zasilenia oraz klawiatura


Nie, DEFAULT żeby pobierał odniesienie z zasilania

Moje artykuły: (Dodaj)
02 Sierpień 2014 Zegarek binarny - nic nowego, nic odkrywczego :)
Powrót do góry
   
Napisz nowy temat  Odpowiedz do tematu      Strona Główna -> Forum elektroda.pl -> Mikrokontrolery Ogólne -> Arduino -> Arduino - kwestia zasilenia oraz klawiatura
Strona 1 z 1
Podobne tematy
Arduino Atmega328P - Projekt na arduino bez arduino + rs232 (10)
Arduino oraz dodatki, gdzie kupić ? (6)
Arduino Uno r3 - Brak reakcji oraz błąd przy ładowaniu programu (3)
[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][bascom]Czy da się napisać program dla Arduino w B (6)
arduino - Arduino Uno Mikrokontroler i zapisanie pliku z PC poprzez USB (20)
Atmega8 Arduino - Programowanie AVR jak Arduino - nie działa (5)


Administrator || Moderatorzy || Regulamin forum || Regulamin ogólny || Informacja o cookies || Reklama || Kontakt

Page generation time: 0.075 seconds

elektroda.pl temat RSS