Go Down

Topic: arduino Mega via bluetooth programmeren lukt niet (opgelost) (Read 543 times) previous topic - next topic

Luppie_L

Ik ben hier al een paar dagen (heel veel uurtjes) mee aan het stoeien maar het lukt me niet.
Doel is draadloos (bluetooth) HC-05 naar een arduino mega een programma uploaden.

Ik heb de volgende tutorials gedaan:
https://makezine.com/projects/diy-arduino-bluetooth-programming-shield/
https://www.instructables.com/id/Program-an-Arduino-Wireless-Over-Bluetooth/

er zitten wat verschillen de twee tutorials in zoals de 2k2 tussen tx hc-05 en rx arduino maar verder redelijk gelijk.
De AT commands in de hc-05 gedaan alleen zonder de AT+INIT want mijn modules geven dan een error(17). Maar bij AT+state zijn ze altijd INIZIALYSED dus waarschijnlijk niet nodig bij deze.

Pin 32 gesoldeerd met de 0.1uf en de weerstanden naar de RST van arduino. maar ook rechtstreeks de STATE pin op de HC-05 wel gebruikt naar RST. beide lijken de arduino wel te resetten bij een poging te laden via bluetooth.

Communicatie via serieel bluetooth naar USB en andersom gaat wel goed al valt USB wel eens uit en moet ik even opnieuw aansluiten. Ook via smartphone bluetooth naar arduino communiceren gaat prima.

Ik krijg alleen nooit een programma geladen in de mega via bluetooth. Na 10 pogingen geeft de IDE het op. Op USB serial geeft hij dan een rij blokjes geschreven via bluetooth dus er zit wel leven in.

dus tekst via de serial monitor heen en weer schrijven werkt prima.
Heb meerdere bluetooth modules geprobeerd, de verschillende rx/tx poorten van de mega geprobeerd, De command AT+POLAR=1,0 ook verschillende dingen geprobeerd, RX/TX draden gedraaid enz.

hier een printscreen met links een blink programma dat ik er in probeer te schieten via COM 13 bluetooth. Rechts op COM 17 de USB met een serial read/write loop om de communicatie zichtbaar te maken.



hier nog even het plaatje in het groot...
https://db3pap001files.storage.live.com/y4p4wwLK9VgwPPl8tTj68WJoS8EI-vdfnNMOZBtC3pi7W0hg4BYDsnX285TxpbMJ6NI3mMWh9v-CsMisZM7NkaGfiEejfxOsnzKHIHaJmnVi2RnGpsjxEiXqHeL-XHtg3AlqP6RiUrIQbHjv85xpPFt8Vraf-3gN05_grv5nLN_oEcjNKOUU_y7mR-Q0ULUxMdm/bluetooth%20usb%20test.jpg?psid=1&width=1280&height=725



MAS3

Hoi Luppie_L, welkom terug.

Ik kan de foto niet goed zien omdat het wat veel op een klein oppervlak is.
En de link (die pas werkt als je 'm kopieert en in je browser plakt) naar de foto leidt naar een Microsoft account waarvoor je op z'n minst moet inloggen bij Microsoft, en dat soort dingen doe ik niet om iemand op het forum te kunnen beantwoorden.
Makezine schijnt wel aardig te zijn, maar is mij  verder onbekend.
Instructables is gewoon de slechtste referentie die je kunt geven, een waardeloze site waar gasten beweren dingen voor mekaar te krijgen die gewoon onmogelijk zijn maar waar geen commentaar op de artikelen word geduld.


De blokjes op het terminal scherm zijn nog wel herkenbaar.
Je vertelt dat andere communicatie wel werkt, maar niet altijd even betrouwbaar.
Dan is de vraag hoe vaak het dan fout gaat.
Zulke blokjes staan voor karakters die niet af te beelden zijn op je scherm, en ze worden vaak veroorzaakt door een verkeerde instelling of door omgedraaide draden (met name bij een andere dan RS232 communicatie).
Maar dat laatste is onwaarschijnlijk, ook al omdat andere communicatie wel werkt.
Uploaden gaat volgens mij niet bij 9600 baud, ik meen te kunnen ontwaren dat dat in je terminal scherm is ingesteld.
Geen idee of je die upload snelheid in de IDE kunt instellen, maar ik kan me wel voorstellen dat de BT verbinding het niet op prijs stelt als die snelheid ineens verandert, en geen idee of je boven een bepaalde maximum snelheid uit komt.
Het lijkt mij dat als je een andere snelheid moet gebruiken, dat dit dan ook in de bootloader op je Arduino moet zijn ingesteld.
In dat geval heb je dus een andere, meer voor dit doel geschikte bootloader nodig.
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Luppie_L

Ik heb het vermoeden dat ik een te lange USB kabel gebruik en dat hij ook moeite heeft om dan de mega samen met de bluetooth module van voldoende spanning te voorzien. Met een extra voeding er aan gaat het al beter.

De tutorials lijken erg op elkaar en daar zou het zomaar vlekkeloos moeten werken zoals dat vaak gaat met dat soort dingen.

met de command AT+UART=115200 zou bluetooth de mega met deze snelheid moeten programmeren al lees ik nu ergens anders dat ze 57600 gebruiken alleen dan voor de boothloader van een pro mini.
Ook weer via instructables... https://www.instructables.com/id/Bluetooth-Serial-Adapter-for-Pro-Mini/

Als de USB online is werkt de communicatie wel vlekkeloos en stabiel en dan kan ik elkgeval tekst via de serial monitor terminal heen er weer sturen. Maar een upload via de bluetooth resulteert in 10 mislukte pogingen.

Ik zal nog maar eens wat verschillende snelheden proberen...

hier nog even een uitvergroting van de printscreen waar ik wat tekst heen en weer stuurde met de blokjes van een poging de mega te laden. Wanneer ik de draden omdraai van tx/rx komen er geen blokjes meer dus lijkt de lijn dood.


Luppie_L

aah potverdikkie het werkt!
ik werd op het juiste spoor gezet door:
Quote
1
The stock bootloader will accept the load of new programs on PE0(RX input) and PE1(TX output) (of the ATmega2560) just after reset. Note PE0/1 on the Arduino correspond to pins D0 and D1. Not D2 and D3. You could change the Boot loader if desired.
https://arduino.stackexchange.com/questions/1472/can-i-load-programs-through-the-rs232-pins

dit is serial port 0 en ik heb al die tijd poorten 1,2 en 3 geprobeerd op de mega maar de bootloader accepteert dus alleen nieuwe uploads via poort 0. Ergens in 1 van de tutorials op het verkeerde been gezet...

het is trouwens voor dit project. een 6dof robot arm waar het lastig is om een dikke usb kabel aan te hangen. Hier voor de mega gekozen omdat deze voldoende PWM uitgangen heeft om alles rechtreeks aan te sluiten.

Go Up