Ich habe früher viel mit PICs gemacht. Allerdings waren die immer
autark, eigene Schaltkreise ohne Verbindung zum Computer. Das will ich
ändern.
Ist es sinnvoll, sich in Arduinos einzuarbeiten um eine Verbindung via
USB mit dem PC aufzubauen, quasi als Einstieg in die
Computer-Verbindung?
Der Vorteil mit dem Arduino ist, du kannst sofort loslegen und Software
schreiben. Nach kurzer Zeit mit dem Arduino, fängt man eh an, autarke
Schaltungen mit den AVRs zu bauen. Warum machst du das nicht mit den
PICs?
Nimm einfach irgendeinen FTDI FT232 (USB) Adapter her und fertig ist die
PC Anbindung (serielle Schnittstelle).
Arduino ist eigentlich nur eine spezielle IDE und lib für AVRs - die
Hardware ist 0815 standard. Geht mit PICs natürlich genauso.
Für jemanden, der bereits Erfahrung mit Microcontrollerprogrammierung
hat, ist die Arduino-IDE ziemlicher Blödsinn. Man könnte höchstens den
darauf enthaltenen AVR in gewöhnlichem C programmieren und den Arduino
als SDK nutzen (besonders beim Mega und Nano, welche Controller in SMD
enthalten). Prinzipiell sollte der Bootloader STK-500-kompatibel sein.
Nur scheitert es daran leider in der Praxis, während der kleine Arduino
Uno sich noch problemlos flashen lässt, gibt es beim Mega dank
offensichtlich schlechter Planung extreme Probleme, mit avrdude ein
eigenes Hexfile aufzuspielen.
Die USB-Verbindung ist übrigens eine gewöhnliche UART-Verbindung über
einen Wandlerchip, der einen virtuellen COM-Port erstellt. Ist also mit
jedem beliebigen Microcontroller, ob AVR, PIC oder sonstwas und einem
FTD232 genau so möglich.
PIC-Liebhaber schrieb im Beitrag #2532298:
> Allerdings waren die immer> autark, eigene Schaltkreise ohne Verbindung zum Computer.
Ich empfinde das gerade als Vorteil, wenn Geräte funktionieren, ohne das
ständig ein PC vor sich hin brummen muß.
PIC-Liebhaber schrieb im Beitrag #2532298:
> Das will ich> ändern.
Dann mußt Du eine Schnittstelle programmieren.
Am einfachsten ist die UART, daher für Anfänger sehr zu empfehlen.
USB und Ethernet sind deutlich komplizierter, sie zu verstehen, dauert
ewig.
Daher kann man da nur fertige Libs als Black-Box benutzen. Man sollte
also schon Erfahrungen damit haben, wie man auf MC- und PC-Seite, Libs
bzw. Devicetreiber in seine Programme einbindet.
Peter
Kan asta schrieb:> Arduinos sind für Kinder mit Mac-Books, die Leds zum Leuchten bringen> wollen, ohne einen Lötkolben anfassen zu müssen.
Sehr gut, Kan asta, sehr gut! Jetzt geh wieder raus, der Pappa muss noch
etwas arbeiten.
...oder die Kinder?
Nee mal im Ernst, wenn ich Arduino höre denk ich immer an Stümper. Die
Erfahrung lehrt, dass jemand, der die Hardware nicht kennt, auch keine
vernüntige Software schreiben kann.
PIC-Liebhaber schrieb im Beitrag #2532298:
> Ich habe früher viel mit PICs gemacht. Allerdings waren die immer> autark, eigene Schaltkreise ohne Verbindung zum Computer. Das will ich> ändern.>> Ist es sinnvoll, sich in Arduinos einzuarbeiten um eine Verbindung via> USB mit dem PC aufzubauen, quasi als Einstieg in die> Computer-Verbindung?
Wie von "ROFL"Copter schon geschrieben gibt es von Microchip PICs mit
USB OnBoard incl. einem guten Framework für USB!
Wenn du über USB mit dem PC Kommunizieren willst, dann geht es für den
Bastler unter Berücksichtigung aller Umstände mit kaum einer Plattform
leichter als mit PIC.
Viele PICs mit USB On Board gibt es in DIP Gehäuse, somit voll
Lochrastertauglich. Bei so gut wie allen Versendern und vielen
"normalen" Elektronikläden für kleines Geld zu bekommen, also alles
andere als Exoten. (Ab ca. 2 Euro)
Tip:
Schaue die mal die Seite zum einfachsten USB StarterKit an:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en536385
Wenn du die 40 Euro nicht ausgeben möchtest -was für einen Bastler auch
nicht nötig ist- reicht es sich einfach die Bedienungsanleitung und die
Codebeispiele runterzuladen.
In der Bedienungsanleitung steht hinten der Schaltplan des Boards drin,
ist schon sehr Minimal, aber gewisse Dinge wie die AD Wandleransteuerung
kannst du sogar zusätzlich weglassen.
Diesen Schaltplan baust du dir dann auf Lochraster nach, nimmts die
Codebeispiele und Übungen und was du sonst noch oben auf der SEite
findest und legst einfach los. Kein Gehampel mit irgendwelchen
Schnittstellenbausteinen wie FTDI usw.!
Der hier verwendete PIC ist der 18F13K50 bzw. es geht auch 18F14K50.
Kostet bei Reichelt gerade einmal als DIP 2,10 Euro. Dazu noch einen
Quarz und die beiden LAstkondensatoren für den Quarz. Das ist die
Minimalbeschaltung ab der USB läuft.
Für weitere Experimente sind dann noch der MAX232 und eine SubD Buchse
dabei um selbst einen USB <> RS232 Wandler zu bauen, den du notfalls
sogar als Ersatz für KAUFBARE Wandler nehmen kannst wenn gerade keiner
zur Hand ist, sowie ein Poti, ein paar LED und Vorwiderstände. Alles
zusammen kostet vielleicht gerade mal 10Euro, wenn nicht weniger.
Damit hast du einen Prima EInstieg!
Gruß
Carstn
Kan asta schrieb:> Nee mal im Ernst, wenn ich Arduino höre denk ich immer an Stümper. Die> Erfahrung lehrt, dass jemand, der die Hardware nicht kennt, auch keine> vernüntige Software schreiben kann.
Das mag sein. Leider fällt das Wissen ja nicht vom Himmel in die Köpfe.
Es gibt viele Softwareentwickler, die so das erste mal Zugang zur
Hardware bekommen und nicht jeder hier im Forum der sich mit µC
beschäftigt kommt von der Elektronik-Seite.
Von dem PIC18F14K50 würde ich persönlich abraten, da dieser nur mit
einem bspw. Pickit2 nicht zu debuggen ist.
Zitat von der Produktseite: "A debug header is required for this
device".
Dafür muss man 50 USD hinblättern...
"Teilenummer: AC244023 - Processor Extension Pak for PIC18F1xK50
This processor extension pak is designed for those who wish to debug
the PIC18F13K50 and PIC18F14K50 microcontrollers in circuit. The
included header will interface with MPLAB REAL ICE, MPLAB ICD 2, MPLAB
ICD 3, PICkit 2, and PICkit 3. Includes RJ-11 adapter and pin header.
This Processor Extension Pak is mandatory for debugging code since the
production silicon does not have on-board debugging capability."
Also dann vielleicht doch lieber einen mit "debugging capability"
onboard.
Kein Name schrieb:>>Ist es sinnvoll... ?>> Na klar doch. Ein Blick über den Tellerrand ist immer sinnvoll.
Aber nur wenn der Blick ins weite geht und nicht vom weiten GEräumigen
Suppenteller in die kleine Hochwandige Süßstoffdose!
Nee, mal im ernst. ZWei Punkte:
1.)
Das Arduino System ist ja explizit dafür entworfen worden um "LAIEN"
(hier wird immer von Künstlern, Designer usw gesprochen) in die Lage zu
versetzen schnell eine gewisse Anzahl von Aktionen ausführen zu lassen.
Es funktioniert nur mit einer sehr begrenzten Zahl an Bausteinen, man
ist also nicht nur auf eine Familie, sondern sogar auf eine kleine
Teilmenge einer Familie angewiesen!
NAtürlich kann man Arduino HArdware auch ganz normal unter verwendung
normaler Oberflächen und gängigen Designtools nutzen, aber ich denke das
war nicht inhalt der Frage.
Ich habe nichts gegen das System Arduino an sich. ICh finde es ja sogar
absolut positiv das so eine Einstiegshürde gesenkt wird und so der
Interessenkreis verbreitert wird. Aber ich habe leider in letzter Zeit
gehaäuft die Bekanntschaft von PErsonen gemacht die sich allen ernstes
für wer weiß für tolle Programmierer hielten weil sie ja SONSTWAS schon
entwicklet haben, wenn man sie dann aber an ein ernsthaftes Projekt
ranliess wurden die Augen größer und größer wenn dann auf einmal die
Arduino typischen vereinfachungen nicht mehr zur Verfügung standen oder
gar dinge gefordert wurden die für die Arduino Zielgruppe einfach
Irrelevant ist!
Daher finde ich es einfach unseriös diesen Leuten zu vermitteln das die
Fähigkeit Arduino zu programmieren mit vollwertiger µC Programmierung
gleichzusetzen ist.
Wenn ich beispielsweise jemanden der bisher nur AVR unter verwendung von
"normalen C" programmiert hat an ein Projekt mit PIC oder einem ARM
(Ohne Betriebssystem) heranlasse, so wird er zwar erst aufgrund der
Detailunterschiede ins Stocken kommen, nach einer kurzen
Einarbeitungszeit, oft schon nach 1-3 Tagen, auf der neuen HArdware
zumindest absolut gleichwertigen Code wie bisher auf den AVR schreiben.
Bei den Arduinonutzern ist das leider nicht der Fall!
Daher halte ich den Sprung von einer "normalen" Umgebung auf Arduino für
einen Rückschritt, keinesfalls für einen Fortschritt.
2.)
Der TE fragt nach der Sinnhaftigkeit eines Systemwechsels weil er ein
bestimmtes Ziel erreichen möchte. Er arbeitet jetzt aber bereits mit
einem System wo sich das Ziel bereits sehr gut erreichen lässt.
Es gibt natürlich auch andere Wege um zum ziel zu kommen. PIC ist sicher
nicht das einzig selig machende. AUch und gerade nicht bei USB.
Aber die Alternativen sind halt höchstens "genauso geeignet", aber
keinesfalls besser geiegnet.
Gruß
Carsten
P.S.: Von dem ständigen Religionskampf abgesehen bin ich der Meinung,
das man sich zwar als Einsteiger definitiv auf ein System festlegen
sollte, sobald man aber Sattelfest ist und daran denkt sich halbwegs
Professionell in der µC Welt zu bewegen definitiv mehrere Familien
kennen sollte.
Alle kann man nicht kennen, aber auch wenn man nur 2-3 Weitere kennt
fällt einem der Umstieg auf jede weitere Familie sehr viel leichter und
man nähert sich immer weiter dem Ziel an den µC nach dem Projekt zu
wählen und nicht das Projekt nach den Fähigkeiten seines µC!
ROFLCOPTER schrieb:> Von dem PIC18F14K50 würde ich persönlich abraten, da dieser nur mit> einem bspw. Pickit2 nicht zu debuggen ist.> Zitat von der Produktseite: "A debug header is required for this> device".> Dafür muss man 50 USD hinblättern...>> "Teilenummer: AC244023 - Processor Extension Pak for PIC18F1xK50> This processor extension pak is designed for those who wish to debug> the PIC18F13K50 and PIC18F14K50 microcontrollers in circuit. The> included header will interface with MPLAB REAL ICE, MPLAB ICD 2, MPLAB> ICD 3, PICkit 2, and PICkit 3. Includes RJ-11 adapter and pin header.>> This Processor Extension Pak is mandatory for debugging code since the> production silicon does not have on-board debugging capability.">> Also dann vielleicht doch lieber einen mit "debugging capability"> onboard.
Den DEBUG HEADER gab/gibt es auch einzeln für 17Euro. HAlt wie der auch
beim LOW PIN COUNT USB DEV Board dabei ist. (Währe ja sonst auch
Blödsinn das Board incl. normalen PIC UND HEADER für 40 Euro zu
verkaufen und den Debug Header allein für 36...
Aber davon abgeshen stimmt es soweit, ohne den HEader ist ein Debuggen
mit einem Debug-Fähigen Programmer nicht möglich. ISt eine kleine
Einschränkung. Für dne Einstieg denke ich das es aber weniger
Problematisch ist, zumal da ja die Codebeispiele vorliegen und es
jederzeit möglich ist "aufzurüsten". Es ist ja nicht so das man in eine
TEchnologie investiert und die dann nicht mehr verwenden kann.
Sobald etwas Erfahrung vorhanden ist (und auch erst dann nutzt das
Debugging) kauft man sich einfach den nächstgrößeren PIC mit USB und
OnBOard Debugging, z.B. den GROßEN und 5V toleranten PIC18F4550 ( für
4,85 Euro bei Reichelt) oder dessen kleineren Bruder den 18F2450 (3,05
Euro bei Reichelt) und kann damit debuggen. Evtl. würde ich die sogar
in einem Zug mitbesorgen.
Für die ersten Schritte ist der 18F14K50 aber gar nicht schlecht, weil
der Schaltplan und die Codebeispiele des LPC_USB_Dev.Board darauf
ausgelegt sind und damit sofort laufen. Dadurch hat man dann eine
Funktionierende Referenzplattform und kann direkt auch vergleichen wenn
man auf größere µC umschreibt.
Gruß
Carsten
> Daher halte ich den Sprung von einer "normalen" Umgebung auf Arduino für> einen Rückschritt
Nach einigen Kriterien ja. Nach anderen nein.
Zur Zeit bekomme ich mein Geld für SAP/Java Mausgeschupse. Intellektuell
und technisch totales Desaster. Betrachtet man das Verhältnis zwischen
Aufwand und Einkommen sieht die Sache ganz anders aus.
Der eine will eine ausgefeilte, elegante, grenzenlose Technologie. Der
andere will seine künstlerischen Vorstellungen möglichst einfach
umsetzen.
Fortschritt und Rückschritt sind da die falschen Worte.