HC05 jako programator BLUETOOTH problem

Masz problem, z którym nie możesz sobie poradzić? Pisz śmiało!
ODPOWIEDZ
hertzh1
Majsterkowicz
Posty: 62
Rejestracja: 29 sty 2014, 12:23

HC05 jako programator BLUETOOTH problem

Post autor: hertzh1 » 2 mar 2016, 00:53

Witam

Zainspirowany jednym z ostatnich artykułów na majsterkowie wpadłem na pomysł, aby zrobić programator bluetooth na przykładzie arduino as ISP. Najpierw sprawdziłem czy koncepcja zadziała na przejściówce USB -> UART, i bez żadnych problemów, zadziałało od razu. Podłączyłem moduł bluetooth i niestety nie działa odpowiedzi

Kod: Zaznacz cały

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_getsync(): not in sync: resp=0x30
testowałem różne prędkości dla bluetooth standardową 9600, 115200 i nadal nic.
Wnioskuję, że moduł działa, bo podpięty do UART pozwala widzieć to co wpisuje się w jednym terminalu na drugim.
Do testów używałem Arduino UNO (jako programator) oraz gołej atmegi328p z wew taktowaniem 8MHz

Już nie wiem jak można inaczej to zrobić

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


hertzh1
Majsterkowicz
Posty: 62
Rejestracja: 29 sty 2014, 12:23

Re: HC05 jako programator BLUETOOTH problem

Post autor: hertzh1 » 7 mar 2016, 01:04

Może moderator mnie nie zbanuje za pisanie we własnym poście...

Prędkość jaką należy ustawić dla bluetooth to 19200...

Przy czym zauważyłem pewną zależność. O ile ta prędkość jest poprawna, dla fabrycznych płytek (klon mini pro, klon UNO), to niestety np. dla czystej atmegi bez bootloadera (tylko ustawione FUSY) nie działa nawet na zewnętrznym kwarcu 16MHz, nie udało mi się też odpalić na złożonej własnoręcznie płytce SUNDUINO, nawet z wgranym bootloaderem UNO.

Pojawił się inny problem, po wgraniu kompilator sypie błędami, a płytka aby program się wykonywał wymaga wciśnięcia reset. Czy jest jakiś sposób, aby po zakończonej transmisji do arduino as ISP któryś pin przyjmował stan wysoki??? Można by było wtedy spokojnie resetować tranzystorem.
stiven
Złota rączka
Posty: 1629
Rejestracja: 13 maja 2014, 08:47
Lokalizacja: Zielona Góra

Re: HC05 jako programator BLUETOOTH problem

Post autor: stiven » 7 mar 2016, 11:11

Łączysz masy bluetootha i atmegi? Prędkość tych HC05 można zmieniać.
hertzh1
Majsterkowicz
Posty: 62
Rejestracja: 29 sty 2014, 12:23

Re: HC05 jako programator BLUETOOTH problem

Post autor: hertzh1 » 8 mar 2016, 01:28

stiven pisze:Łączysz masy bluetootha i atmegi? Prędkość tych HC05 można zmieniać.
Dzięki za zainteresowanie, ale lekko nie na temat, bez połączenia mas nawet dioda na module by się nie zaświeciła, że o jakiejkolwiek transmisji nie byłoby mowy :)
Co do prędkości to już ustaliłem z jaką mam ustawić, czyli 19200 informacja stąd
https://learn.adafruit.com/arduino-tips ... arduinoisp
a dokładnie zastosowanie arduinoISP dla AVRdude

Kod: Zaznacz cały

avrdude -c arduino -p atmega328 -P COMPORT -b 19200 -U flash:w:filetoburn.hex

Problem nadal nie rozwiązany to konieczność manualnego/ręcznego/wymagającego bezpośredniego dostępu ZRESETOWANIA jednego z układów, tak jakby ArduinoISP zawieszało się po operacji "wgrywania" i zapomniało podać stan niski a następnie wysoki na PIN10.
stiven
Złota rączka
Posty: 1629
Rejestracja: 13 maja 2014, 08:47
Lokalizacja: Zielona Góra

Re: HC05 jako programator BLUETOOTH problem

Post autor: stiven » 8 mar 2016, 11:00

Zasilanie to zasilanie. Mi chodziło o sytuację jakby były osobne zasilania, wtedy trzeba połączyć masy. Bez wspólnej masy nie będzie działać transmisja.

Po wgraniu bootloadera komendą avrdude, działa już komunikacja atmegi z tym modułem? Czyli wychodziłoby na to, że tam ustawia się jako parametr maksymalną prędkość uartu, a arduino ide na jakimś niskim poziomie ją ustawia?

Programy do arduinoISP można znaleźć w internecie trochę zmodyfikowane, może byś musiał spróbować jakiś inny.
hertzh1
Majsterkowicz
Posty: 62
Rejestracja: 29 sty 2014, 12:23

Re: HC05 jako programator BLUETOOTH problem

Post autor: hertzh1 » 8 mar 2016, 21:41

Problem leży ewidentnie po stronie komubikacji bluetooth. Przy przejściówce uart USB przykład arduinoISP działał nawet na gołej atmedze bez kwarcu i bez możliwości programowania po UART tzw. Barebones. Problemy zaczynają się kiedychcę użyć bluetooth. Jedyna akceptowalna prędkość to 19200, a na dodatek nie działa na na niczym innym jak fabryczne płytki. Co do zmodyfikowanych arduinoISP to niestety w sieci jest tylko info, że należy zmienić czas "migania" diody heartbeat z 40 na 20, ale to musi dotyczyć starszych wersji bo już w 1.0.5 jest poprawny czas
stiven
Złota rączka
Posty: 1629
Rejestracja: 13 maja 2014, 08:47
Lokalizacja: Zielona Góra

Re: HC05 jako programator BLUETOOTH problem

Post autor: stiven » 8 mar 2016, 22:02

Aha, czyli udaje ci się programować arduino przez bluetootha przy tej jednej prędkości? Ale gołej atmegi już się nie udaje? To i tak sukces, ale ciekawe czemu nie udaje się. Masz reset podciągnięty przez rezystor do vcc.

Ja jakiś czas temu znalazłem jakiś zmodyfikowany arduinoISP, ale teraz wydaje mi się, że to był kod przystosowany dla arduino mega.

EDIT
Kurczę, ja już nie wiem co Ty właściwie robisz. Bo niby programujesz przez bluetootha korzystając z arduinoISP, ale arduinoISP nie korzysta z uartu.
hertzh1
Majsterkowicz
Posty: 62
Rejestracja: 29 sty 2014, 12:23

Re: HC05 jako programator BLUETOOTH problem

Post autor: hertzh1 » 9 mar 2016, 19:14

Nie do końca tak. Udaje mi się programować przez bluetooth jak programatorem jest arduino. Przez zwykły USB -> UART programatorem może być cokolwiek arduino lub goła atmega i wtedy niema znaczenia ustawienie prędkości. Każda płytka programująca się bezpośrednio przez USB posiada wbudowany USB -> UART dlatego aby bezproblemowo ją programować potrzebny jest bootloader. Chciałem zrobić programator na bluetooth, którym można programować wszystko od około 8MHz w górę
ODPOWIEDZ

Strony partnerskie: