Show Posts
Pages: 1 ... 11 12 [13] 14 15 ... 108
181  Using Arduino / Motors, Mechanics, and Power / Re: Arduino 2560 Mega not working. on: May 17, 2014, 05:34:46 pm
Hi XiaZ, and welcome to this world.

You have correctly identified the controller and the regulator.

You told us a heatsink dropped from one of the drivers on the RAMPS board.
Where did it land after the drop ?
Did it damage the Arduino board ?
Or The RAMPS board ?

If the controller heats up very quickly while the board is not connected to anything but a power supply and the USB connector, that raises suspicion of a short circuit on your board or inside the controller.
This can be caused by an other hardware fail on the RAMPS board.
But you stated it heats up when connected to your RAMPS board.
So that points to some failure on the shield .

The already given advices still stand:
Connect a multimeter (you need one) to the power supply, switch on the meter and then power up briefly, just long enough to do the measurement.

182  Using Arduino / General Electronics / Re: Can you put a resistor either side of an electrolytic capacitor in series? on: May 17, 2014, 03:13:27 pm
Quote from: s1mbr0
So does this mean if I attach a resistor to the positive (+) terminal of an electrolytic capacitor, it will restrict the current going into the capacitor and if I attach a resistor to the negative (-) terminal it restricts the current going out when the capacitor is discharging.

No.
Charging and discharging is done on one pin.
A capacitor will not charge on the positive pin and then discharge on it's negative pin.
You have to make a connection from the positive pin towards the negative pin to have it discharge.
183  International / Nederlands / Re: Grotere touchscreen on: May 17, 2014, 09:44:51 am
Quote from: speedt4
Ik wil nogmaals laten herinneren dat ik volkomen nieuw ben op het gebied van microcontrollers, arduino, shields.

Als je hier nog geen ervaring mee hebt, dan is het wellicht een beetje ambitieus om gelijk met een grafisch touchscreen aan de slag te gaan.
Je hebt niets over programmeren vermeld, dus mogen we dan aannemen dat je wel wat bagage hebt met betrekking tot programmeren (in C) ?
Als dat zo is dan helpt dat natuurlijk wel.
Maar ik raad je dan wel aan om eens te beginnen met een paar van de eenvoudiger voorbeelden die je in de IDE kunt vinden (uiteraard is dat het standaard advies).
Een handjevol LED's en wat weerstanden, zulk spul.
Leert je niet veel over displays, maar wel over het aansluiten op je Arduino.

Als je meer dan 1 shield wil gaan gebruiken, dien je de beschrijving van die shields heel goed te lezen.
Als er een voorbeeld sketch van is, dan die ook eens bekijken.
De infromatie die je daar uit moet zien te halen, is of er wellicht Arduino pins zijn die beide shields claimen.
Dit strookt ook met Jantje's commentaar, de seriële pins 0 en 1 ook liever vrijhouden tot het echt niet anders kan, en dan de nadelen voor lief nemen.

Bedoel je met beide shields, dat display shield, of had je nog iets anders in gedachten ?
184  Using Arduino / Displays / Re: LCD Bona 2402-01, hepl please... on: May 17, 2014, 09:32:40 am
That code might work with an other 1602 display, i don't know.
That is why i didn't say it wouldn't, but told you it is much more complicated than using the LiquidCrystal library.
These blocks you see are an indication that there is no correct initialisation.
That can happen if you power the unit, but aren't able to communicate with it.

The link i found didn't show a picture of the connector (i decided not to download an extra language pack, so might have missed something).
But the 4002 (if i remember correctly) brother of this display has a similar double row of solderpads.
They are numbered like this, facing the viewing side of the display, the solderpads to the left of that display.
Left row from bottom to top is even, right row from bottom to top is odd.

Code:
16   15
14   13
12   11
10    9
 8    7
 6    5
 4    3
 2    1

Normally on connections like these, pin 1 is indicated (the rest can be derived from that).
It will have some kind of marking next to it, or it may be the only square solderpad (the other ones are round).

You probably want to tie pins 5 and 6 to GND, at least for a simple test sketch.
And you might want to use a resistor to reduce current on 15 or 16 (doesn't matter which of these) , if this module doesn't do current limiting itself.

Ofcourse you need to tell the sketch what Arduino pin connects to what display pin too.
Did you do that ?
185  Using Arduino / Displays / Re: LCD Bono 2402-01, hepl please... on: May 16, 2014, 04:33:19 pm
Hi toly, and welcome.

Let me start by telling that if you need information, you need to be exact in your questions.
Ask the right questions, and check for errors.
How else will anybody be able to help you if your information is incorrect.

Your display isn't a bono 2402-01.
It is a bona fide 2402-01  (click !).
It seems to be a HD44780 compatible display.
So your attempts to control it using uint8_t aren't helping you either, makes it needlessly complicated (i don't know if it can be controlled that way at all).

