0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ATTINY85保险丝复位器的制作

454398 来源:wv 2019-09-20 11:51 次阅读

步骤1:材料和工具

ATTINY85保险丝复位器的制作

有完整的物料清单和采购清单。

4x6cm通用PCB(1)

5V Arduino Pro Mini带公头(1)

ATTINY85-20PU(1)

8针DIL IC插座(1)

2.1 x 5.5 mm直流电源插座插座(1)

BC547 NPN晶体管(1)

1K电阻器(6)

150R电阻器(1)

5V蜂鸣器(可选)

LED (可选)

连接线(~12)

焊料和铁(1)

强氰基丙烯酸酯粘合剂(1)

12V电源(1)

RTL-232 FTDI芯片(1)

步骤2:PCB组装

下面的组件适合我的电源。电源插座和2P公头可以用螺丝端子换掉,如果它适合。..

在顶部,插入电源插座(胶水到电路板),2P插头,Arduino Pro Mini ,8P DIL插座,BC547,底部焊接。

将电源插座上的卡舌弯曲至2P引脚并焊接(+ ve至WHITE3)。

在顶部,将1K电阻跟踪到BLUE1和BLUE2并焊接。将BLUE1的引线弯曲到ORANGE9并焊接。

在顶部,将1K电阻跟踪到BLUE3和BLUE3并焊接。将BLUE3的引线弯曲到ORANGE10并焊接。

在顶部,将1K电阻跟踪到BLUE5和BLUE6并焊接。将BLUE5的引线弯曲到ORANGE11并焊接。

在顶部,将1K电阻跟踪到BLUE7和BLUE8并焊接。将BLUE7的引线弯曲到ORANGE12并焊接。

在顶部,将1K电阻跟踪到BLUE9和BLUE10并焊接。将BLUE9的引线弯曲到ORANGE13并焊接。

在顶部,将1K电阻跟踪到WHITE5和WHITE6并焊接。将WHITE5的引线弯曲到WHITE3并焊接。

在底部,将黄色线跟踪到YELLOW5和BLUE2,然后焊接。

在底部,将黄色线跟踪到YELLOW6和BLUE4,然后焊接。

在底部,将黄色线跟踪到YELLOW7和BLUE6,然后焊接。

在底部,将黄色线跟踪到YELLOW2和BLUE8,然后焊接。

在底部,将黄色线跟踪到YELLOW8和ORANGE8,然后焊接。

在底部,将黑色线跟踪到WHITE2和WHITE4,然后焊接。

在底部,将红线描绘成WHITE1和WHITE3,然后焊接。

在底部,追踪从WHITE8到BLUE10的引线,然后焊接。

在底部,追踪从WHITE7到WHITE5的引线,并焊接。

在底部,追踪从WHITE9到WHITE4的引线,并焊接。

在底部,将黑色线跟踪到WHITE4和YELLOW4,然后焊接。

在底部,将红线描绘成WHITE7和YELLOW1,然后焊接。

[蜂鸣器,可选]在顶部,将蜂鸣器插入PINK1和PINK2,焊接在底部。

[蜂鸣器,可选]在底部,将红线跟踪到PINK1和PINK3,然后焊接。

[蜂鸣器,可选]在底部,将黑色线跟踪到PINK2和PINK5,然后焊接。

[LED,OPTIONAL]在顶部,将LED插入PINK6(短阴极)和PINK7(长阳极),焊接在底部。

[LED,OPTIONAL]在底部,将PINK6的引线弯曲到YELLOW4,然后焊接。

[LED,OPTIONAL]在顶部,将一个150欧姆的电阻跟踪到PINK7和PINK4并焊接。

步骤3:固件上传

使用的代码库已经过了几手牌。它从Ralph的GIT中未经修改。

Arduino Pro Mini使用FTDI232 USB转TTL转换器方便地闪存。将Mini的6P直角引脚插入转换器的母头。

确保在FTDI232上选择5V设置。按照以下代码使用下面的代码(使用GIST链接)。

来自https://github.com/RalphBacon/ATTiny85_Fuse_Resetter/blob/master/ATTiny85_Reset.ino。嵌入Instructables。

# include “ Arduino.h “

// AVR高压串行编程

//最初由Paul Willoughby创建03/20/2010

// www.rickety.us斜线2010/03/arduino-avr-high-voltage-serial-programmer/

//受Jeff Keyzer启发mightyohm.com

//来自ATtiny25/45/85数据表的串行编程例程

//所需的保险丝配置

# define HFUSE 0xDF //默认值for ATtiny25/45/85

#定义 LFUSE 0x62

# define RST 13 //输出到电平转换器!从晶体管到引脚1的RESET

#定义 CLKOUT 12 //连接到串行时钟输入(SCI)引脚2

#定义 DATAIN 11 //连接串行数据输出(SDO)引脚7

# define INSTOUT 10 //连接到串行指令输入(SII)引脚6

# define DATAOUT 9 //连接到串行数据输入(SDI)引脚5

# define VCC 8 //连接到VCC引脚8

//由Ralph S Bacon添加,旨在增强用户体验

# define GND 5 //用于蜂鸣器的GND

# define PWRLED 6 //上电LED

#定义 BUZZ 7 //蜂鸣器针

int inData = 0 ; //传入的串行字节AVR

int targetValue = HFUSE;

void setup (){

//设置HV并行编程的控制线

pinMode (VCC,OUTPUT);

pinMode ( RST,OUTPUT);

pinMode (DATAOUT,OUTPUT);

pinMode (INSTOUT,OUTPUT);

pinMode (CLKOUT,OUTPUT);

pinMode (DATAIN,OUTPUT); //在编程模式下配置为输入

// RSB”增强功能“

//将蜂鸣器接地

pinMode (GND,OUTPUT);

digitalWrite (GND,LOW );

//打开电源指示灯

pinMode (PWRLED,OUTPUT);

//蜂鸣器/蜂鸣器

pinMode (BUZZ,OUTPUT);

digitalWrite (PWRLED,HIGH);

//让用户知道我们已经准备好了

digitalWrite (BUZZ,HIGH);

延迟( 50 );

digitalWrite (BUZZ,LOW);

// RSB结束

//根据需要初始化输出引脚

digitalWrite (RST,HIGH) ; //电平转换器正在反相,这将关闭12V

//以9600 bps启动串口:

Serial。 begin ( 9600 );

}

void loop (){

switch ( establishContact ()){

case 49 :

targetValue = HFUSE;

break ;

case 50 :

targetValue = 0x5F ;

break ;

默认:

targetValue = HFUSE;

}

Serial。 println ( “进入编程模式 \ n ” );

//初始化引脚以进入编程模式

pinMode (DATAIN,OUTPUT); //临时

digitalWrite (DATAOUT,LOW);

digitalWrite (INSTOUT,LOW);

digitalWrite (DATAIN,LOW);

digitalWrite (RST,HIGH); //电平转换器正在反相,这将关闭12V

//进入高压串行编程模式

digitalWrite (VCC,HIGH); //应用VCC开始编程过程

delayMicroseconds ( 20 );

digitalWrite (RST,LOW); //打开12v

delayMicroseconds ( 10 );

pinMode (DATAIN,INPUT); //发布DATAIN

delayMicroseconds ( 300 );

//编程模式

int hFuse = readFuses ();

//如果还没有我们想要的值,则写入hfuse 0xDF (允许在引脚1上使用RST)

if (hFuse!= targetValue){

延迟( 1000 );

Serial。 print ( “写作hfuse as “ ); Serial。 println (targetValue,HEX);

shiftOut2 (DATAOUT,INSTOUT,CLKOUT,MSBFIRST, 0x40 , 0x4C );

//默认的RESET功能

// shiftOut2(DATAOUT,INSTOUT,CLKOUT,MSBFIRST,HFUSE,0x2C);

//这会将RST引脚1变为a(弱)IO端口

// shiftOut2(DATAOUT,INSTOUT,CLKOUT,MSBFIRST,0x5F,0x2C);

//用户选择的选项

sh iftOut2 (DATAOUT,INSTOUT,CLKOUT,MSBFIRST,targetValue, 0x2C );

shiftOut2 (DATAOUT,INSTOUT,CLKOUT,MSBFIRST, 0x00 , 0x74 );

shiftOut2 (DATAOUT,INSTOUT ,CLKOUT,MSBFIRST, 0x00 , 0x7C );

}

//写lfuse

延迟( 1000 );

Serial。 println ( “写lfuse \ n ” );

shiftOut2 (DATAOUT,INSTOUT,CLKOUT,MSBFIRST, 0x40 , 0x4C );

shiftOut2 (DATAOUT,INSTOUT,CLKOUT,MSBFIRST,LFUSE, 0x2C );

shiftOut2 (DATAOUT,INSTOUT,CLKOUT,MSBFIRST, 0x00 , 0x64 );

shiftOut2 (DATAOUT,INSTOUT,CLKOUT,MSBFIRST, 0x00 , 0x6C );

//确认新的播放状态

hFuse = readFuses ();

digitalWrite (CLKOUT,LOW) ;

digitalWrite (VCC,LOW);

digitalWrite (RST,HIGH); //关闭12v

//让用户知道我们已经完成

digitalWrite (BUZZ,HIGH);

延迟( 50 );

digitalWrite (BUZZ,LOW);

delay ( 50 );

《温泉n》 digitalWrite (BUZZ,HIGH);

延迟( 50 );

digitalWrite (BUZZ,LOW);

Serial。 println ( ” \ n 编程完成。按RESET再次运行。“ );

while ( 1 == 1 ){};

}

