On 15/07/2014, at 22:00, Luiz Otavio O Souza <[email protected]> wrote:
> 2014-07-15 10:34 GMT-03:00 Evandro Nunes: >> sim, estou assistindo a um curso no youtube excelente, ja consigo ler >> esquematicos agora apesar de não ter decorado todos os simbolos, e em >> especial não decorar as cores dos aneis nos resistores mas tudo ficou claro >> >> dentro desse assunto me digam o seguinte quero fazer isso em shell script: >> >> http://beagleboard.org/Support/BoneScript/ServoMotor/ >> >> no trecho: >> >> var duty_cycle = (position*0.115) + duty_min; >> b.analogWrite(SERVO, duty_cycle, 60, scheduleNextUpdate); >> >> o duty_cycle é o dutyA ou dutyB nas sysctl do freebsd? >> >> o period é o 200? equivalente a: >> >> // call updateDuty after 200ms >> setTimeout(updateDuty, 200); >> >> posso por então o period do PWM em 200 e o dutyA (ou B?) em >> (position*0.115) + duty_min num shell script? >> > > Cada modulo de PWM tem duas saídas que são nomeadas de PWM1A e PWM1B > para o modulo 1 e PWM2A e PWM2B para o modulo 2. > > Como a freqüência do PWM é configurada por modulo as saídas A e B vão > operar na mesma freqüência mas podem ter ciclos de trabalho diferentes > (por exemplo: frequência PWM 100Khz, saída A 20% e saída B 60%). > > Assim são 2 módulos PWM e 4 saídas. > > O pino 14 do conector P9 corresponde a saída A do PWM1 (conforme > https://wiki.freebsd.org/FreeBSD/arm/BeagleBoneBlack). > > No caso do servo, o duty cycle não são os 200ms, esse valor é o tempo > no qual a saída do PWM é atualizada (a cada 200ms ela tem um novo > valor). O período é calculado através da freqüência que nesse caso é > o '60' passado no analogWrite(). O 60 corresponde a 60Hz (servos RC > operam entre 50~60Hz). > > O PWM da BBB não funcionava com freqüências tão baixas (antes o mínimo > era 1.525kHz) até a r266937 quando corrigi isso. Como ainda não fiz o > MFC você só vai conseguir utilizar servos com o -current (que tem 2 > sysctls a mais - clockdiv e frequency). > > Com essa sysctl 'frequency', você pode setar ela diretamente pra 60 e > depois só precisa alterar o duty cycle (A ou B dependendo da saída que > você estiver utilizando) para movimentar o servo. > > Como teste eu liguei um potenciometro em uma das entradas analógicas e > um programa em C lendo esse valor e alterando o duty cycle do PWM, > assim o servo acompanhava o movimento conforme o movimento que era > feito no potenciometro. > > Luiz Luiz, bem legal hein? Vou descolar um mini servo pra eu também brincar com essas MIBs novas ai. Evandro, ainda dentro do assunto de relé fiz um teste com o módulo que eu tenho em mãos, veja: http://www.youtube.com/watch?v=TM_5iVZgN1s Desculpa a qualidade, a única câmera ao alcance era um iPod velho. Bem simples o teste como podem ver. O diodo e o relé compartilham o mesmo pino GPIO e o mesmo terra (ta jumpeado na mini-bagaça-board caso não de pra ver). -- Patrick Tracanelli FreeBSD Brasil LTDA. Tel.: (31) 3516-0800 [email protected] http://www.freebsdbrasil.com.br "Long live Hanin Elias, Kim Deal!" ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

