PIC-Mikrocontroller - die Übersicht |
![]() |
![]() |
Letztmalig dran rumgefummelt: 14.09.22 17:01:42 |
![]() |
Der Einstieg in die Arbeit mit PIC-Controllern - Schwerpunkt bildet der PIC16F628 bzw. der A-Typ - in der Typen-Übersicht findet man mehr dazu. Weitere Controller folgen später. Dieser Controller bietet vorerst eine hinreichende Anzahl von Ein- und Ausgängen sowie die Möglichkeit, diese auch noch teilweise als Analog-Digital-Wandler arbeiten zu lassen. | ||||||||
![]() |
1. Wovon man etwas wissen sollte - oder
wo man nachschauen kann ... |
||||||||
![]() |
|
||||||||
![]() |
Microchip’s PIC16-Mikrocontroller-Familie sind ideal für Applikationen, die eine Rechenleistung von 10-16 MIPS benötigen. Dabei bieten diese Mikrocontroller bis zu 128 KB Programmspeicher und sind in Gehäusen mit 18-100 Pins verfügbar. Die Hardware-Architektur eignet sich auch hervorragend für C-Compiler generierten Code und bietet eine Vielzahl an Peripherie (z. B. USB, ZigBee, Ethernet, CAN) für die bereits Firmware zur Verfügung gestellt wird. | ||||||||
![]() |
|
1. Wovon man etwas wissen sollte - oder wo man nachschauen kann ... |
![]() |
Ehe es losgehen kann mit der eingenständigen Anwendung von Controller, hat uns Mutter Wissenschaft einige Hürden gesetzt, welche ich alleine überwinden kann oder jemand anderes zeigt mir den Einstieg. Wenn das gemacht ist, ist alles ganz einfach!!! Da ich selbst so eine Spezies bin, die das alleine gemacht hat, weiß ich folgerichtig sehr gut, wie schwer es ist, sich selbst mit Vorkenntnissen auf dieses Spezialgebiet zu begeben. Mikrocontroller sind heute schon auch für die kleinsten Dinge des Lebens für extrem viele Funktionsabläufe zuständig und man sollte einfach ein wenig mehr über sie wissen. Für mich als Geocacher eröffnen sie gigantische Varianten zur Gestaltung raffiniert getarnter sowie trickreicher Stages, denn sie benötigen kaum Strom, sind extrem klein und dabei gleichzeitig enorm leistungsfähig. | ||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|
||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|
1. Grundausstattung & Extras |
![]() |
Neben der Beschaffung der Hardware ist auch einiges an Software bereitzustellen. Wir benötigen eine Programmieroberfläche, wobei zu bemerken wäre, dass Controller am liebsten in Assembler programmiert werden - damit entsteht der dichteste und schnellste Code. | ||||||||||||||||||||
![]() |
|
||||||||||||||||||||
![]() |
|
||||||||||||||||||||
![]() |
|
||||||||||||||||||||
![]() |
|
2. Ein- und Ausgangsbeschaltung |
![]() |
Prinzipiell wird hier natürlich genau so vorgegangen, als handele es sich um ein reines Software-Projekt (was es ja auch eigentlich ist!). Praktisch müssen aber eben doch noch ein paar Eckdaten berücksichtigt werden, sonst wird es unter Umständen teuer oder unmöglich zu realisieren. | |||||||||||||||
![]() |
|
3. Ein erstes Projekt |
![]() |
Zu einer traumhaft gut entwickelten Hardware gehört eine ebensolche Software. Das scheint auf den ersten Blick hin den Entwicklern gelungen zu sein. An C++ und JAVA angelehnt wird der jeweilige Befehlssatz des entsprechend gewählten PICs maximal ausgereizt - so zumindest die Werbung. Mehr teile ich mit, wenn erste ernstgemeinte Erfahrungen vorliegen. | ||||||||||||||
![]() |
Nach dem grundsätzlichen Vertrautmachen mit dem Mikrocontroller soll nun die
erste Schaltung aufgebaut werden. Wenn Sie das Hardware-Paket erworben haben,
können Sie sofort beginnen. Anderenfalls müssen Sie vielleicht noch das eine
oder andere Bauteil beschaffen. Auf unserer Website www.boekinfo.tk finden Sie Bauteillisten, die nach Projekten geordnet sind. Für unser Tutorial-Projekt „Wechselblinker" ist die Bauteilliste hier
Die Mikrocontroller-Anschlüsse 1,11,12, 12,31 und 32 des PIC16F877 müssen
unabhängig vom Projekt immer beschaltet sein. Wenn das
Mikrocontroller-Taktsignal von einem Quarz gesteuert wird, sind auch die
Anschlüsse 13 und 14 belegt. Schaltplan für das erste Projekt Ordnen Sie die Bauteile wie im Foto gezeigt auf der Steckplatte
an. Achten Sie darauf, dass alle Anschlussdrähte genügend tief in die
Steckplatten-Öffnungen eingesteckt sind und alle 40 „Beine" des Mikrocontrollers
mit den zugehörigen Kontakten der Steckplatte in sicherer Verbindung stehen.
Kein Anschluss darf am Mikrocontroller-Gehäuse nach innen oder außen umgebogen
sein! Eine Schmalseite des Mikrocontroller-Gehäuses ist halbmondförmig
eingekerbt. Dies ist die Seite, an der sich die Anschlüsse 1 und 40 befinden.
Der auf der Oberseite des Gehäuses eingepresste Punkt gibt die Lage von
Anschluss 1 an. Farbe Mikrocontroller-Anschluss
|
4. Steuerungen mit A/D- sowie D/A-Wandlern ... |
![]() |
Digital ist nun schon relativ einfach - probieren wir doch mal mit eigentlich "digital" arbeitenden Bauelementen wie Mikrocontrollern, analoges Schaltverhalten - und dies sowohl eingangs- als auch ausgangsseitig. Das ist dann schon gleich gar nicht mehr trivial, weil eine Menge zu beachten ist, wobei vorauszusetzen ist, dass man das grundsätzliche Arbeiten von digitalen sowie auch anlogen Signalen verstanden, sowie zumindest das Prinzip der gegenseitigen Wandlung für sich erschlossen hat. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
Alle folgenden Notizen gelten für den PIC 16F877 und müssen für andere Typen spezifiziert werden In den Programmen wird die Anzahl der A/D-Kanäle wie folgt festgelegt:
Die übrigen Einstellungen sind etwas weniger kompliziert:
In diesem Projekt machen wir keinen Gebrauch von einer
Referenzspannung. Die Eingangsspannung wird hier gegen die Betriebsspannung
+5 V gemessen, so dass NVref = 0 ist. Beim Messen niedriger Spannungen kann
es sinnvoll sein, mit einer Referenzspannung zu arbeiten, die ebenfalls
niedrig ist. Die Auflösung der Messung erreicht dann höhere Werte a1= ohne
Referenzspannung.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
Die Software Nach Definieren der Variablen und der Datenflussrichtung der Mikrocontroller-Anschlüsse wird die Messung mit niedriger Auflösung ausgeführt: resist = ADC_read low res(3) das liegt daran, dass „resist" immer als Byte definiert ist und deshalb nicht größer als 255 werden kann. Das Potentiometer ist mit Anschluss a3 verbunden, er gehört zum analogen Banal AN3. Damit die Blinkperiode im Bereich 30...157 ms einstellbar ist, wird „resist" umgerechnet. Zu berücksichtigen ist hier, dass die Division ohne Rest durchgeführt wird, zum Beispiel 235/2 = 127. -- convert to a nice range resist = (resist / 2 ) + 30 anschließend muss der Mikrocontroller-Anschluss abwechselnd auf 1 und 0 geschaltet werden, dazwischen muss eine Pause eingefügt sein: -- and flash delay_1ms(resist) pin d0 = low delay_ims(resist) pin d0 = high Das vollständige Programm sieht nun so aus:
-- JAL 2.0.4 |
5. Analoge Komparatoren |
![]() |
Digital ist nun schon relativ einfach - probieren wir doch mal mit eigentlich "digital" arbeitenden Bauelementen wie Mikrocontrollern, analoges Schaltverhalten - und dies sowohl eingangs- als auch ausgangsseitig. Das ist dann schon gleich gar nicht mehr trivial, weil eine Menge zu beachten ist, wobei vorauszusetzen ist, dass man das grundsätzliche Arbeiten von digitalen sowie auch anlogen Signalen verstanden hat. | ||||||
![]() |
|
6. Kleinere Projekte |
![]() |
Alle folgenden Projekte bieten den Vorteil, dass ihre Ansteuerung sowohl im In- als auch im Output-Bereich digital bleibt. Allerdings müssen bereits komplexere Daten - und auch Denkstrukturen bezüglich des Programmablaufes nachvollzogen werden. | ||||||
![]() |
|
||||||
![]() |
|
7. Größere Projekte |
![]() |
Das bedingt dann auch schon den Einsatz komplexer Sensortechnik und darauf abgestimmte Software. Die Sache wird enorm leistungsfähig, wie verlassen aber gleichzeitig den Grundlagenbereich und tasten uns ganz langsam in das Insider-Wissen. Auch eine Tendenz der Zunahme der Beschaffungspreise sowie die Möglichkeit, Komponenten durch Fehler zu zerstören, steigt enorm an. Ebenfalls zum Tragen kommt die Gesamtpalette möglicher BUS-Systeme und somit die Kopplung mehrer Mikrocontroller und eine dadurch erzielte Arbeitsteilung. | |||||||||||||||||||||||
![]() |
|
|||||||||||||||||||||||
![]() |
|
|||||||||||||||||||||||
![]() |
|
|||||||||||||||||||||||
![]() |
|
|||||||||||||||||||||||
![]() |
|
|||||||||||||||||||||||
![]() |
|
|||||||||||||||||||||||
![]() |
|
|||||||||||||||||||||||
![]() |
|
|||||||||||||||||||||||
![]() |
|
|||||||||||||||||||||||
![]() |
|
|||||||||||||||||||||||
![]() |
|
8. Verwandte Themen |
![]() |
![]() |
![]() |
![]() zur Hauptseite |
© Samuel-von-Pufendorf-Gymnasium Flöha | © Frank Rost am 20. Juli 2009 |
... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-) „Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“ Diddi Hallervorden, dt. Komiker und Kabarettist |
Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-) |