Dansk Elektronik Forum

Generel Elektronik => Arduino & Lign. => Emne startet af: Danni-Hansen efter April 12, 2014, 18:32:34

Titel: Sharp GP2Y0A21YK Prox sensor
Indlæg af: Danni-Hansen efter April 12, 2014, 18:32:34
Dav.

Efter et par dages byggeri mv, har det lykkes mig at bygge en dejlig fin 4 hjulet robot som skal reagere på 2 Sharp GP2Y0A21YK
En bag til og en for til

Er dog i tvivl om hvordan jeg får den til at spytte ud at den er for tæt på så den skal vende om eller dreje.

Jeg har brugt flg elektronik komponenter:
1 styk arduino mega 2560
2 styk H bridges, 1 koblet til hver side af robotten.
og 2 styk Sharp GP2Y0A21YK

Og koden ser sådan her ud:
Kode:
int sensorpin = 0;                 // analog pin used to connect the sharp sensor
int val = 0;                 // variable to store the values from sensor(initially zero)

int sensorpinback = 1;                 // analog pin used to connect the sharp sensor
int valback = 0;                 // variable to store the values from sensor(initially zero)


const int right01 =  7;
const int right02 = 8;
const int left01 =  4;
const int left02 = 2;

void setup() {
  pinMode(right01, OUTPUT);     
  pinMode(right02, OUTPUT);
  pinMode(left01, OUTPUT);
  pinMode(left02, OUTPUT);
}

void loop(){

    val = analogRead(sensorpin);       // reads the value of the sharp sensor
    int funken = 4800/(val - 20);

    valback = analogRead(sensorpinback);
    int backen = 4800/(valback - 20);

  if(funken > 0 && backen > 0){

    if(funken >= 35){
     forwards();
    } else {
     backwards();
     if(backen <= 10){
      around();
     }
    }
  } else {
   stopper();
  }
 
  delay(1000);
}

void forwards(){
  digitalWrite(right02, LOW);
  digitalWrite(right01, HIGH);
  digitalWrite(left02, LOW);
  digitalWrite(left01, HIGH); 
}

void backwards(){
  digitalWrite(right01, LOW);
  digitalWrite(right02, HIGH);
  digitalWrite(left01, LOW);
  digitalWrite(left02, HIGH);
}

void around(){
  digitalWrite(right01, LOW);
  digitalWrite(right02, HIGH);
  digitalWrite(left02, LOW);
  digitalWrite(left01, HIGH);
 
}

void stopper(){
  digitalWrite(right01, LOW);
  digitalWrite(right02, LOW);
  digitalWrite(left02, LOW);
  digitalWrite(left01, LOW);
}

Forslag modtages til at den kan klare sig selv lidt.


---
Senere vil jeg bygge den ud med en lade station så den kan lade op af sig selv på et tidspunkt.
Og når tid er, så skal den i en kravlegård hos de gamle, hvor den skal 'lære' at klare sig på et ujævnt område, og alt skal logges via mit raspberry board.

Vil også have en retnings sensor og meget mere, så den har en idé  om hvor den er i forhold til når den skal vende om og tilbage.. Et lille rumprojekt.
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: gerd efter April 12, 2014, 19:12:01
Hej ...
Du har altid interessante projekter. Har Du et billede?
Jeg drømmer også i årevis om at lave en robot. Men jeg sidder fast med sensorerne.
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: Danni-Hansen efter April 12, 2014, 19:18:44
Hej Gerd.

Links, info, billeder, og video kommer når tiden er til det :)

Min drøm var at komme på SDU også få kandidaten i Robotteknologi..

Har dog så småt opgivet tanken.
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: Danni-Hansen efter April 12, 2014, 21:14:36
Hej igen.

Her er billedet af mit projekt, jeg kalder den midlertidigt 'Earnst'

https://drive.google.com/folderview?id=0B4l4hrdSBUAfc2Q1dFYycjBzVGM&usp=drive_web
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: Julle efter April 13, 2014, 18:15:49
Det ser da godt ud
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: Danni-Hansen efter April 14, 2014, 00:22:02
Der takkes :)
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: Danni-Hansen efter April 15, 2014, 12:36:50
Har taget nogle lyse billeder af 'Earnst'

Så nu kan i se projektet lidt bedre :)
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: gerd efter April 16, 2014, 12:51:44
>Det ser da godt ud
Det synes jeg også.
Er det den H-bro driver http://elektronik-forum.dk/index.php?topic=315.0 ?
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: Danni-Hansen efter April 16, 2014, 21:42:42
Jeps, eller næsten, det er samme slags fremgang, har dog lavet lidt om på det siden, og skal dog have lavet en ny modificering, da transistorene bliver meget varme.
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: Danni-Hansen efter Maj 31, 2014, 06:47:36
Hej alle sammen.

