www.open-tager.ru http://www.open-tager.ru/forum/ |
|
LTAscetik http://www.open-tager.ru/forum/viewtopic.php?f=5&t=1565 |
Страница 255 из 532 |
Автор: | Jumpy [ 10 апр 2013, 12:23 ] |
Заголовок сообщения: | Re: LTAscetik |
Цитата: Я уже давно грузы гоняю через транспортные. Куда надежней и быстрее чем Почта и ЕМС. Спасибо, буду иметь ввиду |
Автор: | Pingvin [ 10 апр 2013, 12:26 ] |
Заголовок сообщения: | Re: LTAscetik |
Jumpy писал(а): Цитата: Я уже давно грузы гоняю через транспортные. Куда надежней и быстрее чем Почта и ЕМС. Спасибо, буду иметь ввиду Мне с Новосибирска платы отправляют транспортной компанией "Энергия". Тут от конторы их база в 5 минутах ходьбы, и очереди редкость. |
Автор: | Jumpy [ 10 апр 2013, 12:38 ] |
Заголовок сообщения: | Re: LTAscetik |
У нас я было нашел парочку попробовать, но они находились в таких местах, где я не бываю, а ехать туда тратя 2ч на туда-обратно это слишком. Заказ курьера возможен, но тогда цена посылки возрастает в более чем 1.5 раза. |
Автор: | Pingvin [ 10 апр 2013, 12:50 ] |
Заголовок сообщения: | Re: LTAscetik |
Jumpy писал(а): У нас я было нашел парочку попробовать, но они находились в таких местах, где я не бываю, а ехать туда тратя 2ч на туда-обратно это слишком. Заказ курьера возможен, но тогда цена посылки возрастает в более чем 1.5 раза. Да отлично все, просто я и сам не знал что EMS это отдельная песня. А знал бы - уже давно бы забрал. |
Автор: | Pingvin [ 10 апр 2013, 15:28 ] |
Заголовок сообщения: | Re: LTAscetik |
Пришло таки извещение! |
Автор: | furhunter [ 10 апр 2013, 17:01 ] |
Заголовок сообщения: | Re: LTAscetik |
Балансир http://www.zajic.cz/omezovac/omezovac.htm |
Автор: | mail_robot [ 10 апр 2013, 18:31 ] |
Заголовок сообщения: | Re: LTAscetik |
схема известная, в том числе и своими недостатками. Рекомендую копнуть в сторону трехфазных зарядных на отдельных микрухах. Они куда интереснее |
Автор: | hexFF [ 10 апр 2013, 23:07 ] |
Заголовок сообщения: | Re: LTAscetik |
Pingvin писал(а): hexFF писал(а): не успевает прерывание отработать, тут гадать не надо. компилятор на прерывание минимум 70-80 тактов хоронит, на сохранение и восстановление РОН. на ассемблере- самое оно, тактов 25-30 вместе с уходом на вектор и возвратом. А помочь сможете? Я в AVR-овском ассемблере ни бум-бум... Как то же ещё значения из переменных в регистры передать надо. Вот, собственно, код прерывания Код: /************************************************************************************** * Обработчик прерываний таймера ***************************************************************************************/ ISR(TIMER2_COMP_vect){ static volatile uint8_t prt; prt = TSOP_IN&TSOP_PIN; if (prt==0) //На ножке ИК-приемника низкий уровень сигнала (пойман сигнал несущей) { low_level_counter++;//Увеличиваем счетчик длительности низкоуровнего сигнала на ножке ИК-приемника } else //На ножке ИК-приемника высокий уровень сигнала (пойман сигнал несущей) { high_level_counter++;///Увеличиваем счетчик длительности высокоуровнего сигнала на ножке ИК-приемника if((start_bit_received)&&(high_level_counter > IR_ZERO*8)) {//Фиксируем окончание приема по таймауту start_bit_received = false; //отменяем прием rx_event = RX_COMPLETE; //Генерим событие "принят пакет" receiver_on = false;//выключаем приемник if (ir_transmitter_on==false) TIMSK &=~_BV(OCIE2); //если передача не ведётся - выключаем прерывания } if((high_level_counter > IR_ZERO*8)&&(ir_transmitter_on==false)) { receiver_on = false;//выключаем приемник TIMSK &=~_BV(OCIE2); } } if (ir_transmitter_on==true) {//Если передача разрешена if (ir_pulse_counter > 0) //необходимая длительность пачки импульсов { //ещё не достигнута, "мигаем" дальше IR_LED_INVERT; //необходимая длительность пачки ir_pulse_counter--; } else //пачка импульсов была отправлена, { IR_LED_OFF; //тушим ИК-диод if ( ir_space_counter > 0) //проверим, выдержан ли промежуток между импульсами { //нет, промежуток не выдержан IR_LED_OFF; //тушим ИК-диод ir_space_counter--; //уменьшаем обратный счетчик паузы на один "тик" } else //Пакет импульсов и промежуток между битами переданы { //нужно формировать следующую пачку (передаваемый бит) if (data_packet.data[cursor_position]!=0) //если указатель указывает не на пустую ячейку { ir_pulse_counter =data_packet.data[cursor_position++] ; //передадим импульс указанной длительностью ir_space_counter = IR_SPACE; //и про паузу не забудем } else //Все данные переданы (элемент, на который ссылается указатель, равен 0) { ir_transmitter_on=false; //выключаем передатчик FIRE_LED_OFF; display_bullets_update_now++; // если if (!receiver_on) //если нет приема пакета { TIMSK &=~_BV(OCIE2); // Запрещаем прерывания по захвату/сравнению } } } } } else {//Если передача запрещена } } по коду едва ли, в Си я не бум-бум совершенно, но алгоритмом помогу. Так понял, что у вас ножка ИК- диода по прерыванию инвертируется. Думал над этим вариантом, выбрал другой подход. По порядку: у меня процессор ATmega328 (выбрал из-за маленького корпуса и 32 кб флеш- памяти- её больше половины уйдет на бинарники звуков), такт 8 МГц. алгоритм передачи "пули": таймер 1 настраивается в режим СТС по значению в OCR1A (подбираем так, чтоб прерывание выскакивало каждые 17,7 мкс - для частоты несущей 56 килогерц), в OCR1B закидываем значение OCR1A деленное на 2. Оба прерывания (по совпадению OCR1A и OCR1B) разрешаем. теперь самое интересное - обработчики. по совпадению OCR1B самый простой- только одно действие- выставить неактивный уровень на ножке ИК- светодиода. по совпадению OCR1А- тут вывод пачек импульсов- смотрим что нужно выводить, если нужно- выставляем высокий уровень на ножке, нет- не трогаем её. на ассемблере летает на ура, на Си не знаю, пойдет ли- там компилятор есть... таймер 2 будет для вывода звука, таймер 0- для приема пуль и как системный таймер. |
Автор: | hexFF [ 10 апр 2013, 23:16 ] |
Заголовок сообщения: | Re: LTAscetik |
Pingvin писал(а): Завтра обещали посылку с платой от LW курьером доставить. Постреляем! извиняюсь, а что за плату брали? Pingvin писал(а): В принципе, уже можно добавить в настройки выбор частоты несущей ИК-пакета. можно, только есть одно НО- частоту несущей выстрела программно изменить труда не составит, а вот с TSOP- ами повязки как быть? На "родной" частоте они очень хороши, сместить её- чуствительность резко падает. Экспериментировал с TSOP4836, у них пик на частоте 36 кГц. Сигнал с несущей 56 кГц со 100 метров (ИК- диод + кусок канализационной трубы + длиннофокусная лупа диаметром 40 мм) кое- как принял. Кое- как- это неуверенно, плюс очень плавают (до 40%) тайминги. Протоколы MilesII и Laserwar4 предусматривают период Т сигнала 600 мкс, а на практике с TSOP4836 от 430 до 800 вышло. TSOP4856 - идеально, до муллиметра. Программно это можно победить, но делать ТАКОЕ не очень хочется. Самый очевидный выход- две повязки (просто подключить нужную), либо съемные датчики (как крепить? в бою не отвалятся?). |
Автор: | MidnightDreamer [ 11 апр 2013, 00:16 ] |
Заголовок сообщения: | Re: LTAscetik |
hexFF писал(а): ... Самый очевидный выход- две повязки (просто подключить нужную), либо съемные датчики (как крепить? в бою не отвалятся?). Однозначно либо две повязки, либо повязку с двумя типами датчиков. А съемные датчики на липучках практикуются как за границей, так в Полигоне 64, так что ничего никуда не отваливается Сам так же свои повязи сделал ) |
Страница 255 из 532 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |