Translate

19 April 2013

Die Franzbox schrumpft aufs Minimum

Die letzten paar Abende habe ich damit verbracht, eine superwinzige Version der
Franzbox zu basteln.
Grundsätzlich ist die Schaltung weitestgehend die gleiche, aber aufgrund der etwas
eingeschränkten Leistung des Spannungsreglers musste ich natürlich auf eine Versorgung der
Displaybeleuchtung mit 5V verzichten und noch ein paar Kleinigkeiten ändern,
und Aktiv nach Plus schaltende Leistungs-Ausgänge gibt es natürlich auch nicht mehr.
Der gedachte Einsatz ist auch ein etwas Anderer.

Als Display dient wieder mal das bewährte EA DIP 204, und so sind auch die
Aussenabmessungen schon festgelegt: 27 x 68 mm.
Die Platine passt direkt hinten aufs Display und steht nicht über!
Das hat einige Stunden gedauert, alle Teile optimal zu platzieren.


UUUUUUhhhhps........Oh je.....beinahe hätte ich was sehr Schlimmes übersehen............
Das geht so nicht!!!!!!
.......wer findet den bösen Fehler??????

Nachtrag 22.4.2013: Da hab ich doch glatt ein Symbol eines P-Kanal Mosfet erwischt
und dann beim Anschliessen Drain und Source vertauscht......
Das passiert schnell mal, wenn man eine fremde Bibliothek benutzt.
Das muss ich noch korrigieren und womöglich kann ich ja doch noch einen MAX232
auf die Unterseite als Option draufpacken wenn ich etwas kleinere Transistoren nehme
und die 6-polige Klemmleiste etwas in die Mitte rücke.......





............ein bisschen überarbeitet sieht das jetzt so aus:

Hier ist jetzt so manches optimiert, ein anderer Quarz ist drauf, kleinere Transistoren, und noch ein paar
Lötjumper mit denen ich einen Interrupt-Eingang vom Drehencoder für andere Zwecke freischalten kann.
(z.B. fehlt mir so ein Eingang bei meinem IGBT-Controller zur Drehzahlmessung. Ich habe da einen
am Drehencoder "vergeudet" wo es jeder andere Eingang auch getan hätte...... Die Jumper dienen der Kompatibilität mit alten Programmen.)
Ich muss alles noch ein paar mal genauestens kontrollieren, dann kann ich mal ein paar diese Platinchen
fertigen lassen.Ein paar Kleinigkeiten sind sicher noch zu verbessern.


Zur Schaltung....(das mag Arduino-Kennern durchaus bekannt vorkommen)
Kern ist ein Atmega 328 ,diesmal in SMD-Ausführung
Versorgung ist geplant mit ca 12 bis 24V
Die 14-Poligen Anschlüsse, eimal als Wannenstecker und einmal "Micro-Match" sind
typisch für meine Entwürfe. Auf dem Wannenstecker sind alle verfügbaren Pins von PortB,
Reset, GND VCC sowie die vier Anschlüsse für den Drehencoder.

Diese Anordnung hat sich sehr bewährt, so kann ich den Anschluss gleichermaßen als
ISP-Anschluss und als Display-Anschluss verwenden und der Drehencoder
hängt am selben Bandkabel mit dran.(Ich betreibe das Display an PortB, so kann ich es am
STK500 auch mit einem einzigen Bandkabel betreiben. Die Belegung der Display-Pins
ist vom STK500 übernommen und um zusätzliche Anschlüsse erweitert.
Pin 7 ist hier frei, bei der "Franzbox" wird hier die Displaybeleuchtung versorgt und geschaltet,
Pin 8 ist mit der Reset-Leitung verbunden zwecks ISP-Funktion, 9 und 10 ist GND  und
Spannungsversorgung  wie beim STK500, dann kommt der Drehencoder auf D2 und D3
der Taster auf D4 und Pin 14 ist nochmal GND für den Encoder)

