Jump to content
Norad2142

Су Платформой На Гусеницах

Recommended Posts

Здравствуйте! Собираю платформу на основе гусеничного танка на микроконтроллере STM8S. Требуется сделать так, чтобы пройденный путь измерялся датчиком. В качестве датчика подумал использовать оптопару от компьютерной мыши. Нашел вот такую схему http://www.qrz.ru/schemes/contribute/comp/mouse.shtml, решил использовать вместо данного ОУ готовый компаратор LM339. Но с ним у меня начались проблемы. Сначала я хотел посмотреть, как работает компаратор. Поставил его на макетную плату, запитал от 5В, на неинвертирующий вход подал те же 5 В, а на инвертирующий 2,5 В в качестве опорного. По логике компаратор должен был выдать на выходе напряжение логической единицы, но там абсолютный 0. Подскажите пожалуйста, что я не так сделал, может чего не хватает?

post-175990-0-52861000-1384687476.jpg

Share this post


Link to post
Share on other sites

Подскажите пожалуйста, что я не так сделал, может чего не хватает?

Не хватает сопротивления на 3кОм, которое будет подтягивать выход к компаратора к питающими напряжению.

LM339 & LM393 обладают так называемым "Open Collector"-выходом и могут активно выводить только "0".

Взгляните на принципиальную схему (Schematic Diagram) одного такого компаратора в даташите и всё станет сразу понятно.

Share this post


Link to post
Share on other sites

Подскажите пожалуйста, что я не так сделал, может чего не хватает?

Не хватает сопротивления на 3кОм, которое будет подтягивать выход к компаратора к питающими напряжению.

LM339 & LM393 обладают так называемым "Open Collector"-выходом и могут активно выводить только "0".

Взгляните на принципиальную схему (Schematic Diagram) одного такого компаратора в даташите и всё станет сразу понятно.

Спасибо Вам, все заработало. буду теперь оптопару к этой схеме подцеплять.

Share this post


Link to post
Share on other sites

Импульсный источник питания - расчет за 10 минут в eDesignSuite

Как ориентироваться в огромном количестве существующих вариантов, чтобы выбрать наиболее подходящий для конкретного случая. «Ручной» перебор всех вариантов может оказаться весьма трудоемким процессом, а полученный результат – далеко не оптимальным. Специализированное программное обеспечение, позволяет уменьшить количество рутинных операций при проектировании.

