Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 17 gru 2018, o 16:44


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 23 sie 2018, o 11:33 
Offline
Nowy

Dołączył(a): 09 wrz 2016
Posty: 20
Pomógł: 0

Wita serdecznie :)
Postanowiłem ostatnio zrobić drobne sterowanie na podczerwień .
Pilot 4 przyciski (Attetiny2313), odbiornik podstawowe funkcję coś włącz coś wyłącz (Atmega32).
Przechodzę do tworzenia podstaw komunikacji , pilot na płytce stykowej i odbiornik testowy na zestawie ATB .
Wykorzystuje kody z Niebieskiej Książki.

Gdy już wszystko podłączyłem , kod został przepisany i zmodernizowany do pinów próbujemy.
Fajnie wszystko działa myślę sprawdzę zasięg pilota , podpinam baterie no i coś jednak tak fajnie nie działa szukam kombinuje
filtrowania są , napięcia się zgadzają , wszystko łączy .
Po kilkudziesięciu minutach coś znalazłem wpinam programator wszystko działa nie ważne z czego podpinam zasilanie lecz gdy odłączę linie programatora program się nie wykonuje.

Reset podciągnięty R10k . Wpinam MISO/MOSI/SCK wszystko działa .
Odłączam programator od USB sprawdzam pilot dalej nadaje.
Odpinam kabel KANDA od programatora (wiec w Attetiny zostają już tylko 3 przewody z KANDA (MISO/MOSI/SCK)
reset jest zewnętrznie podciągnięty i zasilanie z zasilacza regulowanego. Pilot dalej działa choć nie za każdym razem
Odpinam (MISO,MOSI,SCK) i nie działa wcale .

Kabel KANDA niema zwarć , sprawdzałem na dwóch uC i przez dwa programatory i sytuacja jest ta sama ,
wejścia przycisków przerzuciłem na inne piny żeby nie kolidowały z liniami programatora ale problem nie znikł.

Nigdy mi się taka sytuacja nie zdarzyła zawsze wszystko się wgrywało odpinałem programator i wszystko śmiga .
Może coś przeoczyłem , Jeśli ktoś miał podobna sytuację lub ma jakiś pomysł co jest nie tak
będę bardzo wdzięczny za wszystkie podpowiedzi . :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2018, o 11:53 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 1644
Pomógł: 78

Przede wszystkim to wstaw zdjęcia i na nich krótko opisz - typu "czasami działa", "nie działa" itd., będzie to dużo bardziej czytelne oraz pozwoli wyłapać problemy (jeśli są) z Twoim fizycznym układem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2018, o 14:17 
Offline
Nowy

Dołączył(a): 09 wrz 2016
Posty: 20
Pomógł: 0

Proszę bardzo poniżej podsyłam zdjęcia i schemat w eaglu

Obrazek

tak nie działa

Obrazek

1- diody z rezystorami podpięte do VCC
2- tranzystor PNP i rezystor 2,2k
3-reset z programatora
4-wtyczka z SPI (MOSI/MISO/SCK) "teraz wypięta i układ nie działa"


a tu 2 zdjęcie gdy wtyczka wpięta i układ działa
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2018, o 14:49 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 23771
Lokalizacja: Szczecin
Pomógł: 897

McsQ napisał(a):
4-wtyczka z SPI (MOSI/MISO/SCK) "teraz wypięta i układ nie działa"

a we wtyczce kanda masz tylko te trzy sygnały ? nie mylisz się? o resecie zapomniałeś ? a zasilanie ?

masz gdzieś masy porozłączane albo pozwierane jakieś sygnały

McsQ napisał(a):
2- tranzystor PNP i rezystor 2,2k

a na schemacie masz NPN

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2018, o 16:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 772
Lokalizacja: Trójmiasto
Pomógł: 141

Powiem Ci tak - na stykówce niestety tak będzie. I nie mówię tego złośliwie lub by negować stykówki. Też kiedyś się bawiłem projektem pilota (ten z BB) i niestety na stykówce trzeba było nieco kod zmodyfikować by dobrze działało. Powodem są prawdopodobnie pojemności jakie wprowadza sama stykówka (pomijam już kwestię słabego kontaktowania połączeń jakie zazwyczaj występuje na stykówkach). Gdy przyciskasz przycisk, procek się wybudza i natychmiast zmienia konfigurację pinów, a następnie bada który przycisk jest wciśnięty. I niestety pojemności jakie wprowadza stykówka powodują że gdy procek zaczyna badać który przycisk jest wciśnięty, to stany na tych pinach nie są jeszcze ustalone. Dodanie odpowiednich opóźnień w programie załatwia sprawę.
Powyższe jest jedynie moją dedukcją którą wywnioskowałem na podstawie obserwacji i doświadczeń ze zmianami w kodzie, więc nie gwarantuję głową że na 100% to jest przyczyną, ale dodane opóźnienia spowodowały że układ zaczął działać stabilnie.
Ten sam układ zmontowany na zaprojektowanej płytce PCB działa beż żadnych opóźnień bezbłędnie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2018, o 19:29 
Offline
Nowy

Dołączył(a): 09 wrz 2016
Posty: 20
Pomógł: 0

Przepraszam za błąd w schemacie faktycznie schemat jest od NPN moja wina .
Dziękuję wszystkim za podpowiedzi.
Jutro z rana wstanę rozmontuje układ i zrobię go jeszcze raz bardziej przejrzyście na krótkich przewodach w ostateczności zrobię pcb i dam znać czy się coś poprawiło



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sie 2018, o 09:17 
Offline
Nowy

Dołączył(a): 09 wrz 2016
Posty: 20
Pomógł: 0

Rozłączyłem dzisiaj układ i pospinałem o wiele czytelniej (zdjęcie poniżej)
I dzisiaj myślałem już że błąd w kodzie wiec wgrałem orginał z książki i problem jest ten sam
ale coś zauważyłem.

Na zdjęciu widać czarny kabelek wiszący luzem jest on wpięty do PB6 co odpowiada w kodzie
KEY5 i gdy go dotknę palcem uC działa poprawnie lecz gdy wisi luzem już nie , podpinanie go przez rezystory do GND czy VCC nic nie daje wpięcie wszystkich 5 przycisków też nie pomaga .

A teraz najlepsze :) jak zmienię KEY5 np. na PB7 to już nie działa jak wcześniej tylko muszę dotknąć kabelek na PB7
haha

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sie 2018, o 14:01 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 23771
Lokalizacja: Szczecin
Pomógł: 897

