Перейти к содержанию
    

murmur

Участник*
  • Постов

    665
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные murmur


  1. https://ru.aliexpress.com/item/50-sets-Kit-...iceBeautifyAB=0

     

    Использую поиск по ключевому слову, исходя из того, как обозвали эти разъемы китайцы, не получается.

    Ждать с алиэкспресса времени нет, а я даже по звонку в магазин не могу объяснить, что мне нужно.

  2. Господа, искала разъемы для термопар - их размеры удручают. Хочется нечто миниатюрное (это критично).

    Единственный выход, который видится - некая клемма, в которую будут вставляться провод от термопары и провод от удлинителя термопары и прижиматься друг к другу винтом (из другого металла, естественно).

    Вопрос - не создаст ли это дополнительную "точку спая", влияющую на показания? Понятно, что если провода удлинителя и термопары будут электрически контактировать между собой через металлический винт, то да, будет дополнительный спай, но если эти провода контактируют между собой непосредственно, а винт из другого металла как бы сбоку?

     

    Ну или может кто посоветует компактные разъемы, а не те, которые похожи на штепсельную вилку?

  3. Да..... этот датчик температуры оказывается ужасно нелинеен. Ставлю регулятор на 300 градусов, довожу резистором PR1 показания индикатора до 300. После чего кручу ручку на 400, на 250 градусов - на индикаторе цифры далеки от заданных значений.

  4. Замена ОУ и привела к изменению "порога переключения".

    Вы уверены что все правильно поняли? Или может не так выразились?

    Порог регулируется в DA1.2 - по достижению определенного напряжения на входе происходит выключение.

    В DA1.1 на выходе всегда есть напряжение, попорциональное нагреву.

    Так порог сбился или зависимость напряжения на выходе первого элемента от температуры?

  5. Коллеги, есть проблемка.

    Из-за замыкания в нагревателе паяльника пришел в негодность блок его управления.

    Схему прилагаю.

    Из неисправностей - 3 вздувшихся и один взорвавшийся электролит, а также TL431 и HA17358. Еще потемнел резистр R5, но о нем позже.

    Электролиты и TL431 заменены. В виду отсутствия HA17358 была поставлена LM358.

    Резистор R5 заменить пока не удалось (в своих запасах не нашелся, а в магазине кончились). Но он, несмотря на то что подкопчен, имеет сопротивление ровно 100 ом. Решено было пока оставить так.

     

    Все работает, паяльник греется, индикатор показывает температуру.

    Но раньше он грелся до 500 градусов, после чего включался в режим поддержания температуры (индикатор нагрева начинает периодически гаснуть), теперь же это происходит на 450 градусах. Уточню - не просто при 450 градусах, а при отображении на индикаторе 450.

     

    Как можно видеть из схемы - регулятор температуры не совсем цифровой, цифра только на индикаторе, а регулятор аналоговый. То есть не происходит сравнения температуры с числовым расчитанным значением. В силу этого причин такого поведения может быть две - не только выключение нагрева раньше времени, но и просто неправильное отображение температуры. Измерить реальную температуру не имею технической возможности.

     

    Где копать? Повреждение какого элемента могло сбить порог переключения (или же повлиять на напряжение идущее к измерительному входу индикатора)?

    Как понять, что же произошло - сбит порог переключения или снизилось напряжение на выходе DA1.1 ?

    Может ли быть причиной то, что операционник был заменен на аналог?

    post-64708-1515135455_thumb.png

  6. Привожу схемку интерфейса одного девайса 80-х годов разработки к которому пытаюсь подключиться.

    Схема с открытым коллектором.

    У меня на приемной части соответственно, вход 3 вольтового контроллера с внутренним пуллапом.

    Рядом привожу осциллограмму с DATA и CLK.

     

    Не находите, что фронты уж больно завалены? Так вот у меня вопрос - не конденсаторы ли между коллектором и эмиттером являются причиной данной проблемы?

    Я то конечно уже добилась чтения - задерживаю анализ состояния линии DATA на 200 мкс после срабатывания прерывания по спаду с CLK.

     

    Но мне не дает покоя - зачем так сделано?

     

    Ведь аппаратно мне это не побороть.

    post-64708-1485790207_thumb.png

    post-64708-1485790215_thumb.png

  7. Нет проверки на переполнение буфера.

    Задача устройства ждать нужную команду, поступающую с мобильного телефона по блютус, который до него пытается достучаться. А как достучится - буфер обнуляется.

    Он и на буфер то не похож - каждая новая команда пишется в самое его начало.

    Так что если он и переполнится по причине того, что контроллер будет заниматься чем-то важным, сидящие в нем команды будут уже неактуальны и реакция будет на самую последнюю.

     

    Уже протестировала, работает как надо. Хочу перепрошивать по блютус. Сам перепрошивальщик по USART уже есть его работа проверена через USB-COM. Вот дорабатываю теперь под блютус.

     

  8. Я уже сделала проще

     

    if(USART_GetITStatus(USART2, USART_IT_RXNE) == SET) 
      {
            USART_ClearITPendingBit(USART2, USART_IT_RXNE);
    
            
            usartData = USART_ReceiveData(USART2);    
                
                
                if (usartData == 0x0D) \\ когда приходит '\r'   переписываем содержимое в переменную хранящую последнюю команду и затираем буфер.
                {
                    
                    usart_buf[usart_bit++] = 0;  
                    usart_bit=0;                 
                    //--------------------------------------------------------------------------------------------------------------
                                
                    for(t=0;t<32;t++) {USART_LAST_COMMAND[t]=usart_buf[t];}
                                   //---------------------------------------------------------------------------------------------------------------
                    usartData=0;  
                    memset(usart_buf, 0, sizeof(usart_buf)); 
                }
                else 
                {
                    usart_buf[usart_bit++] = usartData; 
                    
                }    
            
      }

     

     

     

  9. http://all-ht.ru/inf/prog/c/func/strncpy.html

     

    Что-то я запуталась совсем в этом обилии...

     

    Как бы вы наиболее рационально решили задачу:

    В кольцевой буфер добавляются строки, каждый раз заканчивающиеся символом конца строки.

    Грубо говоря, история команд, разделенная символами конца строки.

    Нужно найти последнюю команду.

     

    Ну например RX_BUF="command_1\0command_2\0command_3\0command_4\0command_5\0";

    Нужно получить строку command_5...

  10. Есть буфер

    uint8_t RX_BUF[256]

     

    Хочу проверить не является ли содержимое буфера в позициях скажем 100-106 текстом "command"

     

    Пока это сделано корявно

    if ((RX_BUF[100]=='c') && (RX_BUF[101]=='o') && (RX_BUF[102]=='m') && (RX_BUF[103]=='m') && (RX_BUF[104]=='a') && (RX_BUF[105]=='n') && (RX_BUF[106]=='d'))
    {
    }

     

    А хотелось бы что-то вроде

     

    if (.......... =="command")

  11. Гадать на кофейной гуще не умею

    Вы не гадаете, у вас просто очень странное восприятие действительности.

     

    Вы 3 раза синхронизируетесь с сигналом TE и каждый раз выводите один из цветов RGB. Как я понял - это и есть вывод всего кадра,

    Ну как 3 данных подряд команды FillScr (заполнение экрана) можно принять за 1 кадр?

    В одном цикле while есть 3 кадра, они разные только для того, чтобы глазом можно было видеть смену кадров.

     

    Сейчас буду играться с направлением отрисовки

     

    Действительно - не совпадало направление отрисовки и заполнения буфера.

    Теперь все работает.

    jcxz, спасибо за толчок в правильном направлении!

  12. Хм... наверное все.таки в направлении заполнения проблема. У меня чужой код и как.то сразу насторожило, что заполняется вертикальными линиями справа налево. Вернусь домой проверю.

    Не знаю, почему вы решили, что у меня заполнение шесть кадров. По осциллограмме же видно, что два кадра. Частота обновления примернл 80 герц, исходя опять таки из частоты сигнала ТЕ на осциллограмме

  13. Коллеги, выполняю заливку разными цветами на SSD1963 c помощью STM32F4Discovery.

     

    Контроллер SSD1963 обновляет дисплей за 12 мсек.

    Дискавери заливает картинку за 22 мсек.

    То есть вроде бы 22 мсек меньше чем 12мсек*2 и борьба с фликером возможна.

     

    Что я делаю - отлавливаю TE сигнал, после его спада жду 500 мксек и вывожу картинку.

    Осциллограмму прилагаю - синий график - это импульсы TE, идущие из SSD1963, красные импульсы - по фронту - начало заливки, по спаду - окончание заливки.

     

     

    Код вот, если что

    while(1)
    {    
        
    
        while(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_13)==0) {}
        while(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_13)==1) {}
        delay_us(500);
               GPIO_SetBits(GPIOD, GPIO_Pin_12);
                 SSD1963_FillScr(GUI_RED);
             GPIO_ResetBits(GPIOD, GPIO_Pin_12);
        delay_ms(50);
    
      while(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_13)==0) {}
        while(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_13)==1) {}
        delay_us(500);
            GPIO_SetBits(GPIOD, GPIO_Pin_12);
            SSD1963_FillScr(GUI_GREEN);
           GPIO_ResetBits(GPIOD, GPIO_Pin_12);
        delay_ms(50);
        
        while(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_13)==0) {}
        while(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_13)==1) {}
          delay_us(500);
            GPIO_SetBits(GPIOD, GPIO_Pin_12);
            SSD1963_FillScr(GUI_BLUE);
        GPIO_ResetBits(GPIOD, GPIO_Pin_12);
        delay_ms(50);
    }

     

     

    Мерцание есть. Визуально - две косые линии на весь экран.

     

    Что делать и кто виноват?

    post-64708-1481546448_thumb.png

  14. Хорошо, а CC2541 он физически может поддерживать только BLE? Или же возможно прошить так чтобы еще и SPP было?

    Я обновила прошивку на последнюю v544- телефон вдруг стал видеть имя, но с коннектом все равно облом....

  15. Если поддерживает профиль SPP, стало быть должен. Если под старыми понимать BT Classic.

    Мне интересно, почему разработчики BLE не позаботились об обратной совместимости?

  16. Есть двухрежимный (Classic + LE) BT121:

    http://www.silabs.com/products/wireless/bl...ady-module.aspx

    Одновременно работает и в BT Classic, и BLE.

    И своё приложение можно прямо в модуль загружать.

     

    11.0 mm x 13.9 mm

    Ох нихрена ж себе цена.

     

    у китаезов есть HM-05 HM-06 HM-07 - вроде как SPP, не BLE

    Скажите, SPP со старыми блютусами работать будет?

     

    Вот, вот это будет работать?

    https://ru.aliexpress.com/item/5pcs-lot-Blu...74-8be8f2b32369

  17. вы серьезно что ли?

     

    В описании имеется указания именно на версию андроида. Впрочем, как выяснилось, мой телефон не способен работать под более новой версией.

     

    Надо возвращаться к HC-06 а жаль, HM-11 привлекал своей малогабаритностью.

     

    Не знаете, есть что нибудь не длинее 20 мм?

     

    Или, как вариант, нельзя ли HM-11 (он на CC2540) перепрошить под более "общительный" протокол?

  18. Хм... действительно. Только не сам телефон не поддерживает, а андроид. У меня версия 4.1.2 а минимальная версия необходимая для BLE - 4.3

    Скажите а есть какой-то способ, ну там плюшки какие-нибудь программные, чтобы подружить телефон с более старой версией андроид?

    Нет, я конечно, если бы мне это нужно было, могла бы и сама обновить андроид, но устройство расчитано на конечного пользователя, ему проще предложить установить приложение, чем переустановить андроид.

  19. Добрый вечер.

    Есть такой модуль

    http://wiki.seeedstudio.com/wiki/Bluetooth...M-11_BLE_Module

     

    По умолчанию настроен на SLAVE.

    Попробовал изменить имя - получилось, то есть при общении с модулем через терминал он выдает новое имя.

    ОДнако когда с помощью мобильного телефона ищу новые устройства, обнаруживается объект, отображающий лишь свой адрес. При попытке сопряжения коннекта не происходит. Пыталась в даташите найти какой-нибудь параметр, который запрещает по умолчанию коннектиться к устройству - не нашла ничего такого.

     

    Подскажите, как мне настроить модуль, ну хотя бы чтобы выдавал свое имя в сеть и позволял коннектиться.

  20. Коллеги, я примерно представляю себе что это такое и как с этим бороться.

    Общий смысл борьбы в том, чтобы начать писать в память сразу же после старта вывода кадра из памяти и при этом не обгонять собственно вывод.

    Насколько я понимаю, для синхронизации нужен контроль сигнала вертикальной синхронизации.

     

    У меня есть дисплей китайский на ili9341. Понимает команды Tearing effect ON|OFF. Однако включение и выключение никоим образом не влияет на мерцание экрана при его заливке. А заливка происходит быстро - около 30 мсек.

     

    Как все таки избавиться от этого эффекта? Или команда Tearing effect OFF - это фишка, свойственная собственно кристаллу контроллера ili9341, реализация которой производителем дисплея не реализована (не выведен сигнал TE) ?

    ILI9341.pdf

  21. Ну? Нет конденсаторов по питанию? Так у меня питание подключается в той же точке, где заканчивается входной фильтр по питанию всего устройства. Он содержит необходимые конденсаторы

     

    Не подключены Mode SVGND и SVRR.

    Еще что?

×
×
  • Создать...