» Elektronik »Selbst gemachter Programmierer für PIC-Controller

Selbstgemachter Programmierer für PIC-Controller

Selbstgemachter Programmierer für PIC-Controller

Die Entwicklung der Elektronik schreitet zügig voran, und immer häufiger ist der Mikrocontroller das Hauptelement dieses oder jenes Geräts. Er führt die Hauptarbeit aus und befreit den Konstrukteur von der Notwendigkeit, anspruchsvolle Schaltungslösungen zu entwickeln, wodurch die Größe der Leiterplatte auf ein Minimum reduziert wird. Wie jeder weiß, wird der Mikrocontroller von einem Programm gesteuert, das in seinem internen Speicher aufgezeichnet ist. Und wenn ein erfahrener elektronischer Programmierer keine Probleme mit der Verwendung von Mikrocontrollern in seinen Geräten hat, kann sich für einen Anfänger, der versucht, ein Programm auf einen Controller (insbesondere PIC) zu schreiben, als große Enttäuschung und manchmal als kleine pyrotechnische Show in Form eines Rauchchips herausstellen.

Seltsamerweise, aber bei aller Größe des Internets enthält es nur sehr wenige Informationen über die Firmware Pic Controllerund das Material, das gefunden werden kann, ist von sehr zweifelhafter Qualität. Natürlich können Sie einen Fabrikprogrammierer zu einem unangemessenen Preis kaufen und so viel nähen, wie Sie möchten, aber was ist, wenn die Person nicht in Massenproduktion tätig ist? Für diese Zwecke können Sie eine einfache und nicht teure Implementierung zusammenstellen hausgemachtgenannt JDM-Programmierer gemäß dem folgenden Diagramm (Abbildung Nr. 1):


Abbildung №1 - Diagramm des Programmiergeräts

Sofort bringe ich eine Liste von Elementen für diejenigen, die zu faul sind, um in das Diagramm zu schauen:

  • R1 - 10 kOhm
  • R2 - 10 kOhm (abgeschnitten). Durch Einstellen des Widerstands dieses Widerstands müssen Sie während der Programmierung etwa 13 V an Pin Nr. 4 (VPP) erreichen. In meinem Fall beträgt der Widerstand 1,2 kOhm
  • R3 - 200 Ohm
  • R4, R5 - 1,5 kOhm
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 - 1N4733A (Stabilisierungsspannung 5,1 V)
  • VD7 - 1N4743A (Stabilisierungsspannung 13V)
  • C1 - 100 nF (0,1 μF)
  • C2 - 470 μF x 16 V (elektrolytisch)
  • SUB-D9F - COM-Anschluss (MOM oder SOCKET)
  • DIP8-Buchse - hängt von der verwendeten Steuerung ab

Die Schaltung verwendet ein Beispiel für den Anschluss von gemeinsamen Steuerungen wie PIC12F675 und PIC12F629, aber das bedeutet überhaupt nicht, dass die Firmware anderer Serien Pic wird unmöglich sein. Um ein Programm auf eine Steuerung eines anderen Typs zu schreiben, reicht es aus, die Programmiererkabel gemäß Abbildung 2 zu übertragen, die unten angegeben ist.


Abbildung Nr. 2 - PIC-Controller-Falloptionen mit den erforderlichen Schlussfolgerungen

Wie Sie vielleicht erraten haben, wird der Fall im Schema meines Programmierers verwendet Dip8. Mit großem Wunsch können Sie einen universellen Adapter für jeden Chip-Typ herstellen und so einen universellen Programmierer erhalten. Aber da mit PIC-Controller Ich arbeite selten, das reicht mir.

Die Schaltung selbst ist zwar recht einfach und verursacht keine Schwierigkeiten bei der Montage, erfordert aber auch Respekt. Daher wäre es schön, eine Leiterplatte dafür herzustellen. Nach einigen Manipulationen mit dem Programm Sprintlayout, Textolit, Bohrer und Eisen, hier wurde ein solcher Rohling geboren (Foto Nr. 3).


Foto Nr. 3 - Programmierplatine

