шим на обычных портах микроконтроллера
шим на обычных портах микроконтроллера
Подскажите как реализовать шим к примеру на pic12f675 ? CCP порты в пример не приводить ,не могу понять как на pic16f877,реализовано управление по двум проводам с помощью шим,18 команд по 8 на каждом проводе ,управление сидит на RB2,RB3 - где нету встроенного шим - на pic как я понил сам шифратор,насчет дешифратора не знаю что там,так как нету возможности заглянуть .
- Реклама
- wws63
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Вс май 21, 2006 16:07:59
- Откуда: Алтай
Re: шим на обычных портах микроконтроллера
Сначала спросил про один камень, а потом начал разговаривать сам собой про другой.
ШИМ можно организовать аппаратно (при наличии такого модуля в камне) или программно, с использованием головы и рук программиста....
ШИМ можно организовать аппаратно (при наличии такого модуля в камне) или программно, с использованием головы и рук программиста....
Re: шим на обычных портах микроконтроллера
програмно?,и каким же образом?
PORTC.0=1;
delay_ms(5);
PORTC.0=0;
delay_ms(5);
так?
можете привести пример как реализовать еще шим програмно? ,возможно ли менять токо ширину одного импульса ? можно поподробнее
PORTC.0=1;
delay_ms(5);
PORTC.0=0;
delay_ms(5);
так?
можете привести пример как реализовать еще шим програмно? ,возможно ли менять токо ширину одного импульса ? можно поподробнее
Последний раз редактировалось AlekseyEnergo Вс май 04, 2014 20:10:09, всего редактировалось 1 раз.
Причина: Нарушение пункта 2.7 правил форума. Подредактировал. Предупрежден!
Причина: Нарушение пункта 2.7 правил форума. Подредактировал. Предупрежден!
Re: шим на обычных портах микроконтроллера
я почитал ,но мне нужна программная реализация,как изменять ширину одного имульса ?,можно ли как -нибудь обычным програмным шим с контроллера менять ширину одного импульса подрубив к нему дополнительно 74hc138?
Последний раз редактировалось AlekseyEnergo Вс май 04, 2014 20:11:14, всего редактировалось 1 раз.
Причина: Нарушение пункта 2.7 правил форума. Подредактировал.
Причина: Нарушение пункта 2.7 правил форума. Подредактировал.
- Реклама
Re: шим на обычных портах микроконтроллера
разбить на "кванты времени" прерываниями и включать/выключатьsirha писал(а): как изменять ширину одного имульса ?
почему именно 138 ? ну так то вообще возможны любые извращенияsirha писал(а): можно ли как -нибудь обычным програмным шим с контроллера менять ширину одного импульса подрубив к нему дополнительно 74hc138?
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Re: шим на обычных портах микроконтроллера
А можете привести пример програмного кода на СИ как это реализовать плиииз.Morroc писал(а): разбить на "кванты времени" прерываниями и включать/выключать
пытаюсь понять как работает пультMorroc писал(а): почему именно 138 ? ну так то вообще возможны любые извращения
http://radiokot.ru/forum/viewtopic.php?f=57&t=103019
Re: шим на обычных портах микроконтроллера
спс Юрий полезная информация,хочу написать новый код для pic16f877 поэтому и интересуюсь всем этим,процессор сгорел
,morrec подскажи как можно реализовать что ты написал
- Вложения
-
- шим.rar
- хотелось бы получить что то типо этого
- (11.41 КБ) 253 скачивания
Последний раз редактировалось AlekseyEnergo Вс май 04, 2014 20:12:12, всего редактировалось 1 раз.
Причина: Нарушение пункта 2.7 правил форума. Подредактировал.
Причина: Нарушение пункта 2.7 правил форума. Подредактировал.
Re: шим на обычных портах микроконтроллера
>причем меняется не весь шим а токо определенный импульс
а может это импульсно-кодовое управление по типу как в ик -пультах ? тогда можно попробовать копнуть в сторону самообучающихся пультов управления и "обучить" его с помощью работающего
или просто поснимать лог. анализатором все импульсные команды, загнать их в прошивку в виде структур
cmd[0].high = xxx;
cmd[0].low = yyy;
...
cmd[n].high = 0;
cmd[n].low = 0;
и тупо делать цикл типа
n = 0;
while (cmd[n].high > 0) {
port.high;
delay_ms(cmd[n].high);
port.low;
delay_ms(cmd[n].low);
n++;
}
если прибор во время передачи команды ничего больше не делает и 2 команды одновременно не передает - прокатит наверное
а может это импульсно-кодовое управление по типу как в ик -пультах ? тогда можно попробовать копнуть в сторону самообучающихся пультов управления и "обучить" его с помощью работающего
или просто поснимать лог. анализатором все импульсные команды, загнать их в прошивку в виде структур
cmd[0].high = xxx;
cmd[0].low = yyy;
...
cmd[n].high = 0;
cmd[n].low = 0;
и тупо делать цикл типа
n = 0;
while (cmd[n].high > 0) {
port.high;
delay_ms(cmd[n].high);
port.low;
delay_ms(cmd[n].low);
n++;
}
если прибор во время передачи команды ничего больше не делает и 2 команды одновременно не передает - прокатит наверное
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Re: шим на обычных портах микроконтроллера
пасиб большоеMorroc писал(а):
n = 0;
while (cmd[n].high > 0) {
port.high;
delay_ms(cmd[n].high);
port.low;
delay_ms(cmd[n].low);
n++;
}
если прибор во время передачи команды ничего больше не делает и 2 команды одновременно не передает - прокатит наверное
-
iGraphicsS
- Нашел транзистор. Понюхал.
- Сообщения: 193
- Зарегистрирован: Ср фев 16, 2011 22:58:23
Re: шим на обычных портах микроконтроллера
ШИМом кодируется только асинхронная частотно-импульсная последовательность DTMF например. У вас обычный асинхронный протокол, вопрос только какой. По двум проводам в промышленности это может быть: CAN (скорее всего вероятнее он), EIA-485, MicroLan(1-wire) (в нем время бита определяет его значение). Так как обмен скорее всего двухсторонний,
Что же делать: попытаться рассекретить физический интерфейс, узнать его, потом уже копаться в протоколе. Если покажете осциллограммы будет намного проще. Может даже кто то узнает свою работу
то это скорее всего не выход. Как определить направление передачи данных? Оборудование же как то наверняка знает что подключен пульт? Вообще программная реализация интерфейсов говорит о далеко не высоком качестве ПРОМЫШЛЕННОГО оборудования.Morroc писал(а):просто поснимать лог. анализатором все импульсные команды, загнать их в прошивку в виде структур
Что же делать: попытаться рассекретить физический интерфейс, узнать его, потом уже копаться в протоколе. Если покажете осциллограммы будет намного проще. Может даже кто то узнает свою работу
Re: шим на обычных портах микроконтроллера
все может быть, пульт пульту рознь
у него вот такой
http://radiokot.ru/forum/download/file.php?id=181271
вполне может быть без обратной связи
у него вот такой
http://radiokot.ru/forum/download/file.php?id=181271
вполне может быть без обратной связи
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Re: шим на обычных портах микроконтроллера
а может просто дистанционка для какой-нить модельки машинки/самолетика - дык в этом разделе "дистанционное управление моделями..." и искать надобно. 
Re: шим на обычных портах микроконтроллера
ну почти так и есть, только моделька очень большая, я так понимаю
для взрослых дядек
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Re: шим на обычных портах микроконтроллера
Для PIC12F675 делал программу для управления шаром

