Микроконтроллеры | ШИМ регулятор оборотов для колекторника |
|
---|---|---|
Neman2000: Спасибо но это совсем не то! 1. замер вх. импульса; Вот для ШИМа в ещё в лучшем качестве (в pdf). Там, в примерах 11-13, считай алгоритм твоего регулятора, схема включения и расчёты. Можно от этого и оттолкнуться, как ты хотел. Код это вторично уже, когда поймёшь в деталях что тебе именно надо. Всё под PIC рассказано. Пример 12 как раз для тебя ИМХО. В таблице к примеру 12 те режимы что ты бы и хотел я думаю расписаны. Понимаешь хоть под Atmel хоть под Microchip, а принципы остаются одними и теми же. Ну вроде всё, что хотел сказать. Удачи. |
|
|
Насчёт измерения импульсов (на примере AVR), для PIC по аналогии: У МК AVR есть входы INT - входы внешних прерываний. Т.е. по внешнему фронту или спаду (по чём срабатывать выбирается программистом) внешнего сигнала вырабатывается прерывание. Далее, в программе (в обработчике этого внешнего прерывания) можно уже указать МК, что с ним делать, т.е. запрограммировать реакцию на это событие. Например запустить тот или иной таймер считать в течение определённого времени и сохранить насчитанное значение в переменной для дальнейшей обработки, и т.о. измерить входной импульс можно. Это самое простое что приходит в голову для твоего случая. Остальное - это детали, т.е. зависит от конкретного МК. Ну дальше не знаю, сам ещё такие штуки не делал за ненадобностью (пока ). |
|
|
Спасибо,но нето опять,этож аппаратный ШИМ,а мне надо програмный применительно к пику12ф629 или 675, |
|
|
Мне гдето надо ШИМа ступенек 20 ,ну а если больше будет думаю лучше так как плавней будет работа газа. |
|
|
Neman2000: ...а мне надо програмный применительно к пику12ф629 или 675 Но ведь ты постил раньше Neman2000: ...а я хочу сам научиться делать программу Ну вот смотри, "делать программу" примерно так: Так поясни, почему ты выбрал МК без возможности аппаратного ШИМа и с мелкой памятью? Ведь начинающему аппаратный ШИМ поднять в разы проще будет (опять же см. pdf-мануал). А МК с мелкой памятью, без особого искусства программирования на Си тяжеловато применить будет, память может кончиться быстрее, чем прогу напишешь. Помню как-то испугался после компиляции, с чего это вдруг занятая память стала аж 36%, ведь проги то всего ничего было. Оказалось по ошибке в свойствах проекта младший МК указал . |
|
|
Записываю конфигу согласно даташиту,далее 7пин на выход(static bit trisLED @ (unsigned)&TRISIO*8+0 ;)и(static bit LED @ (unsigned)&GPIO*8+0 ;),копирую обращение с хидера. ______________________________________________________________________________________________________________________ #include <pic.h> //########################### Глобальные переменные:####################################### char PWMCycle; // Счетчик циклов от 0 до 29 static bit trisLED @ (unsigned)&TRISIO*8+0 ; // Ошибка192 строка 25 static bit LED @ (unsigned)&GPIO*8+0 ; // Ошибка192 строка 26 const int LEDon = 0; // Выключить светодиод //************************ Обработчик прерываний от таймера:******************************** //*****Здесь можно описать дополнительные действия для обработки прерываний от таймера***** //################################## СЛУЖЕБНАЯ ПРОГРАММА ################################### OPTION = 0x0D0; // использовать предделитель совместно //*********** Здесь надо выполнить инипиализапию периферийных устройств.******************* while (1==1) { // Бесконечный цикл. PWMLoop = 0; // Сбросить счетчик периодов ___________________________________________________________________________________________ Очистка: Удаляю промежуточные и выходные файлы. |
|
|
Neman2000: ASMLIST-Q-MPLAB-16F627 А тут (строка "выполнение" - опции команды PICC.EXE) почему PIC16А627 указан, а не РIСI2F629 как в начале программы? |
|
|
Спасибо Digital,поставил в MPLAB РIСI2F629 и компиляция прошла успешно, РЕЗУЛЬТАТ КОМПИЛЯЦИИ Карта Использования Памяти: Пространство(Пробел) программы: Пространство(Пробел) данных: Пространство(Пробел) СППЗУ: Идентификатор пространство(пробел) Местоположения: Биты конфигурации: Резюме: Загружено E:\test\test.cof. |
|
|
Neman2000: А биты конфигурации обязательно в MPLAB ставить,или достаточно конфиг Хаитека?(__CONFIG(0x00FE4); //Конфигурация РIСI2F629 Точно не подскажу, т.к. не устанавливал такую связку программ. Но можно предположить, что для получения прошивки аналогичной результату в симуляторе MPLAB биты конфигурации лучше выставить одинаковыми и там и там. |
|
|
И ещё... Нижний график (графы.gif (35 КБ, 1772×1004)) это я так понял - скважность ШИМ, а не её величина, поэтому-то, где паузы длиннее, там постоянное эквивалентное напряжение больше. Но понятнее было бы для себя перерисовать наверное, ШИМ по величине, т.е. там где паузы короче - газ больше (инвертировать граф т.е.). У тебя график сразу таких вопросов не вызвал, т.к. вроде бы привычнее считать когда пауза длиннее, то и Uэквив. пост.<=>"газ" меньше? |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |