Power Electronics http://valvol.ru/ |
|
AT90PWM3** в источниках питания. http://valvol.ru/topic716.html |
Страница 12 из 17 |
Автор: | MasterCat [ 02-01, 20:02 ] |
Заголовок сообщения: | |
Maikl писал(а): Херня от коды за 40... новосиб тормознётся. А?
сегодня там ехал малость. народу никого. три калеки на дороге. женщину какю-то подвез. замерзла бедолага. направление рукой показала. а на улице - 31 было. всего. в -40 точно капец. градусник у овощя ниже -30 не показывает. успокаивает. правда, как за сотню , подвеска деревенеет. ну, в смысле видно движение к табуретке. ну и хрен заведтся поди. |
Автор: | sam_soft [ 02-01, 20:30 ] |
Заголовок сообщения: | |
MasterCat писал(а): показать красоту решения супостатов.
А сделано в сам деле неплохо. Удивляюся, платку разводил с бухты барахты, и ничё. В той микрохирургии малейшы сбой- киздрык ключикам, 100% киздрык. А ничыво. Видать в чипе заложыны крывыя ручи Ишо раз сенк Ембедерскому Сибирскому Коту. Пушай звиняет, ежыли нитак обозвал. |
Автор: | MasterCat [ 02-01, 21:06 ] |
Заголовок сообщения: | |
ползем. http://flyfolder.ru/21129550 дыва =========== тут буду заменять ссылку на файло, чтобы не плодить. урывками шмякаю. |
Автор: | MasterCat [ 02-01, 21:07 ] |
Заголовок сообщения: | |
sam_soft, лучше бы прочел, чего я тут мяукаю, да поправил, аль замечание высказал. |
Автор: | sam_soft [ 03-01, 17:23 ] |
Заголовок сообщения: | |
MasterCat писал(а): лучше бы прочел, чего я тут мяукаю, да поправил, аль замечание высказал.
Не, рыцындент с меня не получицца. И ваще, я так до сих пор и не представляю кому ножон сей твой труд. ? Али тебе делать нечего совсем ? Первые несмотрел, глянул последний. Начало никакое, как с неба. Остальное в целом вроде нормально. Там где про порог компаратора , видимо не АЦП а ЦАП нужно. И вот это вот странная фраза : "При задании с АЦП нужно избегать перезаписи значений в прерываниях." это о чём ? |
Автор: | MasterCat [ 03-01, 17:39 ] |
Заголовок сообщения: | |
sam_soft писал(а): И вот это вот странная фраза : собака друг человека. sam_soft писал(а): "При задании с АЦП нужно избегать перезаписи значений в прерываниях."
он зараза теряет разряд, но не всегда. и только в прерываниях. особенность конструкции, так сказать. |
Автор: | MasterCat [ 03-01, 17:43 ] |
Заголовок сообщения: | |
sam_soft писал(а): я так до сих пор и не представляю кому ножон сей твой труд. ? Али тебе делать нечего совсем
пусть будет просто так. слегка утомили заявления про незыблемость примитивов типа 3845 и т.д. |
Автор: | sam_soft [ 03-01, 17:45 ] |
Заголовок сообщения: | |
MasterCat писал(а): он зараза теряет разряд, но не всегда. и только в прерываниях.
А это в каких прерываниях ? И какой разряд теряет ? |
Автор: | MasterCat [ 03-01, 18:04 ] |
Заголовок сообщения: | |
sam_soft писал(а): А это в каких прерываниях ? И какой разряд теряет ?
примера под рукой нет. найду покажу. на память, например так: прер. по ADC и в нем перекидываем в DAC. гарантировано вместо входного сигнала лажа будет. например синус подаем и получаем с выхода цапа. суем два щупа и ужасаемся. |
Автор: | sam_soft [ 03-01, 18:14 ] |
Заголовок сообщения: | |
MasterCat писал(а): перекидываем в DAC. гарантировано вместо входного сигнала лажа будет.
А может писать в DAC нада правильна ? Я тож видел странные превоплощения, не синуса правда. Но потом догнал в чём дело. Вся машынка у меня жывет в прерываниях то биш на ивентах. Мэйн луп , как я уж говорил это уайл адын. Других подходов не терплю. Нет там никаких проблем с DAC-ом. если правильна усё делать. |
Автор: | MasterCat [ 03-01, 18:25 ] |
Заголовок сообщения: | |
sam_soft писал(а): Нет там никаких проблем с DAC-ок. если правильна усё делать.
я ведь обращаю внимание тех, кто начнет с ней работать. чтоб не вляпались. слов, что это не работает, не говорил. есть базовые , упрощенные походы, которые позволяют начинающему не делать ошибок. речь об искусстве программирования не ведем. |
Автор: | sam_soft [ 03-01, 21:50 ] |
Заголовок сообщения: | |
Дык дело не в каком то искустве програмирования. Это отдельная песня . Заводить её совсем нихочеца. Дело в том что в DAC нада писать правильно, как то пишет даташит. И прерывания тут нипричом. Если где в коде написать типа DAC = newDacValue ; то во многих случаях, когда не включен режым ауто тригер конверсион, результат преобразования будет неправильный. А сам DAC в этой машынке вполне нормальный и достаточно шустрый. То что я делал когда то на таймерах - это полный ацтой по сравнению с ним. MasterCat писал(а): про незыблемость примитивов типа 3845
и не только этих. PWM-ка запросто заменяет и двухтактные контры, типа UC3846/56, на которых когда то пробовал цвай тахтеры ваять. Причом заменяет их с лихвой, со всей гибкостью програмного контроля над процессом. Но как всегда , идеального ничо не быват. Кое чего нехватает ей однако. |
Автор: | MasterCat [ 03-01, 22:02 ] |
Заголовок сообщения: | |
sam_soft писал(а): Кое чего нехватает ей однако. ну так рядом есть следующая. sam_soft писал(а): когда не включен режым ауто тригер конверсион, результат преобразования будет неправильный
ну осталось этим мозги народу забить и убьют небольно. |
Автор: | sam_soft [ 04-01, 11:32 ] |
Заголовок сообщения: | |
MasterCat писал(а): ну осталось этим мозги народу забить
Да не забить мозги, а навести резкость. Вот этот вот DAC = newDacValue; правильно работать почти всегда не будет пока не будет включен тригер соурсе старта конверсии DAC-а а вот этот вот будет правильно работать DACL = (char) newDacValue; DACH = (char)(newDacValue>>8 ); почему ? Да потому что в даташите написано, что если не выбран тригер старта преобразования, то конверсия стартует с записью нового значения в DACH. Посему первый вариант захватит старое значение DACL. Потому у тебя и ботва с синусом вышла. DAC работает точно так как даташите написано и работает правильно и нормально. Кстати если дилетанту посмотреть что сгенерит компайлер то наверняка увидит что те две строчки будут странслированы вроде того как: sts dacl, r24 sts dach, r25 тобиш тое самое что писал бы на аське, а не на сиське. Нормальный компайлер умная штукенцыя. И посокльку инты хранятся в регистровых парах, то он разруливает все оч грамотно. Похожие ньансы есть и в работе с регистрами PSC. Рекомендую оч внимательно быть с ними. Иначе микрохиругия с ними и попытки симетрить PSC запросто приведут к ФейерБаху. |
Автор: | MasterCat [ 04-01, 12:06 ] |
Заголовок сообщения: | |
sam_soft писал(а): Потому у тебя и ботва с синусом вышла.
блин. да не вышло у меня никакой ботвы. народ тут наступил на прерывание по событию PSC. в нем ЦАПа заряжал. на приоритеты, как всегда наплевательски посмотрели. я не один балуюсь этим тараканчиком. резкость можно наводить, когда народ подтянулся. чего учить вождению начиная с управляемого заноса? ну и потом народ всегда может посмотреть в атмеловский текст. Код: //! @defgroup DAC_macros DAC Macros
//! Low level macros that permit the use of the DAC of the product. //! @{ //! @defgroup Turn_on_dac Turn on the DAC //! Turn on the DAC //! @{ #define Enable_dac() (DACON |= (1<<DAEN)) //! @} //! @defgroup Turn_off_dac Turn Off the DAC //! Turn Off the DAC //! @{ #define Disable_dac() (DACON &= ~(1<<DAEN)) //! @} //! @defgroup DAC_alignement_configuration DAC Alignement Configuration //! Configure the input data alignement //! @{ #define Right_adjust_dac_input() (DACON &= ~(1<<DALA)) #define Left_adjust_dac_input() (DACON |= (1<<DALA)) //! @} //! @defgroup DAC_output_configuration DAC Output Configuration //! Switch on or off the DAC output //! @{ #define Enable_dac_output() (DACON |= (1<<DAOE)) #define Disable_dac_output() (DACON &= ~(1<<DAOE)) //! @} //! @defgroup DAC_set_input_value DAC Set Input Value //! Setart the conversion input conversion value //! @{ #define Set_dac_8_bits(dac_in) (DACH = (U8)(dac_in)) #define Set_dac_10_bits(dac_in) (DACL = LOW((U16)(dac_in)), DACH = HIGH((U16)(dac_in))) //! @} /* from IREENA */ #define Right_adjust_dac_result() (DACON &= ~(1<<DALA)) #define Left_adjust_dac_result() (DACON |= (1<<DALA)) #define Enable_internal_vref() (ADMUX |= ((1<<REFS1)|(1<<REFS0)) ) #define Enable_external_vref() (ADMUX &= ~((1<<REFS1)|(1<<REFS0)) ) #define Enable_vcc_vref() (ADMUX &= ~(1<<REFS1), ADMUX |= (1<<REFS0) ) #define Output_dac_enable() (DACON |= (1<<DAOE)) #define Output_dac_disabled() (DACON &= ~(1<<DAOE)) ну, когда педаль сцепления освоит, конечно. -- сами побузить можем, но народ давай грузить не будем. и мультивибратор можно нарисовать так, что на едрёного колайдера похож будет. |
Страница 12 из 17 | Часовой пояс: UTC + 4 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |