Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 30 cze 2026, o 22:32


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 26 sty 2015, o 13:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 gru 2014
Posty: 88
Pomógł: 2

Witajcie,
w końcu wymęczyłem temat Multi LED, który robiłem na stykówce CPU ATtiny 2313, zegar 8MHz, układ zasiliłem z zasilacza po starym PC (20A), ze złomu elektronicznego jaki posiadam wykorzystałem 4 segmenty LCD (wyświetlacz nie był sprawny brakowało tranzystorów sterujących wspólnymi katodami). Ponieważ jestem początkującym trochę wysiłku włożyłem w poprawne uruchomienie i zrozumienie o co kaman z multipleksowaniem LED.
Jakie problemy zaliczyłem ↓
Pierwsze wgrywanie kod do CPU z Eclipse było porażką, fabrycznie ATtiny 2313 ma oscylator wewnętrzny ustawiony na 8MHz + CKDIV8 ON, trochę musiałem "pokarasiować " nim się odnalazłem (analiza kilku przewodników + poszukiwania rozwiązania na forum). Pierwsze kody hex (migająca dioda + kawalisz) wgrałem poprzez mkAVR Calculator wcześniej kompilację kodu zrobiłem w Eclipse, niestety ze względu na zegar CPU 1MHz nie mogłem wprowadzić bezpośrednio kod z Eclipse. Po dalszej analizie poradników ustawiłem w Eclipse spowolnienie do 1MHz (Properties->AVRDude->zakładka Other w polu Other option wpisałem -B 8 Applay) co pozwoliło wgrywać kod bezpośrednio z Eclipse do CPU. Następnie więcej "kardasiowałem" i w końcu skutecznie zmieniłem fuse bit (CKDIV8 na OFF) tak by zegar CPU na stykówce miał 8MHz.
Już mogłem ładować kod z Eclipse do CPU no i załadowałem mojego pieszczocha kod Multi LED (tak mi się wydawało wówczas) a tu widzę ciemność znowu kanał, odłączyłem wyświetlacz od CPU i przewodami wysterowałem anody a następnie katody no i dalej ciemność, po trwającej chwilę szamotaninie mentalnej zajarzyłem katody sterowane są tranzystorami n-p-n sygnał ON=1, a w kodzie programu mam 0 i tutaj (oczywiście że nie tylko tutaj ale w tym momencie szczególnie) cenne były uwagi MK z BB, zmieniłem kod programu tak by katody sterować sygnałem 1.
Wreszcie coś zobaczyłem na wyświetlaczach ale cyfry były zniekształcone i w niewłaściwej kolejności, nieprawidłowo podłączyłem przewody sterujące segmentami ZAMIENIŁEM "f<->g" oraz odwróciłem kolejność wyświetlaczy w ten sposób, że po lewej miałem jednostki a po prawej tysiące oczywiście lutownica w łapkę i zrobione chociaż mogłem to skorygować programowo ale na to wpadłem po prze-lutowaniu przewodów.
No i wreszcie sukces, działa jak należy jednak nie do końca jarzyłem w jaki dokładnie sposób działa część kodu w pliku głównym main.c w pętli while gdzie są określane poszczególne cyfry sterujące wyświetlaczem. Przyznaję, że trochę się gimnastykowałem nim w pełni opanowałem tę część kodu.
Dla wszystkich poczytujących i zainteresowanych tą tematyką dołączam kod programu na ATtiny 2313, dodałem klawisz który gasi wyświetlacz na chwilę szczegóły znajdziecie w kodzie (dołączyłem plik) uwaga wyświetlacz wspólna anoda ON=0 oraz katody załączane ON=1, dla własnej wygody i na przyszłość gdybym musiał do tego wracać rozpisałem jak działa część kodu w pętli while opis w pliku głównym main.c remerksy.
Gdyby coś co piszę było nie tak proszę mnie skorygować może mi się tylko wydaje, że odrobiłem lekcje, dołączam kod i link z migawką działającego układu.

Pozdrawiam fobos


https://drive.google.com/file/d/0B8tfcLOmSofySlV0Q2xyUWRKVGM/view?usp=sharing


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2015, o 17:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

fobos napisał(a):
Witajcie,


Witamy

fobos napisał(a):
... trochę musiałem "pokarasiować " nim się odnalazłem ...

A nie "pokardasiować" ?
fobos napisał(a):
Następnie więcej"kardasiowałem" i w końcu skutecznie zmieniłem fuse bit (CKDIV8 na OFF) tak by zegar CPU na stykówce miał 8MHz.


No całkiem fajnie wymirkowałeś wszystko
Gratuluje nauki

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2015, o 17:49 
Offline
Użytkownik

Dołączył(a): 22 sie 2013
Posty: 73
Pomógł: 7

No to nic tylko gratulować pierwszych sukcesów. Ale po co się tak męczyć z tymi fuse bitami wystarczy sobie ściągnąć mkAVRCalculator tam się je bardzo dobrze przestawia. Zwłaszcza że na takie procki jak attiny2313 czy atmega8 nie trzeba mieć licencji, a program jest w pełni funkcjonalny.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO