(13 głosujących) Urządzenie jest ulepszoną i rozbudowaną wersją układu Mini Lampki RGB. Ma za zadanie podświetlać na różne kolory kryształ lub inny przedmiot dobrze rozpraszający światło. Zastosowanie mikrokontrolera z rodziny AVR powoduje większą szybkość działania i eliminacje niewielkiego migotania powstającego przy małej jasności kolorów w stosunku do poprzedniej wersji urządzenia. Lamka posiada 3 tryby pracy z czego najbardziej efektowną stanowi generowanie płynnych losowych przejść kolorów. W roli obudowy zastosowano imitację skały wykonaną z pasty modelarskiej, co znakomicie ułatwia zastosowanie kryształu o nietypowych i nieregularnych kształtach.
Działanie:Schemat ideowy lampki przedstawia poniższy rysunek: Sercem układu jest mikrokontroler U1 (ATTINY2313) wraz z rezonatorem kwarcowym X1 (16MHz) i kondensatorami C1 (22pF) i C2 (22pF). Stabilizator U2 (7805) wraz z kondensatorami C3 (470uF) i C4 (100uF) stanowi prosty zasilacz stabilizowany. Rezystory R2 (180R), R3 (100R) i R4 (180R) oraz R5 (180R), R6 (100R) i R7 (180R) ograniczają prąd diod D2 (Led RGB) i D3 (Led RGB). Dioda D1 (Led) wraz z rezystorem ograniczającym prąd R1 (330R) stanowi kontrolkę szybkości animacji. Budowa:Lampkę można zbudować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. Montaż układu nie jest skomplikowany lecz należy zwrócić uwagę na kilka istotnych szczegółów. Lutowanie rozpoczynamy od rezystorów, następnie montujemy kondensatory ceramiczne C1 i C2 na leżąco i nad nimi rezonator kwarcowy również leżąco (możemy także zastosować kwarc o mniejszych gabarytach). Stabilizator wraz z współpracującymi kondensatorami montujemy tak jak na zdjęciu u dołu strony. Przyciski klawiatury jak również diody D1 - D3 lutujemy od strony druku. Pod diody RGB można zastosować kawałki podstawki precyzyjnej co umożliwi ich ewentualną wymianę. Mikrokontroler należy obowiązkowy wyposażyć w podstawkę ze wzgledu na brak złącza programującego na płytce. Pomocą w montażu będą zdjęcia modelu a także dostępny tutaj schemat montażowy. Układ można zamknąć w małej obudowie i połączyć np. z krzyształem górskim za pomocą utwardzanej na powietrzu pasty modelarskiej jak to zrobiłem w tym projekcie. Utwardzoną pastę modelarską można pomalować dowolną farbą, najlepiej akrylową (do kupienia w sklepie dla plastyków). Gdy mamy diody RGB ze wspólną katodą należy dołączyć ich wspólne wyprowadzenia (katody) do masy i zaprogramować mikrokontroler wersją programu dla diody ze wspólną katodą. Druga wersja płytki wraz z odpowiednim schematem montażowym jest dostępna w załącznikach. Wersja ta nie zawiera stabilizatora i jest przystosowana do rozcięcia na dwa fragmenty (klawiaturę i moduł sterujący). Ponadto część płytki z mikrokontrolerem została znacznie zmniejszona i upakowana. Gdy chcemy podłączyć do układu więcej diod to możemy zastosować tranzystory NPN lub MOSFET N (dla diod ze wspólną anodą) według jednego ze schematów poniżej: Dla diod ze wspólną katodą należy zastosować tranzystory PNP lub MOSFET P (schemat jest analogiczny tylko wszystko się odwraca). Ze względu na fakt iż tranzystory działają jak inwentery do mikrokontrolera należy wgrać program dla diod o przciwnej polaryzacji niż zastosowane w projekcie. Ilość dołączanych diod jest ograniczona tylko maksymalnym prądem jaki jest dopuszczalny dla zastosowanych tranzystorów. Wykaz Elementów:5x uSwitch 2x 100R 2x 22pF 1x Rezonator Kwarcowy 16MHz (przy 10MHz może migać) Programowanie:Mikrokontroler do lampki został zaprogramowany w wersji demo programu BASCOM AVR firmy MCS Electronics (http://www.mcselec.com/). Program przedstawiony jest poniżej: '************* Konfiguracja uC ***************** '*********************************************** $regfile = "attiny2313.dat" $crystal = 16000000 Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B00000000 : Portd = &B11111111 Config Timer0 = Timer , Prescale = 8 Enable Timer0 : On Timer0 Prztimer0 Enable Interrupts '********** Konfiguracja uC Koniec ************ '****************** Nazwy ******************* '*********************************************** Rd Alias Portb.0 Gd Alias Portb.1 Bd Alias Portb.2 Rd2 Alias Portb.3 Gd2 Alias Portb.4 Bd2 Alias Portb.5 Syg_led Alias Portb.7 Sw_port Alias Pind '************* Nazwy Koniec **************** '****************** Zmienne ******************* '*********************************************** Dim Licznik As Byte Dim Rled As Byte , Bled As Byte , Gled As Byte Dim Rand_r As Byte , Rand_g As Byte , Rand_b As Byte Dim Pomoc As Byte Dim Flaga As Bit Dim Dzielnik As Word Dim Dzielnik2 As Byte Dim Dzielnik3 As Byte Dim Szybkosc As Byte Dim Licznik_sw As Byte Dim Stan_portu As Byte Dim Arg As Word Dim Wartosc As Word Dim Pozycja As Word Dim Stopbit As Bit Dim Animacja As Byte '************* Zmienne Koniec **************** '************ Warunki Poczatkowe *************** '*********************************************** Pozycja = 0 Dzielnik2 = 0 Szybkosc = 10 Stopbit = 1 Animacja = 0 '******* Warunki Poczatkowe Koniec *********** '************** Petla glowna ****************** '*********************************************** Do If Flaga = 1 Then 'co 32ms Flaga = 0 Gosub Przyciski Incr Dzielnik2 If Dzielnik2 >= Szybkosc And Stopbit = 1 Then Dzielnik2 = 0 Syg_led = Not Syg_led 'pierwszy tryb - przejscia plynne ustalone If Animacja = 0 Then Incr Pozycja If Pozycja = 900 Then Pozycja = 0 Gosub Pozycja_do_rgb End If 'drugi tryb - losowe przejscia If Animacja = 1 Then Incr Pozycja If Pozycja >= 50 Then Pozycja = 0 Rand_r = Rnd(3) Rand_g = Rnd(3) Rand_b = Rnd(3) End If If Rand_r = 1 Then If Rled < 100 Then Incr Rled If Rand_r = 2 Then If Rled > 0 Then Decr Rled If Rand_g = 1 Then If Gled < 100 Then Incr Gled If Rand_g = 2 Then If Gled > 0 Then Decr Gled If Rand_b = 1 Then If Bled < 100 Then Incr Bled If Rand_b = 2 Then If Bled > 0 Then Decr Bled End If 'trzeci tryb - losowy kolor If Animacja = 2 Then Pozycja = Rnd(900) Gosub Pozycja_do_rgb End If End If End If Loop End '************ Petla glowna Koniec ************** '************ Przerwanie timer 0 *************** '*********************************************** Prztimer0: Incr Licznik If Licznik = 100 Then Licznik = 0 If Licznik < Rled Then Reset Rd Reset Rd2 Else Set Rd Set Rd2 End If If Licznik < Gled Then Reset Gd Reset Gd2 Else Set Gd Set Gd2 End If If Licznik < Bled Then Reset Bd Reset Bd2 Else Set Bd Set Bd2 End If Incr Dzielnik If Dzielnik = 250 Then Dzielnik = 0 Set Flaga End If Return '******** Przerwanie timer 0 Koniec ************ '************ Inne Etykiety *************** '*********************************************** Przelicz: 'funkcja \_ _ _ _/^^^ If Arg > 899 Then Arg = Arg - 900 If Arg > 100 And Arg < 500 Then Wartosc = 0 If Arg <= 100 Then Wartosc = 100 - Arg If Arg >= 500 And Arg <= 600 Then Wartosc = Arg - 500 If Arg > 600 Then Wartosc = 100 Return Pozycja_do_rgb: Arg = Pozycja Gosub Przelicz Rled = Wartosc Arg = Pozycja + 300 Gosub Przelicz Gled = Wartosc Arg = Pozycja + 600 Gosub Przelicz Bled = Wartosc Return Przyciski: If Sw_port <> 255 And Stan_portu = Sw_port Then Incr Licznik_sw If Licznik_sw = 10 Then Select Case Stan_portu Case 126: 'plus Licznik_sw = 5 If Szybkosc > 1 Then Decr Szybkosc Case 125: 'minus Licznik_sw = 5 If Szybkosc < 40 Then Incr Szybkosc Case 124: 'plus i minus Stopbit = Not Stopbit Syg_led = 1 Case 111: ' R Pozycja = 700 Gosub Pozycja_do_rgb Case 119: ' G Pozycja = 400 Gosub Pozycja_do_rgb Case 123: ' B Pozycja = 100 Gosub Pozycja_do_rgb Case 110: 'plus R Licznik_sw = 8 If Rled < 100 Then Incr Rled Case 109: 'minus R Licznik_sw = 8 If Rled > 0 Then Decr Rled Case 118: 'plus G Licznik_sw = 8 If Gled < 100 Then Incr Gled Case 117: 'minus G Licznik_sw = 8 If Gled > 0 Then Decr Gled Case 122: 'plus B Licznik_sw = 8 If Bled < 100 Then Incr Bled Case 121: 'minus B Licznik_sw = 8 If Bled > 0 Then Decr Bled Case 103: ' R G Rled = 100 Gled = 100 Bled = 0 Case 115: ' G B Rled = 0 Gled = 100 Bled = 100 Case 107: ' R B Rled = 100 Gled = 0 Bled = 100 Case 99: ' R G B Rled = 100 Gled = 100 Bled = 100 Case 108: ' plus minus R Animacja = 0 Case 116: ' plus minus G Animacja = 1 Case 120: ' plis minus B Animacja = 2 End Select End If Else Stan_portu = Sw_port Licznik_sw = 4 End If Return '******** Inne Etykiety Koniec ************ Na rysunku poniżej przedstawiona jest konfiguracja Fuse bitów mikrokontrolera (screen shot z programu BASCOM AVR Demo). Zanaczone na czerwono opcje należy koniecznie ustawić: Na rysunku poniżej przedstawiono konfigurację Fuse bitów mikrokontrolera na podstawie programu Burn-O-Mat: Obsługa:W standardowej wersji oprogramowania układ może pracować w trzech trybach działania: 1. Przejścia Ustalone - kolory zmieniają się w sposób płynny według ustalonej zależności B->G->R->B (900 kolorów) 2. Przejścia Losowe - losowany jest sposób płynnej zmiany natężenia dla każdej barwy niezależnie (1000000 kolorów) 3. Przejścia Skokowe - losowany jest jeden ocień co określony czas, zmiana następuje skokowo (900 kolorów) W poniższej tabeli zawarta jest instrukcja obsługi lampki: Zdjęcia Projektu:
|
|||||||||||||||||||||||||||||||||||||||
fajna rzecz. chyba sobie
fajna rzecz. chyba sobie zrobię :D
więcej diod
zastanawiam sie jak podpiąć więcej diod. chyba musiałbym do każdego wyjścia dać jakiś tranzystor ?! ma ktoś jakiś schemat ? albo potrafi ten zmodyfikowac ?
więcej diod
Do lampki można podłączyć praktycznie dowolną liczbę diod bez żadnego problemu. Wystarczy wykorzystać trzy dowolne tranzystory NPN (lub MOSFET). Przez rezystory 1k - 3,3k podłączamy bazy (bramki) tranzystorów do pinów PB.0 - PB.2 ich emitery (Źródła) do masy układu. Kolektory (Dreny) podłączamy do odpowiednich struktur w diodach RGB przez rezystory o wartościach takich samych jak w orginalnym schemacie. Do każdej diody należy podłączyć osobne rezystory. Wyprowadzenia procesora PB.3 - PB.5 niech zostaną wiszące w powietrzu. Mikrokontroler należy zaprogramować wersją programu dla diod ze wspólną katodą gdyż tranzystory będą działać jak inwertery i diody muszą być teraz zapalane stanem wysokim.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
rezonator
Witam.
Jak to jest w końcu, bo na schemacie jest kwarc X1 (10MHz) a w listingu programu chyba 16 czy dobrze kombinuję czy jestem w błędzie, jeżeli dobrze kombinuję to jaki rezonator należy zastosować 10MHz czy 16MHz ??
Pozdrawiam
Rezonator
Witam
Powinien być rezonator 16MHz. Na schemacie faktycznie jest 10MHz ale jest to wynikiem starszej wersji schematu zamieszczonego na stronie. Gdy układ był w fazie testów pracował na 10MHz. Potem ze względu na migotanie diod zmieniłem rezonator na 16MHz.
Pozdrawiam
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
wiecej diod
witam
Zmodyfikowałem swój układ, czyli na wyjścia mikrokontrolera 12,13,14 poprzez rezystory podłączyłem tranzystory UTC 30N06L. Pojawił się taki problem że diody dużo słabiej świecą. Gdy diodę podłącze przez te same rezystory pod 5V świecą dużo mocniej niż podłączone do układu. Mierzyłem napięcie i bez diod jest 5V a gdy podłącze diody napięcie spada do ok 2.8V. Mikrokontroler programowałem wersją programu dla diod ze wspólną katodą.
Pozdrawiam
wiecej diod
Spróbuj zmniejszyć wartość rezystorów przez które podłączasz bramki tranzystorów MOSFET (lub nie dawaj żadnych rezystorów na bramkach). Możesz także spróbować zmniejszyć wartość rezystorów przy diodach uważając by prąd nie był zbyt duży. Czy napięcie o którym piszesz, te 2,8V mierzysz między drenem tranzystora a Vcc?
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
wiecej diod
tak, napiecie mierze między drenem tranzystora a Vcc. zmieniałem juz wartosci rezystorów a nawet podpinałem bez, ale i tak nic nie pomogło. możliwe ze prąd z mikrokontrolera jest za mały ?! podając na bramkę tranzystora 5V z zasilacza, diody świeciły tak jak powinny. może by podłączyć do bramki tranzystora wyjścia (12,15)(13,16)(14,17) przez jakies diody ? tylko nie wiem czy tak mogę
wiecej diod
Prąd mikrokontrolera nie ma tu nic do rzeczy bo zastosowałeś tranzystory MOSFET, a więc prąd bramki jest w pierwszym przybliżeniu równy 0 a sterowanie odbywa się tylko i wyłącznie napięciem występującym na bramce. Jeżeli chodzi o łączenie wyjść do siebie to nigdy czegoś takiego nie robiłem i uważam że nie jest to dobrym rozwiązaniem.
Czy napewno układ z mikroprocesorem działa poprawnie? Czy pojedyncza dioda podłączona bezpośrednio do portu świeci tak jak powinna (na programie dla diody ze wspólną anodą)? Czy zmienia płynnie barwy?
Jeżeli układ z mikroprocesorem działa poprawnie to można spróbować podłączyć tranzystor BUZ11 zamiast UTC 30N06L i sprawdzić jaki będzie efekt. Ja osobiście zawsze stosuje tranzystory BUZ11, podłączone bezpośrednio do portu mikrokontrolera i nigdy nie było z nimi problemu. Drugim sposobem jest skorzystanie z tranzystorów bipolarnych NPN podłączonych przez rezystory ok. 1k . Można zastosować tranzystory bipolarne PNP z rezystorami ok 3,3k (wtedy mikrokontroler musi mieć program dla diod ze wspólna anodą)
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Podłączanie diody 3W
Witam
a czy jest mozliwosc podlaczenia diody 3W czy tranzystory pomogą
Podłączanie diody 3W
Osobiście nie testowałem podłączenia więcej diod niż mam w projekcie ale myślę że BUZ11 da sobie z tym radę:) Spróbuj podłączyć tak jak opisałem wcześniej, nie będzie wiadomo czy będzie na 100% działać zanim się nie sprawdzi. Fakt że takie diody pobierają prąd rzędu 0,7A może powodować zakłócenia w obwodach zasilania. Gdyby mikrokontroler nie chciał działać poprawnie należy go zasilać z osobnego źródła.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
lampka rgb
mam pytanie wykonałem układ wszystko super
tylko nie ma plynej zmiany kolorów stasznie pulsuje uzylem 3 roznych diod zamiast rgb czy to ma znaczenie czy moze zle jest zaprogramowany procesor
czy mogł bym prosic o jakies blizsze info jak zaprogramowac procesor
lampka rgb
Nie ma znaczenia ze uzyłeś trzech diod zamiast jednej rgb, poprostu bedzie toche inny efekt wizualny. Sprawdz czy ustawiles fusebity w mikrokontrolerze tak jak na rysunku wyżej w opisie i czy rezonator kwarcowy jest 16MHz. Jeśli poprawnie jest procesor zaprogramowany a nie ustawione fusebity to własnie bedzie migotało bo fabryczny uC ma włączone dzielenie przez 8 częstotliwości
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
lampka rgb
ok wlasnie nie moge za nic ustawic tych fusebitów mam bascoma 1,11,9,1 i programator stk500 czy morzesz mi pomuc gdzie sie takich ustawien dokonuje
lampka rgb
Wyżej w opisie jest zamieszczony screenshot z okna programowania w bascomie avr z zaznaczonymi opcjami ktore musisz zmienic i to wszystko
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
A możesz wyjaśnić jak
A możesz wyjaśnić jak ustawić fuse bity w programie Pony Prog lub ISP Programmer bo mam programator STK200 i nie chce współpracować i BASCOM AVR czy to normalne??
FuseBity
To nie możliwe że BASCOM AVR nie działa z Programatorem STK200 bo sam taki aktualnie używam. Wybrałem tylko opcje STK200/STK300 Programmer w ustawieniach i wszystko OK.
Odnośnie konfiguracji w innym programie(np PonyProg):
CKDIV8 - 1 (odznacz, bez dzielenia przez 8)
CKOUT - 1 (odznacz)
SUT - 10 (opoznienie 4ms)
CKSEL - 1111 (odznacz wszystkie, zewnetrzny rezonator kwarcowy)
Jestem prawie pewien że tak ma być ale jak już wspomniałem ja używam bascoma :). "0" oznacza zaprogramowany
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
błąd w kodzie?
patrze na kod i sie zastanawiam:
Przyciski:
If Sw_port <> 255 And Stan_portu = Sw_port Then // przyrównanie
nie powinno być
If Sw_port <> 255 And Stan_portu == Sw_port Then // porównanie
?
rzadko sie używa przyrównania (zamiast porównania) do określenia warunków, chyba że Bascom jest taki dziwny, ja pisze w C ;)
ogólnie fajny projekcik :]
Nie ma bledu
W linii:
If Sw_port <> 255 And Stan_portu = Sw_port Then
nie ma błedu a przynajmniej nie stwierdziłem błędnego działania urządzenia. Jeżeli piszesz w C/C++ to faktycznie ma to znaczenie czy napiszesz w if'ie "=" czy "==". W pierwszym wypadku w języku C warunek bedzie zawsze spełniony.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
chciałbym zrobić taką
chciałbym zrobić taką lampkę tylko jest to moja pierwsza próba z programowaniem mógł by ktoś mi powiedzieć jak ATTINY2313 podłączyć do programatora stk200 jak ATTINY ma 20 nóżek a programator ma 8
STK200
W celu zaprogramowania mikrokontrolera ATTINY2313 należy chwilowo przylutować przewody od spodu płytki do odpowiednich wyprowadzeń procesora według następującej instrukcji:
Programator -> Procesor:
MOSI -> MOSI (Pin 17)
MISO -> MISO (Pin 18)
CLK -> SCK (Pin 19)
RES -> RESET (Pin 1)
Nie zapomnij podłączyć także zasilania +5V (VCC) i masy (GND) swojego programatora do płytki z procesorem (programator STK200 musi być zasilany z programowanego układu lub z osobnego zasilacza, np. USB) i całości podłączyć do zasilacza.
Jeżeli chodzi o wyprowadzenia twojego programatora to musisz sięgnąć do jego dokumentacji (Ja np mam w swoim programatorze swoj rozkład wyprowadzen).
Ogolnie wyprowadzenia mikrokontrolerow można z łatwością znaleźć w ich kartach katalogowych.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Rezonator Kwarcowy
mam 2 Rezonatory Kwarcowe na jednym jest napisane ATC16,6433 ch8(a0) i ATC46,415 ch8(a30) czy ta liczba to ilość MHz i który będzie lepszy do tego układu
Jeżeli chodzi o te "kwarce"
Jeżeli chodzi o te "kwarce" to nie jestem w stanie zidentyfikować ich częstotliwości pracy bo pierwszy raz widzę taką nazwę. Możesz oczywiście podłączyć je do mikrokontrolera, najwyżej nie będzie pracował. Szczerze mówiąc proponuje udać się do sklepu i kupić rezonator kwarcowy 16 MHz. Jego koszt to około 60gr więc nie ma co sprawiać sobie potencjalnych problemów z działaniem układu.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
jak bym miał w pobliżu
jak bym miał w pobliżu sklep to bym nie miał problemu
Kwarce
Te napisy ktore podałeś to wszystkie informacje jakie znajdują się na obudowie??
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
tak
tak
Kwarce
Podłącz te kwarce do mikrokontrolera i sprawdź czy działa. Nie mogę nigdzie znaleźć informacji o nazwie jaką podałeś ale podejrzewam że jest to częstotliwość w kHz.
A z czego pochodzą te elementy?
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
z wylutu
z wylutu
Kwarce
To że z wylutu to wiem. Pytając z czego pochodzi miałem na myśli z jakiego urządzenia itp.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
A BO JA WIEM
A BO JA WIEM
problemy
mam pytanie jak podłącze kostkę to w program sam ją znajdzie czy trzeba ustawić
Programowanie
W celu zaprogramowania mikrokontrolera należy:
1. Podłączyć przewody programatora do odpowiednich pinów procesora, nie wolno zapomnieć o podłączeniu zasilania programatora i mikrokontrolera. Podczas programowania procesor musi mieć podłączony rezonator kwarcowy z dwoma kondensatorami (jeśli nie masz jeszcze płytki to dolutuj kwarc i kondenstory do podstawki)
2. Po uruchomieniu programu BASCOM uruchamiasz tryb programowania (wcześniej ustaw typ programatora w preferencjach) i klikasz "Get Type". Po tym w Combo Boxie zostanie ustawiony odpowiedni typ mikrokontrolera, pojawi się jego producent, czyli ATMEL itp. (gdyby wystąpił problem z odczytem sprawdź czy wszystko jest poprawnie podłączone i czy wybrany jest odpowiedni programator w ustawieniach BASCOMA)
3. W celu zaprogramowania mikrokontrolera należy wczytać plik bin lub hex do bufora i kliknąć "Program Chip" jeśli nie wystąpią błędy można jeszcze kliknąć "Verify" w celu dodatkowego sprawdzenia. W przeciwnym wypadku ponownie klikamy "Program Chip"
4. Cieszymy się działającą lampką :))
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
POMOC!
Witam. zaczynam przygodę z programowaniem nigdy tego nie robiłem. mam już ten program do programowania, programator już składam procki już posiadam ale potrzebuje osoby która wytłumaczy mi od podstaw jak zaprogramować attiny2313 w programie Bascom_AVR. moje gg 11496467 lum . Proszę o pomoć
Programowanie
Wszystko dokładnie opisałem jeden post wyżej!
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Ja pierwszy raz korzystam z
Ja pierwszy raz korzystam z takiego programu. Nie wiem gdzie jest Combo Box ani "Get Type". Jestem zielony w tym programie... Proszę o wyrozumiałość... nawet nie wiem jaki typ programatora mam, zrobiłem go z trzech oporników paru kondensatorków i kwarcu. zamieszczę link forum z kturego zrobiłem programator http://www.elektroda.pl/rtvforum/topic1095404-0.html to te czarno białe zdjęcia.
Programowanie
Ten programator który zrobiłeś to "Sample Electronics Programmer" gdy zainstalowałeś bascoma powinien być już taki ustawiony. Możesz to sprawdzić wybierając z menu Options->Programmer. Więcej nic nie musisz ustawiać bo w programie napisałem wszystkie potrzebne ustawienia.
1. Najpierw podłącz programator do portu LPT w komputerze a do mikrokontrolera dołącz przewody według schematu lub mojego opisu troche wcześniej (ktoś już o to pytał). Kwarc musi być podłączony. Najlepiej zrób to dolutowywując przewody do płytki (jeśli masz zrobioną)
2. Włącz zasilanie mikrokontrolera
3. W bascomie stwórz nowy plik File->New aby uaktywnic opcje programowania
4. Kliknij teraz "Program Chip" (zielona ikonka na górnym pasku). Pojawi się informacja że brak pliku *.bin ale to jest nieważne. W Combo Box czyli na wybieranej liscie pojawi się typ procesora czyli ATTINY2313 a poniżej informacje o nim
5. W celu sprawdzenia czy napewno komunikacja z procesorem działa kliknij przycisk "Identify Chip" (obok typu uC).
6. Jeżeli nie wywaliło błędu "Could not identify..." to przejdź do zakładki "Lock and Fuse Bits" i ustaw je tak jak na zdjęciu w dziale programowanie (na tej stronie powyżej)
7. Przejdz do zakładki "Flash Rom" a z górnego menu wybierz Buffer->Load from File i wskaż plik *bin lub *.hex zawierający program (do pobrania z mojej strony)
8. Kliknij teraz ikonkę "Auto Program Chip" i czekaj jak program się załaduje. W razie błędów powtórz ten krok.
9. Po załadowaniu kliknij "Chip->Verify" jeżeli chcesz sprowdzić czy program napewno się załadował.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Dzięki za pomoc już
Dzięki za pomoc już załapałem o co w tym chodzi. Tylko że mi wywala ten błąd "Could not identify..." czyli rozumiem to tak że nie wykrywa mi procka co może być tego przyczyną? A co do pliku *bin lub *.hex to ktuóry wybrać jakie to ma znaczenie?
Programowanie
Faktycznie nie wykrywa Ci procesora ale przyczyn tego może być wiele:
1. Czy kabel programujący jest poprawnie złożony i kable MISO, MOSI, RST, CLK i GND są poprawnie przylutowane do odpowiednich pinów we wtyczce DB25M
2. Sprawdź czy masa i wszystkie sygnały są podłączone poprawnie do mikrokontrolera i czy zasilanie jest prawidłowe (+5V) i podłączone do odpowiednich pinów procesora
3. Czy napewno masz przylutowany rezonator kwarcowy wraz z dwoma kondensatorkami
4. Na jaki programator ustawiony jest Bascom
Ten kabelek programujący działa napewno bo sam go często używałem a nawet dalej używam. Jego schemat pochodzi z Edw
Plik *bin i *hex zawierają taki sam program tylko w innym formacie (binarny i szesnastkowy), bascom obsługuje dwa typy. Dwa pliki umieszczem żeby każdy mógł sobie zaprogramować procesor dowolnym programem.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
pytanie do zasilana
mam trafo 12 v jak podłącze ja pod stabilizator to on zmieni napięcie na 5v
Winą tego że mi nie
Winą tego że mi nie wygrywało procka było to że poprzestawiałem rodzaj programatora w programie ale dowiedziałem jaki jest domyślny ustawiłem na niego i wykryło procka przestawiłem w lock and fuse bits tak jak jest podane wyżej, w bufer załadowałem plik bin pobrany z tej stronki. I kliknąłem auto program chip, ale po kliknięciu tego nic nie wyskoczyło czy tak ma być?? a po kliknięciu Verify, załadował się pasek i wyskoczyło okienko difference at 00000. i było w nim tylko do kliknięcia OK. więdz kliknąłem. Czy dobrze mi przeszła ta programacja?? Nie sprawdzałem jeszcze czy działa ten procek w układzie z diodą bo nie miałem czasu. A co do stabilizatora to zmieni ci napięcie na 5V. Ale musi to być stabilizator 5woltowy i musisz go poprawnie wlutować. Pozdrawiam i wielkie dzieki za pomoc stwórcy tej stronki Ps. bez ciebie bym tego nie uruchomił dzięki.
Programowanie
Jeśli po weryfikacji wystąpiło "difference at ..." to znaczy że program nie wgrał się w całości poprawnie i występuje różnica między pamięcią mikrokontrolera a bufora. Zaprogramuj mikrokontroler jeszcze raz i jeśli nie wyskoczy żaden komunikat to kliknij Verify. Nie powinien wystąpić błąd "difference at ..." tylko na dolnym pasku powinie być napis "Buffer and Chip are identical" Jeśli natomiast wystąpi błąd to kliknij ponownie Verify bo może to być błąd odczytu.
Jeśli za każdym kliknięciem Verify występuje "difference at ..." to zaprogramuj ponownie i tak aż do skutku
Odnośnie zasilacza to transformator 12V jest ok. Dodaj mu tylko mostek prostowniczy, układ 7805 i dwa kondensatory elektrolityczne. Gdyby stabilizator 7805 nagrzewał się to daj mu niewielki radiatorek.
Ps. Jak możecie to wpisujcie w formularzu odpowiedzi w pole "nazwisko" jakiś pseudonim. Łatwiej jest sie zorientować czy odpowiadam tej samej osobie czy to nowe pytanie :)
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
To ja Marcin ten od
To ja Marcin ten od problemów z programowaniem:) A przed każdym programowaniem procka nie trzeba go resetować?? Ja gdy klikałem reset chip to też nic nie wyskakiwało...
Zaprogramowałem procesor i
Zaprogramowałem procesor i świeci ładnie:) Chcę aby dioda rozświetlała wodę w szklanej róże, ale słyszałem że są płyny które ładniej rozpraszają światło niż woda. Znacie może takie płyny??
Spróbuj olej
Spróbuj olej mineralny.
p.s. "rurze" bo rura
Programowanie
Reset procesora tylko uruchamia program od początku. Jeśli chcesz skasować program w procesorze to użyj "Erse Chip". Czasami występują problemy z poprawnym wgrywaniem kodu. Jeśli dalej nie możesz zaprogramować bez błędu ATTINY2313 to spróbuj uruchomić ponownie bascoma albo wyłączyć na chwilę zasilanie mikrokontrolera.
Ps. Raz w życiu zdarzyło mi się że kilka razy z rzędu nie chciało się zaprogramować poprawnie, ale było to dla ATMEGA16 i programu o wielkości ok. 15kB
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Z programowaniem nie mam
Z programowaniem nie mam już problemów, w combo boxie zmieniam typ procesora na inny niż wykrywa program. Klikam Identify chip, wtedy znowu wykrywa attiny. i po tym zabiegu procek daje się normalnie programować bez błędów. Pobawię się jeszcze w jego resetowanie ponieważ wgrywałem na procek kilka razy ten program, ale procek działa w układzie:)
Programowanie
Nie trzeba używać "Erse chip" bo robi się to automatycznie gdy używasz "Auto Program Chip". Napisałem to bo zdarzyło mi się że się nie wykasował poprzedni program i narobiło się troche śmieci w pamięci procka :)
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Aha spoko:) A powiesz mi
Aha spoko:) A powiesz mi jakie znaczenie w układzie mają kondensatory 22pF te w oscylatorze? bo Mój układ działa nawet bez nich:)
Mam jeszcze jedno pytanie.
Mam jeszcze jedno pytanie. Czy mogę podłączyć dwie diody RGB równolegle w miejsce gdzie na schemacie jest jedna? Chce aby były cztery diody ponieważ zależy mi na większej ilości światła a nie wiem czy ten procesor to wytrzyma. Mam diody ze wspólnym plusem a z tego co czytałem u góry to do rozbudowy na tranzystorach trzeba mieć ze wspólnym minusem...
Wiecej diod
Bez problemu da się to zrobić dla diod ze wspólną anodą. Zastosuj 3 tranzystory BUZ11 (MOSFET N) i podłącz ich bramki do pinów PB.0-PB.2 lub PB.3-PB.5. Źródła tranzystorów podłącz do masy a Dreny będą teraz wyprowadzeniami do podłączenia Diody RGB. Możesz dołączyć ile chcesz diod tylko dla każdej daj osobny komplet rezystorów. Mikrokontroler zaprogramuj programem dla diod ze wspólną katodą gdyż tranzystory będą działać jak inwertery. Możesz też zamiast tranzystorów MOSFET N zastosować zwykłe NPN byle by miały wystarczający prąd Kolektora do uciągnięcia twoich diod.
Jeżeli chodzi o kondensatory to zawsze je stosuje, według zalecenia karty katalogowej mikrokontrolera. Oba kondensatory powinny być takiej samej pojemności a ich zastosowanie zmniejsza wpływ zakłóceń elektromagnetycznych z otoczenia na pracę mikrokontrolera
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.