Sidder ind imellem og arbejder på et færdigt print til Earnst, som gerne skulle være 1 helt print der er tilpasset til brugen af ham (For at gøre brugen af ledninger mindre)

Jeg har valgt nogle TC4427ACOA kredse til at styrre de små motore.
Spørgsmålet er om der findes en driver der kan gøre det bedre? :)

Også overvejer jeg at indbygge en opladnings kreds til ham, så jeg kan smide ham til en oplader.
Så ville bruge en solcelle opladnings kreds som Idé til det. Dog ved at sætte ham til en USB oplader.

http://cdn.instructables.com/F3B/1HRM/HUU1DK3H/F3B1HRMHUU1DK3H.LARGE.jpg
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: gerd efter Maj 31, 2014, 08:46:24
Hej Danni,

Citér
Jeg har valgt nogle TC4427ACOA kredse til at styrre de små motore.
Spørgsmålet er om der findes en driver der kan gøre det bedre? :)
Ja. En TC4427 er en MosFet driver og er optimeret til at opladen en gate kondensator.

Der er også mange specielle motor driver. For eksempel en
A4952 (8V..40V, 2A peak) http://www.farnell.com/datasheets/1481259.pdf
Jeg arbejder gerne med Infineons "Novalithic" kredser (8V ..18V, 44A)
http://www.mouser.com/ds/2/196/BTN7963B_DS_10-255587.pdf

Begge kræver mindst 8Volt. Hvor mange volt har du?
Her er en fra 3V til 5.5V / 0.5A-2A: http://www.farnell.com/datasheets/1599186.pdf

Eller en gammel L298:
http://www.farnell.com/datasheets/1693054.pdf

Jeg tænker også på at bygge en robot som din "Earnst"

gerd
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: Danni-Hansen efter Maj 31, 2014, 12:12:59
Hej Gerd.

Jeg vælger at køre med TC4427ACOA, det er vidst nemmest, den kan jeg finde på designspark pcb til brug.

Jeg har valgt at sætte en Arduino NANO R3 på som controller, så jeg ikke skal udvikle et arduino board fra bunden af. Derfor mangler jeg digital pins, så spørgsmålet er om jeg kan koble en 74HC595 (Shifte register) på til at kontrollere de 4x TC4427ACOA direkte? Eller om shifte registeret er for svagt til at levere Amp til driverne?

Jeg køre med 5 volt i motor driverne og min 'oplader' supporter op til 12v, og de 12v bliver sat op imod ben 30 på arduino NANO (VIN)
Spørgsmålet er så også, har jeg brug for 4x TC4427ACOA når hver af de 4 motore har flg. specs:

• Motor Model: 130 Motor
• Output Mode: Two-way shaft output
• Gear ratio: 1:120
• No-load speed (3V): 90RPM
• No-load speed (6V): 180RPM
• No load current (3V): 120mA
• No load current (6V): 160mA
• Locked-rotor current (3V): 1.5A
• Locked-rotor current (6V): 2.8A
• Size: Long 55MM W 48.3MM high-23MM
• Weight: About 45g

Eller om jeg kan nøjes med 2x TC4427ACOA, altså 1 driver pr side af robotten?

---
Robotten kan jo dreje ved at lade venstre side køre forlends, og højre side baglends, så drejer den (Er testet)

Forslag og rådgivning søges.
Også til hvilket batteri jeg kan bruge til opstillingen, jeg tænker et RC LiPo batteri på 7.4v eller 11.1v også lade den op med den designet oplader.
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: gerd efter Maj 31, 2014, 13:02:47
Har du allerede købt en TC4427ACOA ?
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: Danni-Hansen efter Maj 31, 2014, 13:25:27
Hej Gerd.

Nej ikke endnu :) Hvad tænkte du da på? :)
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: gerd efter Maj 31, 2014, 13:46:03
Citér
Nej ikke endnu

Det er god.

Citér
• No load current (6V): 160mA
• Locked-rotor current (6V): 2.8A

Ok. Det betyder, du har omkring 0.5A .. 1A når robotten bevæger sig.

0.5A og din H bro design her: http://elektronik-forum.dk/index.php?topic=315.0 er:
0.5A * 500mV (VCEsat) = 250mWatt -> omkring 100°C

