Forum: Mikrocontroller und Digitale Elektronik Cocktailmixer Steuerung


von Johannes A. (ensheimer)


Lesenswert?

Hallo,

kurz vorab, ich bin absoluter Neueinsteiger auf diesem Gebiet und lese 
mich erst solangsam in die Materie ein. Darauf gestoßen bin ich, da ich 
im Rahmen des Maschinenbaustudium eine Projektarbeit (frei wählbar) 
machen muss.

Eine Idee war zum Beispiel ein Cocktailmixer. Die ganz grobe Grundidee 
war folgende:

Mixer besteht aus mehreren Getränketanks (Säfte, Sirup, Alkohol,...). 
Der Auslass wird z.B. jeweils über ein Magnetventil gesteuert. Das ganze 
wird dann noch durch eine Art Mixstab gemischt.

Mein Problem ist die Steuerung der Ventile, Servos, Motoren. Die 
Steuerung soll über einen Computer stattfinden.

Ich hätte am Schluss gerne eine Benutzeroberfläche zur Verfügung, die 
ich mit Buttons belegen kann, bei deren Betätigung dann das jeweile 
Unterprogramm für den jeweiligen Cocktail abläuft.

Die Unterprogramme an sich sollen recht einfach gehalten sein. Sprich 
eigentlich müssen sie nur die Öffnungszeiten der Ventile und evtl den 
Mixer steuern.
Die nächste Ausbaustufe wäre die Öffnungs der Ventile nicht durch die 
Zeit zu steuern, sondern mit einem Durchflussmengenmesser zu koppelen. 
Das ist jetzt Anfangs aber noch egal.
Die Fehler bei der Dosiermenge der Ventile ist dabei nicht so sehr 
wichtig, solang sich das ganze in einem Vernünftigen Rahmen hält.

Bis jetzt habe ich gelesen, dass das Ganze z.B. mit einem mySmartUSB 
Programmer und ATmega Controllern realisierbar wäre und das ganze mit 
Bascom geschrieben wird.
Problem dabei ist, dass ich davon bis jetzt echt noch keine Ahnung habe. 
Ich hab Grundkenntnisse was die Programmierung mit VBA angeht, aber 
nicht mit anderen Programmen gearbeitet. Mit E-technik kenne ich mich 
auch nicht aus.

Fragen:
Ist das Ganze so wie ich es mir vorstelle für einen Anfänger 
realisierbar?
Wie würdet ihr das ganze Ansteuern?
Die Benutzeroberfläche wäre wichtig, ist das so realisierbar?
Mit welchen Bauteilen würdet ihr arbeiten?
usw...

Vielen Dank schonmal für die Antworten

LG Johannes

von holger (Gast)


Lesenswert?

>Mit E-technik kenne ich mich
>auch nicht aus.
>
>Fragen:
>Ist das Ganze so wie ich es mir vorstelle für einen Anfänger
>realisierbar?
>Wie würdet ihr das ganze Ansteuern?
>Die Benutzeroberfläche wäre wichtig, ist das so realisierbar?
>Mit welchen Bauteilen würdet ihr arbeiten

Reichen dir deine eigenen Fragen nicht um abzuschätzen
ob du das kannst? Ich seh da nur:

Kann ich nicht.
Kann ich nicht.
Kann ich nicht.
Kann ich nicht.
Kann ich nicht.

Zu viele Baustellen für einen Anfänger.

von Herr_Kaiser (Gast)


Lesenswert?

Für einen Anfänger realisierbar? Kommt darauf an, wieviel Zeit und Geld 
du übrig hast.
Du studierst also Maschinenbau. So, wie das hier für mich klingt, 
scheint das Projekt für dich aber zu 90% fachfremd zu sein, oder?

Zumindest Etechnik sollte man im Maschbau Studium doch gehabt haben, 
oder?
Ohne irgend eine Ahnung von Microcontrollern, Programmieren oder 
Etechnik, sieht das gar nicht so gut für dich aus.
Im Hobbybereich wär das so ein Projekt, das jemand anfängt und dann 
irgendwann liegen lässt, weil er nicht weiterkommt.