Wkładanie takich microswitchy przewlekanych w stykówkę - to po prostu ;) no nie obraź się ale - mistrzostwo świata, a na poważnie to nie dziw się, że raz ci styka wtedy a raz nie.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sie 2018, o 17:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 772
Lokalizacja: Trójmiasto
Pomógł: 141

McsQ napisał(a):
Rozłączyłem dzisiaj układ i pospinałem o wiele czytelniej
Pisałem CI już że nie w czytelności problem ale w samej stykówce.
Widziałeś kiedyś jak zbudowana jest stykówka w środku? Wzdłuż każdej kolumny są zagięte blaszki. Blaszki są poukładana równolegle a pomiędzy nimi jest izolator.
A znasz definicję budowy kondensatora? "Kondensator – element elektryczny (elektroniczny), zbudowany z dwóch przewodników (okładek) rozdzielonych dielektrykiem." (Źródło: wikipedia) Widzisz podobieństwo?
To teraz wyobraź sobie że pomiędzy nogami procesora są takie małe kondensatorki. Gdy wciskasz przycisk, który dodatkowo siedzi w stykówce na słowo honoru, procek się wybudza zmienia konfiguracje i stany na pinach i bez żadnego opóźnienia sprawdza czy jakikolwiek klawisz wciśnięty. Problem w tym że te kondensatorki pomiędzy pinami za które odpowiedzialna jest stykówka muszą zostać przeładowane - oczywiście ich pojemność jest mała i w związku z tym czas ich przeładowania jest niewielki ale procek jest taktowany jeśli dobrze pamiętam 8MHz więc pomiędzy zmianą stanu pinów a badaniem stanu przycisków odstęp jest na tyle mały że stan na tych pinach się nie zdąży ustalić więc program nie zauważy wciśniętego przycisku i procek wraca spać.
W moim programie z czasów testu wystarczyło dodać opóźnienie rzędu 1us (tak mam obecnie w projekcie zapisane ale nie dam głowy czy faktycznie była to już wartość przy której wszystko działało poprawnie - bawiłem się tym dawno temu) przed ifem sprawdzającym czy któryś przycisk wciśnięty i program wtedy działał poprawnie.
Więc albo zmodyfikuj program, albo zmontuj to na zaprojektowanej płytce PCB wtedy program zadziała w formie niezmienionej (ścieżki na płytce pcb mają grubość liczoną w mikrometrach więc nawet jak są poprowadzone równolegle do siebie to powierzchnie boczne dwóch sąsiednich ścieżek są znacznie mniejsze w porównaniu do powierzchni blaszek w stykówce więc i pojemności obwodu drukowanego są duużo mniejsze i w tym wypadku nie wpływa to na działanie programu).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sie 2018, o 20:38 
Offline
Nowy

Dołączył(a): 09 wrz 2016
Posty: 20
Pomógł: 0

Dobra xentis przekonałeś mnie ( i tak wiem co to kondensator :) ) ale pojemność stówki w sumie nie brałem pod uwagę za małe doświadczenie ale kto pyta nie błądzi . Zaprojektuje już całego pilota tak jak ma być skoro mówisz że ma działać postaram się zrobić w następnym tygodniu i zdać relację .



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sie 2018, o 21:01 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 23771
Lokalizacja: Szczecin
Pomógł: 897

Ja ci polecam zmontować sobie jakiś chociaż MINI własny zestawik uruchomieniowy do testów na jakimś procku - z kilkoma często używanymi peryferiami i porządnym zasilaniem, kilkoma klawiszami itp ... i na tym rób prototypy - a jak będą działać to wtedy bierz się za projektowanie płytki PCB - bo tą metodą stracisz mnóstwo czasu i pieniędzy - a i tak i tak - za jakiś czas stwierdzisz - że warto mieć nawet jakąś własną mini platformę uruchomieniową a nie zawsze wszystko na stykówce.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Bing [Bot] i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO