PIC Anfänger Projekt

Begonnen von picass, 02.12.2022, 17:45:46 CET

Vorheriges Thema - Nächstes Thema

picass

Unser Forenmitglied Volker hat in einem anderen Fred laut über die Möglichkeit nachgedacht, den von Microchip für das PICkit3 Starter Kit entwickelten Kurs mit seinen dreizehn Programmen/Lektionen zu überarbeiten. Damit rennt er bei mir offene Türen ein, denn solch ähnliche Gedanken trieben mich schon seit einiger Zeit um, weswegen ich ja schon ein Board als Ersatz für das nicht mehr erhältliche ,,PICkit Low Pin Count Demo"-Board – ach, ich liebe diesen Namen – nach empfunden habe.

Kurzum, ich schlage die Eröffnung des PAP vor, des PIC Anfänger Projektes. Die Zielgruppe ist klar, es gälte, sich um die Inhalte wie z.B. Hardware und Software zu bemühen.

Hardware....., das wäre was für mich und das erste Board ist ja bereits fertig und wird von Aisler gerade ab heute gefertigt. Dieses erste Board ist für einen PIC18F14K22 vorgesehen und zwar in der SO-Version. Natürlich könnte man auch einen DIL-Sockel da rein plazieren, aber für den Anfang.... Wenn es ein erstes Board gibt, dann müsste es auch.... is klar. Das Zweite ist auch schon in der Pipeline und könnte z.B. als Erstes ein EEProm enthalten, um auch diese eine der dreizehn Lektionen mit praktischem Leben füllen zu können. Angedacht sind dann noch eine – in Worten: 1 – 7seg-LED-Anzeige, vier mehrfarbige LEDs, - die beiden letzten Ausstattungsmerkmale, um mit Tabellen experimentieren zu können -, dann ggf. noch einen OP rein, evtl. ein Relais und das könnte reichen. Das mal als Anregung.

Software: da seid ihr alle aufgerufen! Ein purer Traum wäre es, alle 13 Lektionen in diesen Sprachen vorliegen zu haben:
- Assembler MPASM / bis MPLAB X 5.35
- Assembler MPASMX des XC8 Compilers / ab MPLAB X 5.40
- ,,C"
- Basic

So viel zum Traum. In der hatten Realität wäre es gut, wenigstens die ersten 5 bis 10 der Lektionen in aktueller ,,Übersetzung" und jeder Sprachform vorliegen zu haben. Selbst könnte ich die Progs unter Punkt 1 durch forsten. Den verbleibenden, kümmerlichen ,,Rest" dann...... Freiwillige vor und vergesst nicht: es geht auf Weihnachten zu und da soll man gute Taten begehen!

Von einem solchen Projekt wäre ich hochgradig überzeugt. Es ist wohl keine gewagte These, dass die ersten Schritte beim Zugang auf MicroController die Entscheidenden sein werden: gelingt der Einstieg, dann kann es weiter gehen. Aber an den Hürden des Einstiegs sind schon ganze Heere von  Hoffnungsvollen und mit besten Absichten Gestartete gescheitert. Hilft man da Anfängern nicht mit scheinbar klugen Sprüchen, sondern mit auf Anhieb funktionierenden Programmen auf bezahlbarer Hardware in den Sattel, dann haben beide Seiten gewonnen. Aber bitte beachten: die üblichen Prog-Schnipsel und Hinweise in die weite Inet-Welt sind nicht nur nicht hilfreich, sondern häufig einfach nur kontraproduktiv. Will sagen: die Programme müssen wirklich vollständig sein und deren Ausführung muss ohne Verweise auskommen, dass noch dieses und jenes zu laden und eigentlich  ,,dort" zu finden sein müsste. Eben schlicht so, wie Microchip es vorgestrampelt hat: die Progs sind vollständig, funktionieren und erklären das Wesentliche, rsp. Neue.

In diesem Fred könnten wir besprechen, was zu tun wäre, die einzelnen Schritte  planen, über die Ausstattung von Boards debattieren, evtl. auch über so was Unangenehmes wie Geld reden, meckern und loben, und ,,mit mir nicht !"-Äußerungen anbringen.
Oder versuchen, den Traum zu leben.
Grüße, picass

pic18

mal ein frage, was für welche Programme / Lektionen sind das? Ich bin hier nicht auf dem neusten Stand :'(

picass

#2
In dem Nachbar-Fred "PICkit Low Pin Count Demo Board : Nachbau" - auch so zu finden unter:
https://www.pic-microcontroller.de/index.php?msg=1077htt
sind Links gesetzt, einer davon führt zum Download dieses Programmier-Kurses mit seinen 13 Lektionen.
Kurz gesagt: wer vom MicroController-Programmieren noch keine Ahnung hatte, sich aber das Microchip PICkit3- Starterkit zulegte, die passende MPLAB-Umgebung installierte, der hat nach dem Abarbeiten dieser 13 Lektionen ein sehr stabiles Grundgerüst an Programmier-Techniken je nach Wahl in Assembler und/oder "C" und kann wunderbar eigene Programme entwerfen! :)

Unser Job könnte sein, für das nicht mehr verfügbare Starterkit einen mindestens gleichwertigen Ersatz zu besorgen - ist in einigen Tagen verfügbar - und die Programme in diesen 13 Lektionen auf aktuellen Stand/Standart zu setzen. Und gänzlich traumhaft wäre es, das Software-Angebot derart auszubauen, dass außer "C" und Assembler z.B. auch noch Basic angeboten würde.

Wirf bitte mal einen Blick in die down-geladenen Microchip-Programme. Zumindest die ersten dürften einen minimalen Aufwand an "Übersetzung" bedeuten, startet dieser Kurs doch mit dem berühmten "Hallo World", was für einen gestandenen Programmierer eher keine Herausforderung sein dürfte. Und auch danach steigert sich der Aufwand sehr betuhlich. :D
Grüße, picass   

vloki

Die Lektionen 1..10 für den 16F... in pic-as Assembler wären schon mal da.

Wie im anderen Thread erwähnt aber ohne Überarbeitete Doku!
Die passende Doku ist für Anfänger allerdings unabdingbar ;-)

Bevor jemand damit anfängt, die Doku zu überarbeiten, sollte ein Konzept dazu da sein.
(z.B. vorhandene Doku mit Fußnoten versehen, die in einem eigenen Dokument ...
oder komplette Neuerstellung...)

Auch für die Aufbereitung des Quellcodes der Beispiele gibt es ja verschiedene Möglichkeiten.
Für jedes Beispiel eigenes Projekt, oder ein Projekt für Alle mit Auswahl über Konfiguration.

Mir gefällt zum Beispiel ein Projekt für Alle Beispiele eines Typs und Compilers.
So etwa wie im Anhang...
MPLABX  XC8  KiCAD

picass

Au man.... da war ja jemand fleißig! Lob, usw... >:D

Bei der Überarbeitung wäre ich eher für eine Neuerstellung. Fußnoten, die auf andere Dokumente verweisen, dienen nicht wirklich der Übersichtlichkeit, jedenfalls kaum für Leute, die eh' um jedwede Orientierung ringen.

Aufbereitung des Quellcodes: wie vor aus Gründen der Übersichtlichkeit wäre ich auch für die Zusammenfassung der Beispiele für je einen µC-Typ und Compiler über ein Auswahlmenü.

In der angebotenen Download-Zip-Datei befinden sich im Unterordner "nbproject" Configurations-Dateien im XMS-Format. Sowohl - wenn ich die im einfachen Editor als auch im Libre-Office mit der Textverarbeitung "Writer" öffne, ergibt sich eine elend lange Datei. Ähm......, ist die zu betrachten oder nur im Prog brauchbar zu nutzen?
Grüße, picass

vloki

Zitat von: picass in 03.12.2022, 16:56:15 CETIn der angebotenen Download-Zip-Datei befinden sich im Unterordner "nbproject" Configurations-Dateien im XMS-Format. Sowohl - wenn ich die im einfachen Editor als auch im Libre-Office mit der Textverarbeitung "Writer" öffne, ergibt sich eine elend lange Datei. Ähm......, ist die zu betrachten oder nur im Prog brauchbar zu nutzen?

 ;D Wenn diese Datei jemand öffnet und dann auch noch versteht,
