ATtiny sztuki i sztuczki

Czyli wszystko co potrzebne prawdziwemu DIY'owi;) Porady, pytania i opisy używanego przez nas sprzętu.
Awatar użytkownika
Pyra
Site Admin
Posty: 8527
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Post autor: Pyra »

Witam
A ja na złość się nie przesiądę na "C" ;)
Starego psa, ciężko nauczyć nowych sztuczek, Przy moim zapotrzebowaniu na programy, Bascom wystarcza, a sądzę, że i kilku osobom taki temat pomoże.

Jest jeszcze w dokumentacji AC(12) - Vbg (MUX - 1100) czy ktoś wie co to jest?

Pomiar temperatury jest dość stabilny, dokładność mi niepotrzebna, chodzi o zabezpieczenie termiczne więc te kilka stopni "wte lub wewte"... Zrobiłem program który mi "wymruguje" wartość napięcia, ale to strasznie upierdliwe ;)

Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Awatar użytkownika
greg
Posty: 3535
Rejestracja: środa 08 paź 2008, 00:16
Lokalizacja: Wrocław
Kontakt:

Post autor: greg »

Vbg czyli wewnętrzne napięcie odniesienia 1.1V. I tu mamy piękny "myk". Możesz sobie ustawić Vcc jako "reference", a mierzyć Vbg. Co to oznacza? Ano, bezpośredni pomiar napięcia zasilania procesora bez żadnych dzielników napięcia :)

Chodzi o to, że napięcie odniesienia zawsze mówi być wyższe od napięcia mierzonego.
Sterownik extended v3.5 HE <klik>
Instrukcje sterowników w PDF <klik>

kontakt: info(at)krypton(dot)pl
(podstawić @ i . w stosowne miejsca)
Awatar użytkownika
Pyra
Site Admin
Posty: 8527
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Post autor: Pyra »

Witam
greg pisze:Vbg czyli wewnętrzne napięcie odniesienia 1.1V. I tu mamy piękny "myk". Możesz sobie ustawić Vcc jako "reference", a mierzyć Vbg. Co to oznacza? Ano, bezpośredni pomiar napięcia zasilania procesora bez żadnych dzielników napięcia :)
No właśnie coś takiego podejrzewałem... choć będzie potrzebne trochę więcej przeliczania.

Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Awatar użytkownika
ElSor
Site Admin
Posty: 5041
Rejestracja: niedziela 13 wrz 2009, 12:52
Lokalizacja: Ozimek

Post autor: ElSor »

Awatar użytkownika
Manekinen
Posty: 2443
Rejestracja: środa 28 sty 2009, 15:18
Lokalizacja: Kętrzyn
Kontakt:

Post autor: Manekinen »

Niejednokrotnie stosowałem tą sztuczkę do pomiaru własnego napięcia zasilania, piękna rzecz :)

Pyra nie dawaj się, ja też męczę te maluchy w bascomie, i też można cuda zrobić... no, z lekką pomocą asm :)
Awatar użytkownika
Pyra
Site Admin
Posty: 8527
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Post autor: Pyra »

Witam
Manekinen pisze:Pyra nie dawaj się, ja też męczę te maluchy w bascomie, i też można cuda zrobić... no, z lekką pomocą asm :)
Twardy będę jak żelki z Biedronki, Basic to język mojej młodości ;)

Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Awatar użytkownika
Pyra
Site Admin
Posty: 8527
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Post autor: Pyra »

Witam

