Skip to content
Commits on Source (4)
# Retrofit Singer
# Retrofit Singer 331K104
## Machine Specifications
* single needle straight lock-stitch 301
* suits, shirts, skirts and other clothing
* Max Speed: 2200 stitch/mm
* Production circa 1967
* https://www.manualslib.com/manual/154045/Singer-331k1.html
## Retrofit
* A sewing machine only turns one way, turn wheel toward operator / anti-clock
Forward/Backward sewing is done mechanically (hook movement reversed)
### Add a rotary position sensor on the wheel
* To detect needle position : up, down
can be two cams with a slotted optical sensor
* To get a tachometer signal for speed control
can be a holed wheel with a slotted optical sensor
* AMS AS5132 Rotary Sensor
8.5-bit rotary position sensor with digital angle (interface), ABI, UVW (up to 6 pole pairs) and PWM output
https://ams.com/as5132
360 positions per revolution
Serial interface
PWM output
Incremental output with adjustable number of pulses
Max RPM 72_900
* AMS AS5134
https://ams.com/as5134
https://ams.com/as5134#tab/shop-now
https://www.mouser.fr/Search/Refine?Keyword=ams+AS5134
ZSST / ZSSM ??? tape/reel ???
8$/unit
### Motor Driver
AC Line
* https://en.wikipedia.org/wiki/IEC_60038
* V RMS = 230 V +/- 10% = [207, 253] V
$V_RMS = \frac{V_Peak}{\sqrt(2)}$
V Peak = 325 V max to 358 V
* 50Hz
* STM - Improved Universal Motor Drive
https://www.st.com/resource/en/application_note/cd00003829-improved-universal-motor-drive-stmicroelectronics.pdf
* NXP - Open Loop Universal Motor Chopper Based 2004
schema with transformless and push-pull BJT for IGBT
https://www.nxp.com/docs/en/reference-manual/DRM057.pdf
* ON Semi - Low Cost Universal Chopper Drive System
https://www.onsemi.com/pub/Collateral/AN1661-D.PDF
* DC Drive for Universal Motor
http://www.komel.katowice.pl/ZRODLA/FULL/84/ref_02.pdf
* STM - Motor control Reference Guide 2021
https://www.st.com/content/ccc/resource/sales_and_marketing/promotional_material/brochure/bf/aa/d0/60/38/83/43/74/Brochure_Motor_Control.pdf/files/Brochure_Motor_Control.pdf/jcr:content/translations/en.Brochure_Motor_Control.pdf
* https://www.st.com/en/power-transistors.html
* https://www.st.com/content/st_com/en/products/power-transistors/power-mosfets.html
https://www.st.com/en/power-transistors/stpower-n-channel-mosfets-gt-350-v-to-700-v.html
* https://www.st.com/content/st_com/en/products/power-transistors/igbts.html
https://www.st.com/en/power-transistors/600v-h-series-medium-speed-8-to-30-khz.html
* https://www.st.com/en/motor-drivers/gate-drivers.html
* https://www.st.com/en/motor-drivers/brushed-dc-motor-drivers.html#documentation
* https://www.infineon.com/cms/en/product/power/igbt/igbt-discretes/?filterValues=~(444_84_max~(leftBound~5~rightBound~15))&visibleColumnIds=name,opn,productStatusInfo,green,orderOnline,698_min,698_max,618,496_max,444_85_max,444_84_max,662_nom,551,397_nom,396_61_nom,460_max,550_nom,641,packageName,669_nom,673_nom,668_nom,670_nom,548_nom,463_max,476_nom,220_nom,449_max,694_nom,693#!products
* STM STGB10H60DF Trench gate field-stop IGBT, H series 600 V, 10 A high speeda
https://www.st.com/en/power-transistors/stgb10h60df.html
* https://www.infineon.com/cms/en/product/power/gate-driver-ics/1edi05i12af/
* https://design.infineon.com
* https://makingcircuits.com/blog/making-a-transformerless-power-supply-circuit/
* https://www.homemade-circuits.com/cheap-yet-useful-transformerless-power/
* https://www.powerelectronicsnews.com/power-supply-design-notes-transformer-less-power-supply/
* https://www.powersystemsdesign.com/articles/the-art-of-generating-negative-voltages/95/9756
* https://www.newelectronics.co.uk/electronics-technology/the-best-way-to-generate-a-negative-voltage-for-your-system/167618/
https://www.ti.com/product/TPS63710
* Designing for Board Level Electromagnetic Compatibility - NXP
https://www.nxp.com/docs/en/application-note/AN2321.pdf
* https://incompliancemag.com/article/emi-in-components/
* https://www.maximintegrated.com/en/design/technical-documents/tutorials/1/1167.html
* https://www.ti.com/lit/an/snoa382/snoa382.pdf?ts=1619383422967
* https://www.quora.com/Why-would-you-place-a-capacitor-parallel-to-a-resistor
* https://en.wikipedia.org/wiki/Insulated-gate_bipolar_transistor
* Fundamentalsof MOSFETand IGBT Gate Driver Circuits - TI
https://www.ti.com/lit/ml/slua618a/slua618a.pdf?ts=1619353660538
* Isolated Gate Drivers—What, Why, and How? - Analog
https://www.analog.com/en/analog-dialogue/articles/isolated-gate-drivers-what-why-and-how.html
> The structure of an IGBT/power MOSFET is such that the gate forms a nonlinear capacitor. Charging
the gate capacitor turns the power device on and allows current flow between its drain and source
terminals, while discharging it turns the device off and a large voltage may then be blocked
across the drain and source terminals. The minimum voltage when the gate capacitor is charged and
the device can just about conduct is the threshold voltage (VTH). For operating an IGBT/power
MOSFET as a switch, a voltage sufficiently larger than VTH should be applied between the gate and
source/emitter terminals.
> Consider a digital logic system with a microcontroller that can output a PWM signal of 0 V to 5 V
on one of its I/O pins. This PWM would not be enough to fully turn on a power device used in power
systems, as its overdrive voltage generally exceeds the standard CMOS/TTL logic voltage. Thus, an
interface is needed between the logic/control circuitry and the high power device.
## Examples of Machine Specifications
### Janome S9
* 1000 stitch/mm
### ZOJE ZJ-A6000-G
* Glasman 550,00€ HT
### JUKI DDL-8700
* https://www.glasman.fr/a227/machine-a-coudre-industrielle-piqueuse-plate-juki-ddl8700-ddl8700.html
820,00€ HT
* Matière ordinaire moyenne
* Longueur maximal du point: 5mm
* 5500 stitch/mm
* table 105,110 ou 120cm sur 55 ou 60cm
* SERVO Moteur éléctronique silencieux 220V
## Motor Retrofit
* https://www.glasman.fr/c9435/pieces-detachees/machine-a-coudre-indutriellle/moteurs
* Moteur éléctronique pour machine à coudre industrielle POWERMAX AHU 27-55 200-240V 5000 tours/min 550W
300 €/TTC
https://www.glasman.fr/a12024/moteur-electronique-machine-a-coudre-insdustrielle.html
* Positionneur d'aiguille pour machine à coudre SYNCHRONIZER
Boite de synchronizer externe, positionneur d'aiguille en bas de couture pour travail de précision
Adaptable sur moteur powermax de machine à coudre électronique.
29 €/TTC
**Se monte sur le volant**
......@@ -54,6 +54,9 @@ Rbelt = Dmotor / Dmachine # = 0.6 # Fixme: R = 0.6 / 2 ???
CVmotor = 1/6 # 1 CV = 735.5 W et 1 HP = 745.7 W
Wmotor = 735.5 * CVmotor # = 123 W
Un_MOTOR = 220
RPM_MAX = 2200 # stitch/mm
####################################################################################################
class DataUnloaded:
......@@ -90,22 +93,28 @@ def axis2to1(x):
fig, ax = plt.subplots(constrained_layout=True)
# x_array = np.array((0, Un_MOTOR))
# slope = RPM_MAX / Un_MOTOR
# ax.plot(x_array, (x_array - 30) * slope , '--b', label='')
ax.plot((30, Un_MOTOR), (1*60, RPM_MAX), '--b', label='expected RPM on AC line')
ax.plot(DataUnloaded.U_array, DataUnloaded.I_array*1000, 'o', label=r'I unloaded')
ax.plot(DataUnloaded.U_array, DataUnloaded.rpm_array, 'o', label=r'RPM unloaded')
x_array = np.arange(10, 90, 10)
# ax.plot(DataUnloaded.U_array, DataUnloaded.U_slope*DataUnloaded.U_array + DataUnloaded.U_cst, '--k')
# ax.plot(DataUnloaded.U_array, (DataUnloaded.I_slope*DataUnloaded.U_array + DataUnloaded.I_cst)*1000, '--k')
ax.plot(x_array, DataUnloaded.U_slope*x_array + DataUnloaded.U_cst, '--k')
ax.plot(x_array, (DataUnloaded.I_slope*x_array + DataUnloaded.I_cst)*1000, '--k')
ax.plot(x_array, (DataUnloaded.I_slope*x_array + DataUnloaded.I_cst)*1000, '--r')
ax.plot(DataWheel.U_array, DataWheel.I_array*1000, 'o', label=r'I wheel')
ax.plot(DataWheel.U_array, DataWheel.rpm_array, 'o', label=r'RPM wheel')
x_array = np.arange(20, 250, 10)
# ax.plot(DataWheel.U_array, DataWheel.U_slope*DataWheel.U_array + DataWheel.U_cst, '--k')
ax.plot(x_array, DataWheel.U_slope*x_array + DataWheel.U_cst, '--k')
ax.plot(x_array, (DataWheel.I_slope*x_array + DataWheel.I_cst)*1000, '--k')
ax.plot(x_array, (DataWheel.I_slope*x_array + DataWheel.I_cst)*1000, '--r')
ax.set_xlim([0, 250])
ax.set_ylim([0, 2500])
ax.xaxis.set_major_locator(ticker.MultipleLocator(5))
ax.yaxis.set_major_locator(ticker.MultipleLocator(500))
ax.xaxis.set_minor_locator(ticker.MultipleLocator(1))
......@@ -133,6 +142,8 @@ ax.text(62.5, 410, r'RPM wheel/unloaded = {:.1f}'.format(DataWheel.U_slope/DataU
ax.axhline(y=1000)
ax.axhline(y=1600)
ax.axhline(y=RPM_MAX)
ax.text(10, RPM_MAX + 10, r'RPM max 2200', fontsize=14)
# ax.axhline(y=5500) # DDL-8700 JUKI 5,500 point/mm
plt.show()