Mit diesem Stecker ist es auch möglich, die "nackte Platine" als Adapter zum Anschluss des
Displays zu nutzen wenn man sie mit einer bestückten 1:1 verbindet.
....und es ist ja auch möglich, zwei LCD-Displays parallel zu betreiben......
....und man kann ja auch einen 10-poligen Wannenstecker in die 14Löcher einlöten,
dann hat man einen Port (B)-Stecker wie auf dem STK500. Die Pins (B) 6 und 7 sind
da ohnehin meist nicht verwendbar, weil da der Quarz angeschlossen ist....

Alle (fast, der SMD-Atmega hat ja zwei zusätzliche) AD-Wandler Anschlüsse,
GND und 5V sind auf den Micro-Match-Stecker herausgeführt.
zusätzlich auch nochmal die Anschlüsse vom Drehencoder.
Weil ich den Drehencoder aus "historischen Gründen" an den Interrupt-Eingängen betreibe,
aber nur einen Interrupt wirklich brauche habe ich in eine Leitung einen Widerstand als
Jumper eingesetzt um notfalls einen Interrupt-Eingang umverdrahten zu können.

D5 D6 und D7 gehen auf kräftige Mosfet um Ausgänge zu schalten
Auch hier sind ein paar Bestückungsvarianten vorgesehen, um an den sechs Klemmen
auch 5V auszugeben  oder zwei Analogeingänge zu beschalten.
D5 und D6 sind PWM-Ausgänge, die hier aber nur nach GND schalten.

Für einen MAX232 war leider kein Platz mehr, aber wenigstens
zwei kleine Transistoren konnte ich unterbringen um die Signale der seriellen Schnittstelle
zu invertieren. (nicht optimal, aber schon vielfach erfolgreich so angewandt)
Zum Empfangen reicht das nomalerweise, und zum Senden......das hängt von der
jeweiligen Schnittstelle ab, meist funktioniert es auch mit einem 5V-Signal,
notfalls kann man noch einen Pullup nach 12V reinbauen.

Wie schon erwähnt hat die SMD-Variante des Atmega 328 zwei zusätzliche
AD-Wandler-Eingänge (ich weiss jetzt noch nicht, ob die ggfs auch als Ausgänge
nutzbar sind.) diese habe ich als Spannungsmesseingänge vorgesehen.
Einmal zum Messen der Versorgungsspannung, und einmal als optionalen
Spannungsmesseingang an der Anschlussklemme.

Diese Platine soll je nach Bestückung als kleines EMUS-Display, als winzige SPS
oder halt für sonstige Zwecke sehr universell verwendbar sein.
Auch ein Einsatz als "Miniatur-Franzbox" ist durchaus möglich, wenn das mit den
Ausgangstransistoren so klappt wie ich das gern hätte............
Den LEM-HASS 200-S Messwandler kann man auch am Micro-Match-Stecker dranhängen,
und die drei Schalttransistoren reichen für  DZM, Tankanzeige und Warnleuchte.
nur die Stromversorgung ist hier nicht zweigeteilt, aber das ist auch extern machbar,
und wenn die Displaybeleuchtung über die "Zündung" betrieben wird, ist eigentlich alles
fast so wie bisher.

Da habe ich in letzter Zeit ein paar nicht immer erfreuliche Erfahrungen gesammelt.

In der Ur-Version hatte ich solche Transistorausgänge, aber die Tankuhr von
Michaels Beetle funktionierte damit nicht, weil da offenbar ein Mikroprozessor
das Signal auswertet. da musste ich erst eine Gleichspannung generieren um eine
ordentliche Funktion zu bekommen. Bei Bernds Golf ist aber noch eine alte Version der
Tankanzeige drin, die wiederum hoheren Strom und höhere Spannung braucht,
so dass da die 5V Spannungshub nicht reichen. da ist etwa 3V voll und 8V leer,
aber da kann man dafür problemlos direkt mit PWM-Signalen ansteuern.

Ähnliche Probleme gibts beim Dehzahlmesser. neuere VW etc bekommen
das Signal als Frequenz (2 imp je Umdr.) aus der Motorsteuerung,
da reichen 12V als Rechteck. Ältere VW-Drehzahlmesser die noch direkt an der
Zündspule dran hängen brauchen jedoch viel höhere Impulse.(50-100V-Spitzen)
Das hängt aber vom Hersteller und Modell ab, das muss man testen.
Der Drehzahlmesser mit dem ich testete kommt sogar mit 5V-Impulsen zurecht.

