Hallo Elektronik-Freunde,
Ich bin schon seit längerem in Sachen Elektronik unterwegs und habe
bereits selbst uC-Projekte aufgebaut, gelötet und platinen ätzen lassen.
Ich konnte auch ne Menge Erfahrungen dank arduino sammeln. Der Support
und die community ist super.
Nun möchte ich auf eine professionellere ebene und habe verschiedene
entwicklungsboards bei atmel, TI und microchip gesehen. Es gibt eine
ganze reihe von Grossen Entwicklungskits.
Ich habe da gleich mehrere fragen.
Wenn ich mich z.b. für microchip entscheide, mir ein miz mit touchpanel
kaufe und auf deren Bibliotheken meine Projekte aufbaue, darf ich den
Code dann überhaupt für meine Kunden benutzen und diese verkaufen?
Liegen da irgendwelche rechte vor?
Zum anderen kann ich auch nicht jedes mal das ganze kit kaufen, wenn ich
es irgendwo verbauen will. Bieten dann nicht genau diese Hersteller
Module an, die ich dann verwenden kann? Beispiel wäre ein
Multimedia-Entwicklungsboard mit lcd, touchpanel und allem
schnickschnack wie Mikrofon und Co. Welche ich nicht benötige.
Wie funktioniert das? Wie entwickelt ihr? Und wie bezieht ihr dann die
hardwarr, die ihr nur benötigt, ohne jetzt selber was aufzubauen und
ätzen zu lassen? Also gibt es z.B. ein lcd mit touchpanel als Modul ohne
weitere Peripherie, dass ich mit meinem entwickelten Code nutzen kann?
Vielen dank für den Einblick.
Gruss, Steffen
steffen schrieb:> Wenn ich mich z.b. für microchip entscheide, mir ein miz mit touchpanel>> kaufe und auf deren Bibliotheken meine Projekte aufbaue, darf ich den>> Code dann überhaupt für meine Kunden benutzen und diese verkaufen?
Bei Microchip steht in der Lizenz drin, dass du die Biliotheken
verwenden, modifizieren und in deinem Produkt weiterverkaufen darfst.
Die stellen dir die Bibliotheken schließlich zur Verfügung, weil sie dir
ihre Chips verkaufen wollen. Du sollst es durch diese Biliotheken
möglichst einfach haben bei deiner Entwicklung wenn du dich für einen
Microchip-Controller entscheidest. Das Einzige, was du NICHT darfst: Sie
auf einen Mikrocontroller eines anderen Herstellers portieren. Und bei
der Crypto-Library gibt es noch ein paar Einschränkungen wegen den
US-Ausfuhrbestimmungen für Verschlüsselungssoftware. Wie das bei den
anderen Herstellern ist, weiß ich nicht. Aber ich nehme mal an, dass die
das ähnlich handhaben.
Entwicklungsboards oder Kits sind wie der Name schon sagt zum Entwickeln
der Soft/Firmware gedacht.
Dem Entwickler wird damit die Moeglichkeit gegeben verschiedene
Hard/Software auszuprobieren.
Das Problem ist immer die Ursache eines evtl. bestehendes Problems
ausfindig zu machen.
Hast Du ein Board selbst entwickelt und schreibst nun die Firmware fuer
den uC, stellt sich immer die Frage wo es klemmt, wenn's mal klemmt.
Ist es die Hardware oder die Software.
Mit solchen Boards kannst Du zumindest davon ausgehen das die Hardware
laeuft.
Ich persoenlich bin kein Freund von solchen Boards.
Ich benutze selbstgemachte Break-Out Boards fuer die IC's und
Protoboards um das ganze zu verkabeln. Mit diesem Setup schreibe ich
meine Software und wenn ich weiss was alles auf das Board muss, dann
mache ich das Layout und die Platine.
Bezueglich der Libs der Hersteller bin ich zu einem aehnlichen Schluss
gekommen.
Die Libs und Beispiele der Hersteller sind nur dazu gut, zu sehen das es
prinzipiell funktioniert.
Wenn man diese Libs dann aber in einem "Real World Project" einsetzen
will sieht man schnell das nichtmal eine Lib mit der anderen zusammen
auf einem Controller spielt. Da muss man sich dann Gedanken machen und
sich doch in die Funktionen der Peripherie und deren Register einlesen.
Das endet dann damit, dass man seine eigenen Libs hat die um Welten
flexibler sind.
Fuer die ersten Schritte mit einem uC oder um mal eben was
auszuprobieren sind die Boards und die Libs der Hersteller ganz
hilfreich.
Wenn man aber Projekte mit bestimmten (etwas komplexeren)
Spezifikationen entwickelt taugen die Boards genau so wenig wie die
Libs.
Ju
Ich bin der Meinung, dass man am besten mit einem Breadboard bedient
ist. Eine kleine Spannungsversorgung hast du dir schnell aufgebaut und
kann dauerhaft verbaut bleiben. Die einzelnen Zusatzmodule kannst du
dann theoretisch immer noch kaufen. Aber wenn du dir die Boards
anschaust ist da in der Regel gar nicht viel drauf und das Geld nicht
wert(meine Meiung). Hinzukommt, dass du dich mit der Materie ganz anders
auseinandersetzt.
steffen schrieb:> Zum anderen kann ich auch nicht jedes mal das ganze kit kaufen, wenn ich> es irgendwo verbauen will
Darum bietet es sich an, sich das ganze selbst zu machen. Wie Juergen
schon gesagt hat, wenns dann läuft Layout designen und ätzen.
Soetwas wie ein Touchpanel ist schnell selber geätzt. Dazu kannst du
ganz normale Platinen verwenden.
Wenn du das ganze nicht selber machen willst, dann gibt es oftmals viele
der Module als sogenannte Daughterboards. Schau mal bei www.farnell.de
unter
> Halbleiter-Tools> MCU/MPU/DSC/DSP/FPGA Development Kits > Daughter
Boards / Modules
Hallo,
Vielen Dank für die Antworten bisher. Es ist super sich mit Leuten
auszutauschen, merke ich gerade einmal wieder.
Ich muss noch dazu sagen, dass ich genauso angefangen habe, mit einem
steckbrett, Kabelnetz Bauteilen, nen wusste und einem uC von atmel.
Ich habe es auch schonmal ne eigene Bibliothek zur Ansteuerung eines
20x4 LCD geschrieben. Sich soetwas selbst zu basteln kostet schon
erheblich Zeit.
Als ich nun an ein grafisches Display mit Touch-Funktion dachte, wurde
mir der ganze Aufwand zu gross. Welches Display nimmt mann, welchen
controller verwendet man dazu, wie bekomme ich die Koordination zwischen
Display Elementen und dem touchpanel hin? Da gibt es ganz ausgereifte
Module mit den entprechend umpfangreichen Bibliotheken.
Hat sich jemand von euch schonmal mit der Thematik beschäftigt und sich
selber was zusammengebaut und seine eigene Firmware dazu geschrieben?
Welche Probleme habt ihr da gehabt, oder könntet ihr auf bestehende
open-hardware zurückgreifen?
Gruss aus braunschweig
steffen schrieb:> Hat noch jemand ein paar Anregungen für mich?>> Gruss steffen
Naja,
Das Problem bei solchen Dingen im Hobbybereich ist oft das genommen wird
was gerade da ist (oder böse gesagt: Was Pollin gerade aus dem E-Schrott
gezogen hat). Dadurch erhält man ein Einzelstück dessen NAchbaubarkeit
nur solange anhält bis de rPosten abverkauft ist. Bei Touch-Displays
gilt das insbesondere da diejenigen die als "Nachbestellbare Neuware" zu
bekommen sind im Verhältniss zu den Sonderposten oft ein großes
Vielfaches kosten.
Generell zum Thema: DemoKit kann ich aber sagen:
Ich bin auch angefangen damit mir alles selbst zusammenzustellen, für
einfache Dinge mache ich es auch heute so, Standartbeschaltungen werden
ohne vorherigen Probeaufbau auch direkt auf erste "Protoypenlayout"
gebracht und dann funktioniert es auch (fast immer) sofort.
EInen Einsteiger würde ich es auch heute noch raten es so zu machen. Für
erste Scih den Schaltplan eines einfachen Experimentierboards besorgen
und auch LoRa nachbauen.
Bei komplexen Dingen aber muss ich ganz klar sagen ist es erheblich
effektiver sich eine Demo-Board zu besorgen und damit anzufangen. Man
hat eine HArdware die sicher läuft und eine daran angepasste Software.
Da kann man dann die Modifikationen an SW und auch HArdware schritt für
Schritt vornehmen. Meist mache ich die SW nahezu kpl. auf dem DemoBoard,
dann wird die Schaltung (auszugsweise, je nach bedarf) in ein eigenes
Design überführt, der SW stadn aufgespielt und wenn das dann läuft die
SW auf den Release Stand gebracht. So hat man immer nur eine Variable
anstelle jetzt mindestens zwei, manchmal mehr... Auch wenn man
Peripherie von anderen Herstellern als auf dem Demoboard verwenden will
ist das ja meist kein Problem. Erst wird geschaut das es mit der DB
Peripherie läuft, dann wird die deaktiviert und die Fremdperipherie
dran. Da gibt es wesentlich seltenr Rätselraten.
Was natürlich wenig nützt ist aber wenn man ein DemoBoard hat wo z.B.
ein Display mit eigenem Controller Werkelt man aber für sich ein
Controllerloses Display einsetzen will. Wenn in einem solchen Fall
gerade das Display der Hauptteil der Entwicklung ist hat das DB seinen
Zweck verfehlt. Wobei man immer wieder bei sehr komplexen Projekten
solche kompromisse eingehen muss. Dann nimmt man halt das DB was die
schwierigsten Teile am besten abdeckt.
Allerdings ist das ganze natürlich auch eine Frage des Einsatzzweckes
der späteren Schaltung. Gerade komplexe Demoboards kosten schon einiges
an Euros. Für eine Kommerzielle Entwicklung ist das im Vergleich zur
eingesparten Arbeitszeit definitiv oft ein Witz. Für Private Bastelleien
aber auf dauer sicher zu teuer wenn man viele verschiedene haben muss.
Aber viele Hersteller haben auch die kompletten Unterlagen incl.
Schaltplan zu ihren Demoboard offen zum Download im Netz. MAn muss es
nicht kaufen um darauf zugriff zu haben. Bei einer privaten Anwendung
kann man dann sehr gut einfach darauf zugreifen und den notwendigen Teil
erst einmal nachbauen. Für Komerzielle Dinge in de rREgel auch zulässig,
meist dürfte die Aufbauzeit aber teurer sein als der Kauf. Wenn man aber
gerade einen Azubi im ersten LJ hat der etwas Löten lernen soll sicher
auch möglich.
Zu den Libs.
Es wurde oben ja schon gesagt das die Libs von MC für den Anwender von
MC Produkten völlig frei zur VErfügung stehen. Es spielt keine Rolle ob
für Privateinsatz oder Komerziell. Mit Ausnahme der Vorgabe das man halt
nur MC Controller als Zielhardware verwenden darf gibt es keine
Einschränkungen. (Wobei der Aufwand diese für Controller andeer
HErsteller umzuschreiben sicher sowieso nicht geringer ist als die dann
gleich neu anzulegen- ausser vielleicht bei den MAtheLibs u.ä.)
Das ist auch mit ein Grund warum ich sehr gerne mit Microchip Produkten
Arbeite. Da habe ich vom hersteller bereits sehr viele Libs und Demos
fertig im Netz die ich ohne irgendwelche Einschränkungen völlig frei
Verwenden kann, egal ob es ein privates Spassprojekt, Ein OpenSource
Projekt welches veröffentlicht werden soll oder aber ein
hochkomerzielles Produkt für die Serienproduktion ist. Dazu kommt dass
überall nur ein Programmierstil zur Anwendung kommt.
Aber ACHTUNG: Es gibt einige -SEHR WENIGE- Ausnahmen von dieser REgel.
Dabei handelt es sich dann in der Regel wohl um von MC zugekaufte
Lösungen hochspezieller Art, für die dann Lizenzgebühren bei
Kommerzieller Verwendung fällig werden. Aber das ist dann auch sehr
deutlich gekennzeichnet (Und ich meine die sind über die normale
Parametersuche auch nicht gelistet)
Bei anderen Herstellern ist das für deren EIGENE Libs wohl ähnlich,
allerdings haben fast alle DEUTLICH weniger eigene SW im Netz.
Bei AVR stammt der Großteil der von Hobbyisten verwendeten Libs eher aus
der "Community" wurden also von anderen aus eigenen Interesse
geschrieben.
Hier muss man dann schon gehörig aufpassen welche REchte man überhaupt
aht. Für das private Projekt völlig egal, will man das aber
veröffentlichen wird es schon interessant genauer hinzuschauen. Für eine
Kommerzielle Entwicklung kann es dann schon richtig kritisch werden.
Da geht die Spanne der eingeräumten Rechte beginnen von "völlig Frei"
über "Lizenzabgaben bei kommerzieller Verwendung" bis hin zu "nein,
niemals, auf keinen Fall".
Dazu hat man dann ganz schnell verschiede Programmierstiele und
Konventionen in seinem Projekt wenn man Libs aus verschiedenen Quellen
benötigt.
Bei den ARM Prozessoren ist es dann so, das die allerwenigsten
Hersteller noch größere Libs oder Demos zur Verfügung stellen. Hier wird
das dann bereits in großem Stil von Kommerziellen Anbietern übernommen.
Oft selbst für Hobbyisten nicht mehr kostenlos verfügbar...
Alternativ natürlich Open Source Projekte anderer!
Gruß
Carsten