Der PIC 12F675 Teil 1 – Grundsätzliches

Informationen zum Microchip PIC 12F675 

PIC © 12F675

Wie schon erwähnt, arbeite ich sehr gerne mit den ‚kleinen‘ PIC’s, vorzugsweise dem 12F675.

Es gibt sehr viele Fälle, in denen mehr Ports und Rechenleistung einfach nicht benötigt werden.

Die Blogeinträge zu diesen Themen sind noch nicht lange online, trotzdem kamen schon ein paar Fragen zu Chip & Co, ich werde also mal versuchen, ein paar Erläuterungen zum µController zu geben.

 

Vorweg:

Ich habe kein deutsches Datenblatt zur Hand und habe auch kein richtiges über Tante Google finden können, man kommt also nicht drumherum, sich das englische anzusehen. Größtenteils ist das aber nicht sehr schlimm, es geht in der Hauptsache darum, die Register zu kennen und die möglichen/notwendigen Einstellungen vornehmen zu können. Diese sind ohnehin teilweise so kryptisch bezeichnet, das Sprachkenntnisse an der Stelle wenig bringen :-D

Was braucht man, um den PIC zu verstehen? Hier zwei Links, die vielleicht helfen:

Was man im Hinterkopf haben sollte:

  • Direkt nach dem Einschalten sind alle Ports Eingänge, soweit möglich analog
  • Es ist nicht unbedingt ein externer Oszillator nötig
  • Einige Register MÜSSEN eingestellt werden, sonst geht i.d.R. nichts
  • Die Config Bits MÜSSEN gesetzt werden, per Programm oder Brennsoftware
  • Pin 4 (Reset) muss über einen Widerstand an +UB (5-20k)
  • Wenn mehr als ein paar mA benötigt werden, extern beschalten
  • Betriebsspannung (ca.) 2,0 – 5,5V
Mir ist klar, das es auch hier wieder Ausnahmen gibt. Wer so fortgeschritten ist, wird sich meine Starthilfen aber wahrscheinlich nicht mehr antun :-) und kennt die weiteren Möglichkeiten.

Was kann/hat der 12F675?

  • 8 Bit
  • max. 20MHz (4 MHz bei internem Oszillator +/- 1%)
  • A/D Wandler 10 Bit
  • 6 I/O Ports (5 bei normaler Resetfunktion)
  • Analogkomparator
  • 2 Timer (8- und 16 Bit)
  • 1k Programmspeicher, 64 byte SRAM, 128 byte EEPROM
  • max. 25mA pro I/O Pin aber NICHT mehr als 125 mA gesamter Port!

Hinweis für alle, die schon mit anderen PIC’s gearbeitet haben oder ein anderes Programm portieren wollen:

Es gibt im 12F675 keinen PORTA, PORTB etc., hier wird das I/O Register mit GPIO angesprochen, also z.B. mit ‚bsf     GPIO,5‘ um GP5 auf ‚H‘ zu schalten!
Bei meinem ersten Kontakt mit dem Chip habe ich mich da etwas schwer getan weil ich das schlicht übersehen hatte ;-)
Für alles weitere lohnt natürlich wieder der Blick in das Datenblatt.
Wenn man in seinem Projekt ohne A/D Wandler auskommt, kann man übrigens auch den PIC 12F629 benutzen. Er ist fast identisch zu programmieren, man muss sich nur um die unterschiedlichen Register rund um den A/D Wandler kümmern.
Anmerkung zum Artikel:

Wenn die ganzen Einträge rund um MPLAB, den 12F675 und die Programmierung noch umfangreicher werden, kommen alle Links zu den Beiträgen nochmal auf eine eigene Unterseite um alles besser wiederfinden zu können. Es kann auch sein, das ich bestehende Artikel erweitere, also auch gelegentlich in die älteren Beiträge schauen. 

 

