Jump to content

wolleS

Members
  • Posts

    3
  • Joined

  • Last visited

Personal Information

  • Location
    Southern Germany
  1. Hallo Ian Den MCP2551 in THT gibts im Schnitt für'n Euro, also auch nicht arg viel mehr als dein MAX487. In der SMD Version ist der bestimmt noch billiger, aber die Augen, die Augen :cry: Ich habe den MCP bis 1Mb/s problemlos testen können. Ziel ist es, dass jeder Salve die DCS-Daten schickt und der Master nur an DCS weiterreicht. So ist es dem Master egal, wer was am Bus sendet. Die Firmware muss dann auch nur am jeweiligen Slave gepflegt werden. Das Binärprotokoll wäre natürlich perfekt dafür:thumbup: Wie schon oben erwähnt, die Modul-Funktion ist noch im werden, die ersten Versuche im Labor sind jedoch sehr vielversprechend. Der Fokus liegt aktuell auf der finalen Master-Version und einer hoffentlich für jeden verständlichen Klassen-Lib die dann Master und Slave abdecken kann. cu, Wolle
  2. Hier noch schnell ein paar Einblicke in unsere kleine Arbeit: Jochens Meisterstück :thumbup: Und meine Anfänge :music_whistling: cu@ll, Wolle
  3. Hallo Fangemeinde, jetzt muss mal der Nerd dazwischen grätschen - ja, der Kumpel vom Jochen, der bin ich! Eins vorweg, ich bin nur ein kleiner Hobby-Bastler - nicht mehr und nicht weniger. Was hat mich dazu bewogen, JA! zu sagen? Nun, die Chance endlich mit LTSpice und KiCAD nützliche Schaltungen zu entwickeln, auf Breadboards sämtliche vorhandenen Zuleitungen verbauen, alles was an Hardware den Platz im Labor beansprucht nutzen und trotzdem noch "den Durchblick" zu behalten und „last but not least“, meinen Routing-Skill voran zu treiben. Außerdem wollte ich schon lange die Qualität der Fern-Ost Platinen-Schmieden beurteilen können, ohne sinnvolles Projekt bleibt's nur ein Wunsch - ganz neben bei, ich bin begeistert! Alles in allem, endlich mal ein Projekt nach meiner Fasson. Zum Mig21-Projekt: Bisher ist eine (frühe) Beta-Software am Start - sie tut das, was sie soll. Die Kommunikation über den Bus ist noch im Entwicklungsstadium (wird in naher Zukunft finalisiert, das zweite Modul von Jochen wartet schon). Die Hardware ist m.E. ausgereift, wird aber in der nächsten Revision(en) um ein paar Features wie z.B. eine Debugging-Schnittstelle erweitert (erste Hinweise sind auf dem Bild von Jochen schon zu erkennen). Eventuell wird es eine universell zu verwendete Hardware geben, die je nach Anforderung, Ein- oder Ausgabe managen kann - wir werden sehen... Wir haben alle auch noch andere Dinge, denen wir nachgehen dürfen/müssen ;-) Nun zum Eigentlichen, was ist möglich, wie wurde es umgesetzt: Das Mainboard ist für 80 Kanäle ausgelegt, aktuell aufgeteilt in 64 digital und 16 analog Ein/Ausgänge. Alle Kanäle sind als Input ausgelegt, um Jochens Vorhaben gerecht zu werden. Es arbeiten 5 Multiplexer á 16 Kanäle mit einem Teensy 3.1/3.2 als Rechenknecht zusammen. Der Griff zum Teensy (Cortex M4) im Vergleich zu den ATMega-Versionen ist u.a. der höheren Taktrate (96Mhz), dem größeren Speicher, integriertem EEPROM und der CANBus-Funktionalität geschuldet, außerdem lagen/liegen hier noch einige auf Lager. Modular sollte es sein, das war zum Start des Projekts recht früh klar. Also Board und Kommunikations-Einheit(en) trennen. Da ich Jochen schon sehr lange kenne, war mir bewusst, es wird niemals nur bei einem Modul bleiben. :megalol: Somit gingen die Überlegungen sofort in Richtung Erweiterungen und wie diese miteinander kommunizieren könnten. Nach langem Hin und Her, Für und Wieder der unterschiedlichen Bus-Systeme bin ich schlussendlich beim CANBus angekommen. Dieser universelle, störungsarme Feldbus arbeitet u.a. in jedem neueren PKW und ist mit kleinem Hardware-Aufwand im eigenen Projekt zu realisieren (im Teensy ist der Controller schon integriert). Außerdem können lange Leitungslängen problemlos für größere Projekte realisiert werden. Alles in allem können mit einem Mainboard 80 Signale verarbeitet und an DCS weitergereicht werden. Natürlich muss die Firmware individuell an das jeweilige Projekt angepasst werden, was dank der dafür eigens entwickelten Klassen-Bibliothek mit relativ geringem Aufwand zu realisieren ist. Folgende Module sind existent: === (Mig21) DCS-Projekt Mainboard === Das Brett, welches die hart arbeitenden Komponenten beherbergt, kann sowohl als Master oder als Slave im Bus-Betrieb arbeiten. Teensy als µC. Versorgungsspannung liegt bei +3.3V, da der Teensy zwar an den digitalen IOs 5V-tolerant ist, an den analogen jedoch nicht! Die Anbindung zum CAN-Transceiver wird auf +5V-Level realisiert, dies ist bedenkenlos machbar. Bis zu fünf 16-Kanal Multiplexer die über Wannenstecker die Verbindung zur haptischen Welt (Schalter/Taster/Potis/Drehgeber) herstellen. Die Firmware ist so gestaltet, dass nicht unbedingt alle fünf Multiplexer bestückt sein müssen, es können auch weniger eingesetzt werden. So kann mit geringerem Hardwareaufwand ein kleines Simpit (sorry, bin kein DCSler, watt heist datt eigentlich??) oder eine zusätzliche, kleine Expansion realisiert werden. === (Mig21) DCS-Projekt C.P.U.-Modul (CANBus.Power.USB) === Zur Stromversorgung des Mainboards, zur Kommunikation zw. Master und den Slaves und zur USB-Kommunikation mit dem auf dem Rechner laufenden DCS. Das Modul beherbergt die +3.3V und +5V Spannungsaufbereitung, entweder aus den 5V des USB-Anschlusses (max. 500mA) oder aus einem externen Steckernetzteil (9-12V=). A pro pos Strom, bei Betrieb von nur einem Modul wird "klassisch" über USB versorgt. Bei zusätzlichen Modulen wird ein externes Steckerdnetzteil vorausgesetzt. Dieses schaltet die 5Volt, kommend von USB ab und versorgt ALLE Module gemeinsam. Aktuell liegt der Stromverbrauch bei Jochens Mainboard mit C.P.U.-Modul über USB bei knapp 70mA. Die Module werden über herkömmliches Ethernet-Kabel (RJ45-Patchkabel) miteinander verbunden. Über diese 8polige Leitung laufen die CANBus-Signale zur Kommunikation und die Stromversorgung vom Steckerdnetzteil zu den C.P.E.-Modulen. Erweiterungspins stehen intern für diverse Aufgaben zur Verfügung (+3.3V, +5V, GND, CAN_H, CAN_L). Übrigens, die "freie Verdrahtung" am Transceiver ist meiner Ungeduld zu zu schreiben. Ich wollte einfach sehen wie die "Chinaplatten" herauskommen und hab schon mal im Vorfeld welche geordert. Prompt hat sich nach den ersten Test auf dem Breadboard ein Fehler herausgestellt, der an den schon produzierten Platinen von Hand gefixt werden musste...:doh: === (Mig21) DCS-Projekt C.P.E.-Modul (CANBus.Power.Extension) === Zukünftige Erweiterungen (Mainboards als Slave) werden hierüber mit dem Master über CANBus verbunden. Auch hier sind alle für das Mainboard und die CANBus-Hardware notwendigen Spannungsaufbereitungen vorhanden. Da der CANBus an den Enden terminiert werden muss, sitzen auf jedem C.P.E. Jumper zur Terminierung. Außerdem besitzt jedes C.P.E-Modul eine Bus-Thru Buchse, an die weitere Module angeschlossen werden können. Zur Kommunikation mit DCS wird die DCSBios-Library von jboecker verwendet. An dieser Stelle einen herzlichen Dank an ihn und jdahlblom für die ausgezeichnete Arbeit. Ich habe wegen dem Multiplexing und der Modul-Kommunikation eine eigene Klassen-Bibliothek geschrieben und die Klassenfunktionen der DCS-Bios Lib an die Gegebenheiten angepasst. Die Schaltungen und Platinen wurden wie oben kurz erwähnt mit KiCAD erstellt und von Hand geroutet. Danach exportiert und die Gerber-Files an EasyEDA, ein Supporter für Platinenherstellung in China, übermittelt. Nach ca. 2 Wochen lagen die ersten Exemplare auf meiner Werkbank. Die Qualität begeistert, für diesen Preis einfach unschlagbar! Da kann man auch über den kleinen Lapsus mit dem Silkscreen hinwegsehen (schöner Wohnen war gestern...;-)). So, das war mein kleiner (Nerd)Abriss, lasst es wirken...:music_whistling: cu@ll, Wolle
×
×
  • Create New...