Tachometer / Kilometerzähler auf IN14
Guten Tag!Wieder einmal griff die Kreativität an. Ich beschloss, den alten Tacho im Kampfpanzer VAZ 2121 zu aktualisieren. Nachdem ich die Behälter überprüft hatte, fand ich 3 IN14-Teile. Nicht genug für eine Uhr, viel für ein Thermometer. Nicht da - nicht hier. Im Tacho - fertig.Zunächst wurde der Standardtachometer entfernt und entkernt. Der aktuelle Kilometerstand wird ehrlich gesagt auf einem Blatt Papier gespeichert. Ein Geschwindigkeitssensor mit 10 Impulsen pro Umdrehung (DSA-3) wurde gekauft. Als Geschwindigkeitsindikatoren - der oben erwähnte IN14 zur Anzeige von Kilometerstand, Stunden und anderen Dingen - weithin bekannt in engen Kreisen von Designern von AONs auf dem z80 - ALS318.
Anfänglich war der Kern des Geräts PIC18F452 für die Fülle von GPIO. Dann stieß ich auf den i2c Port Expander mcp23017, den ich mir schon lange gewünscht hatte. Mit ihm verschwand die Notwendigkeit für viele GPIOs, und msp430g2452, das mir in den neuesten Designs nahe stand, wurde ausgewählt. Auch gefunden RTC - i2c Uhr ds1307.IN14 benötigt für den normalen Betrieb 170 Volt. Step-up DC-DC wurde gemäß einer getesteten Schaltung am MC34063 + IRF740 zusammengebaut. Ich werde einige der Nuancen beschreiben, die während des Erstellungsprozesses aufgetreten sind.1. Der runde Fall . Keine bequeme Form für die Platzierung in Elektronik und Displays. Ich musste die interne Struktur mit mehreren Anschlüssen modular gestalten. Die Aufgabe bestand auch darin, das Gehäuse luftdicht (gut oder fast luftdicht) zu machen, da die Wasserlinie in Verbindung mit den Betriebsbedingungen des Autos höher als das Dach ist. Dies wurde entschieden, indem die überschüssigen Löcher mit Epoxidkleber gefüllt und ein einziger Stecker für die Kommunikation mit der Außenwelt installiert wurden. Eigentlich Design:
und Stecker:
2. Dynamische Anzeige. Um das Umschalten von Entladungen während einer dynamischen Anzeige nicht zu bemerken, was für bestimmte Personen ärgerlich ist, sollte die Bildwiederholfrequenz jeder Entladung mindestens 100 Hz betragen. Es stimmt, es gibt Leute, die 100 Hz sehen, aber ich fahre sie nicht mit diesem Auto. Von diesen beiden Indikatoren ist der 9-Bit-ALS318 aus dieser Sicht der „schwierigste“. Es stellt sich heraus, dass die Bildwiederholfrequenz mindestens 9 * 100 Hz betragen sollte. Um die Berechnung der Intervalle zu vereinfachen, wurde eine Bildwiederholfrequenz von 1 kHz gewählt. Die Schaltung ALS318 ist mit dem Port-Expander mcp23017 verbunden. Port A - Segmente, Port B - Bits. Das 9. Bit wird direkt vom GPIO des Mikrocontrollers gesteuert. Es stellt sich heraus, dass einmal pro Millisekunde der Status der Ports A und B des Expanders über i2c aktualisiert werden muss. Die nächste Nuance kam hier raus.3. Langsamer i2c-Austausch mit ds1307. In unserem Fall hängen zwei Slaves am i2c-Bus. Port Expander und Uhr. Letztere halten mit der SCL-Frequenz über 100 kHz nicht Schritt, während der Expander bei Frequenzen bis zu 1,7 MHz arbeiten kann. Um die Expander-Ports zu aktualisieren, müssen alle 1 ms 4 8-Bit-Wörter in i2c geschrieben werden (Expander-Adresse, Port A-Adresse, Daten für Port A, Daten für Port B). Während der Initialisierung ist der Expander so programmiert, dass die Adressen der internen Register beim Lesen / Schreiben automatisch erhöht werden. Die Adresse von Port B folgt unmittelbar auf die Adresse von Port A, wodurch die Übertragung einer zusätzlichen Adresse von Port B eingespart wird. Um eine kurze Verarbeitungszeit des Aktualisierungsvorgangs sicherzustellen, wurde die SCL-Taktfrequenz von 500 kHz gewählt. Darüber hinaus wird eine Übersicht über den Zustand der Uhr einmal in 100 Zyklen der Aktualisierung der Anzeige durchgeführt, d.h. alle 100ms.Das Taktabrufverfahren setzt die SCL-Frequenz auf 100 kHz, die für ds1307 akzeptabel sind. Beim Debuggen des Austauschs über i2c hat der SaleaeLogic USB-Logikanalysator (8 Kanäle, bis zu 24 MHz Abtastung) sehr geholfen. Soft to it kann verschiedene Protokolle dekodieren, einschließlich i2c.
4. Ernährung . Der Tacho zum Speichern der Zeit wird ständig von der Batterie und für den Betrieb gespeist - die Spannung, die beim Einschalten der Zündung geliefert wird. Der letzte wird von einem DC-DC-Wandler und -Decoder für IN14, einen Port-Expander, gespeist. Bei fehlender Zündspannung wird das Gerät in den Speichermodus versetzt. Wenn der Zündschlüssel eingeschaltet ist, startet die Anzeige, Unterbrechungen durch den Geschwindigkeitssensor sind zulässig. Wenn die Zündung ausgeschaltet ist, werden die Kilometerstände im nichtflüchtigen Speicher des Mikrocontrollers aufgezeichnet.5. Verwaltung Um die Uhr einzustellen, setzen Sie die Kilometerzähler zurück (es gibt zwei davon, außer dem Hauptkilometerzähler). Es wurde ein Encoder mit einem Knopf verwendet (ich habe das Bild im Netzwerk ehrlich gestohlen. Mein Encoder ist bereits mit Schmelzklebstoff zum Abdichten gefüllt):
6. Logische Ebenen von i2c-Slaves. Da der ds1307-Takt mit 5 V und der Mikrocontroller und der Port-Expander mit 3,3 V versorgt werden, sind die Pull-up-Widerstände des i2c-Busses mit 3,3 V verbunden. Laut Datenblatt für ds1307 beträgt die logische Einheitsspannung 2,2 V, dann sind 3,3 V voll funktionsfähig.7. WachhundDas System verwendet eine Hardware-i2c-Schnittstelle, während der Prozessor "schläft", während er auf das Senden / Empfangen eines Bytes wartet. Im Falle eines Zündausfalls / Herunterfahrens zu diesem Zeitpunkt wartet der Mikrocontroller möglicherweise nicht darauf, dass der Slave reagiert und im "Schlaf" -Modus bleibt. Um solche Hänge zu beseitigen, wird der Hardware-Watchdog des Mikrocontrollers verwendet. In der Hauptschleife wird der Watchdog ständig zurückgesetzt. Im Falle eines Auflegens stoppt die Hauptschleife und der Watchdog läuft über, wodurch ein Reset an den Mikrocontroller gesendet wird. Um die Art des Zurücksetzens (Einschalten oder Watchdog) zu bestimmen, wird eine Variable in das Programm eingeführt, die während des Zurücksetzens nicht initialisiert wird (#pragma NOINIT). Wenn es dem bekannten Wert entspricht, wurde es vom Watchdog zurückgesetzt.8. KalibrierungGrundsätzlich kann die Kalibrierung bereits im Kampf durchgeführt werden, um beispielsweise mit einer bestimmten Geschwindigkeit in GPS zu fahren. Wenn Sie beispielsweise 30 km / h eingegeben haben, klicken Sie auf die Kappe, und der Tacho speichert die gemessene Pulsfrequenz, die 30 km / h entspricht. An der Rückwand befand sich jedoch eine interessante Inschrift:
Somit entsprechen 10 Impulse des Geschwindigkeitssensors einem vom Auto zurückgelegten Meter. Wenn es tatsächlich signifikante Unterschiede gibt, werde ich die notwendigen Anpassungen vornehmen.9. Vibrationsfestigkeit.Das Gerät ist für den Betrieb unter schwierigen Vibrationsbedingungen ausgelegt. Ich habe im Internet keine Informationen zum Vibrationswiderstand IN14 gefunden. Die Zeit wird es zeigen. Die elektrischen Verbindungen werden vom guten alten MGTF hergestellt. Nach Überprüfung der Module wurden sie mit Epoxidkleber gefüllt. Übrigens habe ich im Fixpreis einen ziemlichen Kleber für mich im Formfaktor von Doppelspritzen gefunden.Hier sind die Gestaltungselemente: 10. Verschiedenes. Bestehende Kilometer, die zuvor von den oben genannten Papierstücken im nichtflüchtigen Speicher gespeichert wurden. Apropos sie. Der nichtflüchtige Speicher ist in msp430 Seite für Seite organisiert. Die ersten drei stehen dem Benutzer zur Verfügung. Der vierte speichert die Kalibrierungsdaten der Uhr. Die Messwerte des Hauptkilometerzählers und zweier zusätzlicher rücksetzbarer Kilometerzähler werden nacheinander gespeichert, wobei die ersten drei Seiten des Blitzes nacheinander ausgefüllt werden. Am Ende der dritten Seite werden die ersten drei Seiten gelöscht und die Aufnahme beginnt erneut am Anfang der ersten Seite. Somit wird die Blitzressource erhöht, obwohl die Ressource des Zündschalters (das Speichern erfolgt beim Ausschalten der Zündung) natürlich geringer ist als die Ressource zum Löschen der Blitzaufzeichnung.Im Dashboard:
Im Prinzip alles. Warten auf Kommentare und Kommentare. Archiv mit den Quellen und dem Schema in Diptrace gemäß der Tradition im Bild :Leider erkennt der aktualisierte Habrastorage das Archiv im Bild und erlaubt es nicht, es zu speichern. Hier sind die Quellen und das Schema:dl.dropboxusercontent.com/u/974924/nivaCon2.rarPS Und ja, Diese IN14-Lampen sind in der Tat 44 Jahre alt.PPS-Video für unterwegs konnte nicht entfernt werden. Nicht genug Hände. Bestimmung der Geschwindigkeit per GPS überprüft. Abweichungen von ± 4 km / h bei einer Geschwindigkeit von 40 km / h. Ziemlich ausreichende Genauigkeit.Hier ist das Video:Ich habe es so gedreht:
Source: https://habr.com/ru/post/de396433/
All Articles