Errors & Tips

Uit TrompBot
Naar navigatie springen Naar zoeken springen

Beginnen | Hardware | Software | Voorbeeldprogramma | Inkscape & lasersnijden | Errors & Tips | Kekbot | [TrompBot Website] | Trompbots | Percussie & ritme | Fioretti programma


Tips voor het gebruik van de software en hardware.

Mocht je nog tips hebben of errors hebben opgelost stuur ze dan op naar info[apenstaartje]trompbot.nl, dan zetten we ze hierbij!

Software

Tools->Board

Check even of je de juiste microcontroller hebt geselecteerd in Energia.

type: MSP430G2553
Als je dat niet hebt gedaan, krijg je eerder een [ROM] of [RAM] overflow error.


ROM overflow error

Bij deze fout staat er ergens in de foutmeldingen region 'rom' overflowed.
Deze fout houdt in dat je ROM geheugen van de microcontroller te klein is voor jouw programma. Check eerst of je wel de juiste microcontroller hebt gekozen (zie boven). Verder kan je jouw programma kleiner maken door bijvoorbeeld functies te gebruiken.

ROM overflow


RAM overflow error

Bij deze fout staat er ergens in de foutmeldingen region 'ram' overflowed.
Deze fout houdt in dat je RAM geheugen van de microcontroller te klein is voor jouw programma. Check eerst of je wel de juiste microcontroller hebt gekozen (zie boven). Er is niet genoeg ruimte voor al je variabelen. Kijk of je een aantal variabelen in jouw programma kan weghalen, of dat je ze kleiner kan maken.

RAM overflow


Error = 57

Error 57

Bij het uploaden van je programma kan de volgende fout voorkomen:

"could not find MSP.....on specified COM port (error= 57)"

Dit kan te maken hebben met je servos. Als deze meteen beginnen te draaien op het moment dat je de Launchpad op je computer aansluit veroorzaken ze een EMC probleem. Er zijn twee oplossingen:

  1. koppel je servos los voordat je je programma upload in de Launchpad (bedankt voor de tip Sam!), als het programma erin zit kun je de servos weer aansluiten.
  2. laat je programma pas starten als er op de drukknop gedrukt wordt, dat kan met de volgende

Code in de setup() functie. Als je de linker schakelaar S2 indrukt, dan gaat het programma verder met deloop() functie.

 // wacht op schakelaar bij bet opstarten
 
 void setup()
 {
   pinMode(5, INPUT_PULLUP); // drukknop, als input
   while( digitalRead(5) == HIGH ) // als de schakelaar HOOG is (niet ingedrukt)
     delay(1) ; // wacht. Doe niets
  // de knop is ingedrukt. We gaan verder
}

Error Compiling

Een error bij het compilen betekent vaak dat je een tekentje vergeten bent of iets niet goed in het programma hebt gezet. Er zit ook nog een foutje in Energia. Als er ergens in de foldernaam een spatie zit dan kun je in de error (rode tekst) terug vinden:

"cannot open linker script file memory.x: No such file or directory collect2: ld returned 1 exit status"

Ervoor staat dan de naam van het pad, afgebroken op de plek van de spatie bv:

"c:/users/marieke/energia-" 

Kijk dan of er ergens spaties in je folder naam zitten en haal die eruit.

Tips

Als je programma een fout geeft bij de controle, lees dan de regels en lees dan je programma nog eens goed door of je je aan alle regels hebt gehouden.

Als je programma werkt, maak dan een kopie van je programma onder een andere naam, voordat je dingen gaat toevoegen of aanpassen. Als het daarna niet meer werkt, dan kan je nog terug naar het oude programma en kijken wat Je verandert hebt. De fout zit dan in je veranderingen!

Programmeer regels voor Energia / C++

Er zijn een aantal regels waar je rekeing mee moet houden als je gaat programmeren.

Klik op de volgende link voor meer info: regels

Hardware

Te veel stroom door de servos

Als de servos teveel kracht moeten leveren (zwaar lopen) of vastlopen, dan gebruiken ze veel stroom. Het kan dan gebeuren dat de microcontroller niet goeg stroom meer krijgt en stopt. Hij start dan opnieuw op als er weer spanning is en je programma begint weer opnieuw. Dat kan lastig zoeken zijn, want je hebt soms niet direct door dat dit gebeurt

Er zijn twee oplossingen voor dit probleem:

  • Zorg dat je motor niet teveel kracht moet leveren (zorg dat je mechanica soepel loopt en dat de motor niet kan vastlopen).

Verminder evtentueel de snelheid waarmee de motor beweegt (door in je programma tussenstappen met posities halverwegen te programmeren)

  • Zorg voor meer stroom naar de motor. Dat is lastiger. Je moet dan de aansluitingen van de servo veranderen. Je hebt een voeding van 4 tot maximaal

6 Volt nodig, die minimaal 1 Ampere kan leveren.


Let Op: Gebruik nooit meer dan 6 Volt, dat kan de servo, de microcontroller of de computer kapot maken

Als voeding kan je een universele laboratorium voeding, USB voeding of batterij gebruiken (4x penlight of 1x platte 4.5 volt batterij). Pas op met de aansluitingen: nooit de (+) en (-) aansluiting omdraaien, en nooit kortsluiting maken!

1) Onderbreek de rode draad (+) naar de servo. Je kan het pinnetje voorzichtig uit de connector halen met een klein schroevendraaiertje of mesje.
2) Sluit de plus van de voeding aan op de servo
3) Sluit de min van de voeding aan op de GND aansluiting van de Launchpad.


Inspiratie Links

Instructables Robotic-Drum Beschrijving van zelfmaak drumrobots met Arduino!


Voor inspiratie op percussie muziek:


Voor inspiratie op robots (en muziek):

Andere links naar robots:

Ontwerpen en maken


Technische informatie Links

  • Arduino.cc De Arduino software en hardware. Hier vind je de uitleg van de functies in de software
  • Arduino.nl Nederlandse arduino site, met uitleg over diverse software en hardware functies


Gebruikte software

  • Installeren De laatste Energia software en hardware die we gebruiken. Hier kan je de programmeer software downloaden.
  • Inkscape.org Tekenprogramma voor lijntekeningen (vector tekeningen)
Inkscape -> klik op "download" en kies: Windows — installer