Witam, chciałbym się doradzić szanownych kolegów gdzie może być problem z odbiorem. Siedzę już nad tym kilka dni, włosy siwieją a mi już pomysły się skończyły
i co najgorsze nie wiem co może być przyczyną. Beznadziejny problem
. Wcześniej bawiłem się modułami A6 GSM. Postanowiłem się przerzucić na "lepszy" model czyli SIM800. Wykonałem PCB, napięcie zasilania 3,8 V dla SIM i AVR. Konwerter napięć na rezystorach zgodnie z notą. 1k między TX(SIM)<->RX(AVR). Biblioteka do obsługi UART pana Mirka36 wiec 99% nie ma co tam szukać.
Problem jest taki, że atmega nie odbiera wiadomości od modułu i nie mogę zlokalizować dlaczego ;(
Napisałem krótki programik, który wysyła komendę AT+CCALR? Moduł ma odpowiedzieć +CCALR: 0 i odpowiada. Sprawdzałem przez serial monitor podłączony bezpośrednio do nóżki RXD, później przez analizator stanów logicznych i też pięknie odczytuje. Napisałem kolejny króciutki programik, który wysyła odpowiedź +CCALR:0, podmieniłem SIM na płytę prototypową, aby sprawdzić czy na pewno nie skopałem coś w programiku do odbioru. AVR ożył i zaczął radośnie migać diodką. Myślę może coś z napięciami stanów. Postanowiłem sprawdzić przy jakim poziomie napięć TX AVR przestanie reagować na odbierane dane. Wyszło coś około 2 V, a napięcie SIM TX to 2,8 V, wiec z dużym zapasem. W ramach desperacji podłączyłem konwerter napięć. Też nic nie pomogło.
W skrócie, podłączając do pinu AVR RXD, serial monitor, analizator, arduino uno z włączonym serial monitor, wszystkie te sprzęty odczytują dane czyli wspomniane +CCALR: 0.
AVR na PCB z SIM nie widzi tych danych. Na płycie prototypowej EVB5 skleciłem serial monitor, aby wyświetlał co odbiera na LCD i też nie odczytuje. Tak jak mówiłem beznadziejny przypadek, nie ma się czego czepić? Proszę o poradę i stawiam DUŻE PIWO dla tego kto rozwiąże tę zagadkę. No chyba, że ten 1% ale chyba nie pan Mirek...
Problem jest taki, że atmega nie odbiera wiadomości od modułu i nie mogę zlokalizować dlaczego ;(
Napisałem krótki programik, który wysyła komendę AT+CCALR? Moduł ma odpowiedzieć +CCALR: 0 i odpowiada. Sprawdzałem przez serial monitor podłączony bezpośrednio do nóżki RXD, później przez analizator stanów logicznych i też pięknie odczytuje. Napisałem kolejny króciutki programik, który wysyła odpowiedź +CCALR:0, podmieniłem SIM na płytę prototypową, aby sprawdzić czy na pewno nie skopałem coś w programiku do odbioru. AVR ożył i zaczął radośnie migać diodką. Myślę może coś z napięciami stanów. Postanowiłem sprawdzić przy jakim poziomie napięć TX AVR przestanie reagować na odbierane dane. Wyszło coś około 2 V, a napięcie SIM TX to 2,8 V, wiec z dużym zapasem. W ramach desperacji podłączyłem konwerter napięć. Też nic nie pomogło.
W skrócie, podłączając do pinu AVR RXD, serial monitor, analizator, arduino uno z włączonym serial monitor, wszystkie te sprzęty odczytują dane czyli wspomniane +CCALR: 0.
AVR na PCB z SIM nie widzi tych danych. Na płycie prototypowej EVB5 skleciłem serial monitor, aby wyświetlał co odbiera na LCD i też nie odczytuje. Tak jak mówiłem beznadziejny przypadek, nie ma się czego czepić? Proszę o poradę i stawiam DUŻE PIWO dla tego kto rozwiąże tę zagadkę. No chyba, że ten 1% ale chyba nie pan Mirek...