китайская начинка вместе с трансом сдохла. Таймер на 555 не удовлетворил по параметрам.
Сваял на пике
Там ШИМ 20 кгц с 25% заполнением
увы на асме
Но принцип прост - вкл - таймер, выкл - таймер

китайская начинка вместе с трансом сдохла. Таймер на 555 не удовлетворил по параметрам.
Сваял на пике
Там ШИМ 20 кгц с 25% заполнением
увы на асме
Но принцип прост - вкл - таймер, выкл - таймер
- Вложения
-
- PDM_Lit.asm
- (3.67 КБ) 641 скачивание
- просто КОТ
- Друг Кота
- Сообщения: 12364
- Зарегистрирован: Пт дек 17, 2010 15:07:50
- Откуда: Крымский Федеральный Округ
- Контактная информация:
Re: шим на обычных портах микроконтроллера
ради этого дела МК шить? Ну я не знаю прям...
Re: шим на обычных портах микроконтроллера
А почему нет.
Камень стоит 50 р. Обвязка копейки.
Для 555 стоит 10 р + обвязка.
Да и на 555 я угребся делать 25% заполнение при заданной частоте. Помню перепробовал разные схемы и ни одна не понравилась в работе.
В моем случае транс был от строчника и ему для оптимальной работы нужна была конкретная частота и конкретная скважность.
Камень стоит 50 р. Обвязка копейки.
Для 555 стоит 10 р + обвязка.
Да и на 555 я угребся делать 25% заполнение при заданной частоте. Помню перепробовал разные схемы и ни одна не понравилась в работе.
В моем случае транс был от строчника и ему для оптимальной работы нужна была конкретная частота и конкретная скважность.
- просто КОТ
- Друг Кота
- Сообщения: 12364
- Зарегистрирован: Пт дек 17, 2010 15:07:50
- Откуда: Крымский Федеральный Округ
- Контактная информация:
Re: шим на обычных портах микроконтроллера
На логической микросхеме, типа К561ЛА7, делается элементарно с двумя диодами и переменником. Можно точно выставить и частоту и скважность.
Re: шим на обычных портах микроконтроллера
У китаез как раз на логике и была сделанна. Но мы хотели круче, выше и светлее. Планировал кнопку запилить для переключения режима работы (меняется вид молний от частоты и мощности), но делал не себе и стало лень.