The row of blocks you see is an indication that the display isn't initialised correctly.
You should be able to use file - examples - LiquidCrystal - HelloWorld in IDE.
That will take care of the initialisation.
But you need to use
Code:
  lcd.begin(24, 2);
so the library knows you have 24 instead of 16 characters per line.
And you need to tell the library how you wired the display, the sketch tells you all about it.
186  Using Arduino / Displays / Re: Which LCD screen pin is which? on: May 16, 2014, 03:42:29 pm
You are asking for information that is not hard to find, though there seems to not really be a standard or there are lots of manufacturers that like to have their own "standard".

I've got a display in front of me right now, and it says next to each pin:

Code:
1: VSS
 2: VDD
 3: VO
 4: RS
 5: R/W
 6: E
 7: D0
 8: D1
 9: D2
10: D3
11: D4
12: D5
13: D6
14: D7
15: A
16: K

Ofcourse you need the power supply to your display too:
Pins 1 and 2.
And if it has a backlight (presence of these pins suggests that), you need pins 15 and 16 too.

There's no guarantee that this is correct for you, but this seems to be closest to standard as it gets.

Next time you want information like this, at least tell about the brand and type, and/or where you got it.
187  International / Nederlands / Re: hulp gevraagd voor arduino regelunit voor distilleer apparaat on: May 15, 2014, 05:35:30 pm
Okee, dus een verhouding van 4 op 1.
Wat je nog wel kunt doen om het heel goed te doen, is de test of je inderdaad 4096 stappen per omwenteling hebt, of eerder 4076 (of waar je dan ook op uit zal komen).
Je kunt dat vaststellen door tijdelijk een groter wiel (moet je wel hebben natuurlijk) op je motor te monteren, en die dan 1 rondje te laten draaien.
Op de wiel zet je dan een dun streepje dat je bij de start tegenover een andere vaste markering houd.
Als je na 4096 stappen een heel rondje hebt gedraaid, dan moeten de streepjes dus weer recht tegenover elkaar staan.
Je kunt dan kijken of je meer of minder stapjes moet zetten om wel goed uit te komen, en door te proberen kun je ook te weten komen hoeveel dan.
Wanneer je hier niet precies uitkomt, kun je ook 10 of meer rondjes laten draaien, je ziet dan duidelijker hoe groot de afwijking is (als die er echt is), want die is dan dus 10 of meer keer zo groot.

Om je naaldkraan te bewegen en wanneer je inderdaad 4096 stappen per omwenteling hebt, moet je dus 16384 stappen zetten.
Dat zijn er veel.
Zo veel dat je met je 10 slagen potmeter van 1K (ik zou en hogere waarde, zoals 10K  gekozen hebben), die je dus maar 3.5 slagen zal laten maken, niet erg nauwkeurig zal kunnen meten wat de verdraaiing is.
Daarmee kun je natuurlijk wel nog steeds zien dat waar je naaldkraan ergens staat, maar de stappen die je zet staan dus in geen werkbare verhouding tot wat je kunt meten met je potmeter.

Even proberen uit te rekenen wat je met de potmeter kunt meten.
De potmeter geeft een signaal af dat moet verlopen tussen 0 en 5 volt, en die 5 volt is verdeeld is 1024 stappen (van 0 tot en met 1023).
Maar je gaat geen 10 slagen maken, maar 3,5.
Dat betekent dat je 6,5 weggooit.
Dus van de 1024 stappen, gooi je er 666 (dat is afgerond naar boven) weg, en houd je er 358 over.
Als je dat dan weer deelt doof je 30 blokken, dan krijg je ongeveer 12 stappen per blok.
Dat is op zich dus prima meetbaar, maar dan moet je wel zorgen dat er geen al te grote afwijkingen in de 5 volt voorkomen.
Want daar hangt je meetwaarde ook van af.

Dat is een stukje theorie, want ik ben bang dat dit helaas niet zal lukken.
En dat komt omdat de 1 K wel wat weinig is.
Door die lage waarde, zou de weerstand wel eens warm kunnen worden (dus toch roken....), en er te veel stroom door de schakeling kunnen worden opgenomen.
Want de weerstand zet je namelijk tussen 5 volt en GND, en dan laat je de loper daarlangs bewegen.
Het dingetje wat je als spoel herkent, is de Amerikaanse tekenwijze van een weerstand dat er ongeveer zo uitziet:


Na het typen, zie ik dat je een nieuw bericht hebt getypt, waarin je niet het aantal stappen wil bijhouden, maar de warde van je potmeter.
Hierboven staat uitgelegd waarom dat niet zo zal werken als je in gedachten had, en ook hoe dan wel.
De map functie kun je niet gebruiken over de totale slag van de potmeter, want je maakt geen totale slag, maar slechts ongeveer een derde daarvan.
Dus op de wijze die je nu hebt voorgesteld lukt dat niet.
stepper1.moveTo kun je ook zo niet gebruiken want die functie stelt nog steeds het aantal stappen in.
Je kunt dat wel gebruiken maar niet door de gewenste potmeter waarde op te geven aan je stepper library.

Wat je kunt doen is een aantal stappen bedenken die je minimaal wil maken.
Dan controleer je of de potmeter op de juiste waarde staat.
Staat ie te hoog dan laat je de motor dat aantal stappen naar beneden zetten, te laag dan dat aantal stappen omhoog.
Daarna ga je weer controleren of je bent aangekomen waar je wilde zijn met de potmeter.
Deze aanpak zal alleen niet heel goed werken als je exacte waardes gaat gebruiken.
Want als je met het door jou gekozen aantal stappen niet precies uitkomt op de door jou gekozen waarde, dan zal je motor net zo lang heen en weer proberen te draaien tot die gewenste waarde wel behaald word (en dat is dan nooit...).
Daarom moet je dan controleren of je potmeter tussen twee gewenste waardes is uitgekomen.
Als het je nu ineens begint te duizelen, moet je dit laatste stukje even een paar keer lezen, misschien dat het dan duidelijker word.
Zo niet dan nog maar eens vragen.
188  International / Nederlands / Re: hulp gevraagd voor arduino regelunit voor distilleer apparaat on: May 14, 2014, 05:11:55 pm
Quote from: homedistiller
opstarten van het programma naaldkraan eerst naar helemaal dicht.
Hier heb ik dus ook de feedback voor nodig.
Dan wil ik het totale bereik van de naaldkraan.
dus 3 en een halve slag verdelen in 30 stappen.
0 word dan naaldkraan dicht
15 word dan half open 1.75 slag,
en 30 word naaldkraan compleet open.
Hierbij komen dan de waardes van de potmeter dadelijk bij voor de controle.
het programma hoeft  dan alleen  dadelijk naar de voor ingestelde stappen te gaan.
Dit wil ik dan ook weer zo eenvoudig mogelijk doen.

Pas wel op met de termen die je gebruikt.
Je hebt het over 30 stappen, en je gaat een stappenmotor gebruiken.
Dat kan je in verwarring brengen op termijn, en daarom raad ik je aan om die 30 stappen anders te noemen.
Zoals 30 blokken ofzo.

Je stappenmotor zet dus per keer dat je 'm aanstuurt 1 enkel stapje.
In die motor zit een dikke vertraging, waardoor dat stapje maar een heel kleine verdraaiing zal opleveren.
Als je hier een aantal Engelstalige threads hebt gevonden, kun je daar uit opmaken dat het aantal stapper per omwenteling net geen 4096 stappen zijn.
Dan heb jij nog de overbrenging aan de motor, een extra vertraging dus omdat de motor meer omwentelingen zal moeten maken om de kraan te laten bewegen.
Ik hoop dat je de verhouding tussen de twee poelies weet.
In dat geval kun je namelijk precies uitrekenen hoe groot elk blok (noem ik m nu dus maar even) moet zijn, uit hoeveel stappen van de motor die zal moeten bestaan.
Het zijn er best wel veel in ieder geval, ik gok dat 1 blok ergens in de buurt van 1500 stappen zal uitkomen (poelies ongeveer 1:3).
Als je de verhouding niet precies weet, kun je dankzij de potmeter in ieder geval meten hoe ver je de kraan gedraaid hebt als je in de buurt van die 4096 stappen bent (het is overigens niet toevallig dat dat een getal is dat door 8 (en 16) deelbaar is, maar dat terzijde).