int establishContact (){

Serial。 println ( “打开12伏电源/ \ n \ n 您可以启用RST引脚(作为RST)“

“允许编程 \ n 或禁用它以将其变为(弱)GPIO引脚。 \ n “ );

//我们必须得到1或2才能继续

int 回复;

do {

Serial。 println ( “输入1以启用RST引脚(恢复正常)” );

Serial。 println ( ”输入2以禁用RST引脚(使它成为GPIO引脚)“ );

while (!Serial。 available ()){

//等待用户输入

}

reply = Serial。 read ();

}

while (!(回复== 49 ||回复== 50 ));

返回回复;

}

int shiftOut2 ( uint8_t dataPin, uint8_t dataPin1, uint8_t clockPin, uint8_t bitOrder, byte val,byte val1){

int i;

int inBits = 0 ;

//等到DATAIN变高

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ATtiny
    +关注

    关注

    3

    文章

    128

    浏览量

    19574
  • 复位器
    +关注

    关注

    0

    文章

    5

    浏览量

    6806
收藏 人收藏

    评论

    相关推荐

    自恢复保险丝的原理是什么

    自恢复保险丝是一种能够在过流、过载、过热或短路情况下自动切断电路,并在故障解除后自动恢复导通状态的装置。与传统的熔断保险丝不同,自恢复保险丝无需手动更换,可以多次使用,因此更加可靠和便捷。
    的头像 发表于 10-15 18:07 498次阅读

    保险丝的常见术语

    保险丝断开瞬间,能安全承受的最大电压,选用保险丝时,被选用保险丝的额定电压,应大于被保护回路的输入电压。
    的头像 发表于 04-10 11:20 606次阅读

    关于汽车保险丝的常见问题

    汽车常用保险丝有高电流保险丝和中低电流保险丝,一般较容易接触到的为中低电流保险丝
    的头像 发表于 04-01 11:38 713次阅读

    怎么判定保险丝好坏 判别保险丝好坏的方法 保险丝的选用

    怎么判定保险丝好坏 判别保险丝好坏的方法 保险丝的选用  判定保险丝好坏以及选择合适的保险丝对于电气设备的安全运行非常重要。 一、判定
    的头像 发表于 03-07 16:39 8475次阅读

    延时保险丝的工作原理 延时保险丝和普通保险丝的区别

    延时保险丝的工作原理 延时保险丝和普通保险丝的区别  延时保险丝是一种常见的电子元件,广泛应用于各种电子设备中。它的主要作用是在电流突然超过设定值时提供短时间的延时,以防止设备过载或短
    的头像 发表于 03-05 17:06 5099次阅读

    保险丝的作用是什么?工作原理是什么?

    保险丝是一种用来保护电路安全的电器元件。它的作用是在电路中的电流超过设定值时自动切断电源,防止电路过载、短路、故障和设备损坏。保险丝的工作原理基于热效应和电磁效应,当电流通过保险丝时,产生的热量
    的头像 发表于 02-21 16:28 5665次阅读

    保险丝的作用是防止电流太大?那么电压高了保险丝还有作用吗?

    保险丝的作用是防止电流太大?那么电压高了保险丝还有作用吗? 保险丝是一种用来保护电路的安全设备,它的作用是限制电流在安全范围内,防止电路过载或短路情况下损坏设备、引发火灾或电击等危险。然而,
    的头像 发表于 02-18 14:11 2643次阅读
    <b class='flag-5'>保险丝</b>的作用是防止电流太大?那么电压高了<b class='flag-5'>保险丝</b>还有作用吗?

    保险丝的作用是什么 保险丝是什么材料做成的

    保险丝是一种用于保护电路的安全装置,它的作用是在电流过载时断开电路,以防止设备损坏和火灾的发生。保险丝由细丝状的导体制成,一般采用铜、铁、铅、铝、锡等材料。下面将详细介绍保险丝的工作原理、分类以及在
    的头像 发表于 01-18 16:35 3979次阅读

    逆变器的保险丝与断路区分,电线也会熔化

    保险丝和断路有相同的目的,保护电线免受过热。如果没有保险丝或断路,电线可能会过热并引发火灾。那么保险丝和断路
    的头像 发表于 01-15 11:08 841次阅读
    逆变器的<b class='flag-5'>保险丝</b>与断路<b class='flag-5'>器</b>区分,电线也会熔化

    一次性保险丝与自恢复保险丝这两种之间有什么差别?

    、工作原理、应用范围以及优缺点。 一次性保险丝也被称为熔断,是一种用于电路保护的简单、可靠的保险装置。它的设计原理基于导体中电流超过一定临界值时会发生过热的规律。一次性保险丝的核心部
    的头像 发表于 01-04 14:13 1521次阅读

    自恢复保险丝(PPTC)是用什么材质制成的?

    ,在过载条件下,它的电阻会快速上升,限制电流通过。本文将详细介绍PPTC保险丝制作材料、制作工艺和特点,以及其在电子领域的应用。 PPTC保险丝主要由热敏电阻材料、绝缘材料和导电材料
    的头像 发表于 01-04 13:57 805次阅读

    什么是自恢复保险丝?自恢复保险丝有什么作用?

    。本文将详细介绍自恢复保险丝的原理、结构、作用、适用范围和优缺点。 自恢复保险丝采用聚合物温敏材料(通常为聚合物正薄层复位器件)作为核心元件。该材料在正常工作情况下,具有较低的电阻,允许电流正常通过。然而,当电流
    的头像 发表于 01-03 11:43 1516次阅读

    空气开关有保险丝吗?空气开关能否代替保险丝

    空气开关有保险丝吗?空气开关能否代替保险丝? 空气开关和保险丝是电路中常见的两种保护装置。它们都起着防止电路过载和短路的作用,但它们的工作原理和使用场景有所不同。在本文中,我将详细介绍空气开关
    的头像 发表于 12-20 17:05 5231次阅读

    保险丝基础知识科普

    额定电流: 反映保险丝实际应用时的电流值,In 被标在保险丝上。
    的头像 发表于 12-11 11:13 2695次阅读
    <b class='flag-5'>保险丝</b>基础知识科普

    什么是自恢复保险丝?自恢复保险丝有哪些不同类型?

    由于过流或类似故障状态而导致温度升高时,保险丝中的电阻会增加,从而减少电流。一旦故障得到纠正,PTC 的磁芯就会冷却并收缩,从而使电流能够正常流动。这种复位能力将自恢复保险丝与常规保险丝
    的头像 发表于 11-30 15:07 7302次阅读
    什么是自恢复<b class='flag-5'>保险丝</b>?自恢复<b class='flag-5'>保险丝</b>有哪些不同类型?