Mini Lampka RGB 2


10
Ocena: None Średnia: 10 (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
4x 180R
1x 330R

2x 22pF
1x 100uF Elektrolit
1x 470uF Elektrolit

1x Rezonator Kwarcowy 16MHz (przy 10MHz może migać)
1x Dioda LED
2x Dioda LED RGB (4 wyprowadzenia, wsp. anoda)
1x 7805
1x ATTINY2313 + Podstawka

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:

ZałącznikWielkość
Schemat44.78 KB
Płytka10.3 KB
Płytka (odbicie lustrzane)10.27 KB
Płytka (3 na stronie)25.92 KB
Montowanie14.72 KB
Opis6.91 KB
Opis (odbicie lustrzane)6.95 KB
Kod Źródłowy6.62 KB
Program po kompilacji (BIN)1.94 KB
Program po kompilacji (HEX)5.48 KB
Kod Źródłowy (Dioda ze wsp. Katodą)6.62 KB
Program po kompilacji (BIN) (Dioda ze wsp. Katodą)1.94 KB
Program po kompilacji (HEX) (Dioda ze wsp. Katodą)5.48 KB
Płytka (Wersja 2)11.1 KB
Płytka (odbicie lustrzane) (Wersja 2)11.14 KB
Płytka (6 na stronie) (Wersja 2)54.54 KB
Montowanie (Wersja 2)15.05 KB



Portret użytkownika gosc

fajna rzecz. chyba sobie

fajna rzecz. chyba sobie zrobię :D

Portret użytkownika gosc

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 ?

Portret użytkownika mirley

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.

Portret użytkownika gosc

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

Portret użytkownika mirley

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.

Portret użytkownika gosc

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

Portret użytkownika mirley

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.

Portret użytkownika gosc

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ę

Portret użytkownika mirley

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.

Portret użytkownika Filip

Podłączanie diody 3W

Witam
a czy jest mozliwosc podlaczenia diody 3W czy tranzystory pomogą

Portret użytkownika mirley

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.

Portret użytkownika gosc

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

Portret użytkownika mirley

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.

Portret użytkownika gosc

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

Portret użytkownika mirley

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.

Portret użytkownika gosc

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??

Portret użytkownika mirley

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.

Portret użytkownika gosc

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 :]

Portret użytkownika mirley

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.

Portret użytkownika gosc

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

Portret użytkownika mirley

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.

Portret użytkownika gosc

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

Portret użytkownika mirley

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.

Portret użytkownika gosc

jak bym miał w pobliżu

jak bym miał w pobliżu sklep to bym nie miał problemu

Portret użytkownika mirley

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.

Portret użytkownika gosc

tak

tak

Portret użytkownika mirley

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.

Portret użytkownika gosc

z wylutu

z wylutu

Portret użytkownika mirley

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.

Portret użytkownika gosc

A BO JA WIEM

A BO JA WIEM

Portret użytkownika gosc

problemy

mam pytanie jak podłącze kostkę to w program sam ją znajdzie czy trzeba ustawić

Portret użytkownika mirley

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.

Portret użytkownika gosc

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ć

Portret użytkownika mirley

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.

Portret użytkownika gosc

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.

Portret użytkownika mirley

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.

Portret użytkownika gosc

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?

Portret użytkownika mirley

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.

Portret użytkownika gosc

pytanie do zasilana

mam trafo 12 v jak podłącze ja pod stabilizator to on zmieni napięcie na 5v

Portret użytkownika gosc

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.

Portret użytkownika mirley

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.

Portret użytkownika Marcin

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...

Portret użytkownika Marcin

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??

Portret użytkownika grizz

Spróbuj olej

Spróbuj olej mineralny.

p.s. "rurze" bo rura

Portret użytkownika mirley

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.

Portret użytkownika Macin

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:)

Portret użytkownika mirley

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.

Portret użytkownika Marcin

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:)

Portret użytkownika Marcin

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...

Portret użytkownika mirley

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.