OpenTX - Multiplex MLINK Konverter

kalle123

User
Natürlich Reinhardt ;)
VfGrFwPl.png


Aber ich glaube, das HFMG3 Modul von Andreas ist nicht ok.

@Andreas. Wenn du hier
5nFASJml.png


5V drauf gibst, werden am 3. Pin Signale ausgegeben. Wenn du irgendwie Zugang zu nem Oszi hast??

cu KH
 

elral

User
Hallo zusammen,

ein "einfacher" und "kleiner" Nachbau ließ mir dann doch keine Ruhe und ich habe mich diese Woche dann mal daran gemacht, den Konverter auf den schon mal angesprochenen Wattuino Nanite 841 anzupassen.
Der Nanite ist in der Tat sehr schön klein, und über den bereits aufgespielten Bootloader per USB einfach zu programmieren. Den erforderliche Treiber und das Programm zum aufspielen von HEX Files kann man bei Watterott herunter laden, das war bei mir völlig problemlos. Die Überraschung war aber, das es mal funktioniert hat, meistens aber nicht. Bis mir dann wieder eingefallen ist, das bei einem PullUp Widerstand am M-Link Anschluss beim Einschalten des HF-Modul keine Daten gesendet werden (wenn es mal funktioniert hat, hatte ich den Nanite erst später angesteckt). Und genau an dem erforderlichen Port des Nanite841 für den M-Link Anschluß hängt auch der D- Anschluß vom USB Port mit einem PullUp Widerstand. Nach entfernen des Widerstandes lief dann alles. Aber der Nanite springt dann nicht mehr in den Bootloader. Für eine Aktualisierung der Software muss dann wieder ein "externer" PullUp Widerstand angeschlossen. Glücklicherweise kann das über die Lötpins erreicht werden.

Um das zu umgehen, müßte man die Routine zum einlesen der M-Link Daten ändern (Verzicht auf INT0). Machbarkeit und Aufwand kann ich nicht abschätzen, ist auch die Frage ob es noch Bedarf gibt. Leider kann ich mich auch nicht mehr daran erinnern, warum die M-Link Daten nicht über den UART eingelesen werden können. Den entsprechenden Beitrag hier habe ich noch nicht wieder gefunden.
Wenn jemand trotzdem Interesse daran hat, kann ich das HEX File (ohne FRSKY ID's, mit ID's müßte ich noch testen) gerne zur Verfügung stellen. Die geänderten Sourcen schicke ich gerne Reinhard zu.

Ansonsten im Anhang noch Bilder um einen Größeneindruck zu bekommen. Rot/schwarz/orange geht zum Telemetrie Anschluß am HF-Modul (einfach einstecken), weiß bei mir zum S.Port Anschluß (kann auch zu einem seriellen Anschluß gehen).

Viele Grüße

Ralf

Nanite841.jpg
Nanite841_R.jpg
Nanite841_M.jpg
 

kalle123

User
Hallo Ralf, du hast den source Code (post#822) von Reinhardt angepasst auf ATtiny841, wenn ich recht verstehe?

So was ist weit außerhalb meiner Fähigkeiten ;)

Interessant, aber ich bleib beim Pro mini. Die Dinger sind mir klein genug.

Grüße KH
 
Hallo zusammen,

ich hatte auch schon mal begonnen, den Konverter auf den ATtiny841 zu portieren.
Leider musste ich dann in Post #917 hier im Thread folgendes schreiben:

Und nun zu den schlechten Nachrichten:
Ich habe mir heute mal das Schaltbild des von mir weiter oben verlinkten Nanite 841 Boards angeschaut.
Leider hat dieses Board keinen Quarz, sondern nutzt den internen Oszillator des Mikrocontrollers.
Dieser hat aber ab Werk nur eine Genauigkeit von 2%, das ist zu ungenau, um einen SW UART mit 115,2 kBd zu realisieren.
Das Nanite Board scheidet damit für den Konverter aus.


Die M-Link Daten können deshalb nicht über den HW UART eingelesen werden, weil man die hohe Baudrate bei 16 MHz Taktfrequenz nicht fehlerfrei verarbeiten kann, daher der SW UART.
 

elral

User
Hallo zusammen,

@kalle123,
ja, das habe ich auf den ATtiny841 angepasst.

