|
本帖最后由 xljxlj 于 2022-8-26 16:17 编辑
额。上次的帖子不能编辑了
搞完了,出现发下
本来是用的单键开关电路,但是那个调起来实在麻烦。。。最后采用了别人提供的简单粗暴的方式,缺点就是烧录时候需要一直按住电源开关
准备好打回来的板子。。。有点多,其实要求不高自己做个壳也成,这个外壳是两年前设计的其实现在可以3d打印
用焊锡和铜柱连接板子
装上头
打印效果:
最后两个合影
下面讲讲白嫖指南
程序:https://xljxlj.lanzout.com/i562V0ab9rxg
建议坛友以后分享小于100m的文件也用蓝奏云,百度云容易丢文件,这个只要不违法文件都不会没掉,还不限速不用登录下载
程序原作者是b站的小李子电子实验室,我改了改,原来是用的硬件stb引脚来分段加热,但是这种方法在全黑的页面下效果不好,而且电流不够会不够黑
于是接受 飞向狙沙 的建议在程序里面拆分数据,这样就省下了5个io,效果更好了,速度也更快
可以使用编译好的bin下载或者自己编译,记得用v4.1版本程序编译,编译之前记得修改蓝牙库,修改用的文件也在里面
软件拆分数据程序:
- void startPrint()
- {
- int pinnumber;
- int i;
- int cache;
- onprint = 1;
- PowerONTime = millis();
- if (PaperSta == 1) {
- static unsigned char motor_add = 0;
- Serial.println("[INFO]正在打印...");
- Serial.printf("[INFO]共%u行\n", printDataCount / 48);
- digitalWrite(PIN_VHEN, 1);
- digitalWrite(PIN_STATUS, 1);
- cache = -1;
- for (uint32_t pointer = 0; pointer < printDataCount; pointer += 48) {
- cache = -1;
- if (analogRead(PIN_PTEST) < 2000) { //缺纸检测
- break;
- }
- setp = 0;
- while (cache != 0) {
- if (cache == -1) {
- cache = 0;
- }
- pinnumber = 0;
- for (i = cache; i < 48; i++) {
- pinnumber = pinnumber + shuzu16to2jingzhi[printData[pointer + i]];//这里用了excel公式做了个数组来统计0-255转换成二进制后1的个数(懒得写算法)输出当前行打印点数
- if (pinnumber <= printpin) {
- printDatacache[i] = printData[pointer + i];
- if (i == 47) {
- cache = 0;
- }
- } else {
- cache = i;
- break;
- }
- }
- if (setp < MOTOR_SETP) {
- goFront1(0);
- setp = setp + 1;
- }
- sendData(printDatacache);
- for (int j = 0; j < 48; j++) {
- printDatacache[j] = 0;
- }
- if (pinnumber != 0) {
- digitalWrite(PIN_STB1, 1);
- delayMicroseconds((PRINT_TIME) * ((double)heat_density / 100));
- digitalWrite(PIN_STB1, 0);
- delayMicroseconds(PRINT_TIME_);
- }
- }
- while (setp < MOTOR_SETP) {
- goFront1(MOTOR_TIME);
- setp = setp + 1;
- }
- digitalWrite(PIN_MOTOR_AP, 0);
- digitalWrite(PIN_MOTOR_AM, 0);
- digitalWrite(PIN_MOTOR_BP, 0);
- digitalWrite(PIN_MOTOR_BM, 0);
- digitalWrite(PIN_STB1, 0);
- clearData();
- printDataCount = 0;
- Serial.println("[INFO]打印完成");
- digitalWrite(PIN_VHEN, 0);
- digitalWrite(PIN_STATUS, 0);
- PowerONTime = millis();
- onprint = 0;
- jishu = 0;
- }
- }
复制代码 这个程序目前还是有点bug,就是为了处理速度,这里是8个像素8个像素处理的,所以在设置时注意同时打印点数设置不能小于8,否则会死循环
然后是板子了:
打板文件:喵喵机热敏打印机V4.1_程序优化 - 嘉立创EDA开源硬件平台 (oshwhub.com)
所有板子都是1.6mm,拼板嘛,自己拼就行了,都拼一样的谁也过不了审
使用的app名字叫喵喵机,好像是作业帮旗下的?还可以打印错题
请不要用于商业用途
转载请注明出处
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|