Vielleicht magst du dir lieber etwas suchen, bei dem du vorher nicht 
nachfragen musst, ob das so machbar ist, sondern bei dem du mit deinem 
Fachwissen auch konkrete Fragen stellen kannst.

von Johannes A. (ensheimer)


Lesenswert?

Ja, soweit hast du da schon recht. Aber ich habe damit auch noch über 
ein halbes Jahr Zeit und könnte mich Stück für Stück voran arbeiten.

Wenn ich das schon alles wüsste, hätte ich ja nicht Fragen müssen;-)

von holger (Gast)


Lesenswert?

>Ja, soweit hast du da schon recht. Aber ich habe damit auch noch über
>ein halbes Jahr Zeit und könnte mich Stück für Stück voran arbeiten.

Ein halbes Jahr ist NICHTS für den ganzen Kram den du da lernen
müsstest. Such dir was kleineres für deine Projektarbeit.

Selbstüberschätzung nennt man die Krankheit an der du leidest.

von Michael (Gast)


Lesenswert?

Johannes A. schrieb:
> Fragen:
> Ist das Ganze so wie ich es mir vorstelle für einen Anfänger
> realisierbar?

Ja sobald du kein Anfänger mehr bist

> Wie würdet ihr das ganze Ansteuern?

mit einem ATMEGA und USB

> Die Benutzeroberfläche wäre wichtig, ist das so realisierbar?

Ja. Arbeite dich in vb.bet ein

> Mit welchen Bauteilen würdet ihr arbeiten?
> usw...

Du musst bevor du groß irgendwas anderes anfängst dich in 
Mikrocontroller einarbeiten. Also zuerst mal machst du das hier: 
https://www.mikrocontroller.net/articles/AVR-Tutorial
Dann hast du verstanden wie Mikrocontroller funktionieren
Dann lernst du C mit diesem Tutorial:
https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
So jetzt hast du die Basics zum Thema Mikrocontroller. Jetzt hast du 
auch das Wissen wie man die Ventile ansteuert und die Schnittstellen 
benutzt. Parallel dazu kannst du dich in vb.net einarbeiten. 
http://openbook.galileocomputing.de/vb_net/
Das ist ein kostenloeses Onlinebuch. Sehr gut geschrieben. Damit gelingt 
es ziemlich leicht Benutzeroberflächen zu machen.
Das dürfte ungefähr ein Halbjahresprogramm sein.
Wenn du nur der Anwender sein willst, dann schau dir Arduino an, das 
ersetzt die ganze Sache mit dem ATMEGA und Mikrocontrollerspaß. Ist 
deutlich einfacher zu lernen - bietet aber für dich eine ausreichende 
Funktionalität:
http://de.wikipedia.org/wiki/Arduino-Plattform

von Herr_Kaiser (Gast)


Lesenswert?

Johannes A. schrieb:
> Ja, soweit hast du da schon recht. Aber ich habe damit auch noch über
> ein halbes Jahr Zeit und könnte mich Stück für Stück voran arbeiten.

Das halbe Jahr würde reichen, wenn du von den ganzen Sachen Ahnung 
hättest.
Du musst dich ja nicht nur irgendwie einarbeiten, und dann klappt alles. 
Vermutlich wird jede Menge schief gehen und du wirst über Probleme an 
Stellen stolpern, wo du niemals welche vermutet hättest. Solche Fehler 
auszuräumen kostet richtig dick Zeit.

Ich arbeite gerade an meiner Bachelorarbeit. Da beschäftige ich mich 
größtenteils mit Sachen, mit denen ich mich vorher schon halbwegs 
ausgekannt habe oder zumindest eine leise Ahnung hatte, wodrum es da 
geht. Und selbst dabei tauchen genug Probleme auf, mit denen ich vorher 
nicht gerechnet hatte.

Das Projekt ist sicherlich interessant. Grundsätzlich ist das eine 
machbare Sache. Ich wills dir nicht kaputtreden. Aber überleg dir 
wirklich genau, ob das für dich realistisch zu bewältigen ist.

von Johannes A. (ensheimer)


Lesenswert?

So, ich habe mich trotzdem mal an die Sache herangewagt, allerdings 
Bascom gewählt, da ich mit Hochsprachen schon zumindest etwas Erfahrung 
hab.

Ich habe jetzt zum Testen anstatt der Magnetventile Led's genommen und 
anstatt der Benutzeroberfläche ein LCD gewählt. Wusste nicht dass die 
ausgabe darauf mit Bascom so simpel ist.

Die Led's habe ich mit jeweils einem Transistor (NPN 2N 2222) 
angesteuert wie im folgenden Link:
http://halvar.at/elektronik/kleiner_bascom_avr_kurs/last_anschliessen/

Das Ganze habe ich auch mit einem Gleichstrommotor versucht. Diesen 
wollte ich vorerst nur an/aus schalten. Das hat aber nicht funktioniert. 
Wie muss ich denn in dem Fall die Schaltung aufbauen? Welche Bauteile 
benötige ich?

Habe mich auch mal an der Servosteuerung versucht, da ich den Controller 
allerdings im moment wohl nur auf 1Mhz betreiben kann, da mein Board 
keinen 8Mhz Quarzoszillator besitzt, funktioniert die Bascom Routine nur 
sehr unzufriedenstellend - das ganze ruckelt wie verrückt. Habe das 
ganze dann wie im Quellcode zu sehen ist gelöst, funktioniert soweit 
auch ganz gut. Jetzt gibt es noch die Möglichkeit das ganze über Timer 
zu programmieren, gibt es dabei Vorteile? Ist das evtl. genauer?

So nun zu den Hauptbestandteilen, die Magnetventile. Dazu habe ich mir 
schonmal folgenen Thread durchgelesen:
Beitrag "Magnetventil ansteuern"
Die günstigsten Ventile die ich bis jetzt gefunden habe, und die in 
Frage kämen, wären diese:
http://www.magnetventile-shop.de/magnetventile-2/magnetventile-messing/inlineventile/inline-magnetventil-imv604.html
So nun wieder Fragen zur Schaltung, könnte ich die wie geposteten Link 
anschließen, oder gibt es für meinen Fall bessere Lösungen?
Gibt es noch günstigere zwangsgesteuerte Ventile?

Hier mal der jetztige Quelltext. Habe jetzt einfach mal irgendwelche 
Cocktailnamen und Öffunungs-/Leuchtzeiten gewählt. Das müsste ich 
natürlich noch ausrechnen und testen.
1
$regfile = "m8adef.dat"
2
$crystal = 1000000
3
$hwstack = 100
4
$swstack = 100
5
$framesize = 100
6
7
'Ausgänge
8
Led1 Alias Portc.1
9
Config Led1 = Output
10
11
Led2 Alias Portc.2
12
Config Led2 = Output
13
14
Led3 Alias Portc.3
15
Config Led3 = Output
16
17
Led4 Alias Portc.4
18
Config Led4 = Output
19
20
Led5 Alias Portc.5
21
Config Led5 = Output
22
23
Servo Alias Portd.0
24
Config Servo = Output
25
26
'LCD
27
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , _
28
   Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
29
Config Lcd = 16 * 2
30
Cursor Off
31
32
'Eingänge
33
Starttaster Alias Pinb.0
34
Config Starttaster = Input
35
36
Taster1 Alias Pinb.1
37
Config Taster1 = Input
38
39
Taster2 Alias Pinb.2
40
Config Taster2 = Input
41
42
Taster3 Alias Pinb.3
43
Config Taster3 = Input
44
45
Taster4 Alias Pinb.4
46
Config Taster4 = Input
47
48
49
'PullUp-Widerstände einschalten
50
Portb.0 = 1
51
Portb.1 = 1
52
Portb.2 = 1
53
Portb.3 = 1
54
Portb.4 = 1
55
56
57
Declare Sub Mischung(byval M As Byte)
58
59
Dim M As Byte
60
Dim I As Byte
61
Dim Sweep As Byte
62
Dim Puls As Word
63
64
'Start
65
Cls
66
Locate 1 , 6
67
Lcd "Hallo!"
68
69
Wait 2
70
71
'Servo Ausrichten
72
Gosub Servo_mitte
73
74
'Standarteinstellung Mischung 1
75
M = 1
76
77
Cls
78
Locate 1 , 4
79
Lcd "Cuba Libre"
80
81
82
Do
83
84
   If Taster1 = 0 Then
