Forum: Mikrocontroller und Digitale Elektronik Reflow-Ofen Steuerung die 1000te - IO über USB/HID, Regelung im PC


von Robert B. (robertb)


Angehängte Dateien:

Lesenswert?

Hi!

Ich hatte die verrückte Idee, man könnte ja einen Pizzaofen als 
Reflow-Ofen benutzen! Jetzt will ich bei Kickstarter...

Spass beiseite:
Als Variation der mir bekannten Steuerungen möche ich von vorne herein 
die Regelung ausschließlich über den PC machen. Daher habe ich mal ein 
existierendes Layout von mir genommen, etwas entzerrt und ein paar Sharp 
S202 S02 und Sharp S26MD02 dazugesetzt.

Ausgang:
3x S202 für die Heizstäbe etc, 2x S26 für Umluftmotor etc. Müssen nicht 
alle bestückt werden.

Eingang/Messung:
2x Typ K über 2x Maxim 31855

Software:
noch nicht existent, aber ich will einfach ganz simple und ohne 
CDC-Bauchschmerzen (Treiber) per HID stupide die Wellenpaketsteuerung 
der einzelnen Leistungsstufen steuern (5 Byte - also locker <64Byte) und 
die Messwerte zum PC beamen. Gesteuerte LED ist immer an wenn eine der 
Wellenpaketsteuerung >0%. Wenn innerhalb 60sec kein gültiges HID-Paket 
mehr empfangen wurde werden alle Ausgänge abgeschaltet.

Layout ist nicht fertig, aber vielleicht hat schon wer noch eine 
Idee/Tipps. Bei Interesse wurde ich dann 10 Platinen fertigen lassen. 
Software für den LPC11U34 kriegt man bequem per USB-Bootloader drauf 
(Button ist vorgesehen), bei der "Komplexität" kommt man mit der Keil 
MDK Testversion (<32kB Begrenzung) hin.
Vielleicht fühlt sich jemand berufen eine GUI zu erstellen.

Grüße
Robert

von JojoS (Gast)


Lesenswert?

Was kann denn der PC besser als der LPC?

von Lothar (Gast)


Lesenswert?

Robert B. schrieb:
> LPC11U34

Am besten mal die passende USB HID Demo von NXP ansehen (ja die für 
LPC1347 läuft so auch auf LPC11UXX):

LPC13xx_12bitADC/NXP_LPC1347_2012_02_22/ROM_USB_hid

Da hat NXP übrigens wieder ganze Arbeit geleistet, der Vorgänger LPC1343 
hatte eine USB HID API im ROM die einfach funktioniert. Beim Nachfolger 
LPC1347 bzw. die Billigvarianten LPC11UXX wurde dann aber ein ganz 
anderes USB HID API ins ROM gepackt, das weder dieselben 
Einsprungadressen noch Parameter hat. Bin grade selber mit der 
Portierung beschäftigt.

von Lothar (Gast)


Lesenswert?

Robert B. schrieb:
> Vielleicht fühlt sich jemand berufen eine GUI zu erstellen.

GUI für USB HID gibts schon und kann einfach angepasst werden:

VisualBasic.NET/generic_hid_vb_50

http://www.lvr.com/hidpage.htm

von MaWin (Gast)


Lesenswert?

Meinst du nicht, daß so einer letztlich billiger kommt, kann auch Heizen 
und Kühlen in Rampen

http://www.ebay.de/itm/111049577802

von Robert B. (robertb)


Angehängte Dateien:

Lesenswert?

Anbei der aktuelle Stand, welcher mit 5x5cm auskommt.

Leider bin ich nicht ganz sicher, ob ich es mit der Packungsdichte etwas 
übertrieben habe: Müssen die S202 bei 1000W/Stk. gekühlt werden? Wie 
groß sind die Kühlkörper? (ja, ich weiß, rechnen - mich würden 
praktische Erfahrungen mit den S202 interessieren).

Zudem fehlen Sicherungen. Ich würde evtl. lieber eine zentrale wirklich 
separate Sicherung mit 10A vorsehen um das Gesamtkunstwerk abzusichern. 
Die einzelnen Bauteile können aber definitiv weniger weswegen ich wohl 
doch leider auf 5x10cm und einzelne Sicherungen gehen werde...

JojoS schrieb:
> Was kann denn der PC besser als der LPC?

Alles außer Heizen. Eingabe geht schneller auf jedes 
Tastengefummel/Touchscreen, Ausgabe auf einem großen PC-Bildschirm ist 
auch einfacher. Die Daten einer etwaigen SD-Karte werden ja sowieso auf 
einem PC erstellt - warum nicht direkt. Im "Feld" brauch ich den Reflow 
nicht und der PC steht eh keine 5m vom Lötofen.

Lothar schrieb:
> Am besten mal die passende USB HID Demo von NXP ansehen [...]

Die diversen Demos vom LPCWare funktioneren eigentlich alle sehr 
zuverlässig. Insbesondere bei HID habe ich da keine Bedenken.

