Problemy z wyświetlaczem widmowym - początki w Bascomie.
Problemy z wyświetlaczem widmowym - początki w Bascomie.
Witam.
Bascoma uczę się niecały miesiąc, więc bardzo Was proszę o pomoc w kilku szczegółach.
Projektuję właśnie wyświetlacz widmowy i chcę zrobić synchronizację diodą IR i fototranzystorem, tak aby obraz stał w miejscu, lub powoli obracał się w prawo. Obraz składa się z 60 "sekwencji"(nie wiem jak się to nazywa, po prostu jedna pionowa linia) i chciałbym żeby to się rozłożyło na 360 stopni, czyli jeden pełny obrót. Nie mam pojęcia jak napisać ten fragment programu.
mam problem również z doborem mikroprocesora. chciałbym żeby miał ponad 20 wyjść co najmniej 8k pamięci i żeby dał się zaprogramować programatorem STK200/300 i darmowym programem.
Bardzo Was proszę o pomoc, początki są naprawdę trudne. Z góry dziękuję za wyrozumiałość, pozdrawiam.
Bascoma uczę się niecały miesiąc, więc bardzo Was proszę o pomoc w kilku szczegółach.
Projektuję właśnie wyświetlacz widmowy i chcę zrobić synchronizację diodą IR i fototranzystorem, tak aby obraz stał w miejscu, lub powoli obracał się w prawo. Obraz składa się z 60 "sekwencji"(nie wiem jak się to nazywa, po prostu jedna pionowa linia) i chciałbym żeby to się rozłożyło na 360 stopni, czyli jeden pełny obrót. Nie mam pojęcia jak napisać ten fragment programu.
mam problem również z doborem mikroprocesora. chciałbym żeby miał ponad 20 wyjść co najmniej 8k pamięci i żeby dał się zaprogramować programatorem STK200/300 i darmowym programem.
Bardzo Was proszę o pomoc, początki są naprawdę trudne. Z góry dziękuję za wyrozumiałość, pozdrawiam.
- gwozdex
- Użytkownik
- Posty: 879
- Rejestracja: 24 lut 2006, 10:04
- Lokalizacja: Czechowice-Dziedzice
- Kontakt:
Jeśli chcesz wykorzystać całe 8k pamięci (zawartej na przykład w ATmega8 lub ATmega162) to musisz mieć pełną wersję BASCOM'a. Wersja DEMO posiada ograniczenie kodu wynikowego do 4kB.
Może na początek zamiast synchronizowania przy użyciu fototranzystora to poeksperymentujesz z czasem wyświetlania poszczególnych sekwencji? Jeżeli tylko masz zapewnioną stałą prędkość (kątową) obracania układem to na pewno zaobserwujesz efekty! Pozdrawiam i życzę powodzenia
Może na początek zamiast synchronizowania przy użyciu fototranzystora to poeksperymentujesz z czasem wyświetlania poszczególnych sekwencji? Jeżeli tylko masz zapewnioną stałą prędkość (kątową) obracania układem to na pewno zaobserwujesz efekty! Pozdrawiam i życzę powodzenia
Witam. Dzięki za informacje. Ile kosztuje pełna werjsa, lub są inne programy które umożliwią wrzucenie całego 8k?gwozdex pisze:Jeśli chcesz wykorzystać całe 8k pamięci (zawartej na przykład w ATmega8 lub ATmega162) to musisz mieć pełną wersję BASCOM'a. Wersja DEMO posiada ograniczenie kodu wynikowego do 4kB.
Ja właśnie chcę to zasilić z silnika DC i bez względu na prędkość chcę żeby obraz (60 lini) mieściło się w 360 stopniach bez względu na prędkość kątową. Jedyna metoda jaką widzę to dioda IR i fototranzystor. Nie wiem tylko jak powyższe zdanie ująć w Bascomiegwozdex pisze: Może na początek zamiast synchronizowania przy użyciu fototranzystora to poeksperymentujesz z czasem wyświetlania poszczególnych sekwencji?
Aha i fajnie by było żeby całość się bardzo powoli obracała, żeby nie trzeba było chodzić na około, aby całość zobaczyć
Bascom AVR:Pev4 pisze:Ile kosztuje pełna werjsa, lub są inne programy które umożliwią wrzucenie całego 8k?
- wersja specjalna PL: http://www.sklep.avt.com.pl/go/_info/?id=26712
- wersja standard: http://www.sklep.avt.com.pl/go/_info/?id=45682
W EdW 4/2007 był opis wyświetlacza widmowego na ATtiny2313.
-
ZbeeGin
Niestety dla AVT jest to nieprzyjemna informacja, ale bardziej opłaca się kupić BASCOM-a u producenta, czyli MCS Electronics w Holandii. Razem z przesyłką do polski BASCOM-AVR w wersji CD kosztuje 306,35zł (przy dzisiejszym kursie Euro).Ddevil pisze:- wersja standard: http://www.sklep.avt.com.pl/go/_info/?id=45682
Zatem niewiadomo skąd aż taka wielka różnica w cenie, którą i tak AVT pomniejszyła z niebotycznej kwoty 550zł do 460zł. Niestety dalej jest to cena bardzo zaporowa.
Dziękuję za zainteresowanie tematem. Oczywiście przede mną leży książka "Mikrokontrolery dla początkujących" Piotra Góreckiego otwarta na stronie 94 (wyświetlacz widmowy), ale mnie bardzo interesuje synchronizacja, gdyż jak napisałem chcę żeby grafika zaczynała się dokładnie tu gdzie się kończy i tworzyła jedną całośćgwozdex pisze:Ja zasugerowałbym jeszcze aby kolega zainteresował się kursem mikroprocesorowej oślej łączki w EdW- a konkretnie to jednym odcinkiem w którym była przedstawiona konstrukcja widmowego wyświetlacza, co prawda bez synchronizacji, ale jednak...
Odszukałem ten numer z mojej mocno ugiętej już półkiDdevil pisze: W EdW 4/2007 był opis wyświetlacza widmowego na ATtiny2313.
Tutaj widzę jeszcze inne rozwiązanie - kontaktron resetuje procesor co jeden obrót. Choć nie ma listingu, podejrzewam że to program bez pętli, tylko rozpoczyna działanie po resecie i jest ustalony czasem, czyli im szybciej się kręci, tym bardziej rozciągnięte...
Tak, program wykonywany jest liniowo. Każdy reset wznawia jego pracę. O ile mnie pamięć nie myli, autor tego projektu wspominał, że najlepszy efekt był otrzymywany podczas jazdy z prędkością ok. 30km/h.Pev4 pisze:Tutaj widzę jeszcze inne rozwiązanie - kontaktron resetuje procesor co jeden obrót. Choć nie ma listingu, podejrzewam że to program bez pętli, tylko rozpoczyna działanie po resecie i jest ustalony czasem, czyli im szybciej się kręci, tym bardziej rozciągnięte...
Witam. Właśnie ja nie chcę w to mieszać czasu, bo używam silnika DC i bez względu na jego prędkość chcę żeby grafika wyglądała tak samo - proszę o podpowiedź jak to zrealizować.
Mam następne pytanie: 2313 ma wewnętrzny oscylator... a jeśli chcę podłączyć np. 2 układy pod jeden wyświetlacz, tak aby jeden obsługiwał górną połowę a drugi dolną połowę to dwa układy nie są identyczne i rysunek może mi się rozjeżdżać... czy mogę wtedy podłączyć oba 2313 pod jeden zewnętrzny kwarc, żeby pracowały identycznie? poprostu zewrzeć X1 pierwszego ukł z X1 drugiego ukł, oraz X2 pierwszego z X2 drugiego układu i podłączyć do jednego rezonatora? Dziękuję za pomoc. Pozdrawiam.
Mam następne pytanie: 2313 ma wewnętrzny oscylator... a jeśli chcę podłączyć np. 2 układy pod jeden wyświetlacz, tak aby jeden obsługiwał górną połowę a drugi dolną połowę to dwa układy nie są identyczne i rysunek może mi się rozjeżdżać... czy mogę wtedy podłączyć oba 2313 pod jeden zewnętrzny kwarc, żeby pracowały identycznie? poprostu zewrzeć X1 pierwszego ukł z X1 drugiego ukł, oraz X2 pierwszego z X2 drugiego układu i podłączyć do jednego rezonatora? Dziękuję za pomoc. Pozdrawiam.
Mówiłeś, że masz książkę "Mikrokontrolery dla początkujących" P. Góreckiego. Otwórz na stronie 177; rys. 7.21c pokazuje jak rozwiązać taki problem.Pev4 pisze:Mam następne pytanie: 2313 ma wewnętrzny oscylator... a jeśli chcę podłączyć np. 2 układy pod jeden wyświetlacz, tak aby jeden obsługiwał górną połowę a drugi dolną połowę to dwa układy nie są identyczne i rysunek może mi się rozjeżdżać... czy mogę wtedy podłączyć oba 2313 pod jeden zewnętrzny kwarc, żeby pracowały identycznie? poprostu zewrzeć X1 pierwszego ukł z X1 drugiego ukł, oraz X2 pierwszego z X2 drugiego układu i podłączyć do jednego rezonatora? Dziękuję za pomoc. Pozdrawiam.
W takim razie musiałbyś zapętlić program oraz eksperymentalnie dobrać opóźnienie odpowiednie dla danej prędkości silnika. Na razie nic lepszego mi do głowy nie przychdzi.Właśnie ja nie chcę w to mieszać czasu, bo używam silnika DC i bez względu na jego prędkość chcę żeby grafika wyglądała tak samo
Rzeczywiście... czyli do nóżki X2 procesora pracującego z rezonatorem muszę podłączyć negator i podać na nóżkę X1 innego mikroprocesora? A jeśli użyłbym 3 lub więcej mikrokontrolerów w jednym układzie, to do każdego musi być osobny negator, czy wtedy mogę pociągnąć na jednym? (pytam z ciekawości)Ddevil pisze: Mówiłeś, że masz książkę "Mikrokontrolery dla początkujących" P. Góreckiego. Otwórz na stronie 177; rys. 7.21c pokazuje jak rozwiązać taki problem.
Prawidłowym rozwiązaniem jest użycie synchronizacji za pomocą fototranzystora i diody IR. Niestety nie potrafię napisać fragmentu programu, który mi to obsłuży. Koledzy, proszę o pomoc, na pewno wiecie jak to zrobić.Ddevil pisze: W takim razie musiałbyś zapętlić program oraz eksperymentalnie dobrać opóźnienie odpowiednie dla danej prędkości silnika. Na razie nic lepszego mi do głowy nie przychdzi.
Dziękuję za pomoc i pozdrawiam.
Tak, tylko musisz odpowiednio skonfigurować fusebity w poszczególnych mikrokontrolerach.Pev4 pisze:Rzeczywiście... czyli do nóżki X2 procesora pracującego z rezonatorem muszę podłączyć negator i podać na nóżkę X1 innego mikroprocesora?
Wydaje mi się, że tak, ponieważ inwertery pełnią rolę buforów. Tak w ogóle scalaki 40xx czy 74xx zawierają w sobie standardowo po 6 negatorów (np. 40106, 74HC14), więc nie widzęwiększego problemuA jeśli użyłbym 3 lub więcej mikrokontrolerów w jednym układzie, to do każdego musi być osobny negator, czy wtedy mogę pociągnąć na jednym? (pytam z ciekawości)
Dzięki za pomoc
Mam przed sobą EdW z listopada 2002. Jest tutaj wyświetlacz widmowy na procku AtMega8535 i ma synchronizację za pomocą fotoelementów. Pobrałem do niego program źródłowy ze strony EdW, ale w programie nie ma żadnej wzmianki o Portd.3/Pind.3 do którego podłączona jest fotodioda... o co w tym chodzi?
P.S. Jaką wydajność prądową ma każdy pin standardowego mikroprocesora dla 0 a jaką dla 1?
Tego jeszcze nie potrafię zrobić (nie wiem co to są fusebity...)Ddevil pisze: Tak, tylko musisz odpowiednio skonfigurować fusebity w poszczególnych mikrokontrolerach.
Mam przed sobą EdW z listopada 2002. Jest tutaj wyświetlacz widmowy na procku AtMega8535 i ma synchronizację za pomocą fotoelementów. Pobrałem do niego program źródłowy ze strony EdW, ale w programie nie ma żadnej wzmianki o Portd.3/Pind.3 do którego podłączona jest fotodioda... o co w tym chodzi?
P.S. Jaką wydajność prądową ma każdy pin standardowego mikroprocesora dla 0 a jaką dla 1?
Fusebity zwane czasem bezpiecznikami, to bity konfiguracyjne dzięki którym możemy np. ustalić źródło taktowania mikrokontrolera, włączać dodatkowe funkcje, zabezpieczyć pamięć programu / eeprom przed odczytaniem etc.. Jeżeli programujesz przy pomocy IDE Bascom-AVR, podepnij programator do uK i wejdź w "Manual Program -> Lock and Fusebits". Tam możesz zmieniać (z rozwagą, bo w przeciwnym razie uC może odmówić posłuszeństwa) ustawienia podłączonego mikrokontrolera.
P.S. Typowa wydajność prądowa wyprowadzen to 20mA (max dopuszczalna to 40mA). Czytałem także, że natężenie prądu sumarycznego przepływającego przez VCC i GND nie może być większe niż 200mA.
Chodzi o to, że autor wykorzyastał alternatywną funkcję wyjścia PD.3 (Int1 - przerwanie zewnętrzne). Po zgłoszeniu tegoż przerwania program przechodzi do etykiety o nazwie "Fotodioda".Pev4 pisze:Mam przed sobą EdW z listopada 2002. Jest tutaj wyświetlacz widmowy na procku AtMega8535 i ma synchronizację za pomocą fotoelementów. Pobrałem do niego program źródłowy ze strony EdW, ale w programie nie ma żadnej wzmianki o Portd.3/Pind.3 do którego podłączona jest fotodioda... o co w tym chodzi?
P.S. Typowa wydajność prądowa wyprowadzen to 20mA (max dopuszczalna to 40mA). Czytałem także, że natężenie prądu sumarycznego przepływającego przez VCC i GND nie może być większe niż 200mA.