Mate Automat: Difference between revisions

From chaoswiki
Jump to navigation Jump to search
Line 65: Line 65:
== Übersicht ==
== Übersicht ==
* Getrennte Steuerungselektronik für jede Komponente
* Getrennte Steuerungselektronik für jede Komponente
** Leistungsteil/Busmaster (''power'')
** Master Controller (''mast'')
** Bedienfläche (''user'')
** Bedienfläche (''user'')
** Sensorik (''sensor'')
** Sensorik (''sensor'')
Line 71: Line 71:
** Notenleser (''bill'')
** Notenleser (''bill'')
** Kühlungssteuerung (''cooler'')
** Kühlungssteuerung (''cooler'')
** Flaschentransport-Regler (''power'')
* Panel PC für erweiterte Funktionen
* Panel PC für erweiterte Funktionen
** RFID-Leser
** RFID-Leser
Line 96: Line 97:


Nun stellt sich die Frage, wie die ganze Mikroelektronik mit Strom versorgt wird. I²C/TWI verwendet zwischen 1.2V und 5V DC, AVR-Controller werden mit 1.7-5.5V DC versorgt. Manche Komponenten wie Steuerrelais und Flaschenausgabe arbeiten aber mit 24V DC bzw. AC. Nun stellt sich die Frage, ob durchgehend alles mit 24V AC versorgt werden soll, oder besser mit einem eigenen Schwachstromkreis (5V DC). Für die Spezialkomponenten ist dann jeweils eine zusätzliche Stromversorgungsleitung nötig. Da die meisten Komponenten nur sehr wenig Strom benötigen, könnten einfache Gleichrichter-Spannungsregler-Kondensator-Schaltungen für die Versorgung ausreichen. 24V ist jedoch eine vergleichsweise hohe Spannung, 12V AC wären z.B. sinnvoller. Diese könnten mit einem 2:1-Transformator auf der Leistungsplatine relaisiert werden. Falls die Controller über die Busleitung mit Strom versorgt werden (4- oder 5-poliges Kabel), stellt sich ausserdem die Frage, ob der Wechselstrom das Datensignal negativ beeinflussen könnte. Ausserdem muss die Isolation ausreichen, um sicher gegen Überspannung auf den Controllern zu schützen. Auch Schutzwiderstände/Dioden wären möglich.
Nun stellt sich die Frage, wie die ganze Mikroelektronik mit Strom versorgt wird. I²C/TWI verwendet zwischen 1.2V und 5V DC, AVR-Controller werden mit 1.7-5.5V DC versorgt. Manche Komponenten wie Steuerrelais und Flaschenausgabe arbeiten aber mit 24V DC bzw. AC. Nun stellt sich die Frage, ob durchgehend alles mit 24V AC versorgt werden soll, oder besser mit einem eigenen Schwachstromkreis (5V DC). Für die Spezialkomponenten ist dann jeweils eine zusätzliche Stromversorgungsleitung nötig. Da die meisten Komponenten nur sehr wenig Strom benötigen, könnten einfache Gleichrichter-Spannungsregler-Kondensator-Schaltungen für die Versorgung ausreichen. 24V ist jedoch eine vergleichsweise hohe Spannung, 12V AC wären z.B. sinnvoller. Diese könnten mit einem 2:1-Transformator auf der Leistungsplatine relaisiert werden. Falls die Controller über die Busleitung mit Strom versorgt werden (4- oder 5-poliges Kabel), stellt sich ausserdem die Frage, ob der Wechselstrom das Datensignal negativ beeinflussen könnte. Ausserdem muss die Isolation ausreichen, um sicher gegen Überspannung auf den Controllern zu schützen. Auch Schutzwiderstände/Dioden wären möglich.

Aufgrund der Überlegungen zu problematischen AC-Strömen wird die Busleitung ausschliesslich DC-Spannung führen, in 5-24V. Jede Controller-Platine enthält dann einen Spannungsregler und Glättungskondensator. Leistungselektronik wird zusätzlich mit separaten Kabeln versorgt.


== Bus ==
== Bus ==
Line 110: Line 113:
Bei Stern-Topologie müssen eventuell alle Leitungen gleich lang sein oder zusätzliche Widerstände in Serie geschaltet werden, damit die Signalpegel nicht zu weit abdriften. Bei Leiterlängen unter 2m dürfte das aber kaum Probleme bereiten. Ausserdem: Auf die Leiterkapazitäten und Übersprechen zwischen SCL und SDA achten. Siehe [http://www.i2c-bus.org/i2c-primer/ i2c-bus.org].
Bei Stern-Topologie müssen eventuell alle Leitungen gleich lang sein oder zusätzliche Widerstände in Serie geschaltet werden, damit die Signalpegel nicht zu weit abdriften. Bei Leiterlängen unter 2m dürfte das aber kaum Probleme bereiten. Ausserdem: Auf die Leiterkapazitäten und Übersprechen zwischen SCL und SDA achten. Siehe [http://www.i2c-bus.org/i2c-primer/ i2c-bus.org].


Zur Signalisierung von Ereignissen auf den Slaves könnte eine eigene Interrupt-Leitung pro Komponente vorgesehen werden. Alternative Varianten sind reines Polling sowie Multi-Master-Betrieb.
Zur Signalisierung von Ereignissen auf den Slaves könnte eine eigene Interrupt-Leitung pro Komponente vorgesehen werden. Alternative Varianten sind reines Polling sowie Multi-Master-Betrieb. Für Interrupt-Betrieb eignet sich jedoch nur eine Stern-Topologie gut, für Bus-Verkabelung wäre ein Kabel mit viel zu vielen Einzelleitern nötig. Multi-Master hingegen ist mit AVR schwierig zu realisieren.


== Aktoransteuerung ==
== Aktoransteuerung ==
Die Aktoren (Motoren) werden mit Wechselstrom angetrieben. Dafür ist eine passende Ansteuerelektronik erforderlich. In der bestehenden Schaltung wurden Triacs verwendet, jedoch ohne galvanische Trennung zur Steuerelektronik. Wir werden spezielle Triac-Treiber mit eingebauten Optokopplern einsetzen, ergänzt durch externe Triacs die für die nötige Leistung ausgelegt sind.
Die Aktoren (Motoren) der Getränkeausgabe werden mit Wechselstrom angetrieben. Dafür ist eine passende Ansteuerelektronik erforderlich. In der bestehenden Schaltung wurden Triacs verwendet, jedoch ohne galvanische Trennung zur Steuerelektronik. Wir werden spezielle Triac-Treiber mit eingebauten Optokopplern einsetzen, ergänzt durch externe Triacs die für die nötige Leistung ausgelegt sind.

Jeder Aktor bekommt eine eigene Steuerung, die aus einer kleinen Platine mit Spannungsversorgung, Mikrocontroller, Optokoppler, Vorschalt-Transistor und Triac besteht. Die Endschalter werden mit dem Mikrocontroller verbunden. So kann der Schaltungsaufwand auf dem Master erheblich reduziert werden und die Wartbarkeit wird erhöht.


== Kühlaggregat ==
== Kühlaggregat ==

Revision as of 12:19, 14 June 2012

Projektname

  • Matemat
  • Mate-o-mat
  • Mate-mat
  • Mateklo
  • Matebot
  • Mateschleuder

Daten

  • Typ: V150
  • Seriennummer: 3212190333
  • Spannung: 230V
  • Leistung: 900W
  • Inhalt: 5x 24 Flaschen (0.33/0.5l ?)

Modifikationsideen

Bezahloptionen

Wichtig: ein Anonymer Mate kauf sollte immer möglich sein, wir wollen nicht dass daten von unseren Usern irgendwo in einem P2P Netzwerk landen!

  • RFID Karte (nicht sicherer als strichliste)
  • SSL Client Zertifikat
  • PGP Signierte Mail
  • SMS
  • XMPP (Jabber)
  • Webinterface mit Login
  • Geldscheinprüfer (hab ich rumliegen, nur für die stark süchtigen geeignet :-)
  • Münz (für die altmodischen unter uns)

User interface und sonstiges

  • 7" LCD mit resistivem Touchscreen (Hat User:Obri rumliegen, wäre mit integriertem rechner, ist schnarchlahm)
  • LCD ohne Touchscreen 4 Zeilen 20 zeichen. (Hat RS232 kann man auch mit einem alix oder ähnlich ansteuern)
  • Temperaturmonitoring mit diversen DS18S20
  • genaue Füllstandsanzeige mit z.B. Sharp GP2Y0A21YK
  • Grafische Statistiken über den Mate verbrauch (anonym, keine auswertung für einzelne User)
  • Automatisches nachbestellen bei kritischem Mate Level

Design

  • Rote flächen mit gelber Folie bekleben, schwarze flächen frisch steichen
    • Folie bekommen wir zum einkaufspreis von ca. 20.- pro laufmeter. Die Folie ist 1.30m breit, länge können wir bestimmen, die rote Farbe sollte durch die Folie nicht mehr sichtbar sein.
    • Preis für ein ausgeschnittenes oder gedrucktes mate logo ist in abklärung
  • einen grossen Mate Kleber auftreiben oder produzieren lassen
    • Könnte man mit nem schneideplotter ausschneiden, kostet[tm] aber was, auch mit vitamin B

Bilder vor Umbau

Umbauarbeiten 20100809

Elektronik Redesign

Die neue Elektronik muss etwas mehr können als die alte, daher haben wir uns entschlossen, sie komplett neu zu entwickeln.

Übersicht

  • Getrennte Steuerungselektronik für jede Komponente
    • Master Controller (mast)
    • Bedienfläche (user)
    • Sensorik (sensor)
    • Münzautomat (coin)
    • Notenleser (bill)
    • Kühlungssteuerung (cooler)
    • Flaschentransport-Regler (power)
  • Panel PC für erweiterte Funktionen
    • RFID-Leser
    • Benutzerkonti
    • Web-Interface
  • Leistungselektronik ähnlich aufgebaut wie bisher
  • Stromversorgung wie bisher (24V AC)
  • Vernetzung der Komponenten per Busleitung (ev. mit Stromversorgung 3.3V DC / 5V DC / 24V AC)

Mikrocontroller

Jede Komponente hat einen eigenen, für die Aufgabe passenden Mikrocontroller. Aufgrund des vorhandenen Know-Hows eignen sich Atmel AVR-Controller bei uns am besten.

Der Leistungsteil enthält neben den Motortreibern auch den Bus-Master, welcher über eine serielle Schnittstelle mit dem Web-PC verbunden wird. Der Bus-Master kommuniziert Befehle vom Web-PC mit den anderen Komponenten und gibt Status-Informationen zurück.

Der Bedien-Controller steuert ein LCD/VFD/LED-Display, Signal-LEDs sowie ein Tastenfeld an. Für das Display wird ein Dot-Matrix-Display mit eigenem Text-Controller bevorzugt. Alternativ könnte auch eine 15-Segment-Anzeige geeignet sein. Sie muss Text anzeigen können, Grafik ist optional.

Die Sensorik beinhaltet Temperaturfühler und Füllstandmesser. Fehlerzustände könnten auch vom Sensor-Controller erfasst werden. Möglicherweise sind mehrere Sensor-Boards nötig, da sich die Füllstandssensoren und Fühler an verschiedenen Punkten im Gehäuse befinden. Genaue Positionierung ist noch auszuarbeiten. Variante: Generische Sensor-Boards mit DIP-Schaltern für die Adressierung zur beliebigen Erweiterung.

Für das Kühlaggregat muss ein Schaltrelais verbaut werden, das den Kompressor ein- und ausschaltet. Ausserdem ist eine manuelle Schaltung nötig, um den Kompressor über den bereits eingebauten Bimetall-Thermostat zu steuern.

Münzautomat und Notenleser werden über ein primitives Interface digital angesteuert. Die Steuerelektronik "übersetzt" dann in Statusmeldungen auf dem Bus.

Stromversorgung

Das bestehende 230V AC -> 24V AC Netzteil wird weiterhin verwendet.

Nun stellt sich die Frage, wie die ganze Mikroelektronik mit Strom versorgt wird. I²C/TWI verwendet zwischen 1.2V und 5V DC, AVR-Controller werden mit 1.7-5.5V DC versorgt. Manche Komponenten wie Steuerrelais und Flaschenausgabe arbeiten aber mit 24V DC bzw. AC. Nun stellt sich die Frage, ob durchgehend alles mit 24V AC versorgt werden soll, oder besser mit einem eigenen Schwachstromkreis (5V DC). Für die Spezialkomponenten ist dann jeweils eine zusätzliche Stromversorgungsleitung nötig. Da die meisten Komponenten nur sehr wenig Strom benötigen, könnten einfache Gleichrichter-Spannungsregler-Kondensator-Schaltungen für die Versorgung ausreichen. 24V ist jedoch eine vergleichsweise hohe Spannung, 12V AC wären z.B. sinnvoller. Diese könnten mit einem 2:1-Transformator auf der Leistungsplatine relaisiert werden. Falls die Controller über die Busleitung mit Strom versorgt werden (4- oder 5-poliges Kabel), stellt sich ausserdem die Frage, ob der Wechselstrom das Datensignal negativ beeinflussen könnte. Ausserdem muss die Isolation ausreichen, um sicher gegen Überspannung auf den Controllern zu schützen. Auch Schutzwiderstände/Dioden wären möglich.

Aufgrund der Überlegungen zu problematischen AC-Strömen wird die Busleitung ausschliesslich DC-Spannung führen, in 5-24V. Jede Controller-Platine enthält dann einen Spannungsregler und Glättungskondensator. Leistungselektronik wird zusätzlich mit separaten Kabeln versorgt.

Bus

Um die Programmierung zu vereinfachen und den Schaltungsaufwand zu minimieren, verwenden wir eine Vernetzung mit folgenden Anforderungen:

  • Bus- oder Stern-Topologie
  • Terminierung auf der Leistungs-Platine
  • Single Master, Multi Slave, Leistungs-Controller ist Master
  • Polling
  • Low-Speed (1kbps-100kbps)
  • Leitungslänge pro Segment max. 2m
  • Spannung 3.3V oder 5V

Diese Anforderungen können Mit I²C (bzw. TWI) erfüllt werden. Korrekte Terminierung (Bus-Kapazität beachten) und Strom begrenzende Seriewiderstände sind vorausgesetzt. Bei Stern-Topologie müssen eventuell alle Leitungen gleich lang sein oder zusätzliche Widerstände in Serie geschaltet werden, damit die Signalpegel nicht zu weit abdriften. Bei Leiterlängen unter 2m dürfte das aber kaum Probleme bereiten. Ausserdem: Auf die Leiterkapazitäten und Übersprechen zwischen SCL und SDA achten. Siehe i2c-bus.org.

Zur Signalisierung von Ereignissen auf den Slaves könnte eine eigene Interrupt-Leitung pro Komponente vorgesehen werden. Alternative Varianten sind reines Polling sowie Multi-Master-Betrieb. Für Interrupt-Betrieb eignet sich jedoch nur eine Stern-Topologie gut, für Bus-Verkabelung wäre ein Kabel mit viel zu vielen Einzelleitern nötig. Multi-Master hingegen ist mit AVR schwierig zu realisieren.

Aktoransteuerung

Die Aktoren (Motoren) der Getränkeausgabe werden mit Wechselstrom angetrieben. Dafür ist eine passende Ansteuerelektronik erforderlich. In der bestehenden Schaltung wurden Triacs verwendet, jedoch ohne galvanische Trennung zur Steuerelektronik. Wir werden spezielle Triac-Treiber mit eingebauten Optokopplern einsetzen, ergänzt durch externe Triacs die für die nötige Leistung ausgelegt sind.

Jeder Aktor bekommt eine eigene Steuerung, die aus einer kleinen Platine mit Spannungsversorgung, Mikrocontroller, Optokoppler, Vorschalt-Transistor und Triac besteht. Die Endschalter werden mit dem Mikrocontroller verbunden. So kann der Schaltungsaufwand auf dem Master erheblich reduziert werden und die Wartbarkeit wird erhöht.

Kühlaggregat

Das Kühlaggregat läuft mit 230V AC und wird bestehend von einem einfachen Bimetall-Thermostat gesteuert.

Die neue Steuerung beinhaltet einen mechanischen oder elektromechanischen Schalter (bistabiles Relais) zur Umschaltung zwischen Mikrocontroller- und Thermostat-Betrieb. Im Thermostat-Betrieb wird die bestehende Technik verwendet. Im µC-Betrieb steuert ein an den Bus angeschlossener Controller ein mechanisches oder Solid-State-Relais, welches L und N vom Kompressor trennt.

Das Steuerrelais sollte primär über einen Optokoppler an den µC angeschlossen werden. So wären auch höhere Steuerspannungen möglich und die beiden Stromkreise sind galvanisch getrennt.