@Reinhardt Werbik,
2% Genauigkeit reicht doch i.d.R. für einen UART. Bei Deinem SW-UART würde doch sogar noch eine größere Ungenauigkeit möglich sein, da "nur" einmal in der Mitte eines Bits der Zustand abgefragt wird. Und die erste Mitte hattest Du ja ausgetestet. Damit sollten sogar ~5% Abweichung möglich sein (7% beim Empfänger minus 2% beim Sender).
Bei mir läuft er auf jeden Fall durch (ja ich weiß, ist kein gutes Argument ;) ).

Viele Grüße

Ralf
 
Hallo Ralf,

eigentlich hast Du recht, 2% Abweichung sollten eigentlich tolerabel sein, zumal es sich ja um keine sicherheitsrelevante Anwendung handelt.
Ich kann mich gar nicht mehr erinnern, warum ich damals dachte, das wäre nicht gut genug.
Na dann werde ich wohl nächstes Jahr das ATtiny841 Projekt ausgraben und mal schauen, inwieweit das schon fertig war.
Schließlich habe ich ab März deutlich mehr Zeit, ratet mal warum. ;)

Gruß
Reinhardt
 

kalle123

User
Hi ihr beiden :)

Denke, wir bewegen uns mit dem ATtiny momentan etwas von nem Konverter für 'Normalsterbliche' weg.

War eigentlich froh, wie Andreas hier auf schlug und auch zügig ans Werk ging. Hex aufspielen 'Methode einfach' ging und die Löterei sah gut aus. Nur irgendwas ist dann mit seinem HFMG3 Module passiert.
Hoffe, Andreas meldet sich noch mal hier .....

Aber jetzt zurück zum ATtiny 841, aus Interesse. Am Nanite ist ja nicht viel dran.
https://github.com/watterott/Wattuino/blob/master/hardware/Wattuino-Nanite841_v10.pdf
Hauptsächlich die USB Schnittstelle. Außer C1 scheint mir der Rest entbehrlich, wenn der hex Code einmal drauf ist. (Bin ja nicht vom Fach, also bitte nicht schlagen.)
Warum nicht einen DIL 841 nehmen, unbenutzte Beinchen abzwicken und die Strippen direkt anlöten, nach dem der hex Code drauf ist?

Gruß KH

PS. Reinhardt, bei der BW hatten wir in den letzten Tagen der Dienstzeit ein Maßband. Hast du so was auch und reißt immer schön einen Zentimeter ab? :D
 
PS. Reinhardt, bei der BW hatten wir in den letzten Tagen der Dienstzeit ein Maßband. Hast du so was auch und reißt immer schön einen Zentimeter ab? :D
Nö, habe ich nicht.
Ich hätte aber auch nicht gedacht, dass ich die letzten Monate meines Berufslebens hauptsächlich an meinem Wohnzimmertisch verbringe.
Denn in mein eigentliches Home Office kann ich meistens nicht, da von meiner Frau besetzt.

Ich habe gerade mal gestöbert, offensichtlich hatte ich die Portierung auf den ATtiny 841 damals sogar abgeschlossen.
Ich erinnere mich jetzt vage, dass ich für das Senden der Daten zum Sender einen der beiden HW UARTs benutzt habe.
Das benötigte invertierte Signal wurde dann per Pin Change Interrupt aus dem UART Ausgangssignal an einem anderen Port-Pin erzeugt.
Das Einlesen der M-Link Daten dann wie gehabt per SW UART, was vermutlich doch ausreichend genau ist.

Ich werde dann mal demnächst das alte Projekt wieder in meine aktuelle Arbeitsumgebung im Atmel-Studio zurückholen. ;)
 

elral

User
Hallo zusammen,

Kalle,
gerade den Nanite finde ich für "Normalsterbliche" geeigneter. Durch den bereits vorhandenen USB Bootloader ist das aufspielen der SW sehr einfach. Und auch der Anschluss an das HF-Modul durch Nutzung der 3,3V. Damit gingen dann nur noch ein Kabel zu einem seriellen Eingang oder dem S.Port.
Im DIL Gehäuse gibt es den ATtiny gar nicht, und dann würde ja auch noch der Bootloader fehlen. Damit ginge das ganze Gehampel mit dem aufspielen wieder los.