Hier muss ich mal testen, obs eventuell klappt wenn ich eine (Relais-)Spule als "Pull-Up"
nehme und ohne Freilaufdiode schalte. Bei "neueren" Typen sollte ein Pull-Up
nach 12V ausreichen.
Na ja, mal sehen obs funktioniert.Es wird wohl noch ein bisschen dauern bis die Patinchen
in Auftrag gegeben werden......
Vielleicht hat ja noch irgendjemand eine tolle Idee.....aber es ist kein Platz mehr frei,
ausser auf der Oberseite über den Transistoren. aber den Platz wollte ich eigentlich frei lassen
wegen der Anschlüsse.

Bis demnächst!

Franz










Kommentare:

  1. Hallo Franz,

    doch eine neu Platinenversion der Franz-Box?
    Ich hätte vermutet, dass als nächstes ein "Franz-Shield" für den Arduino kommen würde :-)
    Würde man damit nicht mit fahrzeugspezifischen Sketches einiges an Flexibilität bekommen?
    Oder wäre der Aufbau zu komplex?

    Gruß,
    Michael

    AntwortenLöschen
  2. Da ist der Arduino ja auch schon mit dabei, bzw ist der Arduino auch
    nichts anderes als die Grundschaltung der Franzbox mit dem kleinen
    Unterschied, dass beim Arduino auch noch der Programmer mit an Bord ist,
    und Arduino IDE normalerweise über die serielle Schnittstelle
    (bei "neueren" halt über USB, was aber letztlich auch seriell ist) und per Bootloader programmiert wird. Ich bevorzuge aber immer noch BASCOM, nicht etwa weils besser ist, sondern weil ich es halt besser beherrsche.Aber grundsätzlich ist die Franzbox sogar "Arduino-kompatibel", man muss das Programm nur
    per per Programmer draufladen und ein wenig an das von mir verwendete
    EA DIP204 Display anpassen, was aber nicht wirklich schwierig ist.
    Das habe ich kürzlich mal im Blog beschrieben wie es geht.
    Von dem ganzen Bootloader-Zeug und USB halte ich nicht allzuviel, weil man da ein bisschen an das ganze Arduino-System gebunden ist, und auch der USB-Anschluss nur an einem PC was nützt.Sobald das aber eigenständig
    laufen soll ist mir eine "echte" serielle Schnittstelle wesentlich lieber,
    und per USB-seriell-Adapter kann ich das genau so benutzen wie die USB-Schnittstelle des Arduino UNO.So Platinen wie Freeduino serial oder
    Wattuino pro mini passen einfach viel besser zu meiner "Philosophie"
    wenn man das mal so nennen kann.Ich brauche jetzt erst mal eine möglichst
    winzige Platine, und da bin ich ja gerade dran. Das ist jetzt aber nicht primär
    eine neue Franzbox im Sinne von Daten erfassen und umsetzen auf Auto-Anzeigen
    sondern ich brauche eine sehr universelle kleine Steuerung mit zwei Analogeingängen und mindestens zwei Schaltausgängen für eine völlig andere Anwendung. Andererseits soll das Ding aber auch weitestgehend kompatibel zu
    meiner bisherigen Franzbox aber auch zu Arduino sein........ ich denke mal,
    das habe ich einigermaßen hinbekommen, wenn die Arduino-Kompatibilität sich auch auf die Mini-Versionen ohne serielle Schnittstelle beschränkt und auch
    die Anschlüsse völlig anders gestaltet sind. Aber ich will es halt so haben!
    Da ist noch viel zu testen, insbesondere müsste es auch möglich sein,
    Bascom HEX-Files mit dem Arduino Bootloder zu laden wie es auch andersrum geht,
    Arduino Hex-Files per ICSP Programmer zu laden. Ich weiss, dass es funktionieren muss, nur geklappt hat bisher noch nicht alles!






    AntwortenLöschen