Laden Sie die PCB-Quelle für das Programm herunter Sprintlayout Sie können diesem Link folgen:
pp_programmator.zip [17.67 Kb] (Downloads: 984)
Falls gewünscht, können Sie es auf Ihren PIC-Controller-Typ ändern. Für diejenigen, die beschlossen haben, die Platine unverändert zu lassen, habe ich die Sicht von der Seite der Teile aus erweitert, um die Installation zu erleichtern (Abbildung 4).


Abbildung 4 - Platine auf der Montageseite

Ein bisschen mehr Hexerei mit einem Lötkolben und wir haben ein fertiges Gerät, das blinken kann Pic Controller durch COM-Anschluss Ihr Computer. Noch warm und nicht vom Flussmittel gewaschen, ist das Ergebnis meiner Bemühungen auf Foto Nr. 5 dargestellt.


Foto Nr. 5 - kompletter Programmierer

Von nun an der erste Schritt in Richtung Firmware Pic Controllerging zu Ende. In der zweiten Phase wird der Programmierer an den Computer angeschlossen und mit dem Programm gearbeitet IC Prog.
Leider können nicht alle modernen Computer und Laptops mit diesem Programmierer arbeiten, da sie banal fehlen COM-Anschlüsseund diejenigen, die auf Laptops installiert sind, geben nicht die erforderliche Programmierung aus 12V. Also beschloss ich, mich meinem ersten zuzuwenden PCder vor langer Zeit staubte und auf seine schönste Stunde wartete (und immer noch wartete).
Schalten Sie also den Computer ein und installieren Sie zuerst das Programm IC Prog. Sie können es von der Website des Autors herunterladen oder unter diesem Link:
icprog105d.zip [432,25 Kb] (Downloads: 1167)
Wir verbinden den Programmierer mit COM-Anschluss und führen Sie die neu installierte Anwendung aus. Für einen korrekten Betrieb müssen eine Reihe von Manipulationen durchgeführt werden. Zunächst muss der Reglertyp ausgewählt werden, den wir nähen möchten. Ich habe es PIC12F675. In Screenshot 6 ist das Feld zur Auswahl des Controllers rot hervorgehoben.


Screenshot 6 - Auswahl des Mikrocontrollertyps

Als nächstes gehen Sie zum Menü "Einstellungen "->" Optionen"Wählen Sie im angezeigten Fenster die Registerkarte I2C und aktivieren Sie die Kontrollkästchen wie in Abbildung 7 gezeigt.


Screenshot 7 - Einstellen der Aufnahmemethode für den Controller

Gehen Sie im selben Fenster zur Registerkarte "Programmierung"und auswählen"Programmierprüfung". Nach der Programmierung prüfen kann einen Fehler verursachen, da in einigen Fällen die Firmware Sperren sperrt SR. Um sich nicht zu täuschen, ist es besser, diese Prüfung zu deaktivieren. Kurz gesagt, folgen Sie dem Screenshot Nummer 8.


Screenshot Nr. 8 - Verifizierungssetup

Wir arbeiten weiter mit diesem Fenster und gehen zum "Allgemein". Hier ist es notwendig, die Priorität des Programms festzulegen und sicher zu verwenden NT / 2000 / XP Treiber (Screenshot Nummer 9). In einigen Fällen schlägt das Programm möglicherweise die Installation dieses Treibers vor und erfordert möglicherweise einen Neustart IC Prog.


Screenshot 9 - Allgemeine Einstellungen

Mit diesem Fenster ist die Arbeit also beendet. Fahren wir nun mit den Einstellungen des Programmiergeräts selbst fort. Wählen Sie im Menü "Einstellungen "->" Programmierereinstellungen"oder drücken Sie einfach die Taste F3. Das folgende Fenster wird angezeigt (siehe Abbildung 10).


Screenshot Nr. 10 - Programmierer-Einstellungsfenster

Wählen Sie zunächst den Programmierertyp aus - JDM-Programmierer. Als nächstes setzen wir das Optionsfeld für die Verwendung des Treibers Windows. Der nächste Schritt ist die Auswahl COM-Anschlussmit dem Ihr Programmierer verbunden ist. Wenn es eine gibt, gibt es überhaupt keine Fragen, und wenn es mehr als eine gibt, schauen Sie in den Geräte-Manager, der gerade verwendet wird. Der Schieberegler für die Eingangs- / Ausgangsverzögerung regelt die Schreib- und Lesegeschwindigkeit. Dies kann auf schnellen Computern erforderlich sein. Wenn Probleme mit der Firmware auftreten, muss dieser Parameter erhöht werden. In meinem Fall blieb es standardmäßig gleich 10 und alles hat gut funktioniert.