Zu viele Retouren: Telekom führt 12-monatige Laufzeit für Leih-Router ein – teltarif.de News

Kann mit schon gut vorstellen, dass ein Geschäftsmodell baden geht, wenn vermietete Geräte zu schnell wieder zurück kommen. Vielleicht sollte man aber auch darüber nachdenken, warum dies in manchen Fällen so ist.

Aktuell scheint’s auf jeden Fall bei der Telekom ein Problem darzustellen:

Zu viele Retouren: Telekom führt 12-monatige Laufzeit für Leih-Router ein – teltarif.de News.

Ich habe meinen W921V Router auch zurückgeben müssen. Warum? Er hat nicht die benötigte Leistung gebracht! Dies wiederum aber nicht weil das Gerät nichts taugt, sondern weil die Einstellungen dermaßen beschnitten sind, dass man keine wirkliche Möglichkeit hat, die Funktionen anzupassen. Natürlich ist es für weniger versierte Kunden nützlich, dass man nichts verstellen kann. Dies entlastet auch den Support, keine Frage… Aber was die Telekom aktuell mit der Firmware macht, ist des Guten einfach zuviel. Warum haben wohl einige Geräte anderer Hersteller bzw. Vertriebe schon beinahe Kultstatus? Na? Kommt jemand von den Verantwortlichen des ‚rosa T‘ drauf? RICHTIG! Weil man sie anpassen kann, mit ihnen spielen kann! Und ein einfacher Button mit der Funktion „Reset auf Werkseinstellungen ohne Zugangsdaten zu verlieren“ wäre in sehr vielen Fällen auch eine gute Idee. Am besten fest am Gerät, von außen zu nutzen. Was meint Ihr, warum so viele Nutzer ihre Speedports mit der Firmware baugleicher Geräte flashen? Weil der Name dann so cool im Browser aussieht? Hm, eher nicht…

Aber das hat ja schon immer funktioniert. Wenn ich nur daran denke, was man aus einem Mediareceiver X301T oder auch MR303 hätte herausholen können. Aber nein, USB ohne Nutzen, Festplatten nur in engsten Grenzen ersetzbar, DVB-T ohne Funktion, kein wirklicher Nutzen im heimischen Netzwerk außer zum TV Betrieb.

Wobei die Geräte durchaus von vernünftiger Qualität sind und alles nötige an Bord haben. Wenn da nicht der Wunsch wäre, mit bereits vorhandenen Funktionen durch deren Freischaltung später noch Einnahmen zu generieren. Was dann doch nie funktioniert, weil das Nachfolgegerät schneller kommt, als gerade die Telekom es schafft, Softwareupdates zu produzieren. Oder überhaupt neue Funktionen ZEITNAH zu präsentieren. Es wäre ja auch zu problematisch, mir im eigenen LAN Zugriff auf meine Aufnahmen zu ermöglichen. Einfach so, z. B. vom PC im Nebenraum aus. Natürlich wird die TV-Landschaft Copyrighttechnisch gleich zusammenbrechen, wenn ich eine Sendung, die sowieso auf der Festplatte gespeichert ist, auf einem anderen Gerät meines Haushaltes sehen kann. Ach ja, das wollen ja die bösen Fernsehsender nicht. So so… Na, lassen wir das, bin ja nicht der erste und auch nicht der letzte, dem nur Kopfschütteln übrig bleibt.

 


 

Erinnerungen aus dem Alltag: Unterwegs im Bergtierpark in Erlenbach – alltagserinnerungen.de

Bergtierpark in Erlenbach

Bin ja noch nicht lange ein Fürther Bürger, um so mehr interessiere ich mich für all das, was ich hier noch nicht gesehen habe. Grund genug, den Blogbeitrag von ‚alltagserinnerungen.de‘ zu verlinken:

Erinnerungen aus dem Alltag.: Unterwegs im Bergtierpark in Erlenbach.

Jaja, für viele bestimmt ein alter Hut, für mich eben neu :mrgreen: Hier noch der direkte Link zum Tierpark.

Manche mögen lachen, aber ein Umzug aus dem ‚Pott‘ in den Odenwald ist für jemanden, der über 40 Jahre in Duisburg und Umgebung gelebt hat, doch ein Sprung in das berühmte kalte Wasser. Bereut habe ich diese Veränderung bisher keinesfalls, aber die Uhren ticken hier schon anders. Logisch, in DU kannte ich so ziemlich jeden Schleichweg und ‚wer wo für was‘ zuständig war, hier brauche ich manchmal schon die Navi, um in die nächste Gemeinde zu kommen ;-) Aber genau das ist auch oft die Herausforderung, ich kann im ganz normalen Alltag immer wieder was neues entdecken :-)

www.michael-floessel.de; Hiermit auch ein lieber Gruß an alle Fürther und die Menschen drumherum! Und natürlich an alle, die ich im Freibad kennengelernt habe! :-D

Elektronische Lasten am Mikrocontroller / Offener Kollektor / Transistor als Schalter

Foto-AmpelImmer wenn ich einen Beitrag zum Mikrocontroller (wenn der eine größere Last schalten muss) schreibe, kommen Anfragen zum ‚womit und wie?‘. Im Prinzip bediene ich mich aber immer der gleichen Schaltung, nur mit angepassten Bauteilen.

 

Die meisten Controller arbeiten irgendwo zwischen 2,5 und 5V. Pro Pin sind meist weniger als 20mA maximaler Strom möglich, induktive Lasten sind auch so eine Sache. Wird ein ganzer Port benutzt, kann es noch enger sein. Meist kann dieser, i. d. R. 8 Ausgänge, nur mit max. 40mA belastet werden, diese müssen auf die einzelnen Pins verteilt werden. Einige LEDs kann man so vielleicht noch direkt über einen Vorwiderstand ansteuern, spätestens bei Motoren oder zahlreicheren Leuchtdioden ist aber Schluss. Hilft also alles nichts, es muss ein Verstärker eingesetzt werden, im einfachsten Fall ein Transistor. Um es nicht unnötig kompliziert zu gestalten halte ich mich in diesem Beitrag an die einfachsten Formen, sicherlich sind noch etliche Verfeinerungen möglich.

Hier und hier habe ich ja schon ein paar Worte zum Transistor auf das virtuelle Papier gebracht, die dort beschriebenen Vorgänge sind Grundvoraussetzung zum Einsetzen der folgenden Schaltungsform.

 

Ich nehme mal folgendes als gegeben an:

  • Betriebsspannung 12V DC.
  • zu versorgender 12V / 0,5A Motor, nur in eine Richtung laufend.
  • Ein beliebiger Mikrocontroller, der mit 5V versorgt wird, welche angenommen bereits vorhanden sind.
  • Maximaler Ausgangsstrom des Controller 20mA.
  • Ein NPN-Transistor mit B=100 und max. 1,5A Belastbarkeit (BD139 o. ä.).

Realisiert werden soll eine Schaltung, die bei einem ‚H‘-Pegel am Kontrollerausgang den Motor startet, bei ‚L‘ soll er eben einfach wieder stehen bleiben.
µC-Treiber--Im Bild die Prinzipschaltung.

+12V zum Motor, diese werden bei ‚H‘ am Controllerausgang (und somit der Basis des Tranistors) über den Motor nach GND durchgeschaltet – der Motor dreht sich. Die Freilaufdiode (rot) dient dazu, induzierte Spannungen vom Motor kurzzuschließen. Bei rein ohmschen Lasten wie LEDs oder ähnlichem braucht man sie nicht. Es genügt in diesem Falle übrigens eine Standard 1N400X oder ähnliches, bei höheren Strömen/Spannungen/Frequenzen kann etwas spezielleres erforderlich werden.

Besonderes Augenmerk liegt auf R1 bzw. R2.

R1

Ich habe die Erfahrung gemacht, dass es Umstände gibt, unter denen es besser ist, die Basis eines Transistors sicher auf Masse bzw. GND zu legen. Der Wert ist nicht kritisch, es soll ja auch nicht unnötig viel Strom vom Controller geliefert werden müssen. Es geht eben darum, das im ‚L‘-Zustand des Controllerausganges die Basis vom Transistor auf GND liegt damit er nicht durchschalten kann. Im Alltagsgebrauch bin ich mit 10-100k gut ausgekommen.

R2

Sein Wert ist  abhängig vom B (Verstärkungsfaktor) des Transistors. Ist ‚B‘ im Datenblatt nicht zu finden, auch mal nach ‚hFE‘ sehen. Sinnvollerweise sollte der Transistor so weit aufgesteuert werden wie möglich. Man möchte ja die Energie optimal im Motor umsetzen, nicht in der Schaltung. Ausgehend von +5V am Controllerausgang bei „H“ und einer UBE von 0,7V stehen 4,3V an der Basis des Transitors zur Verfügung. Der Motor will 500mA an Strom, dies ist also das Minimum, was fließen soll. Es wäre allerdings Unsinn, jetzt den Stromfluss auf den Motorstrom zu begrenzen, die Spannung UCE würde ja auch wieder unnötig ansteigen und der Motor als Verbraucher bestimmt in diesem Fall sowieso den maximalen Strom. Um nun den minimalen Basisstrom zu errechnen, muss der Strom den der Controller liefern soll mit dem Verstärkungsfaktor multipliziert werden.

Soll also heißen:

Ich will min. 500mA für den Motor, besser ohne Begrenzung.

Der Transistor verstärkt x100, also müssen min. 5mA vom Controller kommen.

U=R*I -> die oben errechneten 4,3V / 5mA = 860 Ohm

Die ist also der maximale Wert, den der Widerstand R1 haben darf. Da aber der Transistor voll offen sein soll, muss der Basistrom noch höher sein. In diesem Falle spricht man im Allgemeinen vom Übersteuern, es wird mehr Basisstrom zugeführt, als für ein komplettes öffnen nötig wäre, z. B. +200%, also das Doppelte. Hier ist ein Blick ins Datenblatt des Transistors unerlässlich! Einmal für den Verstärkungsfaktor, zum anderen für den maximal zulässigen Basisstrom, ruinieren will man das Bauteil ja auch nicht. In der Praxis nehme ich immer einen Wert zwischen 220 und 470 Ohm, hat bisher funktioniert. Wichtig ist auch, dass der Transistor bei Übersteuerung langsamer wird. Das kann man aber getrost vernachlässigen, wenn man sich nicht im MHz Bereich bewegt. Bei allem, was das Auge erfassen kann allemal.

Ist (bei kleineren Strömen) der maximale Stromfluss erreicht, kann es sogar möglich sein, den Transistor ohne zusätzliche Kühlung zu betreiben. Bei den Universaltypen liegt die UCE übersteuert so um die 300mV. Fließen nun wirklich nur 500mA Motorstrom, sind das nach P=U*I 500mA*300mV= 150mW.

Dieser Schaltungstyp (Open Collector) eignet sich für sehr viele Anwendungen, in denen mit kleinem Steuersignal eine größere Last geschaltet werden soll. Man kann das ganze noch verbessern, indem statt des Transistors ein FET eingesetzt wird oder mit einer Brückenschaltung auch eine Umpolung ermöglicht oder ein Special-IC einsetzt oder, oder, oder… Die Frage ist einfach, wie viel Aufwand man für ein bestimmtes Ziel treiben möchte. Um ein paar LEDs blinken zu lassen, würde ich so simpel wie möglich planen, wenn Geschwindigkeit oder Präzision gefragt ist, entsprechend aufwändiger.

