Strona 6 z 7

: czwartek 28 lut 2013, 06:03
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

: czwartek 28 lut 2013, 07:32
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.

: czwartek 28 lut 2013, 08:02
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

: czwartek 28 lut 2013, 08:58
autor: ElSor

: piątek 01 mar 2013, 17:32
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 :)

: piątek 01 mar 2013, 18:17
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

: sobota 02 mar 2013, 12:27
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

: sobota 02 mar 2013, 14:11
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.

: sobota 02 mar 2013, 14:31
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

: niedziela 03 mar 2013, 10:45
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:

: niedziela 03 mar 2013, 11:02
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

: niedziela 03 mar 2013, 12:05
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ć).

: niedziela 03 mar 2013, 13:17
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

: niedziela 03 mar 2013, 14:58
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).

: niedziela 03 mar 2013, 14:58
autor: Manekinen
A co powiecie na grę z wyświetlaczem nokii?
http://www.hackniac.com/blog/2011/06/23 ... sm-copter/
:)