Bei dieser Programmeinstellung IC Prog ist vorbei und Sie können mit dem Prozess der Firmware selbst fortfahren, aber zuerst lesen wir die Daten vom Mikrocontroller und sehen, was darin geschrieben ist. Klicken Sie dazu in der Symbolleiste auf das Symbol der Mikroschaltung mit einem grünen Pfeil (siehe Abbildung 11).


Screenshot 11 - Der Vorgang des Lesens von Informationen vom Mikrocontroller

Wenn der Mikrocontroller neu ist und noch nicht geflasht wurde, werden alle seine Speicherzellen mit Werten gefüllt 3FFFaußer dem allerletzten. Es enthält den Wert der Kalibrierungskonstante. Dies ist ein sehr wichtiger und eindeutiger Wert für jeden Controller. Die Genauigkeit der Uhr hängt davon ab, welche vom Hersteller durch Auswahl und Installation dieser Konstante ausgewählt wird. Der Screenshot Nr. 12 zeigt die Speicherzelle, in der die Konstante beim Lesen der Steuerung gespeichert wird.


Screenshot 12 - Wert der Kalibrierkonstante

Ich wiederhole, dass der Wert für jede Mikroschaltung eindeutig ist und nicht mit dem in der Abbildung gezeigten Wert übereinstimmen muss. Viele aus Unerfahrenheit überschreiben diese Konstante und anschließend Pic Controller beginnt falsch zu arbeiten, wenn das Projekt die Taktung von einem internen Generator verwendet. Ich rate Ihnen, diese Konstante aufzuschreiben und die Beschriftung mit ihrem Wert direkt auf den Controller zu kleben. Auf diese Weise vermeiden Sie in Zukunft viele Probleme. Der Wert wird also aufgeschrieben - wir gehen weiter. Öffnen Sie die Firmware-Datei, die normalerweise eine Erweiterung hat .hex. Jetzt anstatt zu schreiben 3FFFDer Programmierpuffer enthält den Code unseres Programms (Screenshot Nr. 13).


Screenshot 13 - Firmware in den Programmierpuffer heruntergeladen

Ich habe oben geschrieben, dass viele die Kalibrierungskonstante fahrlässig überschreiben. Wann passiert das? Dies geschieht, wenn die Firmware-Datei geöffnet wird. Der Wert der Konstante ändert sich automatisch in 3FFF und wenn Sie den Programmiervorgang starten, gibt es kein Zurück. In Screenshot Nr. 14 die Speicherzelle, in der die Konstante zuvor war 3450 (vor dem Öffnen Hex-Datei).


Screenshot Nr. 14 - automatische Änderung der Kalibrierungskonstante

Jetzt müssen Sie die folgenden Schritte sorgfältig ausführen. Wir klicken auf das Symbol des Mikroschaltkreises mit Blitz in der Symbolleiste und informieren das Programm, dass wir den Firmware-Prozess starten möchten. Das Programm fragt Sie, ob wir sicher sind, dass wir dieses Gerät flashen möchten. Wir stimmen zu und klicken auf "JA". Danach erhalten wir die Warnung in Screenshot # 15.


Screenshot Nr. 15 - Warnung vor Abweichungen in den Werten der Taktkonstante

IC Prog sagt uns, dass ein Wert der Kalibrierungskonstante (in meinem Fall 3450) und jetzt noch eine (3FFF) automatisch ersetzt von Hex-Datei. Es wird auch vorgeschlagen, den Standardwert beizubehalten 3FFF. Es ist wichtig, auf "NEIN"zu IC Prog während der Programmierung gab uns den Wert zurück 3450 oder was wird mit dir sein. Klicken Sie im Allgemeinen auf "NEIN"und beachten Sie das folgende Fenster (Screenshot Nr. 16).


Screenshot 16 - Programmiervorgang

