Cricut Explore Air 2
von minifloat
In diesem Projekt geht es um einen Schneidplotter Cricut Explore Air 2 und wie man den mit eigenem Controller bedient.
Einleitung
Die Firma Cricut deaktiviert Schneidplotter, nachdem innerhalb der Garantiezeit irgendein - sei es noch so kleiner - Defekt aufgetreten ist. Daraufhin bekommt der Eigentümer (?) der deaktivierten Maschine, auf Anforderung und unter Herausgabe der Seriennummer der Maschine, eine neue zugeschickt.
Soweit abzusehen, gibt es keine Software außer der Cricut-hauseigenen, mit der sich die Maschine bespaßen lässt. Außerdem telefoniert die Software nach Hause, um festzustellen, ob die an einen Rechner angeschlossene oder mit Bluetooth verbundene Maschine nicht deaktiviert ist.
So kommt es, dass auf Kleinanzeigenportalen mechanisch eigentlich intakte Maschinen zum kleinen Preis auftauchen. Um so eine geht es hier.
Zunächst wird das vorliegende Exemplar analysiert. Ziel ist, die Mechanik mit einer eigenen Elektronik zu bedienen.
Zerlegen
Beim Zerlegen hat mir dieses Cricut Explore Air 2 Disassembly, How to tear down. Youtube-Video geholfen.
Es empfiehlt sich,
- nicht ganz so rabiat, wie der Kerl im Video, mit den Teilen umzugehen
- aufzuschreiben oder zu markieren, wo welche Schrauben hingehören
(noch ist unbekannt, was alles wieder direkt benutzt werden kann)
Komponenten
Hauptplatine - ICs
# | Uxxx | Bezeichnung | Case marking | Hersteller | Bauteil |
---|---|---|---|---|---|
1 | U900 | Schaltregler | 05XVT L285B | TI | LMR12015XSD/NOPB |
2 | U901 | Chargepump DCDC | TPS60131 02T AKJF | TI | TPS60131 |
3 | U700 | Motortreiber | 4954LPT 2027 777U | Allegro | 4954LPT |
4 | U1 | Haupt-CPU | FJ0931 2034CTT | Microchip | PIC32MZ series 64pin TQFP (?) [1] |
5a 5b | U600 U601 | Stepper-Treiber | A4985 2026 321L | Allegro | A4985 |
6 | U100 | Schmitt-Trigger | LVC14A | TI | SN74LVC14A [3] |
7 | U101 | Encoder-CPU | LF0362 2029227 | Microchip | PIC16F688 (?) [2] |
8 | U800 | BT-Modul | RN4678 | Microchip | RN4678 |
9 | U801 | ??? | 490 3959 2017 | Microchip (?) | PIC12F629/675 DFN (?) [4] |
n.p. | U400 | -- | -- | -- | -- |
Anmerkungen
[1] zu U1. Die Pinbelegung, wo der USB und Versorgung angeschlossen ist, hat den Hinweis gegeben, dass es ein PIC32MZ sein müsste. Programmierung des PIC32 werde ich mir jetzt nicht reinziehen, zumal die Kommunikation zum U101 unbekannt ist. Normaler Betrieb der Maschine kann nicht untersucht werden - sie ist deaktiviert.
[2] zu U101. Der U1 hat offensichtlich keine Timer, die Encoderbetrieb unterstützen. Außerdem schient der U1 bereits mit Motion Control, Kommunikation usw. zu stark ausgelastet zu sein, als selber per externen Interrupts die Encoder einzulesen. So musste dem U1 der U101 beiseite gestellt werden. Wieder mal hat die typisch PIC Pinbelegung Pin1=VCC Pin14=GND den Hinweis gegben, dass es ein PIC16 sein müsste.
[3] zu U100. Die Signale der Encoder an den X- und Y-Motoren (siehe später) werden mit dem Schmitt-Trigger aufbereitet - dieses Vorgehen kann in die eigene Elektronik übernommen werden.
[4] Bei dem Teil bin ich mir nicht sicher. Irgendwie Hängt das Teil aber teils am BT-Modul U800 als auch am Hauptprozessor U1. Funktion bzw. Aufgabe in dem System ist unklar.
Hauptplatine - Schnittstellen
# | Jxxx Pxxx | Pins | Bezeichnung |
---|---|---|---|
18V | J900 | 2 | Stromversorgung 18V |
USB | J2 | 4+s | USB-A |
A | P700 | 4 | DC-Motoren X+Y |
B | J400 | 14 | X-Schlitten |
C | J300 | 10 | Data Cartridge (Rechts) |
D | P100 | 8 | Encoder X+Y |
E | J200 | 17 | Bedienpanel (Links) |
-- | P101 | 6 | ICSP Encoder-CPU U101 (?) |
-- | P6 | 6 | (?) |
-- | P301 | 6 | (?) |
-- | P800 | 8 | JTAG Haupt-CPU U1 (?) |
Der Versuch, den FFC-Stecker "B" J400, auszuschlachten, ist gründlich Misslungen. Egal, kommt eben eigene Verkabelung rein.
Hauptplatine - P700 - DC-DC-Motoren X+Y
P700 ist wie folgt belegt:
Pin# | Farbe | Funktion |
---|---|---|
1 | orange | X-Motor + |
2 | grau | X-Motor - |
3 | gelb | Y-Motor + |
4 | rot | Y-Motor - |
Das Datenblatt der Motoren und die Verkabelung der Maschine hat den Hinweis gegeben.
Hauptplatine - J400 - X-Schlitten
J400 ist wie folgt belegt: (Es wird von rechts gezählt.)
HP | Überschrift |
---|---|
1 | Stift-Schrittmotor / A-Achse 2B |
2 | Stift-Schrittmotor / A-Achse 2A |
3 | Stift-Schrittmotor / A-Achse 1A |
4 | Stift-Schrittmotor / A-Achse 1B |
5 | GND |
6 | Stift- / A-Limit Low-Aktiv |
7 | X-Limit (siehe X-Schlitten) |
8 | +3.3V |
9 | Klinge- / Z-Limit Low-Aktiv |
10 | GND |
11 | Klinge-Schrittmotor / Z-Achse 2B |
12 | Klinge-Schrittmotor / Z-Achse 2A |
13 | Klinge-Schrittmotor / Z-Achse 1A |
14 | Klinge-Schrittmotor / Z-Achse 1B |
Hauptplatine - P100 - XY-Encoder
P100 ist wie folgt belegt:
Pin# | Farbe | Funktion |
---|---|---|
1 | blau | Y-Encoder Spur A |
2 | rot | +3.3V (von U101 geschaltet) |
3 | grün | Y-Encoder Spur B |
4 | schwarz | GND |
5 | blau | X-Encoder Spur A |
6 | rot | +3.3V (von U101 geschaltet) |
7 | grün | X-Encoder Spur B |
8 | schwarz | GND |
Motoren - X- und Y-Motoren
Auf dem X-Motor meines Exemplars ist zu lesen:
Folgendes Datenblatt gab es da auf einer taiwanesischen Shoppingseite:
( https://cf.shopee.tw/file/2d28471d3174438a242d1403fc02c3b3 )
Der ausgebaute X-Motor wurde kurz außerhab der Maschine im Leerlauf getestet.
Dazu 3,3V an Sensor-Supply (orange und weiß im Datenblatt) angelegt und mit verschiedenen Spannungen an "Motoe+-" stimuliert und die Frequenz der Encoderspuren mit dem Oszi vermessen:
Umot V | f kHz | v r/sec | v rpm |
---|---|---|---|
5V | 4.33kHz | 45.1u/sec | 2706rpm |
9V | 8.08kHz | 84.2u/sec | 5052rpm |
12V | 10,88kHz | 133.3u/sec | 6789rpm |
Die Freqzenz durch die Anzahl der Pulse pro Umdrehung - 96 - geteilt ergibt die Anzahl der Umdrehungen pro Sekunde.
A- und B-Spur produzieren sehr harte Flanken, man kann annehmen, dass da bereits ein Schmitt-Trigger im Sensor verbaut ist.
Bei händischem Drehen um ca. eine Umdrehung kamen 97 Pulse heraus - die Angabe
der 96 Pulse pro Umdrehung scheint also korrekt zu sein.
Der Motor verhält sich also wie im Datenblatt angegeben.
Angesichts der Tatsache, dass pro Puls 4 Flankenwechsel zu verarbeiten sind, ergibt der Einsatz eines Mikrocontrollers mit Timer, der Encodersignale verarbeiten kann, Sinn.
Motoren - A- und Z-Achse Schrittmotoren
Für Stift (nenne ich willkürlich mal A-Achse) und Schneidklinge (nenne ich mal willkürlich Z-Achse) sind kleine Schrittmotoren verbaut:
Die Motoren sind kleiner als NEMA23 - es ist nach nachmessen wohl NEMA11.
Zu dem Motor habe ich kein 100% passendes Datenblatt gefunden.
Vergleich der Abmaße und elektrischen Eigenschaften mit folgenden Referenzen...
- "11HS12-0674S" https://www.amazon.de/-/en/Stepperonline-Stepper-Motors-Bipolar-Printers/dp/B07HHZQMDW
- "RB 11HA0005" https://www.alibaba.com/product-detail/2-Phase-1-8-Degrees-35_1600752418612.html?spm=a2700.shop_plgr.41413.2.10b541181KXCs9
- "RB 11HAxxxx" https://rb-wxl.en.made-in-china.com/product/XqIQPibJXlWN/China-Step-Motor-11HA-.html enthält falsche Information: Frame Size 42mmX42mm kann bei NEMA11 nicht sein.
RB 11HA2210 | 11HS12-0674S | RB 11HA0005 | |
---|---|---|---|
Länge | ~32mm | 31.5mm | 31.5mm |
Breite | 28mm | 28mm | 28mm |
Gewicht | 106g(*) | 110g | ?? |
Typ | Bipolar | Bipolar | Hybrid |
Step | 1.8°(**) | 1.8° | ?? |
Unenn | ?? | 3.8V | 12V |
Inenn | ?? | 0.67A | 0.8A |
Rphase | 6.0Ω(*) | 5.6Ω | 15Ω |
Lphase | 4.2mH @1kHz(*) | 4.2mH ±20% @1kHz | 8mH @??kHz |
Mhalt | ?? | 60mNm (6Ncm) | 35mNm |
Der Motor ist dem 11HS12-0674S sehr ähnlich. Ich denke, man kann den Motoren schon gut 500mA bis 600mA gönnen.
(*) selbst gemessen bzw. gewogen
(**) Die Steps habe ich durch
- Anlegen von 50Hz Rechtecksignal an eine Phase
- der Achse einen Schubs geben
- Umdrehungen in 10sec zählen
ermittelt. 1,8° Step ist eine übliche Grad-Pro-Schritt Charakteristik. Werde ich später sowieso sehen, ob ich da grob falsch liege.