Go Down

Topic: circuit accelerometer - vibratie (Read 5546 times) previous topic - next topic

castel

Apr 23, 2015, 07:40 pm Last Edit: Jul 20, 2015, 10:30 am by castel

Alvast dank bij voorbaat!

Mvg,
Castel

nicoverduin

Als jij een accellero meter op de Arduino wil monteren, moet je waarschijnlijk een experimenteer shield kopen. Ik heb nog nooit een shield gezien (niet dat dat wat zegt) die een accelerometer heeft.
Motoren altijd via een diode en transistor gebruiken. Capje kan hoeft niet perse. En een weerstand in serie vanaf de PMW naar de basis. Iets van 470 ohm oid. Transistor afhankelijk van stroom motor. Is het er een die max iets van 50mA trekt, gewoon een BC547 of 2n3904 gebruiken.
PWM kun je gerust gebruiken voor de motor.

Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

castel

Beste Nico,

hartelijk dank voor de snelle reactie.
Een breakout-board zoals dit denk ik toch dat makkelijk bruikbaar moet zijn: http://www.bitsandparts.eu/Sensor_-_Accelerometer-versnellingsmeter_3-voudig_digitaal_-_ADXL345_(Sensors)-p100192.html

Het trilmotortje is het volgende: http://www.bitsandparts.eu/Trilling-vibratie_motortje_10mm_rond_3-4,5V__(Motoren_and_Drivers)-p100364.html
Ik denk niet dat dit boven 50mA trekt.

Momenteel heb ik een PN2222A NPN 40V / 1A Resistor en 1N4001 50V / 1A Diode. Zouden deze volstaan?
Wat bedoel je juist verder met de weerstand tussen basis en pwm van 470ohm?

Alvast bedankt,

mvg,
Castel

MAS3

#3
Apr 23, 2015, 11:16 pm Last Edit: Apr 23, 2015, 11:17 pm by MAS3
Hoi castel, en welkom.

Ik zie dat het allemaal nieuw is voor je, en dat je er wat moeite mee hebt.
Dat zie ik omdat je de verschillende termen nog niet helemaal begrijpt.
De waarde van een weerstand word uitgedrukt in Ohm.
Dus als iemand het over 470 Ohm heeft, dan praat ie over het algemeen over een weerstand (natuurlijk gaat er nu iemand iets roepen over de uitzondering die de regel bevestigt).

Wat Nico voorstelde is dat je een weerstand van 470 Ohm aansluit tussen de PWM uitgang van jouw keuze en de basis (B aansluiting) van de 2222A transistor (niet resistor, das Engels voor weerstand).
Die site waar je dat motortje gevonden hebt, heeft het alleen over een spanning van 3 tot 4.5 volt, maar niet over de stroom (in Ampères) die het motortje graag lust.
Als dat tot zo'n 500 mA gaat, is die transistor waarschijnlijk wel voldoende.

Het breakout boardje is wel bruikbaar, maar je kunt het niet op je Arduino prikken en dan gebruiken.
Want de aansluitpinnen zitten in een andere volgorde als de pinnen van je Arduino.
En das dus ook wat Nico bedoelde.
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

castel

Hoi castel, en welkom.

Ik zie dat het allemaal nieuw is voor je, en dat je er wat moeite mee hebt.
Dat zie ik omdat je de verschillende termen nog niet helemaal begrijpt.
De waarde van een weerstand word uitgedrukt in Ohm.
Dus als iemand het over 470 Ohm heeft, dan praat ie over het algemeen over een weerstand (natuurlijk gaat er nu iemand iets roepen over de uitzondering die de regel bevestigt).

Wat Nico voorstelde is dat je een weerstand van 470 Ohm aansluit tussen de PWM uitgang van jouw keuze en de basis (B aansluiting) van de 2222A transistor (niet resistor, das Engels voor weerstand).
Die site waar je dat motortje gevonden hebt, heeft het alleen over een spanning van 3 tot 4.5 volt, maar niet over de stroom (in Ampères) die het motortje graag lust.
Als dat tot zo'n 500 mA gaat, is die transistor waarschijnlijk wel voldoende.

Het breakout boardje is wel bruikbaar, maar je kunt het niet op je Arduino prikken en dan gebruiken.
Want de aansluitpinnen zitten in een andere volgorde als de pinnen van je Arduino.
En das dus ook wat Nico bedoelde.

Bedankt MAS3!

