Synthese Project AM e

24-12-2013
Klik hier om een link te hebben waarmee u dit artikel later terug kunt lezen.Interpolatietabel
Als bijlage vind je onze interpolatietabel

Bijlagen:
Tabel interpolatie.pdf (24 KB)   

24-12-2013 om 10:46 geschreven door Bauwens Wouter  

0 1 2 3 4 5 - Gemiddelde waardering: 5/5 - (1 Stemmen)
19-12-2013
Klik hier om een link te hebben waarmee u dit artikel later terug kunt lezen.instructable
in de bijlage vind je de instuctable van ons project.



Bijlagen:
Instuctable.pdf (874.6 KB)   

19-12-2013 om 00:00 geschreven door syntheseProjectAMe  

0 1 2 3 4 5 - Gemiddelde waardering: 5/5 - (1 Stemmen)
17-12-2013
Klik hier om een link te hebben waarmee u dit artikel later terug kunt lezen.Verbeterde versie van onze line follower
Onze line follower is getransformeerd!

Eerst zag hij er zo uit:

Nu ziet hij er zo uit:

Wat is er verbeterd:

De plaats tussen de 2 wielen is verkleint naar 9cm, waardoor we een kortere draaicirkel verkrijgen. Alsook staan de wielen wat scheef zodat de draaicirkel nog kleiner is 7cm. 

De sensor array is breder geworden waardoor we beter de lijn kunnen volgen.

En als laatste hebben we ook andere motoren genomen, nu zijn het micro metalgear motoren van 100:1 HP.

Bij 6V:

320 RPM & 80 mA free-run, 2.2 kg-cm & 1.6 A stall.

Het betere aan deze motoren is dat het uitlopen korter is als ze niet meer worden bekrachtigd en ook is de maximumsnelheid is minder, waardoor we de pwm beter kunnen regelen, aangezien de pwm bij ons al zeer laag stond en hierdoor de motoren amper vooruit gingen en zo de tijd nog slechter was dan ervoor zonder de PID regeling. 

Zoals het vroeger was:
En nu zoals het is:
https://db.tt/5x46WdhY

In totaal met onze verbeteringen hebben we een verbetering van 10 seconden bereikt.
van 21 seconden in het begin naar 11,4 seconden nu.

Hopelijk krijgen we dezer dagen onze linefollower nog sneller, en ons doel is naar de 8 seconden te gaan!

Als we nog betere resultaten willen boeken zouden we een H-brug moeten implementeren. Waardoor we snel kunnen afremmen voordat we een bocht nemen. Misschien nog een kleine aanpassing dat we eventueel kunnen doen na de examens, om mijn oplossing toch eens uit te testen.

Bijlagen:
https://db.tt/5x46WdhY   

17-12-2013 om 00:00 geschreven door Temmerman Nick  

0 1 2 3 4 5 - Gemiddelde waardering: 5/5 - (1 Stemmen)
10-12-2013
Klik hier om een link te hebben waarmee u dit artikel later terug kunt lezen.Het opslaan van de parameters.
Voor het opslaan van de Kp, Ti en Td kunnen we gebruik maken van de volgende libary. Deze persoon heeft ervoor gezorgd dat we niet enkel bytes maar ook floats en doubles etc. kunnen opslaan in het EEPROM geheugen. 


We hebben het apart een getest, en dit gaf een positief resultaat. Deze kunnen we dan volledig implementeren in het hoofdproramma van de Line-follower. 

10-12-2013 om 16:07 geschreven door Temmerman Nick  

0 1 2 3 4 5 - Gemiddelde waardering: 5/5 - (1 Stemmen)
03-12-2013
Klik hier om een link te hebben waarmee u dit artikel later terug kunt lezen.Interpolatie van de sensoren

Om de afwijking ten opzichte van de zwarte lijn te meten, maken we gebruik van een parabolische interpolatie. Dit doen we softwarematig en gaat als volgt:

De sensoren worden uitgelezen en de waarden worden in een array geplaatst. Dan zoeken we de hoogste waarde van onze array, alsook de index van de sensor met de hoogste waarde. Als we weten welke sensor de hoogste waarde heeft, en dus het meest zwart is, kunnen we beginnen aan de interpolatie.

Een parabool heeft volgende functie: y = ax² + bx + c.

De sensor met de hoogste waarde heeft x-waarde 0. De sensor links daarvan heeft als x-waarde -1 en de sensor rechts daarvan heeft als x-waarde +1. De y-waarden zijn de uitgelezen waarden van de sensoren.

Dit geeft ons 3 vergelijkingen:

Y1 = ax² - bx + c     (linkse sensor)

Y2 = c                     (middenste sensor)

Y3 = ax² + bx + c   (rechtse sensor)

Nu kunnen we op zoek gaan naar a, b en c.

Uit de eerste vergelijking halen we: b = Y1 – a – Y2.

Vullen we dat in de derde vergelijking in, krijgen we: a = (Y3 - 2*Y2 + Y1) / 2. 

Nu we alle waarden van de vergelijking kennen, kunnen we de top van de parabool berekenen. Dit doen we door de afgeleide van de functie gelijk te stellen aan 0.

Afgeleide: y' = 2ax + b.

Hieruit halen we de x-waarde als y' = 0 => x = -b / (2*a).

Dit is onze top zonder rekening te houden met de index van de sensor. Daarom moeten we 2.5 bijtellen bij onze top en de maximale sensorindex aftrekken van de top. (Omdat we 6 sensoren hebben en dus een index van 0 tot 5, gemiddeld 2.5) Zo zal onze top 0 zijn als de sensoren met index 2 en 3 gelijk zijn.

03-12-2013 om 00:00 geschreven door Kestens Joren  

0 1 2 3 4 5 - Gemiddelde waardering: 5/5 - (1 Stemmen)
29-11-2013
Klik hier om een link te hebben waarmee u dit artikel later terug kunt lezen.Eerste filmpjes
Dit zijn de eerste filmpjes van onze Linefollower met enkel P-regeling.


29-11-2013 om 11:10 geschreven door Temmerman Nick  

0 1 2 3 4 5 - Gemiddelde waardering: 5/5 - (1 Stemmen)
20-11-2013
Klik hier om een link te hebben waarmee u dit artikel later terug kunt lezen.Maxilmale cyclus tijd

Dit wil zeggen dat als we bij het begin staan van een bocht we aan elke kant 18.75mm ruimte hebben om een bocht op te merken.
Onze sensor arrey is 37.5mm breed (6 sensoren die elk 7.5mm van elkaar staan).
De bochten zelf hebben een staal van 100mm en onze maximale snelheid is 522mm/s

Met elementaire goniometrie weten we dat als onze line follower de bocht niet dedecteert en dus rechtdoor rijd hij na 58,296mm uit de bocht vliegt.

100-18,75 = 81.25

cos^-1(81.25/100) = 35,659°

sin(35,659°) = 58,296mm

Dus voor dat dit gebeurt moeten we minstens al 1 meting gedaan hebben. We hebben 112ms de tijd.

58,296/522 = 0.112s

In een ouder bericht op deze blog hebben we al de cyclus tijd geschat op 1600µs. Dus we zullen ongeveer 70 metingen kunnen doen voor we uit de bocht vliegen.

20-11-2013 om 10:58 geschreven door syntheseProjectAMe  

0 1 2 3 4 5 - Gemiddelde waardering: 5/5 - (1 Stemmen)
19-11-2013
Klik hier om een link te hebben waarmee u dit artikel later terug kunt lezen.PCB versie 2.0
Klik op de afbeelding om de link te volgen De PCB van de microcontroller is wat aangepast, aangezien er geen LED was aangesloten op pin 13 en we hebben de print ook wat gebruiksvriendelijker gemaakt door de pinnen naar buiten te halen die nodig zijn voor de bootloader met arduino te kunnen branden op de atmega32u4. Alsook zijn er diodes in de ketens geschakeld, zodat bij verkeerde handelingen er geen schade zal ontstaan aan de controller.