0.5A og en TC4427ACOA:
(0.5A)² x 9Ohm (Output Resistance Ro) = 2250mW

DIN H bro er meget bedre!

Citér
Hvad tænkte du da på?
Jeg leder efter den perfekte løsning. Men jeg har ikke fundet det endnu.
Hvis du har ikke nogen PWM, du kan også tage din h-bro design og erstatte alle transistorer med MosFet'er.

Citér
Jeg vælger at køre med TC4427ACOA, det er vidst nemmest, den kan jeg finde på designspark pcb til brug.
Her kan jeg hjælpe dig. Vi kigge først efter den bedste løsning og laver sener en designspark footprint.

gerd
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: gerd efter Juni 03, 2014, 13:20:01
Hej Danni,

Citér
Også til hvilket batteri jeg kan bruge til opstillingen, jeg tænker et RC LiPo batteri på 7.4v eller 11.1v også lade den op med den designet oplader.

ok. Hvis du vælger 11.1V kan du tage en BTN7963 (http://www.mouser.com/ds/2/196/BTN7963B_DS_10-255587.pdf)

Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: Danni-Hansen efter Juni 03, 2014, 13:49:30
Hej Gerd.

Læste lige dine 2 seneste poster her i tråden, og tror jeg er kommet frem til at det bliver lavet af min H Bridge som jeg forstår at du syntes er bedre :)
Jeg er dog nervøs for den udledte varme i transistorne. For ja, de bliver ret varme.

Jeg er bare i tvivl om et par ting, jeg syntes det virker som om der ikke bliver leveret nok Volt/Amps til motoren med mit H Bridge design, for hjulene virker som om de skal have et skub for at fungere.. Derimod med den færdig købte H Bridge (L9110S) køre den fint der ud af.

Mvh. Danni.
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: gerd efter Juni 03, 2014, 14:15:16
Hej Danni,
Citér
Derimod med den færdig købte H Bridge (L9110S) køre den fint der ud af.
Har du et L9110S modul ?

Her er databladet: http://nvhs.files.wordpress.com/2013/02/datasheet-l9110.pdf
Som du kan se på side 1, udgangsspændingen er kun 7.6V når du du har 9V ! Det er 1.4Volt drop. Eller 1.4Volt * 750mA = 1Watt. Jeg tror ikke at det er bedre end en transistor-h-bro. Måske mere kompakt.
I de næste par dage laver jeg en h bro design til mit projekt - med en Novalithic BTN...
Jeg kan gøre det så at det er også kompatibel med en Arduino og en 74HC595. Og med en PWM indgang.

gerd
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: Danni-Hansen efter Juni 03, 2014, 14:35:48
Hej Gerd.

Ja jeg har 2 L9110(s) moduler som jeg har koblet direkte til arduino boardet, for at teste af.

Og nu når jeg kigger kan jeg faktisk godt finde L9110 chippen som SOP, mangler jeg bare at finde den til Designspark PCB, for det er den jeg har ville bruge fra starten af, den passer perfekt til projektet, har som sagt bare hverken kunne finde den til salg eller til programmet.

----
Ny retning kan jeg så se, godt vi lige får snakket om det her, ellers havde jeg nok bare skudt et print i produktion og spildt penge på det.
----
I øvrigt har jeg overvejet at købe Arduino2560 chippen som breakout board, så den 'bare' skal placeres på boardet via headers..
https://jkdevices.com/arduino-compatible/ATMEGA2560
Problemet med det breakout board er at jeg kender ikke de forskellige ben :/
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: gerd efter Juni 03, 2014, 21:07:36
eller en A4950 i stedet for en L9110S

8V til 40V, 3.5A

http://www.allegromicro.com/en/Products/Part_Numbers/4950/4950.pdf
http://www.digikey.dk/product-detail/en/A4950ELJTR-T/620-1400-1-ND/2626340
Titel: Sv: Sharp GP2Y0A21YK Prox sensor
Indlæg af: gerd efter Juni 04, 2014, 09:10:40
Citér
jeg syntes det virker som om der ikke bliver leveret nok Volt/Amps til motoren med mit H Bridge design, for hjulene virker som om de skal have et skub for at fungere..

Det er fordi en 2N2222A har en for mindre strømforstærkning.

En 2N2222A har en strømforstærkning af omkring 30..100 (hos 100mA .. 500mA Ic)

Basisstrømmen er (5V-0.7V)/1kOhm = 4.3mA.
Så Kollektorstrømmen er 4.3mA * 30..100 = 129mA .. 430mA