Het is inderdaad nogal vrij nieuw voor mij en dus is het allemaal wat moeilijk maar via tutorials en fora kan ik wel mijn plan trekken!
Ziet u (of iemand anders) een mogelijkheid om een accelerometer aan te sluiten op een arduino op een vrij eenvoudige manier (beginner).
Voor de rest denk ik wel dat ik zowizo in staat moet zijn om de vibratie in orde te krijgen.

mvg

MAS3

Ja hoor castel, dat is zonder meer mogelijk.
Ik heb er hier eentje (zelfde chip) naast me liggen, een metertje van me vandaan.
Die is gekoppeld met een Arduino Uno die ook weer verbonden is met een I2C LCD display (2 regels van 16 karakters).
Op dat displaytje word steeds de waarde van de accelerometer weergegeven, meer gebeurt er daar niet (hij is nu even niet aangesloten).
Dan zie je dus die waarde continu veranderen als ie op een van de PC's hier ligt (die staat niet helemaal stil want er draait een ventilator en af en toe gaat de harde schijf ook wel wat tekeer).

Maar je moet hem dan dus met draadjes verbinden, want op je Arduino steken gaat 'm niet worden.
Hier heb ik m op een mini breadboardje zitten.
Das een handig dingetje waar je een aantal draadjes in kan steken en met elkaar verbind, dat speciaal voor dit soort experimentjes is bedoeld.

Voor dat experimentje heb ik ook een level converter gebruikt, die er voor zorgt dat de 5 volt signalen uit de Arduino niet meer zijn dat de 3 volt die de chip liever heeft.
Ik weet niet of de chip goed met 5 volt overweg kan, want had die converter toch liggen dus waarom dan niet gebruiken.
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

MAS3

Hoi castel.

Heb je PM net gelezen.
Ik snap dat je graag meer wil weten en me daarom die PM hebt gestuurd.
Maar in principe beantwoord ik zulke PMs niet, omdat ik er alleen degene die me die PM stuurt daarmee zou helpen.
En das nou juist niet de bedoeling van een forum.
Een forum biedt juist de mogelijkheid om publiekelijk iets te bespreken, zodat iemand anders die daarin ook geïnteresseerd is en ook wat van op kan steken.

Daarom heb ik dus veel liever dat je je vragen gewoon hier in het onderwerp stelt waar iemand ze dan kan beantwoorden.
Iemand betekent dus dat ik dat zou kunnen zijn, maar  net zo goed iemand anders die je vraag misschien wel eerder ziet, en/of denkt dat ie je ook van een passend antwoord kan voorzien.

De Arduino Uno heeft female pinnen, waar je dus een jumper kabeltje in steekt.
Het breadboard (die je al hebt liggen) heeft ook alleen maar gaatje waar je zo'n kabel in kunt steken.
Het boardje met de ADXL345 heeft gaatjes erin, en meestal worden zulke boardjes geleverd met een stripje pinnen die je er zelf aan kunt solderen of die er wellicht al aan zitten.
Op de foto van je leverancier staat het boardje met de pinnen er al ingestoken, maar nog niet gesoldeerd.
Dat hebben ze bewust zo gedaan, zodat je weet dat dat nog moet gebeuren, en je moet ze ook echt solderen omdat er anders maar een heel slecht en onbetrouwbare verbinding is.
Het boardje met de eraan gesoldeerde pinnen steek je dan (met de tekst voor de functie van de pinnen leesbaar) in je breadboardje.
En vervolgens verbind je de Arduino met wat van die jumper wires met het breadboardje.
VCC is de voedingsspanning, je moet even kijken of het ding op 5 of op 3 volt aangesloten moet worden (de Arduino kan het allebei leveren).
GND is de nul volt, die heeft de Arduino ook.
CS is verkeerd beschreven op de print.
Daar moet een streep overheen staan, of een / of een ! voor de tekst staan (dus /CS).
Die manier van noteren geeft aan dat het signaal actief is als het LOW is.
En dat signaal CS= Chip Select, geeft aan dat de data op de databus op dat moment voor die chip (of module) bedoeld is.

Ik heb de print aan I2C aangesloten.
Daarmee hoef je bovenstaande met de CS niet te doen, en spaar je een pin van je Uno uit.
Je sluit dan SCL aan op pin A5 van je Uno, en SDA op pin A4.
Het selecteren van de chip gebeurt bij I2C doormiddel van een adres dat met de data word meegestuurd.
Door de CS pin dan met VCC te verbinden is ie altijd HIGH en daarmee in de I2C stand.

Als je hier meer over wil weten kun je de datasheet van de chip downloaden via de link die je vind op de site van je leverancier.
Daar staat het helemaal in uitgelegd.

Ik weet niet meer precies waar ik de code vandaan gehaald heb om de ADXL345 uit te lezen, kan die code niet zo snel meer vinden.
Maar ongetwijfeld heb ik 'm hier via de zoekfunctie van het forum gevonden.
Ik zal van't weekend nog wel ff kijken of ik m nog terug kan vinden.

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

castel

Hartelijk dank MAS3
Ik stuurde je inderdaad een PM omdat ik dacht dat de ervaren mensen op dit forum geen boodschap hebben aan mijn infantiele arduino-vragen.
Ik ga het bekijken om het op de manier te doen dat u voorstelt. Is het solderen absoluut noodzakelijk om een basisopstelling te maken? Of kan ik het ook eerst testen door gewoon de pinnetjes er eventjes zo los in te steken? Ik bezit immers geen soldeerkit hier.

Voorts kan ik besluiten dat ik voor mijn initiele project nodig heb:
2 x vibratiemotortjes
2 x 2222A transistor (voor motorcircuit)
2 x N4001 50V / 1A Diode (voor motorcircuit)
1 x weerstand van ongeveer 570Ohm (voor de PMW)
breadboard
accelerometer
Uno
Jumepers
(eventueel een capacitor voor motorcircuit)

Lijkt dit realistisch of kijk ik iets over het hoofd?

Mvg,
Prettig weekend

Castel



Castel

Mvg

MAS3

Het kan best zo zijn dat er mensen zijn die zichzelf zo fantastisch vinden dat ze geen tijd nemen voor newbies.
Maar dat is geen reden jezelf en/of je vragen als kinderachtig te bestempelen.
Als je een vraag hebt, moet je daarop gewoon antwoord kunnen krijgen.
Dan is het wel goed om eerst even te kijken of het antwoord er niet al is, maar als het er niet is moet je m gewoon kunnen stellen zonder je te hoeven schamen voor die vragen.

Dus gewoon je vragen stellen !

Ja, het solderen van die pennen is echt noodzakelijk, anders krijg je nooit een stabiele, goede verbinding.
Dan ga je in je code op zoek naar fouten, terwijl de problemen door een slechte verbinding worden veroorzaakt.
Dus dat betekent dat er een soldeerbout met toebehoren mag aanrukken, of je dat ergens moet gaan (of laten) doen waar men er wel over beschikt.

De weerstand heb je 2 keer nodig, 1 voor elke transistor.
Je sluit elke transistor ook aan op een eigen PWM aansluiting, als je dat zo nog niet begrepen had.
Die weerstand van 570 Ohm gaat je nog wat hoofdbrekens opleveren.
De standaard waarden die daar op lijken zijn namelijk 470 en 560 Ohm.
Maar het zal vast een tiepvaud zijn, want eerder was er sprake van een andere waarde.
Die diode is fysiek wat groot met kunststof behuizing.
Voor dat doel kun je ook een 1n4148 nemen, die is een stuk kleiner met een glazen behuizing.
Je kunt hierop de streep voor de kathode wel iets lastiger onderscheiden.

Als je een condensator (capacitor in het Engels) wil gebruiken, moet je wel weten wat je daarmee gaat doen.
Condensatoren hebben veel toepassingen, en zijn er in vele uitvoeringen.
Het is wel van belang dat je voor de juiste combinatie kiest.

Verder mis ik nog een voeding.
Hoe ben je van plan het geheel van spanning te gaan voorzien ?
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

shooter

zoek naar fritzing en begin maar eens met een schema, de software is ook plakwerk.
En vooral niet te moeilijk denken, het is allemaal vrij simpel.
voorbeelden genoeg op dit forum en website, en hulp is er ook nog.
paul deelen
shooter@home.nl
making controls with codesys PLC and arduino

castel

Bedankt. Fritzing is inderdaad een handig programma om schema's te maken, bedankt.
Ik heb een opstelling gemaakt waarvan ik denk dat ze goed is met een accelerometer en voorlopig 1 vibratiemotortje.
Wat denken jullie hiervan? (bestand in Attach)



nicoverduin

Dat gaat wel werken hoor. Zelf gebruik ik die ADXL345 met I2C. Maar dat mag niet uitmaken.
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

MAS3

Als Nico het al bekeken heeft dan geloof ik ook dat het wel zal werken.
Maar ik heb toch wel een tipje voor je in verband met het maken van tekeningen.
In je Fritzing screenshot zie ik veel blauwe draden die kriskras door de tekening lopen.
Het is aan te raden om je draden zoveel mogelijk in rechte lijnen te tekenen, dat maakt het net wat overzichtelijker.
Verder is het gangbaar om de kleur rood voor VCC te gebruiken, en zwart voor GND.
Dat zijn twee belangrijke leidingen die het echt verdienen een eigen kleur te hebben.
Verder kun je je weerstand een waarde geven, waardoor de kleurenstreepjes erop correct zullen worden weergegeven.
De kleuren die er nu in staan representeren 220 Ohm, de waarde die meestal word toegepast om een LED in een 5 volt systeem te gebruiken.
470 Ohm zou zijn geel, paars, bruin en 560 is dan groen, blauw, bruin.

