Skocz do zawartości
Zaloguj się, aby obserwować  
Wojtek

WYśietlacz LCD z 3,3 V na linaich danych.

Pomocna odpowiedź

Takie połączenie u mnie nie działało. Dopiero jak obniżyłem napięcie zasilania procka przez diody zenera to usbasp poprawnie przedstawił się w systemie.

A wracając do programatora. To czy opłaca się kupić taki programator? Jakieś opinie?

http://www.sibit.pl/sklep/?25,usb-avr-prog-mkii

chciałbym móc programować wszystkie avry. Co więcej podejrzewam że to że nie mogę zaprogramować m32 jest winą mojego obecnego programatora (avt prog 2 kompatybilny z stk500).

Udostępnij ten post


Link to post
Share on other sites

Wojtek, to jest często gęsto wina... USB w komputerze 😃 ale również kwestia diod zenera, na schematach jest chyba na 3.6V, a chyba bardziej odpowiednia byłaby na 3.3V (albo na odwrót).

Udostępnij ten post


Link to post
Share on other sites

Ze względu na te problemy z vusb to zrezygnowałem z pomysłu gniazda usb w urządzeniu. Po prostu wyprowadziłem linie ISP na płytce.

Tylko teraz stało się bezzasadne dawanie kwarcu 12Mhz (tym bardziej że urządzenie pracuje na baterii). W urządzeniu jest jeszcze scalak (w zasadzie kilka połączonych szeregowo - (sterownik ledów)) obsługiwany przez SPI i LCD. Dodatkowo wyprowadzone są linie uart więc być może będę z nich kiedyś korzystał .Myślę gdzieś o prędkości max 4Mhz, może mniej. Czy potrzebuję wiec kwarcu (potrzebna jest duża stabilność do tego SPI i UARTA?)? Może wystarczy sam oscylator wewnętrzny?

I jeszcze jedno: Czy AVR studio 4 obsługuje wszystkie mikro-kontrolery avr (łącznie z wszystkimi najnowszymi egzemplarzami xmeg)? Nie wiem czy jest sens przesiadać się na as6 skoro i tak nie będę na razie używał armów.

Udostępnij ten post


Link to post
Share on other sites

Wojtek, w SPI to ty generujesz zegar, więc stabilność taktowania uC nie ma aż tak dużego znaczenia. Przy uarcie trochę gorzej, poszukaj sobie w necie tabelek jakie będziesz miał błędy przy danym kwarcu (na 100% 9600bps będzie śmigało, a co wyżej nie pamiętam).

Sens przesiadki na AS6 jest, oparte jest o visual studio i programy pisze się w nim wręcz bajecznie 🙂 polecam sprawdzić.

Udostępnij ten post


Link to post
Share on other sites

Zastanawiałem się na kupnem tego programatora w gotronik (normalnie kupiłbym w sibit ale tak się składa że kupuje też kilka innych rzeczy i nie chcę płacić dodatkowo za przesyłkę):

http://www.gotronik.pl/programator-usb-avr-mkii-zgodny-avrisp-mkii-p-1248.html

ale nie ma do niego normalnej instrukcji a oni co gorsza nie odpowiadają na maile.

Czy ten programator wygląda na lepiej wykonany niż w sibit? Trochę odrzuca mnie tak lakoniczny opis i bak odpowiedzi na moje maile.

Udostępnij ten post


Link to post
Share on other sites

Czy wy też tak macie że gotronik nie odpisuje na wasze maile? Miałem kontakt z wieloma sklepami ale z takim ignorowaniem klientów jeszcze się nie spotkałem.

Udostępnij ten post


Link to post
Share on other sites

Ja też miałem NIEprzyjemność z gotronikiem... Ceny mają wysokie, obsługę beznadziejną - po prostu lecą sobie w kulki

Udostępnij ten post


Link to post
Share on other sites

Miało być o podłączeniu 3,3V na linie danych wyświetlacza a skończyło się na programatorach i opiniach o sklepie:D

Wracając do tematu... właśnie kilka dni temu podłączyłem do płytki z atmegą 16L i LCD 3,0V i o dziwo wyświetlacz działał. Były tylko problemy z kontrastem, nie był tak ostry jak powinien ale działał😉 więc jak widać wszystko zależy od LCD.

Udostępnij ten post


Link to post
Share on other sites

W końcu to dział na luzie.

Są w sprzedaży nawet wyświetlacze LCD które są przystosowane do zasilanie ok 3V ale ceny są kilkukrotnie wyższe (te które ja widziałem kosztowały koło 45zł).

Udostępnij ten post


Link to post
Share on other sites

