Hallo Mikrocontroller Forum :) ich würde gerne mein eigenes, kleines Mikrocontroller-Board mit USB-Anschluss bauen, dass dann am PC programmierbar ist. Natürlich gibt es schon fertige Sachen wie die Arduino Boards aber ich möchte mich informieren, ob man so etwas auch selber bauen könnte. Leider hab ich aktuell überhaupt keine Erfahrung mit so etwas. Woran sehe ich z.B. ob sich ein Mikrocontroller programmieren lässt bzw. eine USB Schnittstelle hat und welche IDE verwende ich dann zum programmieren?
Mis MMM schrieb: > ob man so etwas auch selber bauen könnte. Ja. > Leider hab ich aktuell überhaupt keine Erfahrung mit so etwas. Ändere das. Lies Bücher, Tutorials und Datenblätter. Lerne. > Natürlich gibt es schon fertige Sachen wie die Arduino Boards Kauf dir so eines und sieh, wie das funktioniert und wie die das gemacht haben. Es ist keine Schande und zudem lehrreich, sich fremde Designs und Applikationen anzusehen und zu verstehen.
da will jemand weg von arduino und tief einsteigen und ihr blockiert :P Also USB geht, ich mache das mit Texas Instrument, deren MSP430 Serie hat ab einer gewissen Ausbaustufe USB direkt onboard, heißt man kann mit entsprechendem USB Stack mit dem uC kommunizieren und auch programmieren. Allerdings ist Programmieren nur über Bootstraploader möglich, d.h. du kannst dein Programm nur aufspielen aber das ganze nicht im Code live überpfüen, dafür brauchst du spezielle manchmal kostenlose Software, dann programmierst du den uC nicht mehr über USB sondern über eine spezielle JTAG Schnittstelle, meistens so 4- 8 Pins die eben entsprechend verdrahtet werden müssen zum PC hin. Also du merkst schon das ganze hat schon eine gewisse Einarbeitungszeit ich würde mal grob sagen 6 Monate, starten mit Kits ist definitiv einfacher und schneller.
Erstens, Glückwunsch zur Entscheidung für "barebone". Und jetzt zum Thema. USB ist nicht grad ein unproblematisches Thema für den Einstieg. Du hast es gleich zu Beginn damit zu tun, dass Du 5V Spannungsversorgung vom "USB-Stecker" bekommst, die Signalleitungen aber 3.3V haben wollen. Und das ist grad mal der Anfang des Problems. USB debuggen kann einen echt zum Durchdrehen bringen, wenn man keinen einfachen Weg hat alle anderen Fehlerquellen zu eliminieren. Ich würde Dir empfehlen, dieses Projekt vielleicht etwas zurückzustellen. Besorg Dir ein Breadboard und das nötige "Rüstzeug" um mal überhaupt die richtigen Fragen stellen zu können und zu wissen was du überhaupt brauchst. Weil auch wenn ein µC einen "USB-Anschluss" (nennen wir's mal so) hat bedeutet das nicht, dass Du da einfach 'n USB-Stecker dranflanscht und das Ding tut. Ein klein wenig komplexer ist es dann doch noch.
:
Bearbeitet durch User
stefan schmitt schrieb: > da will jemand weg von arduino und tief einsteigen und ihr blockiert :P Von weg kann doch keine Rede sein, der Gute ist ja noch nicht mal beim Arduino angekommen. Mis MMM schrieb: > Leider hab ich > aktuell überhaupt keine Erfahrung mit so etwas. Nun mag man sich an der robuste Art der Antworten stören, aber inhaltlich waren die schon okay. Mit Null Erfahrung so anzufangen ist einfach Quatsch und kann nicht guten Gewissens unterstützt werden.
Michael Knoelke schrieb: > Mit Null Erfahrung so anzufangen ist einfach Quatsch und kann nicht > guten Gewissens unterstützt werden. Ausserdem sollte man nicht gerade mit dem anfangen, was man für den Anfang braucht: einem Entwicklungssystem. Münchhausen konnte sich zwar selbst aus dem Sumpf ziehen, aber für einen totalen Anfänger ist es eine der schlechtestetn Ideen, als erstes ein System zu entwerfen, das man braucht, um ein System zu entwerfen. Georg
Danke für eure Antworten! Ich werde mich dann nochmal genauer informieren :)
Hallo Mis, ich habe USB mit diesem Board begonnen: http://www.ehajo.de/baus%C3%A4tze/smd-baus%C3%A4tze/atmega32u2-breakout-board.html bin aber relativ schnell auf dieses umgestiegen, das hat auch analoge Eingaenge: http://www.ehajo.de/baus%C3%A4tze/bedrahtete-baus%C3%A4tze/atmega32u4-breakout-board.html Beide lassen sich direkt ueber USB programmieren. wendelsberg
Mis MMM schrieb: > Danke für eure Antworten! > > Ich werde mich dann nochmal genauer informieren :) z.B. hier: https://www.mikrocontroller.net/articles/AVR-Tutorial
:
Bearbeitet durch User
Hi Vielleicht hilft dir folgendes: Ein Controller wird nicht dauernd beschrieben, sondern er bekommt ein Programm für eine Aufgabe. Dafür legst du fest, wieviele Input- und Outputsignale du brauchst. Das Ganze baust du dann auf eine Platine und schiebst dein Programm in den Controller. Der macht dann in der Regel etwas anderes, als du erwartet hast und du darfst dann fleißig Fehler suchen.Irgendwann hast du dann verstanden, wie die Dinger ticken und du bekommst die tollsten Ideen für weitere Schaltungen. Also, wenn du experimentieren willst, dann kauf dir ein Evaluationsboard. Z.B. das von Pollin. (nich gleich wieder meckern, so schlecht ist es nicht) Dazu ein Steckernetzteil, ein paar zusätzliche Bauteile und ganz wichtig, einen ISP USB-Stick. Dann kannst du den Controller direkt aus AVR Studio über USB programmierren. Wenn du dir ein Steckbrett zulegst, hast du völlig frei Hand und kannst dich austoben ohne Ende. Einen Controller in einer Schaltung mit immer neuen Aufgaben zu versehen, halte ich nicht für sehr sinnvoll. Schließlich ist ein Controller ohne Beschaltung wie Kaffeepulver ohne heißem Wasser. Du kannst es essen, ist aber verdammt trocken..... Gruß oldmax
Mis MMM schrieb: > Ich werde mich dann nochmal genauer informieren Dazu noch ein Tipp: Mis MMM schrieb: > mit USB-Anschluss bauen, dass dann am PC programmierbar ist. Programmieren ist ja noch recht einfach, zur Not per Boot-Loader und 'Virtual COM Port'. Schaue Dir mal die Toolketten an, und wie dort das Debuggen per Einzelschritt und Breakpoints geht. stefan schmitt schrieb: > … Texas Instrument, deren MSP430 Serie … Beim MSP430 Launchpad hast Du z.B. für ~10€ gleich einen Debugger dabei. Die Nucleo-Boards incl. Debugger für die STM32F4 kosten auch ~10€. Für AVR könntest Du den Dragon kaufen, der ist aber schon deutlich teurer. Oder Du machst halt Serial.print()-Debugging.
:
Bearbeitet durch User
Torsten C. schrieb: > Beim MSP430 Launchpad hast Du z.B. für ~10€ gleich einen Debugger dabei. > Die Nucleo-Boards incl. Debugger für die STM32F4 kosten auch ~10€. > Für AVR könntest Du den Dragon kaufen, der ist aber schon deutlich > teurer. Der Preis darf m.E. am Anfang niemals ein Kriterium sein. Denn wenn man sich zu Anfang ohne jegliches Wissen das billigste System zusammenkauft, dann wird man einen unglaublich holprigen Einstieg mit viel Frust erleben. Besser ist es, mal ein Wochenende lang zuhause zu bleiben und für die gesparten 100€ was zu kaufen, das "out of the box" läuft, Beispiele mitbringt und eine Community hat...
Hallo, ich bins nochmal. Ich hab mich jetzt etwas informiert. Was ich herausgefunden habe: 1. Der Mikrocontroller muss eine Schnittstelle haben, über die es programmierbar ist 2. Zumeist (?) erfolgt das über JTAG. Dafür gibt es dann entsprechende JTAG - to USB "programmer". Mit einem entsprechenden Treiber für den programmer und für die IDE kann ich dann mein Programm "flashen" Dann meine Frage: Ich hab mir einen Mikrocontroller ausgesucht und ins User Manual geschaut. Hier steht unter "Debug": "...allows a debugging or programming tool to be connected to the MCU through a single wire bidirectional communication based on open-drain line." Soweit ich mich richtig informiert habe, ist JTAG aber mehradrig: http://www.aliexpress.com/item/5x70CM-10-Pin-USBISP-USBASP-JTAG-AVR-Download-Wire-Ribbon-Cable-2-54mm-hot-et/32251268777.html Sprich: Dieser uC ist nicht kompatibel mit JTAG?
Alle Mikrocontroller mit eingebauten Flash Speicher sind irgendwie programmierbar, meistens über eine serielle Schnittstelle, manchmal auch parallel, manchmal geht sogar beides. Programmieren über RS232 oder USB werden in der Regel nicht direkt unterstützt, sondern mit Hilfe eines Bootloaders, den man erstmal auf den Chip laden muss. Es gibt Mikrocontroller-Chips, die ab Werk mit einem Bootloader ausgestattet sind. Arduino Module arbeiten mit Bootloader, die AVR Chips darauf haben jedoch keinen, wenn man sie einzeln kauft. Chinesiche Arduino Clones werden gelegentlich ohne Bootloader verkauft. JTAG ist nur eine Möglichkeit von vielen, und soweit ich das einschätzen kann, keinesfalls die am häufigsten anzutreffende. Man findet JTAG eher bei größeren Mikrocontrollern - nicht die Größenordnung, mit der ich bastele. > Dieser uC ist nicht kompatibel mit JTAG? Welchen konkret meinst mit "dieser"? Wenn du einen ausgesucht hast, schau ins Datenblatt. Da steht das drin, meist schon auf der ersten Seite. Aber denke immer dran, dass Programmieren und Debuggen zwei par Schuhe sind, die oft unterschiedliche Schnittstellen erfordern.
Mis MMM schrieb: > Sprich: Dieser uC ist nicht kompatibel mit JTAG? Wenn es um Debugging geht, ist keiner kompatibel - die Schnittstelle ist zwar die gleiche, aber die Debugger enthalten i.A. einen eigenen Prozessor, daher gibt es für jeden Prozessortyp einen (oder mehrere) eigene Debugger. Die sind nur für diesen oder enge Verwandte benutzbar. Dazu gibt es noch andere Debugger-Schnittstellen, z.B. bei deinem Prozessor, und dafür gibt es dann auch eigene Debugger mit dem passenden Anschluss. Sowieso vom Hersteller des Prozessors, dazu auch oft chinesische Kopien. Du brauchst also DEN Debugger, der mit deinem Prozessor zusammenarbeitet, die anderen hundert oder mehr nützen dir nichts. I.A. bilden Prozessor, Entwicklungsboard, Programmer, Debugger und IDE eine Einheit. Georg
Hallo Stefan und vielen Dank für deine Antwort. Sprich diese "single wire bidirectional communication" ist eine serielle Schnittstelle? Die Frage, die sich mir nun stellt: In dem zugehörigen Data Sheet: http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00037613.pdf Findet sich auf Seite 22 das 32-Pin Layout. Nur wo sind die passenden "Beinchen" für die serielle Schnittstelle? In der Beschreibung darunter steht bei "Output speed": O3 bzw. O4 "fast/slow programmability" Sind das die passenden? Auf dem Bild darüber finde ich jedoch keine Beschriftung mit "O3" bzw. "O4"?
Mis MMM schrieb: > Der Mikrocontroller muss eine Schnittstelle haben, über die es > programmierbar ist Es gibt auch sehr günstige uC die sind direkt über USB programmierbar. Dabei erscheint der Flash des uC als USB-Stick und man kann das Binary direkt drauf ziehen. Diese uC haben dann auch integrierte USB-Treiber in einem ROM für Virtual-COM-Port oder HID, damit vereinfacht sich die Programmierung doch erheblich: http://www.watterott.com/de/LPC1343-QuickStart-Board http://elmicro.com/de/lpc1300-proto.html (*rom)->pUSBD->init_clk_pins(); (*rom)->pUSBD->init(&DeviceInfo); (*rom)->pUSBD->connect(TRUE); void USBIRQ_IRQHandler() { (*rom)->pUSBD->isr(); }
1 | Aber denke immer dran, dass Programmieren und Debuggen zwei par Schuhe |
2 | sind, die oft unterschiedliche Schnittstellen erfordern. |
Achsoo. Das macht das ganze natürlich nicht einfacher.
1 | Du brauchst also DEN Debugger, der mit deinem Prozessor |
2 | zusammenarbeitet, die anderen hundert oder mehr nützen dir nichts. I.A. |
3 | bilden Prozessor, Entwicklungsboard, Programmer, Debugger und IDE eine |
4 | Einheit. |
Okay. Gut zu wissen. Aber eigentlich muss ich den compilierten Code ja nur auf den uC schubsen. Wenn was nicht funktioniert, muss ich halt dann im Kopf debuggen...
1 | Es gibt auch sehr günstige uC die sind direkt über USB programmierbar. |
Ja das möchte ich eben selber bauen ^^
Mis MMM schrieb: > Ja das möchte ich eben selber bauen Die haben hier einen Schaltplan dafür, der uC wird direkt über D+/D- an den PC angeschlossen: https://www.olimex.com/Products/ARM/NXP/LPC-P1343/
Ganz zum selber bauen und als Grundlage für eigenes: http://tomeko.net/miniscope_v2e/index.php?lang=en
> Sprich diese "single wire bidirectional communication" ist > eine serielle Schnittstelle? Ja logisch, denn ein Byte besteht aus 8 Bit. Wie sollen die sonst über einen Draht übertragen werden, wenn nicht seriell? Mach nicht den Fehler, serielle mit RS232 gleich zu setzen! RS232 ist nur eine Variante von seriellen Schnittstellen. RS232, RS485, USB, SATA, ISP, PDI TDI, JTAG, SWD, I2C, SPI - das sind alles unterschiedliche serielle Schnittstellen. Sie sind alle zueinander inkompatibel. Parallele Schnittstellen hatte man früher z.B. bei Eproms (http://www.jameco.com/Jameco/Products/ProdDS/74843.pdf). Die hatten 10 oder mehr Leitungen für die Adresse, 8 für die Daten und ein paar Steuerleitungen. Das wäre das Gegenstück zu seriell. Schau Dir mal http://mbed.org/ an. Das sind µC Board mit vielseitig verwendbarer USB Schnittstelle, die sogar ohen Treiberinstallation auskommen. Programmieren kann man wahlweise Lokal oder mit der Web basierten IDE. Ich meine irgendwo gelesen zu haben, dass der Bootloader frei ist, so dass du deine eigenen Boards damit ausstatten darfst.
1 | Mach nicht den Fehler, serielle mit RS232 gleich zu setzen! RS232 ist |
2 | nur eine Variante von seriellen Schnittstellen. |
3 | |
4 | RS232, RS485, USB, SATA, ISP, PDI TDI, JTAG, SWD, I2C, SPI - das sind |
5 | alles unterschiedliche serielle Schnittstellen. Sie sind alle zueinander |
6 | inkompatibel. |
Wie genau funktioniert das dann mit der PC-Kompatibilität? Brauch ich einen Konverter der das serielle Signal des uC in ein kompatibles Signal für meinen PC bzw. IDE übersetzt?
1 | Ganz zum selber bauen und als Grundlage für eigenes: |
2 | |
3 | http://tomeko.net/miniscope_v2e/index.php?lang=en |
Danke! Das sieht sehr interessant aus.
:
Bearbeitet durch User
Von NXP gibt es auch noch ne andere Möglichkeit. Ich meine es ist ein LPC2xxx. Wenn man da nen Pin brückt und an den PC ansteckt, meldet er sich als mass storage device. Danach kann man einfach das bin/hex auf das "Laufwerk" kopieren. Allerdings ist darüber kein debugging möglich.
> Wie genau funktioniert das dann mit der PC-Kompatibilität? > Brauch ich einen Konverter der das serielle Signal des uC > in ein kompatibles Signal für meinen PC bzw. IDE übersetzt? Ja genau. Du solltest erstmal handelsübliche Produkte benutzen, wie sie in den zahlreichen Tutorials empfohlen werden. Für die Entwicklung eines eigenen Interfaces fehlen Dir Grundlagen-Kenntnisse und Praxiserfahrung. Fang mal mit dem Arduino Nano an. Der hat eine USB Schnittstelle, die sowohl zum Programmieren als auch zur Kommunikation verwendet werden kann. Wenn Dir der irgendwann mal zu klein oder zu langweilig wird, dann kauf Dir ein STM32 Discovery Board. Das hat auch eine USB Schnittstelle drauf.
1 | Für die Entwicklung eines eigenen Interfaces fehlen Dir |
2 | Grundlagen-Kenntnisse und Praxiserfahrung. |
Das stimmt. Muss es denn ein eigenes sein? Gibt es da keine standardisierten ICs?
1 | Fang mal mit dem Arduino Nano an. |
Auf der Arduino-Seite kostet der 20€. Das müsste doch der gleiche sein, oder? http://www.ebay.com/itm/USB-Nano-V3-0-ATmega328-16M-5V-Micro-controller-CH340G-Board-for-Arduino-/181590631969?pt=LH_DefaultDomain_0&hash=item2a47a52621
:
Bearbeitet durch User
Mis MMM schrieb: > ich würde gerne mein eigenes, kleines Mikrocontroller-Board mit > USB-Anschluss bauen, dass dann am PC programmierbar ist. Dann bau dir eines und nimm den LPC1343 dafür. Der ist relativ übersichtlich und gut via USB zu programmieren und er kann problemlos mit der Freeware-Version vom Keil programmiert werden. Ich hab dir dazu mal zwei Dinge an den Beitrag gehängt: 1. Ein USB-VirtualComPort zum Lesen und Verstehen lernen. Daß er den LPC1343 als Nuvoton-Gerät ausgibt, sollte dich nicht stören. Es sollte dir um das Verstehen gehen - und nicht darum, die diversen USB-Routinen, die dieser µC in einem zusätzlichen ROM vorhält, als BlackBoxen zu benützen. Kurzum, zum Lernen. Darüberhinaus ist dieser virtuelle COM Port auch recht bequem zu benutzen. 2. Ein kleines Programm, um damit eine Firmware im Binärformat gültig zu machen. Hintergrund: Der LPC1343 besitzt einen fest in einem ROM angeordneten Bootlader. Der kann eine Firmware entweder per UART oder eben per USB laden. Damit der µC keinen Bockmist im unprogrammierten Zustand macht, wird die Firmware nur dann gestartet, wenn die Prüfsumme über die ersten 6 oder 7 Interrupt-Vektoren stimmt. Genau DAS macht dieses kleine MakeValid.exe - aber nur wenn die Firmware als Binärfile vorliegt. Du mußt also FromElf so aufrufen, daß es ein Binärfile und kein Hexfile ausgibt. W.S.
Stefan Us schrieb: > Ja genau. Nur mal so Interesse halber: Wo genau finde ich solche ICs bzw. woher weiß ich, ob dieser dann auch das Signal meines uC entsprechend umwandeln kann?
Also eigentlich gibts eine Haufen Controller mit USB. Folgende sind meine Lieblinge: - STM32F072 - PIC24FJ128GC006 Diese beiden sind recht schön, weil kein Quarz nötig ist. Aber: USB-fähige gibts auch von ATMEL, NXP, Freescale und vielen, vielen anderen. Für den PIC habe ich USB schon desöfteren verwendet. Ich nehm da CDC (virtuelle Serielle SChnittstelle), damit ist Windows/Linuxseitig alles paletti - kein Treiber nötig, Putty reicht als Software. Willst du den Controller den über USB programmieren, brauchst du einen Bootloader. Für beide Beispiele gibts da was vom Hersteller. ABER: USB ist trotzdem kompliziert und zickig... Einen Debugger brauchst du aber trotzdem. Für den PIC ein PICkit3 (clone reicht), für den STM ein beliebiges STM32 Discovery-Board - das kann man zu einem Debugger umfunktionieren. Was ich dir empfehlen würde: Wähle dir eine Controllerfamilie aus, die dir gefällt, und lass USB mal aus dem Controller draußen. Nimm derweil einen CP2102. Damit tust du dir einen großen Gefallen: - der hat einen gescheiten Treiber dabei - der läuft sofort - Die UART ist sehr Anfängerfreundlich auf allen Seiten
Hallo und danke für die Antwort. Ich weis nicht ob ich dich nicht richtig verstanden habe oder du mich ^^ WehOhWeh schrieb: > Also eigentlich gibts eine Haufen Controller mit USB. Soweit ich das bis jetzt verstanden habe: Jeder uC hat eine serielle Schnittstelle, über die er programmiert werden kann. Nur da diese serielle Schnittstelle nicht gleich RS232 ist, brauch ich einen entsprechend weiteren uC, der mir das Signal des "Haupt"-uC in ein von meinem PC verträgliches Signal umwandelt. Da muss ich mich dann wahrscheinlich an die IDE richten, für welche Anschlüsse da Treiber bereit gestellt werden. Theoretisch kann das ja der normale PC-Serielle Anschluss oder eben auch USB sein. Wenn ich jetzt einen uC, wie z.B. einen aus der STM8-Serie benutze: Dieser liefert ja kein USB Signal, oder? Also brauch ich da einen IC für das Signal? Und da wollte ich wissen, wo es die gibt bzw. eben woher ich weiß, ob die zu dem uC passen. Ich hatte dann an so etwas gedacht: http://www.aliexpress.com/item/pl2303-module-USB-to-TTL-USB-TTL-9-upgrade-board-STC-microcontroller-programmer-PL2303HX-chip/32277983536.html
Mis MMM schrieb: > einen aus der STM8-Serie benutze: Dieser liefert ja kein USB Signal, > oder? Also brauch ich da einen IC für das Signal? Und da wollte ich > wissen, wo es die gibt bzw. eben woher ich weiß, ob die zu dem uC > passen. Ein CP2102/FT232 ist ein USB->UART Wandler. Der passt zu jedem µC mit UART, der µC muss kein USB können. UART hat fast jeder Controller, unter anderem alle STM8, soweit ich das sehe. Einzig aufpassen musst du wegen der Taktgenauigkeit für eine UART. Nimm einen Quarz / Keramikresonator (besser 1%), dann hast du kein Problem. Die internen Taktquellen der µC sind oft zu ungenau. Wie du einen STM8 über die UART programmieren kannst, steht hier: http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/CD00201192.pdf So wie ich das sehe, ist der Bootloader bei einigen (allen?) STM8 also schon fertig drin. Den Seriellen Bootloader sollte man auch über den CP2102 verwenden können. Ein Debugger ist trotzdem sinnvoll, weil man über die Serielle nicht debuggen kann. Beim Arduino ist das so, dass der Bootloader Software ist. Mit einer Software ist das Programmieren über UART mit vielen µC möglich.
Ich hab 'ne ziemlich genaue Ahnung was Du willst, nur sowas glaub ich gibt's (noch) nicht. Du willst, und korrigiere mich wenn ich falsch liege, irgendwas wo Du aus dem USB-Port Deines Recheners rausgehst und den an einen "USB-Port" eines µC anschließt und den µC auf die Art und Weise programmierst. Also sowas wie "ein Kabel an die D+ Leitung vom USB-Port des Computers an einen Pin vom µC und ein anderes Kabel an die D- Leitung vom USB-Port des Computers an einen anderen Pin vom µC", und darüber das Ding dann programmieren. Das funktioniert meines Wissens nicht mal mit den Dingern, die einen USB-Port haben. Dafür gibt's einen recht einfachen Grund: USB ist ein relativ "aufwändiges" Protokoll. Ein paar von den älteren µCs, so Atmega8 rum, kann man damit, eine USB-Kommunikation aufrecht erhalten zu müssen, eigentlich problemlos vollständig auslasten. µCs auf der anderen Seite sind während sie ("low-level", also ohne Bootloader usw) programmiert werden eigentlich de facto ausgeschaltet. Während des (normalen, ISP/seriellen) Programmiervorganges wird üblicherweise nämlich die Resetleitung "gedrückt gehalten". Sprich, der µC "läuft" nicht. Da sitzt das Ding dumm wie 100m Feldweg rum und läßt sich die Bits in den Flashspeicher drücken. Und die beiden Anforderungen "kommuniziere in einem recht aufwändigen Protokoll" und "sitz rum und tu nix" sind halt gegenseitig eher ausschließend. Für Dein Problem gibt's jetzt ein paar Lösungen: 1. Irgendwer findet so einen Chip der das kann. Wie das gehen soll weiss ich nicht, aber ich kenn weder alle Chips dieser Erde noch bau ich die Dinger, vielleicht gibt's da wirklich was. 2. Organisier Dir sowas mit einem entsprechenden Bootloader drauf. Vorteil ist dass dann das geht was Du willst. Nachteil ist dass Du vom Bootloader abhängig bist. Sprich, Du hast nicht den gesamten Flashspeicher zur Verfügung, Du musst aufpassen dass Du den Bootloader nicht überschreibst und ein paar Quirks hat jeder Bootloader auf die Du achten musst. 3. Besorg Dir einen Programmer. Die Dinger gibt's für kleines Geld (ab so 10 Euro bist Du dabei) und Du hast eine Fehlerquelle weniger. Du kannst das Ding ja danach, wenn Du Deinen Bootloader im µC hast und über den programmierst auf die Seite legen, aber so 'n Ding sorgt für Beruhigung, weil auch wennst 'n Murks baust (und Du wirst, am Anfang häufig) kannst Du alles noch "retten". 4. Du programmierst das Ding über 'ne andere Schiene, ggf. mit anderen Tools. Man kann (zumindest die alten) µC von Atmel auch brutal und roh über die serielle Schnittstelle programmieren. Dafür braucht's im Endeffekt eine (echte!) serielle Schnittstelle und ein wenig Hühnerfutterteile (paar Widerstände, Z-Dioden, 'nen Transistor... beschrieben in Beitrag "Serial AVR programmer selber bauen"). Das auf's Breadboard gesteckt und Du kannst loslegen. Nachteil: Dein Computer braucht einen echten seriellen Port, so'n USB-auf-seriell Stecker tut's nicht. Persönlich würd ich Dir zu 3 raten. Weil einfach, relativ billig und sehr, sehr anfängertauglich. Den Progger wirst Du so oder so irgendwann kaufen, trust me. :)
Heinz L. schrieb: > Ich hab 'ne ziemlich genaue Ahnung was Du willst, nur sowas glaub ich > gibt's (noch) nicht. Ja so hab ich mir das vorgestellt ^^ Heinz L. schrieb: > 3. Besorg Dir einen Programmer. Meinst du damit so etwas? http://www.aliexpress.com/item/pl2303-module-USB-to-TTL-USB-TTL-9-upgrade-board-STC-microcontroller-programmer-PL2303HX-chip/32277983536.html Falls ja: Dann muss ich noch herausfinden, welche Pins des µC zu den Pins des Programmers geführt werden müssen...
:
Bearbeitet durch User
Max MMM schrieb: > Meinst du damit so etwas? Das ist 'so'n USB-auf-seriell Stecker'^^ mit PL2303; und der kann fast genau das Gleiche wie der CH340G, der bem Arduino Nano auf der Unterseite bereits vorhanden ist: Max MMM schrieb im Beitrag "Erfahrung mit China Arduino?" > Ich möchte mir für ein erstes Projekt einen Microcontroller-Board > kaufen. In einem anderen Beitrag wurde mir bereits das Arduino Nano > empfohlen. Auf den einschlägigen Seiten gibts einen Nano (Nachbau?) für > wenige Dollar: > ebay 181590631969
:
Bearbeitet durch User
Torsten C. schrieb: > Das ist 'so'n USB-auf-seriell Stecker'^^ mit PL2303; und der kann fast > genau das Gleiche wie der CH340G, der bem Arduino Nano auf der > Unterseite bereits vorhanden ist Sprich: Funzt?
Max MMM schrieb: > Sprich: Funzt? Für den Nano, ja. Heinz L. schrieb: > 3. Besorg Dir einen Programmer. Die Dinger gibt's für kleines Geld … > weil auch wennst 'n Murks baust (und Du wirst, am Anfang > häufig) kannst Du alles noch "retten". Ich nehme an, Du meinst einen Programmer/Debugger, oder? Max MMM schrieb: > Wenn was nicht funktioniert, muss ich halt dann im Kopf debuggen... Im Kopf, ja, oder wie ich schrieb: > Du machst halt Serial.print()-Debugging. Ich kann nicht sagen, was Du alles 'im Kopf debuggen' kannst. Bei Deinen Ambitionen solltest Du m.E. nicht an <10€ Euro für eine Debugger-Hardware sparen. Lothar Miller schrieb: > Der Preis darf m.E. am Anfang niemals ein Kriterium sein. > Besser ist es, … was zu kaufen, das "out of the box" läuft Und was wäre das Deiner Meinung nach, wenn nicht eine der o.g. Varianten: * MSP430 Launchpad * Nucleo-Board mit STM32F4xx * Arduino-Board mit AVR-Dragon Da NXP genannt wurde: * Das LPCXpresso wäre auch noch inclusive Debugger-Hardware
Der Arduino nano hat einen AVR Mikrocontroller, der bereits mit einem Bootloader-Programm ausgestattet ist. Darüber hinaus befindet sich auf der Rückseite des Modul ein USB/UART Chip, der die Brücken zwischen PC(USB) und Mikrocontroller(UART) Schnittstelle macht. Es gibt auch andere Arduinos mit anderen Chipsätzen. Aber alle haben einen Bottloader drauf. Langer Rede kurzer Sinn: Alle Arduino Module kannst über USB programmieren. Das Chinesische Billigteil, dass du bei Ebay gefunden hast, ist ein Arduino Nachbau. Ob du bei dem Preis Qualität erwartest, musst du dir selbst überlegen. Es waren schon Arduino Clones im Umlauf, wo einzelne Pins vertausch oder nicht verbunden waren. Es gab auch welche mit gefälschten FTDI Chips, die vom aktuellen FTDI Treiber zerstört werden. Abgesehehn davon, scheinen die meisten Ardunio Clones jedoch brauchbar zu sein, wenn man den Diskussionen dieses Forums folgt. Manche Arduino Clones enthalten keinen Bootloader. Dann muss man sie über den ISP Port erst selbst draufladen, wozu man einen ISP Programmieradapter (Atmel ISP MKII) benötigt. Da in der Artikelbeschreibung der Bootloader nicht erwähnt wird, ist wahrscheinlich auch kleiner drauf.
Stefan Us schrieb: > Darüber hinaus befindet sich auf > der Rückseite des Modul ein USB/UART Chip, der die Brücken zwischen > PC(USB) und Mikrocontroller(UART) Schnittstelle macht. Da alle STM8 µC auch über eine serielle UART Schnittstelle verfügen, müsste doch das Teil auch damit kompatibel sein, oder?
:
Bearbeitet durch User
Stefan Us schrieb: > Atmel ISP MKII Was ist sinnvoller? Ein Atmel ISP MKII oder ein AVR-Dragon? Max MMM schrieb: > Da alle STM8 µC auch über eine serielle UART Schnittstelle verfügen, > müsste doch das Teil auch damit kompatibel sein, oder? Technisch ja, ist halt einer dieser chips aus diesen 'USB-auf-seriell Steckern'^^. Der auf dem Nano ist fest mit dem ATmega328(?) verbunden, den willst Du doch nicht mit einem STM8 verbinden, oder? Stefan Us schrieb: > Da in der Artikelbeschreibung der Bootloader nicht erwähnt wird, ist > wahrscheinlich auch kleiner drauf. Mag sein, wahrscheilich hatte ich immer Glück. Zumindest wäre ein Fehlen kein Grund zur Reklamation. Wobei: Reklamationen und China ...
:
Bearbeitet durch User
> Heinz L. schrieb: >> 3. Besorg Dir einen Programmer. > > Meinst du damit so etwas? > http://www.aliexpress.com/item/pl2303-module-USB-to-TTL-USB-TTL-9-upgrade-board-STC-microcontroller-programmer-PL2303HX-chip/32277983536.html Nein. Das Ding ist im Endeffekt nix anderes als ein Konverter von USB auf "altes" Serial RS232. Das ist im Endeffekt "nur" ein alter 9-pol Serial Port für Deinen Rechner (wobei Du noch den 9-pol Stecker mit den richtigen Adern von dem Stecker der da rechts dran ist verbinden müsstest). Programmieren ist damit nicht. Auch wenn die Beschreibung sowas suggerieren mag. Was Du suchst ist ein "USB AVR ISP", wobei ISP für "in system programmer" steht, was im Prinzip heißt "kann den Chip in der Schaltung programmieren, musste nicht erst rauslöten". Egal. ISP ist jedenfalls das Zauberwort, und zwar passiert das, damit der Akronymwahnsinn komplett ist, üblicherweise über die SPI Schnittstelle. Das billigste Trumm das ich da auf die Schnelle finden könnte (suche nach USB ISP Programmer beim Lieferchinesen) war das da: http://www.aliexpress.com/item/S105-New-1pc-USB-ISP-Programmer-For-ATMEL-AVR-ATMega-ATTiny-51-Development-Board/2036513207.html Guck da aber in der Liste der unterstützten Chips ob Deiner dabei ist. Und zwar GENAU Deiner! Frag sicherheitshalber wenn da nicht GANZ GENAU Dein Chip bei steht! > Falls ja: Dann muss ich noch herausfinden, welche Pins des µC zu den > Pins des Programmers geführt werden müssen... Das ist relativ leicht, da genormt. Du kommst aus dem Ding mit einem 10-pol Stecker raus, der ist zwar heute ungewöhnlich, funktioniert aber auch nicht anders als der heute übliche 6poler. Da guckst Du bitte auf die Seite https://www.mikrocontroller.net/articles/AVR_In_System_Programmer und scroll runter da ist 'n Bild von dem Stecker und welche Adern wohin gehen. Diese Adern eben mit den Pins am µC verbinden. Also das wo MOSI rauskommt tust auf den Pin, der im Schaltplan MOSI heißt. Zusätzlich solltest Du noch Strom an den µC tun, also die Adern die gern VCC und GND hätten entsprechend verbinden. Zusätzlich sollten da noch KOndensatoren und der eine oder andere Widerstand dann dran wenn's "ernst" wird, sowie, falls externer Takt gewünscht, eben der entsprechende Quarz. Wie das genau aussieht entnimmst Du dann am besten halt den Unterlagen des Chips Deiner Wahl. Das klingt jetzt nach viel Tamtam für "nur mal eben proggen", zugegeben. Dafür bist Du damit absolut und 100% unabhängig von irgendwelchen "Fertiglösungen" wie Arduino und co und kannst davon wegarbeitend Dein komplett eigenes Ding machen. Und billiger noch dazu, weil die Teile die Du ausser dem Chip selbst brauchst für die Schaltung kosten im Centbereich, statt einige Euro bis zweistelliges an Euros für 'n Arduino.
> Was ist sinnvoller? Ein Atmel ISP MKII oder ein AVR-Dragon?
Kommt auf den Anwendungsfall an. Beide Produkte können einiges, was das
jeweils andere nicht kann.
Heinz L. schrieb: > Ich hab 'ne ziemlich genaue Ahnung was Du willst, nur sowas glaub ich > gibt's (noch) nicht. Du willst, und korrigiere mich wenn ich falsch > liege, irgendwas wo Du aus dem USB-Port Deines Recheners rausgehst und > den an einen "USB-Port" eines µC anschließt und den µC auf die Art und > Weise programmierst. Ja und? Genau DAS hab ich mit dem LPC1343 vorgeschlagen: Den kann man per USB und auch per UART programmieren, denn wenn der fest eingebaute (und unlöschbare) Bootlader gestartet ist und er feststellt, daß er sich am USB befindet, dann meldet er sich am PC als kleiner Massenspeicher an, wo man die selbstgebastelte und per "MakeValid" gültig gemachte Firmware einfach draufkopiert. Egal womit, on nun Explorer oder Totalcommander oder Drag&Drop oder Kommandozeile, ist wurscht, es geht mit allem. Wenn der Bootlader merkt, daß er nicht am USB hängt, dann wirft er den UART an und läßt sich z.B. mit FlashMagic programmieren. Und wenn man den Bootlader beim Einschalten nicht aktiviert, dann ist das Ganze eben ein µC mit USB-Anschluß, aus dem man nach eigenem Gutdünken ein USB-Device machen kann wie man will. Besser kann man's m.E. nicht kriegen. W.S.
W.S. schrieb: > Heinz L. schrieb: >> Ich hab 'ne ziemlich genaue Ahnung was Du willst, nur sowas glaub ich >> gibt's (noch) nicht. Du willst, und korrigiere mich wenn ich falsch >> liege, irgendwas wo Du aus dem USB-Port Deines Recheners rausgehst und >> den an einen "USB-Port" eines µC anschließt und den µC auf die Art und >> Weise programmierst. > > Ja und? > Genau DAS hab ich mit dem LPC1343 vorgeschlagen: > Den kann man per USB und auch per UART programmieren, denn wenn der fest > eingebaute (und unlöschbare) Bootlader gestartet ist und er feststellt, > daß er sich am USB befindet, dann meldet er sich am PC als kleiner > Massenspeicher an, wo man die selbstgebastelte und per "MakeValid" > gültig gemachte Firmware einfach draufkopiert. Egal womit, on nun > Explorer oder Totalcommander oder Drag&Drop oder Kommandozeile, ist > wurscht, es geht mit allem. Wenn der Bootlader merkt, daß er nicht am > USB hängt, dann wirft er den UART an und läßt sich z.B. mit FlashMagic > programmieren. > > Und wenn man den Bootlader beim Einschalten nicht aktiviert, dann ist > das Ganze eben ein µC mit USB-Anschluß, aus dem man nach eigenem > Gutdünken ein USB-Device machen kann wie man will. > Es mag Dir nicht aufgefallen sein, und vielleicht überinterpretiere ich da etwas, aber es schien mir so als ob der Threaderöffner ja eben explizit nicht 'n "Entwicklungsboard" haben will sondern die µC eigenständig erforschen will. Zusätzlich ist sehr offensichtlich dass er mit der Materie eher noch am Anfang steht und teilweise mit den Grundlagen nicht vertraut ist. Dein Vorschlag dazu ist 'n Cortex M3 auf etwas das man mehr oder weniger "glorified breakout board" nennen könnte, im Endeffekt aber nicht weit davon weg ist was ihm auch 'n Arduino im AVR-Bereich liefern würde. Und genau das will er ja eben offensichtlich nicht haben. Weil genau das hat er eben im Eingangsposting geschrieben.
Heinz L. schrieb: > Es mag Dir nicht aufgefallen sein, und vielleicht überinterpretiere ich > da etwas, aber es schien mir so als ob der Threaderöffner ja eben > explizit nicht 'n "Entwicklungsboard" haben will sondern die µC > eigenständig erforschen will. Exakt. Ich hab mich jetzt jedoch erstmal doch für einen Arduino entschieden und werde da einiges ausprobieren. Wenn ich mich damit sicher fühle, kommt der nächste Schritt :)
:
Bearbeitet durch User
Heinz L. schrieb: > Und > genau das will er ja eben offensichtlich nicht haben. Weil genau das hat > er eben im Eingangsposting geschrieben. Das ist so, aber mehrere Poster haben ihm erklärt, dass es eine nicht so gute Idee ist, alles allein und vom absoluten Nullpunkt aus aufzubauen. Und möglicherweise konnten wir ihn davon sogar überzeugen, was ja hier selten genug vorkommt: Max MMM schrieb: > Ich hab mich jetzt jedoch erstmal doch für einen Arduino > entschieden und werde da einiges ausprobieren. Viel Erfolg, Georg
> Viel Erfolg
Wünsche ich auch, mit 'Serial.print()-Debugging'. * duck-und-weg *
Heinz L. schrieb: > Es mag Dir nicht aufgefallen sein, und vielleicht überinterpretiere ich > da etwas, aber es schien mir so als ob der Threaderöffner ja eben > explizit nicht 'n "Entwicklungsboard" haben will sondern die µC > eigenständig erforschen will. Was schreibst du da eigentlich für einen Unsinn? Im Allgemeinen ist es nicht meine Art, mich selbst zu zitieren, aber hier muß es mal sein: W.S. schrieb: > Dann bau dir eines und nimm den LPC1343 dafür. Der ist relativ > übersichtlich und gut via USB zu programmieren.. Reicht das aus??? So, nun reicht's von meiner Seite. Wer sich zuallererst ein Arduino zulegen will: "Exakt. Ich hab mich jetzt jedoch erstmal doch für einen Arduino entschieden und werde da einiges ausprobieren." - der hat ganz offensichtlich nicht vor, bei seinem allersten Satz "ich würde gerne mein eigenes, kleines Mikrocontroller-Board mit USB-Anschluss bauen," zu bleiben. Da nützt dann auch weder ein Ratschlag noch ein fertiger USB-Treiber. Also gut Nacht zusammen. W.S.
Wir reden von https://www.mikrocontroller.net/part/LPC1343 ja? Einem Chip, der in seiner "bastlerfreundlichsten" Variante als QFP daherkommt. Einem Chip, der 3.3V und NUR 3.3V verdaut, und entsprechend wenn von USB gepowered 'n entsprechenden Voltage Regulator davor braucht. Und diversen anderen Klimbim. Ja sicher "geh bitte, Details", für sicher viele hier, aber ich erinner mich noch gut wie's zu meinen "Einstiegszeiten" war, da war die Wahl des richtigen Spannungsregulator bereits 'ne Nummer für sich. Und das willst Du ernsthaft 'n Einsteiger antun? So nach dem Motto, das muss das Boot abkönnen? Das ist wieder was zum Thema "talk for your audience, not just to it". Ich hab hier oft das Gefühl dass die Antworten eher der eigenen Bestätigung und der Bestätigung der eigenen Überlegenheit dienen als der Hilfe des Hilfesuchenden. Es ist ja nunmal so, und dieser Thread zeigt's wieder mal deutlich, oft genug weiss der, der sucht, nicht mal was er sucht. Der Threadersteller hat, weil USB halt omnipräsent ist und jedes Furzgerät sowas kann, angeonommen, dass das was ganz einfaches ist das eben mal "so" funktioniert. Die Annahme ist ja per se nicht mal so "naiv" sondern eigentlich verständlich. Dass USB allerdings ein Protokoll ist das eben nun nicht mal eben so "out of the box" funktioniert, Marke "Kabel dran und gut", das konnte der Threadersteller nicht wissen. Woher auch? Jedes noch so triviale Gerät hat sowas, entsprechend liegt der Schluss nahe dass das so komplex nicht sein kann. Es ist auch nicht komplex, der Teufel steckt halt im Detail. In Details, um die sich ein Anfänger im Bereich Mikroelektronik nicht unbedingt kümmern müssen sollte. Der Einstieg sollte einfach sein. Und, simma's uns, einfacher als AVR wird's so fix nicht. Die Chips "fressen" so ziemlich jede Spannung im handelsüblichen Bereich bis 5V, die Minimalbeschaltung ist sehr überschaubar, es gibt Tonnen an Information, Schaltbilder und Troubleshootingtips im Netz... Und ja, der Threadersteller hat ursprünglich geschrieben, er will alles selbst machen und dann sagt er, er kauft nun doch 'n Arduino. Was ich ihm nur hoch anrechnen kann, er hat seinen Thread tatsächlich gelesen, gelernt, reagiert und hat erkannt dass seine ursprüngliche Idee zwar richtig war (und ganz ernsthaft, ich bin sicher dass Du, werter TE, das Ding mal bauen wirst, nur eben nicht heute) aber eben noch nicht in Reichweite und dass er dorthin erst mal mit anderen Mitteln hinkommen muss. Man nennt so etwas "Ratschläge annehmen". Er ist nämlich hierher gekommen um Ratschläge zu erhalten. Und, entgegen dessen was sonst hier oft passiert, hat er sie sogar angenommen. So gesehen verständlich, dass so etwas irritiert, es passiert so selten.
W.S. schrieb: > der hat ganz > offensichtlich nicht vor, bei seinem allersten Satz "ich würde gerne > mein eigenes, kleines Mikrocontroller-Board mit USB-Anschluss bauen," zu > bleiben. Da nützt dann auch weder ein Ratschlag noch ein fertiger > USB-Treiber. Man muß nicht B sagen weil man A gesagt hat. Man kann auch erkennen das A ein Fehler war. Zu dieser Entscheidung zu kommen, und da schliesse ich mich ductape an, spricht für den TE.
Heinz L. schrieb: > Einem Chip, der in seiner "bastlerfreundlichsten" Variante als QFP daherkommt. Gibt es daher fertig auf DIP-Adapter: http://www.watterott.com/de/LPC1343-QuickStart-Board ... mit Demo-Software (CDC, HID, MSC)
Lothar schrieb: > Heinz L. schrieb: >> Einem Chip, der in seiner "bastlerfreundlichsten" Variante als QFP daherkommt. > > Gibt es daher fertig auf DIP-Adapter: > http://www.watterott.com/de/LPC1343-QuickStart-Board > ... mit Demo-Software (CDC, HID, MSC) Alles richtig, Lothar, nur sind wir dann wieder da wo ich sag, da kannst dann gleich 'n Arduino nehmen. Weniger komplex und preislich sind die "Minimalarduinos" dort auch nicht mehr weit weg. Und wenn er mal die ersten Erfahrungen zusammen hat und die Nase voll hat davon sich durch die Sprache des Arduinos limitieren zu lassen, kann er für kleines Geld AVR Chips kaufen, die's zumindest in den Varianten bis Mittelklasse allesamt in DIP-Ausführung gibt und den Arduino dafür als Programmer verwenden.
Heinz L. schrieb: > Alles richtig, Lothar, nur sind wir dann wieder da wo ich sag, da kannst > dann gleich 'n Arduino nehmen. Übrigens. Jedes Mal wenn hier jemand Arduino empfiehlt, töte ich ein süßes Katzenbaby. Nur so zur Info.
Cyblord ---- schrieb: > Jedes Mal wenn hier jemand Arduino empfiehlt, töte ich ein > süßes Katzenbaby. Dann empfehle ich den STM32F103C8T6. Wenn man sich eh neu einarbeitet, muss man sich ja nicht in 8-Bitter einarbeiten. Der STM32F103C8T6 ist als China-Exportschlager soger oft billiger als ein 8-Bit-AVR. Siehe Beitrag "STM32F103C8T6 ARM STM32 Minimum System Development Board Module For Arduino" Lasst die Katzenbabys in Ruhe! Man muss ja nicht die grässlichen Arduino-Libs nehmen, falls man die Hardware nutzen möchte.
Cyblord ---- schrieb: > Übrigens. Jedes Mal wenn hier jemand Arduino empfiehlt, töte ich ein > süßes Katzenbaby. Nur so zur Info. Mach weiter. Ich hasse Katzen ...
> Weniger komplex und preislich sind die > "Minimalarduinos" dort auch nicht mehr weit weg Wir hatten vorher Arduino für USB ist das ist deutlich komplexer (und fehlerträchtiger) als der LPC1343 mit ROM-Treiber, vor allem wenn man nicht nur CDC sondern HID/MSC/DFU nutzen will. > AVR Chips allesamt in DIP-Ausführung Den LPC1343 gibt es pinkompatibel als LPC1114 DIP - leider ohne USB, hier muss NXP mal tätig werden ...
Ich bin nun wirklich kein Arduino-Fan, aber die Dinger haben nunmal ein paar Vorteile: Billig, relativ stabil, irre viel Support im Netz und vor allem, wenn man davon die Schnauze voll hat sich von dem eingebauten Schmarrn der sich dort Programmiersprache nennt gängeln zu lassen noch immer ein vollwertiger ISP für den "ernsthaften" Einstieg in die AVR-Welt. Und ganz ehrlich, wenn ich so von AVR zu ARM guck, preislich ist die AVR Geschichte irgendwie (noch) angenehmer. Die Tools die man braucht sind teilweise weit billiger zu kriegen und/oder leichter selbst zu machen. Es gibt weit mehr an Chips in DIP/DIL und nicht nur in QFL oder sogar nur noch QFN und BGA. Das Setup ist einfacher und die Chips "verdauen" weit mehr Mißbrauch und Spannungsbreiten. Alles große Vorteile wenn man am Anfang steht. Und die Dinger können auch nicht so viel dass einen die Doku erschlägt. :)
Heinz L. schrieb: > Und das willst Du ernsthaft 'n Einsteiger antun? So nach dem Motto, das > muss das Boot abkönnen? Ja. Ganz richtig. Wer antritt, um sich einzuarbeiten und deswegen sogar - was ich löblich finde - plant, sich sein eigenes Board zu entwerfen, der ist mit sowas gut bedient. Ich sage dir: Dieser Chip hat ganz genau die Eigenschaften, die der TO sich in seinem Eingangspost gewünscht hat. Und er ist innerlich überschaubar. Erzähle mir bloß nicht, man könne es sich oder anderen heutzutage nicht mehr zumuten, einen simplen QFP auf ne LP zu löten oder sich bei Reichelt&Konsorten einen passenden Spannungsregler zu kaufen. Wenn du jetzt jammerst, daß sowas deiner Meinung nach viel zu kompliziert sei, dann frage ich mich besorgt, was denn wohl als nächstes Argument käme. Etwa allgemeines Schimpfen auf SMD? Weil das heutzutage eben auch klein ist im Vergleich zu einer ECC81 ? Wo leben wir denn? Etwa im elektronischen Schlaraffenland, wo einem die fertig programmierten Boards gebraten auf den Basteltisch fliegen? Wo man seinen eigenen Kopf nicht mehr zu bemühen braucht, um was selber zu lernen, da es ja alles schon fertig gibt? Wo man nicht mehr die Nase ins Buch oder in einen Quellcode zu stecken braucht, um die Welt nicht als "Ist mir zu schwer und zu neu" abzutun? Freiwillig schon in jungen Jahren verkalken? Wenn der TO geschrieben hätte "ich möcht ein wenig mit µC herumdaddeln, weil ich gehört hab, daß das jetzt hipp ist" dann wäre die Sache klar gewesen - er hätte alles nehmen können, was von Anfang an schon wackelt und tut, aber deine Ratschläge bedeuten im Klartext, die Flinte schon vor der Jagd ins Korn zu werfen. W.S.
Cyblord ---- schrieb: > Übrigens. Jedes Mal wenn hier jemand Arduino empfiehlt, töte ich ein > süßes Katzenbaby Warum solltest du auch zu Katzen eine besseres Verhältnis haben als zu den anderen Forumsteilnehmern. Georg
Heinz L. schrieb: > ISP für den "ernsthaften" Einstieg in die AVR-Welt Hat sich wohl immer noch nicht so rumgesprochen dass bei ARM (wie auch bei 8051 davor) ISP über UART läuft. Somit braucht man auch keinen Programmer wie bei AVR MOSI/MISO sondern nur ein 5 EUR USB-seriell Kabel. Und ein ARM-Debugger kostet grade mal 18 EUR und dafür gibt es Firmware für alle Protokolle (JTAG, SWD, J-Link, DAP) http://www.watterott.com/de/LPC-Link-2
W.S. schrieb: > Wer antritt, um sich einzuarbeiten und deswegen sogar - was ich löblich > finde - plant, sich sein eigenes Board zu entwerfen, der ist mit sowas > gut bedient. Ich sage dir: Dieser Chip hat ganz genau die Eigenschaften, > die der TO sich in seinem Eingangspost gewünscht hat. Und er ist > innerlich überschaubar. Gut und schön, nur ist das Schritt 2 des Werdeganges. Schritt 1 ist, mit DIPs und Drahtteilen was zusammenzustecken damit's am Breadboard läuft, sich drüber freuen dass das geht. Oder vielmehr, die Teile rumstecken bis es geht. Ich weiss nicht wie's bei dir am Anfang war, aber bei mir war am Anfang da wenig das gleich mal ad hoc funktioniert hat. Ich hab in den Elektrotechnikvorlesungen gepennt. Was mir natürlich auf'n Kopf gefallen ist als ich entdeckt hab dass µC was Feines sind, aber da war's nach der Uni. Und ich weiss eben nicht wo der TE dabei steht. Kann ja sein dass er 'n DI Elektrotechnik Diplom an der Wand hängen hat. Dann mag's ja so sein. Sonst ist es sehr frustend mit teilweise nicht grad billigen Chips rumzulöten um dann zu fragen "woran liegt's jetzt, Schaltung? Falsch gelötet? Chip gebrutzelt? Ömm..." > Erzähle mir bloß nicht, man könne es sich oder anderen heutzutage nicht > mehr zumuten, einen simplen QFP auf ne LP zu löten oder sich bei > Reichelt&Konsorten einen passenden Spannungsregler zu kaufen. Wie gesagt, für DI Etech sicher nicht. Für Otto Vorhernixeletriker kann die Wahl des richtigen Spannungsreglers bereits zu einer Odyssee ganz für sich selbst werden. "Low drop? Oder nicht? Was bedeuten denn die ganzen lustigen Begriffe die da bei den verschiedenen dabei stehen, ich will doch nur von 5V auf 3.3V kommen. Und wozu da jetzt Kondis dran? Müssen die genau diesen Wert haben? Und wo was anhängen? An welche Seite kommt was?" Usw. > Wenn du > jetzt jammerst, daß sowas deiner Meinung nach viel zu kompliziert sei, > dann frage ich mich besorgt, was denn wohl als nächstes Argument käme. > Etwa allgemeines Schimpfen auf SMD? Weil das heutzutage eben auch klein > ist im Vergleich zu einer ECC81 ? Ja. SMDs steckt man so ungut auf's Breadboard. Und wenn ich nicht grad den Platinenbader pro cm² bezahl löt ich auch lieber die Drahtteile. > Wo leben wir denn? Etwa im elektronischen Schlaraffenland, wo einem die > fertig programmierten Boards gebraten auf den Basteltisch fliegen? Wer von uns will ihm denn sowas einreden, hmmmmm? :) Aber mal abseits der Sticheleien, am Anfang ist es meiner Meinung nach immer noch besser von einer "known good" Solution wegzuarbeiten. > Wenn der TO geschrieben hätte "ich möcht ein wenig mit µC herumdaddeln, > weil ich gehört hab, daß das jetzt hipp ist" dann wäre die Sache klar > gewesen - er hätte alles nehmen können, was von Anfang an schon wackelt > und tut, aber deine Ratschläge bedeuten im Klartext, die Flinte schon > vor der Jagd ins Korn zu werfen. Meine Vorschläge gehen in die Richtung, jemanden der mit der Materie eben erst anfängt langsam ranzuführen. Und dafür sind meiner Meinung nach nunmal AVRs ideal. Sie sind simpel. Viel simpler werden die Teile nicht. VCC und GND anklemmen und das Ding quietscht schon. Quarz optional. Sogar Blockkondi, Resetpullup usw optional. Obwohl vorteilhaft und der Stabilität zuträglich, aber TUN TUT's auch ohne, und das zählt. Sowas bringt Frohsinn weil das Erfolgserlebnis da ist. Und auch wenn man zuerst mal einen Progger kaufen muss der halt "fertig" daher kommt, die Chips selbst kann man "roh" und direkt ansprechen. Ohne breakout board, ohne Trägerplatine, man bekommt viel mehr das Gefühl nicht davon abhängig zu sein dass da ein anderer irgendwas gemacht hat sondern man kann "mit dem Chip selbst" arbeiten. Nicht der Chip, auf einer Platine, mit Hühnerfutter drumrum, mit Interface links und rechts und mit unveränderlichem Bootloader. Wenn ich das haben will geh ich zurück an die Arbeit und programmier wieder für PCs. Da versteht die CPU auch den eigenen Befehlssatz nicht mehr... AVRs haben halt den Charm dass der Chip wirklich "dir gehört". Du bestimmst alles. Und ich hab das Gefühl das ist etwas das dem TE wichtig ist. Mag sein dass ich das da hineininterpretier (und falls der TE überhaupt noch mitliest würde es mir doch etwas bedeuten zu wissen ob ich mir da nur was einbilde) aber ich hab das Gefühl dieses "selbst gemacht und unter meiner Kontrolle" Gefühl ist dabei für ihn etwas Wesentliches.
Heinz L. schrieb: > AVRs haben halt den Charm dass der Chip wirklich "dir gehört". Du > bestimmst alles. Und ich hab das Gefühl das ist etwas das dem TE wichtig > ist. Ist eigentlich der wesentliche Punkt, warum ich das machen möchte. Ich hab es satt, z.B. im PC-Bereich immer auf die Soft- bzw. Hardwarehersteller warten zu müssen, bis die sich zusammenraufen und endlich (als Beispiel) x86 mit ARM kompatibel machen. Deswegen freu ich mich, mal endlich was komplett selber machen zu können :) Hab auch schon ganz viele Ideen, mal schaun wie schnell sich das alles umsetzen lässt ^^ Ist erfreulicherweise aktuell das günstigste Hobby, das ich je hatte.
:
Bearbeitet durch User
Heinz L. schrieb: > Ich weiss nicht wie's bei dir am Anfang war, Wozu das? Aber wo du fragst: Ich hatte tatsächlich als Bub von so etwa 10 Jahren mit der ECC81 angefangen, Gegentakt-Oszillator, Taste im Kathodenkreis... Und mein Einstieg in die µC Technik hieß "Selberlesen, Selbermachen, Selberlernen" So. Auch von den heutigen Einstiegswilligen erwarte ich mit einiger Selbstverständlichkeit, daß sie Pioniergeist mitbringen und sich selbst bilden. Man hilft ja, wo man kann, da ist es an denen, die da nach Hilfe fragen, selbige auch anzunehmen. Und du solltest nicht in voreilender Bedenksamkeit so reden, als hätte der TO weder ne ruhige Hand noch genug Grips zum Lesen und Sich-Weiterbilden. Argumente wie "das hab ich in der ET Vorlesung nicht gehabt" oder so übersetzen sich für mich beim Lesen zu einem ganz herben Schimpfwort. W.S.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.