Zijn allemaal details, maar als je een iets uitgebreidere tekening gaat maken zul je er veel nut bij hebben.
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

castel

Het kan best zo zijn dat er mensen zijn die zichzelf zo fantastisch vinden dat ze geen tijd nemen voor newbies.
Maar dat is geen reden jezelf en/of je vragen als kinderachtig te bestempelen.
Als je een vraag hebt, moet je daarop gewoon antwoord kunnen krijgen.
Dan is het wel goed om eerst even te kijken of het antwoord er niet al is, maar als het er niet is moet je m gewoon kunnen stellen zonder je te hoeven schamen voor die vragen.

Dus gewoon je vragen stellen !

Ja, het solderen van die pennen is echt noodzakelijk, anders krijg je nooit een stabiele, goede verbinding.
Dan ga je in je code op zoek naar fouten, terwijl de problemen door een slechte verbinding worden veroorzaakt.
Dus dat betekent dat er een soldeerbout met toebehoren mag aanrukken, of je dat ergens moet gaan (of laten) doen waar men er wel over beschikt.

De weerstand heb je 2 keer nodig, 1 voor elke transistor.
Je sluit elke transistor ook aan op een eigen PWM aansluiting, als je dat zo nog niet begrepen had.
Die weerstand van 570 Ohm gaat je nog wat hoofdbrekens opleveren.
De standaard waarden die daar op lijken zijn namelijk 470 en 560 Ohm.
Maar het zal vast een tiepvaud zijn, want eerder was er sprake van een andere waarde.
Die diode is fysiek wat groot met kunststof behuizing.
Voor dat doel kun je ook een 1n4148 nemen, die is een stuk kleiner met een glazen behuizing.
Je kunt hierop de streep voor de kathode wel iets lastiger onderscheiden.

Als je een condensator (capacitor in het Engels) wil gebruiken, moet je wel weten wat je daarmee gaat doen.
Condensatoren hebben veel toepassingen, en zijn er in vele uitvoeringen.
Het is wel van belang dat je voor de juiste combinatie kiest.

Verder mis ik nog een voeding.
Hoe ben je van plan het geheel van spanning te gaan voorzien ?

Ik zou het geheel van spanning willen voorzien door een batterijvoeding die ik dan op de arduino aansluit (Ipv de usb).
Verder had ik nog een vraagje: wat betekt I2C juist?
In verband met het programmeren: ik zou dus vanaf een bepaalde hoek een vibratie willen verkrijgen door gebruik te maken van pwm. Dit moet een alles of niets verhaal worden. Ik bedoel hier dus mee dat de vibratie altijd op dezelfz sterkte moet zijn en niet bij een grotere hoek bijvoorbeeld harder moet vibreren.
Hebben jullie hiervoor nog tips?

Alvast bedankt voor de leuke en nuttige tips. Mvg,
Castel

MAS3

I2C is een "afkorting" voor IIC, wat weer een afkroting is voor Inter Integrated circuit Communication.
Het is een voorbeeld van Nederlandse vindingrijkheid, want een van de ontwikkelingen van Philips in de jaren 70.
Philips had ook het patent op het systeem en de naam, maar dat is een paar jaar geleden meegegaan naar NXP)
Het diende toen om op relatief eenvoudige wijze chips met elkaar te laten "praten".
Voor I2C waren er veel verbindingen nodig om dit voor mekaar te krijgen.
Een geheugenchip bijvoorbeeld had toen 8 bits adres en 8 bit databits plus wat stuursignalen en dus minimaal een stuk of 18 aansluitingen nodig.
Met I2C werd dat beperkt tot 2.

Omdat Philips / NXP het patent en de rechten op de naam hebben, is hetzelfde systeem ook wel bekend als 2 draad, oftewel TWI (Two Wire Interface).

Tot zover de wiki (<= hint).

De wire library is de Arduino ondersteuning hiervoor.
De Arduino heeft hier een hardwarematige ondersteuning voor, de Uno op pennen A5 en A4.
Als je dat gaat gebruiken betekent dat dus dat die pennen niet meer beschikbaar zijn voor het verwerken van analoge ingangssignalen.

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Go Up