MaWin schrieb:
> Meinst du nicht, daß so einer letztlich billiger kommt, kann auch Heizen
> und Kühlen in Rampen
>
> http://www.ebay.de/itm/111049577802

Scheint mir dann aber für einen Reflow recht unflexibel. Sicher aber 
hast du recht, dass so ziemlich jede Lösung "billiger" wäre wenn man die 
Zeit betrachtet. Die Teile kosten inkl. PLatine nur 20 Euro schätze ich.

Grüße
Robert

von Robert B. (robertb)



Lesenswert?

Hallo!

Mittlerweile wurden die Platinen geliefert. Eine habe ich soweit die 
Teile vorhanden waren bestückt (es fehlen mir die Sicherungshalter) und 
eine Test-Firmware von einem anderen Projekt portiert/umgeschrieben. 
Zudem möchte ich einige Platinen abgeben.

Hardware:
- Eagle 6.4 (kleiner 80x100, Demo-Version)
- kann per Button auch per USB geflasht werden (NXP Bootloader)
- Ansteuerung der S202/S14 funktioniert (NV-Seite nocht nicht getestet, 
aber es fließen 20mA bei korrekten 1,2V Durchlassspannung)
- extrem helle LEDs liegen im Strompfad der SSR; LED an = SSR an; LED 
aus = SSR aus
- Unterseite des NV-Bereichs wurde im Lötstop ausgespart um Kupferdraht 
(z.B. NYM-Kabelreste) auflöten zu können (wichtig!)
- MAX31855 können mit 4,8 MHz SPI ausgelesen werden und liefern korrekte 
Daten

Test-Firmware:
- In Keil MDK-ARM (unter 32kb, kann mit Demo-Version gebaut werden!)
- meldet sich als USB-CDC
- steuert SSR durch zwei Timer mit einstellbarer PWM, PWM-Periode ist 
10*(1/Netzfrequenz) um direkt PWM mit 10% Schritten zu erlauben
- liest jede Sekunde beide MAX aus und zeigt alle Daten inkl. Ref.-Temp 
und Fehlerstati an
- bietet Command-Line-Interface zum Lesen/Schreiben des EEPROM, leicht 
erweiterbar für weitere Befehle (z.B. setzen der PWM)

TODO:
- Programm für den Rechner, der die Daten entgegen nimmt, regelt, 
Stellwerte ausgibt; laden/speichern von Heizkurven und eine grafische 
Anzeige wären natürlich super
- von CDC auf HID?
- PWM evtl. auf 1% Auflösung aufbohren; hier würde ich bei den 10 
Netz-Zyklen bleiben (nicht einfach auf 100) und immer für jeden 
PWM-Zyklus den Stellwert auf eine Variable addieren und die Zehnerstelle 
ausgeben und subtrahieren; Beispiel: 24% -> 1. Zyklus 2/10, Rest 4 - 2. 
Zyklus 2/10, Rest 8 - 3. Zyklus 3/10, Rest 2 - 4. Zyklus 2/10, Rest 6 - 
...
- SICHERHEITSFUNKTIONEN: wenn kein Update der Stellwerte für x sec -> 
alles aus; wenn Ofen >240°C oder Auslesefehler der MAX -> alles aus

Während die Firmware-Sachen mehr Fingerübungen sind die ich noch 
erledige tue ich mih etwas scher mit der GUI. Vielleicht gibt es 
jemanden der den Part übernimmt? Visual Studio Express wäre mir am 
liebsten, ich bin aber auch für alles andere funktionfähige dankbar.

Im Zip findet ihr:
- Hardware (Eagle *.brd & *.sch)
- Software (fertiges Keil-Projekt mit allen Sourcen)
- paar Bilder

Ich habe 10 von den Platinen fertigen lassen. Ich würde gerne 8-9 davon 
für je 6 Euro inkl. Porto im Briefumschlag abgeben.
In Einzelfällen kann ich auch bei einigen Teilen (Controller, Quarz, 
Button, LEDs, Spannungsregler, NYM-Kabelreste) gegen Erstattung 
aushelfen.

: Bearbeitet durch User
von Mike M. (mike_m18)


Lesenswert?

Hallo.
has du noch einige  Platinen ?

Danke
Mike

von Peter (Gast)


Lesenswert?

Eine Übersicht für HID auf PC Seite gibts auch hier:
http://www.mikrocontroller.net/articles/USB_HID_Host_Treiber

Gruß Peter

von Mike M. (mike_m18)


Lesenswert?

Ist es in Ordnung LPC11U2X verwenden , oder wird ein Problem sein ?
Hersteller: NXP
Typ: LPC11U23FBD48/301,
Family Name: : LPC11Uxx
Flash Size (Bytes): : 24 kB
RAM Size: : 8 kB
Speed: : 50 MHz
No of I/O Lines: : 40
InterfaceType / Connectivity: : I2C / Microwire

Danke, Mike

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.