Pagina 1 din 1
Paraziti Arduino
#1
Postat 04 June 2016 - 07:24 PM
folosesc la strungul meu un controler cu arduino.
citesc turatia universalului cu un senzor hall pe o intrerupere arduino
la ultimele teste cat timp motorul pas cu pas sta citeste normal, dar cand acesta functioneaza ia intreruperi fara sa tina cont de senzor. asa aiurea. pe osciloscop semnalul pare ok dar arduino o ia razna. cu alte cuvinte cred ca apar de undeva paraziti care declanseaza intreruperea. ce naiba sa mai fac ca am incercat toate variantele.
citesc turatia universalului cu un senzor hall pe o intrerupere arduino
la ultimele teste cat timp motorul pas cu pas sta citeste normal, dar cand acesta functioneaza ia intreruperi fara sa tina cont de senzor. asa aiurea. pe osciloscop semnalul pare ok dar arduino o ia razna. cu alte cuvinte cred ca apar de undeva paraziti care declanseaza intreruperea. ce naiba sa mai fac ca am incercat toate variantele.
#2
Postat 04 June 2016 - 08:20 PM
Foloseste un senzor IR . Iti recomand KTIR311 daca ai cum sa-l adaptezi la strungul tau.
Alta varianta ar fi sa folosesti un optocuplor intre senzorul hall si Arduino.
Apropo de ce am vorbit acum cateva luni, am achizitionat un Arduino Uno dar inca sunt prins cu partea analogica. Atunci cad va fi gata, luam legatura pt programare.
Alta varianta ar fi sa folosesti un optocuplor intre senzorul hall si Arduino.
Apropo de ce am vorbit acum cateva luni, am achizitionat un Arduino Uno dar inca sunt prins cu partea analogica. Atunci cad va fi gata, luam legatura pt programare.
Future is electric, but I belong to the past...
TEL. 0726.191.725
TEL. 0726.191.725
#3
Postat 04 June 2016 - 08:34 PM
1. poate mai ai un motor cu perii care functioneaza, nu cred ca un motor pas cu pas sa bage paraziti
2. daca incepe executia unei intreruperi, dezactiveaza intreruperile pana termina intreruperea in curs; sau asa ar trebui facut. Poate vin prea des fata de viteza de calcul ?
2. daca incepe executia unei intreruperi, dezactiveaza intreruperile pana termina intreruperea in curs; sau asa ar trebui facut. Poate vin prea des fata de viteza de calcul ?
Aceasta postare a fost editata de La Trovanti: 04 June 2016 - 08:35 PM
#4
Postat 04 June 2016 - 09:39 PM
La Trovanti, la 04 June 2016 - 08:34 PM, a spus:
1. poate mai ai un motor cu perii care functioneaza, nu cred ca un motor pas cu pas sa bage paraziti
2. daca incepe executia unei intreruperi, dezactiveaza intreruperile pana termina intreruperea in curs; sau asa ar trebui facut. Poate vin prea des fata de viteza de calcul ?
2. daca incepe executia unei intreruperi, dezactiveaza intreruperile pana termina intreruperea in curs; sau asa ar trebui facut. Poate vin prea des fata de viteza de calcul ?
deci functionare e cam asa:
citeste primul impuls arbore, memoreaza un timp.
citeste al 2, 3, 4. la al patrulea face o medie si stie un timp mediu
de la al cincilea incepe sa faca pasii necesari pentru o unitate de timp/tura.
aici apare buba. urmatoarele intreruperi apar de la sine si timpul mediu incepe sa scada. in consecinta creste turatia si nu mai face ce trebuie. imagineaza-ti asta la filet. :unsure:
am incercat sa fac un debounce cu condensator. nu merge. am pus si un optocuplor. la fel. interesant e ca si daca simulez senzorul punand firul la masa tot asa face.
acum inca o constatare: problema a aparul decad am luat driverul cu tb 6600 si baga curent puternic pe motor. inainte aveam altul si nu facea decat extrem de rar, dar nu am luat in seama atunci. ma gandesc sa nu fie de la pwm ala de la driver care mentine curentul pe motor in parametrii sau.... habar nu am dar ma enerveaza rau. cand am reusit sa rezolv problema cu pierderile de pasi acum am alta belea. faza cu senzor ir nu cred ca rezolva problema. totusi pe osciloscop cat sta pinul pe low sau pe high tensiunea nu e dreapta pare sa aibe paraziti, dar nu stiu de unde.
partea electrica e cam asa. un traf, punte condensatori, driver.
alta sursa in comutatie de unde bag un 12 in ventilator driver si senzor hall si un 5v pleaca catre arduino.
toate au o masa comuna. cam asta e tot.
#5
Postat 04 June 2016 - 10:32 PM
Acuma mă gândesc să nu fie un bug chiar în cod... estimarea mediei de impulsuri pe tură în loc de numărat fiecare schimbare de poziţie (grad cu grad) dar:
Cablu ecranat de la driver la motor (un singur ecran/tresă pentru toate cele patru fire, nu individual). Carcasa motorului la pământare.
Caută să elimini orice buclă de masă.
Pune osciloscopul şi pe sursa în comutaţie şi vezi ripple-ul în operare. Poate trebuie să schimbi/adaugi ceva electrolitici, poate sursa nu e destul de capabilă?
Gălăgia de comutaţie a driver-ului de motor nu trebuie, neapărat, să ajungă în atmel prin senzorul hall. Poate ajunge acolo şi pe firele/traseele de alimentare.
Cablu ecranat de la driver la motor (un singur ecran/tresă pentru toate cele patru fire, nu individual). Carcasa motorului la pământare.
Caută să elimini orice buclă de masă.
Pune osciloscopul şi pe sursa în comutaţie şi vezi ripple-ul în operare. Poate trebuie să schimbi/adaugi ceva electrolitici, poate sursa nu e destul de capabilă?
Gălăgia de comutaţie a driver-ului de motor nu trebuie, neapărat, să ajungă în atmel prin senzorul hall. Poate ajunge acolo şi pe firele/traseele de alimentare.
- Captain Sum Ting Wong
- Wi Tu Lo
- Ho Lee Fuk
- Bang Ding Ow.
- Wi Tu Lo
- Ho Lee Fuk
- Bang Ding Ow.
#6
Postat 04 June 2016 - 10:39 PM
am avut si eu probleme asemanatoare cu senzorii magnetici, cablurile de la mpp treceau paralel cu cablurile de senzorii.
am rezolvat folosind cabluri ecranate la motoare si senzori http://www.cabluri-e...4x15-2-2-20.php
am rezolvat folosind cabluri ecranate la motoare si senzori http://www.cabluri-e...4x15-2-2-20.php
#7
Postat 05 June 2016 - 08:24 AM
Săndel, la 04 June 2016 - 10:32 PM, a spus:
Acuma mă gândesc să nu fie un bug chiar în cod... estimarea mediei de impulsuri pe tură în loc de numărat fiecare schimbare de poziţie (grad cu grad) dar:
Cablu ecranat de la driver la motor (un singur ecran/tresă pentru toate cele patru fire, nu individual). Carcasa motorului la pământare.
Caută să elimini orice buclă de masă.
Pune osciloscopul şi pe sursa în comutaţie şi vezi ripple-ul în operare. Poate trebuie să schimbi/adaugi ceva electrolitici, poate sursa nu e destul de capabilă?
Gălăgia de comutaţie a driver-ului de motor nu trebuie, neapărat, să ajungă în atmel prin senzorul hall. Poate ajunge acolo şi pe firele/traseele de alimentare.
Cablu ecranat de la driver la motor (un singur ecran/tresă pentru toate cele patru fire, nu individual). Carcasa motorului la pământare.
Caută să elimini orice buclă de masă.
Pune osciloscopul şi pe sursa în comutaţie şi vezi ripple-ul în operare. Poate trebuie să schimbi/adaugi ceva electrolitici, poate sursa nu e destul de capabilă?
Gălăgia de comutaţie a driver-ului de motor nu trebuie, neapărat, să ajungă în atmel prin senzorul hall. Poate ajunge acolo şi pe firele/traseele de alimentare.
nu e bug. cand ai un singur impuls pe tura si un numar de pasi de facut nu ai cum altfel decat sa estimezi timpul dintre doi pasi cat mai precis iar daca raman pasi ii recuperezi in tura urmatoare. altfel nu ai cum. + ca motorul are pasi. ce te faci daca trebuie 2.6 pasi? dar asta e alta discutie. o sa incerc asa:
ecranez firele de la motor. cele de la senzor sunt deja ecranate si incerc sa izolez optic arduino de driver sa nu mai am fire comune. nici masa nici alimentare. interesant era ca in configuratia asta mergea dar alt driver si alti curenti pe motor.
#8
Postat 07 June 2016 - 08:59 PM
am reusit sa o scot la capat. am vazut pe gogu ceva de genu "ground loop". am izolat si senzorul hall optic si am alimentat arduino cu o baterie deocamdata. parazitii au disparut si functioneaza perfect. acum nu mai am masa comuna intre arduino si restul. se pare ca de acolo era problema. o sa alimntez arduino cu alta sursa sau in alta configuratie.
ca off topic. merge filetarea cu arduino ok. cateva foto
https://app.box.com/...ta4qg5xuw66cne6
https://app.box.com/...thxzjlymwh7cwji
https://app.box.com/...cz9y4qm0omu39qd
https://app.box.com/...bbzys7njkrf9boz
ca off topic. merge filetarea cu arduino ok. cateva foto
https://app.box.com/...ta4qg5xuw66cne6
https://app.box.com/...thxzjlymwh7cwji
https://app.box.com/...cz9y4qm0omu39qd
https://app.box.com/...bbzys7njkrf9boz
Arata acest topic
Pagina 1 din 1