anstelle einfach das Projekt in MPLABX zu öffnen,
dann braucht er wahrlich keine Anfängerhilfe mehr ;D
MPLABX  XC8  KiCAD

vloki

Zitat von: picass in 03.12.2022, 16:56:15 CETBei der Überarbeitung wäre ich eher für eine Neuerstellung. Fußnoten, die auf andere Dokumente verweisen, dienen nicht wirklich der Übersichtlichkeit,
Sehe ich auch so - ist aber recht aufwändig :-(
MPLABX  XC8  KiCAD

picass

Zitat von: vloki in 03.12.2022, 17:29:34 CET- ist aber recht aufwändig :-(
Das wirft eher beiläufig die Frage auf, wie denn für den Fall der Notwendigkeit und auch derjenigen, in welcher vier Mitglieder fünf Meinungen äußern, entschieden werden sollte.
Da gäbe es ja das Prinzip der Demokratie (Mehrheitsentscheidung). Darüber könnte ich Schlechtes sagen, z.B., dass Entscheidungen in einer Autokratie einfacher zu fällen sind - zumindest für einen! Bei der Gelegenheit: sollten wie einen "Projekt-Boss" wählen? ::) Der dann....!
Im Zweifel oder wenn keine Einstimmigkeit zu erziehlen wäre, würde ich nahelegen wollen, dass derjenige, welcher die Arbeit tatsächlich auszuführen bereit ist, sich den Weg aussuchen darf. Ach ja: brauchen wir noch eine Geschäftsordnung? >:D
Grüße, picass

vloki

Zitat von: picass in 03.12.2022, 18:41:00 CETIm Zweifel oder wenn keine Einstimmigkeit zu erziehlen wäre, würde ich nahelegen wollen, dass derjenige, welcher die Arbeit tatsächlich auszuführen bereit ist, sich den Weg aussuchen darf.
Da habe ich keine Zweifel, dass derjenige das sonst eh nicht macht 8)
MPLABX  XC8  KiCAD

pic18