85
      M = 1
86
      Cls
87
      Locate 1 , 4
88
      Lcd "Cuba Libre"
89
90
   Elseif Taster2 = 0 Then
91
      M = 2
92
      Cls
93
      Locate 1 , 1
94
      Lcd "Sex on the Beach"
95
96
   Elseif Taster3 = 0 Then
97
      M = 3
98
      Cls
99
      Locate 1 , 1
100
      Lcd "Tequilla Sunrise"
101
102
   Elseif Taster4 = 0 Then
103
      M = 4
104
      Cls
105
      Locate 1 , 2
106
      Lcd "Swimming Pool"
107
108
   End If
109
110
111
   If Starttaster = 0 Then
112
      Cls
113
      Locate 1 , 3
114
      Lcd "Zubereitung"
115
      Locate 2 , 6
116
      Lcd "laeuft"
117
118
      Call Mischung(m)
119
120
      Gosub Servo_anschlag
121
      Gosub Servo_mitte
122
123
      Cls
124
      Locate 1 , 6
125
      Lcd "Fertig"
126
   End If
127
128
Loop
129
130
End
131
132
133
'========================================
134
Servo_anschlag:
135
For I = 1 To 250       'ca. 5 sec Endstellung 1
136
   Portd.0 = 1       'Servopuls ein für ca. 1ms
137
   Waitus 1000
138
   Portd.0 = 0
139
   Waitms 19       'ca. 50 Wiederholungen pro Sekunde
140
Next I
141
Return
142
143
Servo_mitte:
144
For I = 1 To 50       'ca. 1 sec Mittelstellung
145
    Portd.0 = 1       'Servopuls ein für ca. 1.5ms
146
    Waitus 1500
147
    Portd.0 = 0
148
    Waitus 18500       'ca. 50 Wiederholungen pro Sekunde
149
Next I
150
Return
151
152
Sub Mischung(byval M As Byte)
153
154
If M = 1 Then
155
156
   Led1 = 1
157
   Wait 2
158
   Led1 = 0
159
   Led2 = 1
160
   Wait 2
161
   Led2 = 0
162
   Led3 = 1
163
   Waitms 500
164
   Led3 = 0
165
   Led4 = 1
166
   Waitms 500
167
   Led4 = 0
168
   Led5 = 1
169
   Waitms 500
170
   Led5 = 0
171
172
Elseif M = 2 Then
173
174
   Led1 = 1
175
   Wait 1
176
   Led1 = 0
177
   Led2 = 1
178
   Waitms 500
179
   Led2 = 0
180
   Led3 = 1
181
   Wait 1
182
   Led3 = 0
183
   Led4 = 1
184
   Waitms 500
185
   Led4 = 0
186
   Led5 = 1
187
   Wait 1
188
   Led5 = 0
189
190
Elseif M = 3 Then
191
192
   Led1 = 1
193
   Waitms 300
194
   Led1 = 0
195
   Led2 = 1
196
   Waitms 300
197
   Led2 = 0
198
   Led3 = 1
199
   Wait 2
200
   Led3 = 0
201
   Led4 = 1
202
   Waitms 300
203
   Led4 = 0
204
   Led5 = 1
205
   Waitms 300
206
   Led5 = 0
207
208
Elseif M = 4 Then
209
210
   Led1 = 1
211
   Wait 2
212
   Led1 = 0
213
   Led2 = 1
214
   Waitms 500
215
   Led2 = 0
216
   Led3 = 1
217
   Wait 2
218
   Led3 = 0
219
   Led4 = 1
220
   Waitms 5
221
   Led4 = 0
222
   Led5 = 1
223
   Waitms 2
224
   Led5 = 0
225
226
End If
227
228
End Sub

: Bearbeitet durch User
von D. M. (da_miez)


Lesenswert?

Grüß dich :) !