Mijn stappenmotortje heb ik alleen een paar weken geleden even getest.
Omdat ie wel wat stroom gebruikt en de voeding die ik had het daardoor merkbaar benauwd kreeg ben ik er niet verder mee gegaan.
Daarvoor heb ik een testsketch gebruikt die ik hier van het forum heb geplukt.
Die komt vermoedelijk uit deze thread, maar ik weet niet meer van welke pagina.
Deze stappenmotoren (er schijnen 12 en 5 volt motoren te zijn) worden veel verkocht, en er word ook redelijk veel over gediscussieerd hier op het forum.
189  International / Nederlands / Re: Een simpel spelletje. on: May 13, 2014, 03:50:05 pm
Hoi Staalvaes, welkom !

Leuk he, dat programmeren en het spelen met LEDjes en zo.
Het probleem wat je aankaart zit niet zozeer in het programmeren.
Eerder in je hoofd, hoe jij dit wil aanpakken.
Maar geen paniek, dat is ook op te lossen.
Je hebt het zo te lezen voor mekaar gekregen om een LED te laten knipperen met de blink without delay() sketch.
Het is juist dat je voor dit geval geen delay() kunt gebruiken, want dat gooit het hele verhaal op z'n kop.
Blink without delay() gaat er niet over om iets te laten knipperen, maar de manier waarop dat gedaan word.
Dus is het wel erg belangrijk dat je goed begrijpt wat er achter die sketch zit.

Wat ik ook meen te lezen, is dat je nu van 1 pin laten knipperen, 9 pinnen wil laten knipperen, en tegelijk ook 1 of meer knopjes in de gaten wil houden (hoeveel knopjes had je precies in gedachten ?).
Waarom die grote sprong ineens ?
Concentreer je eerst eens er op om 2 LEDjes om de beurt te laten knipperen.
Dan 3.
Dan 3 met elk een ander ritme (nu word het interessant smiley-wink ).
Dan nog meer LEDjes.
En als laatst het knopje ook nog zien.

Het toverwoord, of eigenlijk de truc hier is:
Heel goed bijhouden wat je doet en gedaan hebt.

Je moet ook begrijpen wat het woord loop() eigenlijk betekent en wat dat ding eigenlijk doet.

Tot slot maar zeker niet als laatste: als je zulke vragen hebt, is het het best als je heel uitgebreid beschrijft wat je probleem precies is.
Door daar over na te denken, kun je mogelijk al iets daarvan oplossen, maar je komt er zeer waarschijnlijk ook achter dat het eigenlijk over een verzameling van problemen gaat.
En die moet je niet proberen in 1 keer op te lossen, maar stuk voor stuk.
Als je niet verder komt met een sketch die je hebt gemaakt, dan is het verstandig om die sketch bij je vraag te plaatsen.
Het is voor mensen die je willen antwoorden zo veel eenvoudiger om te zien waar het mis zou kunnen gaan.
190  International / Nederlands / Re: hulp gevraagd voor arduino regelunit voor distilleer apparaat on: May 13, 2014, 03:25:37 pm
Okee, dat maakt het inderdaad duidelijk, je telt verkeerd.
Laat die klok maar eens lopen, dan zie je dat je elke minuut een fout maakt.
Dit is het stukje met de fout:
Code:
   Sec = Sec-1;
    if((Sec)== 00) Rmin=Rmin-1;
    if((Sec)== -1) Sec=59;
Je telt hier dus af.
Als je op nul seconden bent, dan zet je op dat moment de minuut eentje lager.
Dan tel je dus in deze volgorde:
Quote from: ff telle
02:02
02:01
01:00
01:59
01:58
..
..
..
01:01
00:00
00:59
De secondes doe je dan weer wel goed.
Wat je eigenlijk wil doen, is dat wanneer je onder nul komt, de minuut verlagen.
Dus dit:
Code:
   Sec = Sec-1;
    if((Sec)== -1) {
    Sec=59;
    Rmin=Rmin-1;
    }
Dit is dus maar een kleine verandering, het antwoord zat eigenlijk al een beetje verstopt in de code die je al had.
Lijkt me inderdaad best een simpele oplossing, maar soms kijk je over dit soort dingen heen en heb je iemand anders' ogen nodig om dat te zien.
191  International / Nederlands / Re: hulp gevraagd voor arduino regelunit voor distilleer apparaat on: May 12, 2014, 05:38:12 pm
Vast wel.
Maar om je dat antwoord aan te reiken, heb ik wel je huidige code nodig.

