Jump to content

Recommended Posts

Напряжение на выходе ШИМа зависит не от частоты, а от скважности. Т.е. отношения периода повторения импульсов (величина обратная частоте) к периоду включенного состояния (дьюти цикл).

Фильтр на выходе ШИМа при управлении силовыми нагрузками как правило не нужен. Только нужно частоту ШИМа увести выше звука, иначе двигатель будет "петь" на этой частоте.

Edited by my504

Share this post


Link to post
Share on other sites

В принципе ничего страшного не произойдет, но это все зависит от конструкции самого кулера. Есть кулеры с выходом сигнала частоты вращения, датчик питается от напряжения кулера и посему выход его будет промодулирован еще и напряжением питания - что даст неверные результаты. Есть еще 4-х контактные кулеры, у них есть специально вход для ШИМ, и выход датчика вращения.

чтобы на куллере было, например, 1/2 напряжения питания, 1/3 и т.д.

Когда работает ШИМ - промежуточных напряжений нет: или полное напряжение или ноль. Меняется лишь часть времени когда мощность отдается в нагрузку, тут правильней говорить не о напряжении на нагрузке а мощности отдаваемой в нагрузку.


Учение - изучение правил. Опыт - изучение исключений.

Share this post


Link to post
Share on other sites

Вобщем думаю нужно сначала почитать теорию, чтобы лучше вникнуть в ШИМ. Посоветуйте толковую литературу


С уважением, Дмитрий

Share this post


Link to post
Share on other sites

Быстро и просто. Разработка бюджетного неизолированного источника питания на контроллере VIPer122

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

Подробнее

Так фильтр поставить что мешает? Ну и усилитель выходных импульсов, если надо частоту считать.

Даже тут вполне доходчиво объяснено.


Пока в груди моей бьётся мотор, надежда есть на чистый бензин...

Share this post


Link to post
Share on other sites

Пополнение линейки ViperPlus от STMicroelectronics

Компания ST обновила семейство ШИМ-регуляторов со встроенным ключом ViperPlus, выпустив новые бюджетные микросхемы VIPER122 и VIPER222, и микросхемы VIPER265K и VIPER267K, имеющие встроенный ключ MOSFET напряжением 1050 В. С их помощью возможно реализовать топологии: изолированный и неизолированный обратноходовой преобразователь (flyback), понижающий преобразователь (buck), повышающе-понижающий преобразователь (buck-boost).

Подробнее

Усилитель ничем не поможет, ибо выход он и так уже логический - выход с датчика холла - нет напряжения, нет и выходного сигнала. А поскольку напряжение модулировано сигналом ШИМ - точно так же будет возникать и исчезать сигнал датчика. Если поставить фильтр - многие кулеры стартуют только от 6В и выше, а это означает что для старта необходимо 50%, тогда как при нефильтрованном питании кулер может стартовать и от 10% - ведь напряжение при этом полное, все 12В.


Учение - изучение правил. Опыт - изучение исключений.

Share this post


Link to post
Share on other sites

LED-драйверы LCM - бюджетное решение для умного дома!

Для более простого и бюджетного решения по организации управляемого освещения в здании с имеющейся системой KNX компания Mean Well предлагает готовые к использованию LED-драйверы семейства LCM/KN, управляемые по протоколу KNX. По своим техническим возможностям эти изделия похожи на драйверы из популярного семейства LCM/(DA).

Подробнее

..........Когда работает ШИМ - промежуточных напряжений нет: или полное напряжение или ноль. Меняется лишь часть времени когда мощность отдается в нагрузку, тут правильней говорить не о напряжении на нагрузке а мощности отдаваемой в нагрузку.

Кроме мгновенных значений напряжения сигнала еще существует действующее, средневыпрямленное, пиковое....

Поэтому говорить о напряжении в нагрузке не только можно, но и нужно.

Закон Джоуля-Ленца выполняется для любой формы тока и напряжения.

А значит определенному значению мощности в нагрузке соответствует определенное действующее напряжение.

Share this post


Link to post
Share on other sites

действующее напряжение.

Вот его то я и имел ввиду, говоря о напряжении на куллере


С уважением, Дмитрий

Share this post


Link to post
Share on other sites

Это если брать активную нагрузку, резистор. Тогда можно говорить ... а для кулеров никто гарантии не даст, что в момент подачи напряжения он будет в состоянии раскручиваться. 6В= из 12В и 50% ШИМ при 12В могут по разному действовать на разные кулеры.