Fazit:

So ganz einfach kann ich das alles auch nicht beschreiben. Aber wenn man sich in den üblichen Hobbyanwendungen bewegt, führen ein BD139 oder BC548 (bei kleinen Strömen), R1=10k, R2=220 Ohm und bei Motoren eine 1N4007 als Freilaufdiode eigentlich immer zum Ziel. Bezogen auf 5V am Controller und 12V Versorgungsspannung für die Last. Evtl. möchte ein Motor auch noch einen Kondensator an seinen Anschlüssen sehen. Sollen LEDs angesteuert werden, die entsprechenden Vorwiderstände nicht vergessen, wie überhaupt natürlich darauf achten, dass Bauteile immer innerhalb ihrer Spezifikationen eingesetzt werden. Und wie immer VORSICHT bei elektrischen Basteleien bzw. wenn man experimentiert! ;.-)

 

 

Schwankende Helligkeit des Displays beim Lenovo 3000n200

lenovo_win7_artikelBisher kann ich zum Umstieg auf Windows 7 bei meinem Lenovo 3000n200 viel gutes berichten. Einer der wenigen negativen Effekte ist allerdings ein recht nerviges schwanken der Bildschirmhelligkeit während des Betriebes, egal ob am Netzteil oder Akku betrieben.

Rein optisch würde ich sagen, das Display wird immer zwischen 90 und 100% umgeschaltet. Diverse Versuche mit den Energie- und auch Nvidiatreiber Einstellungen haben genau gar keinen Effekt.

Eben habe ich aus einem anderen Grund in die Liste der auf meinem System laufenden Dienste gesehen, dabei ist mir die „Adaptive Helligkeit“ ins Auge gesprungen. Also mal testweise deaktiviert, bisher funktioniert es -> die Helligkeit bleibt stabil.

Zu finden unter:

Systemsteuerung / Verwaltung / Dienste / Adaptive Helligkeit

Beschreibung des Dienstes:

Überwacht Umgebungslichtsensoren, um Änderungen im Umgebungslicht zu erkennen und die Helligkeit der Anzeige anzupassen. Wird dieser Dienst beendet oder deaktiviert, wird die Anzeigehelligkeit nicht auf die Lichtbedingungen der Umgebung angepasst.

 




 

Nur eine Idee…

Nur_ein_Test_oder_eine_IdeeKennt Ihr das?

 

Man hat eine Idee, will nur etwas ausprobieren… :mrgreen:

 

 

 

 

Irgendwie brauche ich immer mal wieder eine (PWM) Motorsteuerung, diesmal wurden’s gleich drei. Eigentlich sind es sogar vier, eine bleibt zu Testzwecken unangetastet. Hoffe ich… Es sei denn, eine wird mal wieder schnell gebraucht, kann man ja wieder neu bauen ;-)
 

 

 

 

 

PC Decrapifier löscht vorinstallierte Testsoftware – Lösch-Tool für Demosoftware | TecChannel.de

Selber habe ich das Tool (noch) nicht getestet, einen Hinweis ist mir der Artikel aber allemal wert:

PC Decrapifier löscht vorinstallierte Testsoftware – Lösch-Tool für Demosoftware | TecChannel.de.

Bei manchen Herstellern müsste man eigentlich Geld beim Gerätekauf dazu bekommen, so viel Software ist vorinstalliert, natürlich kaum etwas, mit dem man etwas anfangen kann. Noch schlimmer finde ich die Demo-Versionen. Vielleicht hilft der ‚Decrapifier‘ ja, das entfernen zu beschleunigen. Bei privatem Einsatz ist die Software übrigens kostenlos.

FreeSculpt 3D-Pen – 3D Stift

3D-StiftManchmal möchte man ja gern Material zum Verarbeiten haben, wo keines ist. Z. B. an einem Car-System Auto für die Modellbahn, weil gerade da kein Achslager mehr ist, wo eigentlich eines hingehört oder vor ein paar Minuten noch war.

Im konkreten Fall ist mir die Antriebsachse eines LKW aus dem Lager gefallen. Als Lager dient ein Messingrohrstückchen mit 1 mm Innendurchmesser, in diesem lief die Achse. Durch Verschleiß ist dies aus dem Kunststoff gebrochen, jetzt ist nicht mehr genug Material vorhanden, um das Röhrchen vernünftig wieder einzukleben.

Vor ein paar Wochen ist mir irgendwo ein Artikel zu einem 3D-Stift ins Auge gefallen. Mit diesem kann man angeblich so ‚einfach‘ Material zeichnen, wie mit einem 3D-Drucker.

Irgendwie habe ich auch gerade den „haben will“ Virus, ich riskiere es mal mit dem Gerät. Geliefert wird recht schnell, so auf den ersten Blick ein recht brauchbares Teil. Handbuch ist auch auf Deutsch, im Lieferumfang alles für einen ersten Test incl. 3 verschiedenen Filamentstücken von ca. 1m Länge. Also auspacken, Stecker rein, aufheizen und warten. Laut Handbuch ist die Kontroll-LED blau wenn das Gerät bereit bzw. aufgeheizt ist, hier ist sie grün. Kann ich mit leben, habe halt nur eben die blaue gesucht.

3D-Stift-1Von der Handhabung her fühle ich mich ein wenig an eine Heissklebepistole erinnert, die Materialzufuhr ist ähnlich aber motorisiert. Sicherlich bedarf es doch einiger Übung, um mit dem Gerät produktiv umzugehen, ein paar erste (Zeichen…?) Versuche auf einem Korkstückchen gelingen aber so halbwegs, das links ist wirklich der allererste Versuch. Auf einer glatten Oberfläche hat’s übrigens gar nicht funktioniert, wenn das Material nicht ein wenig am Untergrund haftet, macht es was es will :-D An den oben erwähnten LKW wage ich mich jetzt noch nicht heran…. :mrgreen: Allerdings habe ich an einem meiner Multimeter eine fehlende Gewindebuchse des Gehäuses auf Anhieb restaurieren können, habe quasi das Gewinde um die Schraube herum gemalt, das Ergebnis kann ich aber leider nicht zeigen, die Ecke lies sich nicht wirklich so knippsen, dass man was erkennen kann. Unterm Strich ist der Stift aber mit ein wenig Übung sicher zu so einigem fähig. Irgendwo zwischen Heißklebepistole und 3D Drucker :-D Das Handling ist gut, die technischen Daten finden sich unter dem oberen Link zu Amazon. Nebenbei, das ist KEIN Werbelink, habe ihn über diesen Link bei Amazon bestellt und von Pearl erhalten, aktuell scheint aber alles vergriffen zu sein….?!?

Für 70€ ein Werkzeug, dass sich hier für mich bezahlt machen wird. Passendes 1,75mm Filament gibt es in diversen Farben für ca. 25€ pro Kilo, habe aber noch keines nachbestellt und kann somit dazu aktuell nichts schreiben.

 
 

Imitiert den Verbrennungsmotor

Eigentlich ja nicht für den Modellbau bestimmt, mir fällt dazu allerdings so einiges ein:

Imitiert den Verbrennungsmotor – Elektronikpraxis.

Ich könnte mir so einige Anwendungsmöglichkeiten zum Chip vorstellen, sei es nun im Modell selber oder in einer anderen Unterbringungsform. Leider habe ich noch keine Bezugsquelle finden können oder einen zu erwartenden Preis, kommt aber sicherlich noch, bei den Möglichkeiten muss man das im Auge behalten. Ich weiß, es gibt da schon Möglichkeiten, diese hier ist aber nach dem ersten Blick an Einfachheit kaum zu unterbieten :-)