Ich glaube ich kann Euch hier nicht helfen, da ich noch mit der alten MBLAB-IDE und den Compiler arbeite. :(

picass

Habe übers Wochenende die beiden Board-Entwürfe überarbeitet. Der extravagante SMD-Schalter und der ähnlich ausgefallene winzige Trimmer wurden durch leicht beschaffbare, größere und preiswerte Versionen ersetzt. Dieser Austausch klingt nach ,,nichts", um aber Platz zu schaffen, musste u.a. der ganze Mittelbereich neu geroutet werden. Noch so'ne ,,Kleinigkeit": der Abblock-Kondensator für den µC saß etwas im Abseits. Der hat nunmehr den  optimalst möglichen Platz direkt zwischen den beiden Versorgungspinnen.
Bei der DIL-Version gabs noch ein Schmanckerl: gerade diese DIL-Version ist bei mir in häufigem Programmier-Einsatz, will sagen, da wurde teils dauernd der frisch programmierte µC rausgerupft, später wieder rein gepropft, usw.. Das Rausziehen mittels dieses Spreizwerkzeuges mit den beiden unteren Haken gerät schnell zum Verbiegen mehrerer Pinne, weswegen ich die Methode bevorzuge, mittels eines kleinen Uhrmacher-Schraubendrehers beidseits im Wechsel unter das IC und in die Fassung zu popeln und den µC so heraus zu hebeln. Wofür natürlich Platz zum Hebeln sein muss. Und da war zur Platinenmitte hin evtl. der Jumperblock im Wege. Deshalb wurde der dort auseinander gezogen, sodass gettz voll gehebelt werden kann.
Sind alles nur ,,Kleinigkeiten", aber ein paar Stunden braucht es doch.. fällt unter Produktpflege. ;) 
Grüße, picass

Peter

Oder einen Nullkraft Sockel einbauen.
Dann hat man keine Probleme mehr mit der IC Fassung.
Muss natürlich Platz geschafft werden.

picass

Ja, für User, welche sowas wie eine Serienproduktion planen, wäre das sicher eine Lösung... is klar, die Dinger kosten. Platz schaffen wäre nicht das Prob, im einfachsten Falle würde eine neue, angepasste Platine dann breiter. Da warte ich aber erst mal, ob dafür Interesse besteht. In einem früheren, Jahrzehnte zurückliegenden Kaufrausch hatte ich mal mehrere solcher N-Sockel gekauft, die liegen jetzt hoch und trocken irgendwo versteckt in den Regalen... :-[

@pic18
Mal ganz unabhängig von dem Projekt in diesem Fred: willst du nicht mal auf den MPASM-X umsatteln? Der Umzug ist meiner Ansicht nach eher einfach möglich. Allerdings kann ich nicht beurteilen, ob das auch für den C-Compiler so ist.
Grüße, picass

picass

Zitat von: Peter in 05.12.2022, 10:12:17 CETOder einen Nullkraft Sockel einbauen. Dann hat man keine Probleme mehr......
Stimmt! Also fast!
Peter, du Lurchie, jetzt hast du verschuldet, dass ich angefixt von deiner Idee meine Regale durchforsten musste und - is klar - im allerallerletzten Kästchen gut gesichert, aber ebenso gut verborgen fanden sich die Zif-Sockel. Wer Ordnung hält, ist nur zu faul...Diese Zifs haben allerdings 28 Pinne, was für das Anfänger-Board nicht benötigt wird. Mal sehen, ob sich da noch 'ne Verwendung in einem anderen finden ließe.

Das wirft übrigens nun eine andere, nächste Frage auf: welche Prozessoren sollen in Angriff genommen werden? Für die beiden bisherigen Boards mit 20 Pinn-µCs sind sicher der PIC18F14K22 eine Wahl. Aber da gehts schon mit der DIL-Version los. Die ist nahezu vom Markt verschwunden.

Schaut man bei den üblichen Verdächtigen, also den Großhändlern wie Farnell und Consorten in die Listen, bekommt man runde Augen. Kaum was lieferbar!
Vom "Nachfolge-Typ" für den obigen PIC käme z.B. der PIC18F25K22 in Frage, der hat dann alle 3 Ports voll belegt, was dann zu 28 Pinnen führt. Da gibts nur noch Restbestände in SO-Ausführung, nahezu alle Großen haben da schon nichts mehr. Ganz düster sieht es z.B. bei dem von Microchip als Nachfolge-Typ für den o.g. ..14K22 aus, den PIC18F24Q10. Der ist nirgends zu bekommen, Lieferzeiten frühestens Mai 23, gerne auch Weihnachten 23. Oder so! Da sollten wir uns auch mal Gedanken erlauben, wie und was....

Krass ist übrigens nebenbei gesagt, mal wieder die Liefersituation bei Grafikkarten für PCs. Währen in der Zeitschrift "c't" bereits mehrfach stand, dass die überzogenen Preise des letzten Jahres sich so langsam dem Normal-Niveau näherten, zeigt ein Blick z.B. in die Regale von Alternate, dass es an AMD-Grakas genau zwei Stück überhaupt auf deren HP zu betrachten gibt, zwei Winzig-Dinger für Büro-PCs. Nix, aber auch gar nichts an Mittelklasse- oder High-End-Grakas. Ach ja, die beiden Büro-Dinger sind auch nicht lieferbar, die stehen nur als Bild zur Bewunderung bereit. Was ein Schotter! Lotto war gestern, aktuell ersetzt durch Angebote für Grakas!
Grüße, picass


PICkel

#14
Zum Thema Software:

Ich wäre bereit, an einer Programmiereinführung in mikroBASIC Pro for PIC mitzuarbeiten.
Vorher wäre zu klären:
1. Gibt es überhaupt Interesse daran?
    (Ich vermute, nur Peter nutzt mBPro momentan. Die Free-Version ist bis 2k Maschinencode lizenzfrei.)
   
2. Welche PICs sollen verwendet werden?
    ( Es geht nicht nur um Speicher und Pins, auch interne Register sollten identische Namen haben.)

Ich habe ein voll ausgestattetes Testboard und kann PICs von 8 bis 40 Pins testen, bin also nicht auf spezielle Testplatinen angewiesen.
(Ist unter "Tipps für PIC-Testplatinen" beschrieben.)
Testplatinen mit fest verbauten SMD-PICs halte ich für ungünstig: Nach kurzer Zeit genügt die auf ziemlich spezielle Testfälle ausgelegte Platine nicht mehr den Anforderungen und landet irgendwo in der Schublade.
Der PIC ist dann "vertan".
Zum Testen hätte ich sofort folgende PICs verfügbar:
           
PIC16F882    (28 Pins)   
PIC16F1827    (18)   
PIC16F1503    (14)   
PIC16F1713    (28)   

PIC18F24K22    (28)

Grüße
PICkel

picass

#15
Zitat von: PICkel in 05.12.2022, 19:33:39 CETGibt es überhaupt Interesse daran?

Was 'ne Frage!  >:(  Da fallen mir spontan mindestens drei User ein, die Luftsprünge vor Freude darüber veranstalten würden, nämlich: Ich, ich und ich!

Schön, dass du dich im Forum meldest, und über dein Angebot freue ich mich sehr.

Die Wahl der Waffen, - räusper: der anzuvisierenden PIC-Typen kann nach verschiedenen Argumenten  betrachtet werden. Zu welchem PIC-Typen ich für neige, dürfte bekannt sein. Meine Gründe sind schlicht: zum einen ist der PIC18F14K22 derjenige, welcher auch von Microchip für das Anfänger-Projekt genutzt wurde. Das weit wichtigere Argument ist für mich aber: die Dinger müssen auch beschaffbar sein.

Die aktuelle Verfügbarkeit ist aus meiner Sicht ein absolutes Totschlags-Argument. Sämtliche Verweise auf "gute" oder irgendwie "angesagte" Typen sind vertane Zeit, wenn das nicht zu beschaffen ist. Und gerade Anfänger müssen nicht versiert in Beschaffungsfragen sein, schon gar nicht, wenn es um Stückzahlen wie "eins" geht.

Und bei der Wahl der Gehäuseform sehe ich es genauso. Leider. Normal würde ich sagen, für Anfänger die 20 pol DIL-Version und gut isses. Die Dil-V lässt sich nun mal leicht wechseln, falls man/frau was zerschossen haben sollte und wenn es darum geht, den programmierten Typ in die vorgesehene Anwendungsschaltung zu setzen.

Aber Halt! Ist Letzteres wirklich ein für totale Beginner wichtiges Argument? Aus meiner Sicht nicht. Selbst finde ich, wenn ein Anfänger für ein exakt auf den Anfang zugeschnittenes Board für - sagen wer mal: 15 bis 20 € - ausgegeben hat und das liegt dann anschließend im Regal, dann ist das den Preis nicht nur wert, das ist für einen gelungenen Einstieg in die Welt des Programmierens nichts. Das ist schlicht nichts. Wem das zuviel Geld ist, der sollte es lassen. Das sage ich jetzt absichtlich hart: wer keine Lust hat, das für seinen - wohlgemerkt - gelungenen Einstand zu investieren, der sollte es wirklich lassen.
Auch das noch: die unter uns bekannten und auch hier oder dem Vorgänger-Forum veröffentlichten "universellen Grunglagen-Boards" halte ich für völlig ungeeignet. Die enthalten allesamt Funktionen, die ausschließlich geeignet sind, einen totalen Anfänger vollends zu verwirren. Und schlimmstensfalls gaukeln die einem Anfänger vor: ach, schau an, wenn dieses Boards mit LCD-Ansteuerung etc. als Anfängerboards angepriesen werden, dann kann das Alles ja nur ganz einfach sein.
Und die scheitern dann gnadenlos, weil sie mit der Install und Inbetriebnahme der MPLAB-IDE vor unerwartete Probs gestellt werden und mit der völlig falschen Einschätzung überfrachtet werden.
Pardon, wenn ich so deutliche Töne formuliere, aber ich bin - was die Anforderungen für totale Anfänger anbelangt - ein glühender Anhänger der These: "Keep it simple, stupid!"

Selbst habe ich einen kleinen Vorrat an diesen SO-Versionen für den PIC18F14K22 und - Moment, bitte zwei Min warten...
.....in den 2 min habe ich ein just jetzt angekommenes Paket ausgepackt und - tusch - seit 3 min verfüge ich auch über einen recht winzigen, aber immerhinque vorhandenen Vorrat an SO-Versionen des PIC18F25K22. Damit könnten einige Beginner ausgestattet werden.

Aber bitte: mir geht es nicht um Grundsatzdebatten. Wenn sich andere Lösungen anbieten, evtl. gar aufdrängen: kein Prob! Es muss nur realisierbar sein.
Grüße, picass

PICkel

ZitatNormal würde ich sagen, für Anfänger die 20 pol DIL-Version und gut isses.

Gute Wahl, es gibt nur Eines zu beachten: Nicht alle 20-Pinner haben die gleiche Pin-Belegung!
Identisch sind z.B. PIC16F1829 und PIC18F14K22, während die 20-Pin-Version des PIC16F1826 (gibt's mit 18 oder 20 Pins) letztendlich eine 18-Pin-Version mit 2 zusätzlichen Versorgungspins ist! 

Also: Augen auf beim Controllerkauf!

Gruß
PICkel

Peter

@picass 
Die ZIF Sockel die du da zeigst, passen aber nicht für Pics. Die sind zu breit.

Da es immer mehr Pics nur noch als SMD gibt, habe ich mir mittlerweile eine
Adapterplatine für SMD nach DIL gemacht. So kann man das Board in DIL fertigen
und man steckt dann nur noch die Adapterplatine in den Sockel. Die Pins der Platine
sind so dünn das die IC Fassung nicht ausleiert und hat so beide möglichkeiten von
ICs ein zu setzen. Da die Platinen nicht so gross sind, sind sie auch nicht so teuer wenn
man sie hertellen lässt.


picass

#18
Hab' gerade mal die Liefersituation ,,up-gedated": Vom PIC18F14K22 in der DIL-Version waren bei Mouser von jüngst 3 Stück jetzt noch 2 lieferbar. Aber....., die wollen für FedEx-Express 20 € Transportkosten (TP). Dieses TP gilt für viele andere µC-Typen auch.

Bei Reichelt gibts den PIC16F1829 als DIL vorrätig zu ,,normalen" Transportkosten, das IC  selbst wird mit 4,01 € br veranschlagt. Dieser 16F1829 in DIL hat  - wie PICkel schon schrieb - dieselbe Anschlussbelegung wie der 18F14K22, also könnte er als im Moment greifbare Ersatz-Lösung dienen, wohlgemerkt für Liebhaber der DIL-Version. Aber immerhin ein Trost im Tunnel wär's schon.

Selbst würde ich nach wie vor den 18F14K22 in SO-Form bevorzugen. Aber einen Glaubenskrieg werden wir nicht entfesseln müssen, es ist ja beides möglich – gerne auch gleichzeitig. Alles, was weiterhilft.... Beim Programmieren wird es ja – vermute ich mal – keine Unterschied geben, wobei ich das nicht wirklich genau weiß, weil ich mich seit den Zeiten des PIC16F84 mit dieser 16-zehner-Spezies nicht mehr beschäftigt hatte.

Peter, solche Adapter-Platinen sind immer was Interessantes! Da komme ich später mal drauf zurück.
Grüße, picass

pic18

ZitatMal ganz unabhängig von dem Projekt in diesem Fred: willst du nicht mal auf den MPASM-X umsatteln?. 
Ja Nein, ich habe keine Lust die ganzen Programme umzuschreiben. Da ich zur Zeit Linux benutze habe ich MPLAB-X installiert, aber die XC8-Programme und Assemblerprogramme  importiert. Dies können wir aber gerne in einen neuen Fred bespechen.

Schnellantwort

Achtung: In diesem Thema wurde seit 120 Tagen nichts mehr geschrieben.
Wenn Sie nicht absolut sicher sind, dass Sie hier antworten möchten, starten Sie ein neues Thema.

Name:
Verifizierung:
Bitte lassen Sie dieses Feld leer:
Geben Sie die Buchstaben aus dem Bild ein
Buchstaben anhören / Neues Bild laden

Geben Sie die Buchstaben aus dem Bild ein:

Tastenkürzel: Alt+S Beitrag schreiben oder Alt+P für Vorschau

Similar topics (5)