Hallo,
bin neu im Thread und wollte den Konverter für einen Freund zum Laufen bringen, was nach intensivem Studium des Threads nach einigen Tagen dann auch endlich gelungen ist. Vielleicht helfen meine Erfahrungen dabei dem einen oder anderen noch ein wenig weiter. Probleme gab es unterwegs genug.
Meine Hardware: HFMG-2 und Arduino Pro Mini 3.3V, 8 MHz. PC läuft unter Win10. Arduino-Version: 1.8.13
Taranis x9d+ SE (alte Version). Anschluss des Konverters ausschließlich über die Pins im Modulschacht (also TX des Konverters auf S.Port-Pin ganz unten im Eck des Modulschachts.
Telemetry-Protokoll ist auf "FrSky D" eingestellt (nicht auf ...Cable, da ja der Pin im Modulschacht benutzt wird, nicht der im Batteriefach).
Nachdem sich Reinhards Firmware (die Version Konverter_8mhz_mit_IDs.hex bzw. _ohne_) zunächst per Serial-Adapter über den Arduino-Bootloader auf dem Pro Mini mittels
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude" -C"C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -patmega328p -carduino -PCOM8 -b57600 -D -Uflash:w:"C:\Users\3one5\Modeling\Mpx\MLinkFuerOpentx\Konverter_2018-04-10\Hex Files\Konverter_8mhz_mit_IDs.hex":i
flashen ließ, sahe es erst einmal gut aus. Die Led blinkte langsam, das M-Link-Modul lieferte brav Daten.
Aber: Der gleiche Fehler wie bei Andreas. Es kamen keine Telemetriedaten im Sender an. Messung mit dem Oszi ergab, dass der Konverter einen dauerhaften 3.3V-Pegel statt des FrSky-D-Protokolls ausgibt.
Lösung wie bei Andreas:
Pro Mini als ISP-Programmer
Wobei bei mir ein Arduino Nano als ISP-Programmer verwendet wurde, was aber im Prinzip nur ein Arduino Pro Mini mit einem auf dem Board bereits vorhandenen USB-nach-Seriell-Umsetzer ist.
Ergänzend waren noch die Infos auf diesen beiden Seiten hilfreich:
Arduino Nano als ISP-Programmiergerät (dort findet sich auch die Verdrahtung zwischen Arduino Nano (Programmer) und Arduino Pro Mini (Zielsystem) und
Flashen eines Arduino Nano (dort sind die Einstellungen der Arduino IDE recht gut erläutert).
Damit habe ich den optiboot-Bootloader auf das Pro Mini flashen können. Hierzu muss man in der Arduino-IDE folgendes einstellen:
also nicht "Pro Mini", sondern "Nano", sonst bekommt man wieder den falschen Bootloader. Dann Burn Bootloader ausführen.
Anschließend wurde wieder mit der oben angegebenen Befehlszeile mit dem an das Pro Mini am M-Link-Modul angeschlossenen USB-nach-Seriell-Umsetzer die Firmware von Reinhardt aufgespielt. Und nun funktioniert der Konverter!
Herzlichen Dank an alle im Forum, die ihre Erfahrungen weitergegeben haben! Vor allem an Reinhardt, Kalle und Andreas. Ohne diese Hilfe wäre das nix geworden.
Vielleicht noch ein Gedanke zur Thematik ProMini 5V/16MHz gegenüber 3.3V/8MHz. Wenn man die 5V-Version verwendet, wird mit einem 5V-Pegel auf den S.Port-Pin (oder den seriellen Eingang im Batteriefach) geschrieben. Der Prozessor, bei dem dies ankommt dürfte aber mit 3.3V-Pegeln arbeiten. Das wird dem Pin auf die Dauer nicht gut tun (außer er ist tatsächlich bei 3.3V Betriebsspannung für 5V-Signale zulässig). Daher habe ich auch die 3.3V-Version verwendet.
Wenn man die 5V-Version benutzt, sollte man, denke ich, einen Widerstand zwischen den TX-Ausgang des Pro Mini und den Eingang (S.Port, serieller Anschluss im Batteriefach) einfügen. Ich würde zumindest 1kOhm vorschlagen, aber höher wäre noch sicherer, sofern die Sache damit noch funktioniert. Dann spricht zwar die ESD-Schutzdiode am Eingang des Prozessors noch immer an (dürfte wohl direkt der STM32 im Sender sein), aber der Strom wird zumindest begrenzt.
Markus