|     0
            - 30.09.2014 - 19:46
           |      
                    Хороший знакомый, и кстати, хороший заказчик, попросил найти толкового исполнителя. контроллер должен выдавать две импульсные последовательности, сдвиг между ними всегда в пол-периода, в остальном они идентичны. Также, должно быть 4 кнопки: 2 кнопки увеличивают/уменьшают период импульсов. От 0.2мс, до 0.006мс. Другие 2 кнопки, увеличивают/уменьшают длительность импульсов, От 0.006мс, до 0.1мс. Длительность меньше чем пол-периода. И наверно понадобятся кнопки для более крупных шагов, ну это обсудите по ходу. Это всё:))). Пишите предложения тут, я дам заказчику ссылку на тему.  |    |  
|     1
            - 30.09.2014 - 21:34
           |     
			
			
                типа того, что ли -  |    |  
|     2
            - 30.09.2014 - 23:49
           |  1-8pin > Думаю это примерно то, что нужно, не знаю нужны ли индикаторы. Удачно вам обоим договориться!:) |   |  
|     3
            - 01.10.2014 - 06:53
           |  я всего лишь полюбопытствовал, делать времени нет. |   |  
|     4
            - 01.10.2014 - 10:45
           |  вообще по описанию выходной сигнал должен быть похож на то что генерируется копеечным шим-контроллером наподобие TL494. |   |  
|     5
            - 02.10.2014 - 02:59
           |     
			
			
                Народ, не забывайте чистить папку с личными сообщениями, при переполнении, сообщения не доходят. не помню даташит, но если там есть RC цепи по обоим параметрам, то красиво:). Заказчик что-то пропал:), может уже не надо, может позже появится.  |    |  
|     6
            - 02.10.2014 - 09:54
           |     
			
			
                да пофиг на заказчика, при всём уважении ) сколько там такая разработка может стоить - 500 рублей? больше мороки. частоту там можно регулировать изменяя R в RC а скважность напряжением на компараторе. точность только не очень. в принципе схема на мк не намного сложнее - Код:  /*****************************************************
CVAVR V2.05
Chip type               : ATmega8A
AVR Core Clock frequency: 2 MHz
*****************************************************/
#include <mega8.h>
#define A PORTC.2
#define B PORTC.3                 
#define C PORTC.4
#define D PORTC.5
#define E PORTD.0
#define F PORTD.1
#define G PORTD.2
#define DP PORTD.3
#define A0 PORTD.4
#define A1 PORTD.5
#define A2 PORTD.6
#define B0 PORTD.7
#define B1 PORTB.0
#define B2 PORTB.3
#define key_F_up PINB.5
#define key_F_dn PINB.4
#define key_D_up PINC.1
#define key_D_dn PINC.0
char d_buffer[6]={1,1,1,2,2,2**;
enum btn_states 
{b_prs, b_rls, b_hold** F_up, F_dn, D_up, D_dn;
unsigned int tmr[5];
unsigned char fr, dr;
eeprom unsigned char efr, edr;
void gpio_init ()
**
DDRB  = 0b11001111;
PORTB = 0b00110000;
DDRD  = 0b11111111;
PORTD = 0b00000000;
DDRC  = 0b11111100;
PORTC = 0b00000011;
**
void T0_init ()
**
   TCCR0=0x05; //1,953kHz
   TIMSK=1<<TOIE0;
**
void T1_init ()
**
  unsigned int x;
   
   TCCR1A = 1<<COM1A1|1<<COM1B1|1<<COM1B0;
   TCCR1B = 1<<CS10|1<<WGM13; // no presc, icr1-top  
   
   ICR1  = 200; 
   x=ICR1/2;
   OCR1A = ICR1-x;
   OCR1B = x;
**
void convert_data_a (unsigned int x)
**
char k;
  for (k=0;k<3;k++)
  **
   d_buffer[k]=x%10;
   x/=10;
  ** 
 
**
void convert_data_b (unsigned int y)
**
char k;
  for (k=3;k<6;k++)
  **
   d_buffer[k]=y%10;
   y/=10;
  **  
**
void display_data ()
**
  static char d_cnt=0; 
  
  (d_cnt)?(d_cnt--):(d_cnt = 5);
  A0=A1=A2=B0=B1=B2=0; DP=1;
  switch (d_buffer[d_cnt])
 **
  case 0:  A=0; B=0; C=0; D=0; E=0; F=0; G=1; break;
  case 1:  A=1; B=0; C=0; D=1; E=1; F=1; G=1; break;
  case 2:  A=0; B=0; C=1; D=0; E=0; F=1; G=0; break;
  case 3:  A=0; B=0; C=0; D=0; E=1; F=1; G=0; break;
  case 4:  A=1; B=0; C=0; D=1; E=1; F=0; G=0; break;
  case 5:  A=0; B=1; C=0; D=0; E=1; F=0; G=0; break;
  case 6:  A=0; B=1; C=0; D=0; E=0; F=0; G=0; break;
  case 7:  A=0; B=0; C=0; D=1; E=1; F=1; G=1; break;
  case 8:  A=0; B=0; C=0; D=0; E=0; F=0; G=0; break;
  case 9:  A=0; B=0; C=0; D=0; E=1; F=0; G=0; break;
  case 10: A=1; B=1; C=1; D=1; E=1; F=1; G=1; break;
  case 11: A=1; B=1; C=1; D=0; E=1; F=1; G=1; break; //_
  default: A=1; B=1; C=1; D=1; E=1; F=1; G=0; break; //-
 **
   switch (d_cnt)
 **
  case 0: A0=1; break;
  case 1: A1=1; break;
  case 2: A2=1; break;
  case 3: B0=1; break; 
  case 4: B1=1; break;
  case 5: B2=1; break;  
  
  default:      break;
 **
 **
void scan_keys ()
**
#define lp  50
#define lh  15
static unsigned char count[8];
if (key_F_dn)** F_dn = b_rls;**
if (key_F_up)** F_up = b_rls;**
if (key_D_dn)** D_dn = b_rls;**
if (key_D_up)** D_up = b_rls;**
if (!key_F_dn) {count[0]++; ** 
else {count[0]=count[4] = 0;**
if (!key_F_up) {count[1]++; ** 
else {count[1]=count[5] = 0;**
if (!key_D_dn) {count[2]++; ** 
else {count[2]=count[6] = 0;**
if (!key_D_up) {count[3]++; ** 
else {count[3]=count[7] = 0;**
if ((count[0] > lp)&&(F_dn != b_hold)) {F_dn = b_prs; count[0] = 0; count[4]++;**
if ((count[1] > lp)&&(F_up != b_hold)) {F_up = b_prs; count[1] = 0; count[5]++;** 
if ((count[2] > lp)&&(D_dn != b_hold)) {D_dn = b_prs; count[2] = 0; count[6]++;**
if ((count[3] > lp)&&(D_up != b_hold)) {D_up = b_prs; count[3] = 0; count[7]++;**
if ((count[4] > lh)&&(F_dn == b_prs)) {F_dn = b_hold; count[4] = 0;**
if ((count[5] > lh)&&(F_up == b_prs)) {F_up = b_hold; count[5] = 0;**
if ((count[6] > lh)&&(D_dn == b_prs)) {D_dn = b_hold; count[6] = 0;**
if ((count[7] > lh)&&(D_up == b_prs)) {D_up = b_hold; count[7] = 0;**
**
interrupt [TIM0_OVF] void t0_ovf_isr()
**
   char i;
   
   for(i=5;i;i--) 
   **
    if(tmr[i-1])tmr[i-1]--;
   **
**
void afr();
void main(void)
**
  gpio_init(); 
  T0_init();
  T1_init();  
 
  
  
  if((efr==0xff)){efr = 200; edr=efr/2;**
  fr=efr; 
  dr=edr;
#asm("sei")
while (1)
      **
         
         scan_keys();      
         display_data(); 
         convert_data_a(dr);
         convert_data_b(fr);
         afr();
          
         
      **
**
void afr()
**
  static bit trg0=0, trg1=0, trg2=0, trg3=0;
  static bit trg4=0;
  
  if(F_up==b_rls){trg0--;**
  if(F_dn==b_rls){trg1--;**
  if(D_up==b_rls){trg2--;**
  if(D_dn==b_rls){trg3--;**  
  
  if((F_up==b_prs)&&(!trg0)){trg0++; if(fr<200)fr++;**
  if((F_dn==b_prs)&&(!trg1)){trg1++; if(fr>6)fr--;**  
  if((D_up==b_prs)&&(!trg2)){trg2++; if(dr<100)dr++;**
  if((D_dn==b_prs)&&(!trg3)){trg3++; if(dr>3)dr--;**  
  
  if((F_up==b_hold)&&(!tmr[0])){tmr[0]=2; if(fr<200-10)fr+=10; else fr=200;**
  if((F_dn==b_hold)&&(!tmr[1])){tmr[1]=2; if(fr>6+10)fr-=10;   else fr=6;**  
  if((D_up==b_hold)&&(!tmr[2])){tmr[2]=2; if(dr<100-10)dr+=10; else dr=100;**
  if((D_dn==b_hold)&&(!tmr[3])){tmr[3]=2; if(dr>3+10)dr-=10;   else dr=3;**  
   ICR1  = fr; 
   if(dr<fr/2){OCR1A = dr; OCR1B = ICR1-dr;**
   else {dr= ICR1/2; OCR1A=OCR1B = dr;** 
   
   if(((efr!=fr)||(edr!=dr))&&(!trg4)){trg4=1; tmr[4]=50;**  
   if((trg4)&&(!tmr[4])) {trg4=0; efr=fr; edr=dr;**
    
  
**  |    |  
|     7
            - 02.10.2014 - 22:52
           |  Сколько тысяч девайсов надо? |   |  
|     8
            - 03.10.2014 - 07:07
           |  7-Фанат NASCAR > не тысяч, а миллионов. Мелко мыслишь. |   |  
|     9
            - 03.10.2014 - 08:15
           |  ну, с учётом того что это очень полезное устройство должно быть в каждом доме то да. а если бы не санкции то рынок сбыта был бы ещё шире. |   |  
|     10
            - 05.10.2014 - 12:30
           |  Автор, вы нас пришли спросить сколько бы мы запросили денег за такую разработку? Далее вы говорите своему заказчику, что вот народ говорит, что это стоит столько то, а я с вас беру на 10% меньше и продаёте свою разработку http://bortsoff.narod.ru/Gen.htm не за 1000 рублей, а за 10000 к примеру. Ну это по русски. Пропиарились оч хорошо. |   |  
|     11
            - 05.10.2014 - 17:59
           |  В общем я заказчик. Понадобился такой контроллер для исследований... На логике сложно в регулировании и оценке.. поэтому спросил можно ли сваять такое за недорого. Можно без индикации. А Вас тут понесло...по русски |   |  
|     12
            - 05.10.2014 - 19:20
           |  11-bolleg > Исследования - это интересно! Можно подробности? |   |  
|     13
            - 05.10.2014 - 20:31
           |  Пока одни мысли, будет результат напишу если интересно.При личном знакомстве можно и обговорить |   |  
|     14
            - 06.10.2014 - 00:09
           |     
			
			
                13-bolleg >если исследования, быстренько освойте ардуино, и мини прикупите за полтыщи. Пригодицо в других нетипичных задачах. Сложного ничего.  |    |  
|     15
            - 06.10.2014 - 00:11
           |  Ну и бребоард с проводками разными заодно |   |  
|     16
            - 06.10.2014 - 02:37
           |     
			
			
                FOT2, ну вот:(. А я искренне думал, что как действующий разработчик, я абсолютный чемпион по скрытности и незаметности:). Уж если и обмолвлюсь, то дважды косвенно, так что поймёт лишь тот, кто итак уже знает. А оно вот значит как... Эх:((.  |    |  
|     17
            - 06.10.2014 - 09:09
           |     
			
			
                лучше купить лазерный принтер за две тыщщи, чем ардуину с проводками. |    |  
|     18
            - 06.10.2014 - 13:36
           |  17-8pin > Фу, как грубо ))) |   |  
|     20
            - 07.10.2014 - 00:28
           |     
			
			
                19-8pin >лучше устроиться работать высокооплачиваемым футболистом) Принтер плесенью покрылся. Не в нашей стране..  |    |  
|     21
            - 07.10.2014 - 06:01
           |  футбол это скучно. |   |  
|     22
            - 20.10.2014 - 05:21
           |  Если еще актуально, можем обсудить |   |  
|     23
            - 22.10.2014 - 21:51
           |     
			
			
                пиши мне на почту, созвонимся... актуально пока. bolleg@bk.ru  |    |  
 Интернет-форум Краснодарского края и Краснодара |