Na samym uC z kwarcem zewnetrznym otrzymasz dosc precyzyjne czasy. Nie wiem jakie bledy trzeba zrobic w programie zeby przy czasie 260ms otrzymac rozrzuty 5ms. Dobrze przemyslany program zapewni Ci odmierzanie czasu co do 1 cyklu zegarowego. Tylko bledy w logicznym mysleniu moga wprowadzac wieksze bledy. Proszę używać polskich znaków!
Kwarc podczas programowania nie musi być podłączony o ile uC korzysta z WEWNĘTRZNEGO generatora ("fusy"dla ATMEGA 8 i podobnych = 0001 lub 0010 lub 0011 lub 0100), Jeżeli przełączono "fusy" na generator ZEWNETRZNY czyli kwarc lub generator podający z zewnątrz gotowy sygnał taktujący to podczas programowania generator/kwarc musi być podłączony. Na kwarcu...
Witam Panowie, potrzebuję oświecenia. Chcę zrobić system na atmega8, który na bazie pomiaru rezystancji będzie sterował diodą led, która to będzie świeciła się przez 2, 4, 6 sekund z możliwością wydłużenia tego czasu do kilkudziesięciu sekund i przerw kilkugodzinnych między cyklami. Korzystam z trybu CTC i w nieskończonej pętli, za każdym razem kiedy...
Na jakiej czestotliwosci dziala procek? 1 MHz. Dzięki. spróbuję przez CTC.
Mam prośbę.Próbuję uruchomić woltomierz do pomiaru napięcia akumulatora i wyświetla mi na LCD same zera. prawdopodobne coś mam źle w kodzie. [syntax=c] #include <stdio.h> #define VREF_VCC (1<<REFS0) //Napięcie odniesienia #define ADCIN PC0 //Aktywne wejście dla pomiaru napięcia(ADC0) uint32_t wynik; uint16_t pm; uint8_t cz_d,cz_u; int main(void)...
Jak na załączonym obrazku, wskazówka i pozostałe elementy obrazu "migają", tak jakby nie zapalały się po każdym obrocie. http://youtu.be/SMU5YG3xl9k W czym tkwi problem? W kodzie prawie nic nie ma. Jeśli każę się zapalić wskazówce w przerwaniu to pięknie chodzi. PS: Wiem że zegar chodzi za szybko i w drugą stronę narazie tylko do testów :D. Przerwanie...
Wyświetlanie segmentów na czterech wyświetlaczach (4 cyfry) bazuje na przerwaniach. char_gen - tablica kodów cyfr Do PORTB(0-3) są podłączone 4 cyfry. Reszta PORTB(3-7) jest wykorzystywana na inne cele i stan na pozostałych czterech bitach nie ulega zmianie. Kod programu działa poprawnie. Czy przychodzi wam pomysł w jaki można by uprościć wyświetlanie...
Korzystam z atmegi 32. Problem polega na tym że chcę zapisywać wartości do eeprom-u. Zapis robię co przerwanie timera2 od przepełnienia. I za każdym razem jak dochodzi do zapisywania do eeprom-u to mikrokontroler się resetuje. Czytałem coś o fuse bitach coś zmieniłem, ale nie pomogło. Trzeba oddzielnie eeprom i flash programować? Zestaw ewaluacyjny...
Witam czy ktoś potrafi podać przyczynę dlaczego zmienna "czas" raz przyjmuje wartość 1000 a raz 768 w tym programie? TO liczy impulsy z generatora LC, T1 natomiast odlicza odcinki 1ms. [syntax=c] #include <avr/io.h> #include "HD44780.h" #include <util/delay.h> #include "Przerwanie_INT0.h" #include <avr/interrupt.h> #include <math.h>...
Witam, robię obrotomierz do silnika o obrotach do 6000obr/min. Pomiar wykonuje następująco: - po 1 przerwaniu startuje timer1 - w obsłudze przerwania timera1 (co 100us) zwiększam zmienna X - po 20 takich pomiarach usrednam wyniki i poddaje kalkulacji: Impuls: Disable Int1 If Measure = 0 Then X = 0 J = 1 Timer1 = 65136 Enable Timer1 Measure = 1 Else...
Chodzi o to że napisałem program ale ma on za dużą pojemność bo 105%, jak go zmniejszyć. Dodam że ma bardzo dużo pętli if,else if .
Witam Mam problem z programem do pomiaru napięcia i wyświetleniu na lcd. Program niby działa ale wyświetlane wartości są przypadkowe 0-150(jednak jak kręcę potencjometrem to coś się zwiększa wchodząc na wyższe wartości 200-455) program jest w fazie początkowej. Jestem początkującym w programowaniu procesorów. #include <avr/io.h> #include "HD44780.h"...
Witam, jestem początkujący jeżeli chodzi o programowanie mikrokontrolerów, więc poniższy kod nie jest przepiękny. Proszę o poprawę... Główny problem: układzik jest to dalmierz ultradźwiękowy uzyskujący spory zasięg. Jednak by mógł też mierzyć odległość przedmiotów blisko umieszczonych muszę przełączać próg komparatora atmegi. Robię to za pomocą portu...
Witam Walczę od jakiegoś czasu z timerem, próbuję odmierzać czas, no i niestety zegar mi się delikatnie "rozjeżdża". Moglibyście Panowie podpowiedzieć mi, gdzie robię błąd. atmega8 z kwarcem 8Mhz. [syntax=c] #include <avr/io.h> #include "lcd_lib.c" #include <avr/interrupt.h> volatile char time_s=0; volatile char time_m=0; volatile char time_h=0;...
Problem jest prozaiczny a może nie? Mam atmega8 i wysyłam kod rc5 wszystko jest ok ale po wyjściu z procedury nadawania i wejściu w pętlę główną programu nadal na wyjściu oc1a mam stan wysoki? Jak to wyłączyć ?
Witam. Mam prosty program zegarka-termometru na lcd 2x16 atmega8 i kawrcu zegarkowym. Proszę o sprawdzenie programu. Pozdrawiam sjzwojtek [syntax=basic4gl]$regfile = "m8def.DAT" $crystal = 4000000 Config 1wire = Portd.7 'konfiguracja magistrali 1wire Config Pind.5 = Input Config Pind.0 = Input Config Pind.2 = Input Config Pind.6 = Input Set Portd.5...
witam , przy kwarcu #define F_CPU 4000000UL timerze0 i preskalerze 1 mam przepelnienie po 256 krokach po czasie 0,000064 s. zliczajac 15625 przerwan powinienem miec sekunde. jednak wystepuja u mnie 5 sekund opoznien z kazda kolejna minuta. zliczajac w ten sposob popelniam blad ?
Witam serdecznie. mam dziwny problem ze swoją atmegą 8. Wkleję tutaj mniejszą część całego kodu w której jest problem: if(przycisk_c(2)) // opcja pomiaru. { min=40; max=0; CzyscLCD(); while(1) { for(i=0;i<20;i++) { pom+=(unsigned int)pomiar(); if(i==19) {pom=(int)(((po...
Witam! Mam problem z programem pisanym pod atmege8 w języku C. Założenia są proste - układ steruje diodą LED mocy poprzez wyjście PWM'u podłączonego pod tranzystor mosfet. Na początku wypełnienie zmieniałem dodając bądź odejmując założoną liczbę od rejestru OCR1A. Jednak z racji wytracania dużej ilości energii na rezystorze postanowiłem, że zamiast...
Co rozumiesz pod pojęciem impuls, bo może to przybliżyłoby nam, co chcesz osiągnąć ? Najprawdopodobniej będziesz potrzebował obsługiwać przerwania OnCompare1A , w których raz włączysz pin, drugi raz go wyłączysz i ustawisz inne odmierzanie czasu.
Która atmega? W atmega8 możesz użyć: Timer0 - odmierzanie czasu Timer1 - zliczanie impulsów Timer2 - PWM
Witam. Może ktoś napisać jak odmierzyć 12.5us? Bo potrzebuje te 12.5us do wygenerowania półokresu przebiegu 40KHz. Chciałbym zmieniać stan pinu na przecieny co 12.5us. Da się to zrobić bez przerwań? Sprzęt to ATMEGA 8 z kwarcem 8MHz, program piszę w Bascomie Będę wdzięczny za pomoc
Witam. Chciałem sobie zrobić prosty zegarek. Napisałem kod, podłączyłem wszystko na mojej płytce testowej i niby działa, ale ... Za szybko odmierza czas. 1 sekunda trwa tutaj dużo krócej. W ciągu 1 minuty w rzeczywistości, naliczy 170 sekund. ATmega ma ustawiony fusebit na wewnętrzny oscylator 8Mhz, do XTAL1 i XTAL2 mam podłączony kwarc zegarkowy. Kod...
Witam! Zrobiłem sobie taki prosty logger, który wykonuje co 10 min pomiar temperatury i zapisuje wynik na karcie SD. Na początku dokumentacji atmegi pisalo ,że 20 Mhz osiągnid się dopiero przy => 4.5 V. Zasilanie ma wyglądać tak: NiMh: 3x1.2 V = 3.6 V (na początku przy pełnym naladowaniu 3x1.35 V = 4.05 V) [/quote] lub Alkaiczne, cynkowo węglowe: 3...
Jak należy ustawić MCU Clock Frequency w eclipse jeżeli w częstotliwość jest np. 4 razy zmieniana za pomocą clock_prescale_set()? Eclipse wykorzystuje wiedzę z MCU Clock Frequency zapewne tylko do makrt lub funkcji, w których do obliczeń (na etapie przygotowania kodu programu do kompilacji) niezbędna jest znajomość F_CPU, a są nimi opóźnienia z nagłówka...
Wykonuje prace inżynierską "stanowisko szkoleniowe silnika krokowego", chciałbym wykonywać kilka rzeczy czasowo niezależnie bez używania delay, takich jak taktowanie częstotliwości na sterownik krokowca, odmierzanie czasu, cykliczne sprawdzanie stanów wejść. Z bibliotek znam Timer1.h jedynie. Mógłbym to zrobić w "C" chyba, bo kiedyś dużo bawiłem się...
To zależy co robisz z tym odbiornikiem. Jak potrzebujesz dosyć precyzyjne odmierzanie czasu (generowanie sygnału 36KHz lub odbieranie jakiegoś kodu) to wewnętrzny oscylator może być zbyt mało dokładny, bo błąd częstotliwości może wynosić nawet 10%. Jak potrzebujesz tylko odebrać jakiś prosty sygnał typu "0" lub "1" to wewnętrzny oscylator w zupełności...
Wszystko da rade :) Tylko na 6 musisz odmierzac 3.(3) sekundy. Mozesz zostawic wersje 8 serowowa i dwoch nie obslugiwac po prostu, albo odmeirzac troche wiecej czasu, tylko nie masz calej koncowki wiec musisz policzyc po jakim czasie ci sie moga rozjechac te 20ms. Preskaler zmieniam bo jak dajesz CSy na zera to licznik stoi po prostu :) Jesli chcesz...
witam! Musze dosc precyzyjnie odmierzac czas (1ms) dysponuje ATmega 32 z zewnetrznym kwarcem 8Mhz... ustawilem sobie preskaler timmera na 8 ( czyli stuka sobie z f= 1Mhz) teoretycznie powinno byc dobrze... ale w praktyce pomiar spoznia mi sie o 3sec. na minute ( ???!!!) juz nie wiem co robie nie tak... jesli ktos moze spojrzec bylbym wdzieczny... #include...
Albo jeszcze inaczej. Podpinasz wyjście z wiatraka do przerwania np. INT0 W przerwaniu zwiększasz o jeden dowolną zmienną np. obr. Dodatkowo ustawiasz Timer na odmierzanie stałych odcinków czasu np. 1s. W obsłudze przerwania odczytujesz zmienną obr. i zapisujesz ją w zmiennej obroty, nastęnie zerujesz zmienną obr. Przy okazji w tym przerwaniu wyświetlacz...
Najprościej na przerwaniu. Nie pamiętam jak to przeliczać ale kiedyś potrzeba mi było odmierzanie czasu co 1s (bodaj na ATmega16 z kwarcem 8MHz). Da się przeliczyć (czytaj notę katalogową do procka) ale przy okrągłych herzach jakieś farfocle zostają ;) Mi wystarczyła dokładność +/- 1 sek. na 10-12 godzin :) Dodano po 3 I jeszcze jedno RTC nie zawsze...
http://obrazki.elektroda.net/1_122383564... Witam wszystkich. Dziś chciałbym zaprezentować wytrawiarkę. Po przeszukaniu postów na elektrodzie, przejrzeniu kilku schematów, wziąłem sie za tworzenie od podstaw. I tak w wolnym od pracy i studiów czasie powstała moja wytrawiarka ;) Na jednej fotce widać oznaki nocnego zmęczenia, zapomniałem narysować...
Mam problem z uzyskaniem oczekiwanego działania przerwań INT0 i INT1. Procesor to ATMEGA 16 z zewnętrznym taktowaniem 16MHz. PD2, PD3 są skonfigurowane jako wejścia z podciągnięciem do 1. W obu przerwaniach jedyną czynnością jest inkrementowanie zmiennych zdefiniowanych jako volatile uint32_t. ISR(INT0_vect) { N_T++; } ISR(INT1_vect) { N_F++; } Przerwania...
Witam! ATmega32 16MHz jako slave odbiera dwa bajty po SPI 1MHz ( 15cm taśmy 10 żyłowej )od mastera LPC2148 . Jeżeli jest włączone tylko SPI, a inne przerwania są wyłączone jest wszystko dobrze. Jeżeli włączę przerwanie od timera2 generowane co 100us to zdarza się że atmega gubi jeden bajt i krzaczy się cała transmisja, ale po jakimś czasie jak zgubi...
Rewelacyjny design! Ale za to ogromny minus za brak lodu. Zdaje sobie jednak sprawę że to byłoby trudne do ogarnięcia. Gratulacje i tak ! Lód próbowaliśmy uzyskać kilkoma metodami: - tworzenie lodu za pomocą ogniw Peltiera - nawet najmocniejsze zasilacze (8A(at)15V) schładzały ogniwo minimalnie do 3 stopni Celsiusza. Peltiery już pękały. To o wiele...
Konstruuję regulator do mini pieca hartowniczego (do około 1.000*C). Jego funkcje to: - odczyt temperatury z termopary typu K (układ MAX6675), - sterowanie grzałką przez przekaźnik, - odczyt temperatury obudowy pieca, drzwiczek (DS18B20), - odmierzanie zadanego czasu, - pokazywanie daty i godziny (tak przy okazji bo jest miejsce na LCD), - oraz oczywiście...
Witam wszystkich majsterkowiczów :D Oto mój jeden z pierwszy programów napisanych na ATMEGE 8. Dotychczas programowanie mikrokontrolerów traktowałem jako zabawę, używając do tego BASCOMA i zestawu Treningowego. Obecnie stoję przed zamiarem budowy pewnego urządzenia ale przed rozpoczęciem prac chciałbym mieć pewność że część programowa będzie ok. Sam...
http://obrazki.elektroda.pl/1197028000_1... Zautomatyzowane urządzenie do mieszania drinków - takie urządzenie pojawia się w marzeniach każdego studenta politechniki. Niestety, student nie posiada środków, by zbudować taki sprzęt, lecz gdy skończy studia i rozpocznie karierę, jego możliwości się poszerzają. Projektanci z Evil Mad Scientist...
http://obrazki.elektroda.pl/4654572400_1... W projekcie dawkomierza wykorzystano czujnik БМ-20 - nic innego za sensowną kwotę nie udało się znaleźć. Urządzenie zaprojektowano na mikrokontrolerze Atmega 128, który jest zasilany akumulatorem litowym. Dawkomierz zawsze znajduje się w 1 z 3 trybów: Aktywny - ekran, dźwięk i/lub...
Każdy zapis ma wymagany czas. Chyba że urzywasz trybu stronicowego to tylko raz odmierzasz ten czas na stronę.
Uruchomi się - tak jak pisał kol. (at)dondu na wejściu masz układy Schmitta, czyli po przekroczeniu poziomu progowego nastąpi zmiana stanu. Problem w tym, że dla różnych egzemplarzy ATMega, czy różnych warunków, ten próg będzie nieco dryfował. Więc średnio to się nadaje np. do tego, aby odmierzać czas stałej RC.
Jeżeli w programie występuje konieczność odmierzania czasu ATmega musi mieć swój "zegarek" na którym będzie ten czas odmierzał. Tym zegarkiem jest Timer, natomiast funkcje typu delay() wstrzymują tylko wykonywanie programu.
Jeśli by to nie przeszkadzało to możesz podpiąć kwarc zegarkowy, wtedy na 8 bitowych licznikach na pewno zliczysz sekundę:)
Witam dopiero zaczynam przygodę z programowaniem mikrokontrolerów i mam pytanie odnośnie odmierzania czasu na uc atmega 16. Odmierzam czas przy pomocy timera1 kwarc 16MHz. Z obliczeń wynika, że przy preskalerze 1024 muszę odliczyć 15625 impulsów więc ładuję do timera wartość 49911 i wtedy uc odmierza mi około 4 sekund zamiast 1, natomiast gdy prescaler...
Jakie chcesz odmierzać odcinki tego czasu? Jeśli długie np 1h to atmega bez kwarcu będzie dość niedokładna, jeśli odcinki czasu mają być bardzo długie(12h) i ma je odmierzać bardzo dokładnie będziesz niestety musiał użyć jakiegoś RTC.
Witam dopiero zaczynam przygodę z programowaniem mikrokontrolerów i mam pytanie odnośnie odmierzania czasu na uc atmega 16. Odmierzam czas przy pomocy timera1 kwarc 16MHz. Z obliczeń wynika, że przy preskalerze 1024 muszę odliczyć 15625 impulsów więc ładuję do timera wartość 49911 i wtedy uc odmierza mi około 4 sekund zamiast 1, natomiast gdy prescaler...
Witam. Kolego źle wpisałeś dane to znaczy odwrotnie. A ma być tak: Load Timer0,144 (7372800 / 256) = 28800 28800 / 144 = 200Hz = 5ms 5ms * 200 = 1sek [syntax=basic4gl]Odmierz_1s: Load Timer0 , 144 Incr Licz_5ms If Licz_5ms = 200 Then Licz_5ms = 0 end if[/syntax]
Zobacz sbie mój temat. Tam zrobiłem odmierzanie na timerku działa bardzo fajnie tyle że dla 8 mhz. Pomnozysz sobie razy 2 te czasy i elegancko bedzie... Funkcja dl. i pamietaj iż mozesz zadeklarować wartości mieszczące się w char. [url=http://www.elektroda.pl/rtvforum/vi... MÓJ POST O DS Pozdrawiam domel.fm
Może tym jeżeli masz port LPT1: http://tfla-01.berlios.de
Witam, Chciałbym dowiedzieć się jak mogę łatwo przeliczyć preskaler i czas przerwać, tak abym mógł odmierzać czas na ATMEGA_32 16Mh Timerem1 oraz Timerem0. Z góry dzięki za pomoc. ----------------------------------------... (PS. Jestem początkującym użytkownikiem tego forum mimo, że od roku czasu jestem na nim zarejestrowany....
Połykanie półokresów wprowadzi składową stałą. Trzeba sterować poprzez wycinanie okresów. Ponieważ okres przy 50 HZ to 20 milisekund trzeba liczyć okresy ( w bardziej zaawansowanych układach). Myślę, że w mniej skomplikowanych wystarczy zmieniać czas załączenia poprzez odmierzanie Timerem wielokrotności 20 milisekund.
Kolego, chyba nie chcesz powiedzieć, że czas odmierzasz przez programowe opóźnienia? To jakiś koszmar. Szczególnie w procesorze, w którym masz do tego celu dedykowane timery. Co do 1-wire - po co programowo odmierzać czas, skoro ATMega, podobnie jak każdy procesor wyposażony w UART ma semi-sprzętową obsługę 1-wire? No i przydałoby się dodać jakieś podtrzymanie...
Chyba nie mówisz, że nie masz zaimplementowanej obsługi watchdoga w systemie? Wyobraź sobie sytuację że program gdzieś pójdzie w maliny - jak zachowa się wtedy Twój alarm? Kopanie pieska musisz dobrze przemyśleć przy fazie projektowania programu - dodanie tego na samym końcu projektu może się już nie udać. Pozdrawiam, Krzysztof
Twoje obliczenia są (z grubsza) OK, jednak w mikrokontrolerze ATmega328 rejestr TCCR0A nie posiada bitów CS00 oraz CS02. Bity te znajdują się w rejestrze TCCR0B. Notabene, bitów WGM0n nie musisz zerować. W trakcie Power on Reset zostają one ustawione na wartość 0. Zerowanie może być konieczne tylko wtedy, kiedy wcześniej sam ustawisz je na wartość...
To jest przyklad tego jak mozna obsluzyc DS1820 przez mega 8 ale jest tam tez obsluga wyswietlacza w C.Moze sie pryda.Sam to dostalem od jednego kolegi z forum:-) wiec mam nadzieje ze sie nie obrazi...mnie interesowal DS. Pozdrawiam Maciek! #include <avr/io.h> #include <avr/pgmspace.h> #include <stdlib.h> #include <ctype.h> #include...
Twój problem nie wynika z priorytetu przerwań tylko braku umiejętności prawidłowego ich wykorzystania i zastosowania biblioteki która jest źle napisana . Zazwyczaj dzieje się tak gdy użytkownik w przerwaniu umieszcza całą procedurę obsługi bufora , wyświetlacza lub innych peryferii lub po prostu timer odmierza krótszy czas niż trwa obsługa przerwania...
To teraz troszkę mi namieszałeś, ATmega 16 ma ICP1 przy nóżce Timera 1, ja odmierzam impulsy 2-ch sygnałów... Co do sposobu zliczania impulsów za pomocą T0/T1 to po co używać 3 timer do odmierzania okresu czasu. Przecież okres jest odmierzany na przemian. Gdy T1 zlicza impulsy obrotomierza to T0 odlicza okres, po tym okresie T0 zaczyna zliczać impulsy...
Witam :) Jako ze jest duzo pytan na forum na ktore odpowiedz padla, postanowilem ze zbiore choc troche postow do kupy, tematy dotycza glownie AVR, bo z ARMow jeszcze nie czuje sie na tyle na silach zeby robic FAQa ;) Mam nadzieje ze sie komus przyda :) Niby FAQ jest, ale dla mnie jakoś malo czytelny i chyba nikt go juz nawet nie aktualizuje ;) Jesli...
To chyba zły pomysł. Po pierwsze, taki potencjometr pracuje dla napięć 3/5 V, i nie nadaje się do pracy w układzie z U2008. Jeśli regulacja PWM nie działa jak należy, po trzeba ją po prostu poprawić i zrobić dobrze, zamiast wymyślać takie kombinacje. Jeśli żarówka sterowana PWM miga, to najprawdopodobniej jest problem albo z wykrywanie przejścia zasilania...
Czyli w moim przypadku , raczej opcja pierwsza prawda ? Możnaby przekombinować , odmierzać 16-bitowym i wykorzystać dwa PWM'y dwóch timerów no ale ...
Dla kwarcu 4MHz jest to prescaler 64 i początkowa wartość licznika: 193 Dla kwarcu 8MHz prescaler to: 64 i początkowa wartość licznika: 131 To pokazuje kalkulator. Chciałoby się zakrzyknąć : a nie mówiłem :-P Aby wpisać do Timer2 początkową wartość, to używamy poleceń: TCNT2=początkowa_wartosc Timer2= początkowa_wartosc Counter2=początkowa_wartosc...
Witam. Przygotowałam taki schemat sterowania diodą RGB i zastanawiam się czy ma szansę zadziałać. Urządzenie zasilanie bateryjnie (lipoly 3.7V) Mikrokontroler: ATmega168PA zasilany 1.8V dioda LED RGB (sztuk: 1). Driver LED: najbardziej to bym chciała TCA6507 (również zasilany z 1.8V), ale nie widze go w żadnym polskim sklepie. N-MOSFET: irll024n (próg...
Sam widzisz, że musisz odmierzać czas. Każdy projekt z mikrokontrolerem zaczyna się od przerwania timera. Bez tego nie da się zrobić prawie nic.
Kod wydaje sie ok, przy czym moje walki z odmierzaniem czasu mowia ze trzeba brac poprawke na Bascoma /i to duuuza/. Sprawdzilem pod symulatorem (Bascom) i program dziala, w realnym procku pewnie czasy sie rozjada.
Nie wiem, czy dobrze zrozumiałem, ale wydaje mi się to proste. 4000000/64=62500 62500/625=100 Chyba że atmega8 nie ma preskalera przez 64, lub musi on być ustawiony na 256.
atmega odmierzanie odmierzanie czasu atmega atmega odmierzanie czasu
stacjonarna liteon ustawienie transportera łucznik kondensator pralki gracja
sterownik pieca bateria macallister
Optymalne ciśnienie i temperatura dla pieca Junkers Samsung Galaxy A15 SM-A155 SM-A156 Schematic Request and Hardware Fault Diagnostic Guide