Подробнее

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Хотел бы я посмотреть как подключить к MC34119 наушники через трансформатор ))) В даташите такого нет!!! а включение у меня по даташиту И каким образом трансформатор повлияет на качество сигнала-витая пара в наушниках станет не витой или как?  
    • Дорогой Авиатор, вам так сложно найти на ютубе канал "Злой Ангелина"? Там она очень хорошо рассказывает, как нужно, и можно, в рамках законодательства Управляющей Компании РФ восстановить  народную власть. Я же ролики сюда вгоняю, не просто так, как СТЭН, или его твинк? Я их специально показываю, что бы народ начинал понимать, кто он есть. Я не пуляю сюда ролики Елены Тардасовой "Народный совет Новосибирска" канал, и собственно, и по её фамилии можно найти, там 6 каналов с ней- просто у вас, не подготовленных- башню снесёт от информации такой. А я очень нежно и ласково, просто поворачиваю вашу голову в нужном направлении. Резко- нельзя- шея поломается. Я сам уже четвёртый год копаю эту тему- и каждое открытие становится шокирующим. В чём то я согласен с Еленой, а в чём то и нет. Не вам, и не ей меня судить.
    • Жила у брата домашняя крыса. И как-то раз вечером мама решила нас пристыдить, спросив "кто не покормил крысу". На что получила абсолютно точный ответ - "НИКТО", который вогнал всех в легки ступор.
    • Это было очень давно, и ссылку я не найду... А вот ссылку на свою статью по поводу этого макроса, могу дать. Правда, там сменился движок и верстка статьи съехала, вставки кода никак не выделены, но смысл понять можно.  https://simple-devices.ru/articles/7-soft/170-gnu-assembler-reviev Это да, но только не в атмеловском ассемблере! Нормальный макроассемблер - это, имхо, gnu-as или GAS
    • 5 вольт питания есть.  на выводах 13-19 смотреть?
    • У любого узла современной электроники тоже есть классические схемотехнические решения, которые изучает каждый студент профильного вуза, поэтому, действительно,   все давно придумано до нас, с этим и следует сравнивать. Огорчает, что Ваше восприятие ассоциативно нечувствительно даже к столь примитивному уровню абстракций. Аналог бессмысленного набора букв, следующего в произвольной последовательности - это Ваша схема, которая схемотехнически не является ни генератором, ни усилителем, ни ключом, конкретно - вообще ничем, поскольку изначально такое взаимное включение электрорадиоэлементов не является работоспособным. Поэтому на вопрос "что не так?" однозначно ответить невозможно, ибо, подразумевая схемотехнику генератора, - "все не так".
    • Что это вам даст? Вы не знаете передаточного отношения редуктора, не знаете паспортных данных оборотов асинхронного двигателя. Рабочая частота = 60 гц, замедление до частоты 25 гц, затем остановка. На видео видно как рабочие спокойно закатывают рохлю с маленькими колёсами на площадку лифта. Если бы площадка встала не в ровень с полом (как вы написали тут 5см), они бы не смогли закатить рохлю с грузом....и помучались...
  • Similar Content

    • By n_angelo
      По приходящему на ножку A1 импульсу настроено прерывание. Прерывание должно отработать один раз и должно делать следующее: пауза 7 секунд, потом на 1,5 секунды открыть реле. Во время прерывания светодиод на плате гаснет и загорается в такт секундам. Код отрабатывает верно за исключением того, что прерывание отрабатывает 2 раза. Т.е. подали импульс, заморгал светодиод в течении 7ми секунд, потом щёлкнуло реле (открылось), затем опять щёлкнуло (закрылось), потом всё повторяется еще раз (7+1,5). В режиме дебага работает нормально. Пробовал отключать реагирование на прерывания во время его отработки:
      disableInterruupts(); ... enableInterruupts(); но не помогает.
      STM8S103F3P6
      Код прерывания
      Код в main.c
       
    • By megavolt3101
      Здравствуйте уважаемые форумчане. Пытаюсь связать два микроконтроллера по шине LIN. В качестве мастера выбрал контроллер STM8S103F3P6 (Его Usart умеет только LIN MASTER). В качестве ведомого выбрал STM8S208RBT6 (У него 2 Усарта, один из которых умеет быть ведомым LIN) Собрал на двух макетных платах. LIN трансивер TJA1020 Прием и передача работают нормально. Но как дошло дело до защиты от потери линии связи, тут возникли проблемы. После обрыва линии связи и ее восстановления связь возобновляется. Но вот после короткого замыкания шины LIN ведомое (SLAVE) устройство намертво виснет. Точнее виснет в обработчике прерывания от USART3. Я пытался принудительно очистить флаг приема по узарту (UART3_FLAG_RXNE) и флаг приема хедер байта (UART3_FLAG_LHDF). А также скидывал флаг брэйк байта (UART3_FLAG_LBDF). Ничего не помогает программа не возвращается из прерывания по приему от USART_3. Но зато если в этот момент с ведущего устройства снова подать команду, то работоспособность ведомого устройства восстанавливается. Тоже самое помогает, если в обработчике прерывания по USART_3 принудительно подать рандомную команду на передачу. То есть, так как линия одна, она сама свою же команду и принимает, получается. Вроде все нормально, но как то коробит такой колхозный способ защиты от короткого замыкания шины. Подскажите, может я забываю еще какой нибудь скинуть флаг при случае коротыша на линии LIN или есть еще каrой нибудь правильный способ обойти защиту от потери связи после кратковременного замыкания на шине. Надеюсь тут есть люди, которые что-то делали с шиной LIN ?

      Прилагаю инициализацию для мастер устройства 
      UART1_Init( 9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);
      UART1_LINBreakDetectionConfig( UART1_LINBREAKDETECTIONLENGTH_11BITS);
      UART1_ITConfig( UART1_IT_RXNE_OR, ENABLE);
      UART1_LINCmd( ENABLE);
      enableInterrupts();

      И для Ведомого устройства
      UART3_Init( 9600, UART3_WORDLENGTH_8D, UART3_STOPBITS_1, UART3_PARITY_NO, UART3_MODE_TXRX_ENABLE);
      UART3_LINConfig( UART3_LIN_MODE_SLAVE, UART3_LIN_AUTOSYNC_ENABLE,UART3_LIN_DIVUP_LBRR1);
      UART3_LINBreakDetectionConfig( UART3_LINBREAKDETECTIONLENGTH_11BITS);
      UART3_ITConfig( UART3_IT_RXNE_OR, ENABLE);
      UART3_ITConfig( UART3_IT_LBDF, ENABLE);
      UART3_ITConfig( UART3_IT_LHDF, ENABLE);
      UART3_LINCmd( ENABLE);
      enableInterrupts();

      А также обработчик прерывания для ведомого устройства
      //Обработчик прерывания для UART3.
      INTERRUPT_HANDLER( UART3_RX_IRQHandler, 21)
      {
      if( UART3_GetFlagStatus( UART3_FLAG_LHDF)){recUART3_Header=UART3_ReceiveData8(); UART3_ClearFlag(UART3_FLAG_LHDF);}
      if( UART3_GetFlagStatus( UART3_FLAG_RXNE)){recUART3_Data=UART3_ReceiveData8(); UART3_ClearFlag(UART3_FLAG_RXNE);}
      if( UART3_GetFlagStatus( UART3_FLAG_LBDF)){ UART3_ClearFlag( UART3_FLAG_LBDF);}
      if( UART3_GetFlagStatus(UART3_FLAG_OR_LHE)){UART3_SendData8(0x00);UART3_ClearFlag(UART3_FLAG_OR_LHE);}// Отправляю пустую команду через USART_3
      }
    • By gafbich
      Объясните пожалуйста следующие, на руках имеется STM8S103F3P6, сначала была проблема запустить SPI, проблема была даже не в запуске а корректной работе - сделал! А вот с таймером я засел вообще. Хочу сделать программный delay по средствам таймера TIM1 без прерываний. Ниже скидываю инициализацию таймера TIM1 и обработчник(функция delay)
       
      Тактовая частота 2MHz.
       
      Где загвоздка?
       
      #include "iostm8s103f3.h" void TIM1_init(void); void delay_us(unsigned int d); void TIM1_init(void) { ////Величина автоперезагрузки//// unsigned int auto_preload = 65535; TIM1_ARRH=((auto_preload&0xFF00)>>8); TIM1_ARRL=auto_preload&0x00FF; //////////////////////////////// ////////Установка делителя////// unsigned int div_load = 2000; TIM1_PSCRH=((div_load&0xFF00)>>8); TIM1_PSCRL=div_load&0x00FF; //////////////////////////////// TIM1_CR1|=(1<<7)|(1<<1)|(1<<0); } void delay_us(unsigned int d) { TIM1_CNTRH=0;TIM1_CNTRL=0; TIM1_ARRH=((d&0xFF00)>>8); TIM1_ARRL=d&0x00FF; while(((unsigned int)((TIM1_CNTRH<<8)+TIM1_CNTRL))<d){}; } int main() { ///////////////////////////////////// //Отключаем Всю периферию // CLK_PCKENR1=0x00; CLK_PCKENR2=0x00; ///////////////////////////////////// CLK_PCKENR1|=(1<<7);//Включаем тактирование для TIM1 TIM1_init(); //Настройка ногодрыга для проверки таймера// PB_DDR|=(1<<5); PB_CR1|=(1<<5); PB_CR2|=(1<<5); //////////////////////////////////////////// while(1) { PB_ODR&=~(1<<5); delay_us(1000);//1сек PB_ODR|=(1<<5); delay_us(1000);//1сек } return 0; }  
    • By shemmer
      Продам микросхемы. Все новое. 95 % в упаковке.
      1. Микроконтроллеры
        STM32F030F4P6   - 3 шт. TSSOP20. 30 руб.   STM8S003F3U6TR - 5 шт. UFQFPN20. 20 руб.   STM8S003F3P6 - 3 шт. TSSOP20. 30 руб.   AT91SAM7S512 - 3 шт. TQPF64. 120 руб.   AT91SAM7S256 - 3 шт. TQPF64. 90 руб.   AT91SAM7S64 - 50 шт. TQPF64. Сняты с не работавших плат. 40 руб/шт.   PIC12LF1840 - 3 шт. 30 руб. 2. Память
      AT24C128C-SSHM  6 шт. SO8. 10 руб. AT25DF081A - 3 шт. SO8. 20 руб. AT45DB161 - 25 шт. 50 руб. 3. Питание
      NCP1013AP100G - 3 pcs NCP1012AP065G - 3 pcs NCP1028P100G - 2 pcs NCP1011AP100G - 3 pcs NCP1053P100G - 3 pcs NCP1011APL065R2G - 2 pcs VIPER12ASTR-E - 3 pcs VIPER12A - 5 pcs ST1S10PHR MC33063 КР142ЕН5А - 150 шт. В герметичных упаковках. 4. Прочее
      74HC595 - 50 шт. ADM485 ( SO8 )  
      Отправка почтой из Томска.
       
       
    • By cxem2
      USB(CH340T) KKL VAG COM 409.1

      Драйвер:
      DOC:
×
×
  • Create New...