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

    浏览量

    19472
  • 复位器
    +关注

    关注

    0

    文章

    5

    浏览量

    6789
收藏 人收藏

    评论

    相关推荐

    保险丝处理,请问能看出规格型号吗?

    保险丝外观如图,标注跟电脑类似,但确实是保险丝。请问能看出规格型号吗?多少A的,能不能找到类似的。谢谢大家
    发表于 03-05 17:11

    LED电源有用到贴片保险丝吗?

    LED电源有用到贴片保险丝
    发表于 10-18 07:24

    保险丝选型的a-s图解读问题

    保险丝的a-s图都有对应的电流范围。比如图的右端点对应的电流是8a,熔断时间是0.1s,如果通入10安电流保险丝熔断时间是多少,会立即熔断快到以至于测不到时间吗,为什么不画完整?
    发表于 10-16 16:38

    小电阻是否可以做保险丝

    在一些开关电源里面会用到用小阻值的电阻代替保险丝,这种做法有什么优缺点,为什么不用普通保险丝
    发表于 10-07 06:10

    使用ATtiny85制作内部时钟的小型8针Arduino

    电子发烧友网站提供《使用ATtiny85制作内部时钟的小型8针Arduino.zip》资料免费下载
    发表于 07-12 11:33 0次下载
    使用<b class='flag-5'>ATtiny85</b><b class='flag-5'>制作</b>内部时钟的小型8针Arduino

    在过期信用卡上构建ATtiny85游戏机

    电子发烧友网站提供《在过期信用卡上构建ATtiny85游戏机.zip》资料免费下载
    发表于 07-12 11:09 1次下载
    在过期信用卡上构建<b class='flag-5'>ATtiny85</b>游戏机

    复位保险丝常见问题解答

    保持电流:可复位保险丝在跳闸和从低电阻状态过渡到高电阻状态之前可以承受的最大电流量。保险丝的保持电流高于电路中的最大电量,因此在正常运行期间不会跳闸。
    的头像 发表于 06-30 16:19 689次阅读

    如何制作ATtiny85控制台-ArduPlay

    电子发烧友网站提供《如何制作ATtiny85控制台-ArduPlay.zip》资料免费下载
    发表于 06-30 14:28 0次下载
    如何<b class='flag-5'>制作</b><b class='flag-5'>ATtiny85</b>控制台-ArduPlay

    多台ATtiny85/13A编程器开源分享

    电子发烧友网站提供《多台ATtiny85/13A编程器开源分享.zip》资料免费下载
    发表于 06-29 10:26 0次下载
    多台<b class='flag-5'>ATtiny85</b>/13A编程器开源分享

    带有ATtiny85的电池供电土壤湿度计

    电子发烧友网站提供《带有ATtiny85的电池供电土壤湿度计.zip》资料免费下载
    发表于 06-19 11:44 0次下载
    带有<b class='flag-5'>ATtiny85</b>的电池供电土壤湿度计

    复位保险丝是如何工作的?

    复位保险丝是一种过流电子保护元件。它由高分子有机聚合物在高压、高温和硫化反应下制成。它与导电颗粒材料混合,并通过特殊技术加工。
    的头像 发表于 06-14 17:52 1221次阅读

    使用ATTINY85的简单RGB桌面时钟

    电子发烧友网站提供《使用ATTINY85的简单RGB桌面时钟.zip》资料免费下载
    发表于 06-09 10:20 0次下载
    使用<b class='flag-5'>ATTINY85</b>的简单RGB桌面时钟

    如何在ATTiny85上设置高速PWM?

    我在 Attiny85 上设置高速 pwm 时遇到问题。我需要以 400kHz 的速度使用 PCK。我相信我已经正确地遵循了数据表,但由于某种原因,定时中断标志不起作用。 这是 如果我对设备进行
    发表于 06-09 07:07

    PTC热敏电阻与自恢复保险丝保险丝之间的关系是什么啊?

    PTC热敏电阻与自恢复保险丝保险丝之间的关系是什么啊?
    发表于 04-23 11:28

    保险丝推断负载的大概功率

    保险丝1安的,达到1安肯定会烧。那么负载的电流就一定不能超过1安。因此我们可以用公式u=ir得出r=i/uu是次级电压。尽管保险丝还要加上变压的电阻,但我们得出的结果已经很接近了。不然保险
    发表于 04-20 14:13