Reinhard,
mit dem HW-UART und einem Pin Change Interrupt ging mir auch schon durch den Kopf. Wichtiger wäre aber auf den INT0 zu verzichten, da gerade an dem Pin ein PullUp Widerstand hängt. Eigentlich sollte der INT0 doch durch einen Pin Change Interrupt ersetzbar sein. Da mache ich mir Anfang der Woche mal Gedanken drüber...
Ich kann Dir ja mal meine Änderungen für den ATtiny schicken, vielleicht ist bei mir ja noch ein unentdeckter Bug drin. Ein einer Stelle habe ich mich etwas schwer getan.

Viele Grüße

Ralf
 
Hallo Ralf,

den Pin Change Interrupt benutze ich für das Ausgangssignal zum Sender.
Dann kann man zum Senden den HW UART verwenden, bei den schlappen 9,6 kBd geht das problemlos mit 8 MHz Takt.

Der M-Link Eingang ist wie gehabt ein SW UART, der auf dem Externen Interrupt basiert.
Der externe Interrupt hat den Vorteil, dass man ihn auf eine beliebige Flanke einstellen kann.
Damit wird der Interrupt-Handler zur Detektion des Startbits sehr einfach.

Das Problem mit dem Pull-Up am M-Link Eingang hatten wir hier schonmal.
Das liegt daran, das das M-Link Modul einen Push/Pull Ausgang hat, daher stört hier ein externer Pull-Up.
Die Lösung besteht einfach darin, den Pull-Up des Controllers am M-Link Eingang zu deaktivieren.
 

elral

User
Hallo zusammen,

Kalle,
oh ha, ich hoffe Du kennst Dich mit ISP (in circuit programming) etwas aus und hast das Equipment. Das Video muss ich mir mal in Ruhe anschauen, heute wird das nichts mehr da ich gleich los muss. In den nächsten Wochen könnte allerdings genug Zeit dafür sein ;)

Reinhardt,
Das Problem mit dem Pull-Up am M-Link Eingang hatten wir hier schonmal.
Das liegt daran, das das M-Link Modul einen Push/Pull Ausgang hat, daher stört hier ein externer Pull-Up.
Die Lösung besteht einfach darin, den Pull-Up des Controllers am M-Link Eingang zu deaktivieren.
genau in diese Falle bin ich ja getappt. Das Nanite841 Bord hat am PB2(INT0) einen externen PullUp Widerstand (D- vom USB Anschluss). Den habe ich dann ausgelötet damit das HF-Modul Daten liefert. Allerdings funktioniert dann der Bootloader nur, wenn man dafür einen PullUp Widerstand wieder anschließt (das zweite Bild von mir oben). Schön ist anders...
Deswegen der Gedankengang auf den externen Interrupt zu verzichten und statt dessen einen Pin Change Interrupt an einem anderen Eingang zu benutzen.

Viele Grüße

Ralf
 
genau in diese Falle bin ich ja getappt. Das Nanite841 Bord hat am PB2(INT0) einen externen PullUp Widerstand (D- vom USB Anschluss). Den habe ich dann ausgelötet damit das HF-Modul Daten liefert. Allerdings funktioniert dann der Bootloader nur, wenn man dafür einen PullUp Widerstand wieder anschließt (das zweite Bild von mir oben). Schön ist anders...
Deswegen der Gedankengang auf den externen Interrupt zu verzichten und statt dessen einen Pin Change Interrupt an einem anderen Eingang zu benutzen.
Ups, das ist mir allerdings entgangen, habe es gerade im Schaltbild gecheckt.
Das geht so natürlich nicht, da habe ich ja wieder ein schönes C-Projekt, sprich Konverter für Nanite 841.
Mal schauen, wann ich mich da dran mache, vielleicht über Weihnachten.
 

kalle123

User
@Ralf

Funktioniert, BLINK ist drauf. :)

ATTINY841.jpg


Aber nochmal mach ich so eine Frickelei wie hier nicht, wollte nicht warten, bis die PCD boards aus Fernost hier ein trudeln .... :rolleyes:

ATTINY841a.png


Gruß KH
 

gruni

User
Hallo Kalle,

dat sieht ja aus wie ein Facehugger aus Alien, das Schmunzelmonster.
Coole Sache.
Grüsse und bleibt gesund, Gruni
 

elral