Schema en board vindt u in de bijlage:

Bijlagen:
PCBs_groep_8_controllerbord_sensorbord.rar (1.3 MB)   

19-11-2013 om 19:50 geschreven door Temmerman Nick  

0 1 2 3 4 5 - Gemiddelde waardering: 5/5 - (1 Stemmen)
Klik hier om een link te hebben waarmee u dit artikel later terug kunt lezen.Foto's
Filmpje eerste test van de motoren:

Foto's:















19-11-2013 om 19:18 geschreven door Temmerman Nick  

0 1 2 3 4 5 - Gemiddelde waardering: 5/5 - (1 Stemmen)
Klik hier om een link te hebben waarmee u dit artikel later terug kunt lezen.Bootloader veranderen

De atmega32u4 heeft standaard al een bootloader. Dus als we onze printplaat verbinden met de PC, zal de PC hem onmiddelijk herkennen. Omdat we met de standaard bootloader niet kunnen programmeren met Arduino, moeten we hem veranderen.

Daarvoor hebben we een Arduino Duemilanove nodig. Eerst moet je het programma ArduinoISP uploaden op de Duemilanove. (Dat programma zit standaard bij Arduino)

Dan moet je volgende pinnen verbinden:

- Pin 10 Duemilanove met de reset van de Atmega.

- Pin 11 Duemilanove met pin 10 (MOSI) van de Atmega.

- Pin 12 Duemilanove met pin 11 (MISO) van de Atmega.

- Pin 13 Duemilanove met pin 9 (SCK of SCLK) van de Atmega.

Om na te gaan of er geen errors zijn, kan je volgende LED's nog aansluiten: 

- Een LED met voorschakelweerstand aan pin 7 Duemilanove om te zien of er communicatie is met de Atmega.

- Een LED aan pin 8 Duemilanove die brandt als er een error is.

- Een LED aan pin 9 Duemilanove die pinkt als het programma runt.

Nu moet je alleen nog de 5v en Ground doorverbinden van de Duemilanove naar de Atmega zodat de Atmega ook gevoed wordt.

Als alles verbonden is, maak je USB-connectie met de Duemilanove en zet je de volgende opties in Arduino:

Extra => Board => Arduino Leonardo

Extra => Programmer => Arduino as ISP

Daarna druk je op 'Burn Bootloader' en na een minuutje zal de bootloader van de Atmega overschreven zijn.

Maak alle connecties los en maak verbindin tussen de Atmega en de PC. Normaal gezien zal je PC de Atmega nu moeten zien als een Arduino Leonardo.


19-11-2013 om 11:45 geschreven door Kestens Joren  

0 1 2 3 4 5 - Gemiddelde waardering: 5/5 - (2 Stemmen)


Inhoud blog
  • Interpolatietabel
  • instructable
  • Verbeterde versie van onze line follower
  • Het opslaan van de parameters.
  • Interpolatie van de sensoren
    Zoeken in blog

    Beoordeel dit blog
      Zeer goed
      Goed
      Voldoende
      Nog wat bijwerken
      Nog veel werk aan
     
    Archief per week
  • 23/12-29/12 2013
  • 16/12-22/12 2013
  • 09/12-15/12 2013
  • 02/12-08/12 2013
  • 25/11-01/12 2013
  • 18/11-24/11 2013
  • 11/11-17/11 2013
  • 28/10-03/11 2013
  • 21/10-27/10 2013
  • 14/10-20/10 2013
  • 07/10-13/10 2013

    E-mail mij

    Druk op onderstaande knop om mij te e-mailen.


    Gastenboek

    Druk op onderstaande knop om een berichtje achter te laten in mijn gastenboek


    Blog als favoriet !


    Blog tegen de wet? Klik hier.
    Gratis blog op https://www.bloggen.be - Meer blogs