Учение - изучение правил. Опыт - изучение исключений.

Share this post


Link to post
Share on other sites

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

В этом смысле нет никакой разницы какая форма тока, просто будут несколько другие соотношения скорости и напряжения.

Причем разница будет ничтожна.

Share this post


Link to post
Share on other sites

Ну так значит фильтр хуже не сделает.

Да и первый раз слышу, что кулер стартует с определённого напряжения.

А поскольку напряжение модулировано сигналом ШИМ - точно так же будет возникать и исчезать сигнал датчика

Собственно с целью это предотвратить я и предложил.


Пока в груди моей бьётся мотор, надежда есть на чистый бензин...

Share this post


Link to post
Share on other sites

В кулерах тоже целая схема, она не может работать от 1В, кулеры рассчитаны на питание от 12В и то что они работают начиная от 5В - это огромный прорыв в схемотехнике, раньше если кулер с электроникой рассчитан на 12В то начинает крутится от 10В. А сейчас, попадаются экземпляры которые страгиваются начиная с 4В.


Учение - изучение правил. Опыт - изучение исключений.

Share this post


Link to post
Share on other sites

Можно заставить кулер крутится практически "шагом". Но нужно задействовать обратную связь с таходатчика.

Share this post


Link to post
Share on other sites

Поправьте меня пожалуйста, если что-то не так понял:

Если нужно будет считать обороты куллера используя его таходатчик фильт ставить нужно

Можно простой RC, тобиш фильтр низких частот

Частота среза фильтра должна быть выше звуковой чтоб мотор не "пел". А вообще чем выше, тем лучше.


С уважением, Дмитрий

Share this post


Link to post
Share on other sites

Если нужно считать обороты, то надо либо питать постоянным током, либо фиксировать состояние выхода в моменты подачи напряжения на кулер, например синхронным D-триггером с некоторым сдвигом относительно момента подачи питания.


Учение - изучение правил. Опыт - изучение исключений.

Share this post


Link to post
Share on other sites

Я тут решил контролировать работу МК с ПК по COM-порту, ибо не то что дешевле и просто, а как оказалось, на моей материнке распаян соотв. разъем, который ни чем не юзается (на задней панели вообще нет COM-портов), но прочитал где-то, что есть проблемы у современных (высокочастотных, в сравнении с первыми-вторыми пнями) ПК в работе с COM ...

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

Share this post


Link to post
Share on other sites

Это было со старыми программами, опирающимися в временных выдержках на такты процессора. Сейчас это ненадежная практика, и этих программ уже нет в помине.

Темболее, что программы такие могли работать только в 98-й винде, а в NT - только с костылями. Это касается только способов манипуляции со специальными выводами, если передавать данные - там все строго регламентировано и не зависит от скорости процессора.


Учение - изучение правил. Опыт - изучение исключений.

Share this post


Link to post
Share on other sites

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

начну по порядку:

1)на PD0 включена внутренняя подтяжка, соответственно когда кнопка НЕ НАЖАТА,на регистре 1, а когда НАЖАТА получается 0?

2)для того чтобы светодиод загорелся нужно на PB0 подать низкий потенциал, т.е. 0?

post-110148-0-60255200-1289895391_thumb.jpg

Заранее спасибо за ответы.

Share this post


Link to post
Share on other sites

теперь возникли вопросы по кодуpost-110148-0-97882800-1289900195_thumb.jpg

cbi устанавливает 0

sbi устанавливает 1

sbis пропускает сл. строку если 1

sbic пропускает сл. строку если 1

от кода необходимо включить СИД при НАЖАТОЙ кнопке, т.е. PD0=0.

выходит что после метки START проверяется кнопка, если она не нажата пропускается LEDoff, и СИД отключается, т.к. используется команда установить 1, т.е. как мы разобрались погасить СИД.

если же кнопка нажата то переходим к метке LEDoff, где СИД включается командой cbi.

получается код рабочий но ошибка в коментариях?

Share this post


Link to post
Share on other sites

Здравствуйте имеется вопрос по интерфейсу SPI,подскажите сколько можно подключить микроконтроллеров по этому итерфейсу(100 возможжно)если мастером будит выступать мега 128 а в качестве Slave мега 16?

Прошу прошения если ни туда написал.