Vermoedelijk doe je iets op een verkeerd moment.
Want het kan niet mogelijk zijn dat je op nul minuten en nul seconden terecht komt na 1 minuten en nul seconden.
Als dat wel gebeurt, dan moet je tijdens het tellen eerst de secondes tellen en daarna pas de minuten (ik weet dus niet of je dat nu al doet).
Je moet ook niet tussen het tellen van de secondes en de minuten door, iets anders doen.
Dus als je eerst de minuten op nul zet, dan gaat kijken of je het relais al moet schakelen, en dan de secondes op 59 zet, dan gaat het dus ook fout.
Als dat allemaal niet helpt, kun je ook nog het idee van de checksum doen.
Dan tel je de minuten en de secondes bij elkaar op.
Als het resultaat nul is, dan laat je je relais schakelen.
Je moet er dan alleen wel rekening mee houden dat je bij de laatste teller die ik heb gezien, de minuten onder nul uit kunnen komen, en de gevolgen die dat kan hebben.

Maar nogmaals, hang je code er weer aan dan kan ik kijken of ik zie wat er mis gaat.
192  International / Nederlands / Re: hulp gevraagd voor arduino regelunit voor distilleer apparaat on: May 11, 2014, 05:08:25 pm
Eerst de waarde die je kwijt raakt tijdens het instellen.
Dit is erg vreemd.
Want je haalt eerst de waarde op die je gaat bewerken:
Code:
    nieuwWaarde=TempV;
Als je klaar bent met bewerken, en dus op enter drukt, dan sla je die bewerkte waarde weer op in TempV:
Code:
TempV = nieuwWaarde;
Zo snel kan ik even niets zien waardoor dat fout zou gaan.
Daarom moet je maar eens kijken waar TempV nog meer voorkomt.
Word die niet toevallig ergens anders gereset ?
(Behalve in of voor Setup() )
Kijk ook even of je TempV wel kunt gebruiken met waardes zoals 70.5, want een int kun je niet instellen met halve waardes.

Dan het resetten.
Als je reset, worden alle waarden gewist, daar is zo'n reset ook voor.
Dat gebeurt ook als de spanning er af is geweest.
Als je dat wil voorkomen, dan moet je de waardes waar je mee werkt opslaan op een plaats die niet beïnvloed word door zo'n reset.
Daarmee bedoel ik dan een extra onderdeel, te weten een EEPROM (meestal via I2C, maar ze zijn er ook in SPI varianten).
Je hebt maar een vrij klein geheugen nodig hiervoor want heel veel gegevens hoef je nou ook weer niet op te slaan.
Tijdens Setup() lees je dan die waardes uit de EEPROM, en zo ben je dan een reset of een spanningsonderbreking te slim af.
Het aantal malen dat zo'n geheugen beschreven kan worden is beperkt (heb vaker horen zeggen dat dat zo'n 1000 maal kan, maar weet dat niet uit ervaring).
Daarom moet je natuurlijk alleen schrijven als je iets gaat opslaan met de enter toets, niet tijdens het veranderen want anders ben je er na 3 keer instellen alweer doorheen.
Ik stel voor dat je nu eerst de rest aan het werken krijgt, en daarna pas gaat kijken naar een dergelijke oplossing.
193  Using Arduino / General Electronics / Re: Change your selections with one button on: May 11, 2014, 05:10:45 am
This function could be done by a counter IC, like the 4017.
If you want to do this without programming, you can use a chip like that.
There's plenty to be found on that IC.
194  Using Arduino / General Electronics / Re: Where to place a resistor. on: May 11, 2014, 05:03:27 am
... to protect the LED

It will protect the LED, that is true.
But the main reason for using the resistor should be to protect your Arduino.
An Arduino pin is limited in the current it can output (absolute max of 40 mA.)
You should stay away as far as possible if you can, and that's the most important reason to use a current limiting resistor.
195  Using Arduino / General Electronics / Re: Questions on projects 02 on: May 11, 2014, 04:56:21 am
Hi Wjdan94, and welcome.

In this case it's not the LED (which can be easily replaced) that you need to protect.
It is the output of your Arduino pin.
An Arduino pin can be loaded with a maximum current of 40 mA.
You should stay away from that 40 mA or more to protect your Arduino, and the easiest way to do that is by a current limiting resistor.
A standard LED does not have any way of current limiting, so it will fail eventually.
But long before that will happen, the Arduino's pin will be dead.

By the way, an Arduino can not output the sum of it's maximum current per pin.
So if you have all pins connected to a LED, and want all of those LEDs to be lit simultaneous then you can't make a design that puts all LEDs on 40 mA.

Keep following those projects from the book.
And keep asking questions like this one if you have them.
You'll find out there's some better or easier ways of doing things.
But the book is composed this way so you will learn some basics too.
That way you will be able to do your own projects in the future.
Pages: 1 ... 11 12 [13] 14 15 ... 108