Pobawiłem się trochę pomiarem temperatury i napięcia zasilania przy pomocy wbudowanych możliwości procesorka ATtiny25 (oraz reszty tej serii 45, 85).
Dla prób napisałem małe programiki w Bascomie :twisted: których zadaniem jest odczyt i "wymrugiwanie" wartości.
Oto przykład pomiaru napięcia.
W związku z tym, że mamy do czynienia z 10-bitowym ADC wzór na napięcie zasilania przyjmuje postać:
Vcc = Vref * 1023/Vadc
Vadc - napięcie otrzymane z przetwornika.
W związku z tym, że Vref jest znane i stałe (no powiedzmy... w moim przypadku Vref = 1,12V) otrzymujemy stałą
1,1 * 1023
Aby pozbyć się przecinka..
11 * 1023 = 11253.
tak więc:
10*Vcc = 11253 / Vadc
Wtedy otrzymujemy wartość napięcia zasilania * 10, czyli 5,0V ma postać 50, co jest bardziej przyjazne do dalszych obliczeń i porównań.

Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D As Byte
Dim E As Byte
Dim U1 As Word
Dim U As Word


Config Portb.0 = Output 'setki
Config Portb.1 = Output 'dziesiątki
Config Portb.2 = Output 'jedności
Config Portb.3 = Input
Config Portb.4 = Input


Config Adc = Single , Prescaler = 8 , Reference = Avcc

Do
U1 = Getadc(12)

U1 = 11372 / U1

U = U1
U = U / 10
U = U * 10
A = U1 - U

U1 = U1 / 10


B = U1 Mod 10
U1 = U1 / 10

C = U1 Mod 10

E = 0
For D = 1 To C
Gosub Mryg
Next D

Waitms 200
E = 1
For D = 1 To B
Gosub Mryg
Next D

Waitms 200
E = 2
For D = 1 To A
Gosub Mryg
Next D

Waitms 500

Loop

Mryg:
Set Portb.e
Waitms 60
Reset Portb.e
Waitms 60
Return

End

Jeśli chodzi o pomiar temperatury, to tutaj według noty katalogowej wartość ADC 300 odpowiada temperaturze 25°C. Niestety odchyłka bywa spora, ale do użycia tego jako zabezpieczenie termiczne, jest aż nadto wystarczające.

Taki oto krótki programik, umożliwia prosty odczyt zmierzonej wartości odpowiadającej aktualnej temperaturze procesora.

Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D As Byte
Dim E As Byte
Dim U1 As Word
Dim U As Word


Config Portb.0 = Output 'setki
Config Portb.1 = Output 'dziesiątki
Config Portb.2 = Output 'jedności

Config Adc = Single , Prescaler = 8 , Reference = Internal_1.1

Do
U1 = Getadc(15)

U = U1
U = U / 10
U = U * 10
A = U1 - U

U1 = U1 / 10


B = U1 Mod 10
U1 = U1 / 10

C = U1 Mod 10

E = 0
For D = 1 To C
Gosub Mryg
Next D

Waitms 200
E = 1
For D = 1 To B
Gosub Mryg
Next D

Waitms 200
E = 2
For D = 1 To A
Gosub Mryg
Next D

Waitms 500

Loop

Mryg:
Set Portb.e
Waitms 60
Reset Portb.e
Waitms 60
Return

End

Zmieniając parametr "e" na numer konkretnego portu we fragmencie:

Mryg:
Set Portb.e
Waitms 60
Reset Portb.e
Waitms 60
Return
Otrzymamy możliwość błyskania jednym LEDem w sekwencji setki, przerwa, dziesiątki, przerwa, jedności.

Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Awatar użytkownika
ElSor
Site Admin
Posty: 5041
Rejestracja: niedziela 13 wrz 2009, 12:52
Lokalizacja: Ozimek

Post autor: ElSor »

Idąc podobnym tropem można do 1 pinu attiny13 podpiąć diodę np 1N4148 i mierzyć na niej w podobny sposób temperaturę i napięcie zasilania :wink:
W 1kB kodu spokojnie można zmieścić ciekawy driverek z pełną opcją zabezpieczeń a do tego umieszczając diodę na radiatorze (pigule) mamy pewniejsze odczyty.
Awatar użytkownika
Pyra
Site Admin
Posty: 8527
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Post autor: Pyra »

