查看: 3602|回复: 2

简易温度采集系统

[复制链接]
  • TA的每日心情
    奋斗
    15 小时前
  • 签到天数: 3905 天

    连续签到: 6 天

    [LV.Master]伴坛终老

    发表于 2013-4-19 19:11:38 | 显示全部楼层 |阅读模式
    分享到:
    简易温度采集系统

    本程序是使用了12位AD转换和ntc温度传感器,ntc是负洗漱数温度,系统通过AD转换将温度传感器和avr单片机联系起来。
    在本实验中使用了atmelstudio的提供例程程序,为此我写了一些心得体会。
    下图是AD转换的与温度线性关系。

    1.JPG
    有图中可以知道有部分两者很好吻合在一起,为了反映这部分的,有如下的等式。
    2.JPG
    为此有如下相应的程序
    if (result > 697) {
                  temperature = (int8_t)((-0.0295 * result) + 40.5);
           } if (result > 420) {
                  temperature = (int8_t)((-0.0474 * result) + 53.3);
           } else {
                  temperature = (int8_t)((-0.0777 * result) + 65.1);
           }
    为了显示温度,在ADC中断函数使用了如下函数
    snprintf(out_str, OUTPUT_STR_SIZE,"Temperature: %4d C", last_temperature);
    gfx_mono_draw_string(out_str, 0, 0, &sysfont);
    启动下次转换
    adc_start_conversion(adc, ch_mask);
    在每次AD转换都会产生一次中断,采显示温度。下为中断函数
    static void adc_handler(ADC_t *adc, uint8_t ch_mask, adc_result_t result)
    为了配置ADC模块,使用了无符号的12数据存储结果,配置了参考电压,最大采样率频率是200kHz,人工的转换触发中断。
    adc_set_conversion_parameters(&adc_conf, ADC_SIGN_ON, ADC_RES_12,
                         ADC_REF_VCC);
           adc_set_clock_rate(&adc_conf,200000UL);
           adc_set_conversion_trigger(&adc_conf, ADC_TRIG_MANUAL, 0, 0);
           adc_enable_internal_input(&adc_conf, ADC_INT_TEMPSENSE);
           adc_write_configuration(&ADCA, &adc_conf);
           adc_set_callback(&ADCA, &adc_handler);申请中断函数
    AD转换通道0和温度传感器连接,为此配置AD转换通道0
    adcch_set_input(&adcch_conf, ADCCH_POS_PIN1, ADCCH_NEG_NONE,
                                1);
    adcch_set_interrupt_mode(&adcch_conf, ADCCH_MODE_COMPLETE);
    adcch_enable_interrupt(&adcch_conf);
    adcch_write_configuration(&ADCA, ADC_CH0, &adcch_conf);
    下面函数是使能AD转换,开始第一次转换。
    adc_enable(&ADCA);
    adc_start_conversion(&ADCA, ADC_CH0);
    下图是实验显示结果。

    3.JPG

    6.pdf

    164.23 KB, 下载次数: 15

    文档

    ADC_EXAMPLE1_GFX1.rar

    1.49 MB, 下载次数: 14

    程序

    回复

    使用道具 举报

  • TA的每日心情

    2021-12-24 16:56
  • 签到天数: 739 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-4-19 19:55:24 | 显示全部楼层
    {:soso_e142:},不错,不错。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-9-15 06:28
  • 签到天数: 3747 天

    连续签到: 60 天

    [LV.Master]伴坛终老

    发表于 2013-4-20 07:55:03 | 显示全部楼层
    关注!。。。。。。。。。。。。。。。。。。。。。。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-6-1 16:27 , Processed in 0.114533 second(s), 20 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.