Strona 1 z 1

On / off na Attiny13 dla AMC7135

: piątek 19 gru 2014, 16:36
autor: wrogu
Cześć,

niestety w mojej przygodzie z elektroniką trafiłem na kolejną przeszkodę - tj. konstrukcję najprostszego włącznika on/off na attiny13a. Jestem po lekturze poradnika Pana Mirka (tutaj LINK do kodu ) - wszystko fajnie na płytce stykowej śmiga (biała dioda 5mm, rezystorek 500R, wyjście na pinie PB1).

Problem się pojawia jak mój moduł instaluję w latarce - w efekcie mam tryby - świeci jasno i świeci ciemniej. Sterownik to najprostsze 2xAMC7133. Obstawiam, że coś nie tak jest ze stanem LOW, znalazłem w sieci zdjęcia podobnych sterników - tam sygnał PWM podawany jest bezpośrednio z PINu procesora (u mnie to realizowane jest na ustaleniu PORTB na low, bez PWM sprzętowego). Jak pomóc mojemu mikrokontrolerowi by LOW był faktycznie niski na tyle by gasił LEDy? Dla zabawy wcześniej bez wlutowania attiny zrobiłem rozwiązanie z microswitchem pomiędzy VCC a VDD na AMC i wszystko ślicznie chodziło, ale by latarka była włączona musiałem trzymać microswitcha (teraz mam dwa tryby i wyłączenie przez lekkie rozkręcenie obudowy skyray'a ;) )

Pozdrawiam :mrgreen:

: piątek 19 gru 2014, 16:44
autor: Pyra
Witam
Podobny problem musiałem kiedyś rozwiązać, "okrężną drogą", zmieniając funkcję pinu na wejście. O ile pamiętam, to było to chyba wynikiem usypiania procka, co i Tobie sugeruję, bo tiny13, bierze całkiem sporo prądu, kiedy nie śpi.

Pozdrawiam

: piątek 19 gru 2014, 17:01
autor: wrogu
O dzięki, wypróbuję taką metodę, czyli dać pin (u mnie PB1, stare wyjście) na Input i bawić się w podciąganie zamiennie VCC/GND (PORTB ^= (1<<PB1)) ?

: piątek 19 gru 2014, 17:08
autor: Pyra
Witam
Coś mi się przypomina, że normalnie to działało, problemy zaczęły się przy usypianiu.
Ja robiłem to wtedy tak że normalna praca to było sterowanie PWM, Przed uśpieniem, dawałem PWM - 0 i zmieniałem wyjście na wejście. Po uruchomieniu, proces odwrotny.
Spróbuj może dać rezystor około 100k pomiędzy pin a masę.

Pozdrawiam

: piątek 19 gru 2014, 22:44
autor: GanzConrad
DDRB &= ~_BV(PB1)
nie korzystam akurat z attiny i problem również występuje przy sprzętowym PWM (non invert mode) przy PWM=0. Występuje pik przy przejściu pomiędzy wartością 255 i 0 Timera, który daje mniej niż 1/255 wypełnienia PWM co skutkuje lekkim świeceniem diody.

: sobota 20 gru 2014, 09:50
autor: greg
Interesujące. Na oscylogramie nie mam żadnego piku przy sprzętowym PWM = 0. Sprawdziłem ATTiny13A i 85. Jest 0 i nic ponadto. Przy PWM=1 oscyloskop podaje wypełnienie 0,39% czyli prawidłowo.
Coś nie tak z konfiguracją rejestrów?

: sobota 20 gru 2014, 09:53
autor: Pyra
Witam
Przy "fast PWM" pojawia się szpieczka, w trybie z korekcją fazy jej nie ma.

Pozdrawiam

: sobota 20 gru 2014, 15:31
autor: GanzConrad
greg, nie mam zdjęcia z oscyloskopu, bo go nie zrobiłem, ale szpilka jest. Nie wiem czy dotyczy wszystkich procesorów, ale występuje na atmega16a i atmega88a
http://www.elektroda.pl/rtvforum/viewto ... p=12459627

: sobota 20 gru 2014, 15:44
autor: ElSor
A ja się kiedyś z tym męczyłem i właśnie musiałem zmienić tryb na non-inverting, bo zauważyłem, że wtedy wszystko działa zgodnie z założeniami. Teraz już przynajmniej wiem dlaczego tak jest.