A jak jesteśmy przy wyświetlaczach to myślicie że możliwe jest sterowanie kontrastem typowego LCD alfanumerycznego poprzez PWM?

Po prostu można by podłączyć linie uC do Vo wyświetlacza czy zastosować po drodze jakiś kondensator uśredniający. Swoją drogą logika LCD też ma jakąś pojemność.

Udostępnij ten post


Link to post
Share on other sites

Oczywiście, często tak robię w moich projektach. Pamiętaj jednak, że część analogowa sterownika LCD jest obciążeniem "zawieszonym" między plusem zasilania a pinem Vo i prąd wypływa z tej nóżki. Jeśli zrobisz zwykłe PWM z wyjścia cyfrowego procesora i uśrednisz je filtrem RC to regulując wypełnienie tak by napięcie wyjściowe zmieniało się np. od 0 do 1V - będziesz miał regulację kontrastu. Oczywiście przy 0V kontrast będzie największy.

Tego zdania o logice nie rozumiem..

Udostępnij ten post


Link to post
Share on other sites

nieważne, głupotę palnąłem w tym ostatnim zdaniu.

Mówisz żeby jednak zrobić filtr uśredniający. Jak on ma dokładnie wyglądać? To ma być po prostu jeden kondensator odciągający do masy linie idącą od Vo ? Jaka pojemność kondensatora?

Na schematach od filtrów RC narysowany jest też rezystor. Też go dawać? jaki powinien mieć opór?

Dobrze wiedzieć że robiłeś to już w praktyce bo ograniczy mi to ilość niespodzianek 🙂

Udostępnij ten post


Link to post
Share on other sites

Filtr RC to - jak sama nazwa wskazuje - przynajmniej jeden opornik i jeden kondensator. Jeśli opornik szeregowy dasz np. 2k a kondensator 1u to stała czasowa takiego układu będzie ok. 12ms i to w zupełności wystarczy do "zamiany" prostokątów z PWM na napięcie stałe zasilające Vo. Częstotliwość PWM nie może być jednak zbyt niska bo tętnienia mogą zacząć przenikać na zasilanie LCD i powodować dziwne efekty na ekranie, np. pływanie kontrastu lub znikanie części liter. Jeśli dasz coś od kilku kHz w górę, będzie OK. Kondensator możesz dać oczywiście do masy jak to się zwykle robi ale w tym przypadku dałbym między Vo a plus zasilania LCD. W stanie początkowym, po włączeniu, napięcie widziane przez LCD będzie wtedy zerowe a o to przecież chodzi. Potem, gdzieś w inicjalizacji portów wystaw tam stan wysoki - wyświetlacz wciąż nie dostanie zasilania matrycy LCD, a potem ustaw PWM na np. 10% lub inną zapamiętaną wartość. Wtedy możesz odblokować wyświetlanie i cieszyć się możliwością zmiany kontrastu on-line. Tu nie ma żadnych niespodzianek, układ jest prosty jak drut.

Udostępnij ten post


Link to post
Share on other sites

Na początku podałeś przykład 12ms a potem napisałeś:

"Jeśli dasz coś od kilku kHz w górę, będzie OK."

ale kilka khz odpowiada okresom poniżej 1 ms co jest dla mnie nieosiągalne. Jak często będę wywoływał przerwanie od "próbkowania" PWMa? Wychodzi mi że przy rozdzielczości np. 100 będę musiał wywoływać przerwanie co kilka mikrosekund.

No to jak z tą częstotliwością/ okresem ? Rzeczywiście jest tak krytycznie i trzeba zastosować PWM sprzętowy?

Uprzedzam pytania:

- timer 16 bitowy działa w trybie PWM i generuje sprzętowo 2 kanały PWM do LEDów (są to jakieś inne diody niezwiązane z powyższym ; tu potrzebuje większej płynności)

- timer 8 bitowy zajmuje się programowym PWMem od podświetlenia i kontrastu LCD.

- kolejny timer 8 bitowy zajmuje się jakimś innym zdarzeniem w programie

Podsumowując. atmega ma 4 kanały PWM (ja też tyle potrzebuje).,ale oprócz tego potrzebuje poprzez timer wywoływać jakieś zdarzenie w przerwaniu. Rozwiązaniem byłoby takie ustawienie jednego z timerów 8-bitowtych aby jednocześnie realizował obsługę sprzętową PWM i zwracał przerwanie kiedy się przepełni (mówię tu o fast PWM).Może dało by się po prostu wpisać w C makro od przepełnienia i to by działało?Jest to możliwe?

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

Zaloguj się, aby obserwować  

×
×
  • Utwórz nowe...