Eine weitere Idee wäre, den im Controller vorhandenen Oszillator entsprechend zu vergewaltigen, also statt Quarz und Bürdekondensatoren wird ein hochohmiger Widerstand eingebaut, und der 10MHz-Sinus wird kapazitiv am Eingang des Oszillatorschaltkreises eingespeist. Damit läuft dann der Controller mit exakt 10 MHz Betriebsfrequenz.
Ob diese Vorgehensweise machbar ist, muß natürlich der OP entscheiden. Das hängt vom geplanten Einsatz ab.
Keine Ahnung, ob das mit den PICs so läuft, mit den AVRs vom selben Hersteller geht es jedenfalls.
Didn't find your answer? Ask the community — no account required.
Hallo!Ich habe eine PC-Karte mit reichlich TTL-Ports.Nun möchte ich eine...
R
Ralph Aichinger
Das geht prinzipiell, ist auf der Arduio-Plattform aber nicht so toll, weil alle Libraries auf 16MHz und ganzzahlige Vielfache+Teiler eingestellt sind. Wenn die serielle Schnitt- stelle 6000 baud spricht, so wird sie die einzige bleiben die das tut ;)
Vermutlich nicht, siehe oben. Ich brauche neben der seriellen Schnittstelle auch die Treiberlibraries für diverse Displays. Überall die Zeitabhängigen Dinge zu fixen stelle ich mir sehr schwer vor.
/ralph
A
Andreas Graebe
Am Sat, 07 Sep 2019 08:54:31 +0200 schrieb Ralph Aichinger:
Das mit Arduino wusste ich nicht, woher auch. Im Ursprungspost war von einem PIC die Rede. Soweit ich weiß, ist Arduino aber auf AVRs aufgebaut.
Ich habe mir mehrfach die Arduino-Geschichten angesehen, und war entsetzt. Das muss das neue BASIC sein. Grauenhafte Syntax, und noch grauenhaftere Libraries. Die Hardware ist ja soweit in Ordnung, aber zum Glück kann man die Dinger ja auch mit vernünftigen Tools programmieren.
Wie es aussieht, ist das bei den Arduino-Libraries also hardcodiert. In einer anderen Programmierumgebung wird die Taktfrequenz per #define vorgegeben, und alles Zeitabhängige wird zur Übersetzungszeit aus dieser Vorgabe ermittelt. Finde ich viel entspannter.
R
Ralph Aichinger
Ja, es ist das neue Basic. Damit kriegen auch Laien es hin, binnen einer Viertelstunde eine LED blinken zu lassen. Da hat man auf anderen Plattformen noch nicht mal das IDE installiert.
Zielgruppe waren ursprünglich Künstler, mittlerweile ist das im Prinzip jeder über 10 oder 12 Jahre, denk ich (Bastler, Schul- kinder, ...).
Naja, im Wesentlichen ist das C/C++. Es wird ein normaler AVR bzw. ARM- C-Compiler verwendet, mit einem zusätzlichen Preprocessor-Schritt. Die Syntax ist ident, außer daß man kein main() hat, sondern ein setup() und loop() und main() vom Preprocessor ergänzt wird.
Wenn du die Syntax grauenvoll findest, dann mußt du auch C++ grauenvoll finden.
Naja, dafür gibt es für *alles* Libraries. Ich behaupte mal für 90% aller Anwendungen kann man Libraries für alles an Hardware verwenden und braucht nur mehr etwas "gluecode" dazwischenstöpseln.
Für viele Anwendungen gibt es mehrere Libraries, z.B. fürs ansprechen von GPS gibt es mindestens 3, eine einfachere, eine die schneller ist ...
Es ist halt ein richtiges Ökosystem.
/ralph
H
Helmut Schellong
Ich habe bei Mikrokontrollern noch nie Libraries verwendet. Sondern C-Funktionen als Schnittstelle und jeweils eine kleine Assembler-Library (in C-Quelle) entwickelt.
Der Grund: Meine/unsere Ansprüche sind viel zu hoch.
R
Ralph Aichinger
Es ist oft auch in kommerziellen Umgebungen nicht lohnend für Standardaufgaben sowas auf niedriger Ebene selbst zu machen.
Ich kenen z.B eine Firma die macht Installationen für Messen, da zahlt niemand die Manntage, die es kostet ein Display mit Assemblercode anzusprechen, selbst aus dem Datenblatt abgeleitet, statt eine fertige Arduino-Library zu verwenden, mit der es eine Sache von 10min ist.
Klar, in einem Haushaltsgerät mit 10.000en Exemplaren wird man das nicht machen, aber in einem einmaligen Messeaufbau, der nach 14 Tagen zerlegt wird, da muß man Assembler schon gut argumentieren können. Oder für einen Protypen für einen User- Tests, der eventuell 10 mal verändert wird, bis er in die Produktion geht, etc.
/ralph
R
Rainer Knaepper
snipped-for-privacy@pi.h.or.at (Ralph Aichinger) am 07.09.19 um 12:41:
Bei Echtzeitanforderungen wird es hakelig. Die Standard- Schrittmotorfunktionen beispielsweise drehen den Motor wunderbar bequem fünfkommadreivier Umdrehungen in eine Richtung. Ok, einen Endschalter kann man in der Zeit dann leider nicht abfragen...
Die eingebaute PWM-Funktion ist beim UNO und NANO auf irgendwas mit drei oder vier kHz festgenagelt. Das ist sehr schön für LED- Blinkenlights, aber bei Motoren doch sehr lautstark.
Ja, kann man alles umschiffen, aber dann fängt die Frickelei an.
Man kommt sehr schnell und recht einfach zu vorzeigbaren Ergebnissen und kann auch eine Menge lernen dabei. Von daher ist das Zeug wirklich nicht so schlecht und macht viel Spaß, solange man innerhalb dieses Ökosystems bleibt.
Rainer (der gerade eine Idee verfolgt, für die er PWM mit deutlich über 20kHz benötigt, was die AVR-Hardware problemlos hergibt, beim Arduino aber eben zurechtgestrickt werden muß, damit "eingebaute" Funktionen nicht dazwischenfunken)
H
Helmut Schellong
Natürlich war es bei uns lohnend. Es sind Industrie-Produkte, die bis zu 15 Jahre gepflegt wurden. Die Stückzahlen liegen in den Tausenden.
Es ist selten, daß man es als Entwicklungsingenieur regelmäßig mit Stückzahlen von nur 1 bis 3 zu tun hat.
H
Hans-Peter Diettrich
Am 07.09.2019 um 11:54 schrieb Andreas Graebe:
So sieht das vielleicht von außen aus, für jemand der keine Lust hat sich das Objekt seiner Kritik näher anzusehen, in den Bibliotheken ist das aber alles einstellbar. Wie sonst können unterschiedliche Controller mit 8-200MHz mit dem gleichen Anwendungscode zum Funktionieren gebracht werden, oder derselbe Controller wahlweise mit 1, 8 oder 16 MHz laufen?
DoDi
H
Hans-Peter Diettrich
Am 07.09.2019 um 14:45 schrieb Rainer Knaepper:
Im Forum findet man aber auch schon fertige Lösungen, wenn man nur danach sucht oder fragt. Dann erfährt man auch, welche Änderungen sich auf welche Pins gleichzeitig auswirken, was für Neulinge überraschend sein kann.
Es bleibt aber jedem überlassen, alle bereits von anderen Leuten gemachten Fehler neu zu erfinden - schließlich hat MS Windows nach genau diesem Verfahren zusammengeschustert :-]
DoDi
R
Ralph Aichinger
Hängt immer vom Arbeitsfeld ab. Wenn jemand was für Messestände, künstlerische Installationen, industrielle Steuerungen für spezifische Nischen, Prototypen etc. macht, dann ist man schnell bei einstelligen Stückzahlen.
Letztendlich hat die Arduino-Plattform (sicher auch andere Systeme, aber Arduino vor allen anderen) die Microcontroller aus der Nische der Produktentwicklung für Großserienelektronik rausgeholt und sie für viele Dinge erst zu einer gangbaren Lösung gemacht.
/ralph
R
Rainer Knaepper
snipped-for-privacy@aol.com (Hans-Peter Diettrich) am 07.09.19:
Ich werde wohl das STK500 wieder hervorkramen und einen tiny85 nehmen. Ein 25 würde auch reichen, aber die 85er sind halt Soda. Die Software kann ich in großen Teilen von einem älteren Projekt mit dem tiny15 übernehmen.
Rainer
R
Rafael Deliano
In den 80er Jahren wurde sowas propagiert:
formatting link
Idee von Feichtinger war nicht schlecht, wahrscheinlich bei Ciarcia/Byte geklaut. Aber der Klotz hatte praktisch Null Softwaresupport. Und es gab bald viele Varianten ...
In den 90ern auf Krüppel-Controller aber nun mit HLL:
formatting link
IO und Rechenleistung recht nutzlos. Preis aber auf breites, technisch wenig versiertes Publikum abgestimmt dem das egal war. "Basic Stamps gibt es heute in vielen Ausführungen"
Und jetzt gibts Arduinos und Raspberry Pie. Und viele Varianten von beiden. Damit machen sie sich natürlich kaputt. Einplatinencomputer ohne Software sind nutzlos. Vorgefertigte Software verträgt kaum mehr als eine fixe, stabile Grundvariante.
Die Dinge kommen, die Dinge gehen, nur FORTH bleibt bestehen. Ein altgedienter C-Programmierer kriegt sein Projekt meist auch gemacht, muß aber härter dafür arbeiten.
MfG JRD
R
Rafael Deliano
Wenn die Anwendung mangels Komplexität nicht zwingend einen Controller erfordert:
formatting link
MfG JRD
A
Andreas Neumann
Was ist eine "Standard"-Schrittmotorfunktion?
Welcher "Standard" ist das?
Link?
R
Ralph Aichinger
Ich kann mir auch nicht vorstellen, daß das besonders einfach zu programmieren war.
Da hat vermutlich nicht geholfen, daß bis in die 90er- Jahre Basic schon ziemlichst das uncoolste an Programmier- sprachen war, was man sich vorstellen kann. Ich kann mich immer noch an die Werbungen in der c't erinnern, und das war schon eine andere Zielgruppe als es heute die von Arduino und Raspberry Pi ist.
Ja, trotzdem glaub ich nicht, daß viele Leute heute noch neu in das einsteigen. Das verwenden halt die weiter, die in den 90ern drauf abgefahren sind.
Nein, glaube ich nicht. Aus mehreren Gründen:
Raspberry Pi und Arduino sind sehr unterschiedliche Plattformen. Ersteres wird meistens mit einem Betriebssystem (Linux) verwendet, letzteres meistens ohne. Ersteres hat Winz- CPUs, letzteres mittlerweile bis zu 4 Cores und 4GB, also durchaus auf dem Niveau eines Desktop-PCs von vor 5 Jahren oder so.
Beide achten peinlichst genau auf Kompatibilität innerhalb der Familie. Beim Raspberry Pi geht das soweit, daß man die
64bit-Funktionen der neueren CPUs nicht nutzt um mit den alten kompatibel zu bleiben und die Plattform nicht zu spalten. Bei Arduino ist das gemeinsame IDE mit seinen Libraries das verbindende. Ich hab hier ein paar Controller liegen und kann mehr oder weniger transparent zwischen AVR und ARM und den Produkten verschiedener Hersteller hin- und herwechseln. Dh. keine binärcode-Kompatibilität, aber auf Sourceebene geht das ziemlich problemlos, solange man keine hardwarenahen Features wie Timer nutzt. Libraries liegen meist für alle Architekturen vor.
Die Stückzahlen sind um soviel größer als alles andere was es in dem Bereich jemals gegeben hat: Bei den Raspberry Pis sind es mehr als 25 Millionen Stück. Bei den Arduinos ist es schwer zu sagen, aber die Stückzahlen von offiziellen Boards lagen laut Wikipedia 2013 700.000 "offizielle" Boards verkauft, man kann aber davon ausgehen, daß ein vielfaches von China-Nachbauten um 1-10 Euro über den Ladentisch gegangen sind. Mag sein, daß sich die Basic Stamp auch mal in Großserienprojekte verirrt hat, aber Millionenstückzahlen muß man bei Entwicklerboards erst mal erreichen.
Die Software gibt es. Der Raspberry Pi kann auf alles zurückgreifen was es in Debian gibt, das sind irgendwo um die 46.000 Pakete, was nicht "nichts" ist.
Der Arduino kann auf ein Ökosystem von hunderten Libraries zugreifen, bei denen man meistens zwischen den Modellen nur die Pins umkonfigurieren muß (muß man meistens sowieso einstellen).
Und was noch wichtiger als die Software ist: Es gibt tausende Tutorials, die bis ins kleinste Detail alles erklären, nicht nur die Hardware- sondern auch die Softwareseite. Wenn man will, daß alles genauso aussieht wie in den Tutorials, dann kauft man sich halt das Arduino-Standardmodell, den "Uno". Oder man kann soweit abstrahieren, daß die LED halt auf 11 statt auf 13 hängt oder so, wenn das nicht eh erwähnt wird:
formatting link
Nach solchen Tutorials schafft es u.U. ein Volksschüler eine LED anzusteuern oder andere einfache Aufgaben zu lösen. Beim Raspberry Pi ist das nicht schwerer, nur halt mit Betriebssystem.
Was ich damit sagen will: Ich will niemanden zu diesen zwei Ökosystemen bekehren, aber ich halte das heute für die beiden Plattformen um Programmieren überhaupt und alles was mit Hardware und Elektronik interagiert im besonderen zu lernen. Einem Schulkind würde ich heute nichts anderes als eines dieser beiden Systeme empfehlen.
/ralph
R
Ralph Aichinger
Gemeint war wohl die Standard-Schrittmotor-Library der Arduino-IDE:
formatting link
Siehe z.B.:
formatting link
/ralph
A
Andreas Neumann
"Mein" EMUF (mit 65C02) hat nie richtig funktioniert, damals fehlte mir sowohl Expertise als auch die Geduld um herauszufinden, warum. Schließlich habe ich ihn enttsorgt, ohne daß er jemals was "richtiges" machte.
Ebend.
Da war ich peripher im Dunstkreis mit dabei, wenn auch nicht direkt an der Entwicklung beteiligt. Habe nie verstanden, warum die Leute das kaufen.
Vermutlich war es das und das "Habenwollen".
Mit beiden arbeite ich seit längerem, wenn auch nur noch hobbymäßig. Für das Preis/Leistungsverhältnis finde ich die Teile richtig gut. Für professionelle Anwendung eher nicht.
Das verstehe ich nicht.
Da bin ich aussen vor, Forth kenne ich nur vom Hörensagen.
Mag sein, meine Projekte (zuletzt beruflich, jetzt nur noch privat¹) laufen alle mit C. Damit habe ich bisher alles hingekriegt.
¹Das bedeutet nicht daß ich aus dem Berufsleben raus bin, ich mache nur inzwischen was völlig anderes.
W
Wolfgang Allinger
Hab in 40a als Entwickling zu 95% Einzelstücke entwickelt, besonders nachdem ich selbständig in meinem Ing.Büro war. Ich hab dan typischerweise den Prototyp mit allen Unterlagen verkauft, incl. Layout und SW. Gelegentlich auch mal 3-10 Handmuster.
Habe nur 2-3x Kunden gehabt, denen meine Einzelstücke so gut gefallen haben, dass sie sie mehrfach (von mir) bauen liessen.
Mein grösster Kunde hat nach und nach 20 Exemplare bestellt (hat mir einen Gesamtumsatz von >>250.000EUR eingebracht :) und SIEMENS und hp aus seiner Fertigung rausgeschmissen. hp hat nichtmal nachgehakt und SIEMENS gab die beleidigte Leberwurst :) Ich hab dann einigen zusätzlichen Umsatz gemacht mit Anpassung der ursprünglichen Mess HW&SW auf andere Fertigungslinien.
Der Kunde hat ohne mit der Wimper zu zucken auch Mehrungen von 125.000DM bezahlt, dann liefen 3 für unterschiedliche Aufgaben/Seriengeräte.
Hinterher hab ich erfahren, warum: der schob pro Tag für 100.000DM Geräte über jeden meiner Prüftische, statt 45min Handfummellei nur noch 1-2min für 2 Prüflinge pro Arbeitsplatz. Incl. 100% Dokumentation über die Justierung etc. Und latürnich 100% justierte Geräte. Hinterher +-1% garantiert, vorher +-5% per aufwändigem Handabgleich.
Ich hab gutes Geld bekommen, aber wenn ich das vorher geahnt hätte, hätte es problemlos sehr viel mehr werden können. Hinterher ist man immer schlauer.
Ich glaube, der hat seine Preise nicht (oder nur etwas) angehoben, die bessere Genauigkeit zum ähnlichen Preis (bei einem Bruchteil der Justierkosten), das hat seinen Marktanteil so angehoben, dass er Weltmarktführer wurde und wohl auch noch ist :)
Saludos (an alle Vernünftigen, Rest sh. sig) Wolfgang
H
Helmut Schellong
Richtig, aber es ist sehr selten, daß man als Entwicklungsingenieur bei einer solchen Firma arbeitet, die von entwickelten Produkten nur jeweils 1 bis 3 Exemplare herstellt.
Anders erklärt: Es gibt vielleicht 400000 verschiedene Produkte, von denen jeweils einige Hundert bis Millionen hergestellt werden, aber nur
250 Produkte, von denen jeweils nur 1 bis 3 hergestellt werden.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.