electronics:thermoprinter
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
electronics:thermoprinter [2017/10/05 10:56] – [5.10.2017] dmmedia | electronics:thermoprinter [2020/04/02 20:33] (current) – [02.04.2020] dmmedia | ||
---|---|---|---|
Line 26: | Line 26: | ||
===== Plans ===== | ===== Plans ===== | ||
- | * Attach stepper motor driver to motor and eval board | ||
- | * Write firmware to print predefined lines | ||
- | * Test assembled circuits with oscilloscope and compare with simulation | ||
* Attach assembled circuits to print head and to eval board | * Attach assembled circuits to print head and to eval board | ||
* Test printing | * Test printing | ||
Line 37: | Line 34: | ||
* Find suitable voltage regulators | * Find suitable voltage regulators | ||
* Test eval circuit with battery | * Test eval circuit with battery | ||
+ | * Design enclosure | ||
* Redesign hardware in Diptrace if possible | * Redesign hardware in Diptrace if possible | ||
* Final hardware design | * Final hardware design | ||
+ | * Order PCB manufacturing | ||
+ | * Solder device PCB | ||
* Implement subset of PJL protocol | * Implement subset of PJL protocol | ||
* Write report | * Write report | ||
Line 48: | Line 48: | ||
* Should be interrupt based (to allow time for calculations, | * Should be interrupt based (to allow time for calculations, | ||
* Should follow datasheet guide on printing start sequence (pull paper, then push to allow more or less constant speed printing) | * Should follow datasheet guide on printing start sequence (pull paper, then push to allow more or less constant speed printing) | ||
- | * Assemble | + | * Write firmware to print predefined lines |
- | * Assemble pulse length protection circuit | + | * Attach |
- | * https:// | + | * Test assembled circuits with oscilloscope and compare with simulation |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * Assemble temperature protection circuit | + | |
- | * https:// | + | |
- | * http:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * Assemble other print head driving circuit | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * http:// | + | |
- | * https:// | + | |
- | * https:// | + | |
===== Done ===== | ===== Done ===== | ||
Line 87: | Line 73: | ||
* http:// | * http:// | ||
* https:// | * https:// | ||
+ | * Assemble stepper motor driver breakout board | ||
+ | * Assemble pulse length protection circuit | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * Assemble other print head driving circuit | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * http:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * Assemble temperature and voltage protection circuit | ||
+ | * https:// | ||
+ | * http:// | ||
+ | * https:// | ||
+ | * https:// | ||
==== As SPICE simulations course work ==== | ==== As SPICE simulations course work ==== | ||
Line 140: | Line 143: | ||
* Received stepper motor driver ICs, multivibrators, | * Received stepper motor driver ICs, multivibrators, | ||
+ | {{ : | ||
* Should finish stepper motor driving code | * Should finish stepper motor driving code | ||
* Should now be able to assembly stepper motor driver breakout board (smth. like Polulu) | * Should now be able to assembly stepper motor driver breakout board (smth. like Polulu) | ||
Line 146: | Line 150: | ||
==== 4.10.2017 ==== | ==== 4.10.2017 ==== | ||
- | * Finished soldering available breakout boards, 5.09.2017 remaining ordered components should arrive | + | * Finished soldering available breakout boards |
+ | {{ : | ||
+ | {{ : | ||
+ | {{ : | ||
==== 5.10.2017 ==== | ==== 5.10.2017 ==== | ||
Line 230: | Line 237: | ||
* https:// | * https:// | ||
* To summarize, there is a family of chinese HC-0X BT modules, some of them are master/ | * To summarize, there is a family of chinese HC-0X BT modules, some of them are master/ | ||
+ | * Received remaining ordered parts | ||
+ | |||
+ | ==== 6.10.2017 ==== | ||
+ | |||
+ | * Finished soldering stepper motor driver breakout board and printer head sensors breakout board. Temperature and voltage protection circuit remain unsoldered. | ||
+ | {{ : | ||
+ | {{ : | ||
+ | |||
+ | ==== 7.10.2017 ==== | ||
+ | * Finished soldering temperature and voltage protection circuit | ||
+ | {{ : | ||
+ | |||
+ | ==== 24.10.2017 ==== | ||
+ | * Reinstalled Altium CircuitMaker to make it work again. Eventually old installation stopped working by consuming CPU resources and not showing any UI at startup. Trying to correct the problem, I have performed extensive research and as a last resort tried to reinstall. However installer refused to install the software into the non-empty folder, so I had to remove old version and install new from scratch. | ||
+ | * Found potential issue with shift register circuit. As it should drive the printer head directly, the output of shift registers should be clearly defined High or Low level. However with using Output Enable input I can only get Z-state on outputs between values change and that can influence unpredictably on the printout. As a result, I have added pull-up resistors to tie the outputs to the High level, when not printing. | ||
+ | |||
+ | ==== 25.10.2017 ==== | ||
+ | * Selected and ordered non-BLE bluetooth module HC-05 and BK3231. BK3231 is cheaper and has better organized AT command communication, | ||
+ | * Some more information on the BT modules: | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * Tested battery voltage switch circuit. Outcome shows, that it works as expected: | ||
+ | {{: | ||
+ | |||
+ | ==== 5.11.2017 ==== | ||
+ | * Tested battery voltage monitor circuit and overheat monitor circuit. As designed, battery voltage monitor trips when battery voltage declines below 6.0 V. Temperature monitor circuit trips at voltage level below 1.25 V, which corresponds to 65 C for NTC thermistor integrated into thermoprinter head. | ||
+ | {{: | ||
+ | |||
+ | ==== 12.11.2017 ==== | ||
+ | * Received HC-05 Bluetooth transceivers: | ||
+ | {{: | ||
+ | * Published firmware on GitHub: https:// | ||
+ | * Firmware framework borrowed from [[https:// | ||
+ | * Conversion from AVR to STM32 and adapting for thermoprinter is in progress (removing more than 1 stepper motor support, replacing analogue sensors and replacing endstops with bistate sensors) | ||
+ | |||
+ | ==== 21.11.2017 ==== | ||
+ | * Received SPP-C Bluetooth transceivers | ||
+ | * Tested both HC-05 and SPP-C modules. HC-05 modules need to be powered on in special sequence to boot into AT command mode, while SPP-C modules are always in AT mode, while not connected to other Bluetooth device. Both modules do not require hardware flow control. Many android software applications support traditional Bluetooth serial communication. | ||
+ | * Firmware code is mostly ported from AVR to STM32 platform and unneeded functionality removed. At the moment ADC code left partially ported. | ||
+ | |||
+ | ==== 08.03.2018 ==== | ||
+ | * Counting printable bits to optimize the number of simultaneously driven 64-bit blocks turned out to be a combinatorial task or [[https:// | ||
+ | * Counting bits themselves turned to be another well-known problem named [[https:// | ||
+ | |||
+ | ==== 02.04.2020 ==== | ||
+ | * Thought that porting Marlin 3D printer firmware was bad idea, since the functionality is totally different and Marlin implementation is not brilliant. Will start from scratch and implement stepper motor advance on user button press and hold. Motor will advance with the lowest speed described in the thermal head manual. Next step will add accelleration and deceleration. |
electronics/thermoprinter.1507200999.txt.gz · Last modified: 2017/10/05 10:56 by dmmedia