2016년 1월 16일 토요일

Floppy brushless motor



@#$%



http://www.farrellf.com/projects/hardware/2012-05-20_Brushless_Motors_as_Rotary_Encoders/
Brushless Motors as Rotary Encoders
May 20, 2012
Brushless motors can be used as rotary encoders.
When the rotor is turned the three coils will produce AC waveforms, 
each one-third out of phase with the next coil.
로터가 돌아갈때, 3개 코일들은 will 만들어낸다 AC 웨이브폼을, 
각 1/3 out of phase with the next coil.


The period and amplitude depend on how fast the rotor is turned.
주기 and 진폭은 달려있다 on 얼마나 빨리 the 로터가 돌아갔는지.
Spinning the rotor faster will result in shorter periods and higher amplitudes. 
돌리기 the roter를 더빨리 는 will 결과를 낳을것이다 in 더짧은 주기들을 and 더높은
Feeding those waveforms into op amps does the trick.
먹이기 those 웨이브폼들을 into op 앰프에 does the 트릭을 한다. 
For this test I displayed a number on an LCD and used a buzzer to play a 5KHz tone for each clockwise movement and a 1KHz tone for each counter-clockwise movement.
The motor is from an old floppy disk drive.
이 첫테스트를 위해 난 디스플레이했다. a 넘버를 on an LCD상에
and 난 사용했다 a 버저를 to 플레이하기위해 a 5KHz 톤을 for 각 시계방향 이동을 and a 1KHz 톤을 for 각 반시계방향 이동을 위해. 
The 모터는 from 오래된 플로피디스크. 





The op amps are used to turn each AC waveform into a square wave that can be interrupted by the microcontroller:
오피앰프가 사용된다 to 각 AC웨이브폼을 into a 스퀘어 웨이브로 that can be 인터럽트되는 by the 마이크로컨트롤러에 의해:



If an op amp is used as a simple comparator (waveform going to one input,
with the other input tied to ground)
there will be problems if you spin the rotor slowly or very fast.
The slightest amount of noise will cause glitches.
(The output will swing high or low when it shouldn't.)
만약 an op 앰프가 사용되면 as a 심플 비교기 (웨이브폼 going to 하나의 입력으로가는,
with the other 입력과 묶인 to GND에)
there will be 문제가 될수있다. if you 스핀하면 rotor를 매우느리게 or 매우빠르게.
The 매우작은 량 of 노이즈 will 유발할것이다. glitches를.









A little positive feedback adds hysteresis to the circuit.
This is simply a threshold which must be crossed
in order to get the output to swing high or low.
For my particular motor I needed the threshold to be approximately 70mV.
If the threshold is too low noise can still get through
and cause problems.
If the threshold is too high you will not be able to sense slow rotations.
The sweet spot will be different for every motor.
작은 (+) 피드맥은 더한다. 히스테리시스를 to the 회로에.
이건 간단히 a threshold(=기준점)이다. which must be 지나가야만하는
in order to 얻기위해 the 출력을 to 스윙하기위해 높게 or 낮게.
For 내 특정 모터에선, 난 필요했다. the threshold가 to be 대략 70mV가 되기위해.
If the threshold가 너무 낮다면 noise는 can sill get though(=통과)할수있다.
and cause 문제들을 야기할수있다.
If the threshold 가 너무 높으면, 넌 will not be able to 감지할 수 없다. 느린 회전들을.
그 sweet spot은 will be 다를것이다. for 매 모터마다.





Positive feedback supplies part of the op amp output back into the non-inverting input. A voltage divider is used to provide the feedback,
one end goes to the op amp output
and the other end goes to ground.
양의 피드백은 공급한다. part of the op amp 출력을 back into the 비반전 입력으로.
A 전압 분배기는 사용된다. to 제공하기위해 the 피드백을,
one end는 간다. to the op amp 출력으로
and the other end는 간다. to GND로.


To get 70mV when the output is high I needed two resistors with a 54.3:1 ratio.
To find the x:1 ratio, use: x = (output high voltage) / (desired mV) * 1000.
To minimize current flow the two resistors should add up to more than 1K.
The op amps I used will output about 3.8V
when supplied with 5V
so I used some 27K and 470 resistors that I had laying around
which gave a 66mV threshold.
To 얻기위해 70mV를 when the 출력이 high일때 난 필요했다. 2개 저항들이 with a 54.3:1비율이.
To 찾기위해 the x:1 비율을, 사용해라: x=(출력 고전압) / (원하는 mV) * 1000.
To 최소화시키기위해 전류 흐름을 the 2개 저항들은 should 추가해야한다. up to 1K이상.
The op amps 내가 사용한 will 출력할것이다. about 3.8V에 대해
when 공급됬을때 with 5V
so 난 사용했다. some 27K and 470 저항들을 that 내가 had 나돌아나니게한 주변에
which 준 a 66mV threshold(=기준점)를.



When an op amp input has a voltage below the negative supply voltage,
most op amps will effectively short that input to ground through a diode.
Since the motor is only being spun by hand
this will not be a problem but some current limiting resistors should be in series with all motor leads to be on the safe side.
Also keep the op amp voltage limits in mind
when using larger motors
or if you will be spinning the rotor at a significant speed.
When an op 앰프 입력이 갖고있을때 a 전압 below the 음의 공급 전압 아래의,
대부분의 op 앰프들은 will 효과적으로 short될것이다. that 입력 to GND through a 다이오드를 통한.
Since the 모터는 only being spun돌아가게될것이기때문에 by 손으로
이건 will not be a 문제가되지않을것이다. but some 전류 제한하는 저항들을 should be in 직렬로 with all 모터는 인도한다. to be on the 안전한 쪽으로.
(since 현재형, ~미래형)
Also keep the op 앰프 전압 제한들을 in mind에 담아라.
when 사용하는중일때 더큰 모터들을
or if 네가 will be 돌리고있는중일때 the rotor를 at a 상당한 스피드로.

I initially set up three op amps, one for each coil. This resulted in noticeable glitching at low speeds. The resistors I used for positive feedback have a 5% tolerance, resulting in the threshold for each coil being slightly different. I'm fairly certain that was the cause of the problem but I may be wrong. There is still a little glitching when using just two coils but it occurs far less often.

Here's the final schematic and code:





▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
#include

LiquidCrystal lcd(9,7,6,5,4,3); // RS, Enable, D4, D5, D6, D7
int count = 0;
byte currentA, currentB, previousA, previousB = 0;

void setup() {
  lcd.begin(16, 2);
  previousA = currentA = digitalRead(10);
  previousB = currentB = digitalRead(11);
}

void loop() {
  previousA = currentA;
  previousB = currentB;
  currentA = digitalRead(10);
  currentB = digitalRead(11);

  if(previousA == LOW && previousB == LOW && currentA == HIGH && currentB == LOW) { // clockwise
    count++;
    tone(2, 5000, 2);
  } else if(previousA == HIGH && previousB == HIGH && currentA == LOW && currentB == HIGH) { // clockwise
    count++;
    tone(2, 5000, 2);
  } else if(previousA == LOW && previousB == LOW && currentA == LOW && currentB == HIGH) { // counter-clockwise
    count--;
    tone(2, 1000, 2);
  } else if(previousA == HIGH && previousB == HIGH && currentA == HIGH && currentB == LOW) { // counter-clockwise
    count--;
    tone(2, 1000, 2);
  }

  lcd.setCursor(0, 0);
  lcd.print(count);
  lcd.print("   ");
}
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲






@#$%

2016년 1월 12일 화요일

HC-05 Manual



@#$%



I refered to this blog below
http://phillipecantin.blogspot.ca/search/label/HC-05
전부해석하면 너무 길어서 필요한 부분만 해석했습니다.
댓글 달아주세요


HC-05 BlueTooth link with zero code


필요한것들 ▼
For this, you will need:

  • 1 Arduino (I'm using UNO)
  • 2 HC-05 modules
  • 1 breadboard
  • Wires
  • Arduino IDE (i'm using version 1.0.5-r2)
Step 1 - Code and Wires
To bind the two HC-05s, we will need to input AT commands manually which can be done using this simple code.



    Upload the simple code above
    and carefully connect the wires like below.


    WIRING

    • HC-05 GND --- Arduino GND PIN
    • HC-05 VCC(5V) --- Arduino 5V
    • HC-05 TX --- Arduino Pin 10 (Soft RX)
    • HC-05 RX --- Arduino Pin 11 (Soft TX)
    • HC-05 Key (Pin34) --- Arduino PIN 9


    >>
    Configure the Slave


    2.1 Make sure the power wire (5.0v) is disconnecteded from the HC-05
    2.2 Make sure the Key wire is connected to pin9
    2.3 In the Arduino IDE, goto the Tools\Serial Monitor menu
    2.4 The two following settings are correctly set (at the bottom right of the window):

    2.4.1 Line ending should be set to "Both NL & CR"
    맨 끝라인은 반드시 Both NL & CR 로 마무리지어야한다.

    2.4.2 Baud speed should be set to "9600 baud"

    Note: If you had to modify those settings, I suggest to close and re-open the Serial Monitor dialog


    2.5 When the Arduino is reseted (opening the Serial Monitor dialog will force a reset) you should see the following text "Enter AT commands:" in the Serial Monitor dialog.
    아두이노가 리셋됬을때, 메세지를 볼수있다. "Enter AT commands:"를


    2.7 Connect the power wire(5.0v) on HC-05. You should see the red light slowly blinking (once every ~2 seconds)

    2.8 In the Serial Monitor, type AT and press Enter (or click the Send button).
    The module should return OK right away
    시리얼모니터에서 AT를 타이핑해서 OK가 뜨는지 확인한다.

    2.9 In the Serial Monitor, type AT+ROLE=0 and press Enter.
    This will set the module in Slave mode.
    You can verify that it worked by typing AT+ROLE? (It should return +ROLE:0)
    AT+ROLE=0은 슬레이브모드이다.


    2.10 In the Serial Monitor, type AT+BIND= and press Enter.
    This will remove any existing binding.
    You can verify that it worked by typing AT+BIND? (It should return +BIND:0:0:0)
    바인딩을 제거하고자 할때는 AT+BIND= 를 타이핑하고 Enter를 누른다.

    2.11 In the Serial Monitor, type AT+ADDR? and press Enter.
    This will return the MAC address of this HC-05 module.
    For example: my module's address is 00:13:03:19:14:07
    and the command is returning + ADDR:13:3:191407.
    As you can see the zeros are stripped out and the formatting is a bit different but,
    as you will soon see, this will not be a problem.
    Write down on a piece of paper this MAC address.
    보다시피 the 0들은 잘려나간다. and 포멧팅이 약간 다르다. but 이건 문제가되지않는다.


    2.12 Disconnect the power wire from the HC-05 and remove this HC-05 from the breadboard.
    It is now ready to act as the Slave module.
    Note: Don't disturb the wiring since you will use it to configure the second module.
    와이어를 제거하진 말아라 since 곧 두번째 모듈을 configure할꺼기 때문이다.


    >>
    Configure the Master

    *Start by installing the second HC-05 on the breadboard.
    Exactly where the first module was plugged.
    방금 Slave module연결한 곳에 Master module을 연결한다.

    3.1 Make sure the power wire(5.0)v is disconnected from the HC-05
    3.2 Make sure the Key wire is connected to pin 9
    3.3 In the Arduino IDE, goto the Tools\Serial Monitor menu
    3.4 The two following settings are correctly set (at the buttom right of the window):
    3.4.1 Line ending should be set to "Both NL & CR"
    맨 끝라인은 반드시 Both NL & CR 로 마무리지어야한다.
    3.4.2 Baud speed should be set to "9600 baud"
    Note: If you had to modify those settings,
    I suggest to close and re-open the Serial Monitor dialog

    3.5 When the Arduino is reseted
    (opening the Serial Monitor dialog will force a reset)
    you should see the following text "Enter AT commands." in the Serial Monitor dialog.

    3.7 Connect the power wire(5.0v) on the HC-05.
    You should see the red light slowly blinking (once every ~2 seconds)

    3.8 In the Serial Monitor, type AT and press Enter (or click the Send button).
    The module should return OK right away.

    3.9 In the Serial Monitor, type AT+ROLE=1 and press Enter.
    This will set the module in Master mode.
    You can verify that it worked by typing AT+ROLE? (It should return +ROLE:1)

    3.10 In the Serial Monitor,
    type AT+BIND=13,3,191407 and press Enter (of course here you should be using your MAC address that you have noted on step 2.12).
    This will force the Master module to automatically link (bind) to the Slave.
    You can verify that it worked by typing AT+BIND?
    (It should return +BIND:13:3:191407)
    3.11 Disconnect the power wire from the HC-05 and remove this HC-05 from the breadboard.
    It is now ready to act as the Master module.



    ▼▼▼▼▼
    #include

    SoftwareSerial BTSerial(10, 11); // RX | TX

    void setup()
    {
      pinMode(9, OUTPUT);  // this pin will pull the HC-05 pin 34 (key pin) HIGH to switch module to AT mode
      digitalWrite(9, HIGH);
      Serial.begin(9600);
      Serial.println("Enter AT commands:");
      BTSerial.begin(38400);  // HC-05 default speed in AT command more
    }

    void loop()
    {

      // Keep reading from HC-05 and send to Arduino Serial Monitor
      if (BTSerial.available())
        Serial.write(BTSerial.read());

      // Keep reading from Arduino Serial Monitor and send to HC-05
      if (Serial.available())
        BTSerial.write(Serial.read());
    }













    @#$%

    2016년 1월 9일 토요일

    북한, 그리고 한미관계에 대한 개인적인 생각들



    @#$%



    아마 주기적으로 이글을 갱샌하게 될듯하다.
    좀 두서가 없긴하다. 그래도 읽으신 분들은 댓글을 부탁합니다.



    북한의 도발이 일어날때마다 늘 미국의 도움을 빌리는 대한민국을 보며 점점 답답함을 느낀다.
    미국이 과연 진정 우리편인가가 가장 중요하다.
    인천 상륙작전때까지만 해도 미군의 모습은 멋졌다.
    딱 거기까지다.
    최근 미 대선후보중 한면인 도널드 트럼프의 더러운 입만 보더라도
    미국이 한국을 도와 얻는 게 없는데, 보호할 필요가 없다
    한국이 주는 돈은 푼돈에 불과하다.
    ...라는 말을 뱉곤한다.
    여기에 대해 미국의 강력한 부정도 없다시피하다.
    일부 미국인의 생각일지 모르지만, 그렇다고 극소수의 생각이라고 단정짓긴 어렵다고본다.
    이쯤되면 미국이 착한사람으로 돌아오길 신께 기도하기보다는 현실적으로 무기계발에 힘써야한다고 본다.
    강대국들 (미국, 중국, 일본 등등) 의 생각은 한국이 무기계발을 하게되면 북한에서 크게 반발할것이라는 계산을 한다.
    정확히 말하자면 그들은 한국이 무기계발고 강대국의 대열에 들어서는걸 반대하고 있는지도 모르겠다.
    박정희때 한국의 이휘소라는 과학자가 미국에서 의문의 교통사고를 당한일이 있다.
    핵계발의 키를 쥐고있는 몇 안되는 과학자중 하나, 박정희도 핵의 중요성을 알고있는 추진력있는 (뭐 독재였긴하지만) 대통령중 하나였다.
    그렇게 흐지부지되서 지금도 강대국의 틈바구니속의 햄스터만도 못한 존재가 됬다.


    <무기계발의 중요성>
    더군다나 북한의 연평해전, 서해교전, 지뢰도발 들을 당하고도
    기껀 한다는 용기있는 행동이 스피커방송이라니
    그저 웃음밖에 안나온다.
    그럴꺼면 국방비 명목으로 세금을 걷지말고, 홈플러스가서 스피커를 장만하는게 더 똑똑한 소비가 아닐런지.
    예컨데 북한이 미사일 10발을 쏴서 우리가 5발을 맞으면 5발만 북한으로 쏘게끔 되있는 교전수칙 (이런 교전수칙 이름이 뭔지궁금하다. 쓰레기 교전수칙인가) 이 있는데,
    이런 교전수칙은 김대중 정권이후 제1 연평해전 이후 만들어낸 바보같은 수칙이라고한다.
    북한이 참 똑똑한게 살짝살짝 남한을 공격하면서 고위급 접촉으로 합의를 이끌어내는 방법으로 교전수칙을 자기들이 유리한 방법으로 조정하곤한다.
    이런 사실을 남한의 고위급들은 머리가 돌이라서 잘 알지못할것이다.
    이게 아니라면 북한이 남한을 맹공격하지않고 살짝 치고나오는 이유가 사실상 없다.
    이런 경우 늘 합의를 하는데
    합의를 하면 우리가 잃는것은 군 사기이다.
    아래 링크는 2억원을 들여서 만든 지뢰도발로 발목을 읽은 병사를 위해 세운 동상이라고 한다. 보고 판단은 알아서 하시길...
    한번 생각해보자. 상식적으로
    우리 군이 공격을 당했다.
    그들은 복수심에 불타있을것이다. (아니라면 대한민국 사람이 아니겠지)
    헌데 미국등 강대국들은 참으라고 종용한다.
    우리가 고위급접촉을 하자며 빌다시피 북한에 부탁을 한다. (늘 그래왔다.)
    그들은 조건을 붙인다. 우리가 물러날테니 우리 조건을 들어달라.
    우리는 공격할지, 참으며 부탁을 들어줄지 고민도 안하고 그들의 부탁을 들어준다.
    계속 도돌임표이다.
    우리가 잘 하면 그들이 착한 북한으로 돌아올꺼라는건 그저 동화책에만 나오는 계산이다.


    미국에게서 계속 무기를 사들이지만 그들은 핵심기술을 공개하지않고있다.
    그 기술을 공계하면 더이상 무기거래가 끊기는게 문제가 아니고, 한국이 강대국 대열로 들어가는 발판을 마련하는 꼴이된다.
    그들의 입장도 중요하지만 우리가 이해해줄만한 사항을 아니라고 본다.
    그들은 남북 사이에 전쟁급의 문제가 터져도 예전처럼 의로 도와주기보다는 더 비싼 무기거래의 적시로 판단할런지 모른다.
    최근 한국, 그것도 서울에서 탄저균실험을 하다가 들키고 오래발을 내미는 미국을 보면서
    한미간의 신뢰는 깨졌다고 본다.
    별 문제 아니라고 생각하는 이들이 많지만, 이 사건의 밑바닥에는 
    미군이 한국에서 터트리는 모든문제를 조사할때는 한국 단독으로 결정할 수 없고,
    미국과 함께 결정해야한다.
    ...라는 논리적으로 들리지만 다소 거지같은 문구가 명시되어있다.
    이때문에 사소한 폭행문제부터, 탄저균같은 큰 문제까지도 미국이 그냥 넘어가자고 종용하면, 한국은 바보같이 해맑은 미소를 지으며 그들의 손을 붙잡고 화해하는 표정을 카메라앞에서 지어야만한다.
    과연 미국이 친구라고 볼수있을까....?






    김양건의 교통사고 사망설에 많은이들이 의구심을 갖고있다.
    내 생각은 김정은과는 관련이 없다.
    다만 김양건의 반대편에 서있는 사람에의해 제거되지않았을까이다.
    새로운 무기계발이 진전되면 자기들의 힘이 커지는데 김양건이 반대파에 서있어서
    그래서 제거하려하지만 만만치 않아서 아랫사람을 시켜서 조용히 제거하고,
    증거가 없으니 교통사고로 위장해서 김정은에게 보고하지않았을까 하는 생각이다.






    @#$%

    2016년 1월 5일 화요일

    Korea Life Tip (leave message you wanna know about Korea Life)



    @#$%




    Freely leave any comments,
    if you wanna get other tips.








    Transportation Tip
    Getting on 9100 Bus is better
    when you wanna go over to, get back from, between Seoul & Incheon.
    Do not fotget Tag the T-money card twice when you get on to & get off from the bus.
    You might get panalty.
    --------------------------------------
    Emergency Call Tip
    --------------------------------------
    Club Tip
    --------------------------------------
    Festival Tip
    Irish festival is held in 신도림 station.
    --------------------------------------
    .
    .
    .

    ★You can get this card in any Convient Store
    Before buying this, you have to check T-Money Icon.








    @#$%

    2016년 1월 4일 월요일

    랜섬웨어 복구툴






    클릭하고 여기로 넘어오세요
    Click and come over to the URL below ▼
    티스토리사이트
    확장자 CCC로 감염되신 경우에 가능합니다.




    >>
    원키 고스트 사용법





    시스템 복원 변경방법
    랜섬웨어 걸렸을때 복원시킬 수도 있다고 한다.
    readme 텍스트 파일을 첨부하면 해결책을 제시해주기도 합니다.



    2016년 1월 1일 금요일

    쇼음악중심

    매주 토요일마다 검색순위가 올라가지

    소녀상



    Torrent_Link



    일본과의 협사에서 난황을 겪고있다.
    그간 아베정권이 한국에게 절대 사과할 수 없다는 입장을 고수하가 갑자기 입장을 바꾼데는 뭔가 석연치않은 냄새가 난다.
    모종의 거래가 있지 않았을까 하는 생각이다.
    보통 입장을 바꾸게 되면 그중에 일부 반대파가 있기 마련인데 깔끔하게 돌아섰다는게 의심을 사는데 한몫 했다.
    그리고 돈을 전달하며 사과하면 될껄 또다른 조건을 달았다.
    일본대사관 앞의 소녀상을 철거해달라는 말이다.
    어찌보면 철거하기 위해 돈을 줬다고 볼 수 있는데
    이걸 아름답게 미화하기위해 우선 사과를하고 돈을 주며 작은 부탁으로 소녀상 철거 이야기를 꺼낸게 아닐까 본다.
    마치 조삼모사와 같다.
    그냥 순서만 바꿨을 뿐 같은 이야기다.
    그리고 앞으로 역사이야기를 꺼내지말라는 이면 계약이 있었다는 말도 있다.
    이쯤되면 독도 이야기를 꺼내지말고, 군함도를 관광지로 지정한걸 철회해달라는 우리측 입장정도는 전달할 수 있는게 아닐까?
    힘이없는건 맞다. 약소국 일수 있는데 일부 인정한다.
    헌데 자존심이 없는건 인정하기 싫지만 이런 한국정부의 행태를 본다면
    박근혜 대통령이 일본 스파이가 아닌가 심히 의심스럽다.






    Torrent_Link