Gibts schon Neuigkeiten? Oder hast du das Projekt eingestellt?

von Johannes A. (ensheimer)


Lesenswert?

Hallo,

die Maschine hat ihre ersten Testläufe hinter sich und ist zu 90% 
fertig. Ich muss allerdings, vorallem an den Hardwarekomponenten, noch 
einige Optimierungen vornehmen. Bei Interesse kann ich die Tage mal ein 
paar Bilder hochladen. Erinner mich gegebenenfalls noch einmal daran!

Gruß Johannes

von D. M. (da_miez)


Lesenswert?

Bilder wären super :) Spiele auch mit dem Gedanken so ne Maschine zu 
baun. Softwareseitig sollte es keine Probleme geben. Aber bei 
Material,(Selbst)Reinigung, (Geld)Eingabe, Geschwindigkeit der Mixung, 
Mobilität, Flaschentausch, ganz wichtig Stabilität und Optik (Sonst wird 
das Ding auch bei der anspruchsvollsten Programmierung ne Lachnummer, da 
für die Nutzer im Endeffekt das Ergebnis und gewohnte Qualität bekannter 
Maschinen (z.B. Kaffeevollautomat usw.) zählt ) etc. etc. entstehen noch 
tausend ungelöste Fragen ;)

von Johannes A. (ensheimer)


Lesenswert?

Soooo, sorry bin erst jetzt dazu gekommen...

Also da das Ganze ein Uniprojekt ist und der Hauptaugenmerk auf der 
Technik liegt, war die Optik eher sekundär.

Beim Material haben wir auf Grund der einfachen Verarbeitbarkeit beim 
Rahmen hauptsächlich auf Holz zurück gegeriffen.

Die Getränke werden in Kunststofftanks umgefüllt, um unabhängig von 
Flaschenverschraubungen zu sein und um eine kapazitive Füllstandsmessung 
anbringen zu können, die den Füllstand berührungslos von außen misst. 
Die Getränke werden dann durch Silikonschläuche zur Abfüllung geleitet.
Gekühlt wird das ganze durch ein ausgebautet Kühlaggregat aus einer 
Minibar.

Die Ventile stammen aus dem 3D Drucker und sind einfach aufgebaute 
Schlauchklemmventile. Dadurch kommen die Getränke nicht in Verbindung 
mit den Ventilen und man kann die Behälte inkl. Schläuche einfach 
herausnehmen und in der Spülmaschine waschen.

Die Füllmenge wird einfach über die Ventilöffnungszeiten gesteuert, die 
je nach Füllstandshöhe mit einem Korrekturfaktor behaftet sind.

Auf einen Münzeinwurf haben wir vorerst verzichtet, da die Maschine 
ausschließlich für private Partys gedacht ist.

Als Mixer haben wir einen Milchaufschäumer genommen, der mittels 
Linearantrieb ins Glas gefahren wird.

Insgesamt haben wir drei Linearantriebe. Einen um eine Plaxiglasplatte 
zu verfahren, die einen Eingriff wärend des Abfüllvorgangs verhindern 
soll. Der zweite um wie gesagt den Mixer zu verfahren und der dritte 
bewegt das Glas von der Frontposition zur Abfüll- und Mixposition.

Die beiden ersten sind mit Hilfe von Zahnriehmen aus alten Scannern und 
Druckern selbst gebaut, der dritte zugekauft.


Gesteuert wird das ganze durch zwei Atmega32, die via Uart miteinander 
kommunizieren.
Die Ausgabe erfolgt im Moment auf einem 20X4 Dissplay, gesteuert wird 
das ganze durch 4 Taster.
Im Menu gibt es den Zubereitungsteil und den Wartungsteil.

Im Zubereitungsteil kann man den entsprechnenden Cocktail und die 
Glasgröße auswählen.
Im Wartungsteil kann man sich die Kühlraumtemperatur und die Füllstände 
ansehen, die Ventile manuell öffnen um die Behälter zu entnehmen und 
entleeren zu können und den Mixer reinigen lassen.

Bei jeder Abfüllung wird mittels Lichtschranke (Laserpointer und 
Fotodiode) detektiert ob auch wirklich ein Glas vorhanden ist und ob die 
Füllstände für den ausgewählten Cocktail noch ausreichen.

Usw usw... Die Hälfte habe ich jetzt sowieso vergessen. Also am besten 
bei Fragen konkret nachfragen. Hier mal ein paar Bilder, die allerdings 
nicht alle dem jetztigen Stand entsprechen...

https://www.dropbox.com/s/3pcrgfzzk98wzex/2013-10-16%2022.18.30.jpg

https://www.dropbox.com/s/hjlndp7sg3k7v3n/2013-10-25%2021.48.23.jpg

https://www.dropbox.com/s/i7owcjcwmdbhy2g/2013-10-16%2022.18.01.jpg

Ein Bild mit Außenhülle werd ich sobald ich zu Hause bin hochladen.

Gruß Johannes

von Doone (Gast)


Lesenswert?

Respekt, da hast Du den ganzen Neinsagern hier im Board mal gezeigt, 
dass man mit Einsatz und Hirnschmalz durchaus sein Ziel erreichen kann, 
weiter so!

von Karl H. (kbuchegg)


Lesenswert?

Doone schrieb:
> Respekt, da hast Du den ganzen Neinsagern hier im Board mal gezeigt,
> dass man mit Einsatz und Hirnschmalz durchaus sein Ziel erreichen kann,
> weiter so!

Das stand ja auch nicht zur Debatte.
Die Frage war: kann ich als Anfänger das in einem halben Jahr schaffen?
Und wie man sieht, hatten die recht, die mit der Aussage kamen: In einem 
halben Jahr ist das für einen Anfänger schon eng.

Zumal man hier ja auch nicht das Programm sieht. Der Teil vom Februar 
(der sicher zum jetzigen Zeitpunkt nicht mehr repräsentativ ist) ist ja 
nicht wirklich prickelnd. Jemand der Programmieren kann würde das mit 
Sicherheit nicht so machen - viel zu viel Aufwand um Rezepturen 
auszutauschen bzw. andere Cocktails ins Angebot mit aufzunehmen.

Trotzdem: schöne Arbeit. Weiter so!

: Bearbeitet durch User
von Johannes A. (ensheimer)


Lesenswert?

Das jetzige Programm hat natürlich überhaupt nichts mehr mit dem 
Programmschnippsel zu tun, den ich vor ein paar Monaten mal eingestellt 
habe.
Programmierer mit mehr Erfahrung hätten wahrscheinlich dennoch einiges 
zu bemängeln und anderst gemacht, aber das Ganze funktioniert soweit und 
das ist die Hauptsache;-)
Also bitte nicht steinigen, wer Interesse hat, bitteschön:

Master-Programm:
https://www.dropbox.com/s/50wp5aan5xab7yb/MASTER-PROGRAMM%204.1.RTF

Slave-Programm:
https://www.dropbox.com/s/k4562cctnd3brun/SLAVE-PROGRAMM%204.1.RTF



Hier noch ein Bild mit Außenhülle, die aber in Zukunft mit Bildern von 
"Praxistests" verschönert werden soll...

https://www.dropbox.com/s/u9dzm1bbpex1w69/Konstrukta.png


Gruß Johannes

von D. M. (da_miez)


Lesenswert?

Schade, die Datein sind nicht mehr vorhanden. Kannst du noch ein paar 
Bilder von der Maschine posten, falls es sie noch gibt ;) ?

von Johannes A. (ensheimer)


Lesenswert?

Hallo,

ich bin im für ein halbes Jahr im Ausland und hab die meisten Daten 
nicht hier. Ich könnte dir aber ein Video.

https://www.dropbox.com/s/476oga74o7oaa71/Project%20C%20-%20Video.WMV

Bei weiteren Fragen kannst du dich gerne melden.

LG Johannes

von Jörg E. (jackfritt)


Lesenswert?

Jetz fehlen nur noch die Eiswürfel,Strohhalm und Olive ;)

von Johannes A. (ensheimer)


Lesenswert?

Ja man kann ja nicht alles haben.
Dafür gibt es dann noch eine hübsche Assistentin ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.