Während dieser Zeit rate ich Ihnen, nichts zu drücken oder den Computer mit anderen Aufgaben zu laden. Als ich einen Screenshot für diesen Artikel gemacht habe, als ich auf die Schaltfläche geklickt habe Bildschirm drucken Ein Schreibfehler ist aufgetreten und ich musste alles noch einmal machen. Nach einiger Zeit IC Prog Sie erhalten eine Nachricht über die erfolgreiche Überprüfung des neu geschriebenen Codes in Ihrem Pic ControllerAlso, jeder, dem dieser Artikel gefallen hat, möchte ich dies nach ähnlichen Bemühungen sehen (Screenshot Nr. 17):


Screenshot Nr. 17 - Die Firmware war erfolgreich, Sie können sich entspannen

Wenn Sie dabei Fragen haben, lesen Sie den Artikel noch einmal sorgfältig durch und alles wird sicher funktionieren - persönlich überprüft. Viel Glück an alle und kreativen Erfolg !!!
9.8
9.9
9.9

Kommentar hinzufügen

    • lächelnlächeltxaxaokweiß nichtYahoonea
      ChefKratzerDummkopfjaja-jaaggressivGeheimnis
      Entschuldigungtanzendance2Tanz3VerzeihungHilfeGetränke
      hör aufFreundegutgut gutpfeifenOhnmachtZunge
      RauchklatschenCrayerklärenspöttischdon-t_mentionherunterladen
      Hitzeärgerlichlach1mdaTreffenMoskingnegativ
      not_iPopcornbestrafenlesenerschreckenAngstSuche
      verspottendankedasto_clueumnikakutstimme zu
      schlechtbeeeblack_eyeblum3errötenprahlenLangeweile
      zensiertAngenehmheitsecret2drohenSiegyusun_bespectacled
      shokrespektlolvorgezogenWillkommenKrutoyya_za
      ya_dobryiHelferne_huliganne_othodiFludVerbotschließen
8 Kommentare
Gast Ivanov
Tolles Thema. Der Tempel ist Professionalität, genau, klar und präzise! Danke! Erfolg!
Gast Helen
Jungs, sag es mir bitte. Wenn beim Lesen der Firmware von einem bekannten Firmware-Controller der Programmcode am Ende nur NULL und einen Kalibrierungsfaktor enthält, bedeutet dies, dass die Firmware vor dem Lesen geschützt ist? Mikrocontroller PIC16F630, versucht, den Programmierer gemäß dem Schema "3 Verdrahtung" über den COM-Port zu betrachten. Hilfe
Guten Tag . Frohes neues Jahr euch. Bitte sagen Sie mir. Sie haben beim Programmieren 13 Volt an den 4. Pin geschrieben. Spannung am 4. Ausgang relativ zu gnd messen? Erzählen Sie uns mehr darüber, wie Sie den Programmierer eingerichtet haben
Beim LPT AN589 gibt es ein (schwerwiegenderes) Schema. Hat vor langer Zeit getan
Schauen Sie im Internet
Der Autor
Leider gibt es keine.
und zufällig gibt es kein schema mit lpt port? Vielen Dank.
Der Autor
Danke für die Bewertung. Ich habe einen Freund zum Programmierer mit einem Fernkabel von etwa 1 Meter gemacht. Der Flug ist normal - die Controller nähen ohne Fehler. Das Kabel verwendete ein Twisted-Pair-Litzenkabel.
Roman1984Ich habe Sie auf 9-10-10 gesetzt, aber es gibt eine Frage: Haben Sie versucht, mit dem Programmierer zu arbeiten, der vom COM-Anschluss des Kabels entfernt wurde? Wenn es in diesem Fall normal funktioniert, können Sie das Kabel anstelle des Steckers auf der Platine löten. Dies ist bequemer, wenn sich das Programmiermodul auf dem Tisch befindet und die dynamischen Belastungen am COM-Anschluss des PCs geringer sind.
Wenn Sie das Kabel ausführen, ist es ratsam, das Programmiergerät bei Nichtgebrauch zu platzieren. Das Kabel kann jedoch nicht vom PC-Anschluss in einer Box wie einer Seifenkiste entfernt werden, um versehentliche Kurzschlüsse zu vermeiden.

Wir empfehlen Ihnen zu lesen:

Gib es für das Smartphone ...