Электроника эта пламя страсти без неё никуда.

Share this post


Link to post
Share on other sites

Логически, может быть до 128 устройств на шине. Но есть еще одно ограничение - максимальная нагрузочная способность мастера - обычно, один мастер может потянуть только до 20 входов слейвов! Но и слейвы, они ведь тоже работают на общую шину - и так же должны потянуть входы всех остальных, если это условие не соблюдается - смысл такой шины где слейв не может ответить на заданной скорости?.


Учение - изучение правил. Опыт - изучение исключений.

Share this post


Link to post
Share on other sites

а кто нибудь ответит на пост №95?

:rolleyes:

Здесь, если кнопка отпущена, светодиод горит, если нажата - гаснет. Если хочешь наоборот, измени команду sbis на противоположную (sbic)

Edited by malecdima

С уважением, Дмитрий

Share this post


Link to post
Share on other sites

а кто нибудь ответит на пост №95?

Не в этой теме. По микроконтроллерам для начинающих есть отдельная тема: http://forum.cxem.net/index.php?showtopic=67748

Я не раздаю рыбу. Я раздаю удочки.

ПРОСТОТА - ХУЖЕ ВОРОВСТВА!!!

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. 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...

  • Сообщения

    • Вполне возможно она (моща) там и не нужна.  И получится - сигнал есть, а мощи нет.   На каком "выходе"? Дима, выражайтесь яснее.
    • Да планируется два тормоза.( правда управляются одним" кулачком").    Что это:"сцепители" приводных? Простенький рис.представить сможете?
    • Заряд фильтрующего конденсатора  осуществляется по гармоническому закону и если резонансная частота контура ненамного выше рабочей частоты, тогда заряд  плавный с минимальной амплитудой. Определяется лишь параметрами резонансного контура (резонансной частотой и характеристическим  сопротивлением контура) и начальными условиями – напряжением на конденсаторе фильтра.   По ссылке неплохо расписано для новичков, правда, автор назвал этот режим квазирезонансным, но это не суть важно: http://radiolub.fdd5-25.net/IBP/kvazyrez.htm
    • C2 рано запаяли-он после полной настройки вроде как
    • Ой, ну не надо. Разговор был об уместности его политики в настоящее время.
    • Да, вы правы, ещё после вчерашней попытки восстановить фьюз биты, я решил подключиться в ISP usbpass-ом, и о чудо! Он подал признаки жизни, я ему залил бутлоадер, фьюзы(по инструкции девайса- пациента), посадил на место, но ПК по USB контроллер не видит, сейчас буду пробовать внутрисхемно шить бутлоадеры, софт. Спасибо большое! 
    • PRM210-01  915 MHz FHSS Wireless Module +8 dBm (6.3 mW)  230 kbps / 500 kbps   -  3шт  по 150р PRM120-01 2.4 GHz FHSS Wireless Module +21dBm (125 mW)  280 / 500 kbps  - 2шт  по 350р
  • Similar Content

    • By Alan247
      Представляю на ваш суд:    https://thisismyhobby.ru/AVR_PAL_W.php   Ваше мнение?
       

    • By Rad TV
      Скетч простой и кислий. Сделан автором RadTV канал:https://www.youtube.com/channel/UC1k5elIKErFnmwTzIsRgQrA?view_as=subscriber
      Буду рад рокомендациях и помощи!Сделал сам проект должен бить простим и  что би влезло в ATtini85!
      Есть защита акб и просто парения (!!!Кнопка на розмикания!!!)
      Обновления будут!!!!
       
       
      RadMOD ver1.0.txt
    • By Стас73
      Доброй ночи, уважаемые.
      Прошу Вашего совета по следующей куче проблем для меня, т.к. не соображаю в электронике, схемах, резисторах и подобному, но дружу с компом и есть желание сделать определенный механизм, но пока нет наставления на путь истинный от специалистов)
      Задача состоит в следующем - хочу мотор стеклоочистителя подключить к Ардуино, но управлять им необходимо с кнопки. Шилд, например, который обрабатывает сигнал нажатия на кнопку (допустим кнопка записи), при ее активации, нажимаю на другую кнопку, которая дает команду движку вращаться по часовой стрелке. Отпускают ее, моторчик останавливается. Другая кнопка, вращение в противоположную сторону. Т.е. записал последовательность и продолжительность вращений,  нажимаю вновь на кнопку запись и мои действия сохраняются. Далее на 4 кнопку жму и моя игра с моторчиком автоматически воспроизводится. Если такое выполнимо с помощью плат и шилдов без доп программирования логики, то буду ОЧЕНЬ  признателен если расскажете как вкратце это осуществить или кинете ссылки к примеру на Али с нужными товарами. Если легковыполнимо, то в будущем наверное уже разберусь,  как обойтись без нажатия на 4 кнопку (воспроизведения записанных действий) и запускать этот процесс, подключив датчик движения или звука.
      Если необходимо описывать логику или создавать типа какого-то протокола, что шилд (?) умел понимать, что я от него хочу, то подскажите среду разработки для неба, что б там по минимуму было наворотов) В принципе с основами c++ для Ардуино скорее всего придется ознакомиться. 
      Заранее спасибо!
    • By Ilya Gray
      Доброго времени суток!
      В целом, имеется опыт разработки малых устройств, что-то понимаю, в общем, старательно читаю даташиты, даже понимаю их, но на звание серьёзного инженера (пока что) не претендую.
      Я пытаюсь использовать I2C на 8-битном PIC16F18326. Сижу в даташитах. Всё понимаю, всё делаю, на мой неопытный взгляд, правильно. Даже копирую полностью рабочие примеры (я даже купил такой же микроконтроллер, как в примере, скопировал код, контролируя, что он делает. Но всё равно не работает - SCL/SDA на 5в и всё тут).
      Так вот: PIC16F18326 on breadboard (прошу прощения, я хз как это по-русски) на внутреннем 32мгц кристалле. Чип пашет, без проблем моргаю LEDкой. Ну, думаю, щас быстренько подниму I2C. В итоге SCL SDA сидят на 5в без движения. Я использую LED для отладки. Судя по LED, код заloopливается в месте, где проверяется while PIR1bits.SSP1IF==0. Я уже везде был, кучу форумов перерыл. Уже попробовал всё, что мог представить. Я довольно новый в мире PIC, хотел попробовать их, а они ужасно сопротивляются. Уже 2 недели долблюсь безуспешно.
      Подтяжки 10к, проблем с ними никогда не было.
      Собственно, вот код (я уже там попробовал повыключать ADC, вычитал про баг, что сначала I2C пины надо делать OUTPUT LOW, а потом уже INPUT из-за бага MSSP, но ничего не помогло).
      // PIC16F18326 Configuration Bit Settings // 'C' source line config statements // CONFIG1 #pragma config FEXTOSC = OFF // FEXTOSC External Oscillator mode Selection bits (Oscillator not enabled) #pragma config RSTOSC = HFINT32 // Power-up default value for COSC bits (HFINTOSC with 2x PLL (32MHz)) #pragma config CLKOUTEN = OFF // Clock Out Enable bit (CLKOUT function is disabled; I/O or oscillator function on OSC2) #pragma config CSWEN = ON // Clock Switch Enable bit (Writing to NOSC and NDIV is allowed) #pragma config FCMEN = ON // Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is enabled) // CONFIG2 #pragma config MCLRE = ON // Master Clear Enable bit (MCLR/VPP pin function is MCLR; Weak pull-up enabled) #pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled) #pragma config WDTE = OFF // Watchdog Timer Enable bits (WDT disabled; SWDTEN is ignored) #pragma config LPBOREN = OFF // Low-power BOR enable bit (ULPBOR disabled) #pragma config BOREN = ON // Brown-out Reset Enable bits (Brown-out Reset enabled, SBOREN bit ignored) #pragma config BORV = LOW // Brown-out Reset Voltage selection bit (Brown-out voltage (Vbor) set to 2.45V) #pragma config PPS1WAY = ON // PPSLOCK bit One-Way Set Enable bit (The PPSLOCK bit can be cleared and set only once; PPS registers remain locked after one clear/set cycle) #pragma config STVREN = ON // Stack Overflow/Underflow Reset Enable bit (Stack Overflow or Underflow will cause a Reset) #pragma config DEBUG = OFF // Debugger enable bit (Background debugger disabled) // CONFIG3 #pragma config WRT = OFF // User NVM self-write protection bits (Write protection off) #pragma config LVP = ON // Low Voltage Programming Enable bit (Low Voltage programming enabled. MCLR/VPP pin function is MCLR. MCLRE configuration bit is ignored.) // CONFIG4 #pragma config CP = OFF // User NVM Program Memory Code Protection bit (User NVM code protection disabled) #pragma config CPD = OFF // Data NVM Memory Code Protection bit (Data NVM code protection disabled) // #pragma config statements should precede project file includes. // Use project enums instead of #define for ON and OFF. #include <xc.h> #include <htc.h> #include <stdio.h> #include <stdint.h> #define _XTAL_FREQ 32000000 void i2c_is_idle(void){ //while(!PIR1bits.SSP1IF); //while(SSPCON2bits.SEN==1 || SSPCON2bits.RSEN==1 || SSPCON2bits.PEN==1 || SSPCON2bits.RCEN==1 || SSPCON2bits.ACKEN==1 || SSPSTATbits.R_nW==1){}; while(PIR1bits.SSP1IF == 0){ PORTCbits.RC2=1; }; // SSP1IF is set when operation complete PORTCbits.RC2=0; PIR1bits.SSP1IF = 0; // clear interrupt flag } void i2c_start(void){ i2c_is_idle(); SSPCON2bits.SEN = 1; } void i2c_rep_start(void){ i2c_is_idle(); SSPCON2bits.RSEN = 1; } void i2c_stop(void){ i2c_is_idle(); SSPCON2bits.PEN = 1; } void i2c_write(uint8_t i2c_data){ i2c_is_idle(); SSPBUF = i2c_data; while(SSPSTATbits.BF != 0); while(SSPCON2bits.ACKSTAT != 0); } uint8_t i2c_read(uint8_t ack){ uint8_t recieve =0; i2c_is_idle(); SSPCON2bits.RCEN = 1; while(SSPSTATbits.BF != 1); recieve = SSPBUF; SSPCON2bits.ACKEN = ack; return recieve; } void i2c_init(void){ TRISCbits.TRISC0 = 1; TRISCbits.TRISC1 = 1; SSPSTATbits.SMP = 1; SSPSTATbits.CKE = 0; SSPCONbits.SSPM = 0x08; SSPADD = 79; SSPCONbits.SSPEN = 1; } void main(void) { ANSELCbits.ANSC0 = 0; //ADC RC0 OFF ANSELCbits.ANSC1 = 0; //ADC RC1 OFF TRISCbits.TRISC2=0; //LED PIN TRISCbits.TRISC0=0; //MSSP bug counter TRISCbits.TRISC1=0; //MSSP bug counter //__delay_ms(5); LATCbits.LATC1=0; //MSSP bug counter LATCbits.LATC0=0; //MSSP bug counter //__delay_ms(5); INTCONbits.GIE=1; //global interrupt en INTCONbits.PEIE=1; //peripheral interrupt en ADCON0bits.ADON=0; //unpower adc just in case i2c_init(); //THIS SETS TRISC BITS FOR SCL SDA while(1){ i2c_start(); i2c_write(0x3C); i2c_stop(); } return; } Задача: просто увидеть коммуникацию на SCL SDA, я уже потом по даташитам таргет девайсов без проблем напишу дрова. Не получается именно осуществлять коммуникацию.
      Подскажите, пожалуйста, я не понимаю, где я дурак, а между тем волос на голове становится всё меньше, а те, что остались, стремительно приобретают серый окрас, ибо 2 недели я долбаюсь с одной проблемой. Благодарю за ваши советы. Спасибо.
       
    • By MirVsem
      Добрый день.
      Есть интересные модули ибп для слаботочки до 1А.
      m.aliexpress.ru/item/4000109380893.html
       По цене идеально подходит для зоопарка роутеров, IoT устройств... Переключение на резерв (туда-обратно) без просадки. Зарядка литиевой банки как положено, всякие защиты от перегрузки и прочее. Казалось бы все замечательно. 
      НО как всегда не без ложки дёгтя.
       Защита от переразрядки работает неадекватно. Хотя возможно это не сама защита, а повышающий модуль. На пороге ~3в у него срабатывает циклический перезапуск и так пока банка не просядет ниже 3в. Точно померять нечем.
      Из наблюдений. Проверил напряжение переключается с 12в на 9в и щелчки. Естественно нагрузка в это время дико насилуется (роутер свистит минут 5 пока полностю не отключится)
      Вопрос к гуру. Возможно ли что-то доработать в даном модуле чтобы исправить этот досадный баг?
×
×
  • Create New...