Witam
ElSor pisze:Idąc podobnym tropem można do 1 pinu attiny13 podpiąć diodę np 1N4148 i mierzyć na niej w podobny sposób temperaturę i napięcie zasilania :wink:
Właśnie nad takim rozwiązaniem spędziłem trochę czasu, niestety stabilność tego układu nie była zadowalająca, zależność jednej wartości od drugiej. Zmiana napięcia powodowała zmianę odczytu temperatury i odwrotnie...
Do tego potrzebny był drugi pin do załączania zasilania na układ pomiarowy, bo zalecany prąd diody to 1mA.
Jednak w przypadku ATtiny13 i małych wymagań co do dokładności, to dobre wyjście.
Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Awatar użytkownika
pier
Posty: 1467
Rejestracja: poniedziałek 21 lut 2011, 09:02
Lokalizacja: Biłgoraj-Sól

Post autor: pier »

Panowie a widzieliście projekt na elektrodzie który wyciska z attiny13 niezłe poty. W dodatku jest to luksomierz. Nazywa się toto Tiny Gad A :lol:
Awatar użytkownika
Pyra
Site Admin
Posty: 8527
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Post autor: Pyra »

Witam
No tak... A ja od kilku lat nosze się z zamiarem zrobienia odtwarzacza plików muzycznych zapisanych na SD (najprostszych vaw), chodzi mi o stworzenie modułu dźwiękowego ze sterowaniem LEDem do miecza świetlnego. Niestety podchodzę do tego jak pies do jeża ;) bo trochę boję się ilości pracy z tym związanej.
Istniejące konstrukcje mają jakieś kosmiczne ceny.

Pozdrawiam
Ostatnio zmieniony niedziela 03 mar 2013, 13:18 przez Pyra, łącznie zmieniany 1 raz.
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
ptja
Posty: 2414
Rejestracja: poniedziałek 31 gru 2012, 12:44
Lokalizacja: Łódź

Post autor: ptja »

Pyra pisze:/.../chodzi mi o stworzenie modułu dźwiękowego ze sterowaniem LEDem do miecza świetlnego/.../
Istniejące konstrukcje maja jakieś kosmiczne ceny.
$15,50 to chyba mniej niż "kosmicznie" :-)
http://dx.com/p/d1205-vs1003b-mp3-audio-decoding-evaluation-module-blue-yellow-179339

Wrzuć "mp3" w wyszukiwarkę np. DX, ogranicz do działu "DIY" i masz już płytki od niecałych $6 (ale nie wiem, czy sterowanie da się łatwo wykorzystać).
--
pozdrawiam,
Jarek Andrzejewski
Awatar użytkownika
Pyra
Site Admin
Posty: 8527
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Post autor: Pyra »

WItam
He he, żeby to było takie proste...
1. dźwięk startu, połączony z rozjaśnianiem LEDa
2. dodatkowy efekt powiązany z sygnałem czujnika ruchu.
3. sygnał uderzenia połączony z rozjaśnieniem LEDa na max wyzwalany sygnałem z czujnika uderzeniowego.
4. Wyłączenie miecza, ściemnienie LEda połączone z odpowiednim dźwiękiem.

Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
ptja
Posty: 2414
Rejestracja: poniedziałek 31 gru 2012, 12:44
Lokalizacja: Łódź

Post autor: ptja »

no to jakiś AVR do programatora, Atmel Studio na ekran, modulik MP3, parę kabelków i do roboty :-)
To, co podałeś, to żadne "rocket science"...
Ja właśnie zamówiłem ATTiny13A i zaczynam eksperymentować z oprogramowaniem driverów LED (pod kątem podwodnego oświetlenia, a więc mało trybów i sterowanie kontaktronem).
--
pozdrawiam,
Jarek Andrzejewski
Awatar użytkownika
Manekinen
Posty: 2443
Rejestracja: środa 28 sty 2009, 15:18
Lokalizacja: Kętrzyn
Kontakt:

Post autor: Manekinen »

A co powiecie na grę z wyświetlaczem nokii?
http://www.hackniac.com/blog/2011/06/23 ... sm-copter/
:)
ODPOWIEDZ