User
Hallo Kalle,
sauber gemacht! 👍
Solche Aktionen habe ich auch schon hinter mir, muss ich auch nicht mehr unbedingt haben. Deswegen hatte ich mir direkt den Nanite bestellt. Ich war auch schon am schwanken ob ich mir Einzelteile bestellen soll :)
Wenn Du magst kannst Du ja mal das anhängende HEX File aufspielen. Der M-Link Eingang ist PA0, der FRRSky Ausgang ist PA1. EIne Status LED kann an PA3 oder PB2 (ist die vorhandene auf dem Nanite) angeschlossen werden. Der Ausgang ist Low aktiv, die LED also an +3.3V.
DIe SW ist so geändert, dass sie nur einen Pin Change Interrupt benötigt. Der externe Interrupt INT0 ist entfallen. Gestern habe ich den Konverter mal fast den ganzen Tag durch laufen lassen. Eine Meldung das die Telemetrie verloren gegangen sein, kam kein einziges Mal (das war dann mal ein Vorteil vom HomeOffice ;) )

VIele Grüße

Ralf

P.S.: Wo hattest Du eigentlich den ATtiny841 gekauft? Ich habe den bisher nur bei CSD-Electronic gesehen.
 

Anhänge

  • Konverter_ATtiny841.hex.txt
    6,4 KB · Aufrufe: 111

kalle123

User
Hallo Gruni.

'same to you' :) facehugger war gut.

Hallo Ralf.

Werde mich an deine hex Datei mal versuchen, kann aber was dauern. ;)

https://www.ebay.de/itm/5x-Atmel-ATTiny841-SSU-im-SOIC-Gehäuse/311401137287?ssPageName=STRK:MEBIDX:IT&_trksid=p2057872.m2749.l2649

und hier gibt es die breakout boards dafür. Leider zu spät gefunden.

https://www.ebay.de/itm/5x-Breakout...482939?hash=item2ad43e5bbb:g:beIAAOSwPeBdeFni

Grüße KH

PS. Aber mal ne Frage hier in die Runde. Ich löte jetzt seit xx Jahren mit 60/40. Aber die offiziellen Quellen wollen mir als Privatmann so was nicht mehr verkaufen. REACH!!
icon_ochmann.gif

Mach jetzt mal einen Versuch hiermit

https://www.ebay.de/itm/250g-500g-1-0-5mm-Lötzinn-Lötdraht-Löt-mit-Flussmittel-Lötkolben-Lötstation-DHL/402251677821?ssPageName=STRK:MEBIDX:IT&var=672166628840&_trksid=p2060353.m2749.l2649

60/40 CF-10

Schon mal probiert dieses China Zeug??

Gerade gefunden, hier ist noch ne Quelle für die 841er

https://guloshop.de/shop/Mikrocontroller/ATtiny841-SOIC::117.html
 
Zuletzt bearbeitet:

kalle123

User
Ralf, so, dein hex ist drauf. (Flash.txt)

Nur, wenn ich mir dein Bild hier anschaue, gerate ich ins Schleudern ...

Bildschirmfoto_2020-12-16_15-02-47.png


Der Weisse -> FrSky PA1/D1

Der Gelbe <- MPX und ich seh im Bild oben PB1/D9

https://github.com/watterott/Wattuino/blob/master/hardware/Wattuino-Nanite841_v11.pdf

Du schreibst oben aber PA0 :confused:

Dann, liegen an dem von dir verwendeten MPX Modul 5V an? Beim HFMG3 hier sind das 3.3V. Oder fährst du da 3.3V nochmal über den LDO vom Nanite?

cu KH
 

Anhänge

  • Flash.txt
    3,9 KB · Aufrufe: 109

gruni

User
Hallo Kalle,

das Fixpoint links unten ist das bisher beste, das rechts unten das zweitbeste (bleifrei), das in der Mitte oben .... war ein Fehlkauf. Oder ich hab die passende Temperatur noch nicht gefunden.
Das Bleifreie ist für mich ne echte Alternative. Der TS100 kommt gut damit zurecht bei 380grad. Wundert mich zwar, aber was solls. Eigentlich brät das Zeug bei 400plus... Oder?

Das blöde ist, man sollte es halt nicht "mischen".

Ich hab mir jetzt mal eine Heissluftlötpuste geleistet, da muss ich noch testen, ich starte jetzt mal mit SMD. Mal sehen, ob das mit dem 100% bleifrei testen....
 

Anhänge

  • c179192b-1cac-4ee0-8103-b76c3f2384b8.jpeg
    c179192b-1cac-4ee0-8103-b76c3f2384b8.jpeg
    21,2 KB · Aufrufe: 97
Ansicht hell / dunkel umschalten
Oben Unten